diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0a21d60..5319dc2 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -265,6 +265,7 @@ jobs: os: [ ubuntu-latest, windows-latest, macos-latest ] name: Building, ${{ matrix.os }} steps: + - name: Fix CRLF on Windows if: runner.os == 'Windows' run: git config --global core.autocrlf false @@ -279,6 +280,10 @@ jobs: - name: Checkout sources uses: actions/checkout@v4 + - name: Setup Environment + shell: bash + run: echo "SHORT_SHA=`git rev-parse --short HEAD`" >> $GITHUB_ENV + - name: Install Protoc uses: arduino/setup-protoc@v3 with: @@ -298,23 +303,58 @@ jobs: target/ key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - - name: Build on Linux - if: runner.os == 'Linux' - run: | - cargo build --bin kaspa-ng --release - mkdir -p .debpkg/usr/bin - cp target/release/kaspa-ng .debpkg/usr/bin/ - - name: Build on Windows if: runner.os == 'Windows' shell: bash run: | + mkdir kaspa-ng-${{ env.SHORT_SHA }}-windows-x64 || true cargo build --bin kaspa-ng --release + cp target/release/kaspa-ng.exe kaspa-ng-${{ env.SHORT_SHA }}-windows-x64/kaspa-ng.exe + cargo build --bin kaspa-ng --profile console --features console + cp target/release/kaspa-ng.exe kaspa-ng-${{ env.SHORT_SHA }}-windows-x64/kaspa-ng-console.exe + archive="kaspa-ng-${{ env.SHORT_SHA }}-windows-x64/kaspa-ng-${{ env.SHORT_SHA }}-windows-x64.zip" + powershell "Compress-Archive kaspa-ng-${{ env.SHORT_SHA }}-windows-x64/* \"${archive}\"" + + - name: Upload Windows build to GitHub + if: runner.os == 'Windows' + uses: actions/upload-artifact@v4 + with: + name: kaspa-ng-${{ env.SHORT_SHA }}-windows-x64.zip + path: kaspa-ng-${{ env.SHORT_SHA }}-windows-x64/kaspa-ng-${{ env.SHORT_SHA }}-windows-x64.zip - name: Build on MacOS if: runner.os == 'macOS' run: | + mkdir kaspa-ng-${{ env.SHORT_SHA }}-macos-arm64 || true cargo build --bin kaspa-ng --release + cp target/release/kaspa-ng kaspa-ng-${{ env.SHORT_SHA }}-macos-arm64/ + archive="kaspa-ng-${{ env.SHORT_SHA }}-macos-arm64/kaspa-ng-${{ env.SHORT_SHA }}-macos-arm64.zip" + zip -r "${archive}" ./kaspa-ng-${{ env.SHORT_SHA }}-macos-arm64/* + + - name: Upload MacOS build to GitHub + if: runner.os == 'macOS' + uses: actions/upload-artifact@v4 + with: + name: kaspa-ng-${{ env.SHORT_SHA }}-macos-arm64.zip + path: kaspa-ng-${{ env.SHORT_SHA }}-macos-arm64/kaspa-ng-${{ env.SHORT_SHA }}-macos-arm64.zip + + - name: Build on Linux + if: runner.os == 'Linux' + run: | + mkdir kaspa-ng-${{ env.SHORT_SHA }}-linux-gnu-amd64 || true + cargo build --bin kaspa-ng --release + mkdir -p .debpkg/usr/bin + cp target/release/kaspa-ng .debpkg/usr/bin/ + cp target/release/kaspa-ng kaspa-ng-${{ env.SHORT_SHA }}-linux-gnu-amd64/ + archive="kaspa-ng-${{ env.SHORT_SHA }}-linux-gnu-amd64/kaspa-ng-${{ env.SHORT_SHA }}-linux-gnu-amd64.zip" + zip -r "${archive}" ./kaspa-ng-${{ env.SHORT_SHA }}-linux-gnu-amd64/* + + - name: Upload Linux build to GitHub + if: runner.os == 'Linux' + uses: actions/upload-artifact@v4 + with: + name: kaspa-ng-${{ env.SHORT_SHA }}-linux-gnu-amd64.zip + path: kaspa-ng-${{ env.SHORT_SHA }}-linux-gnu-amd64/kaspa-ng-${{ env.SHORT_SHA }}-linux-gnu-amd64.zip - name: Package Debian Release if: runner.os == 'Linux' diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index f639e10..74f2cf9 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -54,9 +54,11 @@ jobs: if: runner.os == 'Windows' shell: bash run: | - cargo build --bin kaspa-ng --release mkdir kaspa-ng-${{ github.event.release.tag_name }}-windows-x64 || true + cargo build --bin kaspa-ng --release cp target/release/kaspa-ng.exe kaspa-ng-${{ github.event.release.tag_name }}-windows-x64/ + cargo build --bin kaspa-ng --profile console --features console + cp target/release/kaspa-ng.exe kaspa-ng-${{ github.event.release.tag_name }}-windows-x64/kaspa-ng-console.exe archive="kaspa-ng-${{ github.event.release.tag_name }}-windows-x64/kaspa-ng-${{ github.event.release.tag_name }}-windows-x64.zip" asset_name="kaspa-ng-${{ github.event.release.tag_name }}-windows-x64.zip" powershell "Compress-Archive kaspa-ng-${{ github.event.release.tag_name }}-windows-x64/* \"${archive}\"" diff --git a/.gitignore b/.gitignore index 4dbcceb..1fa7e8b 100644 --- a/.gitignore +++ b/.gitignore @@ -11,5 +11,7 @@ datadir /discard analyzer-target .vscode/launch.json -/kaspa-ng.log -kaspa-ng* \ No newline at end of file +kaspa-ng* +/.idea +*.log +kaspa-ng.log diff --git a/Cargo.lock b/Cargo.lock index 495278d..b5bd85d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "ab_glyph" -version = "0.2.26" +version = "0.2.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e53b0a3d5760cd2ba9b787ae0c6440ad18ee294ff71b05e3381c900a7d16cfd" +checksum = "79faae4620f45232f599d9bc7b290f88247a0834162c4495ab2f02d60004adfb" dependencies = [ "ab_glyph_rasterizer", "owned_ttf_parser", @@ -57,13 +57,13 @@ checksum = "09f46c18d99ba61ad7123dd13eeb0c104436ab6af1df6a1cd8c11054ed394a08" dependencies = [ "accesskit", "accesskit_consumer", - "async-channel 2.2.1", + "async-channel 2.3.1", "async-once-cell", "atspi", "futures-lite 1.13.0", "once_cell", "serde", - "zbus", + "zbus 3.15.2", ] [[package]] @@ -77,14 +77,14 @@ dependencies = [ "once_cell", "paste", "static_assertions", - "windows", + "windows 0.48.0", ] [[package]] name = "accesskit_winit" -version = "0.15.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88e39fcec2e10971e188730b7a76bab60647dacc973d4591855ebebcadfaa738" +checksum = "5284218aca17d9e150164428a0ebc7b955f70e3a9a78b4c20894513aabf98a67" dependencies = [ "accesskit", "accesskit_macos", @@ -95,21 +95,21 @@ dependencies = [ [[package]] name = "accessory" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "850bb534b9dc04744fbbb71d30ad6d25a7e4cf6dc33e223c81ef3a92ebab4e0b" +checksum = "87537f9ae7cfa78d5b8ebd1a1db25959f5e737126be4d8eb44a5452fc4b63cde" dependencies = [ "macroific", "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] name = "addr2line" -version = "0.21.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" dependencies = [ "gimli", ] @@ -120,6 +120,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + [[package]] name = "aead" version = "0.5.2" @@ -141,17 +147,6 @@ dependencies = [ "cpufeatures", ] -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom", - "once_cell", - "version_check", -] - [[package]] name = "ahash" version = "0.8.11" @@ -177,20 +172,23 @@ dependencies = [ [[package]] name = "android-activity" -version = "0.4.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64529721f27c2314ced0890ce45e469574a73e5e6fdd6e9da1860eb29285f5e0" +checksum = "ee91c0c2905bae44f84bfa4e044536541df26b7703fd0888deeb9060fcc44289" dependencies = [ "android-properties", - "bitflags 1.3.2", + "bitflags 2.6.0", "cc", + "cesu8", + "jni", "jni-sys", "libc", "log", "ndk", "ndk-context", "ndk-sys", - "num_enum 0.6.1", + "num_enum", + "thiserror", ] [[package]] @@ -225,9 +223,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.14" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" dependencies = [ "anstyle", "anstyle-parse", @@ -240,33 +238,33 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" [[package]] name = "anstyle-parse" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.3" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.3" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -274,19 +272,19 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.83" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" +checksum = "4e1496f8fb1fbf272686b8d37f523dab3e4a7443300055e74cdaa449f3114356" [[package]] name = "arboard" -version = "3.4.0" +version = "3.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb4009533e8ff8f1450a5bcbc30f4242a1d34442221f72314bea1f5dc9c7f89" +checksum = "df099ccb16cd014ff054ac1bf392c67feeef57164b05c42f037cd40f5d4357f4" dependencies = [ "clipboard-win", "log", - "objc2 0.5.1", + "objc2 0.5.2", "objc2-app-kit", "objc2-foundation", "parking_lot", @@ -313,15 +311,39 @@ dependencies = [ [[package]] name = "arrayref" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "as-raw-xcb-connection" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" + +[[package]] +name = "ashpd" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "dd884d7c72877a94102c3715f3b1cd09ff4fac28221add3e57cfbe25c236d093" +dependencies = [ + "async-fs 2.1.2", + "async-net", + "enumflags2", + "futures-channel", + "futures-util", + "rand", + "serde", + "serde_repr", + "url", + "zbus 4.4.0", +] [[package]] name = "async-attributes" @@ -343,6 +365,18 @@ dependencies = [ "futures-core", ] +[[package]] +name = "async-broadcast" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cd0e2e25ea8e5f7e9df04578dc6cf5c83577fd09b1a46aaf5c85e1c33f2a7e" +dependencies = [ + "event-listener 5.3.1", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + [[package]] name = "async-channel" version = "1.9.0" @@ -356,26 +390,25 @@ dependencies = [ [[package]] name = "async-channel" -version = "2.2.1" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136d4d23bcc79e27423727b36823d86233aad06dfea531837b038394d11e9928" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" dependencies = [ "concurrent-queue", - "event-listener 5.3.0", - "event-listener-strategy 0.5.2", + "event-listener-strategy", "futures-core", "pin-project-lite", ] [[package]] name = "async-executor" -version = "1.11.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b10202063978b3351199d68f8b22c4e47e4b1b822f8d43fd862d5ea8c006b29a" +checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" dependencies = [ "async-task", "concurrent-queue", - "fastrand 2.1.0", + "fastrand 2.1.1", "futures-lite 2.3.0", "slab", ] @@ -392,16 +425,27 @@ dependencies = [ "futures-lite 1.13.0", ] +[[package]] +name = "async-fs" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" +dependencies = [ + "async-lock 3.4.0", + "blocking", + "futures-lite 2.3.0", +] + [[package]] name = "async-global-executor" version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" dependencies = [ - "async-channel 2.2.1", + "async-channel 2.3.1", "async-executor", - "async-io 2.3.2", - "async-lock 3.3.0", + "async-io 2.3.4", + "async-lock 3.4.0", "blocking", "futures-lite 2.3.0", "once_cell", @@ -429,21 +473,21 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.2" +version = "2.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" +checksum = "444b0228950ee6501b3568d3c93bf1176a1fdbc3b758dcd9475046d30f4dc7e8" dependencies = [ - "async-lock 3.3.0", + "async-lock 3.4.0", "cfg-if 1.0.0", "concurrent-queue", "futures-io", "futures-lite 2.3.0", "parking", - "polling 3.7.0", - "rustix 0.38.34", + "polling 3.7.3", + "rustix 0.38.37", "slab", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -457,15 +501,26 @@ dependencies = [ [[package]] name = "async-lock" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 4.0.3", - "event-listener-strategy 0.4.0", + "event-listener 5.3.1", + "event-listener-strategy", "pin-project-lite", ] +[[package]] +name = "async-net" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" +dependencies = [ + "async-io 2.3.4", + "blocking", + "futures-lite 2.3.0", +] + [[package]] name = "async-once-cell" version = "0.5.3" @@ -485,10 +540,30 @@ dependencies = [ "cfg-if 1.0.0", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.34", + "rustix 0.38.37", "windows-sys 0.48.0", ] +[[package]] +name = "async-process" +version = "2.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8a07789659a4d385b79b18b9127fc27e1a59e1e89117c78c5ea3b806f016374" +dependencies = [ + "async-channel 2.3.1", + "async-io 2.3.4", + "async-lock 3.4.0", + "async-signal", + "async-task", + "blocking", + "cfg-if 1.0.0", + "event-listener 5.3.1", + "futures-lite 2.3.0", + "rustix 0.38.37", + "tracing", + "windows-sys 0.59.0", +] + [[package]] name = "async-recursion" version = "1.1.1" @@ -497,43 +572,43 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] name = "async-signal" -version = "0.2.6" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afe66191c335039c7bb78f99dc7520b0cbb166b3a1cb33a03f53d8a1c6f2afda" +checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3" dependencies = [ - "async-io 2.3.2", - "async-lock 3.3.0", + "async-io 2.3.4", + "async-lock 3.4.0", "atomic-waker", "cfg-if 1.0.0", "futures-core", "futures-io", - "rustix 0.38.34", + "rustix 0.38.37", "signal-hook-registry", "slab", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "async-std" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" +checksum = "c634475f29802fde2b8f0b505b1bd00dfe4df7d4a000f0b36f7671197d5c3615" dependencies = [ "async-attributes", "async-channel 1.9.0", "async-global-executor", - "async-io 1.13.0", - "async-lock 2.8.0", + "async-io 2.3.4", + "async-lock 3.4.0", "crossbeam-utils", "futures-channel", "futures-core", "futures-io", - "futures-lite 1.13.0", + "futures-lite 2.3.0", "gloo-timers", "kv-log-macro", "log", @@ -564,7 +639,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] @@ -575,34 +650,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", -] - -[[package]] -name = "atk-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "251e0b7d90e33e0ba930891a505a9a35ece37b2dd37a14f3ffc306c13b980009" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "atomic-polyfill" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4" -dependencies = [ - "critical-section", + "syn 2.0.77", ] [[package]] @@ -631,9 +685,9 @@ dependencies = [ "enumflags2", "serde", "static_assertions", - "zbus", - "zbus_names", - "zvariant", + "zbus 3.15.2", + "zbus_names 2.6.1", + "zvariant 3.15.2", ] [[package]] @@ -645,7 +699,7 @@ dependencies = [ "atspi-common", "atspi-proxies", "futures-lite 1.13.0", - "zbus", + "zbus 3.15.2", ] [[package]] @@ -656,7 +710,7 @@ checksum = "6495661273703e7a229356dcbe8c8f38223d697aacfaf0e13590a9ac9977bb52" dependencies = [ "atspi-common", "serde", - "zbus", + "zbus 3.15.2", ] [[package]] @@ -699,8 +753,8 @@ dependencies = [ "bytes", "futures-util", "http 0.2.12", - "http-body", - "hyper", + "http-body 0.4.6", + "hyper 0.14.30", "itoa", "matchit", "memchr", @@ -709,7 +763,7 @@ dependencies = [ "pin-project-lite", "rustversion", "serde", - "sync_wrapper", + "sync_wrapper 0.1.2", "tower", "tower-layer", "tower-service", @@ -725,7 +779,7 @@ dependencies = [ "bytes", "futures-util", "http 0.2.12", - "http-body", + "http-body 0.4.6", "mime", "rustversion", "tower-layer", @@ -734,25 +788,19 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ "addr2line", - "cc", "cfg-if 1.0.0", "libc", - "miniz_oxide", + "miniz_oxide 0.8.0", "object", "rustc-demangle", + "windows-targets 0.52.6", ] -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "base64" version = "0.21.7" @@ -798,30 +846,29 @@ dependencies = [ "proc-macro2", "quote", "regex", - "rustc-hash", + "rustc-hash 1.1.0", "shlex", "which", ] [[package]] name = "bindgen" -version = "0.65.1" +version = "0.69.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" +checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "cexpr", "clang-sys", + "itertools 0.12.1", "lazy_static", "lazycell", - "peeking_take_while", - "prettyplease", "proc-macro2", "quote", "regex", - "rustc-hash", + "rustc-hash 1.1.0", "shlex", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] @@ -832,9 +879,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" dependencies = [ "serde", ] @@ -883,33 +930,51 @@ dependencies = [ "objc-sys 0.2.0-beta.2", ] +[[package]] +name = "block-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7" +dependencies = [ + "objc-sys 0.3.5", +] + [[package]] name = "block2" version = "0.2.0-alpha.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42" dependencies = [ - "block-sys", + "block-sys 0.1.0-beta.1", "objc2-encode 2.0.0-pre.2", ] [[package]] name = "block2" -version = "0.5.0" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68" +dependencies = [ + "block-sys 0.2.1", + "objc2 0.4.1", +] + +[[package]] +name = "block2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43ff7d91d3c1d568065b06c899777d1e48dcf76103a672a0adbc238a7f247f1e" +checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" dependencies = [ - "objc2 0.5.1", + "objc2 0.5.2", ] [[package]] name = "blocking" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "495f7104e962b7356f0aeb34247aca1fe7d2e783b346582db7f2904cb5717e88" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" dependencies = [ - "async-channel 2.2.1", - "async-lock 3.3.0", + "async-channel 2.3.1", "async-task", "futures-io", "futures-lite 2.3.0", @@ -918,47 +983,26 @@ dependencies = [ [[package]] name = "borsh" -version = "0.9.3" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" +checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" dependencies = [ "borsh-derive", - "hashbrown 0.11.2", + "cfg_aliases 0.2.1", ] [[package]] name = "borsh-derive" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" -dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", - "proc-macro-crate 0.1.5", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "borsh-derive-internal" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "borsh-schema-derive-internal" -version = "0.9.3" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" +checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" dependencies = [ + "once_cell", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.77", + "syn_derive", ] [[package]] @@ -979,22 +1023,22 @@ checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "bytemuck" -version = "1.15.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15" +checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.6.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60" +checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] @@ -1003,11 +1047,17 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + [[package]] name = "bytes" -version = "1.6.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" [[package]] name = "bzip2-sys" @@ -1021,34 +1071,62 @@ dependencies = [ ] [[package]] -name = "cairo-sys-rs" -version = "0.18.2" +name = "calloop" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" +checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298" dependencies = [ - "libc", - "system-deps", + "bitflags 2.6.0", + "log", + "polling 3.7.3", + "rustix 0.38.37", + "slab", + "thiserror", ] [[package]] name = "calloop" -version = "0.10.6" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e0d00eb1ea24371a97d2da6201c6747a633dc6dc1988ef503403b4c59504a8" +checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "log", - "nix 0.25.1", - "slotmap", + "polling 3.7.3", + "rustix 0.38.37", + "slab", "thiserror", - "vec_map", +] + +[[package]] +name = "calloop-wayland-source" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02" +dependencies = [ + "calloop 0.12.4", + "rustix 0.38.37", + "wayland-backend", + "wayland-client", +] + +[[package]] +name = "calloop-wayland-source" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" +dependencies = [ + "calloop 0.13.0", + "rustix 0.38.37", + "wayland-backend", + "wayland-client", ] [[package]] name = "camino" -version = "1.1.6" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ "serde", ] @@ -1078,13 +1156,13 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.97" +version = "1.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4" +checksum = "b62ac837cdb5cb22e10a256099b4fc502b1dfe560cb282963a974d7abd80e476" dependencies = [ "jobserver", "libc", - "once_cell", + "shlex", ] [[package]] @@ -1111,16 +1189,6 @@ dependencies = [ "cipher", ] -[[package]] -name = "cfg-expr" -version = "0.15.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" -dependencies = [ - "smallvec", - "target-lexicon", -] - [[package]] name = "cfg-if" version = "0.1.10" @@ -1139,6 +1207,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "cgl" version = "0.3.2" @@ -1202,7 +1276,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -1218,13 +1292,13 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", - "libloading 0.8.3", + "libloading", ] [[package]] @@ -1244,9 +1318,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.4" +version = "4.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" +checksum = "3e5a21b8495e732f1b3c364c9949b201ca7bae518c502c80256c96ad79eaf6ac" dependencies = [ "clap_builder", "clap_derive", @@ -1254,9 +1328,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.2" +version = "4.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" +checksum = "8cf2dd12af7a047ad9d6da2b6b249759a22a7abc0f474c1dae1777afa4b21a73" dependencies = [ "anstream", "anstyle", @@ -1266,61 +1340,31 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.4" +version = "4.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" +checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] name = "clap_lex" -version = "0.7.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" +checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" [[package]] name = "clipboard-win" -version = "5.3.1" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79f4473f5144e20d9aceaf2972478f06ddf687831eafeeb434fbaf0acc4144ad" +checksum = "15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892" dependencies = [ "error-code", ] -[[package]] -name = "cocoa" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" -dependencies = [ - "bitflags 1.3.2", - "block", - "cocoa-foundation", - "core-foundation", - "core-graphics", - "foreign-types", - "libc", - "objc", -] - -[[package]] -name = "cocoa-foundation" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" -dependencies = [ - "bitflags 1.3.2", - "block", - "core-foundation", - "core-graphics-types", - "libc", - "objc", -] - [[package]] name = "color_quant" version = "1.1.0" @@ -1329,9 +1373,9 @@ checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" [[package]] name = "colorchoice" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" +checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" [[package]] name = "combine" @@ -1367,9 +1411,9 @@ dependencies = [ [[package]] name = "constant_time_eq" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "convert_case" @@ -1404,20 +1448,20 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "core-graphics" -version = "0.22.3" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" +checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" dependencies = [ "bitflags 1.3.2", "core-foundation", "core-graphics-types", - "foreign-types", + "foreign-types 0.5.0", "libc", ] @@ -1434,33 +1478,27 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" dependencies = [ "libc", ] [[package]] name = "crc32fast" -version = "1.4.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if 1.0.0", ] -[[package]] -name = "critical-section" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" - [[package]] name = "crossbeam-channel" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ "crossbeam-utils", ] @@ -1486,9 +1524,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crossterm" @@ -1496,10 +1534,10 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "crossterm_winapi", "libc", - "mio", + "mio 0.8.11", "parking_lot", "signal-hook", "signal-hook-mio", @@ -1559,25 +1597,30 @@ dependencies = [ [[package]] name = "ctrlc" -version = "3.4.4" +version = "3.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "672465ae37dc1bc6380a6547a8883d5dd397b0f1faaad4f265726cc7042a5345" +checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" dependencies = [ - "nix 0.28.0", - "windows-sys 0.52.0", + "nix 0.29.0", + "windows-sys 0.59.0", ] +[[package]] +name = "cursor-icon" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" + [[package]] name = "curve25519-dalek" -version = "4.1.2" +version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if 1.0.0", "cpufeatures", "curve25519-dalek-derive", "fiat-crypto", - "platforms", "rustc_version", "subtle", "zeroize", @@ -1591,14 +1634,14 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] name = "darling" -version = "0.20.8" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ "darling_core", "darling_macro", @@ -1606,36 +1649,37 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.8" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim 0.10.0", - "syn 2.0.63", + "strsim 0.11.1", + "syn 2.0.77", ] [[package]] name = "darling_macro" -version = "0.20.8" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] name = "dashmap" -version = "5.5.3" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ "cfg-if 1.0.0", + "crossbeam-utils", "hashbrown 0.14.5", "lock_api", "once_cell", @@ -1650,9 +1694,9 @@ checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "data-url" -version = "0.2.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5" +checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a" [[package]] name = "delegate-display" @@ -1663,7 +1707,7 @@ dependencies = [ "macroific", "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] @@ -1687,17 +1731,48 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "derive_builder" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd33f37ee6a119146a1781d3356a7c26028f83d779b2e04ecd45fdc75c76877b" +dependencies = [ + "derive_builder_macro", +] + +[[package]] +name = "derive_builder_core" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7431fa049613920234f22c47fdc33e6cf3ee83067091ea4277a3f8c4587aae38" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "derive_builder_macro" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4abae7035bf79b9877b779505d8cf3749285b80c43941eda66604841889451dc" +dependencies = [ + "derive_builder_core", + "syn 2.0.77", +] + [[package]] name = "derive_more" -version = "0.99.17" +version = "0.99.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ "convert_case 0.4.0", "proc-macro2", "quote", "rustc_version", - "syn 1.0.109", + "syn 2.0.77", ] [[package]] @@ -1708,9 +1783,9 @@ checksum = "3c877555693c14d2f84191cfd3ad8582790fc52b5e2274b40b59cf5f5cea25c7" [[package]] name = "deunicode" -version = "1.4.4" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322ef0094744e63628e6f0eb2295517f79276a5b342a4c2ff3042566ca181d4e" +checksum = "339544cc9e2c4dc3fc7149fd630c5f22263a4fdf18a98afd0075784968b5cf00" [[package]] name = "digest" @@ -1724,13 +1799,12 @@ dependencies = [ ] [[package]] -name = "directories-next" -version = "2.0.0" +name = "directories" +version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "339ee130d97a610ea5a5872d2bbb130fdf68884ff09d3028b81bec8a1ac23bbc" +checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" dependencies = [ - "cfg-if 1.0.0", - "dirs-sys-next", + "dirs-sys", ] [[package]] @@ -1754,17 +1828,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "dirs-sys-next" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - [[package]] name = "dispatch" version = "0.2.0" @@ -1777,7 +1840,16 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading 0.8.3", + "libloading", +] + +[[package]] +name = "document-features" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0" +dependencies = [ + "litrs", ] [[package]] @@ -1792,63 +1864,78 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "duct" +version = "0.13.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4ab5718d1224b63252cd0c6f74f6480f9ffeb117438a2e0f5cf6d9a4798929c" +dependencies = [ + "libc", + "once_cell", + "os_pipe", + "shared_child", +] + [[package]] name = "duration-string" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fcc1d9ae294a15ed05aeae8e11ee5f2b3fe971c077d45a42fb20825fba6ee13" +checksum = "2334658684d7c213e18602aa72ce37e94d1c9b535882ef6e30bc444b7514a1ee" [[package]] name = "ecolor" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b7637fc2e74d17e52931bac90ff4fc061ac776ada9c7fa272f24cdca5991972" +version = "0.28.1" +source = "git+https://github.com/aspectron/egui?branch=gamma#13c350e2b5584a0e99cbe0785a2dc717a015adf4" dependencies = [ "bytemuck", + "emath", "serde", ] [[package]] name = "eframe" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e466044128e75141e10f80943c8e9012f37c65fa3fce34f6ac976856fe289e65" +version = "0.28.1" +source = "git+https://github.com/aspectron/egui?branch=gamma#13c350e2b5584a0e99cbe0785a2dc717a015adf4" dependencies = [ + "ahash", "bytemuck", - "cocoa", - "directories-next", + "directories", + "document-features", "egui", "egui-winit", "egui_glow", "glow", "glutin", "glutin-winit", - "image 0.24.9", + "image 0.25.2", "js-sys", "log", - "objc", + "objc2 0.5.2", + "objc2-app-kit", + "objc2-foundation", "parking_lot", "percent-encoding", - "raw-window-handle", + "raw-window-handle 0.5.2", + "raw-window-handle 0.6.2", "ron", "serde", "static_assertions", - "thiserror", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", + "web-time", "winapi", "winit", ] [[package]] name = "egui" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e46df77bb493b9ead5733540efdd2a1b0c18a5f75915921fc734495108172a5" +version = "0.28.1" +source = "git+https://github.com/aspectron/egui?branch=gamma#13c350e2b5584a0e99cbe0785a2dc717a015adf4" dependencies = [ "accesskit", - "ahash 0.8.11", + "ahash", + "emath", "epaint", "log", "nohash-hasher", @@ -1858,33 +1945,31 @@ dependencies = [ [[package]] name = "egui-notify" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bedb26510c661d5d69958aae802d768aa1c344673e9029a20b356fa7f8a4a8e1" +version = "0.15.0" +source = "git+https://github.com/aspectron/egui-notify?branch=gamma#e9c04d5b9cdaf09c9094b7c796b2b2c3cb2644c1" dependencies = [ "egui", ] [[package]] name = "egui-phosphor" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3bb4c76b07a91bcc3021ea7a53c7484b62880a307680f92d81affe57c9e61b" +version = "0.6.0" +source = "git+https://github.com/aspectron/egui-phosphor?branch=gamma#f12c3e90855608814ce69aaa9add1d9773dd20aa" dependencies = [ "egui", ] [[package]] name = "egui-winit" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "065960051f1ff843be036a1743bd9fc8dfd508c0444dce35d620febed91fad2b" +version = "0.28.1" +source = "git+https://github.com/aspectron/egui?branch=gamma#13c350e2b5584a0e99cbe0785a2dc717a015adf4" dependencies = [ "accesskit_winit", + "ahash", "arboard", "egui", "log", - "raw-window-handle", + "raw-window-handle 0.6.2", "serde", "smithay-clipboard", "web-time", @@ -1894,56 +1979,54 @@ dependencies = [ [[package]] name = "egui_extras" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c70596b97ab671969d54c70ab31e3f47e5f1fce07f74bb775281b956d8ccf052" +version = "0.28.1" +source = "git+https://github.com/aspectron/egui?branch=gamma#13c350e2b5584a0e99cbe0785a2dc717a015adf4" dependencies = [ + "ahash", "egui", "enum-map", - "image 0.24.9", + "image 0.25.2", "log", "mime_guess2", "resvg", "serde", - "tiny-skia", - "usvg", ] [[package]] name = "egui_glow" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcacd802e71d0c3b510cf1e1558432e4afc1434f3ccc9a8b23b42c39cd194207" +version = "0.28.1" +source = "git+https://github.com/aspectron/egui?branch=gamma#13c350e2b5584a0e99cbe0785a2dc717a015adf4" dependencies = [ + "ahash", "bytemuck", "egui", "glow", "log", - "memoffset 0.7.1", + "memoffset 0.9.1", "wasm-bindgen", "web-sys", ] [[package]] name = "egui_plot" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7659d721c5d7f05827ea947e18f766c15332d2ee8635a24e3356645d90f3e272" +version = "0.28.1" +source = "git+https://github.com/aspectron/egui_plot?branch=gamma#d5a4183d3b825b2f7b005e2052f59944577a46cd" dependencies = [ + "ahash", "egui", + "emath", ] [[package]] name = "either" -version = "1.11.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "emath" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a045c6c0b44b35e98513fc1e9d183ab42881ac27caccb9fa345465601f56cce4" +version = "0.28.1" +source = "git+https://github.com/aspectron/egui?branch=gamma#13c350e2b5584a0e99cbe0785a2dc717a015adf4" dependencies = [ "bytemuck", "serde", @@ -1964,6 +2047,12 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "endi" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" + [[package]] name = "enum-map" version = "2.7.3" @@ -1982,25 +2071,25 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] name = "enum-primitive-derive" -version = "0.2.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c375b9c5eadb68d0a6efee2999fef292f45854c3444c86f09d8ab086ba942b0e" +checksum = "ba7795da175654fe16979af73f81f26a8ea27638d8d9823d317016888a63dc4c" dependencies = [ "num-traits", "quote", - "syn 1.0.109", + "syn 2.0.77", ] [[package]] name = "enumflags2" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d" +checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" dependencies = [ "enumflags2_derive", "serde", @@ -2008,24 +2097,24 @@ dependencies = [ [[package]] name = "enumflags2_derive" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" +checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] name = "enumn" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" +checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] @@ -2056,12 +2145,11 @@ dependencies = [ [[package]] name = "epaint" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f370b53e435fc235243174f3b2bf68a4b0202f3885cece16ad4aecd03222c4" +version = "0.28.1" +source = "git+https://github.com/aspectron/egui?branch=gamma#13c350e2b5584a0e99cbe0785a2dc717a015adf4" dependencies = [ "ab_glyph", - "ahash 0.8.11", + "ahash", "bytemuck", "ecolor", "emath", @@ -2089,9 +2177,9 @@ dependencies = [ [[package]] name = "error-code" -version = "3.2.0" +version = "3.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0474425d51df81997e2f90a21591180b38eccf27292d755f3e30750225c175b" +checksum = "a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f" [[package]] name = "event-listener" @@ -2112,43 +2200,22 @@ dependencies = [ [[package]] name = "event-listener" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener" -version = "5.3.0" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", "pin-project-lite", ] -[[package]] -name = "event-listener-strategy" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" -dependencies = [ - "event-listener 4.0.3", - "pin-project-lite", -] - [[package]] name = "event-listener-strategy" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ - "event-listener 5.3.0", + "event-listener 5.3.1", "pin-project-lite", ] @@ -2163,22 +2230,16 @@ dependencies = [ [[package]] name = "fancy_constructor" -version = "1.2.2" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f71f317e4af73b2f8f608fac190c52eac4b1879d2145df1db2fe48881ca69435" +checksum = "07b19d0e43eae2bfbafe4931b5e79c73fb1a849ca15cd41a761a7b8587f9a1a2" dependencies = [ "macroific", "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] -[[package]] -name = "faster-hex" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e2ce894d53b295cf97b05685aa077950ff3e8541af83217fc720a6437169f8" - [[package]] name = "faster-hex" version = "0.9.0" @@ -2199,9 +2260,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" [[package]] name = "fdeflate" @@ -2214,20 +2275,20 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38793c55593b33412e3ae40c2c9781ffaa6f438f6f8c10f24e71846fbd7ae01e" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] name = "filetime" -version = "0.2.23" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.4.1", - "windows-sys 0.52.0", + "libredox 0.1.3", + "windows-sys 0.59.0", ] [[package]] @@ -2238,21 +2299,21 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "fixedstr" -version = "0.5.5" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f4e4dfef7b590ab7d11e531d602fdfb6a3413b09924db1428902bbc4410a9a8" +checksum = "54e049f021908beff8f8c430a99f5c136d3be69f1667346e581f446b173bc012" dependencies = [ "serde", ] [[package]] name = "flate2" -version = "1.0.30" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" dependencies = [ "crc32fast", - "miniz_oxide", + "miniz_oxide 0.8.0", ] [[package]] @@ -2273,7 +2334,28 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" dependencies = [ - "foreign-types-shared", + "foreign-types-shared 0.1.1", +] + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared 0.3.1", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", ] [[package]] @@ -2282,6 +2364,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -2360,7 +2448,7 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" dependencies = [ - "fastrand 2.1.0", + "fastrand 2.1.1", "futures-core", "futures-io", "parking", @@ -2375,7 +2463,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] @@ -2408,36 +2496,6 @@ dependencies = [ "slab", ] -[[package]] -name = "gdk-pixbuf-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" -dependencies = [ - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "gdk-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ff856cb3386dae1703a920f803abafcc580e9b5f711ca62ed1620c25b51ff2" -dependencies = [ - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "pango-sys", - "pkg-config", - "system-deps", -] - [[package]] name = "generic-array" version = "0.14.7" @@ -2474,22 +2532,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" - -[[package]] -name = "gio-sys" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", - "winapi", -] +checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" [[package]] name = "gl_generator" @@ -2502,16 +2547,6 @@ dependencies = [ "xml-rs", ] -[[package]] -name = "glib-sys" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" -dependencies = [ - "libc", - "system-deps", -] - [[package]] name = "glob" version = "0.3.1" @@ -2520,9 +2555,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "gloo-timers" -version = "0.2.6" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" dependencies = [ "futures-channel", "futures-core", @@ -2532,9 +2567,9 @@ dependencies = [ [[package]] name = "glow" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca0fe580e4b60a8ab24a868bc08e2f03cbcb20d3d676601fa909386713333728" +checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1" dependencies = [ "js-sys", "slotmap", @@ -2544,54 +2579,55 @@ dependencies = [ [[package]] name = "glutin" -version = "0.30.10" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc93b03242719b8ad39fb26ed2b01737144ce7bd4bfc7adadcef806596760fe" +checksum = "18fcd4ae4e86d991ad1300b8f57166e5be0c95ef1f63f3f5b827f8a164548746" dependencies = [ - "bitflags 1.3.2", - "cfg_aliases", + "bitflags 2.6.0", + "cfg_aliases 0.1.1", "cgl", "core-foundation", "dispatch", "glutin_egl_sys", "glutin_glx_sys", "glutin_wgl_sys", - "libloading 0.7.4", - "objc2 0.3.0-beta.3.patch-leaks.3", + "icrate", + "libloading", + "objc2 0.4.1", "once_cell", - "raw-window-handle", - "wayland-sys 0.30.1", - "windows-sys 0.45.0", + "raw-window-handle 0.5.2", + "wayland-sys", + "windows-sys 0.48.0", "x11-dl", ] [[package]] name = "glutin-winit" -version = "0.3.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "629a873fc04062830bfe8f97c03773bcd7b371e23bcc465d0a61448cd1588fa4" +checksum = "1ebcdfba24f73b8412c5181e56f092b5eff16671c514ce896b258a0a64bd7735" dependencies = [ - "cfg_aliases", + "cfg_aliases 0.1.1", "glutin", - "raw-window-handle", + "raw-window-handle 0.5.2", "winit", ] [[package]] name = "glutin_egl_sys" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af784eb26c5a68ec85391268e074f0aa618c096eadb5d6330b0911cf34fe57c5" +checksum = "77cc5623f5309ef433c3dd4ca1223195347fe62c413da8e2fdd0eb76db2d9bcd" dependencies = [ "gl_generator", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] name = "glutin_glx_sys" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b53cb5fe568964aa066a3ba91eac5ecbac869fb0842cd0dc9e412434f1a1494" +checksum = "a165fd686c10dcc2d45380b35796e577eacfd43d4660ee741ec8ebe2201b3b4f" dependencies = [ "gl_generator", "x11-dl", @@ -2599,42 +2635,13 @@ dependencies = [ [[package]] name = "glutin_wgl_sys" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef89398e90033fc6bc65e9bd42fd29bbbfd483bda5b56dc5562f455550618165" +checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead" dependencies = [ "gl_generator", ] -[[package]] -name = "gobject-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" -dependencies = [ - "glib-sys", - "libc", - "system-deps", -] - -[[package]] -name = "gtk-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771437bf1de2c1c0b496c11505bdf748e26066bbe942dfc8f614c9460f6d7722" -dependencies = [ - "atk-sys", - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gdk-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "pango-sys", - "system-deps", -] - [[package]] name = "h2" version = "0.3.26" @@ -2647,7 +2654,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.2.6", + "indexmap 2.5.0", "slab", "tokio", "tokio-util", @@ -2655,21 +2662,31 @@ dependencies = [ ] [[package]] -name = "hash32" -version = "0.2.1" +name = "h2" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" dependencies = [ - "byteorder", + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.1.0", + "indexmap 2.5.0", + "slab", + "tokio", + "tokio-util", + "tracing", ] [[package]] -name = "hashbrown" -version = "0.11.2" +name = "hash32" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" dependencies = [ - "ahash 0.7.8", + "byteorder", ] [[package]] @@ -2684,19 +2701,16 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash 0.8.11", + "ahash", ] [[package]] name = "heapless" -version = "0.7.17" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f" +checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" dependencies = [ - "atomic-polyfill", "hash32", - "rustc_version", - "spin", "stable_deref_trait", ] @@ -2721,6 +2735,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -2791,6 +2811,29 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "pin-project-lite", +] + [[package]] name = "http-range-header" version = "0.3.1" @@ -2799,9 +2842,9 @@ checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" [[package]] name = "httparse" -version = "1.8.0" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" [[package]] name = "httpdate" @@ -2817,17 +2860,17 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.28" +version = "0.14.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" dependencies = [ "bytes", "futures-channel", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", - "http-body", + "http-body 0.4.6", "httparse", "httpdate", "itoa", @@ -2835,8 +2878,46 @@ dependencies = [ "socket2 0.5.7", "tokio", "tower-service", - "tracing", - "want", + "tracing", + "want", +] + +[[package]] +name = "hyper" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.6", + "http 1.1.0", + "http-body 1.0.1", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +dependencies = [ + "futures-util", + "http 1.1.0", + "hyper 1.4.1", + "hyper-util", + "rustls 0.23.13", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.26.0", + "tower-service", + "webpki-roots 0.26.5", ] [[package]] @@ -2845,7 +2926,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" dependencies = [ - "hyper", + "hyper 0.14.30", "pin-project-lite", "tokio", "tokio-io-timeout", @@ -2853,15 +2934,38 @@ dependencies = [ [[package]] name = "hyper-tls" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", - "hyper", + "http-body-util", + "hyper 1.4.1", + "hyper-util", "native-tls", "tokio", "tokio-native-tls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da62f120a8a37763efb0cf8fdf264b884c7b8b9ac8660b900c8661030c00e6ba" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "hyper 1.4.1", + "pin-project-lite", + "socket2 0.5.7", + "tokio", + "tower", + "tower-service", + "tracing", ] [[package]] @@ -2875,7 +2979,7 @@ dependencies = [ "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows-core", + "windows-core 0.52.0", ] [[package]] @@ -2887,6 +2991,17 @@ dependencies = [ "cc", ] +[[package]] +name = "icrate" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319" +dependencies = [ + "block2 0.3.0", + "dispatch", + "objc2 0.4.1", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -2914,7 +3029,7 @@ dependencies = [ "bytes", "futures", "http 0.2.12", - "hyper", + "hyper 0.14.30", "log", "rand", "tokio", @@ -2949,24 +3064,36 @@ dependencies = [ "png", ] +[[package]] +name = "image" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99314c8a2152b8ddb211f924cdae532d8c5e4c8bb54728e12fff1b0cd5963a10" +dependencies = [ + "bytemuck", + "byteorder-lite", + "num-traits", + "png", +] + [[package]] name = "imagesize" -version = "0.10.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df19da1e92fbfec043ca97d622955381b1f3ee72a180ec999912df31b1ccd951" +checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284" [[package]] name = "indexed_db_futures" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cc2083760572ee02385ab8b7c02c20925d2dd1f97a1a25a8737a238608f1152" +checksum = "43315957678a70eb21fb0d2384fe86dde0d6c859a01e24ce127eb65a0143d28c" dependencies = [ "accessory", "cfg-if 1.0.0", "delegate-display", "fancy_constructor", "js-sys", - "uuid 1.6.1", + "uuid 1.10.0", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -2985,9 +3112,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.6" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" dependencies = [ "equivalent", "hashbrown 0.14.5", @@ -3005,9 +3132,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -3051,9 +3178,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" [[package]] name = "is-docker" @@ -3066,11 +3193,11 @@ dependencies = [ [[package]] name = "is-terminal" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" +checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi 0.4.0", "libc", "windows-sys 0.52.0", ] @@ -3087,9 +3214,9 @@ dependencies = [ [[package]] name = "is_terminal_polyfill" -version = "1.70.0" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itertools" @@ -3109,6 +3236,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.11" @@ -3139,26 +3275,26 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" dependencies = [ "wasm-bindgen", ] [[package]] name = "kaspa-addresses" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "borsh", "js-sys", @@ -3172,12 +3308,12 @@ dependencies = [ [[package]] name = "kaspa-addressmanager" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "borsh", "igd-next", - "itertools 0.11.0", + "itertools 0.13.0", "kaspa-consensus-core", "kaspa-core", "kaspa-database", @@ -3194,22 +3330,23 @@ dependencies = [ [[package]] name = "kaspa-alloc" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "mimalloc", ] [[package]] name = "kaspa-bip32" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "borsh", "bs58", "getrandom", "hmac", "js-sys", + "kaspa-consensus-core", "kaspa-utils", "once_cell", "pbkdf2", @@ -3228,8 +3365,8 @@ dependencies = [ [[package]] name = "kaspa-cli" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "async-trait", "borsh", @@ -3237,8 +3374,9 @@ dependencies = [ "convert_case 0.6.0", "dashmap", "downcast", - "faster-hex 0.6.1", + "faster-hex", "futures", + "hex", "js-sys", "kaspa-addresses", "kaspa-bip32", @@ -3250,6 +3388,7 @@ dependencies = [ "kaspa-utils", "kaspa-wallet-core", "kaspa-wallet-keys", + "kaspa-wallet-pskt", "kaspa-wrpc-client", "nw-sys", "pad", @@ -3274,12 +3413,12 @@ dependencies = [ [[package]] name = "kaspa-connectionmanager" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "duration-string", "futures-util", - "itertools 0.11.0", + "itertools 0.13.0", "kaspa-addressmanager", "kaspa-core", "kaspa-p2p-lib", @@ -3292,17 +3431,17 @@ dependencies = [ [[package]] name = "kaspa-consensus" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "arc-swap", - "async-channel 2.2.1", + "async-channel 2.3.1", "bincode", "crossbeam-channel", - "faster-hex 0.6.1", + "faster-hex", "futures-util", - "indexmap 2.2.6", - "itertools 0.11.0", + "indexmap 2.5.0", + "itertools 0.13.0", "kaspa-consensus-core", "kaspa-consensus-notify", "kaspa-consensusmanager", @@ -3315,6 +3454,7 @@ dependencies = [ "kaspa-notify", "kaspa-pow", "kaspa-txscript", + "kaspa-txscript-errors", "kaspa-utils", "log", "once_cell", @@ -3331,14 +3471,14 @@ dependencies = [ [[package]] name = "kaspa-consensus-client" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ - "ahash 0.8.11", + "ahash", "cfg-if 1.0.0", - "faster-hex 0.6.1", + "faster-hex", "hex", - "itertools 0.11.0", + "itertools 0.13.0", "js-sys", "kaspa-addresses", "kaspa-consensus-core", @@ -3360,16 +3500,16 @@ dependencies = [ [[package]] name = "kaspa-consensus-core" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "async-trait", "borsh", "cfg-if 1.0.0", - "faster-hex 0.6.1", + "faster-hex", "futures-util", "getrandom", - "itertools 0.11.0", + "itertools 0.13.0", "js-sys", "kaspa-addresses", "kaspa-core", @@ -3389,15 +3529,16 @@ dependencies = [ "wasm-bindgen", "workflow-core", "workflow-log", + "workflow-serializer", "workflow-wasm", ] [[package]] name = "kaspa-consensus-notify" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ - "async-channel 2.2.1", + "async-channel 2.3.1", "cfg-if 1.0.0", "derive_more", "futures", @@ -3414,11 +3555,11 @@ dependencies = [ [[package]] name = "kaspa-consensus-wasm" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "cfg-if 1.0.0", - "faster-hex 0.6.1", + "faster-hex", "js-sys", "kaspa-addresses", "kaspa-consensus-client", @@ -3439,13 +3580,13 @@ dependencies = [ [[package]] name = "kaspa-consensusmanager" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "duration-string", "futures", "futures-util", - "itertools 0.11.0", + "itertools 0.13.0", "kaspa-consensus-core", "kaspa-consensus-notify", "kaspa-core", @@ -3458,8 +3599,8 @@ dependencies = [ [[package]] name = "kaspa-core" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "cfg-if 1.0.0", "ctrlc", @@ -3477,8 +3618,8 @@ dependencies = [ [[package]] name = "kaspa-daemon" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "async-trait", "borsh", @@ -3500,14 +3641,14 @@ dependencies = [ [[package]] name = "kaspa-database" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "bincode", "enum-primitive-derive", - "faster-hex 0.6.1", - "indexmap 2.2.6", - "itertools 0.11.0", + "faster-hex", + "indexmap 2.5.0", + "itertools 0.13.0", "kaspa-hashes", "kaspa-utils", "num-traits", @@ -3523,17 +3664,17 @@ dependencies = [ [[package]] name = "kaspa-grpc-client" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ - "async-channel 2.2.1", + "async-channel 2.3.1", "async-stream", "async-trait", - "faster-hex 0.6.1", + "faster-hex", "futures", "futures-util", - "h2", - "itertools 0.11.0", + "h2 0.4.6", + "itertools 0.13.0", "kaspa-core", "kaspa-grpc-core", "kaspa-notify", @@ -3546,6 +3687,7 @@ dependencies = [ "prost", "rand", "regex", + "rustls 0.23.13", "thiserror", "tokio", "tokio-stream", @@ -3555,15 +3697,15 @@ dependencies = [ [[package]] name = "kaspa-grpc-core" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ - "async-channel 2.2.1", + "async-channel 2.3.1", "async-stream", "async-trait", - "faster-hex 0.6.1", + "faster-hex", "futures", - "h2", + "h2 0.4.6", "kaspa-consensus-core", "kaspa-core", "kaspa-notify", @@ -3585,16 +3727,16 @@ dependencies = [ [[package]] name = "kaspa-grpc-server" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ - "async-channel 2.2.1", + "async-channel 2.3.1", "async-stream", "async-trait", - "faster-hex 0.6.1", + "faster-hex", "futures", - "h2", - "itertools 0.11.0", + "h2 0.4.6", + "itertools 0.13.0", "kaspa-consensus-core", "kaspa-core", "kaspa-grpc-core", @@ -3610,23 +3752,24 @@ dependencies = [ "paste", "prost", "rand", + "rustls 0.23.13", "thiserror", "tokio", "tokio-stream", "tonic", "triggered", - "uuid 1.6.1", + "uuid 1.10.0", ] [[package]] name = "kaspa-hashes" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "blake2b_simd", "borsh", "cc", - "faster-hex 0.6.1", + "faster-hex", "js-sys", "kaspa-utils", "keccak", @@ -3639,10 +3782,10 @@ dependencies = [ [[package]] name = "kaspa-index-core" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ - "async-channel 2.2.1", + "async-channel 2.3.1", "async-trait", "derive_more", "futures", @@ -3659,10 +3802,10 @@ dependencies = [ [[package]] name = "kaspa-index-processor" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ - "async-channel 2.2.1", + "async-channel 2.3.1", "async-trait", "derive_more", "futures", @@ -3685,11 +3828,11 @@ dependencies = [ [[package]] name = "kaspa-math" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "borsh", - "faster-hex 0.6.1", + "faster-hex", "js-sys", "kaspa-utils", "malachite-base", @@ -3705,16 +3848,16 @@ dependencies = [ [[package]] name = "kaspa-merkle" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "kaspa-hashes", ] [[package]] name = "kaspa-metrics-core" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "async-trait", "borsh", @@ -3730,11 +3873,11 @@ dependencies = [ [[package]] name = "kaspa-mining" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "futures-util", - "itertools 0.11.0", + "itertools 0.13.0", "kaspa-addresses", "kaspa-consensus-core", "kaspa-consensusmanager", @@ -3749,14 +3892,15 @@ dependencies = [ "rand", "serde", "smallvec", + "sweep-bptree", "thiserror", "tokio", ] [[package]] name = "kaspa-mining-errors" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "kaspa-consensus-core", "thiserror", @@ -3764,8 +3908,8 @@ dependencies = [ [[package]] name = "kaspa-muhash" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "kaspa-hashes", "kaspa-math", @@ -3775,7 +3919,7 @@ dependencies = [ [[package]] name = "kaspa-ng" -version = "0.2.6" +version = "0.3.0" dependencies = [ "cfg-if 1.0.0", "kaspa-alloc", @@ -3787,7 +3931,7 @@ dependencies = [ [[package]] name = "kaspa-ng-chrome" -version = "0.2.6" +version = "0.3.0" dependencies = [ "async-trait", "borsh", @@ -3810,15 +3954,15 @@ dependencies = [ [[package]] name = "kaspa-ng-core" -version = "0.2.6" +version = "0.3.0" dependencies = [ - "ahash 0.8.11", + "ahash", "async-trait", "borsh", "cfg-if 1.0.0", "chrome-sys", "chrono", - "clap 4.5.4", + "clap 4.5.17", "convert_case 0.6.0", "ctrlc", "derivative", @@ -3846,6 +3990,7 @@ dependencies = [ "kaspa-notify", "kaspa-rpc-core", "kaspa-rpc-service", + "kaspa-txscript", "kaspa-utils", "kaspa-wallet-core", "kaspa-wallet-keys", @@ -3868,10 +4013,10 @@ dependencies = [ "serde_json", "slug", "smallvec", - "sysinfo", + "sysinfo 0.29.11", "thiserror", "tokio", - "toml 0.8.12", + "toml", "vergen", "walkdir", "wasm-bindgen", @@ -3890,7 +4035,7 @@ dependencies = [ [[package]] name = "kaspa-ng-macros" -version = "0.2.6" +version = "0.3.0" dependencies = [ "convert_case 0.6.0", "parse-variants", @@ -3904,17 +4049,17 @@ dependencies = [ [[package]] name = "kaspa-notify" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ - "async-channel 2.2.1", + "async-channel 2.3.1", "async-trait", "borsh", "derive_more", "futures", "futures-util", - "indexmap 2.2.6", - "itertools 0.11.0", + "indexmap 2.5.0", + "itertools 0.13.0", "kaspa-addresses", "kaspa-consensus-core", "kaspa-core", @@ -3931,18 +4076,19 @@ dependencies = [ "triggered", "workflow-core", "workflow-log", + "workflow-serializer", ] [[package]] name = "kaspa-p2p-flows" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "async-trait", "chrono", "futures", - "indexmap 2.2.6", - "itertools 0.11.0", + "indexmap 2.5.0", + "itertools 0.13.0", "kaspa-addressmanager", "kaspa-connectionmanager", "kaspa-consensus-core", @@ -3962,19 +4108,19 @@ dependencies = [ "thiserror", "tokio", "tokio-stream", - "uuid 1.6.1", + "uuid 1.10.0", ] [[package]] name = "kaspa-p2p-lib" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "borsh", "ctrlc", "futures", - "h2", - "itertools 0.11.0", + "h2 0.4.6", + "itertools 0.13.0", "kaspa-consensus-core", "kaspa-core", "kaspa-hashes", @@ -3993,13 +4139,13 @@ dependencies = [ "tokio-stream", "tonic", "tonic-build", - "uuid 1.6.1", + "uuid 1.10.0", ] [[package]] name = "kaspa-perf-monitor" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "kaspa-core", "log", @@ -4011,8 +4157,8 @@ dependencies = [ [[package]] name = "kaspa-pow" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "js-sys", "kaspa-consensus-client", @@ -4027,16 +4173,16 @@ dependencies = [ [[package]] name = "kaspa-rpc-core" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ - "async-channel 2.2.1", + "async-channel 2.3.1", "async-trait", "borsh", "cfg-if 1.0.0", "derive_more", "downcast", - "faster-hex 0.6.1", + "faster-hex", "hex", "js-sys", "kaspa-addresses", @@ -4055,20 +4201,22 @@ dependencies = [ "kaspa-utils", "log", "paste", + "rand", "serde", "serde-wasm-bindgen", "smallvec", "thiserror", - "uuid 1.6.1", + "uuid 1.10.0", "wasm-bindgen", "workflow-core", + "workflow-serializer", "workflow-wasm", ] [[package]] name = "kaspa-rpc-macros" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "convert_case 0.6.0", "proc-macro-error", @@ -4080,8 +4228,8 @@ dependencies = [ [[package]] name = "kaspa-rpc-service" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "async-trait", "kaspa-addresses", @@ -4110,32 +4258,39 @@ dependencies = [ [[package]] name = "kaspa-txscript" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "blake2b_simd", "borsh", - "indexmap 2.2.6", - "itertools 0.11.0", + "cfg-if 1.0.0", + "hexplay", + "indexmap 2.5.0", + "itertools 0.13.0", "kaspa-addresses", "kaspa-consensus-core", "kaspa-hashes", "kaspa-txscript-errors", + "kaspa-utils", + "kaspa-wasm-core", "log", "parking_lot", "rand", "secp256k1", "serde", + "serde-wasm-bindgen", + "serde_json", "sha2", "smallvec", "thiserror", "wasm-bindgen", + "workflow-wasm", ] [[package]] name = "kaspa-txscript-errors" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "secp256k1", "thiserror", @@ -4143,35 +4298,42 @@ dependencies = [ [[package]] name = "kaspa-utils" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ - "async-channel 2.2.1", + "arc-swap", + "async-channel 2.3.1", "borsh", "cfg-if 1.0.0", + "duct", "event-listener 2.5.3", - "faster-hex 0.6.1", + "faster-hex", "ipnet", - "itertools 0.11.0", + "itertools 0.13.0", "log", + "mac_address", + "num_cpus", + "once_cell", "parking_lot", "rlimit", "serde", + "sha2", "smallvec", + "sysinfo 0.31.4", "thiserror", "triggered", - "uuid 1.6.1", + "uuid 1.10.0", "wasm-bindgen", ] [[package]] name = "kaspa-utils-tower" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "cfg-if 1.0.0", "futures", - "hyper", + "hyper 0.14.30", "log", "pin-project-lite", "tokio", @@ -4181,8 +4343,8 @@ dependencies = [ [[package]] name = "kaspa-utxoindex" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "futures", "kaspa-consensus-core", @@ -4201,16 +4363,16 @@ dependencies = [ [[package]] name = "kaspa-wallet-core" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "aes", - "ahash 0.8.11", + "ahash", "argon2", - "async-channel 2.2.1", + "async-channel 2.3.1", "async-std", "async-trait", - "base64 0.21.7", + "base64 0.22.1", "borsh", "cfb-mode", "cfg-if 1.0.0", @@ -4221,14 +4383,14 @@ dependencies = [ "derivative", "downcast", "evpkdf", - "faster-hex 0.6.1", + "faster-hex", "fixedstr", "futures", "heapless", "hmac", "home", "indexed_db_futures", - "itertools 0.11.0", + "itertools 0.13.0", "js-sys", "kaspa-addresses", "kaspa-bip32", @@ -4245,6 +4407,7 @@ dependencies = [ "kaspa-utils", "kaspa-wallet-keys", "kaspa-wallet-macros", + "kaspa-wallet-pskt", "kaspa-wasm-core", "kaspa-wrpc-client", "kaspa-wrpc-wasm", @@ -4279,13 +4442,13 @@ dependencies = [ [[package]] name = "kaspa-wallet-keys" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "async-trait", "borsh", "downcast", - "faster-hex 0.6.1", + "faster-hex", "hmac", "js-sys", "kaspa-addresses", @@ -4312,8 +4475,8 @@ dependencies = [ [[package]] name = "kaspa-wallet-macros" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "convert_case 0.5.0", "proc-macro-error", @@ -4324,20 +4487,50 @@ dependencies = [ "xxhash-rust", ] +[[package]] +name = "kaspa-wallet-pskt" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" +dependencies = [ + "bincode", + "derive_builder", + "futures", + "hex", + "js-sys", + "kaspa-addresses", + "kaspa-bip32", + "kaspa-consensus-client", + "kaspa-consensus-core", + "kaspa-txscript", + "kaspa-txscript-errors", + "kaspa-utils", + "secp256k1", + "serde", + "serde-value", + "serde-wasm-bindgen", + "serde_json", + "serde_repr", + "thiserror", + "wasm-bindgen", + "workflow-wasm", +] + [[package]] name = "kaspa-wasm-core" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ - "faster-hex 0.6.1", + "faster-hex", + "hexplay", "js-sys", "wasm-bindgen", + "workflow-wasm", ] [[package]] name = "kaspa-wrpc-client" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "async-std", "async-trait", @@ -4354,11 +4547,12 @@ dependencies = [ "paste", "rand", "regex", + "rustls 0.23.13", "serde", "serde-wasm-bindgen", "serde_json", "thiserror", - "toml 0.8.12", + "toml", "wasm-bindgen", "wasm-bindgen-futures", "workflow-core", @@ -4366,13 +4560,14 @@ dependencies = [ "workflow-http", "workflow-log", "workflow-rpc", + "workflow-serializer", "workflow-wasm", ] [[package]] name = "kaspa-wrpc-server" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ "async-trait", "borsh", @@ -4387,22 +4582,23 @@ dependencies = [ "kaspa-utils", "log", "num_cpus", - "openssl", "paste", + "rustls 0.23.13", "serde", "thiserror", "tokio", "workflow-core", "workflow-log", "workflow-rpc", + "workflow-serializer", ] [[package]] name = "kaspa-wrpc-wasm" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ - "ahash 0.8.11", + "ahash", "async-std", "cfg-if 1.0.0", "futures", @@ -4416,6 +4612,7 @@ dependencies = [ "kaspa-rpc-macros", "kaspa-wasm-core", "kaspa-wrpc-client", + "ring", "serde", "serde-wasm-bindgen", "serde_json", @@ -4429,11 +4626,12 @@ dependencies = [ [[package]] name = "kaspad" -version = "0.14.1" -source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=integrations#7e609dc43db2a21a115f1b9ec13ca299dfac836b" +version = "0.15.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=gamma#29e32c91c5bf50d40ad1c3e77dd0a79c897a189f" dependencies = [ - "async-channel 2.2.1", - "clap 4.5.4", + "async-channel 2.3.1", + "cfg-if 1.0.0", + "clap 4.5.17", "dirs", "futures-util", "kaspa-addresses", @@ -4468,7 +4666,7 @@ dependencies = [ "tempfile", "thiserror", "tokio", - "toml 0.8.12", + "toml", "workflow-log", ] @@ -4489,9 +4687,9 @@ checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" [[package]] name = "kurbo" -version = "0.8.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a53776d271cfb873b17c618af0298445c88afc52837f3e948fa3fafd131f449" +checksum = "bd85a5776cd9500c2e2059c8c76c3b01528566b7fcbaf8098b55a33fc298849b" dependencies = [ "arrayvec", ] @@ -4507,9 +4705,9 @@ dependencies = [ [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "lazycell" @@ -4519,28 +4717,18 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.154" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" - -[[package]] -name = "libloading" -version = "0.7.4" +version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if 1.0.0", - "winapi", -] +checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" [[package]] name = "libloading" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" +checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if 1.0.0", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -4551,9 +4739,9 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[package]] name = "libmimalloc-sys" -version = "0.1.37" +version = "0.1.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81eb4061c0582dedea1cbc7aff2240300dd6982e0239d1c99e65c1dbf4a30ba7" +checksum = "23aa6811d3bd4deb8a84dde645f943476d13b248d818edcf8ce0b2f37f036b44" dependencies = [ "cc", "libc", @@ -4565,7 +4753,7 @@ version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "libc", "redox_syscall 0.4.1", ] @@ -4576,17 +4764,18 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "libc", + "redox_syscall 0.5.4", ] [[package]] name = "librocksdb-sys" -version = "0.11.0+8.1.1" +version = "0.16.0+8.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" +checksum = "ce3d60bc059831dc1c83903fb45c103f75db65c5a7bf22272764d9cc683e348c" dependencies = [ - "bindgen 0.65.1", + "bindgen 0.69.4", "bzip2-sys", "cc", "glob", @@ -4598,9 +4787,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.16" +version = "1.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9" +checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" dependencies = [ "cc", "pkg-config", @@ -4635,15 +4824,21 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.13" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "litrs" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" [[package]] name = "local-ip-address" -version = "0.5.7" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "612ed4ea9ce5acfb5d26339302528a5e1e59dfed95e9e11af3c083236ff1d15d" +checksum = "b435d7dd476416a905f9634dff8c330cee8d3168fdd1fbd472a17d1a75c00c3e" dependencies = [ "libc", "neli", @@ -4663,9 +4858,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" dependencies = [ "serde", "value-bag", @@ -4708,14 +4903,24 @@ dependencies = [ [[package]] name = "lz4-sys" -version = "1.9.4" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900" +checksum = "fcb44a01837a858d47e5a630d2ccf304c8efcc4b83b8f9f75b7a9ee4fcc6e57d" dependencies = [ "cc", "libc", ] +[[package]] +name = "mac_address" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8836fae9d0d4be2c8b4efcdd79e828a2faa058a90d005abf42f91cac5493a08e" +dependencies = [ + "nix 0.28.0", + "winapi", +] + [[package]] name = "mach" version = "0.3.2" @@ -4745,7 +4950,7 @@ dependencies = [ "cfg-if 1.0.0", "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] @@ -4756,7 +4961,7 @@ checksum = "13198c120864097a565ccb3ff947672d969932b7975ebd4085732c9f09435e55" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] @@ -4769,14 +4974,14 @@ dependencies = [ "macroific_core", "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] name = "malachite-base" -version = "0.4.7" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d073a3d1e4e037975af5ef176a2632672e25e8ddbe8e1811745c2e0726b6ad94" +checksum = "46059721011b0458b7bd6d9179be5d0b60294281c23320c207adceaecc54d13b" dependencies = [ "hashbrown 0.14.5", "itertools 0.11.0", @@ -4786,9 +4991,9 @@ dependencies = [ [[package]] name = "malachite-nz" -version = "0.4.7" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2546fc6ae29728079e87a2a0f011509e6060713b65e62ee46ba5d413b495ebc7" +checksum = "1503b27e825cabd1c3d0ff1e95a39fb2ec9eab6fd3da6cfa41aec7091d273e78" dependencies = [ "itertools 0.11.0", "libm", @@ -4831,26 +5036,17 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.2" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" -dependencies = [ - "libc", -] - -[[package]] -name = "memoffset" -version = "0.6.5" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" dependencies = [ - "autocfg", + "libc", ] [[package]] @@ -4873,9 +5069,9 @@ dependencies = [ [[package]] name = "mimalloc" -version = "0.1.41" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f41a2280ded0da56c8cf898babb86e8f10651a34adcfff190ae9a1159c6908d" +checksum = "68914350ae34959d83f732418d51e2427a794055d0b9529f48259ac07af65633" dependencies = [ "libmimalloc-sys", ] @@ -4904,14 +5100,23 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ "adler", "simd-adler32", ] +[[package]] +name = "miniz_oxide" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +dependencies = [ + "adler2", +] + [[package]] name = "mio" version = "0.8.11" @@ -4924,6 +5129,18 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "mio" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +dependencies = [ + "hermit-abi 0.3.9", + "libc", + "wasi", + "windows-sys 0.52.0", +] + [[package]] name = "multimap" version = "0.10.0" @@ -4941,11 +5158,10 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" dependencies = [ - "lazy_static", "libc", "log", "openssl", @@ -4959,15 +5175,17 @@ dependencies = [ [[package]] name = "ndk" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0" +checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "jni-sys", + "log", "ndk-sys", - "num_enum 0.5.11", - "raw-window-handle", + "num_enum", + "raw-window-handle 0.5.2", + "raw-window-handle 0.6.2", "thiserror", ] @@ -4979,9 +5197,9 @@ checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" [[package]] name = "ndk-sys" -version = "0.4.1+23.1.7779620" +version = "0.5.0+25.2.9519653" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3" +checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" dependencies = [ "jni-sys", ] @@ -5013,51 +5231,40 @@ dependencies = [ [[package]] name = "nix" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" -dependencies = [ - "bitflags 1.3.2", - "cfg-if 1.0.0", - "libc", - "memoffset 0.6.5", -] - -[[package]] -name = "nix" -version = "0.25.1" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" dependencies = [ - "autocfg", "bitflags 1.3.2", "cfg-if 1.0.0", "libc", - "memoffset 0.6.5", + "memoffset 0.7.1", ] [[package]] name = "nix" -version = "0.26.4" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "cfg-if 1.0.0", + "cfg_aliases 0.1.1", "libc", - "memoffset 0.7.1", + "memoffset 0.9.1", ] [[package]] name = "nix" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cfg-if 1.0.0", - "cfg_aliases", + "cfg_aliases 0.2.1", "libc", + "memoffset 0.9.1", ] [[package]] @@ -5114,9 +5321,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ "num-integer", "num-traits", @@ -5200,44 +5407,23 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" -dependencies = [ - "num_enum_derive 0.5.11", -] - -[[package]] -name = "num_enum" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" -dependencies = [ - "num_enum_derive 0.6.1", -] - -[[package]] -name = "num_enum_derive" -version = "0.5.11" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", + "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.6.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] @@ -5296,9 +5482,9 @@ checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7" [[package]] name = "objc-sys" -version = "0.3.3" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da284c198fb9b7b0603f8635185e85fbd5b64ee154b1ed406d489077de2d6d60" +checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" [[package]] name = "objc2" @@ -5313,35 +5499,62 @@ dependencies = [ [[package]] name = "objc2" -version = "0.5.1" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d" +dependencies = [ + "objc-sys 0.3.5", + "objc2-encode 3.0.0", +] + +[[package]] +name = "objc2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b25e1034d0e636cd84707ccdaa9f81243d399196b8a773946dcffec0401659" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" dependencies = [ - "objc-sys 0.3.3", - "objc2-encode 4.0.1", + "objc-sys 0.3.5", + "objc2-encode 4.0.3", ] [[package]] name = "objc2-app-kit" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb79768a710a9a1798848179edb186d1af7e8a8679f369e4b8d201dd2a034047" +checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "block2 0.5.0", - "objc2 0.5.1", + "bitflags 2.6.0", + "block2 0.5.1", + "libc", + "objc2 0.5.2", "objc2-core-data", + "objc2-core-image", "objc2-foundation", + "objc2-quartz-core", ] [[package]] name = "objc2-core-data" -version = "0.2.0" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" +dependencies = [ + "bitflags 2.6.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-image" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e092bc42eaf30a08844e6a076938c60751225ec81431ab89f5d1ccd9f958d6c" +checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" dependencies = [ - "block2 0.5.0", - "objc2 0.5.1", + "block2 0.5.1", + "objc2 0.5.2", "objc2-foundation", + "objc2-metal", ] [[package]] @@ -5355,18 +5568,51 @@ dependencies = [ [[package]] name = "objc2-encode" -version = "4.0.1" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666" + +[[package]] +name = "objc2-encode" +version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88658da63e4cc2c8adb1262902cd6af51094df0488b760d6fd27194269c0950a" +checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" [[package]] name = "objc2-foundation" -version = "0.2.0" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" +dependencies = [ + "bitflags 2.6.0", + "block2 0.5.1", + "libc", + "objc2 0.5.2", +] + +[[package]] +name = "objc2-metal" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" +dependencies = [ + "bitflags 2.6.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfaefe14254871ea16c7d88968c0ff14ba554712a20d76421eec52f0a7fb8904" +checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "block2 0.5.0", - "objc2 0.5.1", + "bitflags 2.6.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", + "objc2-metal", ] [[package]] @@ -5380,18 +5626,18 @@ dependencies = [ [[package]] name = "object" -version = "0.32.2" +version = "0.36.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "33ea5043e58958ee56f3e15a90aee535795cd7dfd319846288d93c5b57d85cbe" [[package]] name = "opaque-debug" @@ -5401,9 +5647,9 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "open" -version = "5.1.2" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "449f0ff855d85ddbf1edd5b646d65249ead3f5e422aaa86b7d2d0b049b103e32" +checksum = "61a877bf6abd716642a53ef1b89fb498923a4afca5c754f9050b4d081c05c4b3" dependencies = [ "is-wsl", "libc", @@ -5412,13 +5658,13 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.64" +version = "0.10.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cfg-if 1.0.0", - "foreign-types", + "foreign-types 0.3.2", "libc", "once_cell", "openssl-macros", @@ -5433,7 +5679,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] @@ -5442,24 +5688,14 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" -[[package]] -name = "openssl-src" -version = "300.2.3+3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843" -dependencies = [ - "cc", -] - [[package]] name = "openssl-sys" -version = "0.9.102" +version = "0.9.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" dependencies = [ "cc", "libc", - "openssl-src", "pkg-config", "vcpkg", ] @@ -5498,11 +5734,21 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "os_pipe" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + [[package]] name = "owned_ttf_parser" -version = "0.21.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b41438d2fc63c46c74a2203bf5ccd82c41ba04347b2fcf5754f230b167067d5" +checksum = "490d3a563d3122bf7c911a59b0add9389e5ec0f5f0c3ac6b91ff235a0e6a7f90" dependencies = [ "ttf-parser", ] @@ -5516,29 +5762,17 @@ dependencies = [ "unicode-width", ] -[[package]] -name = "pango-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - [[package]] name = "parking" -version = "2.2.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" -version = "0.12.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", "parking_lot_core", @@ -5552,16 +5786,16 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.5.1", + "redox_syscall 0.5.4", "smallvec", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] name = "parse-variants" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80f048110646aae15ec0e4299c37a012739d28d92c82b7ad945c0578c188cbe3" +checksum = "99088a2b0695df5940d7b5a3b4c4460b765053cf5ecd6d46da43812d3fad7f13" dependencies = [ "parse-variants-derive", ] @@ -5574,7 +5808,7 @@ checksum = "70df726c43c645ef1dde24c7ae14692036ebe5457c92c5f0ec4cfceb99634ff6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] @@ -5638,7 +5872,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.2.6", + "indexmap 2.5.0", ] [[package]] @@ -5664,7 +5898,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] @@ -5681,12 +5915,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.1" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" dependencies = [ "atomic-waker", - "fastrand 2.1.0", + "fastrand 2.1.1", "futures-io", ] @@ -5696,12 +5930,6 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" -[[package]] -name = "platforms" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" - [[package]] name = "png" version = "0.17.13" @@ -5712,7 +5940,7 @@ dependencies = [ "crc32fast", "fdeflate", "flate2", - "miniz_oxide", + "miniz_oxide 0.7.4", ] [[package]] @@ -5733,19 +5961,25 @@ dependencies = [ [[package]] name = "polling" -version = "3.7.0" +version = "3.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645493cf344456ef24219d02a768cf1fb92ddf8c92161679ae3d91b91a637be3" +checksum = "cc2790cd301dec6cd3b7a025e4815cf825724a51c98dccfe6a3e55f05ffb6511" dependencies = [ "cfg-if 1.0.0", "concurrent-queue", - "hermit-abi 0.3.9", + "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.34", + "rustix 0.38.37", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] +[[package]] +name = "pollster" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" + [[package]] name = "poly1305" version = "0.8.0" @@ -5759,9 +5993,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" +checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" [[package]] name = "powerfmt" @@ -5771,37 +6005,40 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "prettyplease" -version = "0.2.20" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" dependencies = [ "proc-macro2", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] name = "proc-macro-crate" -version = "0.1.5" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ - "toml 0.5.11", + "once_cell", + "toml_edit 0.19.15", ] [[package]] name = "proc-macro-crate" -version = "1.3.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "once_cell", - "toml_edit 0.19.15", + "toml_edit 0.22.20", ] [[package]] @@ -5835,18 +6072,18 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.82" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] [[package]] name = "prost" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f5d036824e4761737860779c906171497f6d55681139d8312388f8fe398922" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" dependencies = [ "bytes", "prost-derive", @@ -5854,9 +6091,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80b776a1b2dc779f5ee0641f8ade0125bc1298dd41a9a0c16d8bd57b42d222b1" +checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" dependencies = [ "bytes", "heck", @@ -5869,28 +6106,28 @@ dependencies = [ "prost", "prost-types", "regex", - "syn 2.0.63", + "syn 2.0.77", "tempfile", ] [[package]] name = "prost-derive" -version = "0.12.5" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9554e3ab233f0a932403704f1a1d08c30d5ccd931adfdfa1e8b5a19b52c1d55a" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] name = "prost-types" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3235c33eb02c1f1e212abdbe34c78b264b038fb58ca612664343271e36e55ffe" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" dependencies = [ "prost", ] @@ -5905,11 +6142,68 @@ dependencies = [ "image 0.23.14", ] +[[package]] +name = "quick-xml" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96a05e2e8efddfa51a84ca47cec303fac86c8541b686d37cac5efc0e094417bc" +dependencies = [ + "memchr", +] + +[[package]] +name = "quinn" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684" +dependencies = [ + "bytes", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash 2.0.0", + "rustls 0.23.13", + "socket2 0.5.7", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "quinn-proto" +version = "0.11.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6" +dependencies = [ + "bytes", + "rand", + "ring", + "rustc-hash 2.0.0", + "rustls 0.23.13", + "slab", + "thiserror", + "tinyvec", + "tracing", +] + +[[package]] +name = "quinn-udp" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fe68c2e9e1a1234e218683dbdf9f9dfcb094113c5ac2b938dfcb9bab4c4140b" +dependencies = [ + "libc", + "once_cell", + "socket2 0.5.7", + "tracing", + "windows-sys 0.59.0", +] + [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -5963,7 +6257,7 @@ checksum = "8b86292cf41ccfc96c5de7165c1c53d5b4ac540c5bab9d1857acbe9eba5f1a0b" dependencies = [ "proc-macro-hack", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] @@ -5981,6 +6275,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" +[[package]] +name = "raw-window-handle" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" + [[package]] name = "rayon" version = "1.10.0" @@ -6027,18 +6327,18 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.1" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" +checksum = "0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", ] [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox 0.1.3", @@ -6047,9 +6347,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.4" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ "aho-corasick", "memchr", @@ -6059,9 +6359,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", @@ -6070,26 +6370,29 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "reqwest" -version = "0.11.27" +version = "0.12.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "bytes", "encoding_rs", "futures-core", "futures-util", - "h2", - "http 0.2.12", - "http-body", - "hyper", + "h2 0.4.6", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-rustls", "hyper-tls", + "hyper-util", "ipnet", "js-sys", "log", @@ -6098,27 +6401,32 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls-pemfile", + "quinn", + "rustls 0.23.13", + "rustls-pemfile 2.1.3", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 1.0.1", "system-configuration", "tokio", "tokio-native-tls", + "tokio-rustls 0.26.0", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg", + "webpki-roots 0.26.5", + "windows-registry", ] [[package]] name = "resvg" -version = "0.28.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c115863f2d3621999cf187e318bc92b16402dfeff6a48c74df700d77381394c1" +checksum = "cadccb3d99a9efb8e5e00c16fbb732cbe400db2ec7fc004697ee7d97d86cf1f4" dependencies = [ "log", "pico-args", @@ -6130,21 +6438,21 @@ dependencies = [ [[package]] name = "rfd" -version = "0.12.1" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c9e7b57df6e8472152674607f6cc68aa14a748a3157a857a94f516e11aeacc2" +checksum = "25a73a7337fc24366edfca76ec521f51877b114e42dab584008209cca6719251" dependencies = [ + "ashpd", "block", "dispatch", - "glib-sys", - "gobject-sys", - "gtk-sys", "js-sys", "log", "objc", "objc-foundation", "objc_id", - "raw-window-handle", + "pollster", + "raw-window-handle 0.6.2", + "urlencoding", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -6153,9 +6461,9 @@ dependencies = [ [[package]] name = "rgb" -version = "0.8.37" +version = "0.8.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8" +checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" dependencies = [ "bytemuck", ] @@ -6192,18 +6500,18 @@ checksum = "80eb5f11ebcdd09266eb7897503d7451c2fceea3881538c63dd2651e2c5ebe0c" [[package]] name = "rlimit" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3560f70f30a0f16d11d01ed078a07740fe6b489667abc7c7b029155d9f21c3d8" +checksum = "7043b63bd0cd1aaa628e476b80e6d4023a3b50eb32789f2728908107bd0c793a" dependencies = [ "libc", ] [[package]] name = "rocksdb" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe" +checksum = "6bd13e55d6d7b8cd0ea569161127567cd587676c99f4472f779a0279aa60a7a7" dependencies = [ "libc", "librocksdb-sys", @@ -6216,19 +6524,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" dependencies = [ "base64 0.21.7", - "bitflags 2.5.0", + "bitflags 2.6.0", "serde", "serde_derive", ] [[package]] name = "roxmltree" -version = "0.15.1" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b9de9831a129b122e7e61f242db509fa9d0838008bf0b29bb0624669edfe48a" -dependencies = [ - "xmlparser", -] +checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f" [[package]] name = "rustc-demangle" @@ -6242,11 +6547,17 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hash" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" + [[package]] name = "rustc_version" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ "semver", ] @@ -6267,14 +6578,14 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.34" +version = "0.38.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "errno", "libc", - "linux-raw-sys 0.4.13", + "linux-raw-sys 0.4.14", "windows-sys 0.52.0", ] @@ -6286,8 +6597,22 @@ checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", "ring", - "rustls-webpki", - "sct", + "rustls-webpki 0.101.7", + "sct", +] + +[[package]] +name = "rustls" +version = "0.23.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8" +dependencies = [ + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki 0.102.8", + "subtle", + "zeroize", ] [[package]] @@ -6299,6 +6624,22 @@ dependencies = [ "base64 0.21.7", ] +[[package]] +name = "rustls-pemfile" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" +dependencies = [ + "base64 0.22.1", + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" + [[package]] name = "rustls-webpki" version = "0.101.7" @@ -6309,11 +6650,22 @@ dependencies = [ "untrusted", ] +[[package]] +name = "rustls-webpki" +version = "0.102.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + [[package]] name = "rustversion" -version = "1.0.16" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "092474d1a01ea8278f69e6a358998405fae5b8b963ddaeb2b0b04a128bf1dfb0" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "ryu" @@ -6341,11 +6693,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -6372,9 +6724,9 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.28.2" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10" +checksum = "9465315bc9d4566e1724f0fffcbcc446268cb522e60f9a27bcded6b19c108113" dependencies = [ "rand", "secp256k1-sys", @@ -6383,20 +6735,20 @@ dependencies = [ [[package]] name = "secp256k1-sys" -version = "0.9.2" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d1746aae42c19d583c3c1a8c646bfad910498e2051c551a7f2e3c0c9fbb7eb" +checksum = "d4387882333d3aa8cb20530a17c69a3752e97837832f34f6dccc760e715001d9" dependencies = [ "cc", ] [[package]] name = "security-framework" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "core-foundation", "core-foundation-sys", "libc", @@ -6405,9 +6757,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" dependencies = [ "core-foundation-sys", "libc", @@ -6439,9 +6791,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.201" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" dependencies = [ "serde_derive", ] @@ -6469,22 +6821,23 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.201" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] name = "serde_json" -version = "1.0.117" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -6497,14 +6850,14 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] name = "serde_spanned" -version = "0.6.5" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" dependencies = [ "serde", ] @@ -6523,15 +6876,15 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.8.1" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" +checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" dependencies = [ "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.2.6", + "indexmap 2.5.0", "serde", "serde_derive", "serde_json", @@ -6541,14 +6894,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.8.1" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" +checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] @@ -6557,7 +6910,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.5.0", "itoa", "ryu", "serde", @@ -6586,6 +6939,16 @@ dependencies = [ "digest", ] +[[package]] +name = "shared_child" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + [[package]] name = "shlex" version = "1.3.0" @@ -6604,12 +6967,12 @@ dependencies = [ [[package]] name = "signal-hook-mio" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af" +checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" dependencies = [ "libc", - "mio", + "mio 0.8.11", "signal-hook", ] @@ -6663,9 +7026,9 @@ dependencies = [ [[package]] name = "slug" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bd94acec9c8da640005f8e135a39fc0372e74535e6b368b7a04b875f784c8c4" +checksum = "882a80f72ee45de3cc9a5afeb2da0331d58df69e4e7d8eeb5d3c7784ae67e724" dependencies = [ "deunicode", "wasm-bindgen", @@ -6698,31 +7061,72 @@ checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" [[package]] name = "smithay-client-toolkit" -version = "0.16.1" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "870427e30b8f2cbe64bf43ec4b86e88fe39b0a84b3f15efd9c9c2d020bc86eb9" +checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a" dependencies = [ - "bitflags 1.3.2", - "calloop", - "dlib", - "lazy_static", + "bitflags 2.6.0", + "calloop 0.12.4", + "calloop-wayland-source 0.2.0", + "cursor-icon", + "libc", "log", "memmap2", - "nix 0.24.3", - "pkg-config", + "rustix 0.38.37", + "thiserror", + "wayland-backend", "wayland-client", + "wayland-csd-frame", "wayland-cursor", - "wayland-protocols", + "wayland-protocols 0.31.2", + "wayland-protocols-wlr 0.2.0", + "wayland-scanner", + "xkeysym", ] [[package]] -name = "smithay-clipboard" -version = "0.6.6" +name = "smithay-client-toolkit" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a345c870a1fae0b1b779085e81b51e614767c239e93503588e54c5b17f4b0e8" +checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ - "smithay-client-toolkit", + "bitflags 2.6.0", + "calloop 0.13.0", + "calloop-wayland-source 0.3.0", + "cursor-icon", + "libc", + "log", + "memmap2", + "rustix 0.38.37", + "thiserror", + "wayland-backend", "wayland-client", + "wayland-csd-frame", + "wayland-cursor", + "wayland-protocols 0.32.4", + "wayland-protocols-wlr 0.3.4", + "wayland-scanner", + "xkeysym", +] + +[[package]] +name = "smithay-clipboard" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc8216eec463674a0e90f29e0ae41a4db573ec5b56b1c6c1c71615d249b6d846" +dependencies = [ + "libc", + "smithay-client-toolkit 0.19.2", + "wayland-backend", +] + +[[package]] +name = "smol_str" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" +dependencies = [ + "serde", ] [[package]] @@ -6756,9 +7160,6 @@ name = "spin" version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -dependencies = [ - "lock_api", -] [[package]] name = "stable_deref_trait" @@ -6787,12 +7188,6 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - [[package]] name = "strsim" version = "0.11.1" @@ -6801,19 +7196,26 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "subtle" -version = "2.5.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "svgtypes" -version = "0.8.2" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22975e8a2bac6a76bb54f898a6b18764633b00e780330f0b689f65afb3975564" +checksum = "6e44e288cd960318917cbd540340968b90becc8bc81f171345d706e7a89d9d70" dependencies = [ + "kurbo", "siphasher", ] +[[package]] +name = "sweep-bptree" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bea7b1b7c5eaabc40bab84ec98b2f12523d97e91c9bfc430fe5d2a1ea15c9960" + [[package]] name = "syn" version = "1.0.109" @@ -6827,21 +7229,42 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.63" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf5be731623ca1a1fb7d8be6f261a3be6d3e2337b8a1f97be944d020c8fcb704" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "syn_derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "sync_wrapper" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +dependencies = [ + "futures-core", +] + [[package]] name = "sysinfo" version = "0.29.11" @@ -6857,56 +7280,52 @@ dependencies = [ "winapi", ] +[[package]] +name = "sysinfo" +version = "0.31.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "355dbe4f8799b304b05e1b0f05fc59b2a18d36645cf169607da45bde2f69a1be" +dependencies = [ + "core-foundation-sys", + "libc", + "memchr", + "ntapi", + "rayon", + "windows 0.57.0", +] + [[package]] name = "system-configuration" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "core-foundation", "system-configuration-sys", ] [[package]] name = "system-configuration-sys" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" dependencies = [ "core-foundation-sys", "libc", ] -[[package]] -name = "system-deps" -version = "6.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" -dependencies = [ - "cfg-expr", - "heck", - "pkg-config", - "toml 0.8.12", - "version-compare", -] - -[[package]] -name = "target-lexicon" -version = "0.12.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" - [[package]] name = "tempfile" -version = "3.10.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" dependencies = [ "cfg-if 1.0.0", - "fastrand 2.1.0", - "rustix 0.38.34", - "windows-sys 0.52.0", + "fastrand 2.1.1", + "once_cell", + "rustix 0.38.37", + "windows-sys 0.59.0", ] [[package]] @@ -6940,29 +7359,29 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.60" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.60" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] name = "thread-id" -version = "4.2.1" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0ec81c46e9eb50deaa257be2f148adf052d1fb7701cfd55ccfab2525280b70b" +checksum = "cfe8f25bbdd100db7e1d34acf7fd2dc59c4bf8f7483f505eaa7d4f12f76cc0ea" dependencies = [ "libc", "winapi", @@ -7003,23 +7422,24 @@ dependencies = [ [[package]] name = "tiny-skia" -version = "0.8.4" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df8493a203431061e901613751931f047d1971337153f96d0e5e363d6dbf6a67" +checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" dependencies = [ "arrayref", "arrayvec", "bytemuck", "cfg-if 1.0.0", + "log", "png", "tiny-skia-path", ] [[package]] name = "tiny-skia-path" -version = "0.8.4" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adbfb5d3f3dd57a0e11d12f4f13d4ebbbc1b5c15b7ab0a156d030b21da5f677c" +checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" dependencies = [ "arrayref", "bytemuck", @@ -7028,9 +7448,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -7043,20 +7463,19 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.37.0" +version = "1.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" dependencies = [ "backtrace", "bytes", "libc", - "mio", - "num_cpus", + "mio 1.0.2", "pin-project-lite", "signal-hook-registry", "socket2 0.5.7", "tokio-macros", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -7071,13 +7490,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] @@ -7096,15 +7515,26 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls", + "rustls 0.21.12", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +dependencies = [ + "rustls 0.23.13", + "rustls-pki-types", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" dependencies = [ "futures-core", "pin-project-lite", @@ -7113,23 +7543,25 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.21.0" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38" +checksum = "c6989540ced10490aaf14e6bad2e3d33728a2813310a0c71d1574304c49631cd" dependencies = [ "futures-util", "log", - "native-tls", + "rustls 0.23.13", + "rustls-pki-types", "tokio", - "tokio-native-tls", + "tokio-rustls 0.26.0", "tungstenite", + "webpki-roots 0.26.5", ] [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" dependencies = [ "bytes", "futures-core", @@ -7140,30 +7572,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - -[[package]] -name = "toml" -version = "0.8.12" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.12", + "toml_edit 0.22.20", ] [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] @@ -7174,22 +7597,22 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.5.0", "toml_datetime", "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.22.12" +version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef" +checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.5.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.8", + "winnow 0.6.18", ] [[package]] @@ -7204,23 +7627,24 @@ dependencies = [ "base64 0.21.7", "bytes", "flate2", - "h2", + "h2 0.3.26", "http 0.2.12", - "http-body", - "hyper", + "http-body 0.4.6", + "hyper 0.14.30", "hyper-timeout", "percent-encoding", "pin-project", "prost", - "rustls", - "rustls-pemfile", + "rustls 0.21.12", + "rustls-pemfile 1.0.4", "tokio", - "tokio-rustls", + "tokio-rustls 0.24.1", "tokio-stream", "tower", "tower-layer", "tower-service", "tracing", + "webpki-roots 0.25.4", ] [[package]] @@ -7233,7 +7657,7 @@ dependencies = [ "proc-macro2", "prost-build", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] @@ -7262,12 +7686,12 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bytes", "futures-core", "futures-util", "http 0.2.12", - "http-body", + "http-body 0.4.6", "http-range-header", "pin-project-lite", "tower-layer", @@ -7276,15 +7700,15 @@ dependencies = [ [[package]] name = "tower-layer" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" @@ -7306,7 +7730,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] @@ -7332,15 +7756,15 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "ttf-parser" -version = "0.21.1" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" +checksum = "5be21190ff5d38e8b4a2d3b6a3ae57f612cc39c96e83cedeaf7abc338a8bac4a" [[package]] name = "tungstenite" -version = "0.21.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" +checksum = "6e2e2ce1e47ed2994fd43b04c8f618008d4cabdd5ee34027cf14f9d918edd9c8" dependencies = [ "byteorder", "bytes", @@ -7348,11 +7772,11 @@ dependencies = [ "http 1.1.0", "httparse", "log", - "native-tls", "rand", + "rustls 0.23.13", + "rustls-pki-types", "sha1", "thiserror", - "url", "utf-8", ] @@ -7399,9 +7823,9 @@ checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[package]] name = "unicode-linebreak" @@ -7420,15 +7844,15 @@ dependencies = [ [[package]] name = "unicode-segmentation" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-width" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "universal-hash" @@ -7463,33 +7887,64 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + [[package]] name = "usvg" -version = "0.28.0" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b0a51b72ab80ca511d126b77feeeb4fb1e972764653e61feac30adc161a756" +dependencies = [ + "base64 0.21.7", + "log", + "pico-args", + "usvg-parser", + "usvg-tree", + "xmlwriter", +] + +[[package]] +name = "usvg-parser" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b5b7c2b30845b3348c067ca3d09e20cc6e327c288f0ca4c48698712abf432e9" +checksum = "9bd4e3c291f45d152929a31f0f6c819245e2921bfd01e7bd91201a9af39a2bdc" dependencies = [ - "base64 0.13.1", "data-url", "flate2", "imagesize", "kurbo", "log", - "rctree", "roxmltree", "simplecss", "siphasher", + "svgtypes", + "usvg-tree", +] + +[[package]] +name = "usvg-tree" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ee3d202ebdb97a6215604b8f5b4d6ef9024efd623cf2e373a6416ba976ec7d3" +dependencies = [ + "rctree", "strict-num", "svgtypes", + "tiny-skia-path", ] [[package]] @@ -7500,9 +7955,9 @@ checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "utf8parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" @@ -7515,9 +7970,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.6.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" +checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" dependencies = [ "getrandom", "rand", @@ -7545,9 +8000,9 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" [[package]] name = "vergen" -version = "8.3.1" +version = "8.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e27d6bdd219887a9eadd19e1c34f32e47fa332301184935c6d9bca26f3cca525" +checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566" dependencies = [ "anyhow", "cargo_metadata", @@ -7558,23 +8013,17 @@ dependencies = [ "time", ] -[[package]] -name = "version-compare" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" - [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "waker-fn" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" +checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" [[package]] name = "walkdir" @@ -7603,11 +8052,12 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" dependencies = [ "cfg-if 1.0.0", + "once_cell", "serde", "serde_json", "wasm-bindgen-macro", @@ -7615,24 +8065,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -7642,9 +8092,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7652,113 +8102,162 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" [[package]] -name = "wayland-client" -version = "0.29.5" +name = "wayland-backend" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715" +checksum = "056535ced7a150d45159d3a8dc30f91a2e2d588ca0b23f70e56033622b8016f6" dependencies = [ - "bitflags 1.3.2", + "cc", "downcast-rs", - "libc", - "nix 0.24.3", + "rustix 0.38.37", "scoped-tls", - "wayland-commons", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-client" +version = "0.31.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3f45d1222915ef1fd2057220c1d9d9624b7654443ea35c3877f7a52bd0a5a2d" +dependencies = [ + "bitflags 2.6.0", + "rustix 0.38.37", + "wayland-backend", "wayland-scanner", - "wayland-sys 0.29.5", ] [[package]] -name = "wayland-commons" -version = "0.29.5" +name = "wayland-csd-frame" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902" +checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "nix 0.24.3", - "once_cell", - "smallvec", - "wayland-sys 0.29.5", + "bitflags 2.6.0", + "cursor-icon", + "wayland-backend", ] [[package]] name = "wayland-cursor" -version = "0.29.5" +version = "0.31.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661" +checksum = "3a94697e66e76c85923b0d28a0c251e8f0666f58fc47d316c0f4da6da75d37cb" dependencies = [ - "nix 0.24.3", + "rustix 0.38.37", "wayland-client", "xcursor", ] [[package]] name = "wayland-protocols" -version = "0.29.5" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6" +checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", + "wayland-backend", "wayland-client", - "wayland-commons", "wayland-scanner", ] [[package]] -name = "wayland-scanner" -version = "0.29.5" +name = "wayland-protocols" +version = "0.32.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53" +checksum = "2b5755d77ae9040bb872a25026555ce4cb0ae75fd923e90d25fba07d81057de0" dependencies = [ - "proc-macro2", - "quote", - "xml-rs", + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-scanner", ] [[package]] -name = "wayland-sys" -version = "0.29.5" +name = "wayland-protocols-plasma" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479" +dependencies = [ + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-protocols 0.31.2", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-wlr" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" +dependencies = [ + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-protocols 0.31.2", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-wlr" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dad87b5fd1b1d3ca2f792df8f686a2a11e3fe1077b71096f7a175ab699f89109" +dependencies = [ + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-protocols 0.32.4", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.31.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4" +checksum = "597f2001b2e5fc1121e3d5b9791d3e78f05ba6bfa4641053846248e3a13661c3" dependencies = [ - "dlib", - "lazy_static", - "pkg-config", + "proc-macro2", + "quick-xml", + "quote", ] [[package]] name = "wayland-sys" -version = "0.30.1" +version = "0.31.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06" +checksum = "efa8ac0d8e8ed3e3b5c9fc92c7881406a268e11555abe36493efabe649a29e09" dependencies = [ "dlib", - "lazy_static", "log", + "once_cell", "pkg-config", ] [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" dependencies = [ "js-sys", "wasm-bindgen", @@ -7776,21 +8275,37 @@ dependencies = [ [[package]] name = "webbrowser" -version = "0.8.15" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db67ae75a9405634f5882791678772c94ff5f16a66535aae186e26aa0841fc8b" +checksum = "425ba64c1e13b1c6e8c5d2541c8fac10022ca584f33da781db01b5756aef1f4e" dependencies = [ + "block2 0.5.1", "core-foundation", "home", "jni", "log", "ndk-context", - "objc", - "raw-window-handle", + "objc2 0.5.2", + "objc2-foundation", "url", "web-sys", ] +[[package]] +name = "webpki-roots" +version = "0.25.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" + +[[package]] +name = "webpki-roots" +version = "0.26.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bd24728e5af82c6c4ec1b66ac4844bdf8156257fccda846ec58b42cd0cdbe6a" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "which" version = "4.4.2" @@ -7800,7 +8315,7 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.34", + "rustix 0.38.37", ] [[package]] @@ -7821,11 +8336,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -7840,18 +8355,40 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ - "windows-implement", - "windows-interface", + "windows-implement 0.48.0", + "windows-interface 0.48.0", "windows-targets 0.48.5", ] +[[package]] +name = "windows" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +dependencies = [ + "windows-core 0.57.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows-core" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +dependencies = [ + "windows-implement 0.57.0", + "windows-interface 0.57.0", + "windows-result 0.1.2", + "windows-targets 0.52.6", ] [[package]] @@ -7865,6 +8402,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "windows-implement" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "windows-interface" version = "0.48.0" @@ -7876,6 +8424,56 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "windows-interface" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result 0.2.0", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result 0.2.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.45.0" @@ -7900,7 +8498,16 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", ] [[package]] @@ -7935,18 +8542,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -7963,9 +8570,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -7981,9 +8588,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -7999,15 +8606,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -8023,9 +8630,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -8041,9 +8648,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -8059,9 +8666,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -8077,42 +8684,56 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winit" -version = "0.28.7" +version = "0.29.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9596d90b45384f5281384ab204224876e8e8bf7d58366d9b795ad99aa9894b94" +checksum = "0d59ad965a635657faf09c8f062badd885748428933dad8e8bdd64064d92e5ca" dependencies = [ + "ahash", "android-activity", - "bitflags 1.3.2", - "cfg_aliases", + "atomic-waker", + "bitflags 2.6.0", + "bytemuck", + "calloop 0.12.4", + "cfg_aliases 0.1.1", "core-foundation", "core-graphics", - "dispatch", - "instant", + "cursor-icon", + "icrate", + "js-sys", "libc", "log", - "mio", + "memmap2", "ndk", - "objc2 0.3.0-beta.3.patch-leaks.3", + "ndk-sys", + "objc2 0.4.1", "once_cell", "orbclient", "percent-encoding", - "raw-window-handle", + "raw-window-handle 0.5.2", + "raw-window-handle 0.6.2", "redox_syscall 0.3.5", - "smithay-client-toolkit", + "rustix 0.38.37", + "smithay-client-toolkit 0.18.1", + "smol_str", + "unicode-segmentation", "wasm-bindgen", + "wasm-bindgen-futures", + "wayland-backend", "wayland-client", - "wayland-commons", - "wayland-protocols", - "wayland-scanner", + "wayland-protocols 0.31.2", + "wayland-protocols-plasma", "web-sys", - "windows-sys 0.45.0", + "web-time", + "windows-sys 0.48.0", "x11-dl", + "x11rb", + "xkbcommon-dl", ] [[package]] @@ -8126,28 +8747,18 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.8" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d" +checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" dependencies = [ "memchr", ] -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if 1.0.0", - "windows-sys 0.48.0", -] - [[package]] name = "workflow-chrome" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109b6289f65b3e1cdfa6f2d9e8eb454453d5763c5061350e2300473c48d91b99" +checksum = "1e0c0dfbc178cb7c3a47bd2aabf6902364d2db7e4c4f5b0dad57b75d78c6fe1f" dependencies = [ "cfg-if 1.0.0", "chrome-sys", @@ -8160,23 +8771,24 @@ dependencies = [ [[package]] name = "workflow-core" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcea01cb6122ac3f20dc14f8e4104e2c0cd9c718c17ddb3fc115f9b2ed99f9ae" +checksum = "a1d67bbe225ea90aa6979167f28935275506696ac867661e218893d3a42e1666" dependencies = [ - "async-channel 2.2.1", + "async-channel 2.3.1", "async-std", "borsh", "bs58", "cfg-if 1.0.0", "chrono", "dirs", - "faster-hex 0.9.0", + "faster-hex", "futures", "getrandom", "instant", "js-sys", "rand", + "rlimit", "serde", "serde-wasm-bindgen", "thiserror", @@ -8187,13 +8799,14 @@ dependencies = [ "wasm-bindgen-futures", "web-sys", "workflow-core-macros", + "workflow-log", ] [[package]] name = "workflow-core-macros" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe24820a62e2b544c75c000cff72781383495a0e05157ec3e29b2abafe1ca2cb" +checksum = "65659ed208b0066a9344142218abda353eb6c6cc1fc3ae4808b750c560de004b" dependencies = [ "convert_case 0.6.0", "parse-variants", @@ -8208,9 +8821,9 @@ dependencies = [ [[package]] name = "workflow-dom" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91264d4e789f23c6730c2f3adede04a24b6a9eb9797f9d4ab23de370ba04c27f" +checksum = "503bba85907753c960ddfd73b4e79bffadf521cc3c992ef2b2a29fd3af09a957" dependencies = [ "futures", "js-sys", @@ -8226,9 +8839,9 @@ dependencies = [ [[package]] name = "workflow-http" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b191def1625c3aa5e7d62d1ebbbb3e639113a4a2f122418e4cf8d3379374f8" +checksum = "a3c654c7395e448001c658309377a44a8c3d7c28c7acb30e9babbaeacb575bb0" dependencies = [ "cfg-if 1.0.0", "reqwest", @@ -8242,13 +8855,14 @@ dependencies = [ [[package]] name = "workflow-i18n" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb62e7cbafa88f8e75845a707a28acc48939aecdefd9d188fa11d8b2fe47a94" +checksum = "91542f4952afa7131b97d46c9328635c1c92478f4bc105bab815b332dd273ba2" dependencies = [ "arc-swap", "cfg-if 1.0.0", - "itertools 0.12.1", + "itertools 0.13.0", + "reqwest", "ritehash", "serde", "serde_json", @@ -8257,9 +8871,9 @@ dependencies = [ [[package]] name = "workflow-log" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "077a8f720aa45c8cd867de1ccc73e068c4084d9fea46d11be7697a108e6a00ba" +checksum = "64bf52c539193f219b7a79eb0c7c5f6c222ccf9b95c5e0bd59e924feb762256f" dependencies = [ "cfg-if 1.0.0", "console", @@ -8273,9 +8887,9 @@ dependencies = [ [[package]] name = "workflow-macro-tools" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5a8af8b8951fa0cf94df4057b8cf583e067a525d3d997370db7797f33ba201f" +checksum = "085d3045d5ca780fb589d230030e34fec962b3638d6c69806a72a7d7d1affea4" dependencies = [ "convert_case 0.6.0", "parse-variants", @@ -8286,9 +8900,9 @@ dependencies = [ [[package]] name = "workflow-node" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7748eb6c76779993ed7f4457356d6b57f48f97f9e264c64c3405098330bcb8c7" +checksum = "9b85c9add43b5da3bed3d0d6d92eb3a2c5986c0ae65c7c3f5189876c19648154" dependencies = [ "borsh", "futures", @@ -8307,11 +8921,11 @@ dependencies = [ [[package]] name = "workflow-nw" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "010fff3468303b39fb0d5d267847a3d293ed083afbf83f4184fb1a749be56010" +checksum = "a2dd8c77686e6456be8e92237daaa88ad31546974e04514a09b1a38f812530ef" dependencies = [ - "ahash 0.8.11", + "ahash", "async-trait", "borsh", "futures", @@ -8331,9 +8945,9 @@ dependencies = [ [[package]] name = "workflow-panic-hook" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71c1ed51290daf255e5fd83dfe6bd754b108e371b971afbb5c5fd1ea8fe148af" +checksum = "74c76ca8b459e4f0c949f06ce2d45565a6769748e83ca7064d36671bbd67b4da" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen", @@ -8356,11 +8970,11 @@ dependencies = [ [[package]] name = "workflow-rpc" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14784fbad27d0403fc752d835c4c4683cfc6af970a484ea83f40ce7ad6dc7745" +checksum = "ec4235eb167f0bef3bcbdf0c578823a0105ab5303115e3b2afb4d526e2498b08" dependencies = [ - "ahash 0.8.11", + "ahash", "async-std", "async-trait", "borsh", @@ -8386,9 +9000,9 @@ dependencies = [ [[package]] name = "workflow-rpc-macros" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c372e99d1336a137b907274a3c50fc195e30141c87fc6da4dba54e7d4b09b8ec" +checksum = "f048ca6b1c551f468c3c0c829f958e83dd15b20138b5466bb617ffde500e8cf4" dependencies = [ "parse-variants", "proc-macro-error", @@ -8397,17 +9011,28 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "workflow-serializer" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64679db6856852a472caff4ce869e3ecebe291fbccc9406e9643eb5951a0904a" +dependencies = [ + "ahash", + "borsh", + "serde", +] + [[package]] name = "workflow-store" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "762861614298160b9205302bec4f2b7eb45853413d10a90ad8edca44bafc324b" +checksum = "d161c4b844eee479f81306f2526266f9608a663e0a679d9fc0572ee15c144e06" dependencies = [ "async-std", - "base64 0.21.7", + "base64 0.22.1", "cfg-if 1.0.0", "chrome-sys", - "faster-hex 0.9.0", + "faster-hex", "filetime", "home", "js-sys", @@ -8427,9 +9052,9 @@ dependencies = [ [[package]] name = "workflow-task" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4023e2598734e04aa4e968a4dd1cd2b5d0c344edc38b40970926d5742f5afa0" +checksum = "3d1a90743bb4d3f68606cb4e9a78551a53399ebc35ddba981cbb56bf2b31940a" dependencies = [ "futures", "thiserror", @@ -8439,9 +9064,9 @@ dependencies = [ [[package]] name = "workflow-task-macros" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057801365ce04c520a2a694bc5bfdf1784f1a33fff97af4cd735f94eb12947b1" +checksum = "7ecf6be36b52dc1e16d11b55f717d9ec2fec5804aff7f392af591933ba4af45e" dependencies = [ "convert_case 0.6.0", "parse-variants", @@ -8455,9 +9080,9 @@ dependencies = [ [[package]] name = "workflow-terminal" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "895c236dd5cf493e01fc31733c4687b3e67032f610d594ce3b8e5cafd14eaf33" +checksum = "75b64a2ecf68442edf844c3138f0b78e1398cfe4279540f94cc51b4afb885e5b" dependencies = [ "async-std", "async-trait", @@ -8484,9 +9109,9 @@ dependencies = [ [[package]] name = "workflow-terminal-macros" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1fe67beb12d31f2e69715898aa32abd2349ffc8fe0555617f0d77500cebc56" +checksum = "7bf96dca7d1847a74d7566c5620610d1accc854032308489105b80c08ebf525f" dependencies = [ "convert_case 0.6.0", "parse-variants", @@ -8500,12 +9125,12 @@ dependencies = [ [[package]] name = "workflow-wasm" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93ffbd1de665304ba6040a1ab4e0867fd9174446491d257bc6a1474ae25d4a6c" +checksum = "799e5fbf266e0fffb5c24d6103735eb2b94bb31f93b664b91eaaf63b4f959804" dependencies = [ "cfg-if 1.0.0", - "faster-hex 0.9.0", + "faster-hex", "futures", "js-sys", "serde", @@ -8521,9 +9146,9 @@ dependencies = [ [[package]] name = "workflow-wasm-macros" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "082644f52215ecc86b4b8a20a763e482adee52c338208ade268f47fe25eb07ca" +checksum = "40237c65ecff78dbfedb13985e33f802a31f6f7de72dff12a6674fcdcf601822" dependencies = [ "js-sys", "proc-macro-error", @@ -8535,12 +9160,12 @@ dependencies = [ [[package]] name = "workflow-websocket" -version = "0.12.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6967baf2bd85deb2a014a32d34c1664ded9333e10d11d43ffc179fa09cc55db8" +checksum = "515483a047477c91b5142e1090cce0afc21a0139d9c0c06ea42f0d3dbf3a6fcd" dependencies = [ - "ahash 0.8.11", - "async-channel 2.2.1", + "ahash", + "async-channel 2.3.1", "async-std", "async-trait", "cfg-if 1.0.0", @@ -8579,8 +9204,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" dependencies = [ + "as-raw-xcb-connection", "gethostname", - "rustix 0.38.34", + "libc", + "libloading", + "once_cell", + "rustix 0.38.37", "x11rb-protocol", ] @@ -8592,31 +9221,44 @@ checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" [[package]] name = "xcursor" -version = "0.3.5" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911" +checksum = "0ef33da6b1660b4ddbfb3aef0ade110c8b8a781a3b6382fa5f2b5b040fd55f61" [[package]] name = "xdg-home" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e" +checksum = "ec1cdab258fb55c0da61328dc52c8764709b249011b2cad0454c72f0bf10a1f6" dependencies = [ "libc", - "winapi", + "windows-sys 0.59.0", ] [[package]] -name = "xml-rs" -version = "0.8.20" +name = "xkbcommon-dl" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" +dependencies = [ + "bitflags 2.6.0", + "dlib", + "log", + "once_cell", + "xkeysym", +] + +[[package]] +name = "xkeysym" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" +checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" [[package]] -name = "xmlparser" -version = "0.13.6" +name = "xml-rs" +version = "0.8.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" +checksum = "af4e2e2f7cba5a093896c1e150fbfe177d1883e7448200efb81d40b9d339ef26" [[package]] name = "xmltree" @@ -8627,11 +9269,17 @@ dependencies = [ "xml-rs", ] +[[package]] +name = "xmlwriter" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9" + [[package]] name = "xxhash-rust" -version = "0.8.10" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927da81e25be1e1a2901d59b81b37dd2efd1fc9c9345a55007f09bf5a2d3ee03" +checksum = "6a5cbf750400958819fb6178eaa83bee5cd9c29a26a40cc241df8c70fdd46984" [[package]] name = "zbus" @@ -8639,12 +9287,12 @@ version = "3.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "675d170b632a6ad49804c8cf2105d7c31eddd3312555cffd4b740e08e97c25e6" dependencies = [ - "async-broadcast", + "async-broadcast 0.5.1", "async-executor", - "async-fs", + "async-fs 1.6.0", "async-io 1.13.0", "async-lock 2.8.0", - "async-process", + "async-process 1.8.1", "async-recursion", "async-task", "async-trait", @@ -8669,9 +9317,47 @@ dependencies = [ "uds_windows", "winapi", "xdg-home", - "zbus_macros", - "zbus_names", - "zvariant", + "zbus_macros 3.15.2", + "zbus_names 2.6.1", + "zvariant 3.15.2", +] + +[[package]] +name = "zbus" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb97012beadd29e654708a0fdb4c84bc046f537aecfde2c3ee0a9e4b4d48c725" +dependencies = [ + "async-broadcast 0.7.1", + "async-executor", + "async-fs 2.1.2", + "async-io 2.3.4", + "async-lock 3.4.0", + "async-process 2.2.4", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "enumflags2", + "event-listener 5.3.1", + "futures-core", + "futures-sink", + "futures-util", + "hex", + "nix 0.29.0", + "ordered-stream", + "rand", + "serde", + "serde_repr", + "sha1", + "static_assertions", + "tracing", + "uds_windows", + "windows-sys 0.52.0", + "xdg-home", + "zbus_macros 4.4.0", + "zbus_names 3.0.0", + "zvariant 4.2.0", ] [[package]] @@ -8685,7 +9371,20 @@ dependencies = [ "quote", "regex", "syn 1.0.109", - "zvariant_utils", + "zvariant_utils 1.0.1", +] + +[[package]] +name = "zbus_macros" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "267db9407081e90bbfa46d841d3cbc60f59c0351838c4bc65199ecd79ab1983e" +dependencies = [ + "proc-macro-crate 3.2.0", + "proc-macro2", + "quote", + "syn 2.0.77", + "zvariant_utils 2.1.0", ] [[package]] @@ -8696,40 +9395,52 @@ checksum = "437d738d3750bed6ca9b8d423ccc7a8eb284f6b1d6d4e225a0e4e6258d864c8d" dependencies = [ "serde", "static_assertions", - "zvariant", + "zvariant 3.15.2", +] + +[[package]] +name = "zbus_names" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c" +dependencies = [ + "serde", + "static_assertions", + "zvariant 4.2.0", ] [[package]] name = "zerocopy" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.77", ] [[package]] name = "zeroize" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" [[package]] name = "zstd-sys" -version = "2.0.10+zstd.1.5.6" +version = "2.0.13+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" +checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" dependencies = [ "cc", "pkg-config", @@ -8746,7 +9457,21 @@ dependencies = [ "libc", "serde", "static_assertions", - "zvariant_derive", + "zvariant_derive 3.15.2", +] + +[[package]] +name = "zvariant" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2084290ab9a1c471c38fc524945837734fbf124487e105daec2bb57fd48c81fe" +dependencies = [ + "endi", + "enumflags2", + "serde", + "static_assertions", + "url", + "zvariant_derive 4.2.0", ] [[package]] @@ -8759,7 +9484,20 @@ dependencies = [ "proc-macro2", "quote", "syn 1.0.109", - "zvariant_utils", + "zvariant_utils 1.0.1", +] + +[[package]] +name = "zvariant_derive" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73e2ba546bda683a90652bac4a279bc146adad1386f25379cf73200d2002c449" +dependencies = [ + "proc-macro-crate 3.2.0", + "proc-macro2", + "quote", + "syn 2.0.77", + "zvariant_utils 2.1.0", ] [[package]] @@ -8772,3 +9510,14 @@ dependencies = [ "quote", "syn 1.0.109", ] + +[[package]] +name = "zvariant_utils" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] diff --git a/Cargo.toml b/Cargo.toml index 3e41fce..1429cde 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,8 +9,8 @@ members = [ default-members = ["app"] [workspace.package] -rust-version = "1.78.0" -version = "0.2.6" +rust-version = "1.81.0" +version = "0.3.0" authors = ["ASPECTRON Inc.","Kaspa Developers"] license = "PROPRIETARY" edition = "2021" @@ -18,9 +18,9 @@ repository = "https://github.com/aspectron/kaspa-ng" [workspace.dependencies] -kaspa-ng = { version = "0.2.3", path = "app/" } -kaspa-ng-core = { version = "0.2.3", path = "core/" } -kaspa-ng-macros = { version = "0.2.3", path = "macros/" } +kaspa-ng = { version = "0.3.0", path = "app/", default-features = false } +kaspa-ng-core = { version = "0.3.0", path = "core/", default-features = false } +kaspa-ng-macros = { version = "0.3.0", path = "macros/", default-features = false } # ___________________ # ____ ____ _ _ _ @@ -28,19 +28,51 @@ kaspa-ng-macros = { version = "0.2.3", path = "macros/" } # |___ |__] |__| | # ___________________ -egui = "=0.24.0" -epaint = "=0.24.0" -egui_plot = "=0.24.0" -egui_extras = { version = "=0.24.0", features = ["svg","image"] } -eframe = { version = "=0.24.0", default-features = false, features = [ +# egui = "=0.28.1" +# epaint = "=0.28.1" +# egui_plot = "=0.28.1" +# egui_extras = { version = "=0.28.1", features = ["svg","image"] } +# eframe = { version = "=0.28.1", default-features = false, features = [ +# "accesskit", # Make egui comptaible with screen readers. NOTE: adds a lot of dependencies. +# "default_fonts", # Embed the default egui fonts. +# "glow", # Use the glow rendering backend. Alternative: "wgpu". +# "persistence", # Enable restoring app state when restarting the app. +# ] } + +# egui-phosphor = { git = "https://github.com/aspectron/egui-phosphor", branch = "gamma", version = "=0.6.0", features = ["thin","light","regular","bold"] } +# egui-notify = { git = "https://github.com/aspectron/egui-notify", branch = "gamma"} + + +# egui = { path="../egui/crates/egui", version="=0.28.1"} +# epaint = { path="../egui/crates/epaint"} +# # epaint = "=0.28.1" +# egui_plot = "=0.28.1" +# # egui_plot = { path="../egui/crates/egui_plot"} +# egui_extras = { path="../egui/crates/egui_extras", features = ["svg","image", "serde"] } +# eframe = { path="../egui/crates/eframe", default-features = false, features = [ +# "accesskit", # Make egui comptaible with screen readers. NOTE: adds a lot of dependencies. +# "default_fonts", # Embed the default egui fonts. +# "glow", # Use the glow rendering backend. Alternative: "wgpu". +# "persistence", # Enable restoring app state when restarting the app. +# ] } +# egui-phosphor = { path = "../egui-phosphor", version = "=0.6.0", features = ["thin","light","regular","bold"] } +# egui-notify = { path = "../egui-notify" } +# egui-toast = { path = "../egui-toast" } + +egui = { git = "https://github.com/aspectron/egui", branch = "gamma"} +epaint = { git = "https://github.com/aspectron/egui", branch = "gamma"} + +egui_plot = { git = "https://github.com/aspectron/egui_plot", branch = "gamma"} +egui_extras = { git = "https://github.com/aspectron/egui", branch = "gamma", features = ["svg","image", "serde"] } +eframe = { git = "https://github.com/aspectron/egui", branch = "gamma", default-features = false, features = [ "accesskit", # Make egui comptaible with screen readers. NOTE: adds a lot of dependencies. "default_fonts", # Embed the default egui fonts. "glow", # Use the glow rendering backend. Alternative: "wgpu". "persistence", # Enable restoring app state when restarting the app. ] } -egui-phosphor = { version = "=0.3.1", features = ["thin","light","regular","bold"] } -egui-notify = "=0.11.0" -# egui-toast = "0.9.0" +egui-phosphor = { git = "https://github.com/aspectron/egui-phosphor", branch = "gamma", version = "=0.6.0", features = ["thin","light","regular","bold"] } +egui-notify = { git = "https://github.com/aspectron/egui-notify", branch = "gamma"} +# egui-toast = { git = "https://github.com/aspectron/egui-toast", branch = "omega" } # egui = { path = "../egui/crates/egui" } # egui_extras = { path = "../egui/crates/egui_extras", features = ["svg", "image"] } @@ -91,8 +123,27 @@ egui-notify = "=0.11.0" # kaspa-wallet-keys = { path = "../rusty-kaspa/wallet/keys" } # kaspa-wrpc-client = { path = "../rusty-kaspa/rpc/wrpc/client"} # kaspa-wrpc-server = { path = "../rusty-kaspa/rpc/wrpc/server" } +# kaspa-txscript = { path = "../rusty-kaspa/crypto/txscript" } # kaspad = { path = "../rusty-kaspa/kaspad" } +kaspa-addresses = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "gamma" } +kaspa-alloc = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "gamma" } +kaspa-bip32 = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "gamma" } +kaspa-cli = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "gamma" } +kaspa-consensus-core = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "gamma" } +kaspa-core = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "gamma" } +kaspa-metrics-core = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "gamma" } +kaspa-notify = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "gamma" } +kaspa-rpc-core = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "gamma" } +kaspa-rpc-service = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "gamma" } +kaspa-utils = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "gamma" } +kaspa-wallet-core = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "gamma" } +kaspa-wallet-keys = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "gamma" } +kaspa-wrpc-client = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "gamma" } +kaspa-wrpc-server = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "gamma" } +kaspa-txscript = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "gamma" } +kaspad = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "gamma" } + # kaspa-addresses = { git = "https://github.com/kaspanet/rusty-kaspa.git", branch = "master" } # kaspa-alloc = { git = "https://github.com/kaspanet/rusty-kaspa.git", branch = "master" } # kaspa-bip32 = { git = "https://github.com/kaspanet/rusty-kaspa.git", branch = "master" } @@ -109,23 +160,7 @@ egui-notify = "=0.11.0" # kaspa-wrpc-client = { git = "https://github.com/kaspanet/rusty-kaspa.git", branch = "master" } # kaspa-wrpc-server = { git = "https://github.com/kaspanet/rusty-kaspa.git", branch = "master" } # kaspad = { git = "https://github.com/kaspanet/rusty-kaspa.git", branch = "master" } - -kaspa-addresses = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "integrations" } -kaspa-alloc = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "integrations" } -kaspa-bip32 = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "integrations" } -kaspa-cli = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "integrations" } -kaspa-consensus-core = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "integrations" } -kaspa-core = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "integrations" } -kaspa-metrics-core = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "integrations" } -kaspa-notify = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "integrations" } -kaspa-rpc-core = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "integrations" } -kaspa-rpc-service = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "integrations" } -kaspa-utils = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "integrations" } -kaspa-wallet-core = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "integrations" } -kaspa-wallet-keys = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "integrations" } -kaspa-wrpc-client = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "integrations" } -kaspa-wrpc-server = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "integrations" } -kaspad = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "integrations" } +# kaspa-addresses = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "gamma" } # _________________________________________________________ # _ _ _ ____ ____ _ _ ____ _ ____ _ _ _ ____ ____ @@ -133,14 +168,14 @@ kaspad = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "integ # |_|_| |__| | \ | \_ | |___ |__| |_|_| | \ ___] # _________________________________________________________ -workflow-core = "0.12.0" -workflow-i18n = "0.12.0" -workflow-chrome = "0.12.0" -workflow-dom = "0.12.0" -workflow-http = "0.12.0" -workflow-log = "0.12.0" -workflow-store = "0.12.0" -workflow-wasm = "0.12.0" +workflow-core = "0.18.0" +workflow-i18n = "0.18.0" +workflow-chrome = "0.18.0" +workflow-dom = "0.18.0" +workflow-http = "0.18.0" +workflow-log = "0.18.0" +workflow-store = "0.18.0" +workflow-wasm = "0.18.0" # workflow-core = { path = "../workflow-rs/core" } # workflow-i18n = { path = "../workflow-rs/i18n" } @@ -166,7 +201,7 @@ workflow-wasm = "0.12.0" ahash = "0.8.6" async-trait = "0.1.73" -borsh = { version = "0.9.1", features = ["rc"] } # please keep this fixed +borsh = { version = "1.5.1", features = ["derive", "rc"] } cfg-if = "1.0.0" chrome-sys = "0.2.0" # chrome-sys = {path = "../chrome-sys"} @@ -184,14 +219,14 @@ futures-util = { version = "0.3.29", default-features = false, features = ["allo image = { version = "0.24.7", default-features = false, features = ["png"] } js-sys = "0.3.64" log = "0.4.20" -nix = "0.28.0" +nix = { version = "0.28.0", features = ["signal"]} num_cpus = "1.15.0" open = "5.0.1" pad = "0.1.6" passwords = "3.1.16" qrcode = "0.12.0" rand = "0.8.5" -rfd = "0.12.1" +rfd = "0.14.1" ritehash = "0.2.0" rlimit = "0.10.1" separator = "0.4.1" @@ -207,7 +242,7 @@ toml = "0.8.12" walkdir = "2.4.0" wasm-bindgen = "0.2.92" wasm-bindgen-futures = "0.4" -web-sys = { version = "0.3.64", features = ['Window'] } +web-sys = { version = "0.3.70", features = ['Window'] } xxhash-rust = { version = "0.8.7", features = ["xxh3"] } zeroize = { version = "1", default-features = false, features = ["alloc"] } diff --git a/README.md b/README.md index f6ba811..d143bc3 100644 --- a/README.md +++ b/README.md @@ -76,6 +76,12 @@ Kaspa NG application binary can be started in 3 ways: If you need access to the wallet in a headless environment, you can start Kaspa NG in daemon mode and then use the CLI wallet to access the wallet. +#### Solo Mining + +You can use the following stratum bridge to solo mine with Kaspa NG: https://github.com/rdugan/kaspa-stratum-bridge/releases +In order to allow for mining, you need to enable gRPC interface in the Settings panel (*'Local'* if running the stratum bridge on the same machine, *'Any'* if running the stratum bridge on a different machine). +In the stratum configuration setup kaspa_address of the machine running Kaspa NG (`127.0.0.1` if local) and use `stratum+tcp://:(5555)`. + ## License Licensed under a [PROPRIETARY MIT-style Open Source LICENSE](LICENSE) with the following restrictions: diff --git a/app/index.html b/app/index.html index 9713443..f2c534c 100644 --- a/app/index.html +++ b/app/index.html @@ -23,7 +23,6 @@ - @@ -68,8 +67,10 @@ display: block; position: absolute; top: 0%; - left: 50%; - transform: translate(-50%, 0%); + left: 0%; + /* transform: translate(-50%, 0%); */ + width:100%; + height:100%; } .centered { diff --git a/app/src/main.rs b/app/src/main.rs index 4c8ec11..b2cd3eb 100644 --- a/app/src/main.rs +++ b/app/src/main.rs @@ -13,7 +13,7 @@ cfg_if! { if #[cfg(not(target_arch = "wasm32"))] { fn main() { - + #[cfg(feature = "console")] { std::env::set_var("RUST_BACKTRACE", "full"); } @@ -27,13 +27,13 @@ cfg_if! { }; #[allow(clippy::expect_used, clippy::diverging_sub_expression)] - let result = { + //{ tokio::runtime::Builder::new_multi_thread() .enable_all() .build() .expect("Failed building the Runtime") - .block_on(body) - }; + .block_on(body); + //}; #[cfg(feature = "console")] { @@ -42,7 +42,7 @@ cfg_if! { std::io::stdin().read_line(&mut input).expect("Failed to read line"); } - result + } } else { diff --git a/check b/check index 343dff1..e48b8c2 100755 --- a/check +++ b/check @@ -5,4 +5,5 @@ cargo fmt --all # cargo clippy --workspace --all-targets --all-features -- -D warnings -W clippy::all # cargo clippy --workspace --all-targets -- -D warnings -W clippy::all # cargo clippy --workspace --all-targets -- -W clippy::all -cargo clippy --workspace --all-targets +cargo clippy --workspace +cargo clippy --workspace --target=wasm32-unknown-unknown diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md index 96064fa..df93f2b 100644 --- a/core/CHANGELOG.md +++ b/core/CHANGELOG.md @@ -1,5 +1,26 @@ # Changelog +# 0.3.0 + +- Rusty Kaspa 0.15.1 +- Add `Settings > ... > Local p2p Node .. > Public wRPC (Borsh)` to allow for external wRPC connections. +- A new priority fee estimation algorithm based on the network load (Send panel). +- Add support for legacy wallets created with [KDX](https://kdx.app) and Web Wallet at [https://wallet.kaspanet.io](https://wallet.kaspanet.io). +- The ability to choose from a list of available public nodes is no longer available (public nodes are load-balanced). +- Kaspa NG has been updated to EGUI 0.28.0, which includes various improvements and bug fixes. +- Display addresses in the transaction history panel. +- Transaction history elements are now clickable leading to the Kaspa Explorer. +- Add experimental `Passive Sync` mode that allows connecting to a public node while synchronizing the local node in the background. + +# 0.2.7 + +- Pagination in transaction history panel +- Resolve an issue with some transactions not being displayed in the correct sort order. +- Refactor public node connectivity (now using Rusty Kaspa public node resolver). +- Add `Settings > User Interface > Options > Disable Window Frame` options that allows the user to disable custom window frame. Custom window frame currently affects ability to resize KaspaNG window on the Windows operating system. + +NOTE: This release includes the underlying changes to the wRPC Borsh protocol that breaks compatibility with older versions of Kaspa nodes (all versions before `0.14.2`). This change is necessary to support future features and improvements. + # 0.2.6 - Fix an issue in WASM32 (browser) where after the wallet is loaded, even though the balance is displayed correctly, attempt to send a transaction would result in the "Insufficient funds" error. diff --git a/core/Cargo.toml b/core/Cargo.toml index 6de2916..909bd4a 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -37,6 +37,7 @@ kaspa-utils.workspace = true kaspa-wallet-core.workspace = true kaspa-wallet-keys.workspace = true kaspa-wrpc-client.workspace = true +kaspa-txscript.workspace = true workflow-core.workspace = true workflow-i18n.workspace = true @@ -91,7 +92,8 @@ eframe = { workspace = true, default-features = false, features = [ "glow", # Use the glow rendering backend. Alternative: "wgpu". "persistence", # Enable restoring app state when restarting the app. ] } -egui-phosphor = { workspace = true, features = ["thin","light","regular","bold"] } +egui-phosphor = { workspace = true, features = ["light"] } +# egui-phosphor = { workspace = true, features = ["thin","light","regular","bold"] } egui-notify.workspace = true [dependencies.web-sys] diff --git a/core/resources/Servers.toml b/core/resources/Servers.toml deleted file mode 100644 index 099c3c0..0000000 --- a/core/resources/Servers.toml +++ /dev/null @@ -1,63 +0,0 @@ - -[[server]] -name = "kaspa-ng.org" -location = "EU" -protocol = "borsh" -network = "mainnet" -address = "wss://eu-1.kaspa-ng.org/mainnet" - -[[server]] -name = "kaspa-ng.org" -location = "EU" -protocol = "borsh" -network = "testnet-10" -address = "wss://eu-1.kaspa-ng.org/testnet-10" - -[[server]] -name = "kaspa-ng.org" -location = "EU" -protocol = "borsh" -network = "testnet-11" -address = "wss://eu-1.kaspa-ng.org/testnet-11" - -[[server]] -name = "kaspa-ng.org" -location = "US" -protocol = "borsh" -network = "mainnet" -address = "wss://us-1.kaspa-ng.org/mainnet" - -[[server]] -name = "kaspa-ng.org" -location = "US" -protocol = "borsh" -network = "testnet-10" -address = "wss://us-1.kaspa-ng.org/testnet-10" - -[[server]] -name = "kaspa-ng.org" -location = "US" -protocol = "borsh" -network = "testnet-11" -address = "wss://us-1.kaspa-ng.org/testnet-11" - -[[server]] -name = "kaspa-ng.io" -location = "EU" -protocol = "borsh" -network = "mainnet" -address = "wss://eu-1.kaspa-ng.io:443/mainnet" - -[[server]] -name = "kaspa-ng.io" -location = "EU" -protocol = "borsh" -network = "testnet-10" -address = "wss://eu-1.kaspa-ng.io:443/testnet-10" - -[[server]] -name = "kaspa-ng.io" -location = "EU" -protocol = "borsh" -network = "testnet-11" -address = "wss://eu-1.kaspa-ng.io:443/testnet-11" diff --git a/core/resources/i18n/i18n.json b/core/resources/i18n/i18n.json index f46678d..77fe688 100644 --- a/core/resources/i18n/i18n.json +++ b/core/resources/i18n/i18n.json @@ -7,19 +7,27 @@ }, "enabled": [ "ar", + "bn", + "bg", "de", "en", + "el", "es", "fa", - "he", + "fi", + "fr", "hi", "id", "ja", + "ka", "ko", "nl", "pl", + "pt", + "pt_BR", "ro", "ru", + "tr", "uk", "zh" ], @@ -47,6 +55,7 @@ "is": "Icelandic", "it": "Italiano", "ja": "日本語", + "ka": "Georgian", "ko": "한국어", "lt": "Lithuanian", "mn": "Mongolian", @@ -56,6 +65,7 @@ "pa": "Panjabi", "pl": "Polish", "pt": "Português", + "pt_BR": "Português (Brazil)", "ro": "Romanian", "ru": "Русский", "sk": "Slovak", @@ -74,787 +84,1285 @@ "translations": { "af": {}, "ar": { - "1 BPS test network": "شبكة اختبار 1 BPS", - "10 BPS test network": "شبكة اختبار 10 BPS", - "12 word mnemonic": "العبارة الذهنية المكونة من 12 كلمة", - "24 word mnemonic": "العبارة الذهنية المكونة من 24 كلمة", - "24h Change": "تغير 24 ساعة", - "A binary at another location is spawned a child process (experimental, for development purposes only).": "يتم تشغيل عملية فرعية لثنائي في موقع آخر (تجريبي، لأغراض التطوير فقط).", - "A random node will be selected on startup": "سيتم اختيار عقدة عشوائية عند البدء", - "A wallet is stored in a file on your computer.": "يتم تخزين المحفظة في ملف على جهاز الكمبيوتر الخاص بك.", + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "شبكة اختبار 1 بلوك في الثانية", + "10 BPS test network": "شبكة اختبار 10 بلوكات في الثانية", + "12 word mnemonic": "12 كلمة سرية", + "24 word mnemonic": "24 كلمة سرية", + "24h Change": "التغيير خلال 24 ساعة", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "ملف ثنائي في موقع آخر يُشغَّل عملية فرعية (تجريبي، لأغراض التطوير فقط)", + "A random node will be selected on startup": "سيتم اختيار عقدة عشوائية عند بدء التشغيل", + "A wallet is stored in a file on your computer.": "يتم تخزين المحفظة في ملف على جهاز الكمبيوتر الخاص بك", "Account Index": "فهرس الحساب", "Account Name": "اسم الحساب", - "Account:": "الحساب:", - "Activate custom daemon arguments": "تفعيل وسائط الخادم المخصصة", - "Active p2p Peers": "الأقران النشطين p2p", - "Address derivation scan": "فحص استنتاج العنوان", - "Address:": "العنوان:", + "Account:": "الحساب", + "Activate custom daemon arguments": "تفعيل معلمات الخادم المخصصة", + "Active p2p Peers": "الأقران النشطة للاتصال بـ p2p", + "Address derivation scan": "فحص اشتقاق العنوان", + "Address:": "العنوان", "Advanced": "متقدم", + "Advanced Options": "Advanced Options", "All": "الكل", - "Allow custom arguments for the Rusty Kaspa daemon": "السماح بوسائط مخصصة لخادم Rusty Kaspa", - "Allows you to take screenshots from within the application": "يسمح لك بأخذ لقطات شاشة من داخل التطبيق", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "السماح بمعلمات مخصصة لخادم Rusty Kaspa", + "Allows you to take screenshots from within the application": "مسموج بلقطات شاشة من داخل التطبيق", "Apply": "تطبيق", "Balance: N/A": "الرصيد: غير متوفر", - "Bandwidth": "عرض النطاق", - "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "بسبب تركيزه على الأمان والأداء، تم تطوير هذا البرنامج بالكامل بلغة Rust، مما يتطلب وقتًا وجهدًا أكبر بشكل ملحوظ مقارنة بالبرمجيات الحديثة الأخرى المعتمدة على الويب.", - "Bezier Curves": "منحنيات بيزييه", - "Block DAG": "Block DAG", + "Bandwidth": "النطاق الترددي", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "بسبب التركيز على الأمان والأداء، تم تطوير هذا البرنامج بالكامل باستخدام لغة البرمجة Rust، مما يتطلب مزيدًا كبيرًا من الوقت والجهد مقارنة بالبرمجيات الحديثة التقليدية التي تعتمد على الويب.", + "Bezier Curves": "منحنيات بيزير", + "Block DAG": "الرسم البياني للكتل", "Block Scale": "مقياس الكتل", "Blocks": "الكتل", - "Bodies": "الأجسام", - "Borsh Active Connections": "الاتصالات النشطة لـ Borsh", - "Borsh Connection Attempts": "محاولات الاتصال لـ Borsh", - "Borsh Handshake Failures": "فشل مصافحة Borsh", + "Bodies": "الهياكل", + "Borsh Active Connections": "الاتصالات النشطة لبروتوكول Borsh", + "Borsh Connection Attempts": "محاولات الاتصال ببروتوكول Borsh", + "Borsh Handshake Failures": "فشل الاتصال ببروتوكول Borsh", "Build": "بناء", "CONNECTED": "متصل", - "CPU": "المعالج", - "Cache Memory Size": "حجم ذاكرة التخزين المؤقت", - "Cache Memory Size:": "حجم ذاكرة التخزين المؤقت:", + "CPU": "وحدة المعالجة المركزية", + "Cache Memory Size": "حجم الذاكرة المؤقتة", + "Cache Memory Size:": "حجم الذاكرة المؤقتة:", "Cancel": "إلغاء", "Cannot delete data folder while the node is running": "لا يمكن حذف مجلد البيانات أثناء تشغيل العقدة", - "Capture a screenshot": "التقاط لقطة شاشة", + "Capture a screenshot": "لقطة شاشة", "Center VSPC": "مركز VSPC", "Chain Blocks": "كتل السلسلة", "Change Address": "تغيير العنوان", - "Check for Software Updates on GitHub": "التحقق من تحديثات البرنامج على GitHub", + "Check for Software Updates on GitHub": "التحقق من تحديثات البرمجيات على GitHub", "Check for Updates": "التحقق من التحديثات", "Clear": "مسح", - "Click to try another server...": "انقر لتجربة خادم آخر...", - "Client RPC": "Client RPC", + "Click to try another server...": "انقر لمحاولة الاتصال بخادم آخر...", + "Client RPC": "عميل RPC", "Close": "إغلاق", - "Close the window": "إغلاق النافذة", + "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", "Confirm wallet password": "تأكيد كلمة مرور المحفظة", "Connect to a local node (localhost)": "الاتصال بعقدة محلية (localhost)", - "Connecting to": "جار الاتصال بـ", + "Connecting to": "الاتصال بـ", "Connection": "الاتصال", "Connections": "الاتصالات", "Connects to a Remote Rusty Kaspa Node via wRPC.": "يتصل بعقدة Rusty Kaspa البعيدة عبر wRPC.", - "Conservative": "محافظ", - "Continue": "استمرار", - "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "المساهمات الموجهة نحو هذا المشروع تدعم بشكل مباشر برمجيات Kaspa NG ونظامها البيئي.", + "Conservative": "مُحافِظ", + "Continue": "متابعة", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "المساهمات الموجهة نحو هذا المشروع تغذي مباشرة برمجيات Kaspa NG وبيئتها.", "Copied to clipboard": "تم النسخ إلى الحافظة", "Copy": "نسخ", "Copy logs to clipboard": "نسخ السجلات إلى الحافظة", "Create New Account": "إنشاء حساب جديد", "Create New Wallet": "إنشاء محفظة جديدة", + "Create Wallet": "Create Wallet", "Create new wallet": "إنشاء محفظة جديدة", - "Creating Account": "جار إنشاء الحساب", - "Creating Wallet": "جار إنشاء المحفظة", + "Creating Account": "إنشاء حساب", + "Creating Wallet": "إنشاء محفظة", "Custom": "مخصص", "Custom Public Node": "عقدة عامة مخصصة", - "Custom arguments:": "وسائط مخصصة:", - "Custom data storage folder": "مجلد تخزين البيانات المخصص", - "DAA": "DAA", - "DAA Offset": "إزاحة DAA", - "DAA Range": "نطاق DAA", - "DB Blocks": "كتل DB", - "DB Headers": "رؤوس DB", - "Data Storage": "تخزين البيانات", + "Custom arguments:": "معاملات مخصصة:", + "Custom data storage folder": "Custom data storage folder", + "DAA": "تعديل الصعوبة الديناميكي", + "DAA Offset": "تعديل الإزاحة للصعوبة الديناميكية", + "DAA Range": "نطاق الصعوبة الديناميكية", + "DB Blocks": "كتل قاعدة البيانات", + "DB Headers": "رؤوس قاعدة البيانات", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", "Database Blocks": "كتل قاعدة البيانات", "Database Headers": "رؤوس قاعدة البيانات", - "Decrypting wallet, please wait...": "جار فك تشفير المحفظة، يرجى الانتظار...", + "Decrypting wallet, please wait...": "فك تشفير المحفظة، يرجى الانتظار...", "Default": "افتراضي", "Default Account Name": "اسم الحساب الافتراضي", "Delete Data Folder": "حذف مجلد البيانات", - "Dependencies": "التبعيات", - "Derivation Indexes": "مؤشرات الاشتقاق", + "Dependencies": "الاعتماديات", + "Derivation Indexes": "مؤشرات التوليد", "Details": "التفاصيل", "Developer Mode": "وضع المطور", "Developer Resources": "موارد المطور", - "Developer mode enables advanced and experimental features": "وضع المطور يتيح الميزات المتقدمة والتجريبية", + "Developer mode enables advanced and experimental features": "يمكن لوضع المطور تمكين الميزات المتقدمة والتجريبية", "Difficulty": "الصعوبة", "Dimensions": "الأبعاد", - "Disable password score restrictions": "تعطيل قيود درجة كلمة المرور", + "Disable password safety rules": "Disable password safety rules", "Disabled": "معطل", - "Disables node connectivity (Offline Mode).": "يعطل اتصال العقدة (وضع غير متصل).", - "Discord": "Discord", - "Donations": "التبرعات", + "Disables node connectivity (Offline Mode).": "تعطيل الاتصال بالعقدة (وضع عدم الاتصال).", + "Discord": "ديسكورد", + "Donations": "تبرعات", "Double click on the graph to re-center...": "انقر نقرًا مزدوجًا على الرسم البياني لإعادة التوسيط...", "ECDSA": "ECDSA", - "Enable Market Monitor": "تفعيل مراقب السوق", - "Enable UPnP": "تفعيل UPnP", - "Enable custom daemon arguments": "تفعيل وسائط الخادم المخصصة", - "Enable experimental features": "تفعيل الميزات التجريبية", - "Enable gRPC": "تفعيل gRPC", - "Enable optional BIP39 passphrase": "تفعيل عبارة مرور BIP39 الاختيارية", - "Enable screen capture": "تفعيل التقاط الشاشة", - "Enables features currently in development": "يفعل الميزات قيد التطوير حاليًا", - "Enter": "أدخل", + "Enable Market Monitor": "تمكين مراقبة السوق", + "Enable UPnP": "تمكين UPnP", + "Enable custom daemon arguments": "تمكين معاملات الخادم المخصصة", + "Enable experimental features": "تمكين الميزات التجريبية", + "Enable gRPC": "تمكين gRPC", + "Enable optional BIP39 passphrase": "تمكين عبارة مرور BIP39 الاختيارية", + "Enable screen capture": "تمكين التقاط الشاشة", + "Enables features currently in development": "يمكن الميزات التي تم تطويرها حاليًا", + "Enter": "إدخال", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", "Enter account name (optional)": "أدخل اسم الحساب (اختياري)", "Enter first account name": "أدخل اسم الحساب الأول", - "Enter phishing hint": "أدخل تلميح الاحتيال", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "أدخل تلميح للتصيد الاحتيالي", "Enter the amount": "أدخل المبلغ", "Enter the password for your wallet": "أدخل كلمة المرور لمحفظتك", "Enter the password to unlock your wallet": "أدخل كلمة المرور لفتح محفظتك", "Enter wallet name": "أدخل اسم المحفظة", "Enter wallet password": "أدخل كلمة مرور المحفظة", "Enter your wallet secret": "أدخل سر محفظتك", - "Explorer": "المستكشف", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "مستكشف", "Export Wallet Data": "تصدير بيانات المحفظة", "Faucet": "صنبور", - "File Handles": "مقابض الملف", + "File Handles": "مقابض الملفات", "Filename:": "اسم الملف:", "Final Amount:": "المبلغ النهائي:", + "Full Screen": "Full Screen", "GitHub Release": "إصدار GitHub", - "Go to Settings": "اذهب إلى الإعدادات", - "Handles": "المقابض", - "Headers": "الرؤوس", - "IBD:": "IBD:", - "If not specified, the account will be represented by the numeric id.": "إذا لم يتم تحديده، سيتم تمثيل الحساب بالمعرف الرقمي.", - "If you are running locally, use: ": "إذا كنت تشغله محليًا، استخدم: ", - "Import existing": "استيراد موجود", - "Inbound": "وارد", - "Include QoS Priority Fees": "تضمين رسوم الأولوية لـ QoS", - "Integrated Daemon": "الخادم المدمج", - "Invalid daemon arguments": "وسائط الخادم غير صالحة", + "Go to Settings": "الذهاب للإعدادات", + "Good": "Good", + "Handles": "مقابض", + "Headers": "رؤوس", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "تحميل الكتل الأولية IBD", + "If not specified, the account will be represented by the numeric id.": "إذا لم يتم تحديد ذلك، سيتم تمثيل الحساب بواسطة معرف رقمي.", + "If you are running locally, use: ": "إذا كنت تقوم بتشغيله محليًا، استخدم:", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "استيراد الموجود", + "Importing Wallet": "Importing Wallet", + "Inbound": "الوارد", + "Include QoS Priority Fees": "تضمين الرسوم الأولوية لخدمة الجودة", + "Integrated Daemon": "Integrated Daemon", + "Invalid daemon arguments": "وسيط البرنامج غير صالح", "Invalid network type - expected: testnet-10 connected to: testnet-11": "نوع الشبكة غير صالح - المتوقع: testnet-10 متصل بـ: testnet-11", - "Invalid wRPC URL": "عنوان wRPC غير صالح", - "Json Active Connections": "الاتصالات النشطة Json", - "Json Connection Attempts": "محاولات الاتصال Json", - "Json Handshake Failures": "فشل مصافحة Json", - "Kaspa Discord": "Kaspa Discord", - "Kaspa Integration Guide": "دليل تكامل Kaspa", - "Kaspa NG": "Kaspa NG", - "Kaspa NG Online": "Kaspa NG على الإنترنت", - "Kaspa NG Web App": "تطبيق ويب Kaspa NG", - "Kaspa NG on GitHub": "Kaspa NG على GitHub", - "Kaspa NG online": "Kaspa NG على الإنترنت", - "Kaspa Network": "شبكة Kaspa", - "Kaspa Node": "عقدة Kaspa", - "Kaspa p2p Network & Node Connection": "شبكة Kaspa p2p واتصال العقدة", - "Kaspa p2p Node": "عقدة Kaspa p2p", - "Kaspa p2p Node & Connection": "عقدة Kaspa p2p والاتصال", - "Key Perf.": "أداء رئيسي.", - "Language:": "اللغة:", + "Invalid wRPC URL": "عنوان URL غير صالح لـ wRPC", + "Json Active Connections": "الاتصالات النشطة بتنسيق Json", + "Json Connection Attempts": "محاولات الاتصال بتنسيق Json", + "Json Handshake Failures": "فشل الاتصال بتنسيق Json", + "Kaspa Discord": "كاسبا ديسكورد", + "Kaspa Integration Guide": "دليل تكامل كاسبا", + "Kaspa NG": "كاسبا NG", + "Kaspa NG Online": "كاسبا NG متصل", + "Kaspa NG Web App": "تطيبق ويب كاسبا NG", + "Kaspa NG on GitHub": "كاسبا NG على GitHub", + "Kaspa NG online": "كاسبا NG متصل", + "Kaspa Network": "شبكة كاسبا", + "Kaspa Node": "عقدة كاسبا", + "Kaspa p2p Network & Node Connection": "شبكة كاسبا p2p واتصال العقدة", + "Kaspa p2p Node": "عقدة كاسبا p2p", + "Kaspa p2p Node & Connection": "عقدة كاسبا p2p واتصال", + "Key Perf.": "الأداء الرئيسي", + "Language:": "اللغة", "Large (1 BPS)": "كبير (1 BPS)", "Levels": "المستويات", "License Information": "معلومات الترخيص", "Local": "محلي", - "Local p2p Node Configuration": "تكوين عقدة p2p محلية", + "Local p2p Node Configuration": "تكوين العقدة المحلية p2p", "Logs": "السجلات", "MT": "MT", - "Main Kaspa network": "الشبكة الرئيسية Kaspa", + "Main Kaspa network": "الشبكة الرئيسية لكاسبا", "Mainnet": "الشبكة الرئيسية", - "Mainnet (Main Kaspa network)": "الشبكة الرئيسية (شبكة Kaspa الرئيسية)", - "Managed by the Rusty Kaspa daemon": "تدار بواسطة خادم Rusty Kaspa", + "Mainnet (Main Kaspa network)": "الشبكة الرئيسية (الشبكة الرئيسية لـكاسبا)", + "Managed by the Rusty Kaspa daemon": "Managed by the Rusty Kaspa daemon", "Market": "السوق", "Market Cap": "القيمة السوقية", "Market Monitor": "مراقب السوق", - "Mass Processed": "الكتلة المعالجة", - "Medium Narrow": "متوسط ضيق", - "Medium Wide": "متوسط واسع", + "Mass Processed": "معالجة الكتلة", + "Maximize window": "Maximize window", + "Medium Narrow": "Medium Narrow", + "Medium Wide": "Medium Wide", "Memory": "الذاكرة", - "Mempool": "Mempool", - "Mempool Size": "حجم Mempool", - "Metrics": "المقاييس", - "Metrics are not currently available": "المقاييس غير متوفرة حالياً", + "Mempool": "حوض المعاملات", + "Mempool Size": "حجم حوض المعاملات", + "Metrics": "مقاييس", + "Metrics are not currently available": "لا تتوفر مقاييس حاليًا", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", "NPM Modules for NodeJS": "وحدات NPM لـ NodeJS", "Network": "الشبكة", "Network Difficulty": "صعوبة الشبكة", "Network Fees:": "رسوم الشبكة:", "Network Interface": "واجهة الشبكة", "Network Peers": "أقران الشبكة", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", "No peers": "لا يوجد أقران", - "No public node selected - please select a public node": "لم يتم اختيار عقدة عامة - يرجى اختيار عقدة عامة", + "No public node selected - please select a public node": "لم يتم اختيار عقدة عامة - يرجى تحديد عقدة عامة", "No transactions": "لا توجد معاملات", "No wallets found, please create a new wallet": "لم يتم العثور على محافظ، يرجى إنشاء محفظة جديدة", "Node": "العقدة", "Node Status": "حالة العقدة", - "Noise": "الضجيج", + "Noise": "الضوضاء", "None": "لا شيء", "Not Connected": "غير متصل", "Not connected": "غير متصل", "Notifications": "الإشعارات", "Open Data Folder": "فتح مجلد البيانات", - "Opening wallet:": "جار فتح المحفظة:", + "Opening wallet:": "فتح المحفظة:", "Optional": "اختياري", "Other operations": "عمليات أخرى", - "Outbound": "صادر", + "Outbound": "الصادرة", "Overview": "نظرة عامة", - "Parents": "الوالدين", - "Past Median Time": "الوقت الأوسط الماضي", - "Payment & Recovery Password": "كلمة المرور للدفع والاسترداد", + "Parents": "الآباء", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "الوقت الوسيط السابق", + "Payment & Recovery Password": "كلمة المرور للدفع والاستعادة", "Payment Request": "طلب الدفع", "Peers": "الأقران", "Performance": "الأداء", - "Phishing Hint": "تلميح ضد الاحتيال", - "Ping:": "بينغ:", - "Please Confirm Deletion": "يرجى تأكيد الحذف", - "Please configure your Kaspa NG settings": "يرجى تكوين إعدادات Kaspa NG الخاصة بك", - "Please connect to Kaspa p2p node": "يرجى الاتصال بعقدة Kaspa p2p", - "Please create a stronger password": "يرجى إنشاء كلمة مرور أقوى", - "Please enter": "يرجى الإدخال", - "Please enter KAS amount to send": "يرجى إدخال مبلغ KAS للإرسال", - "Please enter an amount": "يرجى إدخال المبلغ", - "Please enter the account name": "يرجى إدخال اسم الحساب", - "Please enter the wallet secret": "يرجى إدخال سر المحفظة", - "Please note that this is a beta release. Until this message is removed, please avoid using the wallet with mainnet funds.": "يرجى ملاحظة أن هذا إصدار أولي. حتى يتم إزالة هذه الرسالة، يرجى تجنب استخدام المحفظة بأموال الشبكة الرئيسية.", - "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "يرجى ملاحظة، أن النسخ إلى الحافظة يحمل خطر تعريض العبارة الذهنية للبرمجيات الخبيثة.", - "Please select an account type": "يرجى اختيار نوع الحساب", - "Please select the private key to export": "يرجى اختيار المفتاح الخاص للتصدير", - "Please set node to 'Disabled' to delete the data folder": "يرجى ضبط العقدة على 'معطل' لحذف مجلد البيانات", - "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "يرجى تحديد اسم الحساب الافتراضي. سيتم إنشاء المحفظة بحساب افتراضي. بمجرد إنشائها، ستتمكن من إنشاء حسابات إضافية حسب الحاجة.", - "Please specify the name of the new wallet": "يرجى تحديد اسم المحفظة الجديدة", - "Please specify the private key type for the new wallet": "يرجى تحديد نوع المفتاح الخاص للمحفظة الجديدة", - "Please wait for the node to sync or connect to a remote node.": "يرجى الانتظار حتى يتم مزامنة العقدة أو الاتصال بعقدة بعيدة.", - "Please wait for the node to sync...": "يرجى الانتظار حتى تتم مزامنة العقدة...", - "Please wait...": "يرجى الانتظار...", + "Phishing Hint": "تلميح الاحتيال", + "Ping:": "Ping:", + "Please Confirm Deletion": "الرجاء تأكيد الحذف", + "Please configure your Kaspa NG settings": "الرجاء تكوين إعدادات كاسبا NG الخاصة بك", + "Please connect to Kaspa p2p node": "الرجاء الاتصال بعقدة كاسبا p2p", + "Please create a stronger password": "الرجاء إنشاء كلمة مرور أقوى", + "Please enter": "الرجاء إدخال", + "Please enter KAS amount to send": "الرجاء إدخال مبلغ KAS لإرساله", + "Please enter additional": "Please enter additional", + "Please enter an amount": "الرجاء إدخال مبلغ", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "الرجاء إدخال اسم الحساب", + "Please enter the wallet secret": "الرجاء إدخال كلمة سر المحفظة", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "الرجاء ملاحظة أن هذا إصدار ألفا. حتى يتم إزالة هذه الرسالة، يرجى تجنب استخدام المحفظة مع الأموال في الشبكة الرئيسية.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "الرجاء ملاحظة أن نسخ المفتاح إلى الحافظة يحمل مخاطر كشف مفتاح الذاكرة إلى البرمجيات الخبيثة.", + "Please select an account type": "الرجاء تحديد نوع الحساب", + "Please select the private key to export": "الرجاء تحديد المفتاح الخاص الذي يتم تصديره", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "الرجاء تعيين العقدة على 'تعطيل' لحذف مجلد البيانات", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "الرجاء تحديد اسم الحساب الافتراضي. سيتم إنشاء المحفظة مع حساب افتراضي. بمجرد الإنشاء، ستتمكن من إنشاء حسابات إضافية حسب الحاجة.", + "Please specify the name of the new wallet": "الرجاء تحديد اسم المحفظة الجديدة", + "Please specify the private key type for the new wallet": "الرجاء تحديد نوع المفتاح الخاص للمحفظة الجديدة", + "Please wait for the node to sync or connect to a remote node.": "الرجاء الانتظار حتى يتم مزامنة العقدة أو الاتصال بعقدة بعيدة.", + "Please wait for the node to sync...": "الرجاء الانتظار حتى يتم مزامنة العقدة...", + "Please wait...": "الرجاء الانتظار...", "Presets": "الإعدادات المسبقة", "Price": "السعر", - "Private Key Mnemonic": "العبارة الذهنية للمفتاح الخاص", - "Processed Bodies": "الأجسام المعالجة", - "Processed Dependencies": "التبعيات المعالجة", + "Private Key Mnemonic": "مفتاح سري خاص", + "Processed Bodies": "الجسم المعالج", + "Processed Dependencies": "الاعتماديات المعالجة", "Processed Headers": "الرؤوس المعالجة", "Processed Mass Counts": "عدد الكتل المعالجة", "Processed Transactions": "المعاملات المعالجة", "Protocol:": "البروتوكول:", - "Public Node": "العقدة العامة", + "Public Node": "عقدة عامة", "Public Nodes": "العقد العامة", - "Public Server": "الخادم العام", - "Public p2p Nodes for": "عقد p2p العامة لـ", + "Public Server": "خادم عام", + "Public p2p Nodes for": "العقد العامة ل p2p", "Random Public Node": "عقدة عامة عشوائية", - "Range:": "النطاق:", + "Range:": "نطاق:", "Receive Address": "عنوان الاستلام", - "Recommended arguments for the remote node: ": "الوسائط الموصى بها للعقدة البعيدة: ", - "Redistributables": "قابلة لإعادة التوزيع", + "Recommended arguments for the remote node: ": "الوسائط الموصى بها للعقدة البعيدة:", + "Redistributables": "Redistributables", "Remote": "بعيد", - "Remote Connection:": "الاتصال البعيد:", - "Remote p2p Node Configuration": "تكوين عقدة p2p بعيدة", - "Removes security restrictions, allows for single-letter passwords": "يزيل قيود الأمان، يسمح بكلمات مرور من حرف واحد", - "Reset Settings": "إعادة تعيين الإعدادات", - "Reset VSPC": "إعادة تعيين VSPC", - "Resident Memory": "الذاكرة المقيمة", + "Remote Connection:": "اتصال بعيد:", + "Remote p2p Node Configuration": "تكوين عقدة p2p البعيدة", + "Removes security restrictions, allows for single-letter passwords": "ازالة القيود الأمنية، يسمح بكلمات المرور من حرف واحد", + "Reset Settings": "إعادة ضبط الإعدادات", + "Reset VSPC": "إعادة ضبط VSPC", + "Resident Memory": "الذاكرة الدائمة", "Resources": "الموارد", - "Resulting daemon arguments:": "الوسائط الناتجة للخادم:", - "Rust Wallet SDK": "Rust Wallet SDK", - "Rusty Kaspa on GitHub": "Rusty Kaspa على GitHub", - "Secret is too weak": "السر ضعيف للغاية", - "Secret score:": "درجة السرية:", - "Select Account": "اختر حساب", + "Resulting daemon arguments:": "Resulting daemon arguments:", + "Rust Wallet SDK": "مجموعة أدوات تطوير المحفظة بلغة Rust", + "Rusty Kaspa on GitHub": "كاسبا Rusty على GitHub", + "Secret is too weak": "كلمة السر ضيفة جداً", + "Secret score:": "تقييم كلمة السر", + "Select Account": "اختر الحساب", "Select Available Server": "اختر الخادم المتاح", "Select Private Key Type": "اختر نوع المفتاح الخاص", "Select Public Node": "اختر العقدة العامة", "Select Wallet": "اختر المحفظة", "Select a wallet to unlock": "اختر محفظة لفتحها", + "Select this option if your wallet was created": "Select this option if your wallet was created", "Send": "إرسال", "Services": "الخدمات", "Settings": "الإعدادات", - "Show DAA": "عرض DAA", - "Show Grid": "عرض الشبكة", + "Show DAA": "عرض خوارزمية التكيف مع الصعوبة", + "Show Grid": "عرض شبكي", "Show VSPC": "عرض VSPC", - "Show balances in alternate currencies for testnet coins": "عرض الرصيد بعملات بديلة لعملات شبكة الاختبار", + "Show balances in alternate currencies for testnet coins": "عرض الأرصدة بالعملات البديلة لعملات الشبكة التجريبية", + "Show passphrase": "Show passphrase", "Show password": "عرض كلمة المرور", - "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "يعرض الأرصدة بعملات بديلة (BTC, USD) عند استخدام عملات الشبكة التجريبية كما لو كنت في الشبكة الرئيسية", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "إعرض الأرصدة بالعملات البديلة (BTC، USD) عند استخدام عملات الشبكة التجريبية كما لو كنت على الشبكة الرئيسية", "Skip": "تخطي", "Small (10 BPS)": "صغير (10 BPS)", - "Spread": "الانتشار", + "Spread": "توزيع", "Stage": "المرحلة", - "Starting...": "جار البدء...", + "Starting...": "جاري البدء...", "Statistics": "الإحصائيات", - "Stor Read": "قراءة التخزين", - "Stor Write": "كتابة التخزين", + "Stor Read": "قراءة Stor", + "Stor Write": "كتابة Stor", "Storage": "التخزين", "Storage Read": "قراءة التخزين", - "Storage Read/s": "قراءة التخزين/ثانية", + "Storage Read/s": "قراءة التخزين/ث", "Storage Write": "كتابة التخزين", - "Storage Write/s": "كتابة التخزين/ثانية", + "Storage Write/s": "كتابة التخزين/ث", + "Strong": "Strong", "Submitted Blocks": "الكتل المقدمة", - "Supporting Kaspa NG development": "دعم تطوير Kaspa NG", + "Supporting Kaspa NG development": "دعم تطوير كاسبا NG", "Syncing Cryptographic Proof...": "مزامنة البرهان التشفيري...", "Syncing DAG Blocks...": "مزامنة كتل DAG...", "Syncing Headers...": "مزامنة الرؤوس...", - "Syncing UTXO entries...": "مزامنة إدخالات UTXO...", - "Syncing...": "جار المزامنة...", + "Syncing UTXO entries...": "مزامنة مدخلات UTXO...", + "Syncing...": "جاري المزامنة...", "System": "النظام", - "TPS": "المعاملات في الثانية", - "Testnet 10": "شبكة اختبار 10", - "Testnet 10 (1 BPS)": "شبكة اختبار 10 (1 BPS)", - "Testnet 11": "شبكة اختبار 11", - "Testnet 11 (10 BPS)": "شبكة اختبار 11 (10 BPS)", - "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "شبكة الاختبار 11 لم تُفعل بعد للاختبار العام. يمكنك، مع ذلك، تكوين العقدة للاتصال بشبكة الاختبار الخاصة بالمطورين من خلال لوحة الإعدادات.", - "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "يمثل برنامج Kaspa NG جهدًا مستمرًا يركز على بناء منصة برمجيات حديثة مخصصة لشبكة العملة المشفرة Kaspa BlockDAG. يعطي هذا البرنامج الأولوية للأمان والخصوصية والأداء واللامركزية، وهو أيديولوجي في جوهره.", - "The balance may be out of date during node sync": "قد يكون الرصيد غير محدث أثناء مزامنة العقدة", - "The following will guide you through the process of creating or importing a wallet.": "سيوجهك ما يلي خلال عملية إنشاء أو استيراد محفظة.", - "The node is currently syncing with the Kaspa p2p network.": "العقدة تتزامن حاليًا مع شبكة Kaspa p2p.", - "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "العقدة تتزامن حاليًا مع شبكة Kaspa p2p. قد يكون رصيد الحساب غير محدث.", - "The node is spawned as a child daemon process (recommended).": "تم إنشاء العقدة كعملية خادم فرعية (موصى به).", - "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "تعمل العقدة كجزء من عملية تطبيق Kaspa-NG. هذا يقلل من النفقات العامة للتواصل (تجريبي).", - "Theme Color": "لون الثيم", - "Theme Color:": "لون الثيم:", - "Theme Style": "أسلوب الثيم", - "Theme Style:": "أسلوب الثيم:", - "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "لن تطلب منك هذه المحفظة عبارتك الذهنية إلا إذا بدأت يدويًا في استعادة المفتاح الخاص.", - "Threshold": "العتبة", - "Time Offset:": "الفارق الزمني:", - "Tip Hashes": "هاشات القمة", + "TPS": "العمليات في الثانية", + "Testnet 10": "الشبكة التجريبية 10", + "Testnet 10 (1 BPS)": "الشبكة التجريبية 10 (1 BPS)", + "Testnet 11": "الشبكة التجريبية 11", + "Testnet 11 (10 BPS)": "الشبكة التجريبية 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "الشبكة التجريبية 11 لم تُمكّن بعد للاختبار العام. ومع ذلك، يمكنك تكوين العقدة للاتصال بالشبكة التجريبية الخاصة بالمطورين في لوحة الإعدادات.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "يمثل برنامج كاسبا NG جهودًا مستمرة تركز على بناء منصة برمجية متطورة مخصصة لشبكة العملات الرقمية كاسبا BlockDAG. في جوهرها، هذا البرنامج يعطي الأولوية للأمان والخصوصية والأداء واللامركزية.", + "The balance may be out of date during node sync": "قد تكون الأرصدة غير محدثة أثناء مزامنة العقدة", + "The following will guide you through the process of creating or importing a wallet.": "التالي سيوجّهك خلال عملية إنشاء أو استيراد محفظة.", + "The node is currently syncing with the Kaspa p2p network.": "العقدة تقوم حاليًا بالمزامنة مع شبكة كاسبا p2p.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "العقدة تقوم حاليًا بالمزامنة مع شبكة كاسبا p2p. قد تكون الأرصدة غير محدثة.", + "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "العقدة تعمل كجزء من عملية تطبيق كاسبا-NG. هذا يقلل من العبء التواصلي (تجريبي).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "لون السمة", + "Theme Color:": "لون السمة:", + "Theme Style": "نمط السمة", + "Theme Style:": "نمط السمة:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "لن تطلب هذه المحفظة منك أبدًا هذه العبارة السرية إلا إذا قمت ببدء استعادة المفتاح الخاص يدويًا.", + "Threshold": "الحد الأدنى", + "Time Offset:": "الانحراف الزمني:", + "Tip Hashes": "تلميح التجزئة", "Tools ⏷": "أدوات ⏷", - "Total Rx": "إجمالي الاستقبال", - "Total Rx/s": "إجمالي الاستقبال/ثانية", - "Total Tx": "إجمالي الإرسال", - "Total Tx/s": "إجمالي الإرسال/ثانية", - "Track in the background": "التتبع في الخلفية", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "تتبع في الخلفية", "Transactions": "المعاملات", "Transactions:": "المعاملات:", "Type": "النوع", "UTXO Manager": "مدير UTXO", "UTXOs": "UTXOs", "UTXOs:": "UTXOs:", - "Unable to change node settings until the problem is resolved": "لا يمكن تغيير إعدادات العقدة حتى يتم حل المشكلة", - "Unlock": "فتح القفل", - "Unlock Wallet": "فتح قفل المحفظة", - "Unlocking": "جار فتح القفل", + "Unable to change node settings until the problem is resolved": "تعذّر تغيير إعدادات العقدة حتى يتم حل المشكلة", + "Unlock": "فتح", + "Unlock Wallet": "فتح المحفظة", + "Unlocking": "جاري الفتح", "Update Available to version": "التحديث متاح للإصدار", - "Updating...": "جار التحديث...", + "Updating...": "جاري التحديث...", "Uptime:": "زمن التشغيل:", - "Use 50%-75% of available system memory": "استخدم 50%-75% من ذاكرة النظام المتاحة", - "Use all available system memory": "استخدم كل ذاكرة النظام المتاحة", + "Use 50%-75% of available system memory": "Use 50%-75% of available system memory", + "Use all available system memory": "استخدام كل ذاكرة النظام المتاحة", "User Agent": "وكيل المستخدم", "User Interface": "واجهة المستخدم", - "Very dangerous (may be cracked within few seconds)": "خطير جدًا (قد يتم اختراقه خلال بضع ثوان)", - "Virt Parents": "الوالدين الافتراضيين", - "Virtual DAA Score": "درجة DAA الافتراضية", - "Virtual Memory": "الذاكرة الافتراضية", - "Virtual Parent Hashes": "هاشات الوالدين الافتراضيين", + "Very dangerous (may be cracked within few seconds)": "خطير للغاية (قد يتم اختراقه في ثواني قليلة)", + "Very weak": "Very weak", + "Virt Parents": "الآباء الافتراضيون", + "Virtual DAA Score": "تيجة DAA الافتراضية", + "Virtual Memory": "الذاكرة الظاهرية", + "Virtual Parent Hashes": "Virtual Parent Hashes", "Volume": "الحجم", - "WASM SDK for JavaScript and TypeScript": "WASM SDK لـ JavaScript و TypeScript", + "WASM SDK for JavaScript and TypeScript": "مجموعة أدوات تطوير WASM لـ JavaScript و TypeScript", "Wallet": "المحفظة", "Wallet Created": "تم إنشاء المحفظة", "Wallet Encryption Password": "كلمة مرور تشفير المحفظة", "Wallet Name": "اسم المحفظة", - "Wallet Secret": "سر المحفظة", - "Wallet password is used to encrypt your wallet data.": "تُستخدم كلمة مرور المحفظة لتشفير بيانات محفظتك.", + "Wallet Secret": "كلمة سر المحفظة", + "Wallet password is used to encrypt your wallet data.": "كلمة مرور المحفظة تُستخدم لتشفير بيانات المحفظة.", + "Wallet with this name already exists": "Wallet with this name already exists", "Wallet:": "المحفظة:", - "We greatly appreciate your help in backing our efforts.": "نقدر كثيرًا مساعدتك في دعم جهودنا.", - "Welcome to Kaspa NG": "مرحبًا بك في Kaspa NG", + "We greatly appreciate your help in backing our efforts.": "نحن نقدر تقديرًا كبيرًا مساعدتك في دعم جهودنا.", + "Weak": "Weak", + "Welcome to Kaspa NG": "مرحبًا بك في كاسبا NG", "Xpub Keys": "مفاتيح Xpub", - "You are currently not connected to the Kaspa node.": "أنت حاليًا غير متصل بعقدة Kaspa.", - "You can configure remote connection in Settings": "يمكنك تكوين اتصال بعيد في الإعدادات", - "You can create multiple wallets, but only one wallet can be open at a time.": "يمكنك إنشاء محافظ متعددة، لكن يمكن فتح محفظة واحدة فقط في وقت واحد.", - "You must be connected to a node...": "يجب أن تكون متصلًا بعقدة...", - "Your default wallet private key mnemonic is:": "العبارة الذهنية لمفتاح محفظتك الافتراضية الخاص هي:", - "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "تتيح لك العبارة الذهنية إعادة إنشاء مفتاحك الخاص. الشخص الذي لديه الوصول إلى هذه العبارة الذهنية سيكون لديه السيطرة الكاملة على Kaspa المخزنة فيها. احفظ عبارتك الذهنية بأمان. اكتبها واحفظها في مكان آمن، يفضل أن يكون مقاومًا للحريق. لا تخزن عبارتك الذهنية على هذا الكمبيوتر أو جهاز محمول. لن تطلب منك هذه المحفظة عبارتك الذهنية إلا إذا بدأت يدويًا في استعادة المفتاح الخاص.", - "Your private key mnemonic is:": "العبارة الذهنية لمفتاحك الخاص هي:", + "You are currently not connected to the Kaspa node.": "انت غير متصل بعقدة كاسبا.", + "You can configure remote connection in Settings": "يمكنك تكوين الاتصال عن بُعد في الإعدادات", + "You can create multiple wallets, but only one wallet can be open at a time.": "يمكنك إنشاء محافظ متعددة، ولكن يمكن فتح محفظة واحدة فقط في نفس الوقت.", + "You must be connected to a node...": "يجب أن تكون متصلاً بعقدة...", + "Your default wallet private key mnemonic is:": "العبارة السرية الخاصة بمفتاح محفظتك الافتراضي هي:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Your private key mnemonic is:": "العبارة السرية لمفتاحك الخاص هي:", "Your wallet has been created and is ready to use.": "تم إنشاء محفظتك وهي جاهزة للاستخدام.", - "Zoom": "تكبير", - "amount to send": "المبلغ للإرسال", - "bye!": "وداعًا!", - "gRPC Network Interface & Port": "واجهة شبكة gRPC والمنفذ", - "gRPC Rx": "استقبال gRPC", - "gRPC Rx/s": "gRPC استقبال/ثانية", - "gRPC Tx": "gRPC إرسال", - "gRPC Tx/s": "gRPC إرسال/ثانية", + "Zoom": "التكبير", + "amount to send": "المبلغ المراد إرساله", + "bye!": "وداعاً!", + "gRPC Network Interface & Port": "واجهة ومنفذ شبكة gRPC", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", "of": "من", "p2p RPC": "p2p RPC", - "p2p Rx": "p2p استقبال", - "p2p Rx/s": "p2p استقبال/ثانية", - "p2p Tx": "p2p إرسال", - "p2p Tx/s": "p2p إرسال/ثانية", - "peer": "نظير", - "peers": "أقران", - "wRPC Borsh Rx": "wRPC Borsh استقبال", - "wRPC Borsh Rx/s": "wRPC Borsh استقبال/ثانية", - "wRPC Borsh Tx": "wRPC Borsh إرسال", - "wRPC Borsh Tx/s": "wRPC Borsh إرسال/ثانية", - "wRPC Connection Settings": "إعدادات اتصال wRPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "قرين", + "peers": "الأقران", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "إعدادات إتصال wRPC", "wRPC Encoding:": "ترميز wRPC:", - "wRPC JSON Rx": "wRPC JSON استقبال", - "wRPC JSON Rx/s": "wRPC JSON استقبال/ثانية", - "wRPC JSON Tx": "wRPC JSON إرسال", - "wRPC JSON Tx/s": "wRPC JSON إرسال/ثانية", - "wRPC URL:": "wRPC العنوان:" + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "عنوان wRPC:", + "words": "words" }, - "bg": {}, - "bn": {}, - "cs": {}, - "da": {}, - "de": { - "1 BPS test network": "1 BPS Testnetz", - "10 BPS test network": "10 BPS test network", - "12 word mnemonic": "12-Wort Merktext", - "24 word mnemonic": "24-Wort Merkspruch", - "24h Change": "24h Marktpreisänderung", - "A binary at another location is spawned a child process (experimental, for development purposes only).": "Ein Programm an einer anderen Lokation hat einen Kind-Prozess gestartet (experimentell, nur für Entwickler).", - "A random node will be selected on startup": "Beim Start wird ein zufälliger Knoten ausgewählt", - "A wallet is stored in a file on your computer.": "Das Wallet wird in einer Datei auf Ihrem Computer abgespeichert.", - "Account Index": "Kontoindex", - "Account Name": "Kontoname", - "Account:": "Konto:", - "Activate custom daemon arguments": "Erweiterte Dienst-Argumente aktivieren", - "Active p2p Peers": "Aktive p2p-Verbindungen", - "Address derivation scan": "Abgeleitete Adressen suchen", - "Address:": "Adresse:", - "Advanced": "Erweitert", - "All": "Alle", - "Allow custom arguments for the Rusty Kaspa daemon": "Erlaube zusätzliche Argumente für den Rusty Kaspa Dienst", - "Allows you to take screenshots from within the application": "Ermöglicht es, innerhalb der Applikation Bildschirmfotos anzufertigen", - "Apply": "Anwenden", - "Balance: N/A": "Kontostand: N/A", - "Bandwidth": "Bandbreite", - "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Durch den Fokus auf Sicherheit und Leistung, wurde diese Software vollständig in Rust entwickelt, was einen signifikant höheren Einsatz und Zeitaufwand gegenüber herkömmlicher, Web-basierter Software bedeutet.", - "Bezier Curves": "Bezier-Kurven", + "bg": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS тестова мрежа", + "10 BPS test network": "10 BPS тестова мрежа", + "12 word mnemonic": "Мнемонична фраза от 12 думи", + "24 word mnemonic": "Мнемонична фраза от 24 думи", + "24h Change": "24 ч. промяна", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "Бинарен файл на друго място се стартира като дъщерен процес (експериментално, само за разработка).", + "A random node will be selected on startup": "Ще бъде избран нод на случаен принцип при стартиране", + "A wallet is stored in a file on your computer.": "Портфейлът се съхранява във файл на вашия компютър.", + "Account Index": "Индекс на акаунта", + "Account Name": "Име на акаунта", + "Account:": "Акаунт:", + "Activate custom daemon arguments": "Активиране на персонализирани аргументи на daemon", + "Active p2p Peers": "Активни p2p връзки", + "Address derivation scan": "Сканиране за извличане на адреси", + "Address:": "Адрес:", + "Advanced": "Разширени", + "Advanced Options": "Advanced Options", + "All": "Всички", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Позволете персонализирани аргументи на Rusty Kaspa daemon", + "Allows you to take screenshots from within the application": "Позволява ви да правите снимки на екрана от самото приложение", + "Apply": "Приложи", + "Balance: N/A": "Баланс: недостъпен", + "Bandwidth": "Bandwidth", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Поради фокуса си към сигурността и производителността, този софтуер е напълно разработен на Rust и изисква значително повече време и усилия в сравнение с други традиционни съвременни уеб-базирани софтуери.", + "Bezier Curves": "Криви на Безие", "Block DAG": "Block DAG", - "Block Scale": "Block-Skalierung", - "Blocks": "Blöcke", - "Bodies": "Inhalt", - "Borsh Active Connections": "Aktive Borsh-Verbindungen", - "Borsh Connection Attempts": "Borsh Verbindungsversuche", - "Borsh Handshake Failures": "Borsh Handshake-Fehler", - "Build": "Bauen", - "CONNECTED": "VERBUNDEN", + "Block Scale": "Мащаб на блока", + "Blocks": "Блокове", + "Bodies": "Тела", + "Borsh Active Connections": "Borsh активни връзки", + "Borsh Connection Attempts": "Borsh опити за връзка", + "Borsh Handshake Failures": "Borsh грешка при ръкостискането", + "Build": "Версия", + "CONNECTED": "СВЪРЗАН", "CPU": "CPU", - "Cache Memory Size": "Grösse Zwischenspeicher", - "Cache Memory Size:": "Grösse des Cache-Speichers:", - "Cancel": "Abbrechen", - "Cannot delete data folder while the node is running": "Datenverzeichnis kann nicht gelöscht werden, solange der Knoten läuft", - "Capture a screenshot": "Bildschirmfoto anlegen", - "Center VSPC": "Zentriere VSPC", - "Chain Blocks": "Blockkette", - "Change Address": "Adresse wechseln", - "Check for Software Updates on GitHub": "GitHub auf Updates überprüfen", - "Check for Updates": "Auf Aktualisierungen prüfen", - "Clear": "Löschen", - "Click to try another server...": "Versuche anderen Server...", - "Client RPC": "Client RPC", - "Close": "Schliessen", - "Confirm wallet password": "Wallet-Passwort bestätigen", - "Connect to a local node (localhost)": "Zu einem lokalen Knoten (localhost) verbinden", - "Connecting to": "Verbinde zu", - "Connection": "Verbindung", - "Connections": "Verbindungen", - "Connects to a Remote Rusty Kaspa Node via wRPC.": "Verbindet zu einem entfernten Rusty Kaspa Knoten via wRPC.", - "Conservative": "Zurückhaltend", - "Continue": "Weiter", - "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Spenden an das Projekt fliessen direkt in die Weiterentwicklung von Kaspa NG sowie dessen Ökosystem.", - "Copied to clipboard": "In die Zwischenablage kopiert", - "Copy": "Kopieren", - "Copy logs to clipboard": "Logs in die Zwischenablage kopieren", - "Create New Account": "Neues Konto anlegen", - "Create New Wallet": "Neues Wallet anlegen", - "Create new wallet": "Neues Wallet anlegen", - "Creating Account": "Lege Konto an", - "Creating Wallet": "Lege Wallet an", - "Custom": "Individuell", - "Custom Public Node": "Individueller öffentlicher Knoten", - "Custom arguments:": "Zusätzliche Argumente:", + "Cache Memory Size": "Размер на кеш паметта", + "Cache Memory Size:": "Размер на кеш паметта:", + "Cancel": "Отказ", + "Cannot delete data folder while the node is running": "Не може да се изтрие папката с данни, докато нода работи.", + "Capture a screenshot": "Заснемане на екрана", + "Center VSPC": "Центрирай VSPC", + "Chain Blocks": "Верижни блокове", + "Change Address": "Адрес за ресто", + "Check for Software Updates on GitHub": "Проверка за софтуерни актуализации в GitHub", + "Check for Updates": "Проверка за обновления", + "Clear": "Изчисти", + "Click to try another server...": "Натисни, за да опиташ с друг сървър...", + "Client RPC": "Клиент RPC", + "Close": "Затвори", + "Close the window": "Затвори прозореца", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Потвърди паролата на портфейла", + "Connect to a local node (localhost)": "Свържи се към локален нод (localhost)", + "Connecting to": "Свързване с", + "Connection": "Връзка", + "Connections": "Връзки", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Свързва се с отдалечен Rusty Kaspa нод чрез wRPC.", + "Conservative": "Консервативно", + "Continue": "Продължи", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Средствата, насочени към този проект, директно подкрепят софтуера Kaspa NG и неговата екосистема.", + "Copied to clipboard": "Копирано в клипборда", + "Copy": "Копирай", + "Copy logs to clipboard": "Копирайте логовете в клипборда", + "Create New Account": "Създай нов акаунт", + "Create New Wallet": "Създай нов портфейл", + "Create Wallet": "Create Wallet", + "Create new wallet": "Създай нов портфейл", + "Creating Account": "Създаване на акаунта", + "Creating Wallet": "Създаване на портфейла", + "Custom": "Персонализиран", + "Custom Public Node": "Персонализиран публичен нод", + "Custom arguments:": "Персонализирани аргументи:", + "Custom data storage folder": "Персонализирана папка за данни", "DAA": "DAA", - "DAA Offset": "DAA Offset", - "DAA Range": "DAA-Bereich", - "DB Blocks": "Datenbankblöcke", - "DB Headers": "DB Headers", - "Database Blocks": "Datenbankblöcke", - "Database Headers": "Datenbank Kopfzeilen", - "Decrypting wallet, please wait...": "Entschlüssele Wallet, bitte warten...", - "Default": "Standard", - "Default Account Name": "Name Standardkonto", - "Delete Data Folder": "Datenordner löschen", - "Dependencies": "Abhängigkeiten", - "Derivation Indexes": "Herleitungsindexe", - "Details": "Details", - "Developer Mode": "Entwicklermodus", - "Developer Resources": "Entwickler-Resourcen", - "Developer mode enables advanced and experimental features": "Entwicklermodus aktiviert erweiterte und experimentelle Funktionen", - "Difficulty": "Schwierigkeitsgrad", - "Dimensions": "Abmessungen", - "Disable password score restrictions": "Passwort Stärkerestriktionen abschalten", - "Disabled": "Deaktiviert", - "Disables node connectivity (Offline Mode).": "Schaltet die Verbindung des Knotens ab (Offline-Modus).", + "DAA Offset": "DAA Офсет", + "DAA Range": "DAA Диапазон", + "DB Blocks": "DB Блокове", + "DB Headers": "DB Хедъри", + "Dangerous": "Dangerous", + "Data Storage": "Съхранение на данни", + "Database Blocks": "Блокове на база данни", + "Database Headers": "Хедъри на база данни", + "Decrypting wallet, please wait...": "Декриптиране на портфейла, моля, изчакайте...", + "Default": "По подразбиране", + "Default Account Name": "Име на акаунта по подразбиране", + "Delete Data Folder": "Изтрийте папката с данни", + "Dependencies": "Зависимости", + "Derivation Indexes": "Деривационни индекси", + "Details": "Детайли", + "Developer Mode": "Режим за разработчици", + "Developer Resources": "Ресурси за разработчици", + "Developer mode enables advanced and experimental features": "Режимът за разработчици позволява разширени и експериментални функции", + "Difficulty": "Трудност", + "Dimensions": "Размери", + "Disable password safety rules": "Деакт. на правилата за безопасност на паролата", + "Disabled": "Изключено", + "Disables node connectivity (Offline Mode).": "Изключва свързаността на нода (офлайн режим).", "Discord": "Discord", - "Donations": "Spenden", - "Double click on the graph to re-center...": "Im Graph doppelklicken, um zu zentrieren...", + "Donations": "Дарения", + "Double click on the graph to re-center...": "Кликнете двукратно върху графиката, за да я центрирате...", "ECDSA": "ECDSA", - "Enable Market Monitor": "Markt-Monitor einschalten", - "Enable UPnP": "UPnP aktivieren", - "Enable custom daemon arguments": "Individuelle Argumente des Dienstes aktivieren", - "Enable experimental features": "Experimentelle Funktionen aktivieren", - "Enable gRPC": "gRPC aktivieren", - "Enable optional BIP39 passphrase": "Optionales BIP39-Passwort aktivieren", - "Enable screen capture": "Bildschirmfotos ermöglichen", - "Enables features currently in development": "Schaltet Funktionen frei, welche sich noch in Entwicklung befinden", - "Enter": "Bestätige", - "Enter account name (optional)": "Bitte Kontoname eingeben (optional)", - "Enter first account name": "Name des ersten Kontos eingeben", - "Enter phishing hint": "Bitte Phishing-Hinweis eingeben", - "Enter the amount": "Bitte Betrag eingeben", - "Enter the password for your wallet": "Bitte Wallet-Passwort eingeben", - "Enter the password to unlock your wallet": "Bitte Passwort zum Entsperren des Wallet eingeben", - "Enter wallet name": "Wallet-Name eingeben", - "Enter wallet password": "Wallet-Passwort eingeben", - "Enter your wallet secret": "Bitte Wallet-Geheimtext eingeben", + "Enable Market Monitor": "Активиране на монитор на пазара", + "Enable UPnP": "Активиране на UPnP", + "Enable custom daemon arguments": "Разрешете персонализирани аргументи на daemon", + "Enable experimental features": "Активиране на експериментални функции", + "Enable gRPC": "Активиране на gRPC", + "Enable optional BIP39 passphrase": "Активиране на опционална BIP39 парола", + "Enable screen capture": "Активиране на запис на екрана", + "Enables features currently in development": "Позволява функции, които в момента се разработват", + "Enter": "Въведи", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Въведи име на акаунта (незадължително)", + "Enter first account name": "Въведете първото име на акаунта", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Въведете фишинг подсказката", + "Enter the amount": "Въведете сумата", + "Enter the password for your wallet": "Въведете паролата на вашия портфейл", + "Enter the password to unlock your wallet": "Въведете паролата, за да отключите портфейла си", + "Enter wallet name": "Въведи името на портфейла", + "Enter wallet password": "Въведи паролата на портфейла", + "Enter your wallet secret": "Въведете тайната на портфейла си", + "Exit Full Screen": "Exit Full Screen", "Explorer": "Explorer", - "Export Wallet Data": "Walletdaten exportieren", - "Faucet": "Fontäne", - "File Handles": "Dateihandles", - "Filename:": "Dateiname:", - "Final Amount:": "Gesamtbetrag:", - "GitHub Release": "GitHub Release", - "Go to Settings": "Settings öffnen", - "Handles": "Handles", - "Headers": "Kopfzeilen", + "Export Wallet Data": "Експортирай данните на портфейла", + "Faucet": "Faucet", + "File Handles": "Файлови указатели", + "Filename:": "Име на файла:", + "Final Amount:": "Крайна сума:", + "Full Screen": "Цял екран", + "GitHub Release": "GitHub Издание", + "Go to Settings": "Отидете в Настройки", + "Good": "Good", + "Handles": "Указатели", + "Headers": "Хедъри", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", "IBD:": "IBD:", - "If not specified, the account will be represented by the numeric id.": "Wenn nicht angegeben, wird das Konto durch einen numerischen Identifikator repräsentiert.", - "If you are running locally, use: ": "Bei lokalem Betrieb, bitte folgendes verwenden:", - "Import existing": "Import existierendes", - "Inbound": "Eingehend", - "Include QoS Priority Fees": "QoS Prioritätsgebühren integrieren", - "Integrated Daemon": "Integrierter Dienst", - "Invalid daemon arguments": "Ungültige Service-Argumente", - "Invalid network type - expected: testnet-10 connected to: testnet-11": "Ungültiger Netzwerktyp. Erwartet: testnet-10 jedoch verbunden mit testnet-11", - "Invalid wRPC URL": "Ungültige wRPC URL", - "Json Active Connections": "Aktive JSON-Verbindungen", - "Json Connection Attempts": "JSON Verbindungsversuche", - "Json Handshake Failures": "Json Handshake Fehler", + "If not specified, the account will be represented by the numeric id.": "Ако не е посочено, акаунтът ще бъде представен чрез цифров идентификатор.", + "If you are running locally, use: ": "Ако работите локално, използвайте:", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Импортирай съществуващ", + "Importing Wallet": "Importing Wallet", + "Inbound": "Входящи", + "Include QoS Priority Fees": "Включи QoS такси за приоритет", + "Integrated Daemon": "Интегриран daemon", + "Invalid daemon arguments": "Невалидни аргументи за daemon", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Невалиден вид на мрежата - очакван: testnet-10 свързан с: testnet-11", + "Invalid wRPC URL": "Невалиден wRPC URL", + "Json Active Connections": "Json активни връзки", + "Json Connection Attempts": "Json опити за връзка", + "Json Handshake Failures": "Json грешка при ръкостискането", "Kaspa Discord": "Kaspa Discord", - "Kaspa Integration Guide": "Kaspa Integrationsleitfaden", + "Kaspa Integration Guide": "Ръководство за интегриране на Kaspa", "Kaspa NG": "Kaspa NG", "Kaspa NG Online": "Kaspa NG Online", - "Kaspa NG Web App": "Kaspa NG Web-Applikation", - "Kaspa NG on GitHub": "Kaspa NG auf GitHub", - "Kaspa NG online": "Kaspa NG online", - "Kaspa Network": "Kaspa-Netzwerk", - "Kaspa Node": "Kaspa Knoten", - "Kaspa p2p Network & Node Connection": "Kaspa p2p Netzwerk & Knotenverbindungen", - "Kaspa p2p Node": "Kaspa p2p Knoten", - "Kaspa p2p Node & Connection": "Kaspa p2p Knoten und Verbindung", - "Key Perf.": "Leistung", - "Language:": "Sprache:", - "Large (1 BPS)": "Gross (1 BPS)", - "Levels": "Ebenen", - "License Information": "Lizenzinformationen", - "Local": "Lokal", - "Local p2p Node Configuration": "Konfiguration des lokalen p2p Knotens", - "Logs": "Logs", + "Kaspa NG Web App": "Уеб приложение Kaspa NG", + "Kaspa NG on GitHub": "Kaspa NG в GitHub", + "Kaspa NG online": "Kaspa NG онлайн", + "Kaspa Network": "Мрежа на Kaspa", + "Kaspa Node": "Kaspa нод", + "Kaspa p2p Network & Node Connection": "Kaspa p2p мрежа и връзка с нод", + "Kaspa p2p Node": "Kaspa p2p нод", + "Kaspa p2p Node & Connection": "Kaspa p2p нод и връзка", + "Key Perf.": "Ключова производителност", + "Language:": "Език:", + "Large (1 BPS)": "Голямо (1 BPS)", + "Levels": "Нива", + "License Information": "Информация за лиценза", + "Local": "Локален", + "Local p2p Node Configuration": "Конфигурация на локален p2p нод", + "Logs": "Логове", "MT": "MT", - "Main Kaspa network": "Kaspa Hauptnetz", + "Main Kaspa network": "Главна мрежа на Kaspa", "Mainnet": "Mainnet", - "Mainnet (Main Kaspa network)": "Hauptnetz (Kaspa Main-Netzwerk)", - "Managed by the Rusty Kaspa daemon": "Verwaltet vom Rusty Kaspa Dienst", - "Market": "Markt", - "Market Cap": "Marktkapitalisierung", - "Market Monitor": "Marktmonitor", - "Mass Processed": "Bearbeitete Menge", - "Medium Narrow": "Mittelbreit", - "Medium Wide": "Mittlere Breite", - "Memory": "Speicher", - "Mempool": "Speicherbereich", - "Mempool Size": "Mempool-Grösse", - "Metrics": "Metriken", - "Metrics are not currently available": "Metriken momentan nicht verfügbar", - "NPM Modules for NodeJS": "NPM Module für NodeJS", - "Network": "Netzwerk", - "Network Difficulty": "Netzwerk-Schwierigkeitsgrad", - "Network Fees:": "Netzwerk-Gebühren:", - "Network Interface": "Netzwerkschnittstelle", - "Network Peers": "Netzwerkverbindungen", - "No peers": "Keine Verbindungen", - "No public node selected - please select a public node": "Kein öffentlicher Knoten ausgewählt - bitte öffentlichen Knoten auswählen", - "No transactions": "Keine Transaktionen", - "No wallets found, please create a new wallet": "Keine Wallets gefunden, bitte neues Wallet anlegen", - "Node": "Knoten", - "Node Status": "Status des Knotens", - "Noise": "Rauschen", - "None": "Keine", - "Not Connected": "Nicht verbunden", - "Not connected": "Nicht verbunden", - "Notifications": "Benachrichtigungen", - "Open Data Folder": "Datenverzeichnis öffnen", - "Opening wallet:": "Öffne Wallet:", - "Optional": "Optional", - "Other operations": "Andere Tätigkeiten", - "Outbound": "Ausgehend", - "Overview": "Übersicht", - "Parents": "Eltern", - "Past Median Time": "Durchschnitt letzter Blockzeiten", - "Payment & Recovery Password": "Zahlungs- und Wiederherstellungspasswort", - "Payment Request": "Zahlungsanforderung", - "Peers": "Verbindungen", - "Performance": "Leistung", - "Phishing Hint": "Phishing-Hinweis", - "Ping:": "Ping:", - "Please Confirm Deletion": "Löschen bitte bestätigen", - "Please configure your Kaspa NG settings": "Bitte Kaspa NG einrichten", - "Please connect to Kaspa p2p node": "Bitte zu einem Kaspa p2p-Knoten verbinden", - "Please create a stronger password": "Bitte ein stärkeres Passwort verwenden", - "Please enter": "Bitte eingeben", - "Please enter KAS amount to send": "Bitte den zu sendenden KAS-Betrag eingeben", - "Please enter an amount": "Bitte Betrag eingeben", - "Please enter the account name": "Bitte den Kontoname eingeben", - "Please enter the wallet secret": "Bitte Wallet-Merktext eingeben", - "Please note that this is a beta release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Bitte beachten, dass das ein Beta-Release ist. Solange diese Meldung nicht entfernt wurde, bitte die Verwendung mit Mainnet-Wallets vermeiden.", - "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Bitte beachten: Das Kopieren in die Zwischenablage birgt das Risiko, dass ihre Merktext von einer Malware ausgelesen werden kann.", - "Please select an account type": "Bitte Kontotyp auswählen", - "Please select the private key to export": "Bitte zu exportierenden privaten Schlüssel auswählen", - "Please set node to 'Disabled' to delete the data folder": "Um den Datenordner zu löschen, bitte den Knoten auf 'Deaktiviert' stellen", - "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Bitte geben Sie den Name des Standardkontos an. Das Wallet wird mit einem Standardkonto angelegt. Einmal erzeugt, können nach Bedarf weitere Konten angelegt werden.", - "Please specify the name of the new wallet": "Bitte Name des neuen Wallet eingeben", - "Please specify the private key type for the new wallet": "Bitte Typ des privaten Schlüssels für das neue Wallet angeben", - "Please wait for the node to sync or connect to a remote node.": "Bitte warten, bis der Knoten synchronisiert bzw. zu einem entfernten Knoten verbunden ist.", - "Please wait for the node to sync...": "Bitte warten bis Knoten synchronisiert ist...", - "Please wait...": "Bitte warten...", - "Presets": "Standardeinstellungen", - "Price": "Preis", - "Private Key Mnemonic": "Merktext des privaten Schlüssels", - "Processed Bodies": "Bearbeiteter Inhalt", - "Processed Dependencies": "Bearbeitete Abhängigkeiten", - "Processed Headers": "Abgearbeitete Kopfzeilen", - "Processed Mass Counts": "Verarbeitete Menge", - "Processed Transactions": "Abgearbeitete Transaktionen", - "Protocol:": "Protokoll:", - "Public Node": "Öffentlicher Knoten", - "Public Nodes": "Öffentliche Knoten", - "Public Server": "Öffentlicher Server", - "Public p2p Nodes for": "Öffentliche p2p-Knoten für", - "Random Public Node": "Zufälliger öffentlicher Knoten", - "Range:": "Bereich:", - "Receive Address": "Empfangsadresse", - "Recommended arguments for the remote node: ": "Empfohlene Argumente für den entfernten Knoten:", - "Remote": "Entfernt", - "Remote Connection:": "Verbindungen nach aussen:", - "Remote p2p Node Configuration": "Konfiguration des entfernten p2p-Knotens", - "Removes security restrictions, allows for single-letter passwords": "Entfernt Sicherheitsbeschränkungen, erlaubt Passwörter mit nur einem Zeichen", - "Reset Settings": "Einstellungen zurücksetzen", - "Reset VSPC": "VSPC zurücksetzen", - "Resident Memory": "Physischer Speicher", - "Resources": "Resourcen", - "Resulting daemon arguments:": "Resultierende Dienst-Argumente:", + "Mainnet (Main Kaspa network)": "Mainnet (Главна мрежа на Kaspa)", + "Managed by the Rusty Kaspa daemon": "Управляван от Rusty Kaspa daemon", + "Market": "Пазар", + "Market Cap": "Пазарна капитализация", + "Market Monitor": "Монитор на пазара", + "Mass Processed": "Обраб. тегло", + "Maximize window": "Максимизиране на прозореца", + "Medium Narrow": "Средно тесен", + "Medium Wide": "Средно широк", + "Memory": "Памет", + "Mempool": "Мемпул", + "Mempool Size": "Големина на мемпула", + "Metrics": "Метрики", + "Metrics are not currently available": "Метриките в момента не са налични", + "Minimize the window": "Минимизиране на прозореца", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM модули за NodeJS", + "Network": "Мрежа", + "Network Difficulty": "Мрежова трудност", + "Network Fees:": "Мрежови такси", + "Network Interface": "Мрежови интерфейс", + "Network Peers": "Мрежови връзки", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "Няма връзки", + "No public node selected - please select a public node": "Не е избран публичен нод - моля, изберете публичен нод", + "No transactions": "Няма транзакции", + "No wallets found, please create a new wallet": "Няма намерени портфейли, моля, създайте нов портфейл", + "Node": "Нод", + "Node Status": "Статус на нода", + "Noise": "Шум", + "None": "Няма", + "Not Connected": "Не е свързан", + "Not connected": "Не е свързан", + "Notifications": "Известия", + "Open Data Folder": "Отвори папката с данни", + "Opening wallet:": "Отваряне на портфейл:", + "Optional": "По желание", + "Other operations": "Други операции", + "Outbound": "Изходящи", + "Overview": "Преглед", + "Parents": "Родители", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Минало медианно време", + "Payment & Recovery Password": "Парола за плащане и възстановяване", + "Payment Request": "Заявка за плащане", + "Peers": "Връзки", + "Performance": "Производителност", + "Phishing Hint": "Подсказка за фишинг", + "Ping:": "Пинг", + "Please Confirm Deletion": "Моля, потвърдете изтриването", + "Please configure your Kaspa NG settings": "Моля, конфигурирайте настройките на Kaspa NG", + "Please connect to Kaspa p2p node": "Моля, свържете се с Kaspa p2p нод", + "Please create a stronger password": "Моля, създайте по-сигурна парола", + "Please enter": "Моля, въведете", + "Please enter KAS amount to send": "Моля, въведете сумата KAS за изпращане", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Моля, въведете сума", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Моля, въведете име на акунта", + "Please enter the wallet secret": "Моля, въведете тайната на акаунта", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Моля, имайте предвид, че това е алфа версия. Докато това съобщение не бъде премахнато, моля, избягвайте да използвате портфейла със средства от основната мрежа.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Обърнете внимание, че копирането в клипборда крие риск от излагане на вашата мнемонична фраза на зловреден софтуер.", + "Please select an account type": "Моля, изберете тип на акаунта", + "Please select the private key to export": "Моля, изберете личен ключ за експортиране", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Моля, настройте нода на „Деактивиран“, за да изтриете папката с данни", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Моля, посочете името на акаунта по подразбиране. Портфейлът ще бъде създаден с акаунт по подразбиране. След като бъде създаден, ще можете да създавате допълнителни акаунти, ако имате нужда.", + "Please specify the name of the new wallet": "Моля, посочете името на новия портфейл", + "Please specify the private key type for the new wallet": "Моля, посочете типа на личния ключ за новия портфейл", + "Please wait for the node to sync or connect to a remote node.": "Моля, изчакайте да се синхронизира нода или се свържете с отдалечен нод.", + "Please wait for the node to sync...": "Моля, изчакайте да се синхронизира нода...", + "Please wait...": "Моля, изчакайте...", + "Presets": "Предварителни настройки", + "Price": "Цена", + "Private Key Mnemonic": "Мнемонична фраза на личния ключ", + "Processed Bodies": "Обработени тела", + "Processed Dependencies": "Обработени зависимости", + "Processed Headers": "Обработени хедъри", + "Processed Mass Counts": "Брой обработени тегла", + "Processed Transactions": "Обработени транзакции", + "Protocol:": "Протокол:", + "Public Node": "Публичен нод", + "Public Nodes": "Публични нодове", + "Public Server": "Публичен сървър", + "Public p2p Nodes for": "Публични p2p нодове за", + "Random Public Node": "Случайни публични нодове", + "Range:": "Диапазон:", + "Receive Address": "Адрес за получаване", + "Recommended arguments for the remote node: ": "Препоръчителни аргументи за отдалечен нод:", + "Redistributables": "Разпространяеми пакети", + "Remote": "Отдалечен", + "Remote Connection:": "Отдалечена връзка:", + "Remote p2p Node Configuration": "Отдалечена конфигурация на p2p нод", + "Removes security restrictions, allows for single-letter passwords": "Премахва ограниченията за сигурност, позволява еднобуквени пароли", + "Reset Settings": "Нулиране на настройките", + "Reset VSPC": "Нулирай VSPC", + "Resident Memory": "Резидентна памет", + "Resources": "Ресурси", + "Resulting daemon arguments:": "Резултатни аргументи на daemon:", "Rust Wallet SDK": "Rust Wallet SDK", - "Rusty Kaspa on GitHub": "Rusty Kaspa auf GitHub", - "Secret is too weak": "Geheimschlüssel zu schwach", - "Secret score:": "Passwortstärke", - "Select Account": "Konto auswählen", - "Select Available Server": "Verfügbaren Server auswählen", - "Select Private Key Type": "Typ des privaten Schlüssels auswählen", - "Select Public Node": "Öffentlichen Knoten auswählen", - "Select Wallet": "Wallet auswählen", - "Select a wallet to unlock": "Zum Entsperren bitte Wallet auswählen", - "Send": "Senden", - "Services": "Dienste", - "Settings": "Einstellungen", - "Show DAA": "DAA anzeigen", - "Show Grid": "Netz anzeigen", - "Show VSPC": "VSPC anzeigen", - "Show balances in alternate currencies for testnet coins": "Kontostand für Testnet-Coins in alternativer Währung anzeigen", - "Show password": "Passwort zeigen", - "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Zeigt den Kontostand in einer alternativen Währung (BTC, USD) im Testnetz, so als wären Sie im Mainnetz.", - "Skip": "Überspringen", - "Small (10 BPS)": "Klein (10BPS)", - "Spread": "Spreizung", - "Stage": "Stufe", - "Starting...": "Starte...", - "Statistics": "Statistiken", - "Stor Read": "Speicher lesen", - "Stor Write": "Speicher schreiben", - "Storage": "Speicher", - "Storage Read": "Lesezugriff", - "Storage Read/s": "Speicher lesen/s", - "Storage Write": "Schreibzugriff", - "Storage Write/s": "Speicher schreiben/s", - "Submitted Blocks": "Übermittelte Blöcke", - "Supporting Kaspa NG development": "Kaspa NG Entwicklung unterstützen", - "Syncing Cryptographic Proof...": "Synchronisiere kryptografischen Nachweiss...", - "Syncing DAG Blocks...": "DAG-Blöcke werden synchronisiert...", - "Syncing Headers...": "Synchronisiere Kopfzeilen...", - "Syncing UTXO entries...": "UTXO-Einträge werden synchronisiert...", - "Syncing...": "Synchronisiere...", - "System": "System", - "TPS": "TPS", - "Testnet 10": "Testnetz 10", - "Testnet 10 (1 BPS)": "Testnetz 10 (1 BPS)", - "Testnet 11": "Testnetz 11", - "Testnet 11 (10 BPS)": "Testnetz 11 (10 BPS)", - "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnetz 11 ist im Moment für öffentliche Tests noch nicht aktiviert. Sie können aber in den Einstellungen die Verbindung zu einem privaten Entwickler-Testnetz einstellen.", - "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Kaspa NG repräsentiert einen fortwährenden Einsatz, für das Kaspa BlockDAG Kryptowährung eine Software-Platform basierend auf aktuellem Stand der Technik zu entwickeln. Der ideologische Focus priorisiert dabei Sicherheit, Privatsphäre, Leistung und Dezentralisierung.", - "The balance may be out of date during node sync": "Der Kontostand ist während der Synchronisation des Knotens mglw. nicht aktuell", - "The following will guide you through the process of creating or importing a wallet.": "Im folgenden werden Sie durch den Prozess von Wallet-Erzeugung und -Import geführt", - "The node is currently syncing with the Kaspa p2p network.": "Der Knoten synchronisiert sich mit dem Kaspa p2p-Netzwerk.", - "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "Der Knoten synchronisiert sich momentan mit dem Kaspa p2p Netzwerk. Die Kontostände können daher nicht aktuell sein.", - "The node is spawned as a child daemon process (recommended).": "Der Knoten wurde als Kind-Prozess gestartet (empfohlen).", - "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "Der Knoten läuft als Teil des Kaspa NG Applikationsprozesses. Das reduziert den Kommunikationsaufwand (experimentell).", - "Theme Color": "Farbschema", - "Theme Color:": "Farbschema:", - "Theme Style": "Thema", - "Theme Style:": "Thema:", - "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Das Wallet wird niemals nach Ihrem Merktext fragen, solange Sie nicht die Wiederherstellung des privaten Schlüssels starten.", - "Threshold": "Schwellwert", - "Time Offset:": "Zeitversatz:", - "Tip Hashes": "BlockDAG-Spitzen", - "Tools ⏷": "Werkzeuge⏷", - "Total Rx": "Gesamt Rx", - "Total Rx/s": "Gesamt Rx/s", - "Total Tx": "Gesamt-Tx", - "Total Tx/s": "Gesamt Tx/s", - "Track in the background": "Im Hintergrund verfolgen", - "Transactions": "Transaktionen", - "Transactions:": "Transaktionen:", - "Type": "Typ", - "UTXO Manager": "UTXO-Manager", + "Rusty Kaspa on GitHub": "Rusty Kaspa в GitHub", + "Secret is too weak": "Тайната е твърде кратка", + "Secret score:": "Оценка на тайната:", + "Select Account": "Изберете акаунт", + "Select Available Server": "Изберете наличен сървър", + "Select Private Key Type": "Изберете типа на личния ключ", + "Select Public Node": "Изберете публичен нод", + "Select Wallet": "Изберете портфейл", + "Select a wallet to unlock": "Изберете портфейл за отключване", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Изпрати", + "Services": "Услуги", + "Settings": "Настройки", + "Show DAA": "Покажи DAA", + "Show Grid": "Покажи решетка", + "Show VSPC": "Покажи VSPC", + "Show balances in alternate currencies for testnet coins": "Показване на наличностите в алтернативни валути за монетите в тестовата мрежа", + "Show passphrase": "Show passphrase", + "Show password": "Покажи парола", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Показва наличностите в алтернативни валути (BTC, USD), когато използвате тестови монети, сякаш сте в основната мрежа", + "Skip": "Пропусни", + "Small (10 BPS)": "Малко (10 BPS)", + "Spread": "Спред", + "Stage": "Етап", + "Starting...": "Стартиране...", + "Statistics": "Статистики", + "Stor Read": "Чет. от диск", + "Stor Write": "Зап. на диск", + "Storage": "Пространство", + "Storage Read": "Прочетено от диск", + "Storage Read/s": "Четене от диск/сек", + "Storage Write": "Записано на диск", + "Storage Write/s": "Запис на диск/сек", + "Strong": "Strong", + "Submitted Blocks": "Изпратени блокове", + "Supporting Kaspa NG development": "Подпомагане на развитието на Kaspa NG", + "Syncing Cryptographic Proof...": "Синхронизиране на криптографско доказателство...", + "Syncing DAG Blocks...": "Синхронизиране на DAG блоковете...", + "Syncing Headers...": "Синхронизиране на хедърите...", + "Syncing UTXO entries...": "Синхронизиране на UTXO записите...", + "Syncing...": "Синхронизиране...", + "System": "Система", + "TPS": "тр./сек.", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 все още не е активирана за публично тестване. Можете обаче да конфигурирате нода да се свързва с частната тестова мрежа за разработчици в панела с настройки.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Софтуерът Kaspa NG представлява продължаващо усилие, насочено към изграждането на високотехнологична софтуерна платформа, посветена на криптовалутната мрежа Kaspa BlockDAG. Идеологически в своята същност този софтуер дава приоритет на сигурността, поверителността, производителността и децентрализацията.", + "The balance may be out of date during node sync": "Балансът може да е неактуален по време на синхронизацията на нода", + "The following will guide you through the process of creating or importing a wallet.": "Следното описва процеса на създаване или импортиране на портфейл.", + "The node is currently syncing with the Kaspa p2p network.": "В момента нода се синхронизира с p2p мрежата на Kaspa.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "В момента нода се синхронизира с p2p мрежата на Kaspa. Балансите по сметките може да са неактуални.", + "The node is spawned as a child daemon process (recommended).": "Нода се стартира като child daemon process (препоръчително).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "Нода работи като част от процеса на апликацията Kaspa-NG. Това намалява натоварването на комуникацията (експериментално).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Цвят на темата", + "Theme Color:": "Цвят на темата:", + "Theme Style": "Стил на темата", + "Theme Style:": "Стил на темата:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Този портфейл никога няма да ви попита за тази мнемонична фраза, освен ако не инициирате ръчно възстановяване на личен ключ.", + "Threshold": "Праг", + "Time Offset:": "Времево изместване:", + "Tip Hashes": "Върхови хешове", + "Tools ⏷": "Инструменти ⏷", + "Total Rx": "Общо Rx", + "Total Rx/s": "Общо Rx/s", + "Total Tx": "Общо Tx", + "Total Tx/s": "Общо Tx/s", + "Track in the background": "Следи във фонов режим", + "Transactions": "Транзакции", + "Transactions:": "Транзакции:", + "Type": "Тип", + "UTXO Manager": "UTXO мениджър", "UTXOs": "UTXOs", "UTXOs:": "UTXOs:", - "Unable to change node settings until the problem is resolved": "Bis das Problem gelöst ist, können die Einstellungen des Knotens nicht angepasst werden", - "Unlock": "Entsperren", - "Unlock Wallet": "Wallet entsperren", - "Unlocking": "Entsperren", - "Update Available to version": "Aktualisierung verfügbar auf Version", - "Updating...": "Aktualisiere...", - "Uptime:": "Laufzeit:", - "Use 50%-75% of available system memory": "Benutze 50 %-75%des verfügbaren Systemspeichers", - "Use all available system memory": "Gesamten verfügbaren Systemspeicher verwenden", - "User Agent": "Programm", - "User Interface": "Benutzeroberfläche", - "Very dangerous (may be cracked within few seconds)": "Sehr gefährlich (mglw. innerhalb von Sekunden gebrochen)", - "Virt Parents": "Virt Eltern", - "Virtual DAA Score": "Virtueller DAA-Stand", - "Virtual Memory": "Virtueller Speicher", - "Virtual Parent Hashes": "Checksummen der virtuellen Eltern", - "Volume": "Menge", - "WASM SDK for JavaScript and TypeScript": "WASM SDK für JavaScript und TypeScript", - "Wallet": "Wallet", - "Wallet Created": "Wallet angelegt", - "Wallet Encryption Password": "Wallet Verschlüsselungspasswort", - "Wallet Name": "Wallet-Name", - "Wallet Secret": "Wallet-Passwort", - "Wallet password is used to encrypt your wallet data.": "Das Wallet-Passwort wird verwendet, um die Daten im Wallet zu verschlüsseln.", - "Wallet:": "Wallet:", - "We greatly appreciate your help in backing our efforts.": "Jedwede Unterstützung unserer Anstrengungen wird geschätzt.", - "Welcome to Kaspa NG": "Herzlich willkommen bei Kaspa NG", - "Xpub Keys": "Xpub Schlüssel", - "You are currently not connected to the Kaspa node.": "Sie sind momentan nicht mit einem Kaspa-Knoten verbunden.", - "You can configure remote connection in Settings": "Verindungen können in den Einstellungen konfiguriert werden", - "You can create multiple wallets, but only one wallet can be open at a time.": "Sie können mehrere Wallets anlegen aber nur ein Wallet kann jeweils geöffnet sein.", - "You must be connected to a node...": "Sie müssen zu einem Knoten verbunden sein", - "Your default wallet private key mnemonic is:": "Ihr Merktext zum privaten Schlüssel des Standard-Wallet ist:", - "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Ihr Merktext erlaubt es, Ihren privaten Schlüssel wiederherzustellen. Jeder mit Zugriff auf diesen Merktext hat die volle Kontrolle über die darin enthaltenen Kaspa. Bitte verwahren Sie den Merktext sicher. Schreiben Sie ihn auf und verwahren Sie ihn an einem sicheren, idealerweise brandgeschütztem Ort. Speichern Sie den Merktext keinesfalls auf einem Computer oder einem Mobiltelefon! Das Wallet wird niemals nach dem Merktext fragen, solange Sie nicht die Wiederherstellung des privaten Schlüssels starten.", - "Your private key mnemonic is:": "Ihre privater Merkhilfeschlüssel ist: ", - "Your wallet has been created and is ready to use.": "Ihr Wallet wurde angelegt und ist bereit zur Verwendung.", - "Zoom": "Vergrösserung", - "amount to send": "Zu sendender Betrag", - "bye!": "Auf Wiedersehen!", - "gRPC Network Interface & Port": "gRPC Netzwerkschnittstelle und Port", + "Unable to change node settings until the problem is resolved": "Докато проблемът не бъде резрешен, не е възможно да се променят настройките на нода", + "Unlock": "Отключи", + "Unlock Wallet": "Отключи портфейла", + "Unlocking": "Отключване", + "Update Available to version": "Налично е обновяване на версията", + "Updating...": "Обновяване...", + "Uptime:": "Време на работа:", + "Use 50%-75% of available system memory": "Използвай 50%-75% от свободната системна памет", + "Use all available system memory": "Използвай всичката налична системна памет", + "User Agent": "Агент на потребителя", + "User Interface": "Потребителски интерфейс", + "Very dangerous (may be cracked within few seconds)": "Много опасно (може да бъде кракнато в рамките на секунди)", + "Very weak": "Very weak", + "Virt Parents": "Вирт. родители", + "Virtual DAA Score": "Виртуален DAA резултат", + "Virtual Memory": "Виртуална памет", + "Virtual Parent Hashes": "Хешове на виртуалния родител", + "Volume": "Обем", + "WASM SDK for JavaScript and TypeScript": "WASM SDK за JavaScript и TypeScript", + "Wallet": "Портфейл", + "Wallet Created": "Портфейлът е създаден", + "Wallet Encryption Password": "Парола за криптиране на портфейла", + "Wallet Name": "Име на портфейла", + "Wallet Secret": "Тайна на портфейла", + "Wallet password is used to encrypt your wallet data.": "Паролата на портфейла се използва за криптиране на данните от портфейла ви.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Портфейл:", + "We greatly appreciate your help in backing our efforts.": "Оценяваме високо вашата помощ в подкрепа на нашите усилия.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Добре дошли в Kaspa NG", + "Xpub Keys": "Xpub ключове", + "You are currently not connected to the Kaspa node.": "В момента не сте свързани с Kaspa нода.", + "You can configure remote connection in Settings": "Можете да конфигурирате отдалечена връзка в Настройки", + "You can create multiple wallets, but only one wallet can be open at a time.": "Можете да създадете няколко портфейла, но само един портфейл може да бъде отворен в един и същ момент.", + "You must be connected to a node...": "Трябва да сте свързани към нод...", + "Your default wallet private key mnemonic is:": "Личния ключ на портфейла по подразбиране е:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Вашата мнемонична фраза ви позволява да създадете отново личния си ключ. Лицето, което има достъп до тази фраза, ще има пълен контрол върху съхранената в него Kaspa. Пазете мнемочната си фраза на сигурно място. Запишете я и я съхранявайте в сейф, за предпочитане на пожароустойчиво място. Не съхранявайте фразата си на този компютър или на мобилно устройство. Този портфейл никога няма да ви попита за тази мнемонична фраза, освен ако ръчно не инициирате възстановяване на личния ключ.", + "Your private key mnemonic is:": "Мнемоничната фраза на вашия личен ключ е:", + "Your wallet has been created and is ready to use.": "Вашият портфейл е създаден и е готов за използване.", + "Zoom": "Увеличи", + "amount to send": "сума за изпращане", + "bye!": "чао!", + "gRPC Network Interface & Port": "gRPC мрежови интерфейс и порт", "gRPC Rx": "gRPC Rx", "gRPC Rx/s": "gRPC Rx/s", "gRPC Tx": "gRPC Tx", "gRPC Tx/s": "gRPC Tx/s", - "of": "von", + "of": "от", "p2p RPC": "p2p RPC", "p2p Rx": "p2p Rx", "p2p Rx/s": "p2p Rx/s", "p2p Tx": "p2p Tx", "p2p Tx/s": "p2p Tx/s", - "peer": "Verbindung", - "peers": "Peers", + "peer": "връзка", + "peers": "връзки", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", "wRPC Borsh Rx": "wRPC Borsh Rx", "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", "wRPC Borsh Tx": "wRPC Borsh Tx", "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", - "wRPC Connection Settings": "wRPC Verbindungseinstellungen", - "wRPC Encoding:": "wRPC Kodierung:", + "wRPC Connection Settings": "wRPC настройки за връзка", + "wRPC Encoding:": "wRPC кодиране", "wRPC JSON Rx": "wRPC JSON Rx", "wRPC JSON Rx/s": "wRPC JSON Rx/s", "wRPC JSON Tx": "wRPC JSON Tx", "wRPC JSON Tx/s": "wRPC JSON Tx/s", - "wRPC URL:": "wRPC URL:" + "wRPC URL:": "wRPC URL:", + "words": "words" }, - "el": {}, - "en": { + "bn": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS টেস্ট নেটওয়ার্ক", + "10 BPS test network": "10 BPS টেস্ট নেটওয়ার্ক", + "12 word mnemonic": "12 শব্দের গোপন বাক্যাংশ", + "24 word mnemonic": "24 শব্দের গোপন বাক্যাংশ", + "24h Change": "24 ঘন্টা পরিবর্তন", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "অন্য স্থানে একটি বাইনারি ক্ষুদ্র প্রক্রিয়ার জন্ম দেয় (পরীক্ষামূলক, শুধুমাত্র উন্নয়নের উদ্দেশ্যে)।", + "A random node will be selected on startup": "স্টার্টআপে একটি রেন্ডম নোড নির্বাচন করা হবে", + "A wallet is stored in a file on your computer.": "ওয়ালেট আপনার কম্পিউটারে একটি ফাইল এ সংরক্ষিত হয়ে থাকে।", + "Account Index": "অ্যাকাউন্ট ইনডেক্স", + "Account Name": "অ্যাকাউন্ট এর নাম", + "Account:": "অ্যাকাউন্ট:", + "Activate custom daemon arguments": "কাস্টম ডেমন আর্গুমেন্ট সক্রিয় করুন", + "Active p2p Peers": "সক্রিয় p2p জোড়া", + "Address derivation scan": "ঠিকানা ডেরিভেশন স্ক্যান", + "Address:": "ঠিকানা", + "Advanced": "উন্নত", + "Advanced Options": "Advanced Options", + "All": "সমস্ত", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "রাস্টি কাসপা ডেমনের জন্য কাস্টম আর্গুমেন্টের অনুমতি দিন", + "Allows you to take screenshots from within the application": "আপনাকে অ্যাপ্লিকেশনের মধ্যে থেকে স্ক্রিনশট নেওয়ার অনুমতি দেয়", + "Apply": "আবেদন", + "Balance: N/A": "ব্যালেন্স: N/A", + "Bandwidth": "ব্যান্ডউইথ", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "নিরাপত্তা এবং কর্মক্ষমতার উপর লক্ষ্য রেখে, এই সফ্টওয়্যারটি সম্পূর্ণরূপে রাস্ট এ বিকশিত হয়েছে, যা অন্যান্য ঐতিহ্যগত আধুনিক ওয়েব-চালিত সফ্টওয়্যারের তুলনায় উল্লেখযোগ্যভাবে বেশি সময় এবং প্রচেষ্টার প্রয়োজন।", + "Bezier Curves": "বেজিয়ার কার্ভস", + "Block DAG": "ব্লক DAG", + "Block Scale": "ব্লক স্কেল", + "Blocks": "ব্লক", + "Bodies": "বডি", + "Borsh Active Connections": "Borsh সক্রিয় সংযোগ", + "Borsh Connection Attempts": "Borsh সংযোগ প্রচেষ্টা", + "Borsh Handshake Failures": "Borsh হ্যান্ডশেক ব্যর্থতা", + "Build": "নির্মাণ", + "CONNECTED": "সংযুক্ত", + "CPU": "CPU", + "Cache Memory Size": "ক্যাশে মেমরি আকার", + "Cache Memory Size:": "ক্যাশে মেমরির আকার:", + "Cancel": "বাতিল করুন", + "Cannot delete data folder while the node is running": "নোড চলাকালীন ডেটা ফোল্ডার মুছে ফেলা যাবে না", + "Capture a screenshot": "একটি স্ক্রিনশট ক্যাপচার করুন", + "Center VSPC": "কেন্দ্র VSPC", + "Chain Blocks": "চেইন ব্লক", + "Change Address": "ঠিকানা পরিবর্তন", + "Check for Software Updates on GitHub": "GitHub এ সফ্টওয়্যার আপডেটের জন্য চেক করুন", + "Check for Updates": "আপডেটের জন্য অনুসন্ধান করুন", + "Clear": "মুছে ফেলা", + "Click to try another server...": "অন্য সার্ভার চেষ্টা করতে ক্লিক করুন...", + "Client RPC": "ক্লায়েন্ট RPC", + "Close": "বন্ধ", + "Close the window": "উইন্ডো বন্ধ করুন", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "ওয়ালেট পাসওয়ার্ড নিশ্চিত করুন", + "Connect to a local node (localhost)": "একটি লোকালনোডের সাথে সংযোগ করুন (স্থানীয় হোস্ট)", + "Connecting to": "সাথে সংযোগ করা হচ্ছে", + "Connection": "সংযোগ", + "Connections": "সংযোগ", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "wRPC এর মাধ্যমে দূরবর্তী রাস্ট কাসপা নোডের সাথে সংযোগ করে।", + "Conservative": "রক্ষণশীল", + "Continue": "চালিয়ে যান", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "এই প্রকল্পের দিকে পরিচালিত অবদানগুলি সরাসরি কাসপা NG সফ্টওয়্যার এবং এর ইকোসিস্টেমকে সাহায্য করে৷", + "Copied to clipboard": "ক্লিপবোর্ডে কপি করা হয়েছে", + "Copy": "কপি ", + "Copy logs to clipboard": "ক্লিপবোর্ডে লগ কপি করুন", + "Create New Account": "নতুন অ্যাকাউন্ট তৈরি", + "Create New Wallet": "নতুন ওয়ালেট তৈরি করুন", + "Create Wallet": "Create Wallet", + "Create new wallet": "নতুন ওয়ালেট তৈরি করুন", + "Creating Account": "একাউন্ট তৈরী করা হচ্ছে", + "Creating Wallet": "ওয়ালেট তৈরি করা হচ্ছে", + "Custom": "কাস্টম", + "Custom Public Node": "কাস্টম পাবলিক নোড", + "Custom arguments:": "কাস্টম আর্গুমেন্ট:", + "Custom data storage folder": "কাস্টম ডেটা স্টোরেজ ফোল্ডার", + "DAA": "DDA", + "DAA Offset": "DDA অফসেট", + "DAA Range": "DAA রেঞ্জ", + "DB Blocks": "ডিবি ব্লক", + "DB Headers": "ডিবি হেডার", + "Dangerous": "Dangerous", + "Data Storage": "ডেটা ভান্ডার", + "Database Blocks": "ডাটাবেস ব্লক", + "Database Headers": "ডাটাবেস হেডার", + "Decrypting wallet, please wait...": "ওয়ালেট ডিক্রিপ্ট করা হচ্ছে, অনুগ্রহ করে অপেক্ষা করুন...", + "Default": "ডিফল্ট", + "Default Account Name": "ডিফল্ট অ্যাকাউন্টের নাম", + "Delete Data Folder": "ডেটা ফোল্ডার মুছুন", + "Dependencies": "নির্ভরতা", + "Derivation Indexes": "ডেরিভেশন ইনডেক্স", + "Details": "বিস্তারিত", + "Developer Mode": "ডেভেলপার মোড", + "Developer Resources": "ডেভেলপার দের সংস্থান", + "Developer mode enables advanced and experimental features": "ডেভেলপার মোড উন্নত এবং পরীক্ষামূলক বৈশিষ্ট্যগুলিকে সক্ষম করে ৷", + "Difficulty": "অসুবিধা", + "Dimensions": "মাত্রা", + "Disable password safety rules": "পাসওয়ার্ড নিরাপত্তা নিয়ম নিষ্ক্রিয় করুন", + "Disabled": "অক্ষম", + "Disables node connectivity (Offline Mode).": "নোড সংযোগ নিষ্ক্রিয় করে (অফলাইন মোড)।", + "Discord": "ডিসকোর্ড", + "Donations": "দান", + "Double click on the graph to re-center...": "পুনরায় কেন্দ্রীভূত করতে গ্রাফটিতে ডাবল ক্লিক করুন...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "মার্কেট মনিটর সক্ষম করুন", + "Enable UPnP": "UPnP সক্ষম করুন", + "Enable custom daemon arguments": "কাস্টম ডেমন আর্গুমেন্ট সক্রিয় করুন", + "Enable experimental features": "পরীক্ষামূলক বৈশিষ্ট্যগুলি সক্ষম করুন৷", + "Enable gRPC": "gRPC সক্ষম করুন", + "Enable optional BIP39 passphrase": "ঐচ্ছিক BIP39 পাসফ্রেজ সক্ষম করুন", + "Enable screen capture": "স্ক্রিন ক্যাপচার সক্ষম করুন", + "Enables features currently in development": "বর্তমানে ক্রমবিকাশে থাকা বৈশিষ্ট্যগুলিকে সক্ষম করে৷", + "Enter": "প্রবেশ করুন", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "অ্যাকাউন্টের নাম লিখুন (স্বেচ্ছামূলক)", + "Enter first account name": "প্রথম অ্যাকাউন্টের নাম লিখুন", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "ফিশিং ইঙ্গিত লিখুন", + "Enter the amount": "পরিমাণ লিখুন", + "Enter the password for your wallet": "আপনার ওয়ালেট জন্য পাসওয়ার্ড লিখুন", + "Enter the password to unlock your wallet": "আপনার ওয়ালেট আনলক করতে পাসওয়ার্ড লিখুন", + "Enter wallet name": "ওয়ালেটের নাম লিখুন", + "Enter wallet password": "ওয়ালেট পাসওয়ার্ড লিখুন", + "Enter your wallet secret": "আপনার ওয়ালেট এর গোপন বাক্য লিখুন", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "এক্সপ্লোরার", + "Export Wallet Data": "ওয়ালেট ডেটা এক্সপোর্ট করুন", + "Faucet": "ফুঁসেট", + "File Handles": "ফাইল হ্যান্ডল", + "Filename:": "ফাইলের নাম:", + "Final Amount:": "চূড়ান্ত পরিমাণ:", + "Full Screen": "ফুল স্ক্রিন ", + "GitHub Release": "GitHub রিলিজ", + "Go to Settings": "সেটিংস এ যান", + "Good": "Good", + "Handles": "হ্যান্ডেল", + "Headers": "হেডার", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "নির্দিষ্ট না থাকলে, অ্যাকাউন্টটি সংখ্যাসূচক আইডি দ্বারা প্রতিনিধিত্ব করা হবে।", + "If you are running locally, use: ": "আপনি যদি স্থানীয়ভাবে চালান তা হলে, ব্যবহার করুন:", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "উপলব্ধ থেকে আমদানি", + "Importing Wallet": "Importing Wallet", + "Inbound": "অন্তর্মুখী", + "Include QoS Priority Fees": "QoS অগ্রাধিকার ফি অন্তর্ভুক্ত করুন", + "Integrated Daemon": "ইন্টিগ্রেটেড ডেমন", + "Invalid daemon arguments": "অবৈধ ডেমন আর্গুমেন্ট", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "অবৈধ নেটওয়ার্ক টাইপ - প্রত্যাশিত: testnet-10 এর সাথে সংযুক্ত: testnet-11", + "Invalid wRPC URL": "অবৈধ wRPC URL", + "Json Active Connections": "Json সক্রিয় সংযোগ", + "Json Connection Attempts": "Json সংযোগ প্রচেষ্টা", + "Json Handshake Failures": "Json হ্যান্ডশেক ব্যর্থতা", + "Kaspa Discord": "কাসপা ডিসকর্ড", + "Kaspa Integration Guide": "কাসপা ইন্টিগ্রেশন গাইড", + "Kaspa NG": "কাসপা NG", + "Kaspa NG Online": "কাসপা NG অনলাইন", + "Kaspa NG Web App": "কাসপা NG ওয়েব অ্যাপ", + "Kaspa NG on GitHub": "GitHub-এ কাসপা NG", + "Kaspa NG online": "কাসপা NG অনলাইন", + "Kaspa Network": "কাসপা নেটওয়ার্ক", + "Kaspa Node": "কাসপা নোড", + "Kaspa p2p Network & Node Connection": "কাসপা p2p নেটওয়ার্ক এবং নোড সংযোগ", + "Kaspa p2p Node": "কাসপা p2p নোড", + "Kaspa p2p Node & Connection": "কাসপা p2p নোড এবং সংযোগ", + "Key Perf.": "মূল পছন্দ", + "Language:": "ভাষা:", + "Large (1 BPS)": "বড় (1 BPS)", + "Levels": "স্তর", + "License Information": "লাইসেন্স এর তথ্য", + "Local": "স্থানীয়", + "Local p2p Node Configuration": "স্থানীয় p2p নোড কনফিগারেশন", + "Logs": "লগ", + "MT": "MT", + "Main Kaspa network": "প্রধান কাসপা নেটওয়ার্ক", + "Mainnet": "মেইননেট", + "Mainnet (Main Kaspa network)": "মেইননেট (মেইন কাসপা নেটওয়ার্ক)", + "Managed by the Rusty Kaspa daemon": "রাস্টি কাসপা ডেমন দ্বারা পরিচালিত", + "Market": "মার্কেট", + "Market Cap": "মার্কেট ক্যাপ", + "Market Monitor": "মার্কেট মনিটর", + "Mass Processed": "ম্যাস প্রসেসেড", + "Maximize window": "উইন্ডো বড় করুন", + "Medium Narrow": "মাঝারি সরু", + "Medium Wide": "মাঝারি প্রশস্ত", + "Memory": "স্মৃতি", + "Mempool": "মেমপুল", + "Mempool Size": "মেম্পুল সাইজ", + "Metrics": "মেট্রিক্স", + "Metrics are not currently available": "মেট্রিক্স বর্তমানে উপলব্ধ নেই", + "Minimize the window": "উইন্ডো ছোট করুন", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NodeJS-এর জন্য NPM মডিউল", + "Network": "নেটওয়ার্ক", + "Network Difficulty": "নেটওয়ার্ক অসুবিধা", + "Network Fees:": "নেটওয়ার্ক ফি:", + "Network Interface": "নেটওয়ার্ক ইন্টারফেস", + "Network Peers": "নেটওয়ার্ক সহকর্মীরা", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "পিয়ার নেই", + "No public node selected - please select a public node": "পাবলিক নোড নির্বাচিত - দয়া করে একটি পাবলিক নোড নির্বাচন করুন৷", + "No transactions": "কোনো লেনদেন নেই", + "No wallets found, please create a new wallet": "কোনো ওয়ালেট পাওয়া যায়নি, অনুগ্রহ করে একটি নতুন ওয়ালেট তৈরি করুন", + "Node": "নোড", + "Node Status": "নোড স্থিতি", + "Noise": "গোলমাল", + "None": "গোলমাল", + "Not Connected": "সংযোগ বিচ্ছিন্ন", + "Not connected": "সংযোগ বিচ্ছিন্ন", + "Notifications": "বিজ্ঞপ্তি", + "Open Data Folder": "ডাটা ফোল্ডার খুলুন", + "Opening wallet:": "মানিব্যাগ খোলা:", + "Optional": "ঐচ্ছিক", + "Other operations": "অন্যান্য অপারেশন", + "Outbound": "বহির্গামী", + "Overview": "ওভারভিউ", + "Parents": "প্যারেন্টস", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "বিগত মাঝারি সময়", + "Payment & Recovery Password": "পেমেন্ট এবং রিকভারি পাসওয়ার্ড", + "Payment Request": "পরিশোধের অনুরোধ", + "Peers": "সহকর্মীরা", + "Performance": "কর্মক্ষমতা", + "Phishing Hint": "ফিশিং ইঙ্গিত", + "Ping:": "পিং:", + "Please Confirm Deletion": "মুছে ফেলা নিশ্চিত করুন", + "Please configure your Kaspa NG settings": "আপনার Kaspa NG সেটিংস কনফিগার করুন", + "Please connect to Kaspa p2p node": "Kaspa p2p নোডে সংযোগ করুন", + "Please create a stronger password": "একটি শক্তিশালী পাসওয়ার্ড তৈরি করুন", + "Please enter": "অনুগ্রহ করে প্রবেশ করুন", + "Please enter KAS amount to send": "পাঠাতে KAS পরিমাণ লিখুন", + "Please enter additional": "Please enter additional", + "Please enter an amount": "অনুগ্রহ করে একটি পরিমাণ লিখুন", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "অনুগ্রহ করে অ্যাকাউন্টের নাম লিখুন", + "Please enter the wallet secret": "ওয়ালেট এর গোপন বাক্যাংশ লিখুন", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "দয়া করে মনে রাখবেন যে এটি একটি আলফা রিলিজ। এই বার্তাটি সরানো না হওয়া পর্যন্ত, দয়া করে মেইননেট তহবিলের সাথে ওয়ালেট ব্যবহার করা এড়িয়ে চলুন।", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "অনুগ্রহ করে মনে রাখবেন, ক্লিপবোর্ডে অনুলিপি করা আপনার স্মৃতিকে ম্যালওয়্যারের কাছে প্রকাশ করার ঝুঁকি বহন করে।", + "Please select an account type": "অনুগ্রহ করে একটি অ্যাকাউন্টের ধরন নির্বাচন করুন৷", + "Please select the private key to export": "রপ্তানি করতে ব্যক্তিগত কী নির্বাচন করুন", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "ডেটা ফোল্ডার মুছে ফেলার জন্য অনুগ্রহ করে নোডটিকে 'অক্ষম' এ সেট করুন৷", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "অনুগ্রহ করে ডিফল্ট অ্যাকাউন্টের নাম উল্লেখ করুন। একটি ডিফল্ট অ্যাকাউন্ট দিয়ে ওয়ালেট তৈরি করা হবে। একবার তৈরি হয়ে গেলে, আপনি আপনার প্রয়োজন অনুযায়ী অতিরিক্ত অ্যাকাউন্ট তৈরি করতে সক্ষম হবেন।", + "Please specify the name of the new wallet": "অনুগ্রহ করে নতুন ওয়ালেটের নাম উল্লেখ করুন", + "Please specify the private key type for the new wallet": "অনুগ্রহ করে নতুন ওয়ালেটের জন্য ব্যক্তিগত কী প্রকার নির্দিষ্ট করুন৷", + "Please wait for the node to sync or connect to a remote node.": "অনুগ্রহ করে নোডটি সিঙ্ক বা দূরবর্তী নোডের সাথে সংযোগ করার জন্য অপেক্ষা করুন৷", + "Please wait for the node to sync...": "অনুগ্রহ করে নোড সিঙ্ক করার জন্য অপেক্ষা করুন...", + "Please wait...": "অনুগ্রহপূর্বক অপেক্ষা করুন...", + "Presets": "প্রিসেট", + "Price": "মূল্য", + "Private Key Mnemonic": "প্রাইভেট কী মেমোনিক", + "Processed Bodies": "প্রক্রিয়াকৃত বডি", + "Processed Dependencies": "প্রক্রিয়াকৃত নির্ভরতা", + "Processed Headers": "প্রসেসড হেডার", + "Processed Mass Counts": "প্রক্রিয়াকৃত ভর গণনা", + "Processed Transactions": "প্রক্রিয়াকৃত লেনদেন", + "Protocol:": "প্রোটোকল:", + "Public Node": "পাবলিক নোড", + "Public Nodes": "পাবলিক নোড", + "Public Server": "পাবলিক সার্ভার", + "Public p2p Nodes for": "জন্য পাবলিক p2p নোড", + "Random Public Node": "রেন্ডম পাবলিক নোড", + "Range:": "পরিসীমা:", + "Receive Address": "ঠিকানা গ্রহণ করুন", + "Recommended arguments for the remote node: ": "দূরবর্তী নোডের জন্য প্রস্তাবিত আর্গুমেন্ট:", + "Redistributables": "পুনরায় বিতরণযোগ্য", + "Remote": "দূরবর্তী", + "Remote Connection:": "দূরবর্তী সংযোগ:", + "Remote p2p Node Configuration": "দূরবর্তী p2p নোড কনফিগারেশন", + "Removes security restrictions, allows for single-letter passwords": "নিরাপত্তা সীমাবদ্ধতা সরিয়ে দেয়, একক-অক্ষরের পাসওয়ার্ডের জন্য অনুমতি দেয়", + "Reset Settings": "রিসেট সেটিংস", + "Reset VSPC": "VSPC রিসেট করুন", + "Resident Memory": "রেসিডেন্ট স্মৃতি", + "Resources": "সম্পদ", + "Resulting daemon arguments:": "ডেমন আর্গুমেন্ট ফলাফল:", + "Rust Wallet SDK": "রাস্ট ওয়ালেট SDK", + "Rusty Kaspa on GitHub": "GitHub-এ রাস্টি কাসপা", + "Secret is too weak": "গোপন খুব দুর্বল", + "Secret score:": "গোপন স্কোর:", + "Select Account": "নির্বাচন অ্যাকাউন্ট", + "Select Available Server": "উপলব্ধ সার্ভার নির্বাচন করুন", + "Select Private Key Type": "ব্যক্তিগত কী এর প্রকার নির্বাচন করুন", + "Select Public Node": "পাবলিক নোড নির্বাচন করুন", + "Select Wallet": "Wallet নির্বাচন করুন", + "Select a wallet to unlock": "আনলক করতে একটি ওয়ালেট নির্বাচন করুন", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "পাঠান", + "Services": "সেবা", + "Settings": "সেটিংস", + "Show DAA": "DAA দেখান", + "Show Grid": "গ্রিড দেখান", + "Show VSPC": "VSPC দেখান", + "Show balances in alternate currencies for testnet coins": "টেস্টনেট কয়েনের জন্য বিকল্প মুদ্রায় ব্যালেন্স দেখান", + "Show passphrase": "Show passphrase", + "Show password": "পাসওয়ার্ড দেখাও", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "টেস্টনেট কয়েন ব্যবহার করার সময় বিকল্প মুদ্রায় (বিটিসি, ইউএসডি) ব্যালেন্স দেখায় যেন আপনি মেইননেটে আছেন", + "Skip": "এড়িয়ে যান", + "Small (10 BPS)": "ছোট (10 BPS)", + "Spread": "ছড়িয়ে পড়া", + "Stage": "মঞ্চ", + "Starting...": "শুরু হচ্ছে...", + "Statistics": "পরিসংখ্যান", + "Stor Read": "স্টোর রিড", + "Stor Write": "স্টোর লিখুন", + "Storage": "স্টোরেজ", + "Storage Read": "স্টোরেজ রিড", + "Storage Read/s": "স্টোরেজ রিড/স", + "Storage Write": "স্টোরেজ লিখুন", + "Storage Write/s": "স্টোরেজ লিখুন", + "Strong": "Strong", + "Submitted Blocks": "জমা ব্লক", + "Supporting Kaspa NG development": "কাসপা এনজি উন্নয়নে সহায়তা করা", + "Syncing Cryptographic Proof...": "ক্রিপ্টোগ্রাফিক প্রমাণ সিঙ্ক হচ্ছে...", + "Syncing DAG Blocks...": "DAG ব্লক সিঙ্ক হচ্ছে...", + "Syncing Headers...": "শিরোনাম সিঙ্ক হচ্ছে...", + "Syncing UTXO entries...": "UTXO এন্ট্রি সিঙ্ক করা হচ্ছে...", + "Syncing...": "সিঙ্ক হচ্ছে...", + "System": "পদ্ধতি", + "TPS": "TPS", + "Testnet 10": "টেস্টনেট 10", + "Testnet 10 (1 BPS)": "টেস্টনেট 10 (1 BPS)", + "Testnet 11": "টেস্টনেট 11", + "Testnet 11 (10 BPS)": "টেস্টনেট 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 এখনও পাবলিক পরীক্ষার জন্য সক্রিয় করা হয়নি। তবে, আপনি সেটিংস প্যানেলে প্রাইভেট ডেভেলপার টেস্টনেটের সাথে সংযোগ করতে নোডটি কনফিগার করতে পারেন।", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "কাসপা NG সফ্টওয়্যারটি কাসপা ব্লকডিএজি ক্রিপ্টোকারেন্সি নেটওয়ার্কে নিবেদিত একটি অত্যাধুনিক সফ্টওয়্যার প্ল্যাটফর্ম তৈরির উপর দৃষ্টি নিবদ্ধ করে চলমান প্রচেষ্টার প্রতিনিধিত্ব করে। আদর্শগত, এই সফ্টওয়্যারটি নিরাপত্তা, গোপনীয়তা, কর্মক্ষমতা এবং বিকেন্দ্রীকরণকে অগ্রাধিকার দেয়।", + "The balance may be out of date during node sync": "নোড সিঙ্কের সময় ব্যালেন্স পুরানো হতে পারে", + "The following will guide you through the process of creating or importing a wallet.": "নিম্নলিখিতটি আপনাকে একটি ওয়ালেট তৈরি বা আমদানি করার প্রক্রিয়ার মাধ্যমে গাইড করবে৷", + "The node is currently syncing with the Kaspa p2p network.": "নোডটি বর্তমানে Kaspa p2p নেটওয়ার্কের সাথে সিঙ্ক হচ্ছে।", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "নোডটি বর্তমানে Kaspa p2p নেটওয়ার্কের সাথে সিঙ্ক হচ্ছে। অ্যাকাউন্ট ব্যালেন্স পুরানো হতে পারে.", + "The node is spawned as a child daemon process (recommended).": "নোডটি একটি চাইল্ড ডেমন প্রক্রিয়া হিসাবে তৈরি করা হয়েছে (প্রস্তাবিত)।", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "নোডটি কাসপা-এনজি অ্যাপ্লিকেশন প্রক্রিয়ার একটি অংশ হিসাবে চলে। এটি যোগাযোগ ওভারহেড (পরীক্ষামূলক) হ্রাস করে।", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "থিম এর রঙ", + "Theme Color:": "থিম এর রঙ:", + "Theme Style": "থিম শৈলী", + "Theme Style:": "থিম শৈলী:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "আপনি মানুয়ালি একটি ব্যক্তিগত কী পুনরুদ্ধার শুরু না করা পর্যন্ত এই ওয়ালেটটি আপনাকে প্রাইভেট কী এর জন্য কখনই জিজ্ঞাসা করবে না।", + "Threshold": "থ্রেশহোল্ড", + "Time Offset:": "সময় অফসেট:", + "Tip Hashes": "টিপ হ্যাশ", + "Tools ⏷": "টুলস ⏷", + "Total Rx": "মোট Rx", + "Total Rx/s": "মোট Rx/s", + "Total Tx": "মোট লেনদেন", + "Total Tx/s": "মোট লেনদেন", + "Track in the background": "ব্যাকগ্রাউন্ডে ট্র্যাক করুন", + "Transactions": "লেনদেন", + "Transactions:": "লেনদেন:", + "Type": "টাইপ", + "UTXO Manager": "UTXO ম্যানেজার", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs", + "Unable to change node settings until the problem is resolved": "সমস্যা সমাধান না হওয়া পর্যন্ত নোড সেটিংস পরিবর্তন করতে অক্ষম", + "Unlock": "আনলক", + "Unlock Wallet": "ওয়ালেট আনলক করুন", + "Unlocking": "আনলকিং", + "Update Available to version": "সংস্করণ উপলব্ধ আপডেট", + "Updating...": "আপডেট হচ্ছে...", + "Uptime:": "আপটাইম:", + "Use 50%-75% of available system memory": "উপলব্ধ সিস্টেম মেমরির 50 %-75% ব্যবহার করুন", + "Use all available system memory": "সমস্ত উপলব্ধ সিস্টেম মেমরি ব্যবহার করুন", + "User Agent": "ইউজার এজেন্ট ", + "User Interface": "ব্যবহারকারী ইন্টারফেস", + "Very dangerous (may be cracked within few seconds)": "খুব বিপজ্জনক (কয়েক সেকেন্ডের মধ্যে ক্রেক হতে পারে)", + "Very weak": "Very weak", + "Virt Parents": "ভার্চুয়াল প্যারেন্ট", + "Virtual DAA Score": "ভার্চুয়াল DAA স্কোর", + "Virtual Memory": "ভার্চুয়াল মেমরি", + "Virtual Parent Hashes": "ভার্চুয়াল প্যারেন্ট হ্যাশ", + "Volume": "​পরিমাণ", + "WASM SDK for JavaScript and TypeScript": "জাভাস্ক্রিপ্ট এবং টাইপস্ক্রিপ্টের জন্য WASM SDK", + "Wallet": "ওয়ালেট ", + "Wallet Created": "ওয়ালেট তৈরি করা হয়েছে", + "Wallet Encryption Password": "ওয়ালেট এনক্রিপশন পাসওয়ার্ড", + "Wallet Name": "ওয়ালেটের নাম", + "Wallet Secret": "ওয়ালেট গোপন বাক্যাংশ", + "Wallet password is used to encrypt your wallet data.": "ওয়ালেট পাসওয়ার্ড আপনার ওয়ালেট ডেটা এনক্রিপ্ট করতে ব্যবহৃত হয়।", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "ওয়ালেট:", + "We greatly appreciate your help in backing our efforts.": "আমরা আমাদের প্রচেষ্টাকে সমর্থন করার জন্য আপনার সাহায্যের প্রশংসা করি।", + "Weak": "Weak", + "Welcome to Kaspa NG": "কাসপা NG তে স্বাগতম", + "Xpub Keys": "Xpub কী", + "You are currently not connected to the Kaspa node.": "আপনি বর্তমানে কাসপা নোডের সাথে সংযুক্ত নন।", + "You can configure remote connection in Settings": "আপনি সেটিংসে দূরবর্তী সংযোগ কনফিগার করতে পারেন", + "You can create multiple wallets, but only one wallet can be open at a time.": "আপনি একাধিক ওয়ালেট তৈরি করতে পারেন, কিন্তু একবারে শুধুমাত্র একটি ওয়ালেট খোলা থাকতে পারে।", + "You must be connected to a node...": "আপনাকে অবশ্যই একটি নোডের সাথে সংযুক্ত থাকতে হবে...", + "Your default wallet private key mnemonic is:": "আপনার ডিফল্ট ওয়ালেট প্রাইভেট কী মেমোনিক হল:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "আপনার স্মৃতি সংক্রান্ত বাক্যাংশ আপনাকে আপনার ব্যক্তিগত কী পুনরায় তৈরি করতে দেয়। যে ব্যক্তির কাছে এই বাক্যাংশের অ্যাক্সেস রয়েছে তার এটিতে সংরক্ষিত কাস্পার সম্পূর্ণ নিয়ন্ত্রণ থাকবে। আপনার স্মৃতিশক্তি নিরাপদ রাখুন। এটি লিখে রাখুন এবং একটি নিরাপদে সংরক্ষণ করুন, বিশেষত আগুন-প্রতিরোধী স্থানে। এই কম্পিউটার বা মোবাইল ডিভাইসে আপনার স্মৃতিচিহ্ন সংরক্ষণ করবেন না। আপনি ম্যানুয়ালি একটি ব্যক্তিগত কী পুনরুদ্ধার শুরু না করা পর্যন্ত এই ওয়ালেটটি আপনাকে এই স্মৃতিকথার জন্য কখনই জিজ্ঞাসা করবে না।", + "Your private key mnemonic is:": "আপনার প্রাইভেট মেমোনিক কী হল:", + "Your wallet has been created and is ready to use.": "আপনার ওয়ালেট তৈরি করা হয়েছে এবং ব্যবহারের জন্য প্রস্তুত৷", + "Zoom": "জুম", + "amount to send": "পরিমাণ পাঠাতে", + "bye!": "বিদায়", + "gRPC Network Interface & Port": "gRPC নেটওয়ার্ক ইন্টারফেস এবং পোর্ট", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "of", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "peer", + "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC Connection Settings", + "wRPC Encoding:": "wRPC Encoding:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "words" + }, + "cs": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", "1 BPS test network": "1 BPS test network", "10 BPS test network": "10 BPS test network", "12 word mnemonic": "12 word mnemonic", @@ -873,8 +1381,10 @@ "Advanced": "Advanced", "Advanced Options": "Advanced Options", "All": "All", + "Allow clipboard copy": "Allow clipboard copy", "Allow custom arguments for the Rusty Kaspa daemon": "Allow custom arguments for the Rusty Kaspa daemon", "Allows you to take screenshots from within the application": "Allows you to take screenshots from within the application", + "Application must be restarted for this setting to take effect.": "Application must be restarted for this setting to take effect.", "Apply": "Apply", "Balance: N/A": "Balance: N/A", "Bandwidth": "Bandwidth", @@ -901,10 +1411,12 @@ "Check for Software Updates on GitHub": "Check for Software Updates on GitHub", "Check for Updates": "Check for Updates", "Clear": "Clear", + "Click to copy the donation address to clipboard": "Click to copy the donation address to clipboard", "Click to try another server...": "Click to try another server...", "Client RPC": "Client RPC", "Close": "Close", "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", "Confirm wallet password": "Confirm wallet password", "Connect to a local node (localhost)": "Connect to a local node (localhost)", "Connecting to": "Connecting to", @@ -919,11 +1431,11 @@ "Copy logs to clipboard": "Copy logs to clipboard", "Create New Account": "Create New Account", "Create New Wallet": "Create New Wallet", + "Create Wallet": "Create Wallet", "Create new wallet": "Create new wallet", "Creating Account": "Creating Account", "Creating Wallet": "Creating Wallet", "Custom": "Custom", - "Custom Network Interface:": "Custom Network Interface:", "Custom Public Node": "Custom Public Node", "Custom arguments:": "Custom arguments:", "Custom data storage folder": "Custom data storage folder", @@ -948,6 +1460,8 @@ "Developer mode enables advanced and experimental features": "Developer mode enables advanced and experimental features", "Difficulty": "Difficulty", "Dimensions": "Dimensions", + "Disable Window Frame": "Disable Window Frame", + "Disable password safety rules": "Disable password safety rules", "Disable password score restrictions": "Disable password score restrictions", "Disabled": "Disabled", "Disables node connectivity (Offline Mode).": "Disables node connectivity (Offline Mode).", @@ -964,6 +1478,7 @@ "Enable screen capture": "Enable screen capture", "Enables features currently in development": "Enables features currently in development", "Enter": "Enter", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", "Enter account name (optional)": "Enter account name (optional)", "Enter first account name": "Enter first account name", "Enter mnemonic": "Enter mnemonic", @@ -974,14 +1489,18 @@ "Enter wallet name": "Enter wallet name", "Enter wallet password": "Enter wallet password", "Enter your wallet secret": "Enter your wallet secret", + "Exit Full Screen": "Exit Full Screen", "Explorer": "Explorer", "Export Wallet Data": "Export Wallet Data", + "FIRST": "FIRST", "Faucet": "Faucet", "File Handles": "File Handles", "Filename:": "Filename:", "Final Amount:": "Final Amount:", + "Full Screen": "Full Screen", "GitHub Release": "GitHub Release", "Go to Settings": "Go to Settings", + "Good": "Good", "Handles": "Handles", "Headers": "Headers", "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", @@ -997,7 +1516,6 @@ "Invalid daemon arguments": "Invalid daemon arguments", "Invalid network type - expected: testnet-10 connected to: testnet-11": "Invalid network type - expected: testnet-10 connected to: testnet-11", "Invalid wRPC URL": "Invalid wRPC URL", - "It is recommended that you add a priority fee of at least": "It is recommended that you add a priority fee of at least", "Json Active Connections": "Json Active Connections", "Json Connection Attempts": "Json Connection Attempts", "Json Handshake Failures": "Json Handshake Failures", @@ -1014,6 +1532,7 @@ "Kaspa p2p Node": "Kaspa p2p Node", "Kaspa p2p Node & Connection": "Kaspa p2p Node & Connection", "Key Perf.": "Key Perf.", + "LAST": "LAST", "Language:": "Language:", "Large (1 BPS)": "Large (1 BPS)", "Levels": "Levels", @@ -1030,6 +1549,7 @@ "Market Cap": "Market Cap", "Market Monitor": "Market Monitor", "Mass Processed": "Mass Processed", + "Maximize window": "Maximize window", "Medium Narrow": "Medium Narrow", "Medium Wide": "Medium Wide", "Memory": "Memory", @@ -1037,13 +1557,17 @@ "Mempool Size": "Mempool Size", "Metrics": "Metrics", "Metrics are not currently available": "Metrics are not currently available", + "Minimize the window": "Minimize the window", "Mnemonic Import": "Mnemonic Import", + "NEXT": "NEXT", + "NO NAME": "NO NAME", "NPM Modules for NodeJS": "NPM Modules for NodeJS", "Network": "Network", "Network Difficulty": "Network Difficulty", "Network Fees:": "Network Fees:", "Network Interface": "Network Interface", "Network Peers": "Network Peers", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", "No peers": "No peers", "No public node selected - please select a public node": "No public node selected - please select a public node", "No transactions": "No transactions", @@ -1058,10 +1582,14 @@ "Open Data Folder": "Open Data Folder", "Opening wallet:": "Opening wallet:", "Optional": "Optional", + "Options": "Options", "Other operations": "Other operations", "Outbound": "Outbound", "Overview": "Overview", + "PREV": "PREV", "Parents": "Parents", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", "Passwords do not match": "Passwords do not match", "Past Median Time": "Past Median Time", "Payment & Recovery Password": "Payment & Recovery Password", @@ -1078,11 +1606,13 @@ "Please enter KAS amount to send": "Please enter KAS amount to send", "Please enter additional": "Please enter additional", "Please enter an amount": "Please enter an amount", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", "Please enter the account name": "Please enter the account name", "Please enter the wallet secret": "Please enter the wallet secret", - "Please note that this is a beta release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is a beta release. Until this message is removed, please avoid using the wallet with mainnet funds.", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.", "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.", + "Please select 'Apply' and restart the application.": "Please select 'Apply' and restart the application.", "Please select an account type": "Please select an account type", "Please select the private key to export": "Please select the private key to export", "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", @@ -1106,7 +1636,6 @@ "Public Nodes": "Public Nodes", "Public Server": "Public Server", "Public p2p Nodes for": "Public p2p Nodes for", - "Quit": "Quit", "Random Public Node": "Random Public Node", "Range:": "Range:", "Receive Address": "Receive Address", @@ -1139,6 +1668,7 @@ "Show Grid": "Show Grid", "Show VSPC": "Show VSPC", "Show balances in alternate currencies for testnet coins": "Show balances in alternate currencies for testnet coins", + "Show passphrase": "Show passphrase", "Show password": "Show password", "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet", "Skip": "Skip", @@ -1152,8 +1682,10 @@ "Storage": "Storage", "Storage Read": "Storage Read", "Storage Read/s": "Storage Read/s", + "Storage Size": "Storage Size", "Storage Write": "Storage Write", "Storage Write/s": "Storage Write/s", + "Strong": "Strong", "Submitted Blocks": "Submitted Blocks", "Supporting Kaspa NG development": "Supporting Kaspa NG development", "Syncing Cryptographic Proof...": "Syncing Cryptographic Proof...", @@ -1171,12 +1703,11 @@ "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.", "The balance may be out of date during node sync": "The balance may be out of date during node sync", "The following will guide you through the process of creating or importing a wallet.": "The following will guide you through the process of creating or importing a wallet.", - "The network is currently experiencing high load": "The network is currently experiencing high load", "The node is currently syncing with the Kaspa p2p network.": "The node is currently syncing with the Kaspa p2p network.", "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.", "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).", - "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you lose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you lose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", "Theme Color": "Theme Color", "Theme Color:": "Theme Color:", "Theme Style": "Theme Style", @@ -1222,6 +1753,7 @@ "Wallet Name": "Wallet Name", "Wallet Secret": "Wallet Secret", "Wallet password is used to encrypt your wallet data.": "Wallet password is used to encrypt your wallet data.", + "Wallet with this name already exists": "Wallet with this name already exists", "Wallet:": "Wallet:", "We greatly appreciate your help in backing our efforts.": "We greatly appreciate your help in backing our efforts.", "Weak": "Weak", @@ -1245,7 +1777,6 @@ "gRPC Tx": "gRPC Tx", "gRPC Tx/s": "gRPC Tx/s", "of": "of", - "of its capacity.": "of its capacity.", "p2p RPC": "p2p RPC", "p2p Rx": "p2p Rx", "p2p Rx/s": "p2p Rx/s", @@ -1253,7 +1784,7 @@ "p2p Tx/s": "p2p Tx/s", "peer": "peer", "peers": "peers", - "to ensure faster transaction acceptance.": "to ensure faster transaction acceptance.", + "secp256k1 keypair": "secp256k1 keypair", "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", "wRPC Borsh Rx": "wRPC Borsh Rx", "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", @@ -1268,558 +1799,2410 @@ "wRPC URL:": "wRPC URL:", "words": "words" }, - "es": { - "1 BPS test network": "Red de pruebas 1 BPS", - "10 BPS test network": "Red de pruebas 10 BPS", - "12 word mnemonic": "Mnemotécnica de 12 palabras", - "24 word mnemonic": "Mnemotécnica de 24 palabras", - "24h Change": "Cambio en 24h", - "A binary at another location is spawned a child process (experimental, for development purposes only).": "Un binario en otra ubicación a creado un proceso dependiente (experimental, únicamente para desarrollo)", - "A random node will be selected on startup": "Se seleccionará un nodo aleatoriamente al inicio", - "A wallet is stored in a file on your computer.": "Hay una billetera en un archivo de su ordenador", - "Account Index": "Índice de la cuenta", - "Account Name": "Nombre de la cuenta", - "Account:": "Cuenta:", - "Activate custom daemon arguments": "Activar argumentos del daemon personalizado ", - "Active p2p Peers": "Usuarios p2p activos", - "Address derivation scan": "Escaneo de derivación de dirección", - "Address:": "Dirección:", - "Advanced": "Avanzado", - "All": "Todo", - "Allow custom arguments for the Rusty Kaspa daemon": "Permitir argumentos personalizados para el daemon de Rusty Kaspa", - "Allows you to take screenshots from within the application": "Permite tomar capturas de pantalla desde dentro de la aplicación", - "Apply": "Aplicar", - "Balance: N/A": "Saldo: N/A", - "Bandwidth": "Ancho de banda", - "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Como está centrado en la seguridad y el rendimiento, este software se ha desarrollado por completo en Rust, lo que ha requerido significativamente más tiempo y esfuerzo que otros softwares tradicionalmente desarrollados para web.", - "Bezier Curves": "Curvas Bezier", - "Block DAG": "Block DAG", - "Block Scale": "Escala de bloques", - "Blocks": "Bloques", - "Bodies": "Cuerpos", - "Borsh Active Connections": "Conexiones Activas Borsh", - "Borsh Connection Attempts": "Intentos de Conexión Borsh", - "Borsh Handshake Failures": "Fallos Handshake Borsh", - "Build": "Versión", - "CONNECTED": "CONECTADO", - "CPU": "CPU", - "Cache Memory Size": "Tamaño memoria caché", - "Cache Memory Size:": "Tamaño memoria caché:", - "Cancel": "Cancelar", - "Cannot delete data folder while the node is running": "No se puede eliminar la carpeta de datos mientras el nodo está activo", - "Capture a screenshot": "Tomar captura de pantalla", - "Center VSPC": "Centrar VSPC", - "Chain Blocks": "Bloques de la Cadena", - "Change Address": "Cambiar dirección", - "Check for Software Updates on GitHub": "Compruebe si hay actualizaciones de software en Github", - "Check for Updates": "Comprobar actualizaciones", - "Clear": "Borrar", - "Click to try another server...": "Haz clic para probar otro servidor", - "Client RPC": "RPC cliente", - "Close": "Cerrar", - "Confirm wallet password": "Confirme contraseña de la billetera", - "Connect to a local node (localhost)": "Conectar a nodo local (localhost)", - "Connecting to": "Conectar a", - "Connection": "Conexión", - "Connections": "Conexiones", - "Connects to a Remote Rusty Kaspa Node via wRPC.": "Conecta a un Nodo Rusty Kaspa Remoto por wRPC", - "Conservative": "Conservador", - "Continue": "Continuar", - "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Las contribuciones a este proyecto apoyan directamente al software Kaspa NG y su ecosistema", - "Copied to clipboard": "Copiado al portapapeles", - "Copy": "Copiar", - "Copy logs to clipboard": "Copia los registros al portapapeles", - "Create New Account": "Crear cuenta nueva", - "Create New Wallet": "Crear billetera nueva", - "Create new wallet": "Crear billetera nueva", - "Creating Account": "Creando cuenta", - "Creating Wallet": "Creando billetera", - "Custom": "Personalizado", - "Custom Public Node": "Nodo Público Personalizado", - "Custom arguments:": "Argumentos personalizados:", + "da": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS test network", + "10 BPS test network": "10 BPS test network", + "12 word mnemonic": "12 word mnemonic", + "24 word mnemonic": "24 word mnemonic", + "24h Change": "24h Change", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "A binary at another location is spawned a child process (experimental, for development purposes only).", + "A random node will be selected on startup": "A random node will be selected on startup", + "A wallet is stored in a file on your computer.": "A wallet is stored in a file on your computer.", + "Account Index": "Account Index", + "Account Name": "Account Name", + "Account:": "Account:", + "Activate custom daemon arguments": "Activate custom daemon arguments", + "Active p2p Peers": "Active p2p Peers", + "Address derivation scan": "Address derivation scan", + "Address:": "Address:", + "Advanced": "Advanced", + "Advanced Options": "Advanced Options", + "All": "All", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Allow custom arguments for the Rusty Kaspa daemon", + "Allows you to take screenshots from within the application": "Allows you to take screenshots from within the application", + "Apply": "Apply", + "Balance: N/A": "Balance: N/A", + "Bandwidth": "Bandwidth", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.", + "Bezier Curves": "Bezier Curves", + "Block DAG": "Block DAG", + "Block Scale": "Block Scale", + "Blocks": "Blocks", + "Bodies": "Bodies", + "Borsh Active Connections": "Borsh Active Connections", + "Borsh Connection Attempts": "Borsh Connection Attempts", + "Borsh Handshake Failures": "Borsh Handshake Failures", + "Build": "Build", + "CONNECTED": "CONNECTED", + "CPU": "CPU", + "Cache Memory Size": "Cache Memory Size", + "Cache Memory Size:": "Cache Memory Size:", + "Cancel": "Cancel", + "Cannot delete data folder while the node is running": "Cannot delete data folder while the node is running", + "Capture a screenshot": "Capture a screenshot", + "Center VSPC": "Center VSPC", + "Chain Blocks": "Chain Blocks", + "Change Address": "Change Address", + "Check for Software Updates on GitHub": "Check for Software Updates on GitHub", + "Check for Updates": "Check for Updates", + "Clear": "Clear", + "Click to try another server...": "Click to try another server...", + "Client RPC": "Client RPC", + "Close": "Close", + "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Confirm wallet password", + "Connect to a local node (localhost)": "Connect to a local node (localhost)", + "Connecting to": "Connecting to", + "Connection": "Connection", + "Connections": "Connections", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Connects to a Remote Rusty Kaspa Node via wRPC.", + "Conservative": "Conservative", + "Continue": "Continue", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.", + "Copied to clipboard": "Copied to clipboard", + "Copy": "Copy", + "Copy logs to clipboard": "Copy logs to clipboard", + "Create New Account": "Create New Account", + "Create New Wallet": "Create New Wallet", + "Create Wallet": "Create Wallet", + "Create new wallet": "Create new wallet", + "Creating Account": "Creating Account", + "Creating Wallet": "Creating Wallet", + "Custom": "Custom", + "Custom Public Node": "Custom Public Node", + "Custom arguments:": "Custom arguments:", + "Custom data storage folder": "Custom data storage folder", "DAA": "DAA", - "DAA Offset": "Desviación DAA", - "DAA Range": "Rango DAA", - "DB Blocks": "Bloques DB", - "DB Headers": "Encabezamientos DB", - "Database Blocks": "Bloques en Base de Datos", - "Database Headers": "Encabezamientos Base de Datos", - "Decrypting wallet, please wait...": "Desencriptando billetera, por favor espere...", - "Default": "Por defecto", - "Default Account Name": "Nombre por defecto de la cuenta", - "Delete Data Folder": "Eliminar carpeta de datos", - "Dependencies": "Dependencias", - "Derivation Indexes": "Índices de derivación", - "Details": "Detalles", - "Developer Mode": "Modo desarrollador", - "Developer Resources": "Recursos para desarrolladores", - "Developer mode enables advanced and experimental features": "El modo Desarrollador activa funciones avanzadas y experimentales", - "Difficulty": "Dificultad", - "Dimensions": "Dimensiones", - "Disable password score restrictions": "Desactivar las restricciones de calidad de contraseña", - "Disabled": "Desactivado", - "Disables node connectivity (Offline Mode).": "Desactiva la conectividad del nodo (modo fuera de linea)", + "DAA Offset": "DAA Offset", + "DAA Range": "DAA Range", + "DB Blocks": "DB Blocks", + "DB Headers": "DB Headers", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", + "Database Blocks": "Database Blocks", + "Database Headers": "Database Headers", + "Decrypting wallet, please wait...": "Decrypting wallet, please wait...", + "Default": "Default", + "Default Account Name": "Default Account Name", + "Delete Data Folder": "Delete Data Folder", + "Dependencies": "Dependencies", + "Derivation Indexes": "Derivation Indexes", + "Details": "Details", + "Developer Mode": "Developer Mode", + "Developer Resources": "Developer Resources", + "Developer mode enables advanced and experimental features": "Developer mode enables advanced and experimental features", + "Difficulty": "Difficulty", + "Dimensions": "Dimensions", + "Disable password safety rules": "Disable password safety rules", + "Disabled": "Disabled", + "Disables node connectivity (Offline Mode).": "Disables node connectivity (Offline Mode).", "Discord": "Discord", - "Donations": "Donaciones", - "Double click on the graph to re-center...": "Haz doble clic en el gráfico para volver a centrar", + "Donations": "Donations", + "Double click on the graph to re-center...": "Double click on the graph to re-center...", "ECDSA": "ECDSA", - "Enable Market Monitor": "Activar Monitor del Mercado", - "Enable UPnP": "Activar UPnP", - "Enable custom daemon arguments": "Activar argumentos del daemon personalizado", - "Enable experimental features": "Activar funciones experimentales", - "Enable gRPC": "Activar gRPC", - "Enable optional BIP39 passphrase": "Habilitar frase de contraseña opcional BIP39", - "Enable screen capture": "Habilitar captura de pantalla", - "Enables features currently in development": "Habilita funciones actualmente en desarrollo", - "Enter": "Intro", - "Enter account name (optional)": "Introduce un nombre de cuenta (opcional)", - "Enter first account name": "Introduce el primer nombre de cuenta", - "Enter phishing hint": "Introduce una pregunta de seguridad", - "Enter the amount": "Introduce la cantidad", - "Enter the password for your wallet": "Introduce la contraseña para tu billetera", - "Enter the password to unlock your wallet": "Introduce la contraseña para desbloquear tu billetera", - "Enter wallet name": "Introduce el nombre de la billetera", - "Enter wallet password": "Introduce la contraseña de la billetera", - "Enter your wallet secret": "Introduce la clave secreta de tu billetera", - "Explorer": "Explorador", - "Export Wallet Data": "Exportar Datos de la Billetera", + "Enable Market Monitor": "Enable Market Monitor", + "Enable UPnP": "Enable UPnP", + "Enable custom daemon arguments": "Enable custom daemon arguments", + "Enable experimental features": "Enable experimental features", + "Enable gRPC": "Enable gRPC", + "Enable optional BIP39 passphrase": "Enable optional BIP39 passphrase", + "Enable screen capture": "Enable screen capture", + "Enables features currently in development": "Enables features currently in development", + "Enter": "Enter", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Enter account name (optional)", + "Enter first account name": "Enter first account name", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Enter phishing hint", + "Enter the amount": "Enter the amount", + "Enter the password for your wallet": "Enter the password for your wallet", + "Enter the password to unlock your wallet": "Enter the password to unlock your wallet", + "Enter wallet name": "Enter wallet name", + "Enter wallet password": "Enter wallet password", + "Enter your wallet secret": "Enter your wallet secret", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorer", + "Export Wallet Data": "Export Wallet Data", "Faucet": "Faucet", - "File Handles": "Manejadores de Ficheros", - "Filename:": "Nombre del Fichero:", - "Final Amount:": "Cantidad Final:", - "GitHub Release": "Versión de GitHub", - "Go to Settings": "Ir a Configuración", - "Handles": "Manejadores", - "Headers": "Cabeceras", + "File Handles": "File Handles", + "Filename:": "Filename:", + "Final Amount:": "Final Amount:", + "Full Screen": "Full Screen", + "GitHub Release": "GitHub Release", + "Go to Settings": "Go to Settings", + "Good": "Good", + "Handles": "Handles", + "Headers": "Headers", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", "IBD:": "IBD:", - "If not specified, the account will be represented by the numeric id.": "Si no se especifica, la cuenta se representará por su id numérico", - "If you are running locally, use: ": "Si está ejecutando localmente, usar:", - "Import existing": "Importar existente", - "Inbound": "Entrante", - "Include QoS Priority Fees": "Incluir Comisiones por Prioridad QoS", - "Integrated Daemon": "Daemon integrado", - "Invalid daemon arguments": "Argumentos del daemon no válidos", - "Invalid network type - expected: testnet-10 connected to: testnet-11": "Tipo de red inválido - se esperaba: testnet-10 conectado a: testnet-11", - "Invalid wRPC URL": "URL wRPC inválida", - "Json Active Connections": "Conexiones Json Activas", - "Json Connection Attempts": "Intentos de Conexión Json", - "Json Handshake Failures": "Fallos de Handshake Json", - "Kaspa Discord": "Discord de Kaspa", - "Kaspa Integration Guide": "Guía de Integración Kaspa", + "If not specified, the account will be represented by the numeric id.": "If not specified, the account will be represented by the numeric id.", + "If you are running locally, use: ": "If you are running locally, use: ", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Import existing", + "Importing Wallet": "Importing Wallet", + "Inbound": "Inbound", + "Include QoS Priority Fees": "Include QoS Priority Fees", + "Integrated Daemon": "Integrated Daemon", + "Invalid daemon arguments": "Invalid daemon arguments", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Invalid network type - expected: testnet-10 connected to: testnet-11", + "Invalid wRPC URL": "Invalid wRPC URL", + "Json Active Connections": "Json Active Connections", + "Json Connection Attempts": "Json Connection Attempts", + "Json Handshake Failures": "Json Handshake Failures", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Kaspa Integration Guide", "Kaspa NG": "Kaspa NG", "Kaspa NG Online": "Kaspa NG Online", "Kaspa NG Web App": "Kaspa NG Web App", - "Kaspa NG on GitHub": "Kaspa NG en GitHub", + "Kaspa NG on GitHub": "Kaspa NG on GitHub", "Kaspa NG online": "Kaspa NG online", - "Kaspa Network": "Red Kaspa", - "Kaspa Node": "Nodo Kaspa", - "Kaspa p2p Network & Node Connection": "Red p2p de Kaspa & Nodo de Conexión", - "Kaspa p2p Node": "Nodo p2p de Kaspa", - "Kaspa p2p Node & Connection": "Nodo & conexión p2p de Kaspa", - "Key Perf.": "Indicadores Clave", - "Language:": "Idioma:", - "Large (1 BPS)": "Grande (1 BPS)", - "Levels": "Niveles", - "License Information": "Información de Licencia", - "Local": "Local", - "Local p2p Node Configuration": "Configuración Local Nodo p2p", - "Logs": "Logs", - "MT": "MT", - "Main Kaspa network": "Red Principal de Kaspa", - "Mainnet": "Mainnet", - "Mainnet (Main Kaspa network)": "Mainnet (Red Principal de Kaspa)", - "Managed by the Rusty Kaspa daemon": "Gestionado por el daemon de Rusty Kaspa", - "Market": "Mercado", - "Market Cap": "Cap. de Mercado", - "Market Monitor": "Monitor de Mercado", - "Mass Processed": "Procesado Masivo", - "Medium Narrow": "Medio Estrecho", - "Medium Wide": "Medio Ancho", - "Memory": "Memoria", - "Mempool": "Pool de memoria", - "Mempool Size": "Tamaño Pool Memoria", - "Metrics": "Métricas", - "Metrics are not currently available": "Las métricas no están disponibles actualmente", - "NPM Modules for NodeJS": "Módulos NPM para NodeJS", - "Network": "Red", - "Network Difficulty": "Complejidad de Red", - "Network Fees:": "Comisiones de Red:", - "Network Interface": "Interfaz de Red", - "Network Peers": "Usuarios de Red", - "No peers": "Sin usuarios", - "No public node selected - please select a public node": "Ningún nodo público seleccionado - por favor seleccione un nodo público", - "No transactions": "Sin transacciones", - "No wallets found, please create a new wallet": "No se encontraron billeteras, por favor cree una nueva", - "Node": "Nodo", - "Node Status": "Status del Nodo:", - "Noise": "Ruido", - "None": "Ninguno", - "Not Connected": "No Conectado", - "Not connected": "No conectado", - "Notifications": "Notificaciones", - "Open Data Folder": "Abrir Carpeta de Datos", - "Opening wallet:": "Abriendo billetera:", - "Optional": "Opcional", - "Other operations": "Otras operaciones", - "Outbound": "Saliente", - "Overview": "Visión General", - "Parents": "Padres", - "Past Median Time": "Mediana de Tiempo", - "Payment & Recovery Password": "Contraseña de Pagos y Recuperación", - "Payment Request": "Solicitud de Pago", - "Peers": "Usuarios", - "Performance": "Rendimiento", - "Phishing Hint": "Pregunta de Seguridad", + "Kaspa Network": "Kaspa Network", + "Kaspa Node": "Kaspa Node", + "Kaspa p2p Network & Node Connection": "Kaspa p2p Network & Node Connection", + "Kaspa p2p Node": "Kaspa p2p Node", + "Kaspa p2p Node & Connection": "Kaspa p2p Node & Connection", + "Key Perf.": "Key Perf.", + "Language:": "Language:", + "Large (1 BPS)": "Large (1 BPS)", + "Levels": "Levels", + "License Information": "License Information", + "Local": "Local", + "Local p2p Node Configuration": "Local p2p Node Configuration", + "Logs": "Logs", + "MT": "MT", + "Main Kaspa network": "Main Kaspa network", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (Main Kaspa network)", + "Managed by the Rusty Kaspa daemon": "Managed by the Rusty Kaspa daemon", + "Market": "Market", + "Market Cap": "Market Cap", + "Market Monitor": "Market Monitor", + "Mass Processed": "Mass Processed", + "Maximize window": "Maximize window", + "Medium Narrow": "Medium Narrow", + "Medium Wide": "Medium Wide", + "Memory": "Memory", + "Mempool": "Mempool", + "Mempool Size": "Mempool Size", + "Metrics": "Metrics", + "Metrics are not currently available": "Metrics are not currently available", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM Modules for NodeJS", + "Network": "Network", + "Network Difficulty": "Network Difficulty", + "Network Fees:": "Network Fees:", + "Network Interface": "Network Interface", + "Network Peers": "Network Peers", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "No peers", + "No public node selected - please select a public node": "No public node selected - please select a public node", + "No transactions": "No transactions", + "No wallets found, please create a new wallet": "No wallets found, please create a new wallet", + "Node": "Node", + "Node Status": "Node Status", + "Noise": "Noise", + "None": "None", + "Not Connected": "Not Connected", + "Not connected": "Not connected", + "Notifications": "Notifications", + "Open Data Folder": "Open Data Folder", + "Opening wallet:": "Opening wallet:", + "Optional": "Optional", + "Other operations": "Other operations", + "Outbound": "Outbound", + "Overview": "Overview", + "Parents": "Parents", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Past Median Time", + "Payment & Recovery Password": "Payment & Recovery Password", + "Payment Request": "Payment Request", + "Peers": "Peers", + "Performance": "Performance", + "Phishing Hint": "Phishing Hint", "Ping:": "Ping:", - "Please Confirm Deletion": "Por favor Confirme la Eliminación", - "Please configure your Kaspa NG settings": "Por favor configure sus parámetros de Kaspa NG", - "Please connect to Kaspa p2p node": "Por favor conéctese a un nodo p2p de Kaspa", - "Please create a stronger password": "Por favor cree una contraseña más segura", - "Please enter": "Por favor introduzca", - "Please enter KAS amount to send": "Por favor introduzca la cantidad de KAS que desea enviar", - "Please enter an amount": "Por favor introduzca una cantidad ", - "Please enter the account name": "Por favor introduzca el nombre de la cuenta", - "Please enter the wallet secret": "Por favor introduzca la clave secreta de la billetera", - "Please note that this is a beta release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Por favor, considere que esto es una versión beta. Hasta que se elimine este mensaje, por favor evite usar la billetera con fondos de mainnet.", - "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Por favor, considere que copiar al portapapeles conlleva un riesgo de exponer su mnemotécnica a malware.", - "Please select an account type": "Por favor seleccione un tipo de cuenta", - "Please select the private key to export": "Por favor, seleccione la clave privada a exportar", - "Please set node to 'Disabled' to delete the data folder": "Por favor configure el nodo como 'Deshabilitado' para borrar la carpeta de datos", - "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Por favor, especifique el nombre de la cuenta por defecto. La billetera se creará con una cuenta por defecto. Una vez creada, podrá crear tantas cuentas adicionales como necesite.", - "Please specify the name of the new wallet": "Por favor, especifique el nombre de la nueva billetera.", - "Please specify the private key type for the new wallet": "Por favor, especifique el tipo de clave privada para la nueva billetera", - "Please wait for the node to sync or connect to a remote node.": "Por favor, espere a que el nodo se sincronice o conecte con un nodo remoto.", - "Please wait for the node to sync...": "Por favor espere a que el nodo se sincronice...", - "Please wait...": "Por favor espere...", - "Presets": "Config.", - "Price": "Precio", - "Private Key Mnemonic": "Clave privada Mnemotécnica", - "Processed Bodies": "Cuerpos Procesados", - "Processed Dependencies": "Dependencias Procesadas", - "Processed Headers": "Cabeceras Procesadas", - "Processed Mass Counts": "Cuentas de Procesados Masivos", - "Processed Transactions": "Transacciones Procesadas", - "Protocol:": "Protocolo:", - "Public Node": "Nodo Público:", - "Public Nodes": "Nodos Públicos", - "Public Server": "Servidor Público", - "Public p2p Nodes for": "Nodos públicos p2p para", - "Random Public Node": "Nodo Público Aleatorio", - "Range:": "Rango:", - "Receive Address": "Dirección de Recepción:", - "Recommended arguments for the remote node: ": "Parámetros recomendados para el nodo remoto:", - "Remote": "Remoto", - "Remote Connection:": "Conexión Remota:", - "Remote p2p Node Configuration": "Configuración del Nodo p2p Remoto", - "Removes security restrictions, allows for single-letter passwords": "Elimina restricciones de seguridad, permite contraseñas sencillas, sólo letras", - "Reset Settings": "Reiniciar Ajustes", - "Reset VSPC": "Reiniciar VSPC", - "Resident Memory": "Memoria Residente", - "Resources": "Recursos", - "Resulting daemon arguments:": "Argumentos del daemon arrojados:", - "Rust Wallet SDK": "SDK Billetera Rust", - "Rusty Kaspa on GitHub": "Rusty Kaspa en GitHub", - "Secret is too weak": "La clave secreta es demasiado débil", - "Secret score:": "Puntuación de la clave secreta:", - "Select Account": "Selecciona Cantidad", - "Select Available Server": "Seleccione Servidor Disponible", - "Select Private Key Type": "Seleccione Tipo de Clave Privada", - "Select Public Node": "Seleccione Nodo Público ", - "Select Wallet": "Seleccione Billetera", - "Select a wallet to unlock": "Seleccione una billetera para desbloquear", - "Send": "Enviar", - "Services": "Servicios", - "Settings": "Configuración", - "Show DAA": "Mostrar DAA", - "Show Grid": "Mostrar Rejilla", - "Show VSPC": "Mostrar VSPC", - "Show balances in alternate currencies for testnet coins": "Mostrar saldos en divisas alternativas para las monedas en testnet", - "Show password": "Mostrar contraseña", - "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Mostrar saldos en divisas alternativas (BTC, USD) cuando se usen monedas en testnet como si estuviera en mainnet", - "Skip": "Omitir", - "Small (10 BPS)": "Pequeño (10 BPS)", - "Spread": "Propagación", - "Stage": "Fase", - "Starting...": "Iniciando...", - "Statistics": "Estadísticas", - "Stor Read": "Lectura Alm.", - "Stor Write": "Escritura Alm.", - "Storage": "Almacenamiento", - "Storage Read": "Lectura Almacenamiento", - "Storage Read/s": "Lectura/s Almacenamiento", - "Storage Write": "Escritura Almacenamiento", - "Storage Write/s": "Escritura/s Almacenamiento", - "Submitted Blocks": "Bloques Enviados", - "Supporting Kaspa NG development": "Apoyar el desarrollo de Kaspa NG", - "Syncing Cryptographic Proof...": "Sincronizando Prueba Criptográfica...", - "Syncing DAG Blocks...": "Sincronizando Bloques DAG...", - "Syncing Headers...": "Sincronizando Cabeceras...", - "Syncing UTXO entries...": "Sincronizando entradas UTXO...", - "Syncing...": "Sincronizando...", - "System": "Sistema", - "TPS": "TPS", - "Testnet 10": "Testnet 10", - "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", - "Testnet 11": "Testnet 11", - "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", - "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 no está aún habilitada para pruebas públicas. Puede, no obstante, configurar el nodo para conectarse a la testnet privada de desarrollo en el panel de Configuración.", - "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "KASPA NG representa el esfuerzo por construir una plataforma software de última generación dedicada a la red BlockDAG de Kaspa. Tal como su proyecto matriz, este software prioriza la seguridad, privacidad, rendimiento y descentralización.", - "The balance may be out of date during node sync": "El saldo puede estar desactualizado durante la sincronización del nodo", - "The following will guide you through the process of creating or importing a wallet.": "Le guiaremos en el proceso de creación o importación de una billetera.", - "The node is currently syncing with the Kaspa p2p network.": "El nodo está actualmente sincronizándose con la red p2p de Kaspa.", - "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "El nodo está actualmente sincronizándose con la red p2p de Kaspa. Los saldos de la cuenta pueden estar desactualizados.", - "The node is spawned as a child daemon process (recommended).": "El nodo se ha creado como un proceso daemon dependiente (recomendado).", - "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "El nodo se ejecuta como parte del proceso de la aplicación Kaspa-NG. Esto reduce un gasto excesivo en comunicación (experimental).", - "Theme Color": "Color del Tema", - "Theme Color:": "Color del Tema:", - "Theme Style": "Estilo del Tema", - "Theme Style:": "Estilo del Tema:", - "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Esta billetera nunca te solicitará esta frase mnemotécnica a menos que inicie manualmente una recuperación de la clave privada.", - "Threshold": "Umbral", - "Time Offset:": "Desplazamiento de Tiempo:", - "Tip Hashes": "Tip Hashes", - "Tools ⏷": "Herramientas ⏷", - "Total Rx": "Rx Total", - "Total Rx/s": "Rx/s Total", - "Total Tx": "Tx Total", - "Total Tx/s": "Tx/s Total", - "Track in the background": "Rastrear en segundo plano", - "Transactions": "Transacciones", - "Transactions:": "Transacciones:", - "Type": "Tipo", - "UTXO Manager": "Manager UTXO", - "UTXOs": "UTXOs", - "UTXOs:": "UTXOs:", - "Unable to change node settings until the problem is resolved": "No se puede cambiar la configuración del nodo hasta que se resuelva el problema", - "Unlock": "Desbloquear", - "Unlock Wallet": "Desbloquear Billetera", - "Unlocking": "Desbloqueando", - "Update Available to version": "Actualizar Disponible a versión", - "Updating...": "Actualizando...", - "Uptime:": "Tiempo activo:", - "Use 50%-75% of available system memory": "Usar 50 %-75% de la memoria del sistema disponible", - "Use all available system memory": "Usar toda la memoria del sistema disponible", - "User Agent": "Agente de Usuario", - "User Interface": "Interfaz de Usuario", - "Very dangerous (may be cracked within few seconds)": "Muy peligroso (puede ser crackeado en unos pocos segundos)", - "Virt Parents": "Padres Virt", - "Virtual DAA Score": "Puntuación DAA Virtual", - "Virtual Memory": "Memoria Virtual", - "Virtual Parent Hashes": "Hashes Padres Virtuales", - "Volume": "Volumen", - "WASM SDK for JavaScript and TypeScript": "SDK WASM para JavaScript y TypeScript", - "Wallet": "Billetera", - "Wallet Created": "Billetera Creada", - "Wallet Encryption Password": "Contraseña de Encriptación de la Billetera", - "Wallet Name": "Nombre de la Billetera", - "Wallet Secret": "Clave Secreta de la Billetera", - "Wallet password is used to encrypt your wallet data.": "La contraseña de la billetera se usa para encriptar los datos de la billetera.", - "Wallet:": "Billetera:", - "We greatly appreciate your help in backing our efforts.": "Agradecemos enormemente tu ayuda para recompensar nuestros esfuerzos.", - "Welcome to Kaspa NG": "Bienvenidos a Kaspa NG", - "Xpub Keys": "Claves Xpub", - "You are currently not connected to the Kaspa node.": "No está conectado actualmente al nodo Kaspa.", - "You can configure remote connection in Settings": "Puede configurar la conexión remota en Configuración", - "You can create multiple wallets, but only one wallet can be open at a time.": "Puede crear múltiples billeteras, pero sólo una puede estar abierta a la vez", - "You must be connected to a node...": "Debe estar conectado a un nodo...", - "Your default wallet private key mnemonic is:": "Tu clave privada mnemotécnica por defecto es:", - "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Su frase mnemotécnica permite recrear su clave privada. Cualquier persona que tenga acceso a esta frase mnemotécnica, tendrá control total sobre el Kaspa almacenada en ella. Mantenga su frase mnemotécnica a salvo. Escríbala y guárdela en un lugar seguro, preferiblemente en un lugar ignífugo. No guarde su frase mnemotécnica en un ordenador o dipositivo móvil. Esta billetera nunca le pedirá esta frase mnemotécnica a menos que inicie manualmente una recuperación de la clave privada.", - "Your private key mnemonic is:": "Su frase privada mnemotécnica es:", - "Your wallet has been created and is ready to use.": "Su billetera ha sido creada y está lista para su uso", + "Please Confirm Deletion": "Please Confirm Deletion", + "Please configure your Kaspa NG settings": "Please configure your Kaspa NG settings", + "Please connect to Kaspa p2p node": "Please connect to Kaspa p2p node", + "Please create a stronger password": "Please create a stronger password", + "Please enter": "Please enter", + "Please enter KAS amount to send": "Please enter KAS amount to send", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Please enter an amount", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Please enter the account name", + "Please enter the wallet secret": "Please enter the wallet secret", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.", + "Please select an account type": "Please select an account type", + "Please select the private key to export": "Please select the private key to export", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Please set node to 'Disabled' to delete the data folder", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.", + "Please specify the name of the new wallet": "Please specify the name of the new wallet", + "Please specify the private key type for the new wallet": "Please specify the private key type for the new wallet", + "Please wait for the node to sync or connect to a remote node.": "Please wait for the node to sync or connect to a remote node.", + "Please wait for the node to sync...": "Please wait for the node to sync...", + "Please wait...": "Please wait...", + "Presets": "Presets", + "Price": "Price", + "Private Key Mnemonic": "Private Key Mnemonic", + "Processed Bodies": "Processed Bodies", + "Processed Dependencies": "Processed Dependencies", + "Processed Headers": "Processed Headers", + "Processed Mass Counts": "Processed Mass Counts", + "Processed Transactions": "Processed Transactions", + "Protocol:": "Protocol:", + "Public Node": "Public Node", + "Public Nodes": "Public Nodes", + "Public Server": "Public Server", + "Public p2p Nodes for": "Public p2p Nodes for", + "Random Public Node": "Random Public Node", + "Range:": "Range:", + "Receive Address": "Receive Address", + "Recommended arguments for the remote node: ": "Recommended arguments for the remote node: ", + "Redistributables": "Redistributables", + "Remote": "Remote", + "Remote Connection:": "Remote Connection:", + "Remote p2p Node Configuration": "Remote p2p Node Configuration", + "Removes security restrictions, allows for single-letter passwords": "Removes security restrictions, allows for single-letter passwords", + "Reset Settings": "Reset Settings", + "Reset VSPC": "Reset VSPC", + "Resident Memory": "Resident Memory", + "Resources": "Resources", + "Resulting daemon arguments:": "Resulting daemon arguments:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa on GitHub", + "Secret is too weak": "Secret is too weak", + "Secret score:": "Secret score:", + "Select Account": "Select Account", + "Select Available Server": "Select Available Server", + "Select Private Key Type": "Select Private Key Type", + "Select Public Node": "Select Public Node", + "Select Wallet": "Select Wallet", + "Select a wallet to unlock": "Select a wallet to unlock", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Send", + "Services": "Services", + "Settings": "Settings", + "Show DAA": "Show DAA", + "Show Grid": "Show Grid", + "Show VSPC": "Show VSPC", + "Show balances in alternate currencies for testnet coins": "Show balances in alternate currencies for testnet coins", + "Show passphrase": "Show passphrase", + "Show password": "Show password", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet", + "Skip": "Skip", + "Small (10 BPS)": "Small (10 BPS)", + "Spread": "Spread", + "Stage": "Stage", + "Starting...": "Starting...", + "Statistics": "Statistics", + "Stor Read": "Stor Read", + "Stor Write": "Stor Write", + "Storage": "Storage", + "Storage Read": "Storage Read", + "Storage Read/s": "Storage Read/s", + "Storage Write": "Storage Write", + "Storage Write/s": "Storage Write/s", + "Strong": "Strong", + "Submitted Blocks": "Submitted Blocks", + "Supporting Kaspa NG development": "Supporting Kaspa NG development", + "Syncing Cryptographic Proof...": "Syncing Cryptographic Proof...", + "Syncing DAG Blocks...": "Syncing DAG Blocks...", + "Syncing Headers...": "Syncing Headers...", + "Syncing UTXO entries...": "Syncing UTXO entries...", + "Syncing...": "Syncing...", + "System": "System", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.", + "The balance may be out of date during node sync": "The balance may be out of date during node sync", + "The following will guide you through the process of creating or importing a wallet.": "The following will guide you through the process of creating or importing a wallet.", + "The node is currently syncing with the Kaspa p2p network.": "The node is currently syncing with the Kaspa p2p network.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.", + "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Theme Color", + "Theme Color:": "Theme Color:", + "Theme Style": "Theme Style", + "Theme Style:": "Theme Style:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Threshold": "Threshold", + "Time Offset:": "Time Offset:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Tools ⏷", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Track in the background", + "Transactions": "Transactions", + "Transactions:": "Transactions:", + "Type": "Type", + "UTXO Manager": "UTXO Manager", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "Unable to change node settings until the problem is resolved", + "Unlock": "Unlock", + "Unlock Wallet": "Unlock Wallet", + "Unlocking": "Unlocking", + "Update Available to version": "Update Available to version", + "Updating...": "Updating...", + "Uptime:": "Uptime:", + "Use 50%-75% of available system memory": "Use 50%-75% of available system memory", + "Use all available system memory": "Use all available system memory", + "User Agent": "User Agent", + "User Interface": "User Interface", + "Very dangerous (may be cracked within few seconds)": "Very dangerous (may be cracked within few seconds)", + "Very weak": "Very weak", + "Virt Parents": "Virt Parents", + "Virtual DAA Score": "Virtual DAA Score", + "Virtual Memory": "Virtual Memory", + "Virtual Parent Hashes": "Virtual Parent Hashes", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", + "Wallet": "Wallet", + "Wallet Created": "Wallet Created", + "Wallet Encryption Password": "Wallet Encryption Password", + "Wallet Name": "Wallet Name", + "Wallet Secret": "Wallet Secret", + "Wallet password is used to encrypt your wallet data.": "Wallet password is used to encrypt your wallet data.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Wallet:", + "We greatly appreciate your help in backing our efforts.": "We greatly appreciate your help in backing our efforts.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Welcome to Kaspa NG", + "Xpub Keys": "Xpub Keys", + "You are currently not connected to the Kaspa node.": "You are currently not connected to the Kaspa node.", + "You can configure remote connection in Settings": "You can configure remote connection in Settings", + "You can create multiple wallets, but only one wallet can be open at a time.": "You can create multiple wallets, but only one wallet can be open at a time.", + "You must be connected to a node...": "You must be connected to a node...", + "Your default wallet private key mnemonic is:": "Your default wallet private key mnemonic is:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Your private key mnemonic is:": "Your private key mnemonic is:", + "Your wallet has been created and is ready to use.": "Your wallet has been created and is ready to use.", "Zoom": "Zoom", - "amount to send": "cantidad para enviar", - "bye!": "¡Adiós!", - "gRPC Network Interface & Port": "Interfaz de Red y Puerto gRPC", - "gRPC Rx": "Rx gRPC", - "gRPC Rx/s": "Rx/s gRPC", - "gRPC Tx": "Tx gRPC", - "gRPC Tx/s": "Tx/s gRPC", - "of": "de", - "p2p RPC": "RPC p2p", - "p2p Rx": "Rx p2p", - "p2p Rx/s": "Rx/s p2p", - "p2p Tx": "Tx p2p", - "p2p Tx/s": "Tx/s p2p", - "peer": "usuario", - "peers": "usuarios", - "wRPC Borsh Rx": "Rx Borsh wRPC", - "wRPC Borsh Rx/s": "Rx/s Borsh wRPC", - "wRPC Borsh Tx": "Tx Borsh wRPC", - "wRPC Borsh Tx/s": "Tx/s Borsh wRPC", - "wRPC Connection Settings": "Configuración Conexión wRPC", - "wRPC Encoding:": "Codificación wRPC:", - "wRPC JSON Rx": "Rx JSON wRPC", - "wRPC JSON Rx/s": "Rx/s JSON wRPC", - "wRPC JSON Tx": "Tx JSON wRPC", - "wRPC JSON Tx/s": "Tx/s JSON wRPC", - "wRPC URL:": "URL wRPC:" + "amount to send": "amount to send", + "bye!": "bye!", + "gRPC Network Interface & Port": "gRPC Network Interface & Port", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "of", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "peer", + "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC Connection Settings", + "wRPC Encoding:": "wRPC Encoding:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "words" }, - "et": {}, - "fa": { - "1 BPS test network": "شبکه تست 1 بلاک در ثانیه", - "10 BPS test network": "شبکه تست 10 بلاک در ثانیه", - "12 word mnemonic": "عبارت یادآور 12 کلمه ای", - "24 word mnemonic": "عبارت یادآور 24 کلمه ای", - "24h Change": "تغییر 24 ساعته", - "A binary at another location is spawned a child process (experimental, for development purposes only).": "یک باینری در مکان دیگری یک پردازش فرزند ایجاد می شود (تجربی، فقط برای اهداف توسعه دهندگی).", - "A random node will be selected on startup": "یک نود تصادفی در راه اندازی انتخاب خواهد شد", - "A wallet is stored in a file on your computer.": "یک کیف پول در فایلی در رایانه شما ذخیره می شود.", - "Account Index": "فهرست راهنمای حساب", - "Account Name": "نام حساب", - "Account:": "حساب:", - "Activate custom daemon arguments": "فعال کردن آرگومان های سرویس سفارشی ", - "Active p2p Peers": "فعال سازی همتایان p2p", - "Address derivation scan": "اسکن مشتق آدرس", - "Address:": "آدرس:", - "Advanced": "پیشرفته", - "All": "همه", - "Allow custom arguments for the Rusty Kaspa daemon": "اجازه دادن آرگومان های سفارشی برای سرویس Rusty Kaspa ", - "Allows you to take screenshots from within the application": "به شما امکان می دهد از داخل برنامه اسکرین شات بگیرید", - "Apply": "اعمال کردن", - "Balance: N/A": "موجودی: در دسترس نیست", - "Bandwidth": "پهنای باند", - "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "به دلیل تمرکز بر امنیت و عملکرد، این نرم افزار به طور کامل در Rust توسعه یافته است و در مقایسه با سایر نرم افزارهای سنتی مدرن مبتنی بر وب، زمان و تلاش بیشتری را می طلبد.", - "Bezier Curves": "منحنی های Bezier", - "Block DAG": "Block DAG", - "Block Scale": "مقیاس بلاک", - "Blocks": "بلاک ها", - "Bodies": "اجسام", - "Borsh Active Connections": "اتصالات فعال Borsh", - "Borsh Connection Attempts": "تلاش ها برای اتصال Borsh", - "Borsh Handshake Failures": "عدم موفقیت در تبادل اطلاعات با Borsh", - "Build": "ساختن", - "CONNECTED": "وصل شد", - "CPU": "CPU", - "Cache Memory Size": "اندازه حافظه کش", - "Cache Memory Size:": "اندازه حافظه کش:", - "Cancel": "لغو", - "Cannot delete data folder while the node is running": "در حالی که نود در حال اجرا است، نمی توان پوشه داده ها را حذف کرد", - "Capture a screenshot": "اسکرین شات بگیرید", - "Center VSPC": "مرکز VSPC", - "Chain Blocks": "بلوک های زنجیره ای", - "Change Address": "تغییر آدرس", - "Check for Software Updates on GitHub": "بررسی بروز رسانی های نرم افزار در GitHub ", - "Check for Updates": "بررسی بروز رسانی ها", - "Clear": "پاک کردن", - "Click to try another server...": "روی سرور دیگری کلیک کنید...", - "Client RPC": "کلاینت RPC", - "Close": "بستن", - "Confirm wallet password": "تایید کلمه عبور کیف پول", - "Connect to a local node (localhost)": "اتصال به یک نود محلی (میزبان محلی)", - "Connecting to": "ارتباط با", - "Connection": "اتصال", - "Connections": "اتصال ها", - "Connects to a Remote Rusty Kaspa Node via wRPC.": "از طریق wRPC به یک Remote Rusty Kaspa Node متصل می شود.", - "Conservative": "با دوام", - "Continue": "ادامه", - "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "مشارکت های انجام شده در این پروژه به طور مستقیم به نرم افزار Kaspa NG و اکوسیستم آن کمک می کند.", - "Copied to clipboard": "در کلیپ بورد کپی شد", - "Copy": "کپی", - "Copy logs to clipboard": "کپی گزارش‌ها را در کلیپ بورد ", - "Create New Account": "ایجاد حساب کاربری جدید", - "Create New Wallet": "ایجاد کردن کیف پول جدید", - "Create new wallet": "ساختن کیف پول جدید", - "Creating Account": "ایجاد حساب کاربری", - "Creating Wallet": "ساختن کیف پول", - "Custom": "سفارشی", - "Custom Public Node": "نود عمومی سفارشی", - "Custom arguments:": "آرگومان های سفارشی:", + "de": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "Der 'Phishing-Hinweis' ist ein geheimes Wort oder Redewendung, welche beim Öffnen des Wallets angezeigt wird. Wenn dieser Hinweis nicht angezeigt wird, öffnen Sie mglw. ein Fake-Wallet, welches erzeugt wurde, um Ihr Guthaben zu stehlen. Sollte das passieren, stoppen Sie die Verwendung dieses Wallets sofort, prüfen Sie die Browser-URL und fragen Sie in den sozialen Netzwerken nach (Kaspa Discord und Telegram).", + "1 BPS test network": "1 BPS Testnetz", + "10 BPS test network": "10 BPS test network", + "12 word mnemonic": "12-Wort Merktext", + "24 word mnemonic": "24-Wort Merktext", + "24h Change": "24h Marktpreisänderung", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "Ein Programm an einer anderen Lokation hat einen Kind-Prozess gestartet (experimentell, nur für Entwickler).", + "A random node will be selected on startup": "Beim Start wird ein zufälliger Knoten ausgewählt", + "A wallet is stored in a file on your computer.": "Das Wallet wird in einer Datei auf Ihrem Computer abgespeichert.", + "Account Index": "Kontoindex", + "Account Name": "Kontoname", + "Account:": "Konto:", + "Activate custom daemon arguments": "Erweiterte Dienst-Argumente aktivieren", + "Active p2p Peers": "Aktive p2p-Verbindungen", + "Address derivation scan": "Abgeleitete Adressen suchen", + "Address:": "Adresse:", + "Advanced": "Erweitert", + "Advanced Options": "Erweiterte Optionen", + "All": "Alle", + "Allow clipboard copy": "Verwendung der Zwischenablage erlauben", + "Allow custom arguments for the Rusty Kaspa daemon": "Erlaube zusätzliche Argumente für den Rusty Kaspa Dienst", + "Allows you to take screenshots from within the application": "Ermöglicht es, innerhalb der Applikation Bildschirmfotos anzufertigen", + "Apply": "Anwenden", + "Balance: N/A": "Kontostand: N/A", + "Bandwidth": "Bandbreite", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Durch den Fokus auf Sicherheit und Leistung, wurde diese Software vollständig in Rust entwickelt, was einen signifikant höheren Einsatz und Zeitaufwand gegenüber herkömmlicher, Web-basierter Software bedeutet.", + "Bezier Curves": "Bezier-Kurven", + "Block DAG": "Block DAG", + "Block Scale": "Block Skalierung", + "Blocks": "Blöcke", + "Bodies": "Inhalt", + "Borsh Active Connections": "Aktive Borsh Verbindungen", + "Borsh Connection Attempts": "Borsh Verbindungsversuche", + "Borsh Handshake Failures": "Borsh Handshake-Fehler", + "Build": "Applikationsdetails", + "CONNECTED": "VERBUNDEN", + "CPU": "CPU", + "Cache Memory Size": "Grösse Zwischenspeicher", + "Cache Memory Size:": "Grösse Zwischenspeicher:", + "Cancel": "Abbrechen", + "Cannot delete data folder while the node is running": "Datenverzeichnis kann nicht gelöscht werden, solange der Knoten läuft", + "Capture a screenshot": "Bildschirmfoto anlegen", + "Center VSPC": "Zentriere VSPC", + "Chain Blocks": "Blockkette", + "Change Address": "Adresse wechseln", + "Check for Software Updates on GitHub": "GitHub auf Updates überprüfen", + "Check for Updates": "Auf Aktualisierungen prüfen", + "Clear": "Löschen", + "Click to try another server...": "Versuche anderen Server...", + "Client RPC": "Client RPC", + "Close": "Schliessen", + "Close the window": "Schliesse das Fenster", + "Confirm BIP39 passphrase": "BIP39 Passphrase bestätigen", + "Confirm wallet password": "Wallet-Passwort bestätigen", + "Connect to a local node (localhost)": "Zu einem lokalen Knoten (localhost) verbinden", + "Connecting to": "Verbinde zu", + "Connection": "Verbindung", + "Connections": "Verbindungen", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Verbindet zu einem entfernten Rusty Kaspa Knoten via wRPC.", + "Conservative": "Zurückhaltend", + "Continue": "Weiter", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Spenden an das Projekt fliessen direkt in die Weiterentwicklung von Kaspa NG sowie dessen Ökosystem.", + "Copied to clipboard": "In die Zwischenablage kopiert", + "Copy": "Kopieren", + "Copy logs to clipboard": "Logs in die Zwischenablage kopieren", + "Create New Account": "Neues Konto anlegen", + "Create New Wallet": "Neues Wallet anlegen", + "Create Wallet": "Erzeuge Wallet", + "Create new wallet": "Neues Wallet anlegen", + "Creating Account": "Lege Konto an", + "Creating Wallet": "Lege Wallet an", + "Custom": "Individuell", + "Custom Public Node": "Individueller öffentlicher Knoten", + "Custom arguments:": "Zusätzliche Argumente:", + "Custom data storage folder": "Anderer Datenordner", "DAA": "DAA", - "DAA Offset": " نقطه آغازین ترتیب دستیابى داده ها DAA", - "DAA Range": "محدوده ترتیب دستیابى داده ها DAA", - "DB Blocks": "بلاک های پایگاه داده", - "DB Headers": "سربرگ های DB", - "Database Blocks": "بلاک های پایگاه داده ها", - "Database Headers": "سربرگ های پایگاه داده ها", - "Decrypting wallet, please wait...": "در حال رمزگشایی کیف پول، لطفا صبر کنید...", - "Default": "پیش فرض", - "Default Account Name": "نام حساب پیش فرض", - "Delete Data Folder": "پوشه داده ها را حذف کنید", - "Dependencies": "وابستگی ها", - "Derivation Indexes": "شاخص های مشتق", - "Details": "جزییات", - "Developer Mode": "تنظیمات برنامه نویسی", - "Developer Resources": "منابع برنامه نویسی", - "Developer mode enables advanced and experimental features": "حالت برنامه نویسی ویژگی های پیشرفته و آزمایشی را فعال می کند", - "Difficulty": "سختی", - "Dimensions": "ابعاد", - "Disable password score restrictions": "غیرفعال کردن محدودیت امتیاز کلمه عبور", - "Disabled": "غیرفعال ", - "Disables node connectivity (Offline Mode).": "اتصال نود را غیرفعال می کند (حالت آفلاین).", - "Discord": "دیسکورد", - "Donations": "کمک های مالی", - "Double click on the graph to re-center...": "روی نمودار دوبار کلیک کنید تا دوباره در وسط قرار دهید...", + "DAA Offset": "DAA Offset", + "DAA Range": "DAA-Bereich", + "DB Blocks": "DB-Blöcke", + "DB Headers": "DB Kopfzeilen", + "Dangerous": "Gefährlich", + "Data Storage": "Datenspeicher (HDD)", + "Database Blocks": "DB Blöcke", + "Database Headers": "DB Kopfzeilen", + "Decrypting wallet, please wait...": "Entschlüssele Wallet, bitte warten...", + "Default": "Standard", + "Default Account Name": "Name Standardkonto", + "Delete Data Folder": "Datenordner löschen", + "Dependencies": "Abhängigkeiten", + "Derivation Indexes": "Herleitungsindexe", + "Details": "Details", + "Developer Mode": "Entwicklermodus", + "Developer Resources": "Entwickler-Resourcen", + "Developer mode enables advanced and experimental features": "Entwicklermodus aktiviert erweiterte und experimentelle Funktionen", + "Difficulty": "Schwierigkeit", + "Dimensions": "Abmessungen", + "Disable password safety rules": "Passwortregeln abschalten", + "Disabled": "Deaktiviert", + "Disables node connectivity (Offline Mode).": "Schaltet die Verbindung des Knotens ab (Offline-Modus).", + "Discord": "Discord", + "Donations": "Spenden", + "Double click on the graph to re-center...": "Im Graph doppelklicken, um zu zentrieren...", "ECDSA": "ECDSA", - "Enable Market Monitor": "فعال سازی مشاهده بازار", - "Enable UPnP": "فعال سازی UPnP", - "Enable custom daemon arguments": "آرگومان های سرویس سفارشی را فعال کنید", - "Enable experimental features": "فعال سازی ویژگی های آزمایشی", - "Enable gRPC": "فعال سازی gRPC", - "Enable optional BIP39 passphrase": "فعال کردن عبارت عبور اختیاری BIP39 ", - "Enable screen capture": "فعال کردن ضبط صفحه", - "Enables features currently in development": "فعال سازی ویژگی‌هایی که در حال توسعه هستند", - "Enter": "ورود", - "Enter account name (optional)": "نام حساب را وارد کنید (اختیاری)", - "Enter first account name": "نام اولین حساب کاربری را وارد کنید", - "Enter phishing hint": "وارد کردن راهنمایی فیشینگ", - "Enter the amount": "مقدار را وارد کنید", - "Enter the password for your wallet": "رمز عبور کیف پول خود را وارد کنید", - "Enter the password to unlock your wallet": "کلمه عبور را برای باز کردن کیف پول خود وارد کنید", - "Enter wallet name": "وارد کردن نام کیف پول", - "Enter wallet password": "وارد کردن کلمه عبور کیف پول", - "Enter your wallet secret": "رمز کیف پول خود را وارد کنید", - "Explorer": "کاوشگر", - "Export Wallet Data": "صدور داده های کیف پول", - "Faucet": "فاست", - "File Handles": "دسته های فایل", - "Filename:": "نام فایل:", - "Final Amount:": "مبلغ نهایی:", - "GitHub Release": "انتشار GitHub", - "Go to Settings": "برو به تنظیمات", - "Handles": "دستگیره ها", - "Headers": "سربرگ ها", + "Enable Market Monitor": "Markt-Monitor einschalten", + "Enable UPnP": "UPnP aktivieren", + "Enable custom daemon arguments": "Individuelle Argumente des Dienstes aktivieren", + "Enable experimental features": "Experimentelle Funktionen aktivieren", + "Enable gRPC": "gRPC aktivieren", + "Enable optional BIP39 passphrase": "Optionales BIP39-Passwort aktivieren", + "Enable screen capture": "Bildschirmfotos ermöglichen", + "Enables features currently in development": "Schaltet Funktionen frei, welche sich noch in Entwicklung befinden", + "Enter": "Bestätige", + "Enter BIP39 passphrase": "BIP39 Passphrase eingeben", + "Enter account name (optional)": "Bitte Kontoname eingeben (optional)", + "Enter first account name": "Name des ersten Kontos eingeben", + "Enter mnemonic": "Merktext eingeben", + "Enter phishing hint": "Bitte Phishing-Hinweis eingeben", + "Enter the amount": "Bitte Betrag eingeben", + "Enter the password for your wallet": "Bitte Wallet-Passwort eingeben", + "Enter the password to unlock your wallet": "Bitte Passwort zum Entsperren des Wallet eingeben", + "Enter wallet name": "Wallet-Name eingeben", + "Enter wallet password": "Wallet-Passwort eingeben", + "Enter your wallet secret": "Bitte Wallet-Geheimtext eingeben", + "Exit Full Screen": "Vollbild-Darstellung beenden", + "Explorer": "Explorer", + "Export Wallet Data": "Walletdaten exportieren", + "Faucet": "Fontäne", + "File Handles": "Dateihandles", + "Filename:": "Dateiname:", + "Final Amount:": "Gesamtbetrag:", + "Full Screen": "Vollbild", + "GitHub Release": "GitHub Release", + "Go to Settings": "Settings öffnen", + "Good": "Gut", + "Handles": "Handles", + "Headers": "Kopfzeilen", + "I have a 12 word mnemonic legacy account": "Ich habe einen alten (legacy) 12-Wort Merktext Account", "IBD:": "IBD:", - "If not specified, the account will be represented by the numeric id.": "اگر مشخص نشده باشد، حساب با شناسه عددی نشان داده می شود.", - "If you are running locally, use: ": "اگر بصورت محلی اجرا می کنید،استفاده کنید از:", - "Import existing": "وارد کردن موجود", - "Inbound": "ورودی", - "Include QoS Priority Fees": "شامل هزینه های اولویت QoS", - "Integrated Daemon": "سرویس یکپارچه", - "Invalid daemon arguments": "نامعتبر بودن آرگومان های سرویس نامعتبر", - "Invalid network type - expected: testnet-10 connected to: testnet-11": "نوع شبکه مورد نظر نامعتبر است: شبکه تست-10 متصل به: شبکه تست-11 ", - "Invalid wRPC URL": "آدرس wPRC نامعتبر", - "Json Active Connections": "اتصالات فعال Json", - "Json Connection Attempts": "تلاش های اتصال Json", - "Json Handshake Failures": "عدم موفقیت در تبادل اطلاعات با Json", - "Kaspa Discord": "دیسکورد Kaspa", - "Kaspa Integration Guide": "راهنمای ادغام Kaspa", + "If not specified, the account will be represented by the numeric id.": "Wenn nicht angegeben, wird das Konto durch einen numerischen Identifikator repräsentiert.", + "If you are running locally, use: ": "Bei lokalem Betrieb, bitte folgendes verwenden:", + "Import Existing Private Key": "Existierenden privaten Schlüssel importieren", + "Import existing": "Existierendes Wallet importieren", + "Importing Wallet": "Importiere Wallet", + "Inbound": "Eingehend", + "Include QoS Priority Fees": "QoS Prioritätsgebühren integrieren", + "Integrated Daemon": "Integrierter Dienst", + "Invalid daemon arguments": "Ungültige Service-Argumente", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Ungültiger Netzwerktyp. Erwartet: Testnetz 10 jedoch verbunden mit Testnetz 11", + "Invalid wRPC URL": "Ungültige wRPC URL", + "Json Active Connections": "Aktive JSON-Verbindungen", + "Json Connection Attempts": "JSON Verbindungsversuche", + "Json Handshake Failures": "Json Handshake Fehler", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Kaspa Integrationsleitfaden", "Kaspa NG": "Kaspa NG", - "Kaspa NG Online": "Kaspa NG آنلاین", - "Kaspa NG Web App": "اپلیکشین تحت وب Kaspa NG", - "Kaspa NG on GitHub": "Kaspa NG در GitHub", - "Kaspa NG online": "Kaspa NG آنلاین", - "Kaspa Network": "شبکه Kaspa", - "Kaspa Node": "نود Kaspa", - "Kaspa p2p Network & Node Connection": "شبکه Kaspa p2p و اتصال نود", - "Kaspa p2p Node": "نود Kaspa p2p", - "Kaspa p2p Node & Connection": "اتصال و نود Kaspa p2p", - "Key Perf.": "عملکرد کلیدی", - "Language:": "زبان:", - "Large (1 BPS)": "بزرگ (1 BPS)", - "Levels": "سطوح", - "License Information": "اطلاعات مجوز", - "Local": "محلی", - "Local p2p Node Configuration": "پیکربندی نود p2p محلی", - "Logs": "گزارشات", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Web-Applikation", + "Kaspa NG on GitHub": "Kaspa NG auf GitHub", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Kaspa Netzwerk", + "Kaspa Node": "Kaspa Knoten", + "Kaspa p2p Network & Node Connection": "Kaspa p2p Netzwerk & Knotenverbindungen", + "Kaspa p2p Node": "Kaspa p2p Knoten", + "Kaspa p2p Node & Connection": "Kaspa p2p Knoten und Verbindung", + "Key Perf.": "Leistung", + "Language:": "Sprache:", + "Large (1 BPS)": "Gross (1 BPS)", + "Levels": "Ebenen", + "License Information": "Lizenzinformationen", + "Local": "Lokal", + "Local p2p Node Configuration": "Konfiguration des lokalen p2p Knotens", + "Logs": "Logs", "MT": "MT", - "Main Kaspa network": "شبکه اصلی Kaspa", - "Mainnet": "شبکه اصلی", - "Mainnet (Main Kaspa network)": "شبکه اصلی (شبکه اصلی Kaspa)", - "Managed by the Rusty Kaspa daemon": "مدیریت توسط سرویس Rusty Kaspa ", - "Market": "بازار", - "Market Cap": "ارزش بازاری", - "Market Monitor": "مشاهده بازار", + "Main Kaspa network": "Kaspa Hauptnetz", + "Mainnet": "Hauptnetz", + "Mainnet (Main Kaspa network)": "Hauptnetz (Kaspa Main-Netzwerk)", + "Managed by the Rusty Kaspa daemon": "Verwaltet vom Rusty Kaspa Dienst", + "Market": "Markt", + "Market Cap": "Marktkapitalisierung", + "Market Monitor": "Marktmonitor", + "Mass Processed": "Bearbeitete Menge", + "Maximize window": "Fenster maximieren", + "Medium Narrow": "Mittelbreit", + "Medium Wide": "Mittlere Breite", + "Memory": "RAM", + "Mempool": "RAM-Bereich", + "Mempool Size": "Grösse RAM-Bereich", + "Metrics": "Metriken", + "Metrics are not currently available": "Metriken momentan nicht verfügbar", + "Minimize the window": "Fenster minimieren", + "Mnemonic Import": "Importiere Merktext", + "NPM Modules for NodeJS": "NPM Module für NodeJS", + "Network": "Netzwerk", + "Network Difficulty": "Netzwerk-Schwierigkeit", + "Network Fees:": "Netzwerk-Gebühren:", + "Network Interface": "Netzwerkschnittstelle", + "Network Peers": "Netzwerkverbindungen", + "Never share your mnemonic with anyone!": "Teilen Sie ihren Merktext niemals mit anderen!", + "No peers": "Keine Verbindungen", + "No public node selected - please select a public node": "Kein öffentlicher Knoten ausgewählt - bitte öffentlichen Knoten auswählen", + "No transactions": "Keine Transaktionen", + "No wallets found, please create a new wallet": "Keine Wallets gefunden, bitte neues Wallet anlegen", + "Node": "Knoten", + "Node Status": "Status des Knotens", + "Noise": "Rauschen", + "None": "Keine", + "Not Connected": "Nicht verbunden", + "Not connected": "Nicht verbunden", + "Notifications": "Benachrichtigungen", + "Open Data Folder": "Datenverzeichnis öffnen", + "Opening wallet:": "Öffne Wallet:", + "Optional": "Optional", + "Other operations": "Andere Tätigkeiten", + "Outbound": "Ausgehend", + "Overview": "Übersicht", + "Parents": "Eltern", + "Passphrase is too weak": "Passphrase zu schwach", + "Passphrases do not match": "Passphrases stimmen nicht überein", + "Passwords do not match": "Passwörter stimmen nicht überein", + "Past Median Time": "Durchschnitt letzter Blockzeiten", + "Payment & Recovery Password": "Zahlungs- und Wiederherstellungspasswort", + "Payment Request": "Zahlungsanforderung", + "Peers": "Verbindungen", + "Performance": "Leistung", + "Phishing Hint": "Phishing-Hinweis", + "Ping:": "Ping:", + "Please Confirm Deletion": "Löschen bitte bestätigen", + "Please configure your Kaspa NG settings": "Bitte Kaspa NG einrichten", + "Please connect to Kaspa p2p node": "Bitte zu einem Kaspa p2p-Knoten verbinden", + "Please create a stronger password": "Bitte ein stärkeres Passwort verwenden", + "Please enter": "Bitte eingeben", + "Please enter KAS amount to send": "Bitte den zu sendenden KAS-Betrag eingeben", + "Please enter additional": "Bitte zusätzliche eingeben", + "Please enter an amount": "Bitte Betrag eingeben", + "Please enter mnemonic comprised of 12 words": "Bitte den aus 12 Wörtern bestehenden Merktext eingeben", + "Please enter mnemonic comprised of 24 words": "Bitte den aus 24 Wörtern bestehenden Merktext eingeben", + "Please enter the account name": "Bitte den Kontoname eingeben", + "Please enter the wallet secret": "Bitte Wallet-Merktext eingeben", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Bitte beachten, dass das ein Alpha-Release ist. Solange diese Meldung nicht entfernt wurde, bitte die Verwendung mit Hauptnetz- (Mainnet-) Wallets vermeiden.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Bitte beachten: Das Kopieren in die Zwischenablage birgt das Risiko, dass ihr Merktext von einer Malware ausgelesen werden kann.", + "Please select an account type": "Bitte Kontotyp auswählen", + "Please select the private key to export": "Bitte zu exportierenden privaten Schlüssel auswählen", + "Please select the private key type you would like to import in the new wallet": "Bitte wählen Sie, welchen Typ von privatem Schlüssel Sie für das neue Wallet importieren möchten", + "Please set node to 'Disabled' to delete the data folder": "Um den Datenordner zu löschen, bitte den Knoten auf 'Deaktiviert' stellen", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Bitte geben Sie den Name des Standardkontos an. Das Wallet wird mit einem Standardkonto angelegt. Einmal erzeugt, können nach Bedarf weitere Konten angelegt werden.", + "Please specify the name of the new wallet": "Bitte Name des neuen Wallet eingeben", + "Please specify the private key type for the new wallet": "Bitte Typ des privaten Schlüssels für das neue Wallet angeben", + "Please wait for the node to sync or connect to a remote node.": "Bitte warten, bis der Knoten synchronisiert bzw. zu einem entfernten Knoten verbunden ist.", + "Please wait for the node to sync...": "Bitte warten bis Knoten synchronisiert ist...", + "Please wait...": "Bitte warten...", + "Presets": "Standardeinstellungen", + "Price": "Preis", + "Private Key Mnemonic": "Merktext des privaten Schlüssels", + "Processed Bodies": "Bearbeiteter Inhalt", + "Processed Dependencies": "Bearbeitete Abhängigkeiten", + "Processed Headers": "Abgearbeitete Kopfzeilen", + "Processed Mass Counts": "Verarbeitete Menge", + "Processed Transactions": "Abgearbeitete Transaktionen", + "Protocol:": "Protokoll:", + "Public Node": "Öffentlicher Knoten", + "Public Nodes": "Öffentliche Knoten", + "Public Server": "Öffentlicher Server", + "Public p2p Nodes for": "Öffentliche p2p-Knoten für", + "Random Public Node": "Zufälliger öffentlicher Knoten", + "Range:": "Bereich:", + "Receive Address": "Empfangsadresse", + "Recommended arguments for the remote node: ": "Empfohlene Argumente für den entfernten Knoten:", + "Redistributables": "Release-Download", + "Remote": "Entfernt", + "Remote Connection:": "Verbindungen nach aussen:", + "Remote p2p Node Configuration": "Konfiguration des entfernten p2p-Knotens", + "Removes security restrictions, allows for single-letter passwords": "Entfernt Sicherheitsbeschränkungen, erlaubt Passwörter mit nur einem Zeichen", + "Reset Settings": "Einstellungen zurücksetzen", + "Reset VSPC": "VSPC zurücksetzen", + "Resident Memory": "Physischer RAM", + "Resources": "Resourcen", + "Resulting daemon arguments:": "Resultierende Dienst-Argumente:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa auf GitHub", + "Secret is too weak": "Geheimschlüssel zu schwach", + "Secret score:": "Passwortstärke", + "Select Account": "Konto auswählen", + "Select Available Server": "Verfügbaren Server auswählen", + "Select Private Key Type": "Typ des privaten Schlüssels auswählen", + "Select Public Node": "Öffentlichen Knoten auswählen", + "Select Wallet": "Wallet auswählen", + "Select a wallet to unlock": "Zum Entsperren bitte Wallet auswählen", + "Select this option if your wallet was created": "Diese Option wählen, wenn Ihr Wallet durch KDX", + "Send": "Senden", + "Services": "Dienste", + "Settings": "Einstellungen", + "Show DAA": "DAA anzeigen", + "Show Grid": "Netz anzeigen", + "Show VSPC": "VSPC anzeigen", + "Show balances in alternate currencies for testnet coins": "Kontostand für Testnet-Coins in alternativer Währung anzeigen", + "Show passphrase": "Passphrase anzeigen", + "Show password": "Passwort zeigen", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Zeigt den Kontostand in einer alternativen Währung (BTC, USD) im Testnetz, so als wären Sie im Hauptnetz.", + "Skip": "Überspringen", + "Small (10 BPS)": "Klein (10BPS)", + "Spread": "Spreizung", + "Stage": "Stufe", + "Starting...": "Starte...", + "Statistics": "Statistiken", + "Stor Read": "HDD lesen", + "Stor Write": "HDD schreiben", + "Storage": "HDD", + "Storage Read": "Lesezugriff", + "Storage Read/s": "HDD lesen/s", + "Storage Write": "Schreibzugriff", + "Storage Write/s": "HDD schreiben/s", + "Strong": "Stark", + "Submitted Blocks": "Übermittelte Blöcke", + "Supporting Kaspa NG development": "Kaspa NG Entwicklung unterstützen", + "Syncing Cryptographic Proof...": "Synchronisiere kryptografischen Nachweiss...", + "Syncing DAG Blocks...": "DAG-Blöcke werden synchronisiert...", + "Syncing Headers...": "Synchronisiere Kopfzeilen...", + "Syncing UTXO entries...": "UTXO-Einträge werden synchronisiert...", + "Syncing...": "Synchronisiere...", + "System": "System", + "TPS": "TPS", + "Testnet 10": "Testnetz 10", + "Testnet 10 (1 BPS)": "Testnetz 10 (1 BPS)", + "Testnet 11": "Testnetz 11", + "Testnet 11 (10 BPS)": "Testnetz 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnetz 11 ist im Moment für öffentliche Tests noch nicht aktiviert. Sie können aber in den Einstellungen die Verbindung zu einem privaten Entwickler-Testnetz einstellen.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Kaspa NG repräsentiert einen fortwährenden Einsatz, für das Kaspa BlockDAG Kryptowährung eine Software-Platform basierend auf aktuellem Stand der Technik zu entwickeln. Der ideologische Focus priorisiert dabei Sicherheit, Privatsphäre, Leistung und Dezentralisierung.", + "The balance may be out of date during node sync": "Der Kontostand ist während der Synchronisation des Knotens mglw. nicht aktuell", + "The following will guide you through the process of creating or importing a wallet.": "Im folgenden werden Sie durch den Prozess von Wallet-Erzeugung und -Import geführt", + "The node is currently syncing with the Kaspa p2p network.": "Der Knoten synchronisiert sich mit dem Kaspa p2p-Netzwerk.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "Der Knoten synchronisiert sich momentan mit dem Kaspa p2p Netzwerk. Die Kontostände können daher nicht aktuell sein.", + "The node is spawned as a child daemon process (recommended).": "Der Knoten wurde als Kind-Prozess gestartet (empfohlen).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "Der Knoten läuft als Teil des Kaspa NG Applikationsprozesses. Das reduziert den Kommunikationsaufwand (experimentell).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "Die optionale Zahlungs- und Wiederherstellungs-Passphrase, bekannt als BIP39-Passphrase, wird wenn angegeben verwendet, um Zahlungen auszulösen. Diese Passphrase wird ausserdem bei der Wallet-Wiederherstellung zusätzlich zum Merktext benötigt. Wenn Sie diese Passphrase vergessen, werden Sie den Merktext zur Wiederherstellung des Wallets nicht benutzen können!", + "Theme Color": "Farbschema", + "Theme Color:": "Farbschema:", + "Theme Style": "Thema", + "Theme Style:": "Thema:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Das Wallet wird niemals nach Ihrem Merktext fragen, solange Sie nicht die Wiederherstellung des privaten Schlüssels starten.", + "Threshold": "Schwellwert", + "Time Offset:": "Zeitversatz:", + "Tip Hashes": "BlockDAG-Spitzen", + "Tools ⏷": "Werkzeuge⏷", + "Total Rx": "Summe Rx", + "Total Rx/s": "Summe Rx/s", + "Total Tx": "Summe Tx", + "Total Tx/s": "Summe Tx/s", + "Track in the background": "Im Hintergrund verfolgen", + "Transactions": "Transaktionen", + "Transactions:": "Transaktionen:", + "Type": "Typ", + "UTXO Manager": "UTXO-Manager", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "Bis das Problem gelöst ist, können die Einstellungen des Knotens nicht angepasst werden", + "Unlock": "Entsperren", + "Unlock Wallet": "Wallet entsperren", + "Unlocking": "Entsperren", + "Update Available to version": "Aktualisierung verfügbar auf Version", + "Updating...": "Aktualisiere...", + "Uptime:": "Laufzeit:", + "Use 50%-75% of available system memory": "Benutze 50 %-75%des verfügbaren Systemspeichers", + "Use all available system memory": "Gesamten verfügbaren Systemspeicher verwenden", + "User Agent": "Programm", + "User Interface": "Benutzeroberfläche", + "Very dangerous (may be cracked within few seconds)": "Sehr gefährlich (mglw. innerhalb von Sekunden gebrochen)", + "Very weak": "Sehr schwach", + "Virt Parents": "Virt Eltern", + "Virtual DAA Score": "Virtueller DAA-Stand", + "Virtual Memory": "Virtueller RAM", + "Virtual Parent Hashes": "Checksummen der virtuellen Eltern", + "Volume": "Menge", + "WASM SDK for JavaScript and TypeScript": "WASM SDK für JavaScript und TypeScript", + "Wallet": "Wallet", + "Wallet Created": "Wallet angelegt", + "Wallet Encryption Password": "Wallet Verschlüsselungspasswort", + "Wallet Name": "Wallet-Name", + "Wallet Secret": "Wallet-Passwort", + "Wallet password is used to encrypt your wallet data.": "Das Wallet-Passwort wird verwendet, um die Daten im Wallet zu verschlüsseln.", + "Wallet with this name already exists": "Ein Wallet mit diesem Name existiert bereits", + "Wallet:": "Wallet:", + "We greatly appreciate your help in backing our efforts.": "Jedwede Unterstützung unserer Anstrengungen wird geschätzt.", + "Weak": "Schwach", + "Welcome to Kaspa NG": "Herzlich willkommen bei Kaspa NG", + "Xpub Keys": "Xpub Schlüssel", + "You are currently not connected to the Kaspa node.": "Sie sind momentan nicht mit einem Kaspa-Knoten verbunden.", + "You can configure remote connection in Settings": "Verindungen können in den Einstellungen konfiguriert werden", + "You can create multiple wallets, but only one wallet can be open at a time.": "Sie können mehrere Wallets anlegen aber nur ein Wallet kann jeweils geöffnet sein.", + "You must be connected to a node...": "Sie müssen zu einem Knoten verbunden sein", + "Your default wallet private key mnemonic is:": "Ihr Merktext zum privaten Schlüssel des Standard-Wallet ist:", + "Your mnemonic is protected with a bip39 passphrase": "Ihr Merktext wird von einem bip39 Passwort geschützt", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Ihr Merktext erlaubt es, Ihren privaten Schlüssel wiederherzustellen. Jeder mit Zugriff auf diesen Merktext hat die volle Kontrolle über die darin enthaltenen Kaspa. Bitte verwahren Sie den Merktext sicher. Schreiben Sie ihn auf und verwahren Sie ihn an einem sicheren, idealerweise brandgeschütztem Ort. Speichern Sie den Merktext keinesfalls auf einem Computer oder einem Mobiltelefon! Das Wallet wird niemals nach dem Merktext fragen, solange Sie nicht die Wiederherstellung des privaten Schlüssels starten.", + "Your private key mnemonic is:": "Ihre privater Merkhilfeschlüssel ist: ", + "Your wallet has been created and is ready to use.": "Ihr Wallet wurde angelegt und ist bereit zur Verwendung.", + "Zoom": "Vergrösserung", + "amount to send": "Zu sendender Betrag", + "bye!": "Auf Wiedersehen!", + "gRPC Network Interface & Port": "gRPC Netzwerkschnittstelle und Port", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "von", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "Verbindung", + "peers": "Peers", + "secp256k1 keypair": "secp256k1 Schlüsselpaar", + "using KDX or kaspanet.io web wallet": "oder das kaspanet.io Web-Wallet erzeugt wurde.", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC Verbindungseinstellungen", + "wRPC Encoding:": "wRPC Kodierung:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "Wörter" + }, + "el": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "Δίκτυο δοκιμών 1 BPS", + "10 BPS test network": "Δίκτυο δοκιμών 10 BPS", + "12 word mnemonic": "Μνημονικό 12 λέξεων", + "24 word mnemonic": "Μνημονικό 24 λέξεων", + "24h Change": "24ωρη Αλλαγή", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "Ένα δυαδικό αρχείο σε άλλη τοποθεσία δημιούργησε μια θυγατρική διαδικασία (πειραματική, μόνο για αναπτυξιακούς σκοπούς).", + "A random node will be selected on startup": "Ένας τυχαίος κόμβος θα επιλεγεί κατά την εκκίνηση", + "A wallet is stored in a file on your computer.": "Ένα πορτοφόλι αποθηκεύεται σε ένα αρχείο στον υπολογιστή σας.", + "Account Index": "Ευρετήριο Λογαριασμού", + "Account Name": "Όνομα Λογαριασμού", + "Account:": "Λογαριασμός:", + "Activate custom daemon arguments": "Ενεργοποιήστε προσαρμοσμένα ορίσματα της διαδικασίας αναμονής εκτέλεσης", + "Active p2p Peers": "Ενεργοποίηση ομότιμων χρηστών του δικτύου p2p", + "Address derivation scan": "Σάρωση παραγωγής διεύθυνσης", + "Address:": "Διεύθυνση:", + "Advanced": "Προχωρημένες", + "Advanced Options": "Advanced Options", + "All": "'Ολα", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Να επιτρέπονται προσαρμοσμένα ορίσματα της διαδικασίας αναμονής εκτέλεσης Rusty Kaspa", + "Allows you to take screenshots from within the application": "Σας επιτρέπει να τραβάτε στιγμιότυπα οθόνης μέσα από την εφαρμογή", + "Apply": "Εφαρμογή", + "Balance: N/A": "Υπόλοιπο: Μ/Δ", + "Bandwidth": "Εύρος Ζώνης", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Λόγω της εστίασής του στην ασφάλεια και την απόδοση, αυτό το λογισμικό έχει αναπτυχθεί εξ ολοκλήρου σε Rust, απαιτώντας πολύ περισσότερο χρόνο και προσπάθεια σε σύγκριση με άλλα παραδοσιακά σύγχρονα λογισμικά που βασίζονται στον ιστό.", + "Bezier Curves": "Καμπύλες Bezier", + "Block DAG": "Μπλοκ DAG", + "Block Scale": "Κλίμακα Μπλοκ", + "Blocks": "Μπλοκς", + "Bodies": "Φορείς", + "Borsh Active Connections": "Ενεργές Συνδέσεις Borsh", + "Borsh Connection Attempts": "Προσπάθειες Σύνδεσης Borsh", + "Borsh Handshake Failures": "Αποτυχίες Χειραψίας Borsh", + "Build": "Δομή", + "CONNECTED": "ΣΥΝΔΕΔΕΜΕΝΟΣ", + "CPU": "ΕΠΕΞΕΡΓΑΣΤΗΣ", + "Cache Memory Size": "Μέγεθος Κρυφής Μνήμης", + "Cache Memory Size:": "Μέγεθος Κρυφής Μνήμης:", + "Cancel": "Ακύρωση", + "Cannot delete data folder while the node is running": "Δεν είναι δυνατή η διαγραφή του φακέλου δεδομένων ενώ εκτελείται ο κόμβος", + "Capture a screenshot": "Λήψη στιγμιότυπου οθόνης", + "Center VSPC": "Κεντρικό VSPC", + "Chain Blocks": "Μπλοκς Αλυσίδας", + "Change Address": "Αλλαγή Διεύθυνσης", + "Check for Software Updates on GitHub": "'Ελεγχος για Ενημερώσεις Λογισμικού στο GitHub", + "Check for Updates": "Έλεγχος για Ενημερώσεις", + "Clear": "Καθαρισμός", + "Click to try another server...": "Πατήστε για να δοκιμάσετε κάποιον άλλο διακομιστή", + "Client RPC": "RPC Πελάτη", + "Close": "Κλείσιμο", + "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Επιβεβαίωση κωδικού πρόσβασης πορτοφολιού", + "Connect to a local node (localhost)": "Σύνδεση σε έναν τοπικό κόμβο (localhost)", + "Connecting to": "Γίνεται σύνδεση σε", + "Connection": "Σύνδεση", + "Connections": "Συνδέσεις", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Συνδέεται σε έναν απομακρυσμένο κόμβο Rusty Kaspa μέσω wRPC.", + "Conservative": "Συντηρητικά", + "Continue": "Συνέχεια", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Οι συνεισφορές που κατευθύνονται σε αυτό το έργο τροφοδοτούν άμεσα το λογισμικό Kaspa NG και το οικοσύστημά του.", + "Copied to clipboard": "Αντιγράφηκε στο πρόχειρο", + "Copy": "Αντιγραφή", + "Copy logs to clipboard": "Αντιγραφή αρχείων καταγραφής στο πρόχειρο", + "Create New Account": "Δημιουργία Νέου Λογαριασμού", + "Create New Wallet": "Δημιουργία Νέου Πορτοφολιού", + "Create Wallet": "Create Wallet", + "Create new wallet": "Δημιουργία νέου πορτοφολιού", + "Creating Account": "Ο Λογαριασμός Δημιουργείται", + "Creating Wallet": "Το Πορτοφόλι Δημιουργείται", + "Custom": "Προσαρμοσμένο", + "Custom Public Node": "Προσαρμοσμένος Δημόσιος Κόμβος", + "Custom arguments:": "Προσαρμοσμένα ορίσματα:", + "Custom data storage folder": "Custom data storage folder", + "DAA": "Άμεση Ανώνυμη Πιστοποίηση - DAA", + "DAA Offset": "Αντιστάθμιση DAA", + "DAA Range": "Εύρος DAA", + "DB Blocks": "Μπλοκς ΒΔ", + "DB Headers": "Κεφαλίδες ΒΔ", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", + "Database Blocks": "Μπλοκς Βάσης Δεδομένων", + "Database Headers": "Κεφαλίδες Βάσης Δεδομένων", + "Decrypting wallet, please wait...": "Αποκρυπτογράφηση πορτοφολιού, παρακαλούμε περιμένετε...", + "Default": "Προκαθορισμένο", + "Default Account Name": "Προεπιλεγμένο Όνομα Λογαριασμού", + "Delete Data Folder": "Διαγραφή Φακέλου Δεδομένων", + "Dependencies": "Εξαρτήσεις", + "Derivation Indexes": "Δείκτες Παραγωγής", + "Details": "Λεπτομέριες", + "Developer Mode": "Λειτουργία για Προγραμματιστές", + "Developer Resources": "Πόροι Προγραμματιστών", + "Developer mode enables advanced and experimental features": "Η λειτουργία προγραμματιστή επιτρέπει προηγμένες και πειραματικές λειτουργίες", + "Difficulty": "Δυσκολία", + "Dimensions": "Διαστάσεις", + "Disable password safety rules": "Απενεργοποίηση περιορισμών ασφαλείας κωδικού πρόσβασης", + "Disabled": "Απενεργοποίηση", + "Disables node connectivity (Offline Mode).": "Απενεργοποιεί τη συνδεσιμότητα κόμβου (Λειτουργία εκτός σύνδεσης).", + "Discord": "Πλατφόρμα Discord", + "Donations": "Δωρεές", + "Double click on the graph to re-center...": "Κάντε διπλό κλικ στο γράφημα για να κεντράρετε ξανά...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Ενεργοποίηση του Market Monitor", + "Enable UPnP": "Ενεργοποίηση του UPnP", + "Enable custom daemon arguments": "Ενεργοποίηση προσαρμοσμένων ορισμάτων διαδικασίας αναμονής εκτέλεσης", + "Enable experimental features": "Ενεργοποίηση πειραματικών λειτουργιών", + "Enable gRPC": "Ενεργοποίηση gRPC", + "Enable optional BIP39 passphrase": "Ενεργοποίηση της προαιρετικής φράσης πρόσβασης BIP39", + "Enable screen capture": "Ενεργοποίηση λήψης οθόνης", + "Enables features currently in development": "Ενεργοποιεί λειτουργίες που βρίσκονται σε εξέλιξη", + "Enter": "Εισάγετε", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Εισαγάγετε όνομα λογαριασμού (προαιρετικό)", + "Enter first account name": "Εισαγάγετε το όνομα πρώτου λογαριασμού", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Εισαγάγετε την υπόδειξη phishing", + "Enter the amount": "Εισαγάγετε το ποσό", + "Enter the password for your wallet": "Εισαγάγετε τον κωδικό πρόσβασης για το πορτοφόλι σας", + "Enter the password to unlock your wallet": "Εισαγάγετε τον κωδικό πρόσβασης για να ξεκλειδώσετε το πορτοφόλι σας", + "Enter wallet name": "Εισαγάγετε το όνομα του πορτοφολιού", + "Enter wallet password": "Εισαγάγετε τον κωδικό πρόσβασης πορτοφολιού", + "Enter your wallet secret": "Εισαγάγετε το μυστικό του πορτοφολιού σας", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Εξερευνητής", + "Export Wallet Data": "Εξαγωγή Δεδομένων Πορτοφολιού", + "Faucet": "Πόροι κεφαλαίου", + "File Handles": "Λαβές Αρχείων", + "Filename:": "Ονομα Αρχείου:", + "Final Amount:": "Τελικό Ποσό:", + "Full Screen": "Full Screen", + "GitHub Release": "Έκδοση GitHub", + "Go to Settings": "Μεταβείτε στις Ρυθμίσεις", + "Good": "Good", + "Handles": "Λαβές", + "Headers": "Κεφαλίδες", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "Εάν δεν προσδιοριστεί, ο λογαριασμός θα αντιπροσωπεύεται από το αριθμητικό αναγνωριστικό.", + "If you are running locally, use: ": "Εάν τρέχετε τοπικά, χρησιμοποιήστε:", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Εισαγωγή υπάρχουσας", + "Importing Wallet": "Importing Wallet", + "Inbound": "Εισερχόμενος", + "Include QoS Priority Fees": "Συμπεριλάβετε τέλη προτεραιότητας QoS", + "Integrated Daemon": "Ολοκληρωμένη Διαδικασία Αναμονής Εκτέλεσης", + "Invalid daemon arguments": "Μη έγκυρα ορίσματα διαδικασίας αναμονής εκτέλεσης", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Μη έγκυρος τύπος δικτύου - αναμένεται: testnet-10 συνδεδεμένο με: testnet-11", + "Invalid wRPC URL": "Μη έγκυρη διεύθυνση URL wRPC", + "Json Active Connections": "Ενεργές συνδέσεις Json", + "Json Connection Attempts": "Προσπάθειες σύνδεσης Json", + "Json Handshake Failures": "Αποτυχίες χειραψίας Json", + "Kaspa Discord": "Discord του Κάσπα", + "Kaspa Integration Guide": "Οδηγός Ένταξης Κάσπα", + "Kaspa NG": "Κάσπα NG", + "Kaspa NG Online": "Κάσπα NG σε σύνδεση", + "Kaspa NG Web App": "Κάσπα NG Εφαρμογή Ιστού", + "Kaspa NG on GitHub": "Το Κάσπα NG στο GitHub", + "Kaspa NG online": "Κάσπα NG σε σύνδεση", + "Kaspa Network": "Δίκτυο Κάσπα", + "Kaspa Node": "Κόμβος Κάσπα", + "Kaspa p2p Network & Node Connection": "Ομότιμη - p2p Σύνδεση Δικτύου και Κόμβων Kάσπα", + "Kaspa p2p Node": "Ομότιμος p2p Κόμβος Κάσπα", + "Kaspa p2p Node & Connection": "Ομότιμος - p2p Κόμβος και Σύνδεση Kάσπα", + "Key Perf.": "Βασική Απόδοση", + "Language:": "Γλώσσα:", + "Large (1 BPS)": "Μεγάλο (1 BPS)", + "Levels": "Επίπεδα", + "License Information": "Πληροφορίες άδειας χρήσης", + "Local": "Τοπικό", + "Local p2p Node Configuration": "Τοπική Διαμόρφωση Κόμβου p2p", + "Logs": "Aρχεία Kαταγραφής", + "MT": "ΜΤ", + "Main Kaspa network": "Κύριο Δίκτυο Κάσπα", + "Mainnet": "Κύριο Δίκτυο", + "Mainnet (Main Kaspa network)": "Κύριο Δίκτυο (Κύριο Δίκτυο Κάσπα)", + "Managed by the Rusty Kaspa daemon": "Διαχείριση από τη διαδικασία αναμονής εκτέλεσης της Rusty Κάσπα", + "Market": "Αγορά", + "Market Cap": "Κεφαλαιοποίηση", + "Market Monitor": "Παρακολούθηση Αγοράς", + "Mass Processed": "Μαζική Επεξεργασία", + "Maximize window": "Maximize window", + "Medium Narrow": "Μεσαίο Στενό", + "Medium Wide": "Μεσαίο Πλατύ", + "Memory": "Μνήμη", + "Mempool": "Εκχώρηση Μνήμης", + "Mempool Size": "Μέγεθος Εκχώρηση Μνήμης", + "Metrics": "Μετρήσεις", + "Metrics are not currently available": "Οι μετρήσεις δεν είναι διαθέσιμες αυτήν τη στιγμή", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "Ενότητες NPM για NodeJS", + "Network": "Δίκτυο", + "Network Difficulty": "Δυσκολία Δικτύου", + "Network Fees:": "Τέλη Δικτύου:", + "Network Interface": "Διεπαφή Δικτύου", + "Network Peers": "Ομότιμα Δίκτυα", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "Δεν υπάρχουν ομότιμα δίκτυα", + "No public node selected - please select a public node": "Δεν έχει επιλεγεί δημόσιος κόμβος - επιλέξτε έναν δημόσιο κόμβο", + "No transactions": "Δεν υπάρχουν συναλλαγές", + "No wallets found, please create a new wallet": "Δεν βρέθηκαν πορτοφόλια, δημιουργήστε ένα νέο πορτοφόλι", + "Node": "Κόμβος", + "Node Status": "Κατάσταση Κόμβου", + "Noise": "Θόρυβος", + "None": "Κανένα", + "Not Connected": "Μη Συνδεδεμένο", + "Not connected": "Μη Συνδεδεμένο", + "Notifications": "Ειδοποιήσεις", + "Open Data Folder": "Άνοιγμα Φακέλου Δεδομένων", + "Opening wallet:": "Γίνεται άνοιγμα πορτοφολιού:", + "Optional": "Προαιρετικό", + "Other operations": "Άλλες λειτουργίες", + "Outbound": "Εξερχόμενα", + "Overview": "Γενική Εικόνα", + "Parents": "Γονικοί", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Προηγούμενος Διάμεσος Χρόνος", + "Payment & Recovery Password": "Κωδικός Πρόσβασης Πληρωμής και Ανάκτησης", + "Payment Request": "Αίτημα Πληρωμής", + "Peers": "Ομότιμοι", + "Performance": "Αποδοτικότητα", + "Phishing Hint": "Υπόδειξη Phishing", + "Ping:": "Ψηλαφήτης:", + "Please Confirm Deletion": "Παρακαλούμε Επιβεβαιώστε τη Διαγραφή", + "Please configure your Kaspa NG settings": "Παρακαλούμε Διαμορφώστε τις ρυθμίσεις σας Κάσπα NG", + "Please connect to Kaspa p2p node": "Παρακαλούμε συνδεθείτε στον κόμβο Κάσπα p2p", + "Please create a stronger password": "Παρακαλούμε Δημιουργήστε έναν ισχυρότερο κωδικό πρόσβασης", + "Please enter": "Παρακαλούμε εισάγετε", + "Please enter KAS amount to send": "Παρακαλούμε εισαγάγετε το ποσό KAS για αποστολή", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Παρακαλούμε εισαγάγετε ένα ποσό", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Παρακαλούμε εισαγάγετε το όνομα του λογαριασμού", + "Please enter the wallet secret": "Παρακαλούμε εισαγάγετε το μυστικό του πορτοφολιού", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Παρακαλούμε λάβετε υπόψη ότι αυτή είναι μια έκδοση άλφα. Μέχρι να αφαιρεθεί αυτό το μήνυμα, αποφύγετε τη χρήση του πορτοφολιού με κεφάλαια του κύριου δικτύου.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Παρακαλούμε λάβετε υπόψη ότι η αντιγραφή στο πρόχειρο ενέχει τον κίνδυνο να εκτεθεί το μνημονικό σας σε κακόβουλο λογισμικό.", + "Please select an account type": "Παρακαλούμε επιλέξτε έναν τύπο λογαριασμού", + "Please select the private key to export": "Παρακαλούμε επιλέξτε το ιδιωτικό κλειδί για εξαγωγή", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Παρακαλούμε ορίστε τον κόμβο σε 'Απενεργοποιημένο' για να διαγράψετε τον φάκελο δεδομένων", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Παρακαλούμε καθορίστε το όνομα του προεπιλεγμένου λογαριασμού. Το πορτοφόλι θα δημιουργηθεί με προεπιλεγμένο λογαριασμό. Μόλις δημιουργηθεί, θα μπορείτε να δημιουργήσετε επιπλέον λογαριασμούς όπως χρειάζεστε.", + "Please specify the name of the new wallet": "Παρακαλούμε προσδιορίστε το όνομα του νέου πορτοφολιού", + "Please specify the private key type for the new wallet": "Παρακαλούμεκαθορίστε τον τύπο του ιδιωτικού κλειδιού για το νέο πορτοφόλι", + "Please wait for the node to sync or connect to a remote node.": "Παρακαλούμε περιμένετε να συγχρονιστεί ο κόμβος ή να συνδεθεί σε έναν απομακρυσμένο κόμβο.", + "Please wait for the node to sync...": "Παρακαλούμε περιμένετε να συγχρονιστεί ο κόμβος...", + "Please wait...": "Παρακαλούμε περιμένετε...", + "Presets": "Προεπιλογές", + "Price": "Τιμή", + "Private Key Mnemonic": "Μνημονικό Ιδιωτικό Κλειδί", + "Processed Bodies": "Επεξεργασμένοι Φορείς", + "Processed Dependencies": "Επεξεργασμένες Eξαρτήσεις", + "Processed Headers": "Επεξεργασμένες Κεφαλίδες", + "Processed Mass Counts": "Επεξεργασμένες Μαζικές Μετρήσεις", + "Processed Transactions": "Επεξεργασμένες Συναλλαγές", + "Protocol:": "Πρωτόκολλο:", + "Public Node": "Δημόσιος Κόμβος", + "Public Nodes": "Δημόσιοι Κόμβοι", + "Public Server": "Δημόσιος Διακομιστής", + "Public p2p Nodes for": "Δημόσιοι Κόμβοι p2p για", + "Random Public Node": "Τυχαίος Δημόσιος Κόμβος", + "Range:": "Εύρος:", + "Receive Address": "Λήψη Διεύθυνσης", + "Recommended arguments for the remote node: ": "Προτεινόμενα ορίσματα για τον απομακρυσμένο κόμβο:", + "Redistributables": "Redistributables", + "Remote": "Απομακρυσμένος", + "Remote Connection:": "Απομακρυσμένη Σύνδεση:", + "Remote p2p Node Configuration": "Απομακρυσμένη Διαμόρφωση Κόμβου p2p", + "Removes security restrictions, allows for single-letter passwords": "Καταργεί τους περιορισμούς ασφαλείας, επιτρέπει κωδικούς πρόσβασης με ένα γράμμα", + "Reset Settings": "Μηδενισμός Ρυθμίσεων", + "Reset VSPC": "Μηδενισμός VSPC", + "Resident Memory": "Μόνιμη Mνήμη", + "Resources": "Πόροι", + "Resulting daemon arguments:": "Προκύπτοντα ορίσματα διαδικασίας αναμονής εκτέλεσης", + "Rust Wallet SDK": "Πορτοφόλι Rust SDK", + "Rusty Kaspa on GitHub": "Η Rusty Κάσπα στο GitHub", + "Secret is too weak": "Το Μυστικό είναι πολύ αδύναμο", + "Secret score:": "Βαθμολόγηση Μυστικού:", + "Select Account": "Επιλέξτε Λογαριασμό", + "Select Available Server": "Επιλέξτε Διαθέσιμο Διακομιστή", + "Select Private Key Type": "Επιλέξτε Τύπο Ιδιωτικού Κλειδιού", + "Select Public Node": "Επιλέξτε Δημόσιο Κόμβο", + "Select Wallet": "Επιλέξτε Πορτοφόλι", + "Select a wallet to unlock": "Επιλέξτε ένα πορτοφόλι για ξεκλείδωμα", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Αποστολή", + "Services": "Υπηρεσίες", + "Settings": "Ρυθμίσεις", + "Show DAA": "Εμφάνιση DAA", + "Show Grid": "Εμφάνιση Πλέγματος", + "Show VSPC": "Εμφάνιση VSPC", + "Show balances in alternate currencies for testnet coins": "Εμφάνιση υπολοίπων σε εναλλακτικά νομίσματα για νομίσματα δοκιμαστικού δικτύου", + "Show passphrase": "Show passphrase", + "Show password": "Εμφάνιση κωδικού πρόσβασης", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Εμφανίζει τα υπόλοιπα σε εναλλακτικά νομίσματα (BTC, USD) όταν χρησιμοποιούνται νομίσματα δοκιμαστικού δικτύου σαν να βρίσκεστε στο κεντρικό δίκτυο", + "Skip": "Παράληψη", + "Small (10 BPS)": "Μικρό (10 BPS)", + "Spread": "Εξάπλωση", + "Stage": "Στάδιο", + "Starting...": "Εκκίνηση...", + "Statistics": "Στατιστικά", + "Stor Read": "Ανάγνωση Αποθ", + "Stor Write": "Εγγραφή Αποθ", + "Storage": "Αποθήκευση", + "Storage Read": "Ανάγνωση Αποθήκευσης", + "Storage Read/s": "Ανάγνωση Αποθήκευσης/δ", + "Storage Write": "Εγγραφή Αποθήκευσης", + "Storage Write/s": "Εγγραφή Αποθήκευσης/δ", + "Strong": "Strong", + "Submitted Blocks": "Υποβληθέντα Μπλοκ", + "Supporting Kaspa NG development": "Υποστήριξη ανάπτυξης Κάσπα NG", + "Syncing Cryptographic Proof...": "Συγχρονισμός Κρυπτογραφικής Απόδειξης...", + "Syncing DAG Blocks...": "Συγχρονισμός DAG Μπλοκ...", + "Syncing Headers...": "Συγχρονισμός Κεφαλίδων...", + "Syncing UTXO entries...": "Συγχρονισμός καταχωρήσεων UTXO...", + "Syncing...": "Συγχρονισμός...", + "System": "Σύστημα", + "TPS": "TPS", + "Testnet 10": "Δίκτυο Δοκιμών 10", + "Testnet 10 (1 BPS)": "Δίκτυο Δοκιμών 10 (1 BPS)", + "Testnet 11": "Δίκτυο Δοκιμών 11", + "Testnet 11 (10 BPS)": "Δίκτυο Δοκιμών 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Το Testnet 11 δεν είναι ακόμη ενεργοποιημένο για δημόσια δοκιμή. Μπορείτε, ωστόσο, να διαμορφώσετε τον κόμβο ώστε να συνδέεται με το ιδιωτικό δίκτυο δοκιμών προγραμματιστή στον πίνακα Ρυθμίσεων.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Το λογισμικό Κάσπα NG αντιπροσωπεύει μια συνεχή προσπάθεια που επικεντρώνεται στην κατασκευή μιας πλατφόρμας λογισμικού αιχμής αφιερωμένης στο δίκτυο κρυπτονομισμάτων Κάσπα BlockDAG. Ιδεολογικά στον πυρήνα του, αυτό το λογισμικό δίνει προτεραιότητα στην ασφάλεια, το απόρρητο, την απόδοση και την αποκέντρωση.", + "The balance may be out of date during node sync": "Το υπόλοιπο ενδέχεται να μην είναι ενημερωμένο κατά τον συγχρονισμό κόμβου", + "The following will guide you through the process of creating or importing a wallet.": "Τα παρακάτω θα σας καθοδηγήσουν στη διαδικασία δημιουργίας ή εισαγωγής ενός πορτοφολιού.", + "The node is currently syncing with the Kaspa p2p network.": "Ο κόμβος συγχρονίζεται αυτήν τη στιγμή με το δίκτυο Κάσπα p2p.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "Ο κόμβος συγχρονίζεται αυτήν τη στιγμή με το δίκτυο Κάσπα p2p. Τα υπόλοιπα των λογαριασμών ενδέχεται να μην είναι ενημερωμένα.", + "The node is spawned as a child daemon process (recommended).": "Ο κόμβος δημιουργείται ως θυγατρική διαδικασία αναμονής εκτέλεσης (συνιστάται).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "Ο κόμβος εκτελείται ως μέρος της διαδικασίας εφαρμογής Kaspa-NG. Αυτό μειώνει τα έξοδα επικοινωνίας (πειραματικά).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Χρώμα Θέματος", + "Theme Color:": "Χρώμα Θέματος:", + "Theme Style": "Στυλ Θέματος", + "Theme Style:": "Στυλ Θέματος:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Αυτό το πορτοφόλι δεν θα σας ζητήσει ποτέ αυτή τη μνημονική φράση, εκτός εάν ξεκινήσετε με μη αυτόματο τρόπο μια ανάκτηση ιδιωτικού κλειδιού.", + "Threshold": "Οριακές Τιμές", + "Time Offset:": "Χρονική Μετατόπιση:", + "Tip Hashes": "Υπόδειξη Κατακερματισμού", + "Tools ⏷": "Εργαλεία ⏷", + "Total Rx": "Σύνολο Rx", + "Total Rx/s": "Total Rx/δ", + "Total Tx": "Σύνολο Tx", + "Total Tx/s": "Σύνολο Tx/δ", + "Track in the background": "Παρακολούθηση στο παρασκήνιο", + "Transactions": "Συναλλαγές", + "Transactions:": "Συναλλαγές:", + "Type": "Τύπος", + "UTXO Manager": "Διαχειριστής UTXO", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "Δεν είναι δυνατή η αλλαγή των ρυθμίσεων κόμβου μέχρι να επιλυθεί το πρόβλημα", + "Unlock": "Ξεκλείδωμα", + "Unlock Wallet": "Ξεκλείδωμα Πορτοφολιού", + "Unlocking": "Γίνεται Ξεκλείδωμα", + "Update Available to version": "Διαθέσιμη Ενημέρωση στην έκδοση", + "Updating...": "Γίνεται Ενημέρωση...", + "Uptime:": "Χρόνος Λειτουργίας:", + "Use 50%-75% of available system memory": "Χρησιμοποιήστε 50%-75% από τη διαθέσιμη μνήμη συστήματος", + "Use all available system memory": "Χρησιμοποιήστε όλη τη διαθέσιμη μνήμη συστήματος", + "User Agent": "Πρόγραμμα Πελάτη", + "User Interface": "Διεπαφή Χρήστη", + "Very dangerous (may be cracked within few seconds)": "Πολύ επικίνδυνο (μπορεί να σπάσει μέσα σε λίγα δευτερόλεπτα)", + "Very weak": "Very weak", + "Virt Parents": "Εικονικοί Γονείς", + "Virtual DAA Score": "Εικονική Βαθμολογία DAA", + "Virtual Memory": "Εικονική Μνήμη", + "Virtual Parent Hashes": "Εικονικοί Μητρικοί Κατακερματισμοί", + "Volume": "Ένταση", + "WASM SDK for JavaScript and TypeScript": "WASM SDK για γλώσσες JavaScript και TypeScript", + "Wallet": "Πορτοφόλι", + "Wallet Created": "Το Πορτοφόλι Δημιουργήθηκε", + "Wallet Encryption Password": "Κωδικός Κρυπτογράφησης Πορτοφολιού", + "Wallet Name": "Όνομα Πορτοφολιού", + "Wallet Secret": "Μυστικό Πορτοφολιού", + "Wallet password is used to encrypt your wallet data.": "Ο κωδικός πρόσβασης του πορτοφολιού χρησιμοποιείται για την κρυπτογράφηση των δεδομένων του πορτοφολιού σας.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Πορτοφόλι:", + "We greatly appreciate your help in backing our efforts.": "Εκτιμούμε πολύ τη βοήθειά σας στην υποστήριξη των προσπαθειών μας.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Καλώς ήρθατε στο Κάσπα NG", + "Xpub Keys": "Κλειδιά Xpub", + "You are currently not connected to the Kaspa node.": "Αυτήν τη στιγμή δεν είστε συνδεδεμένοι στον κόμβο Κάσπα.", + "You can configure remote connection in Settings": "Μπορείτε να διαμορφώσετε την απομακρυσμένη σύνδεση στις Ρυθμίσεις", + "You can create multiple wallets, but only one wallet can be open at a time.": "Μπορείτε να δημιουργήσετε πολλά πορτοφόλια, αλλά μόνο ένα πορτοφόλι μπορεί να είναι ανοιχτό κάθε φορά.", + "You must be connected to a node...": "Πρέπει να είστε συνδεδεμένοι σε έναν κόμβο...", + "Your default wallet private key mnemonic is:": "Το προεπιλεγμένο μνημονικό του ιδιωτικού κλειδιού πορτοφολιού είναι:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Η μνημονική φράση σας επιτρέπει να δημιουργήσετε ξανά το ιδιωτικό σας κλειδί. Το άτομο που έχει πρόσβαση σε αυτό το μνημονικό θα έχει τον πλήρη έλεγχο των Κάσπα που είναι αποθηκευμένα σε αυτό. Διατηρήστε το μνημονικό σας ασφαλές. Σημειώστε το και αποθηκεύστε το σε ένα χρηματοκιβώτιο, κατά προτίμηση σε ένα πυρίμαχο μέρος. Μην αποθηκεύετε το μνημονικό σας σε αυτόν τον υπολογιστή ή σε κινητή συσκευή. Αυτό το πορτοφόλι δεν θα σας ζητήσει ποτέ αυτή τη μνημονική φράση, εκτός εάν ξεκινήσετε με μη αυτόματο τρόπο μια ανάκτηση ιδιωτικού κλειδιού.", + "Your private key mnemonic is:": "Το μνημονικό του ιδιωτικού κλειδιού σας είναι:", + "Your wallet has been created and is ready to use.": "Το πορτοφόλι σας έχει δημιουργηθεί και είναι έτοιμο για χρήση.", + "Zoom": "Μεγέθυνση", + "amount to send": "ποσό προς αποστολή", + "bye!": "γεια!", + "gRPC Network Interface & Port": "Διεπαφή και Θύρα Δικτύου gRPC", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/δ", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/δ", + "of": "από", + "p2p RPC": "ομότιμα - p2p RPC", + "p2p Rx": "ομότιμα - p2p Rx", + "p2p Rx/s": "ομότιμα - p2p Rx/δ", + "p2p Tx": "ομότιμα - p2p Tx", + "p2p Tx/s": "ομότιμα - p2p Tx/δ", + "peer": "ομότιμο", + "peers": "ομότιμα", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/δ", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/δ", + "wRPC Connection Settings": "Ρυθμίσεις Σύνδεσης wRPC", + "wRPC Encoding:": "Κωδικοποίηση wRPC:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/δ", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/δ", + "wRPC URL:": "wRPC URL:", + "words": "words" + }, + "en": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS test network", + "10 BPS test network": "10 BPS test network", + "12 word mnemonic": "12 word mnemonic", + "24 word mnemonic": "24 word mnemonic", + "24h Change": "24h Change", + "3 hours or more": "3 hours or more", + "< {minutes} minute": "< {minutes} minute", + "< {minutes} minutes": "< {minutes} minutes", + "< {seconds} second": "< {seconds} second", + "< {seconds} seconds": "< {seconds} seconds", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "A binary at another location is spawned a child process (experimental, for development purposes only).", + "A random node will be selected on startup": "A random node will be selected on startup", + "A wallet is stored in a file on your computer.": "A wallet is stored in a file on your computer.", + "Account Index": "Account Index", + "Account Name": "Account Name", + "Account:": "Account:", + "Activate custom daemon arguments": "Activate custom daemon arguments", + "Active p2p Peers": "Active p2p Peers", + "Add Account": "Add Account", + "Address derivation scan": "Address derivation scan", + "Address:": "Address:", + "Advanced": "Advanced", + "Advanced Options": "Advanced Options", + "All": "All", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Allow custom arguments for the Rusty Kaspa daemon", + "Allows you to take screenshots from within the application": "Allows you to take screenshots from within the application", + "Application must be restarted for this setting to take effect.": "Application must be restarted for this setting to take effect.", + "Apply": "Apply", + "Are you sure you want to reset all settings?": "Are you sure you want to reset all settings?", + "Balance: N/A": "Balance: N/A", + "Bandwidth": "Bandwidth", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.", + "Bezier Curves": "Bezier Curves", + "Block DAG": "Block DAG", + "Block Scale": "Block Scale", + "Blocks": "Blocks", + "Bodies": "Bodies", + "Borsh Active Connections": "Borsh Active Connections", + "Borsh Connection Attempts": "Borsh Connection Attempts", + "Borsh Handshake Failures": "Borsh Handshake Failures", + "Build": "Build", + "CONNECTED": "CONNECTED", + "CPU": "CPU", + "Cache Memory Size": "Cache Memory Size", + "Cache Memory Size:": "Cache Memory Size:", + "Cancel": "Cancel", + "Cannot delete data folder while the node is running": "Cannot delete data folder while the node is running", + "Capture a screenshot": "Capture a screenshot", + "Capture saved to {path}": "Capture saved to {path}", + "Center VSPC": "Center VSPC", + "Chain Blocks": "Chain Blocks", + "Change Address": "Change Address", + "Check for Software Updates on GitHub": "Check for Software Updates on GitHub", + "Check for Updates": "Check for Updates", + "Clear": "Clear", + "Click to copy URI to clipboard": "Click to copy URI to clipboard", + "Click to try another server...": "Click to try another server...", + "Client RPC": "Client RPC", + "Close": "Close", + "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Confirm wallet password", + "Connect to a local node (localhost)": "Connect to a local node (localhost)", + "Connecting to": "Connecting to", + "Connection": "Connection", + "Connections": "Connections", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Connects to a Remote Rusty Kaspa Node via wRPC.", + "Conservative": "Conservative", + "Continue": "Continue", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.", + "Copied to clipboard": "Copied to clipboard", + "Copy": "Copy", + "Copy logs to clipboard": "Copy logs to clipboard", + "Create New Account": "Create New Account", + "Create New Wallet": "Create New Wallet", + "Create Wallet": "Create Wallet", + "Create new wallet": "Create new wallet", + "Creating Account": "Creating Account", + "Creating Wallet": "Creating Wallet", + "Custom": "Custom", + "Custom Public Node": "Custom Public Node", + "Custom arguments:": "Custom arguments:", + "Custom data storage folder": "Custom data storage folder", + "DAA": "DAA", + "DAA Offset": "DAA Offset", + "DAA Range": "DAA Range", + "DB Blocks": "DB Blocks", + "DB Headers": "DB Headers", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", + "Database Blocks": "Database Blocks", + "Database Headers": "Database Headers", + "Decrypt": "Decrypt", + "Decrypting Wallet File": "Decrypting Wallet File", + "Decrypting wallet, please wait...": "Decrypting wallet, please wait...", + "Default": "Default", + "Default Account Name": "Default Account Name", + "Delete Data Folder": "Delete Data Folder", + "Dependencies": "Dependencies", + "Derivation Indexes": "Derivation Indexes", + "Details": "Details", + "Developer Mode": "Developer Mode", + "Developer Resources": "Developer Resources", + "Developer mode enables advanced and experimental features": "Developer mode enables advanced and experimental features", + "Difficulty": "Difficulty", + "Dimensions": "Dimensions", + "Disable Window Frame": "Disable Window Frame", + "Disable password safety rules": "Disable password safety rules", + "Disabled": "Disabled", + "Disables node connectivity (Offline Mode).": "Disables node connectivity (Offline Mode).", + "Discord": "Discord", + "Donations": "Donations", + "Double click on the graph to re-center...": "Double click on the graph to re-center...", + "ECDSA": "ECDSA", + "Economic": "Economic", + "Enable Market Monitor": "Enable Market Monitor", + "Enable Public wRPC Borsh": "Enable Public wRPC Borsh", + "Enable UPnP": "Enable UPnP", + "Enable custom daemon arguments": "Enable custom daemon arguments", + "Enable experimental features": "Enable experimental features", + "Enable gRPC": "Enable gRPC", + "Enable optional BIP39 passphrase": "Enable optional BIP39 passphrase", + "Enable screen capture": "Enable screen capture", + "Enables features currently in development": "Enables features currently in development", + "Enter": "Enter", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Enter account name (optional)", + "Enter destination address": "Enter destination address", + "Enter first account name": "Enter first account name", + "Enter mnemonic": "Enter mnemonic", + "Enter password to decrypt this wallet file": "Enter password to decrypt this wallet file", + "Enter phishing hint": "Enter phishing hint", + "Enter priority fees": "Enter priority fees", + "Enter the amount": "Enter the amount", + "Enter the password for your wallet": "Enter the password for your wallet", + "Enter the password to unlock your wallet": "Enter the password to unlock your wallet", + "Enter wallet name": "Enter wallet name", + "Enter wallet password": "Enter wallet password", + "Enter your wallet secret": "Enter your wallet secret", + "Error": "Error", + "Error importing a wallet": "Error importing a wallet", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorer", + "Export Wallet Data": "Export Wallet Data", + "FIRST": "FIRST", + "Faucet": "Faucet", + "Fee Market": "Fee Market", + "Fee Market & Network Pressure": "Fee Market & Network Pressure", + "Fee Market Only": "Fee Market Only", + "Fee Rate Estimates": "Fee Rate Estimates", + "File Handles": "File Handles", + "File contents": "File contents", + "Filename:": "Filename:", + "Final Amount:": "Final Amount:", + "Final Amount: {amount}": "Final Amount: {amount}", + "For decrypting uploaded file please enter wallet secret.": "For decrypting uploaded file please enter wallet secret.", + "Full Screen": "Full Screen", + "GitHub Release": "GitHub Release", + "Go to Settings": "Go to Settings", + "Good": "Good", + "Handles": "Handles", + "Headers": "Headers", + "High": "High", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "If not specified, the account will be represented by the numeric id.", + "If you are running locally, use: ": "If you are running locally, use: ", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Import existing", + "Import existing file": "Import existing file", + "Importing Legacy Wallet": "Importing Legacy Wallet", + "Importing Wallet": "Importing Wallet", + "Importing Wallet File": "Importing Wallet File", + "Inbound": "Inbound", + "Include QoS Priority Fees": "Include QoS Priority Fees", + "Integrated Daemon": "Integrated Daemon", + "Invalid amount:": "Invalid amount:", + "Invalid daemon arguments": "Invalid daemon arguments", + "Invalid fee amount:": "Invalid fee amount:", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Invalid network type - expected: testnet-10 connected to: testnet-11", + "Invalid wRPC URL": "Invalid wRPC URL", + "It is recommended that you add a priority fee of at least": "It is recommended that you add a priority fee of at least", + "Json Active Connections": "Json Active Connections", + "Json Connection Attempts": "Json Connection Attempts", + "Json Handshake Failures": "Json Handshake Failures", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Kaspa Integration Guide", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Web App", + "Kaspa NG on GitHub": "Kaspa NG on GitHub", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Kaspa Network", + "Kaspa Node": "Kaspa Node", + "Kaspa p2p Network & Node Connection": "Kaspa p2p Network & Node Connection", + "Kaspa p2p Node": "Kaspa p2p Node", + "Kaspa p2p Node & Connection": "Kaspa p2p Node & Connection", + "Key Perf.": "Key Perf.", + "LAST": "LAST", + "Language:": "Language:", + "Large (1 BPS)": "Large (1 BPS)", + "Legacy 12 word mnemonic": "Legacy 12 word mnemonic", + "Levels": "Levels", + "License Information": "License Information", + "Local": "Local", + "Local p2p Node Configuration": "Local p2p Node Configuration", + "Logs": "Logs", + "Low": "Low", + "Low-priority": "Low-priority", + "MT": "MT", + "Main Kaspa network": "Main Kaspa network", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (Main Kaspa network)", + "Managed by the Rusty Kaspa daemon": "Managed by the Rusty Kaspa daemon", + "Market": "Market", + "Market Cap": "Market Cap", + "Market Monitor": "Market Monitor", + "Mass Processed": "Mass Processed", + "Mass:": "Mass:", + "Mass: {number}g": "Mass: {number}g", + "Maximize window": "Maximize window", + "Medium Narrow": "Medium Narrow", + "Medium Wide": "Medium Wide", + "Memory": "Memory", + "Mempool": "Mempool", + "Mempool Size": "Mempool Size", + "Metrics": "Metrics", + "Metrics are not currently available": "Metrics are not currently available", + "Miner Fee": "Miner Fee", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", + "NEXT": "NEXT", + "NO NAME": "NO NAME", + "NPM Modules for NodeJS": "NPM Modules for NodeJS", + "Network": "Network", + "Network Difficulty": "Network Difficulty", + "Network Fee Estimator": "Network Fee Estimator", + "Network Fees:": "Network Fees:", + "Network Interface": "Network Interface", + "Network Load:": "Network Load:", + "Network Load: ~{number}%": "Network Load: ~{number}%", + "Network Peers": "Network Peers", + "Network Pressure: ~{number}%": "Network Pressure: ~{number}%", + "Network is currently congested.": "Network is currently congested.", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "No peers", + "No public node selected - please select a public node": "No public node selected - please select a public node", + "No transactions": "No transactions", + "No wallets found, please create a new wallet": "No wallets found, please create a new wallet", + "Node": "Node", + "Node Status": "Node Status", + "Noise": "Noise", + "None": "None", + "Normal": "Normal", + "Not Connected": "Not Connected", + "Not connected": "Not connected", + "Notifications": "Notifications", + "Open Data Folder": "Open Data Folder", + "Opening wallet:": "Opening wallet:", + "Optional": "Optional", + "Options": "Options", + "Other operations": "Other operations", + "Outbound": "Outbound", + "Overview": "Overview", + "PREV": "PREV", + "Parents": "Parents", + "Passive Sync": "Passive Sync", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Past Median Time", + "Payment & Recovery Password": "Payment & Recovery Password", + "Payment Request": "Payment Request", + "Peers": "Peers", + "Performance": "Performance", + "Phishing Hint": "Phishing Hint", + "Ping:": "Ping:", + "Please Confirm Deletion": "Please Confirm Deletion", + "Please configure your Kaspa NG settings": "Please configure your Kaspa NG settings", + "Please connect to Kaspa p2p node": "Please connect to Kaspa p2p node", + "Please create a stronger password": "Please create a stronger password", + "Please enter": "Please enter", + "Please enter KAS amount to send": "Please enter KAS amount to send", + "Please enter additional": "Please enter additional", + "Please enter additional {amount} words": "Please enter additional {amount} words", + "Please enter an amount": "Please enter an amount", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Please enter the account name", + "Please enter the wallet secret": "Please enter the wallet secret", + "Please enter {suffix} amount to send": "Please enter {suffix} amount to send", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.", + "Please select 'Apply' and restart the application.": "Please select 'Apply' and restart the application.", + "Please select account to scan": "Please select account to scan", + "Please select an account type": "Please select an account type", + "Please select the private key to export": "Please select the private key to export", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Please set node to 'Disabled' to delete the data folder", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.", + "Please specify the name of the new wallet": "Please specify the name of the new wallet", + "Please specify the private key type for the new wallet": "Please specify the private key type for the new wallet", + "Please support Kaspa NG development": "Please support Kaspa NG development", + "Please wait for the node to sync or connect to a remote node.": "Please wait for the node to sync or connect to a remote node.", + "Please wait for the node to sync...": "Please wait for the node to sync...", + "Please wait...": "Please wait...", + "Presets": "Presets", + "Price": "Price", + "Priority": "Priority", + "Priority Fee Estimator": "Priority Fee Estimator", + "Private Key Mnemonic": "Private Key Mnemonic", + "Processed Bodies": "Processed Bodies", + "Processed Dependencies": "Processed Dependencies", + "Processed Headers": "Processed Headers", + "Processed Mass Counts": "Processed Mass Counts", + "Processed Transactions": "Processed Transactions", + "Processing...": "Processing...", + "Protocol:": "Protocol:", + "Public Node": "Public Node", + "Public Nodes": "Public Nodes", + "Public Server": "Public Server", + "Public p2p Nodes for": "Public p2p Nodes for", + "Public wRPC (Borsh)": "Public wRPC (Borsh)", + "Quit": "Quit", + "Random Public Node": "Random Public Node", + "Range:": "Range:", + "Receive Address": "Receive Address", + "Recommended arguments for the remote node: ": "Recommended arguments for the remote node: ", + "Redistributables": "Redistributables", + "Remote": "Remote", + "Remote Connection:": "Remote Connection:", + "Remote p2p Node Configuration": "Remote p2p Node Configuration", + "Removes security restrictions, allows for single-letter passwords": "Removes security restrictions, allows for single-letter passwords", + "Reset Settings": "Reset Settings", + "Reset VSPC": "Reset VSPC", + "Resident Memory": "Resident Memory", + "Resources": "Resources", + "Restart": "Restart", + "Resulting daemon arguments:": "Resulting daemon arguments:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa on GitHub", + "Scanner": "Scanner", + "Scanning complete...": "Scanning complete...", + "Secret is too weak": "Secret is too weak", + "Secret score:": "Secret score:", + "Select Account": "Select Account", + "Select Available Server": "Select Available Server", + "Select Private Key Type": "Select Private Key Type", + "Select Public Node": "Select Public Node", + "Select Wallet": "Select Wallet", + "Select a wallet to unlock": "Select a wallet to unlock", + "Select file...": "Select file...", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Send", + "Sending funds without priority fees will result in long transaction wait times.": "Sending funds without priority fees will result in long transaction wait times.", + "Services": "Services", + "Settings": "Settings", + "Show DAA": "Show DAA", + "Show Grid": "Show Grid", + "Show VSPC": "Show VSPC", + "Show balances in alternate currencies for testnet coins": "Show balances in alternate currencies for testnet coins", + "Show passphrase": "Show passphrase", + "Show password": "Show password", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet", + "Skip": "Skip", + "Small (10 BPS)": "Small (10 BPS)", + "Spread": "Spread", + "Stage": "Stage", + "Starting...": "Starting...", + "Statistics": "Statistics", + "Stop": "Stop", + "Stor Read": "Stor Read", + "Stor Write": "Stor Write", + "Storage": "Storage", + "Storage Read": "Storage Read", + "Storage Read/s": "Storage Read/s", + "Storage Size": "Storage Size", + "Storage Write": "Storage Write", + "Storage Write/s": "Storage Write/s", + "Strong": "Strong", + "Submitted Blocks": "Submitted Blocks", + "Supporting Kaspa NG development": "Supporting Kaspa NG development", + "Syncing Cryptographic Proof...": "Syncing Cryptographic Proof...", + "Syncing DAG Blocks...": "Syncing DAG Blocks...", + "Syncing Headers...": "Syncing Headers...", + "Syncing UTXO entries...": "Syncing UTXO entries...", + "Syncing...": "Syncing...", + "System": "System", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.", + "The balance may be out of date during node sync": "The balance may be out of date during node sync", + "The following will guide you through the process of creating or importing a wallet.": "The following will guide you through the process of creating or importing a wallet.", + "The network is currently congested.": "The network is currently congested.", + "The network is currently experiencing high load": "The network is currently experiencing high load", + "The node is currently syncing with the Kaspa p2p network.": "The node is currently syncing with the Kaspa p2p network.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.", + "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).", + "The node synchronizes in the background while Kaspa-NG is connected to a public node.": "The node synchronizes in the background while Kaspa-NG is connected to a public node.", + "The node synchronizes in the background while Kaspa-NG is connected to a public node. Once the node is synchronized, you can switch to the 'Integrated Daemon' mode.": "The node synchronizes in the background while Kaspa-NG is connected to a public node. Once the node is synchronized, you can switch to the 'Integrated Daemon' mode.", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Theme Color", + "Theme Color:": "Theme Color:", + "Theme Style": "Theme Style", + "Theme Style:": "Theme Style:", + "This option will transfer any discovered funds to the first change address of this account.": "This option will transfer any discovered funds to the first change address of this account.", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Threshold": "Threshold", + "Time Offset:": "Time Offset:", + "Tip Hashes": "Tip Hashes", + "Too many words in the": "Too many words in the", + "Tools ⏷": "Tools ⏷", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Track in the background", + "Transaction Fee Estimator": "Transaction Fee Estimator", + "Transaction Fees": "Transaction Fees", + "Transactions": "Transactions", + "Transactions:": "Transactions:", + "Transactions: {number}": "Transactions: {number}", + "Transfer funds during scan": "Transfer funds during scan", + "Type": "Type", + "URI copied to clipboard": "URI copied to clipboard", + "UTXO Manager": "UTXO Manager", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "UTXOs: {number}": "UTXOs: {number}", + "Unable to change node settings until the problem is resolved": "Unable to change node settings until the problem is resolved", + "Unlock": "Unlock", + "Unlock Wallet": "Unlock Wallet", + "Unlocking": "Unlocking", + "Update Available to version": "Update Available to version", + "Updating...": "Updating...", + "Uptime:": "Uptime:", + "Use 50%-75% of available system memory": "Use 50%-75% of available system memory", + "Use all available system memory": "Use all available system memory", + "User Agent": "User Agent", + "User Interface": "User Interface", + "Very dangerous (may be cracked within few seconds)": "Very dangerous (may be cracked within few seconds)", + "Very weak": "Very weak", + "Virt Parents": "Virt Parents", + "Virtual DAA Score": "Virtual DAA Score", + "Virtual Memory": "Virtual Memory", + "Virtual Parent Hashes": "Virtual Parent Hashes", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", + "Wallet": "Wallet", + "Wallet Created": "Wallet Created", + "Wallet Encryption Password": "Wallet Encryption Password", + "Wallet File Secret": "Wallet File Secret", + "Wallet Name": "Wallet Name", + "Wallet Secret": "Wallet Secret", + "Wallet creation error:": "Wallet creation error:", + "Wallet decrypting error:": "Wallet decrypting error:", + "Wallet password is used to encrypt your wallet data.": "Wallet password is used to encrypt your wallet data.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Wallet:", + "We greatly appreciate your help in backing our efforts.": "We greatly appreciate your help in backing our efforts.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Welcome to Kaspa NG", + "Xpub Keys": "Xpub Keys", + "You are currently not connected to the Kaspa node.": "You are currently not connected to the Kaspa node.", + "You can configure remote connection in Settings": "You can configure remote connection in Settings", + "You can create multiple wallets, but only one wallet can be open at a time.": "You can create multiple wallets, but only one wallet can be open at a time.", + "You must be connected to a node...": "You must be connected to a node...", + "Your default wallet private key mnemonic is:": "Your default wallet private key mnemonic is:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Your private key mnemonic is:": "Your private key mnemonic is:", + "Your wallet has been created and is ready to use.": "Your wallet has been created and is ready to use.", + "Zoom": "Zoom", + "amount to send": "amount to send", + "bye!": "bye!", + "gRPC Network Interface & Port": "gRPC Network Interface & Port", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "of", + "of its capacity.": "of its capacity.", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "peer", + "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "to ensure faster transaction acceptance.": "to ensure faster transaction acceptance.", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC Connection Settings", + "wRPC Encoding:": "wRPC Encoding:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "word mnemonic": "word mnemonic", + "words": "words", + "~2 hours": "~2 hours", + "~30 minutes": "~30 minutes" + }, + "es": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "Red de pruebas 1 BPS", + "10 BPS test network": "Red de pruebas 10 BPS", + "12 word mnemonic": "Mnemotécnica de 12 palabras", + "24 word mnemonic": "Mnemotécnica de 24 palabras", + "24h Change": "Cambio en 24h", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "Un binario en otra ubicación a creado un proceso dependiente (experimental, únicamente para desarrollo)", + "A random node will be selected on startup": "Se seleccionará un nodo aleatoriamente al inicio", + "A wallet is stored in a file on your computer.": "Hay una billetera en un archivo de su ordenador", + "Account Index": "Índice de la cuenta", + "Account Name": "Nombre de la cuenta", + "Account:": "Cuenta:", + "Activate custom daemon arguments": "Activar argumentos del daemon personalizado ", + "Active p2p Peers": "Usuarios p2p activos", + "Address derivation scan": "Escaneo de derivación de dirección", + "Address:": "Dirección:", + "Advanced": "Avanzado", + "Advanced Options": "Advanced Options", + "All": "Todo", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Permitir argumentos personalizados para el daemon de Rusty Kaspa", + "Allows you to take screenshots from within the application": "Permite tomar capturas de pantalla desde dentro de la aplicación", + "Apply": "Aplicar", + "Balance: N/A": "Saldo: N/A", + "Bandwidth": "Ancho de banda", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Como está centrado en la seguridad y el rendimiento, este software se ha desarrollado por completo en Rust, lo que ha requerido significativamente más tiempo y esfuerzo que otros softwares tradicionalmente desarrollados para web.", + "Bezier Curves": "Curvas Bezier", + "Block DAG": "Block DAG", + "Block Scale": "Escala de bloques", + "Blocks": "Bloques", + "Bodies": "Cuerpos", + "Borsh Active Connections": "Conexiones Activas Borsh", + "Borsh Connection Attempts": "Intentos de Conexión Borsh", + "Borsh Handshake Failures": "Fallos Handshake Borsh", + "Build": "Versión", + "CONNECTED": "CONECTADO", + "CPU": "CPU", + "Cache Memory Size": "Tamaño memoria caché", + "Cache Memory Size:": "Tamaño memoria caché:", + "Cancel": "Cancelar", + "Cannot delete data folder while the node is running": "No se puede eliminar la carpeta de datos mientras el nodo está activo", + "Capture a screenshot": "Tomar captura de pantalla", + "Center VSPC": "Centrar VSPC", + "Chain Blocks": "Bloques de la Cadena", + "Change Address": "Cambiar dirección", + "Check for Software Updates on GitHub": "Compruebe si hay actualizaciones de software en Github", + "Check for Updates": "Comprobar actualizaciones", + "Clear": "Borrar", + "Click to try another server...": "Haz clic para probar otro servidor", + "Client RPC": "RPC cliente", + "Close": "Cerrar", + "Close the window": "Cerrar la ventana ", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Confirme contraseña de la billetera", + "Connect to a local node (localhost)": "Conectar a nodo local (localhost)", + "Connecting to": "Conectar a", + "Connection": "Conexión", + "Connections": "Conexiones", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Conecta a un Nodo Rusty Kaspa Remoto por wRPC", + "Conservative": "Conservador", + "Continue": "Continuar", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Las contribuciones a este proyecto apoyan directamente al software Kaspa NG y su ecosistema", + "Copied to clipboard": "Copiado al portapapeles", + "Copy": "Copiar", + "Copy logs to clipboard": "Copia los registros al portapapeles", + "Create New Account": "Crear cuenta nueva", + "Create New Wallet": "Crear billetera nueva", + "Create Wallet": "Create Wallet", + "Create new wallet": "Crear billetera nueva", + "Creating Account": "Creando cuenta", + "Creating Wallet": "Creando billetera", + "Custom": "Personalizado", + "Custom Public Node": "Nodo Público Personalizado", + "Custom arguments:": "Argumentos personalizados:", + "Custom data storage folder": "Carpeta almacenamiento datos personalizada", + "DAA": "DAA", + "DAA Offset": "Desviación DAA", + "DAA Range": "Rango DAA", + "DB Blocks": "Bloques DB", + "DB Headers": "Encabezamientos DB", + "Dangerous": "Dangerous", + "Data Storage": "Almacenamiento datos", + "Database Blocks": "Bloques en Base de Datos", + "Database Headers": "Encabezamientos Base de Datos", + "Decrypting wallet, please wait...": "Desencriptando billetera, por favor espere...", + "Default": "Por defecto", + "Default Account Name": "Nombre por defecto de la cuenta", + "Delete Data Folder": "Eliminar carpeta de datos", + "Dependencies": "Dependencias", + "Derivation Indexes": "Índices de derivación", + "Details": "Detalles", + "Developer Mode": "Modo desarrollador", + "Developer Resources": "Recursos para desarrolladores", + "Developer mode enables advanced and experimental features": "El modo Desarrollador activa funciones avanzadas y experimentales", + "Difficulty": "Dificultad", + "Dimensions": "Dimensiones", + "Disable password safety rules": "Desactivar las restricciones de calidad de contraseña", + "Disabled": "Desactivado", + "Disables node connectivity (Offline Mode).": "Desactiva la conectividad del nodo (modo fuera de linea)", + "Discord": "Discord", + "Donations": "Donaciones", + "Double click on the graph to re-center...": "Haz doble clic en el gráfico para volver a centrar", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Activar Monitor del Mercado", + "Enable UPnP": "Activar UPnP", + "Enable custom daemon arguments": "Activar argumentos del daemon personalizado", + "Enable experimental features": "Activar funciones experimentales", + "Enable gRPC": "Activar gRPC", + "Enable optional BIP39 passphrase": "Habilitar frase de contraseña opcional BIP39", + "Enable screen capture": "Habilitar captura de pantalla", + "Enables features currently in development": "Habilita funciones actualmente en desarrollo", + "Enter": "Intro", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Introduce un nombre de cuenta (opcional)", + "Enter first account name": "Introduce el primer nombre de cuenta", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Introduce una pregunta de seguridad", + "Enter the amount": "Introduce la cantidad", + "Enter the password for your wallet": "Introduce la contraseña para tu billetera", + "Enter the password to unlock your wallet": "Introduce la contraseña para desbloquear tu billetera", + "Enter wallet name": "Introduce el nombre de la billetera", + "Enter wallet password": "Introduce la contraseña de la billetera", + "Enter your wallet secret": "Introduce la clave secreta de tu billetera", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorador", + "Export Wallet Data": "Exportar Datos de la Billetera", + "Faucet": "Faucet", + "File Handles": "Manejadores de Ficheros", + "Filename:": "Nombre del Fichero:", + "Final Amount:": "Cantidad Final:", + "Full Screen": "Pantalla completa ", + "GitHub Release": "Versión de GitHub", + "Go to Settings": "Ir a Configuración", + "Good": "Good", + "Handles": "Manejadores", + "Headers": "Cabeceras", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "Si no se especifica, la cuenta se representará por su id numérico", + "If you are running locally, use: ": "Si está ejecutando localmente, usar:", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Importar existente", + "Importing Wallet": "Importing Wallet", + "Inbound": "Entrante", + "Include QoS Priority Fees": "Incluir Comisiones por Prioridad QoS", + "Integrated Daemon": "Daemon integrado", + "Invalid daemon arguments": "Argumentos del daemon no válidos", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Tipo de red inválido - se esperaba: testnet-10 conectado a: testnet-11", + "Invalid wRPC URL": "URL wRPC inválida", + "Json Active Connections": "Conexiones Json Activas", + "Json Connection Attempts": "Intentos de Conexión Json", + "Json Handshake Failures": "Fallos de Handshake Json", + "Kaspa Discord": "Discord de Kaspa", + "Kaspa Integration Guide": "Guía de Integración Kaspa", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Web App", + "Kaspa NG on GitHub": "Kaspa NG en GitHub", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Red Kaspa", + "Kaspa Node": "Nodo Kaspa", + "Kaspa p2p Network & Node Connection": "Red p2p de Kaspa & Nodo de Conexión", + "Kaspa p2p Node": "Nodo p2p de Kaspa", + "Kaspa p2p Node & Connection": "Nodo & conexión p2p de Kaspa", + "Key Perf.": "Indicadores Clave", + "Language:": "Idioma:", + "Large (1 BPS)": "Grande (1 BPS)", + "Levels": "Niveles", + "License Information": "Información de Licencia", + "Local": "Local", + "Local p2p Node Configuration": "Configuración Local Nodo p2p", + "Logs": "Logs", + "MT": "MT", + "Main Kaspa network": "Red Principal de Kaspa", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (Red Principal de Kaspa)", + "Managed by the Rusty Kaspa daemon": "Gestionado por el daemon de Rusty Kaspa", + "Market": "Mercado", + "Market Cap": "Cap. de Mercado", + "Market Monitor": "Monitor de Mercado", + "Mass Processed": "Procesado Masivo", + "Maximize window": "Maximizar ventana", + "Medium Narrow": "Medio Estrecho", + "Medium Wide": "Medio Ancho", + "Memory": "Memoria", + "Mempool": "Pool de memoria", + "Mempool Size": "Tamaño Pool Memoria", + "Metrics": "Métricas", + "Metrics are not currently available": "Las métricas no están disponibles actualmente", + "Minimize the window": "Minimizar ventana ", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "Módulos NPM para NodeJS", + "Network": "Red", + "Network Difficulty": "Complejidad de Red", + "Network Fees:": "Comisiones de Red:", + "Network Interface": "Interfaz de Red", + "Network Peers": "Usuarios de Red", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "Sin usuarios", + "No public node selected - please select a public node": "Ningún nodo público seleccionado - por favor seleccione un nodo público", + "No transactions": "Sin transacciones", + "No wallets found, please create a new wallet": "No se encontraron billeteras, por favor cree una nueva", + "Node": "Nodo", + "Node Status": "Status del Nodo:", + "Noise": "Ruido", + "None": "Ninguno", + "Not Connected": "No Conectado", + "Not connected": "No conectado", + "Notifications": "Notificaciones", + "Open Data Folder": "Abrir Carpeta de Datos", + "Opening wallet:": "Abriendo billetera:", + "Optional": "Opcional", + "Other operations": "Otras operaciones", + "Outbound": "Saliente", + "Overview": "Visión General", + "Parents": "Padres", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Mediana de Tiempo", + "Payment & Recovery Password": "Contraseña de Pagos y Recuperación", + "Payment Request": "Solicitud de Pago", + "Peers": "Usuarios", + "Performance": "Rendimiento", + "Phishing Hint": "Pregunta de Seguridad", + "Ping:": "Ping:", + "Please Confirm Deletion": "Por favor Confirme la Eliminación", + "Please configure your Kaspa NG settings": "Por favor configure sus parámetros de Kaspa NG", + "Please connect to Kaspa p2p node": "Por favor conéctese a un nodo p2p de Kaspa", + "Please create a stronger password": "Por favor cree una contraseña más segura", + "Please enter": "Por favor introduzca", + "Please enter KAS amount to send": "Por favor introduzca la cantidad de KAS que desea enviar", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Por favor introduzca una cantidad ", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Por favor introduzca el nombre de la cuenta", + "Please enter the wallet secret": "Por favor introduzca la clave secreta de la billetera", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Por favor, considere que esto es una versión alfa. Hasta que se elimine este mensaje, por favor evite usar la billetera con fondos de mainnet.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Por favor, considere que copiar al portapapeles conlleva un riesgo de exponer su mnemotécnica a malware.", + "Please select an account type": "Por favor seleccione un tipo de cuenta", + "Please select the private key to export": "Por favor, seleccione la clave privada a exportar", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Por favor configure el nodo como 'Deshabilitado' para borrar la carpeta de datos", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Por favor, especifique el nombre de la cuenta por defecto. La billetera se creará con una cuenta por defecto. Una vez creada, podrá crear tantas cuentas adicionales como necesite.", + "Please specify the name of the new wallet": "Por favor, especifique el nombre de la nueva billetera.", + "Please specify the private key type for the new wallet": "Por favor, especifique el tipo de clave privada para la nueva billetera", + "Please wait for the node to sync or connect to a remote node.": "Por favor, espere a que el nodo se sincronice o conecte con un nodo remoto.", + "Please wait for the node to sync...": "Por favor espere a que el nodo se sincronice...", + "Please wait...": "Por favor espere...", + "Presets": "Config.", + "Price": "Precio", + "Private Key Mnemonic": "Clave privada Mnemotécnica", + "Processed Bodies": "Cuerpos Procesados", + "Processed Dependencies": "Dependencias Procesadas", + "Processed Headers": "Cabeceras Procesadas", + "Processed Mass Counts": "Cuentas de Procesados Masivos", + "Processed Transactions": "Transacciones Procesadas", + "Protocol:": "Protocolo:", + "Public Node": "Nodo Público:", + "Public Nodes": "Nodos Públicos", + "Public Server": "Servidor Público", + "Public p2p Nodes for": "Nodos públicos p2p para", + "Random Public Node": "Nodo Público Aleatorio", + "Range:": "Rango:", + "Receive Address": "Dirección de Recepción:", + "Recommended arguments for the remote node: ": "Parámetros recomendados para el nodo remoto:", + "Redistributables": "Redistribuibles ", + "Remote": "Remoto", + "Remote Connection:": "Conexión Remota:", + "Remote p2p Node Configuration": "Configuración del Nodo p2p Remoto", + "Removes security restrictions, allows for single-letter passwords": "Elimina restricciones de seguridad, permite contraseñas sencillas, sólo letras", + "Reset Settings": "Reiniciar Ajustes", + "Reset VSPC": "Reiniciar VSPC", + "Resident Memory": "Memoria Residente", + "Resources": "Recursos", + "Resulting daemon arguments:": "Argumentos del daemon arrojados:", + "Rust Wallet SDK": "SDK Billetera Rust", + "Rusty Kaspa on GitHub": "Rusty Kaspa en GitHub", + "Secret is too weak": "La clave secreta es demasiado débil", + "Secret score:": "Puntuación de la clave secreta:", + "Select Account": "Selecciona Cantidad", + "Select Available Server": "Seleccione Servidor Disponible", + "Select Private Key Type": "Seleccione Tipo de Clave Privada", + "Select Public Node": "Seleccione Nodo Público ", + "Select Wallet": "Seleccione Billetera", + "Select a wallet to unlock": "Seleccione una billetera para desbloquear", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Enviar", + "Services": "Servicios", + "Settings": "Configuración", + "Show DAA": "Mostrar DAA", + "Show Grid": "Mostrar Rejilla", + "Show VSPC": "Mostrar VSPC", + "Show balances in alternate currencies for testnet coins": "Mostrar saldos en divisas alternativas para las monedas en testnet", + "Show passphrase": "Show passphrase", + "Show password": "Mostrar contraseña", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Mostrar saldos en divisas alternativas (BTC, USD) cuando se usen monedas en testnet como si estuviera en mainnet", + "Skip": "Omitir", + "Small (10 BPS)": "Pequeño (10 BPS)", + "Spread": "Propagación", + "Stage": "Fase", + "Starting...": "Iniciando...", + "Statistics": "Estadísticas", + "Stor Read": "Lectura Alm.", + "Stor Write": "Escritura Alm.", + "Storage": "Almacenamiento", + "Storage Read": "Lectura Almacenamiento", + "Storage Read/s": "Lectura/s Almacenamiento", + "Storage Write": "Escritura Almacenamiento", + "Storage Write/s": "Escritura/s Almacenamiento", + "Strong": "Strong", + "Submitted Blocks": "Bloques Enviados", + "Supporting Kaspa NG development": "Apoyar el desarrollo de Kaspa NG", + "Syncing Cryptographic Proof...": "Sincronizando Prueba Criptográfica...", + "Syncing DAG Blocks...": "Sincronizando Bloques DAG...", + "Syncing Headers...": "Sincronizando Cabeceras...", + "Syncing UTXO entries...": "Sincronizando entradas UTXO...", + "Syncing...": "Sincronizando...", + "System": "Sistema", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 no está aún habilitada para pruebas públicas. Puede, no obstante, configurar el nodo para conectarse a la testnet privada de desarrollo en el panel de Configuración.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "KASPA NG representa el esfuerzo por construir una plataforma software de última generación dedicada a la red BlockDAG de Kaspa. Tal como su proyecto matriz, este software prioriza la seguridad, privacidad, rendimiento y descentralización.", + "The balance may be out of date during node sync": "El saldo puede estar desactualizado durante la sincronización del nodo", + "The following will guide you through the process of creating or importing a wallet.": "Le guiaremos en el proceso de creación o importación de una billetera.", + "The node is currently syncing with the Kaspa p2p network.": "El nodo está actualmente sincronizándose con la red p2p de Kaspa.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "El nodo está actualmente sincronizándose con la red p2p de Kaspa. Los saldos de la cuenta pueden estar desactualizados.", + "The node is spawned as a child daemon process (recommended).": "El nodo se ha creado como un proceso daemon dependiente (recomendado).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "El nodo se ejecuta como parte del proceso de la aplicación Kaspa-NG. Esto reduce un gasto excesivo en comunicación (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Color del Tema", + "Theme Color:": "Color del Tema:", + "Theme Style": "Estilo del Tema", + "Theme Style:": "Estilo del Tema:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Esta billetera nunca te solicitará esta frase mnemotécnica a menos que inicie manualmente una recuperación de la clave privada.", + "Threshold": "Umbral", + "Time Offset:": "Desplazamiento de Tiempo:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Herramientas ⏷", + "Total Rx": "Rx Total", + "Total Rx/s": "Rx/s Total", + "Total Tx": "Tx Total", + "Total Tx/s": "Tx/s Total", + "Track in the background": "Rastrear en segundo plano", + "Transactions": "Transacciones", + "Transactions:": "Transacciones:", + "Type": "Tipo", + "UTXO Manager": "Manager UTXO", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "No se puede cambiar la configuración del nodo hasta que se resuelva el problema", + "Unlock": "Desbloquear", + "Unlock Wallet": "Desbloquear Billetera", + "Unlocking": "Desbloqueando", + "Update Available to version": "Actualizar Disponible a versión", + "Updating...": "Actualizando...", + "Uptime:": "Tiempo activo:", + "Use 50%-75% of available system memory": "Usar 50 %-75% de la memoria del sistema disponible", + "Use all available system memory": "Usar toda la memoria del sistema disponible", + "User Agent": "Agente de Usuario", + "User Interface": "Interfaz de Usuario", + "Very dangerous (may be cracked within few seconds)": "Muy peligroso (puede ser crackeado en unos pocos segundos)", + "Very weak": "Very weak", + "Virt Parents": "Padres Virt", + "Virtual DAA Score": "Puntuación DAA Virtual", + "Virtual Memory": "Memoria Virtual", + "Virtual Parent Hashes": "Hashes Padres Virtuales", + "Volume": "Volumen", + "WASM SDK for JavaScript and TypeScript": "SDK WASM para JavaScript y TypeScript", + "Wallet": "Billetera", + "Wallet Created": "Billetera Creada", + "Wallet Encryption Password": "Contraseña de Encriptación de la Billetera", + "Wallet Name": "Nombre de la Billetera", + "Wallet Secret": "Clave Secreta de la Billetera", + "Wallet password is used to encrypt your wallet data.": "La contraseña de la billetera se usa para encriptar los datos de la billetera.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Billetera:", + "We greatly appreciate your help in backing our efforts.": "Agradecemos enormemente tu ayuda para recompensar nuestros esfuerzos.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Bienvenidos a Kaspa NG", + "Xpub Keys": "Claves Xpub", + "You are currently not connected to the Kaspa node.": "No está conectado actualmente al nodo Kaspa.", + "You can configure remote connection in Settings": "Puede configurar la conexión remota en Configuración", + "You can create multiple wallets, but only one wallet can be open at a time.": "Puede crear múltiples billeteras, pero sólo una puede estar abierta a la vez", + "You must be connected to a node...": "Debe estar conectado a un nodo...", + "Your default wallet private key mnemonic is:": "Tu clave privada mnemotécnica por defecto es:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Su frase mnemotécnica permite recrear su clave privada. Cualquier persona que tenga acceso a esta frase mnemotécnica, tendrá control total sobre el Kaspa almacenada en ella. Mantenga su frase mnemotécnica a salvo. Escríbala y guárdela en un lugar seguro, preferiblemente en un lugar ignífugo. No guarde su frase mnemotécnica en un ordenador o dipositivo móvil. Esta billetera nunca le pedirá esta frase mnemotécnica a menos que inicie manualmente una recuperación de la clave privada.", + "Your private key mnemonic is:": "Su frase privada mnemotécnica es:", + "Your wallet has been created and is ready to use.": "Su billetera ha sido creada y está lista para su uso", + "Zoom": "Zoom", + "amount to send": "cantidad para enviar", + "bye!": "¡Adiós!", + "gRPC Network Interface & Port": "Interfaz de Red y Puerto gRPC", + "gRPC Rx": "Rx gRPC", + "gRPC Rx/s": "Rx/s gRPC", + "gRPC Tx": "Tx gRPC", + "gRPC Tx/s": "Tx/s gRPC", + "of": "de", + "p2p RPC": "RPC p2p", + "p2p Rx": "Rx p2p", + "p2p Rx/s": "Rx/s p2p", + "p2p Tx": "Tx p2p", + "p2p Tx/s": "Tx/s p2p", + "peer": "usuario", + "peers": "usuarios", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "Rx Borsh wRPC", + "wRPC Borsh Rx/s": "Rx/s Borsh wRPC", + "wRPC Borsh Tx": "Tx Borsh wRPC", + "wRPC Borsh Tx/s": "Tx/s Borsh wRPC", + "wRPC Connection Settings": "Configuración Conexión wRPC", + "wRPC Encoding:": "Codificación wRPC:", + "wRPC JSON Rx": "Rx JSON wRPC", + "wRPC JSON Rx/s": "Rx/s JSON wRPC", + "wRPC JSON Tx": "Tx JSON wRPC", + "wRPC JSON Tx/s": "Tx/s JSON wRPC", + "wRPC URL:": "URL wRPC:", + "words": "words" + }, + "et": {}, + "fa": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "«توجه به فیشینگ» کلمه یا عبارتی مخفی است که وقتی کیف پول خود را باز می کنید نمایش داده می شود. اگر هنگام باز کردن کیف پول خود این نکته را مشاهده نکردید، ممکن است به کیف پول جعلی دسترسی داشته باشید که برای سرقت وجوه شما طراحی شده است. اگر این اتفاق افتاد، فوراً استفاده از کیف پول را متوقف کنید، نام دامنه URL مرورگر را بررسی کنید و از شبکه های اجتماعی (Kaspa Discord یا تلگرام) کمک بگیرید.", + "1 BPS test network": "شبکه تست 1 بلاک در ثانیه", + "10 BPS test network": "شبکه تست 10 بلاک در ثانیه", + "12 word mnemonic": "عبارت یادآور 12 کلمه ای", + "24 word mnemonic": "عبارت یادآور 24 کلمه ای", + "24h Change": "تغییر 24 ساعته", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "یک باینری در مکان دیگری یک پردازش فرزند ایجاد می شود (تجربی، فقط برای اهداف توسعه دهندگی).", + "A random node will be selected on startup": "یک نود تصادفی در راه اندازی انتخاب خواهد شد", + "A wallet is stored in a file on your computer.": "یک کیف پول در فایلی در رایانه شما ذخیره می شود.", + "Account Index": "فهرست راهنمای حساب", + "Account Name": "نام حساب", + "Account:": "حساب:", + "Activate custom daemon arguments": "فعال کردن آرگومان های سرویس سفارشی ", + "Active p2p Peers": "فعال سازی همتایان p2p", + "Address derivation scan": "اسکن مشتق آدرس", + "Address:": "آدرس:", + "Advanced": "پیشرفته", + "Advanced Options": "گزینه های پیشرفته", + "All": "همه", + "Allow clipboard copy": "اجازه دادن به کپی کلیپ بورد", + "Allow custom arguments for the Rusty Kaspa daemon": "اجازه دادن آرگومان های سفارشی برای سرویس Rusty Kaspa ", + "Allows you to take screenshots from within the application": "به شما امکان می دهد از داخل برنامه اسکرین شات بگیرید", + "Apply": "اعمال کردن", + "Balance: N/A": "موجودی: در دسترس نیست", + "Bandwidth": "پهنای باند", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "به دلیل تمرکز بر امنیت و عملکرد، این نرم افزار به طور کامل در Rust توسعه یافته است و در مقایسه با سایر نرم افزارهای سنتی مدرن مبتنی بر وب، زمان و تلاش بیشتری را می طلبد.", + "Bezier Curves": "منحنی های Bezier", + "Block DAG": "Block DAG", + "Block Scale": "مقیاس بلاک", + "Blocks": "بلاک ها", + "Bodies": "اجسام", + "Borsh Active Connections": "اتصالات فعال Borsh", + "Borsh Connection Attempts": "تلاش ها برای اتصال Borsh", + "Borsh Handshake Failures": "عدم موفقیت در تبادل اطلاعات با Borsh", + "Build": "ساختن", + "CONNECTED": "وصل شد", + "CPU": "CPU", + "Cache Memory Size": "اندازه حافظه کش", + "Cache Memory Size:": "اندازه حافظه کش:", + "Cancel": "لغو", + "Cannot delete data folder while the node is running": "در حالی که نود در حال اجرا است، نمی توان پوشه داده ها را حذف کرد", + "Capture a screenshot": "اسکرین شات بگیرید", + "Center VSPC": "مرکز VSPC", + "Chain Blocks": "بلوک های زنجیره ای", + "Change Address": "تغییر آدرس", + "Check for Software Updates on GitHub": "بررسی بروز رسانی های نرم افزار در GitHub ", + "Check for Updates": "بررسی بروز رسانی ها", + "Clear": "پاک کردن", + "Click to try another server...": "روی سرور دیگری کلیک کنید...", + "Client RPC": "کلاینت RPC", + "Close": "بستن", + "Close the window": "بستن پنجره", + "Confirm BIP39 passphrase": "رمز عبور BIP39 را تایید کنید", + "Confirm wallet password": "تایید کلمه عبور کیف پول", + "Connect to a local node (localhost)": "اتصال به یک نود محلی (میزبان محلی)", + "Connecting to": "ارتباط با", + "Connection": "اتصال", + "Connections": "اتصال ها", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "از طریق wRPC به یک Remote Rusty Kaspa Node متصل می شود.", + "Conservative": "با دوام", + "Continue": "ادامه", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "مشارکت های انجام شده در این پروژه به طور مستقیم به نرم افزار Kaspa NG و اکوسیستم آن کمک می کند.", + "Copied to clipboard": "در کلیپ بورد کپی شد", + "Copy": "کپی", + "Copy logs to clipboard": "کپی گزارش‌ها را در کلیپ بورد ", + "Create New Account": "ایجاد حساب کاربری جدید", + "Create New Wallet": "ایجاد کردن کیف پول جدید", + "Create Wallet": "ایجاد کیف پول", + "Create new wallet": "ساختن کیف پول جدید", + "Creating Account": "ایجاد حساب کاربری", + "Creating Wallet": "ساختن کیف پول", + "Custom": "سفارشی", + "Custom Public Node": "نود عمومی سفارشی", + "Custom arguments:": "آرگومان های سفارشی:", + "Custom data storage folder": "پوشه ذخیره سازی داده های سفارشی", + "DAA": "ترتیب دستیابى داده ها DAA", + "DAA Offset": " نقطه آغازین ترتیب دستیابى داده ها DAA", + "DAA Range": "محدوده ترتیب دستیابى داده ها DAA", + "DB Blocks": "بلاک های پایگاه داده", + "DB Headers": "سربرگ های DB", + "Dangerous": "خطرناک", + "Data Storage": "مخزن داده ها", + "Database Blocks": "بلاک های پایگاه داده ها", + "Database Headers": "سربرگ های پایگاه داده ها", + "Decrypting wallet, please wait...": "در حال رمزگشایی کیف پول، لطفا صبر کنید...", + "Default": "پیش فرض", + "Default Account Name": "نام حساب پیش فرض", + "Delete Data Folder": "پوشه داده ها را حذف کنید", + "Dependencies": "وابستگی ها", + "Derivation Indexes": "شاخص های مشتق", + "Details": "جزییات", + "Developer Mode": "تنظیمات برنامه نویسی", + "Developer Resources": "منابع برنامه نویسی", + "Developer mode enables advanced and experimental features": "حالت برنامه نویسی ویژگی های پیشرفته و آزمایشی را فعال می کند", + "Difficulty": "سختی", + "Dimensions": "ابعاد", + "Disable password safety rules": "غیرفعال کردن قوانین امنیتی کلمه عبور", + "Disabled": "غیرفعال ", + "Disables node connectivity (Offline Mode).": "اتصال نود را غیرفعال می کند (حالت آفلاین).", + "Discord": "دیسکورد", + "Donations": "کمک های مالی", + "Double click on the graph to re-center...": "روی نمودار دوبار کلیک کنید تا دوباره در وسط قرار دهید...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "فعال سازی مشاهده بازار", + "Enable UPnP": "فعال سازی UPnP", + "Enable custom daemon arguments": "آرگومان های سرویس سفارشی را فعال کنید", + "Enable experimental features": "فعال سازی ویژگی های آزمایشی", + "Enable gRPC": "فعال سازی gRPC", + "Enable optional BIP39 passphrase": "فعال کردن عبارت عبور اختیاری BIP39 ", + "Enable screen capture": "فعال کردن ضبط صفحه", + "Enables features currently in development": "فعال سازی ویژگی‌هایی که در حال توسعه هستند", + "Enter": "ورود", + "Enter BIP39 passphrase": "رمز عبور BIP39 را وارد کنید", + "Enter account name (optional)": "نام حساب را وارد کنید (اختیاری)", + "Enter first account name": "نام اولین حساب کاربری را وارد کنید", + "Enter mnemonic": "عبارت یادآور را وارد کنید", + "Enter phishing hint": "وارد کردن راهنمایی فیشینگ", + "Enter the amount": "مقدار را وارد کنید", + "Enter the password for your wallet": "رمز عبور کیف پول خود را وارد کنید", + "Enter the password to unlock your wallet": "کلمه عبور را برای باز کردن کیف پول خود وارد کنید", + "Enter wallet name": "وارد کردن نام کیف پول", + "Enter wallet password": "وارد کردن کلمه عبور کیف پول", + "Enter your wallet secret": "رمز کیف پول خود را وارد کنید", + "Exit Full Screen": "خروج از تمام صفحه", + "Explorer": "کاوشگر", + "Export Wallet Data": "صدور داده های کیف پول", + "Faucet": "فاست", + "File Handles": "دسته های فایل", + "Filename:": "نام فایل:", + "Final Amount:": "مبلغ نهایی:", + "Full Screen": "تمام صفحه", + "GitHub Release": "انتشار GitHub", + "Go to Settings": "برو به تنظیمات", + "Good": "خوبه", + "Handles": "دستگیره ها", + "Headers": "سربرگ ها", + "I have a 12 word mnemonic legacy account": "من عبارت یادآور 12 کلمه ای یک حساب قدیمی دارم", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "اگر مشخص نشده باشد، حساب با شناسه عددی نشان داده می شود.", + "If you are running locally, use: ": "اگر بصورت محلی اجرا می کنید،استفاده کنید از:", + "Import Existing Private Key": "کلید خصوصی موجود را وارد کنید", + "Import existing": "وارد کردن موجود", + "Importing Wallet": "وارد کردن کیف پول", + "Inbound": "ورودی", + "Include QoS Priority Fees": "شامل هزینه های اولویت QoS", + "Integrated Daemon": "سرویس یکپارچه", + "Invalid daemon arguments": "نامعتبر بودن آرگومان های سرویس نامعتبر", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "نوع شبکه مورد نظر نامعتبر است: شبکه تست-10 متصل به: شبکه تست-11 ", + "Invalid wRPC URL": "آدرس wPRC نامعتبر", + "Json Active Connections": "اتصالات فعال Json", + "Json Connection Attempts": "تلاش های اتصال Json", + "Json Handshake Failures": "عدم موفقیت در تبادل اطلاعات با Json", + "Kaspa Discord": "دیسکورد Kaspa", + "Kaspa Integration Guide": "راهنمای ادغام Kaspa", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG آنلاین", + "Kaspa NG Web App": "اپلیکشین تحت وب Kaspa NG", + "Kaspa NG on GitHub": "Kaspa NG در GitHub", + "Kaspa NG online": "Kaspa NG آنلاین", + "Kaspa Network": "شبکه Kaspa", + "Kaspa Node": "نود Kaspa", + "Kaspa p2p Network & Node Connection": "شبکه Kaspa p2p و اتصال نود", + "Kaspa p2p Node": "نود Kaspa p2p", + "Kaspa p2p Node & Connection": "اتصال و نود Kaspa p2p", + "Key Perf.": "عملکرد کلیدی", + "Language:": "زبان:", + "Large (1 BPS)": "بزرگ (1 BPS)", + "Levels": "سطوح", + "License Information": "اطلاعات مجوز", + "Local": "محلی", + "Local p2p Node Configuration": "پیکربندی نود p2p محلی", + "Logs": "گزارشات", + "MT": "MT", + "Main Kaspa network": "شبکه اصلی Kaspa", + "Mainnet": "شبکه اصلی", + "Mainnet (Main Kaspa network)": "شبکه اصلی (شبکه اصلی Kaspa)", + "Managed by the Rusty Kaspa daemon": "مدیریت توسط سرویس Rusty Kaspa ", + "Market": "بازار", + "Market Cap": "ارزش بازاری", + "Market Monitor": "مشاهده بازار", "Mass Processed": "پردازش انبوه", + "Maximize window": "بزرگ کردن پنجره", "Medium Narrow": "ابزار باریک کردن", "Medium Wide": "ابزار گسترده کردن", "Memory": "حافظه", @@ -1827,12 +4210,15 @@ "Mempool Size": "سایز استخر حافظه", "Metrics": "معیارها", "Metrics are not currently available": "معیارها در حال حاضر در دسترس نیستند", + "Minimize the window": "کوچک کردن پنجره", + "Mnemonic Import": "وارد کردن عبارت یادآور", "NPM Modules for NodeJS": "ماژول های NPM برای NodeJS", "Network": "شبکه", "Network Difficulty": "سختی شبکه", "Network Fees:": "هزینه شبکه:", "Network Interface": "رابط شبکه", "Network Peers": "همتایان شبکه", + "Never share your mnemonic with anyone!": "هرگز عبارت یادآور را با کسی به اشتراک نگذارید!", "No peers": "بدون همتایان", "No public node selected - please select a public node": "هیچ نود عمومی انتخاب نشده است - لطفاً یک نود عمومی انتخاب کنید", "No transactions": "بدون تراکنش", @@ -1851,6 +4237,9 @@ "Outbound": "خروجی", "Overview": "بررسی ", "Parents": "سرمنشا ها", + "Passphrase is too weak": "رمزعبور خیلی ضعیف است", + "Passphrases do not match": "عبارات عبور مطابقت ندارند", + "Passwords do not match": "رمزهای ورود مطابقت ندارند", "Past Median Time": "زمان میانه گذشته", "Payment & Recovery Password": "رمز پرداخت و بازیابی", "Payment Request": "درخواست پرداخت", @@ -1864,13 +4253,17 @@ "Please create a stronger password": "لطفا یک رمز عبور سخت تری ایجاد کنید", "Please enter": "لطفا وارد کنید", "Please enter KAS amount to send": "لطفا مبلغ KAS را برای ارسال وارد کنید", + "Please enter additional": "لطفا موارد اضافی را وارد کنید", "Please enter an amount": "لطفا یک مقدار وارد کنید", + "Please enter mnemonic comprised of 12 words": "لطفاعبارت یادآور متشکل از 12 کلمه را وارد کنید", + "Please enter mnemonic comprised of 24 words": "لطفاعبارت یادآور متشکل از 24 کلمه را وارد کنید", "Please enter the account name": "لطفا نام حساب را وارد کنید", "Please enter the wallet secret": "لطفا رمز کیف پول را وارد کنید", - "Please note that this is a beta release. Until this message is removed, please avoid using the wallet with mainnet funds.": "لطفا توجه داشته باشید که این نسخه آلفا است. تا زمانی که این پیام حذف نشود، لطفا از استفاده از کیف پول با سرمایه اصلی خودداری کنید.", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "لطفا توجه داشته باشید که این نسخه آلفا است. تا زمانی که این پیام حذف نشود، لطفا از استفاده از کیف پول با سرمایه اصلی خودداری کنید.", "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "لطفاً توجه داشته باشید، کپی کردن در کلیپ بورد خطر قرار دادن عبارت یادآور شما را در معرض بدافزار قرار می دهد.", "Please select an account type": "لطفا یک نوع حساب را انتخاب کنید", "Please select the private key to export": "لطفا کلید خصوصی را برای صدور انتخاب کنید", + "Please select the private key type you would like to import in the new wallet": "لطفا نوع کلید خصوصی را که می‌خواهید در کیف پول جدید وارد کنید، انتخاب کنید", "Please set node to 'Disabled' to delete the data folder": "لطفاً نود را روی 'غیرفعال' تنظیم کنید تا پوشه داده ها حذف شود", "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "لطفا نام حساب پیش فرض را مشخص کنید. کیف پول با یک حساب پیش فرض ایجاد می شود. پس از ایجاد، می توانید حساب های اضافی را در صورت نیاز ایجاد کنید.", "Please specify the name of the new wallet": "لطفاً نام کیف پول جدید را مشخص کنید", @@ -1895,6 +4288,7 @@ "Range:": "دامنه:", "Receive Address": "آدرس دریافتی", "Recommended arguments for the remote node: ": "آرگومان های توصیه شده برای نود راه دور:", + "Redistributables": "توزیع مجدد توسط شخص ثالث به عنوان بخشی از نرم افزار خودش", "Remote": "از راه دور", "Remote Connection:": "اتصال از راه دور:", "Remote p2p Node Configuration": "پیکربندی از راه دور نود p2p", @@ -1914,6 +4308,7 @@ "Select Public Node": "انتخاب نود عمومی", "Select Wallet": "انتخاب کیف پول", "Select a wallet to unlock": "یک کیف پول را برای باز کردن انتخاب کنید", + "Select this option if your wallet was created": "اگر کیف پول شما ساخته شده است، این گزینه را انتخاب کنید", "Send": "ارسال", "Services": "سرویس ها", "Settings": "تنظیمات", @@ -1921,6 +4316,7 @@ "Show Grid": "نمایش جدول", "Show VSPC": "نمایش VSPC", "Show balances in alternate currencies for testnet coins": "نمایش موجودی در ارزهای جایگزین برای کوین های شبکه تست", + "Show passphrase": "نمایش عبارت عبور", "Show password": "نشان دادن کلمه عبور", "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "موجودی ارزهای جایگزین (BTC، USD) را در هنگام استفاده از کوین های شبکه آزمایشی به گونه ای نشان می دهد که گویی در شبکه اصلی هستید", "Skip": "صرف نظر", @@ -1936,6 +4332,7 @@ "Storage Read/s": "خواندن ذخیره غیرمتمرکز", "Storage Write": " نگارش ذخیره غیرمتمرکز", "Storage Write/s": " نگارش ذخیره غیرمتمرکز", + "Strong": "قوی", "Submitted Blocks": "بلاک های ارسال شده", "Supporting Kaspa NG development": "حمایت از توسعه Kaspa NG", "Syncing Cryptographic Proof...": "همگام سازی عیار رمزنگاری...", @@ -1957,6 +4354,7 @@ "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "در حال حاضر نود با شبکه p2p Kaspa همگام سازی می شود. موجودی حساب ممکن است منسوخ باشد.", "The node is spawned as a child daemon process (recommended).": "نود بعنوان یک فرآیند فرزند ایجاد می شود (توصیه می شود).", "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "نود به عنوان بخشی از فرآیند برنامه Kaspa-NG اجرا می شود. این باعث کاهش هزینه های ارتباطی می شود (آزمایشی).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "رمزعبور اختیاری پرداخت و بازیابی عبارت یادآور، که به عنوان رمز عبور BIP39 شناخته می شود، در صورت ارائه، برای ارسال پرداخت ها مورد نیاز خواهد بود. این رمزعبور همچنین هنگام بازیابی کیف پول شما بهمراه عبارت یادآور شما مورد نیاز است. اگر این رمزعبور را گم یا فراموش کنید، نمی توانید از عبارت یادآور برای بازیابی کیف پول خود استفاده کنید!", "Theme Color": "رنگ زمینه", "Theme Color:": "رنگ زمینه:", "Theme Style": "سبک زمینه", @@ -1965,2091 +4363,8675 @@ "Threshold": "آستانه", "Time Offset:": "زمان آغازین", "Tip Hashes": "Tip Hashes", - "Tools ⏷": "ابزار ⏷", - "Total Rx": "مجموع Rx", - "Total Rx/s": "مجموع Rx/s", - "Total Tx": "مجموع تراکنش", - "Total Tx/s": "مجموع تراکنش ها در ثانیه", - "Track in the background": "پیگیری در پس زمینه", - "Transactions": "تراکنش ها", - "Transactions:": "تراکنش ها:", - "Type": "نوع", - "UTXO Manager": "مدیر UTXO", + "Tools ⏷": "ابزار ⏷", + "Total Rx": "مجموع Rx", + "Total Rx/s": "مجموع Rx/s", + "Total Tx": "مجموع تراکنش", + "Total Tx/s": "مجموع تراکنش ها در ثانیه", + "Track in the background": "پیگیری در پس زمینه", + "Transactions": "تراکنش ها", + "Transactions:": "تراکنش ها:", + "Type": "نوع", + "UTXO Manager": "مدیر UTXO", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "تا زمانی که مشکل حل نشود، امکان تغییر تنظیمات نود وجود ندارد", + "Unlock": "باز کردن", + "Unlock Wallet": "بازکردن کیف پول", + "Unlocking": "بازکردن", + "Update Available to version": "به‌روزرسانی در نسخه کنونی", + "Updating...": "در حال بروز رسانی...", + "Uptime:": "آپتایم:", + "Use 50%-75% of available system memory": "از 50 حافظه موجود سیستم %-75% استفاده کنید", + "Use all available system memory": "استفاده از تمام حافظه های موجود سیستم ", + "User Agent": "عامل کاربر", + "User Interface": "رابط کاربری", + "Very dangerous (may be cracked within few seconds)": "بسیار خطرناک (ممکن است در عرض چند ثانیه کرک شود)", + "Very weak": "خیلی ضعیف", + "Virt Parents": "سرمنشا مجازی", + "Virtual DAA Score": "امتیاز ترتیب دستیابى داده ها DAA مجازی", + "Virtual Memory": "حافظه مجازی", + "Virtual Parent Hashes": "هش های سرمنشا مجازی", + "Volume": "حجم معاملات", + "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", + "Wallet": "کیف پول", + "Wallet Created": "کیف پول ایجاد شد", + "Wallet Encryption Password": "کلمه عبور رمزگذاری کیف پول", + "Wallet Name": "نام کیف پول", + "Wallet Secret": "رمز کیف پول", + "Wallet password is used to encrypt your wallet data.": "کلمه عبور کیف پول، برای رمزگذاری داده های کیف پول شما استفاده می شود.", + "Wallet with this name already exists": "کیف پولی با این نام از قبل وجود دارد", + "Wallet:": "کیف پول:", + "We greatly appreciate your help in backing our efforts.": "از کمک شما در حمایت از تلاش هایمان قدردانی می کنیم.", + "Weak": "ضعیف", + "Welcome to Kaspa NG": "به Kaspa NG خوش آمدید", + "Xpub Keys": "کلیدهای Xpub", + "You are currently not connected to the Kaspa node.": "شما در حال حاضر به نود Kaspa متصل نیستید.", + "You can configure remote connection in Settings": "می توانید اتصال از راه دور را در تنظیمات پیکربندی کنید", + "You can create multiple wallets, but only one wallet can be open at a time.": "شما می توانید چندین کیف پول ایجاد کنید، اما تنها یک کیف پول می تواند در یک زمان باز باشد.", + "You must be connected to a node...": "شما باید به یک نود متصل باشید...", + "Your default wallet private key mnemonic is:": "کلید خصوصی عبارت یادآور کیف پول شما این هست:", + "Your mnemonic is protected with a bip39 passphrase": "عبارت یادآور شما با یک عبارت عبور bip39 محافظت می شود", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "عبارت یادآور شما به شما امکان می دهد کلید خصوصی خود را دوباره ایجاد کنید. شخصی که به این عبارت یادآور دسترسی داشته باشد، کنترل کامل Kaspa ذخیره شده در آن را خواهد داشت. عبارت یادآور خود را ایمن نگه دارید. آن را یادداشت کنید و در یک گاوصندوق، ترجیحا در مکانی مقاوم در برابر آتش نگهداری کنید. عبارت یادآور خود را در این رایانه یا دستگاه تلفن همراه ذخیره نکنید. این کیف پول هرگز از شما این عبارت یاآور را نمی خواهد مگر اینکه به صورت دستی بازیابی کلید خصوصی را شروع کنید.", + "Your private key mnemonic is:": "کلید خصوصی عبارت یادآور شما این هست:", + "Your wallet has been created and is ready to use.": "کیف پول شما ساخته شده و آماده استفاده است.", + "Zoom": "بزرگنمایی", + "amount to send": "مبلغ برای ارسال", + "bye!": "خداحافظ!", + "gRPC Network Interface & Port": "رابط و پورت شبکه gRPC", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "تراکنش gRPC", + "gRPC Tx/s": "تراکنش در ثانیه gRPC", + "of": "از", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "تراکنش های p2p", + "p2p Tx/s": "تراکنش در ثانیه p2p", + "peer": "همتا", + "peers": "همتایان", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "با استفاده از KDX یا کیف پول وب kaspanet.io", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "تراکنش wRPC Borsh", + "wRPC Borsh Tx/s": "تراکنش در ثانیه wRPC Borsh", + "wRPC Connection Settings": "تنظیمات اتصال wRPC", + "wRPC Encoding:": "رمزگذاری wRPC:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "تراکنش wRPC JSON", + "wRPC JSON Tx/s": "تراکنش در ثانیه wRPC JSON", + "wRPC URL:": "آدرس wRPC:", + "words": "کلمات" + }, + "fi": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS -testiverkko", + "10 BPS test network": "10 BPS -testiverkko", + "12 word mnemonic": "12 turvasanaa", + "24 word mnemonic": "24 turvasanaa", + "24h Change": "24 tunnin muutos", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "Binääri toisessa sijainnissa käynnistetään lapsiprosessina (kokeellinen, vain kehitystarkoituksiin).", + "A random node will be selected on startup": "Satunnainen solmu valitaan käynnistyksen yhteydessä", + "A wallet is stored in a file on your computer.": "Lompakko säilytetään tiedostona tietokoneellasi.", + "Account Index": "Tili-indeksi", + "Account Name": "Tilin nimi", + "Account:": "Tili:", + "Activate custom daemon arguments": "Ota mukautetut daemoni-argumentit käyttöön", + "Active p2p Peers": "Aktiiviset p2p-vertaissolmut", + "Address derivation scan": "Hae johdettuja osoitteita", + "Address:": "Osoite:", + "Advanced": "Lisäasetukset", + "Advanced Options": "Advanced Options", + "All": "Kaikki", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Salli mukautetut Rusty Kaspa daemoni -argumentit ", + "Allows you to take screenshots from within the application": "Mahdollistaa näyttökuvien ottamisen sovelluksen sisältä", + "Apply": "Aseta", + "Balance: N/A": "Saldo: ei saatavilla", + "Bandwidth": "Kaistanleveys", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Päähuomion ollessa tietoturvallisuudessa ja suorituskyvyssä, ohjelmisto on kehitetty täysin Rustilla, mikä kasvattaa huomattavasti työn vaativuutta tyypillisiin, moderneihin verkko-ohjelmistoihin verrattuna.", + "Bezier Curves": "Bézier-käyrät", + "Block DAG": "Lohko-DAG", + "Block Scale": "Lohkokoko", + "Blocks": "Lohkot", + "Bodies": "Runkoja", + "Borsh Active Connections": "Aktiivisia Borsh-yhteyksiä", + "Borsh Connection Attempts": "Borsh-yhteysyrityksiä", + "Borsh Handshake Failures": "Epäonnistuneita Borsh-yhteyksiä", + "Build": "Koontiversio", + "CONNECTED": "YHDISTETTY", + "CPU": "Suoritin", + "Cache Memory Size": "Välimuisti", + "Cache Memory Size:": "Välimuisti:", + "Cancel": "Peruuta", + "Cannot delete data folder while the node is running": "Datahakemistoa ei voida poistaa solmun ollessa käynnissä", + "Capture a screenshot": "Ota näyttökuva", + "Center VSPC": "Keskitä VSPC", + "Chain Blocks": "Ketjutetut lohkot", + "Change Address": "Vaihtorahaosoite", + "Check for Software Updates on GitHub": "Tarkista ohjelmistopäivitysten saatavuus GitHubista", + "Check for Updates": "Tarkista päivitykset", + "Clear": "Tyhjennä", + "Click to try another server...": "Yritä toista palvelinta napsauttamalla...", + "Client RPC": "Client RPC", + "Close": "Sulje", + "Close the window": "Sulje ikkuna", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Vahvista lompakon salasana", + "Connect to a local node (localhost)": "Yhdistä paikalliseen solmuun (localhost)", + "Connecting to": "Yhdistetään", + "Connection": "Yhteys", + "Connections": "Yhteydet", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Yhdistää Rusty Kaspa etäsolmuun wRPC:n avulla.", + "Conservative": "Varovainen", + "Continue": "Jatka", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Projektille tehdyt lahjoitukset edistävät suoraan Kaspa NG -ohjelmistoa sekä sen ekosysteemiä.", + "Copied to clipboard": "Kopioitu leikepöydälle", + "Copy": "Kopioi", + "Copy logs to clipboard": "Kopioi loki leikepöydälle", + "Create New Account": "Luo uusi osoite", + "Create New Wallet": "Luo uusi lompakko", + "Create Wallet": "Create Wallet", + "Create new wallet": "Luo uusi lompakko", + "Creating Account": "Luodaan osoitetta", + "Creating Wallet": "Luodaan lompakkoa", + "Custom": "Mukautettu", + "Custom Public Node": "Mukautettu julkinen solmu", + "Custom arguments:": "Mukautetut argumentit:", + "Custom data storage folder": "Mukautettu datahakemisto", + "DAA": "DAA", + "DAA Offset": "DAA-siirtymä", + "DAA Range": "DAA-alue", + "DB Blocks": "Tietokantalohkot", + "DB Headers": "Tietokantaotsikot", + "Dangerous": "Dangerous", + "Data Storage": "Datan tallennus", + "Database Blocks": "Tietokantalohkot", + "Database Headers": "Tietokantaotsikot", + "Decrypting wallet, please wait...": "Puretaan lompakon salausta, odota...", + "Default": "Oletus", + "Default Account Name": "Oletustilin nimi", + "Delete Data Folder": "Poista datahakemisto", + "Dependencies": "Riippuvuudet", + "Derivation Indexes": "Johdetut indeksit", + "Details": "Tiedot", + "Developer Mode": "Kehittäjätila", + "Developer Resources": "Resursseja kehittäjille", + "Developer mode enables advanced and experimental features": "Kehittäjätila mahdollistaa kehittyneet ja kokeelliset toiminnot", + "Difficulty": "Vaikeustaso", + "Dimensions": "Dimensiot", + "Disable password safety rules": "Poista salasanan turvavaatimukset käytöstä", + "Disabled": "Poistettu käytöstä", + "Disables node connectivity (Offline Mode).": "Poistaa solmun yhteydet (offline-tila).", + "Discord": "Discord", + "Donations": "Lahjoitukset", + "Double click on the graph to re-center...": "Keskitä graafi tuplanapsautuksella...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Ota markkinaseuranta käyttöön", + "Enable UPnP": "Ota UPnP käyttöön", + "Enable custom daemon arguments": "Ota mukautetut daemoni-argumentit käyttöön", + "Enable experimental features": "Ota kokeelliset toiminnot käyttöön", + "Enable gRPC": "Ota gRPC käyttöön", + "Enable optional BIP39 passphrase": "Ota valinnainen BIP39-salasana käyttöön", + "Enable screen capture": "Ota näyttökuvat käyttöön", + "Enables features currently in development": "Ottaa kehityksen alla olevat toiminnot käyttöön", + "Enter": "Syötä", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Syötä tilin nimi (valinnainen)", + "Enter first account name": "Syötä ensimmäisen tilin nimi", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Syötä tietojenkalasteluvihje", + "Enter the amount": "Syötä määrä", + "Enter the password for your wallet": "Syötä lompakon salasana", + "Enter the password to unlock your wallet": "Avaa lompakon lukitus syöttämällä salasana", + "Enter wallet name": "Syötä lompakon nimi", + "Enter wallet password": "Syötä lompakon salasana", + "Enter your wallet secret": "Syötä lompakon salasana", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Lohkoselain", + "Export Wallet Data": "Vie lompakko", + "Faucet": "Faucet", + "File Handles": "Tiedostokahvat", + "Filename:": "Tiedostonimi:", + "Final Amount:": "Lopullinen määrä:", + "Full Screen": "Koko näyttö", + "GitHub Release": "GitHub-julkaisuversio", + "Go to Settings": "Asetuksiin", + "Good": "Good", + "Handles": "Kahvat", + "Headers": "Otsikoita", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "Tyhjäksi jätettynä tiliin viitataan numerojärjestyksellä.", + "If you are running locally, use: ": "Mikäli suoritat paikallisesti, käytä:", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Tuo olemassaoleva", + "Importing Wallet": "Importing Wallet", + "Inbound": "Saapuva", + "Include QoS Priority Fees": "Käytä QoS-prioriteettitaksaa", + "Integrated Daemon": "Sisäänrakennettu daemoni", + "Invalid daemon arguments": "Virheelliset daemoni-argumentit", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Virheellinen verkon tyyppi - odotettu: testnet-10 yhdistetty: testnet-11", + "Invalid wRPC URL": "Virheellinen wRPC URL", + "Json Active Connections": "Aktiiviset Json-yhteydet", + "Json Connection Attempts": "Json-yhteysyritykset", + "Json Handshake Failures": "Epäonnistuneita Json-yhteyksiä", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Kaspa-integrointiohje", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG verkko-ohjelma", + "Kaspa NG on GitHub": "Kaspa NG GitHubissa", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Kaspa-verkko", + "Kaspa Node": "Kaspa-solmu", + "Kaspa p2p Network & Node Connection": "Kaspa p2p-verkko ja solmuyhteys", + "Kaspa p2p Node": "Kaspa p2p-solmu", + "Kaspa p2p Node & Connection": "Kaspa p2p-solmu ja yhteys", + "Key Perf.": "Keskeisimmät", + "Language:": "Kieli:", + "Large (1 BPS)": "Suuri (1 BPS)", + "Levels": "Tasot", + "License Information": "Lisenssitiedot", + "Local": "Paikallinen", + "Local p2p Node Configuration": "Paikallisen p2p-solmun konfiguraatio", + "Logs": "Lokit", + "MT": "MT", + "Main Kaspa network": "Kaspan pääverkko", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (Kaspan pääverkko)", + "Managed by the Rusty Kaspa daemon": "Rusty Kaspa daemoni hallinnoi", + "Market": "Markkinat", + "Market Cap": "Markkina-arvo", + "Market Monitor": "Markkinaseuranta", + "Mass Processed": "Massa käsitelty", + "Maximize window": "Suurenna ikkuna", + "Medium Narrow": "Keskisuuri kapea", + "Medium Wide": "Keskisuuri leveä", + "Memory": "Muisti", + "Mempool": "Mempool", + "Mempool Size": "Mempoolin koko", + "Metrics": "Metriikat", + "Metrics are not currently available": "Metriikat eivät ole tällä hetkellä saatavilla", + "Minimize the window": "Pienennä ikkuna", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM-moduulit NodeJS:lle", + "Network": "Verkko", + "Network Difficulty": "Verkon vaikeustaso", + "Network Fees:": "Verkon taksat:", + "Network Interface": "Verkkorajapinta", + "Network Peers": "Verkon vertaissolmut", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "Ei vertaissolmuja", + "No public node selected - please select a public node": "Julkista solmua ei valittu - ole hyvä ja valitse julkinen solmu", + "No transactions": "Ei tapahtumia", + "No wallets found, please create a new wallet": "Lompakoita ei löytynyt, luo uusi lompakko", + "Node": "Solmu", + "Node Status": "Solmun tila", + "Noise": "Harotus", + "None": "Ei mitään", + "Not Connected": "Ei yhdistetty", + "Not connected": "Ei yhdistetty", + "Notifications": "Ilmoitukset", + "Open Data Folder": "Avaa datahakemisto", + "Opening wallet:": "Avataan lompakkoa:", + "Optional": "Valinnainen", + "Other operations": "Muut toiminnot", + "Outbound": "Lähtevä", + "Overview": "Yleiskatsaus", + "Parents": "Vanhemmat", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Aiempi keskilohkoaika", + "Payment & Recovery Password": "Maksamisen ja palautuksen salasana", + "Payment Request": "Maksupyyntö", + "Peers": "Vertaissolmut", + "Performance": "Suorituskyky", + "Phishing Hint": "Tietojenkalasteluvihje", + "Ping:": "Ping:", + "Please Confirm Deletion": "Vahvista poistaminen", + "Please configure your Kaspa NG settings": "Konfiguroi Kaspa NG -asetuksesi", + "Please connect to Kaspa p2p node": "Yhdistä Kaspa p2p-solmuun", + "Please create a stronger password": "Syötä vahvempi salasana", + "Please enter": "Syötä ole hyvä", + "Please enter KAS amount to send": "Syötä lähetettävä KAS-määrä", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Syötä lähetettävä määrä", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Syötä tilin nimi", + "Please enter the wallet secret": "Syötä lompakon salasana", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Huomioithan, että kyseessä on alfa-versio. Ethän käytä tätä lompakkoa mainnet-varojen kanssa kunnes tämä viesti on poistettu.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Huomioithan, että vaarannat turvasanojen vuotamisen haittaohjelmille jos kopioit ne leikepöydälle.", + "Please select an account type": "Valitse tilin tyyppi", + "Please select the private key to export": "Valitse vietävä yksityinen avain", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Aseta solmu tilaan 'Poistettu käytöstä' poistaaksesi datahakemiston", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Syötä oletustilin nimi. Tämä oletustili luodaan lompakon ohessa, minkä jälkeen voit luoda lisää tilejä tarpeesi mukaan.", + "Please specify the name of the new wallet": "Syötä nimi uudelle lompakollesi", + "Please specify the private key type for the new wallet": "Valitse uuden lompakon yksityisen avaimen tyyppi", + "Please wait for the node to sync or connect to a remote node.": "Voit odottaa solmun synkronoitumista tai yhdistää etäsolmuun.", + "Please wait for the node to sync...": "Odota, solmu synkronoituu...", + "Please wait...": "Odota...", + "Presets": "Esiasetukset", + "Price": "Hinta", + "Private Key Mnemonic": "Yksityisen avaimen turvasanat", + "Processed Bodies": "Runkoja käsitelty", + "Processed Dependencies": "Riippuvuuksia käsitelty", + "Processed Headers": "Otsikoita käsitelty", + "Processed Mass Counts": "Massalukumäärä käsitelty", + "Processed Transactions": "Tapahtumia käsitelty", + "Protocol:": "Protokolla:", + "Public Node": "Julkinen solmu", + "Public Nodes": "Julkiset solmut", + "Public Server": "Julkinen palvelin", + "Public p2p Nodes for": "Julkiset p2p-solmut", + "Random Public Node": "Satunnainen julkinen solmu", + "Range:": "Alue:", + "Receive Address": "Vastaaottajan osoite", + "Recommended arguments for the remote node: ": "Suositellut argumentit etäsolmulle:", + "Redistributables": "Uudelleenjaettavaksi", + "Remote": "Etä", + "Remote Connection:": "Etäyhteys:", + "Remote p2p Node Configuration": "Etä p2p-solmun konfiguraatio", + "Removes security restrictions, allows for single-letter passwords": "Poistaa tietoturvarajoitukset, sallii yhden kirjaimen salasanat", + "Reset Settings": "Palauta oletusasetukset", + "Reset VSPC": "Palauta VSPC", + "Resident Memory": "Fyysinen muisti", + "Resources": "Resurssit", + "Resulting daemon arguments:": "Saadut daemoni-argumentit:", + "Rust Wallet SDK": "Rust-lompakko SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa GitHubissa", + "Secret is too weak": "Salasana on liian heikko", + "Secret score:": "Salasanan arviointi:", + "Select Account": "Valitse tili", + "Select Available Server": "Valitse käytettävissä oleva palvelin", + "Select Private Key Type": "Valitse yksityisen avaimen tyyppi", + "Select Public Node": "Valitse julkinen solmu", + "Select Wallet": "Valitse lompakko", + "Select a wallet to unlock": "Valitse avattava lompakko", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Lähetä", + "Services": "Palvelut", + "Settings": "Asetukset", + "Show DAA": "Näytä DAA", + "Show Grid": "Näytä ruudukko", + "Show VSPC": "Näytä VSPC", + "Show balances in alternate currencies for testnet coins": "Näytä saldot vaihtoehtoisissa valuutoissa testnet-kolikoille", + "Show passphrase": "Show passphrase", + "Show password": "Näytä salasana", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Näyttää testnet-kolikoiden saldot vaihtoehtoisissa valuutoissa (BTC, USD) kuin käyttäisit mainnet-verkkoa", + "Skip": "Ohita", + "Small (10 BPS)": "Pieni (10 BPS)", + "Spread": "Hajonta", + "Stage": "Vaihe", + "Starting...": "Aloitetaan...", + "Statistics": "Tilastot", + "Stor Read": "Mass. luku", + "Stor Write": "Mass. kirj.", + "Storage": "Massamuisti", + "Storage Read": "Massamuisti luku", + "Storage Read/s": "Massamuisti luku/s", + "Storage Write": "Massamuisti kirjoitus", + "Storage Write/s": "Massamuisti kirjoitus/s", + "Strong": "Strong", + "Submitted Blocks": "Lähetetyt lohkot", + "Supporting Kaspa NG development": "Kaspa NG -kehityksen tukeminen", + "Syncing Cryptographic Proof...": "Synkronoidaan kryptografista todistusta...", + "Syncing DAG Blocks...": "Synkronoidaan DAG-lohkoja...", + "Syncing Headers...": "Synkronoidaan otsikoita...", + "Syncing UTXO entries...": "Synkronoidaan UTXO-merkintöjä...", + "Syncing...": "Synkronoidaan...", + "System": "Järjestelmä", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 ei ole vielä julkisesti testattavissa. Voit toki konfiguroida solmun ottamaan yhteyden yksityiseen kehittäjä-testnetiin Asetukset-sivulla.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Kaspa NG -ohjelmisto edustaa jatkuvaa panosta, jonka pääpaino on rakentaa johtava ohjelmistoalusta Kaspa BlockDAG -kryptovaluutan verkolle. Tämä ohjelmisto priorisoi tietoturvaa, yksityisyyttä, suorituskykyä sekä hajauttamista ja se onkin ideologinen luonteeltaan.", + "The balance may be out of date during node sync": "Saldo voi olla vanhentunut solmun synkronoinnin aikana", + "The following will guide you through the process of creating or importing a wallet.": "Seuraavaksi sinut ohjataan tekemään lompakon tuonti tai luominen.", + "The node is currently syncing with the Kaspa p2p network.": "Solmu synkroinoituu Kaspa p2p-verkon kanssa parhaillaan.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "Solmu synkroinoituu Kaspa p2p-verkon kanssa parhaillaan. Tilin saldot voivat olla vanhentuneita.", + "The node is spawned as a child daemon process (recommended).": "Solmu-daemoni käynnistetään lapsiprosessina (suositeltu).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "Solmu suoritetaan osana Kaspa NG -sovelluksen prosessia. Tämä vähentää tiedonsiirtokuormitusta (kokeellinen).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Teeman väri", + "Theme Color:": "Teeman väri:", + "Theme Style": "Teeman tyyli", + "Theme Style:": "Teeman tyyli:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Tämä lompakko ei koskaan kysy näitä turvasanoja ellet itse tietoisesti käynnistä yksityisen avaimen palausta.", + "Threshold": "Raja-arvo", + "Time Offset:": "Aikasiirtymä:", + "Tip Hashes": "Kärkitiivisteitä", + "Tools ⏷": "Työkalut ⏷", + "Total Rx": "Rx yht.", + "Total Rx/s": "Rx/s yht.", + "Total Tx": "Tx yht.", + "Total Tx/s": "Tx/s yht.", + "Track in the background": "Seuraa taustalla", + "Transactions": "Tapahtumat", + "Transactions:": "Tapahtumat:", + "Type": "Tyyppi", + "UTXO Manager": "UXTO-hallinta", + "UTXOs": "UTXO:t", + "UTXOs:": "UTXO:t:", + "Unable to change node settings until the problem is resolved": "Solmun asetuksia ei voida muuttaa kunnes ongelma on ratkaistu", + "Unlock": "Avaa lukitus", + "Unlock Wallet": "Avaa lompakon lukitus", + "Unlocking": "Avataan lukitusta", + "Update Available to version": "Päivitys saatavilla versioon", + "Updating...": "Päivitetään...", + "Uptime:": "Käynnissäoloaika:", + "Use 50%-75% of available system memory": "Käytä 50–75 % käytettävissä olevasta keskusmuistista", + "Use all available system memory": "Käytä kaikki käytettävissä oleva keskusmuisti", + "User Agent": "Käyttäjäagentti", + "User Interface": "Käyttöliittymä", + "Very dangerous (may be cracked within few seconds)": "Hyvin vaarallinen (voidaan murtaa muutamassa sekunnissa)", + "Very weak": "Very weak", + "Virt Parents": "Virt. vanhemmat", + "Virtual DAA Score": "Virtuaalinen DAA-pisteytys", + "Virtual Memory": "Virtuaalimuisti", + "Virtual Parent Hashes": "Virtuaaliset tiivistevanhemmat", + "Volume": "Volyymi", + "WASM SDK for JavaScript and TypeScript": "WASM SDK JavaScriptille ja TypeScriptille", + "Wallet": "Lompakko", + "Wallet Created": "Lompakko luotu", + "Wallet Encryption Password": "Lompakon salaamisen salasana", + "Wallet Name": "Lompakon nimi", + "Wallet Secret": "Lompakon salasana", + "Wallet password is used to encrypt your wallet data.": "Lompakon salasanaa käytetään salaamaan lompakon data.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Lompakko:", + "We greatly appreciate your help in backing our efforts.": "Arvostamme suuresti, että tuet pyrkimyksiämme.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Tervetuloa Kaspa NG:hen", + "Xpub Keys": "Xpub-avaimet", + "You are currently not connected to the Kaspa node.": "Et ole tällä hetkellä yhteydessä Kaspa-solmuun.", + "You can configure remote connection in Settings": "Voit konfiguroida etäyhteyden Asetuksissa", + "You can create multiple wallets, but only one wallet can be open at a time.": "Voit luoda useamman kuin yhden lompakon, mutta vain yksi voi olla auki kerrallaan.", + "You must be connected to a node...": "Yhteys solmuun tarvitaan...", + "Your default wallet private key mnemonic is:": "Oletuslompakkosi yksityisen avaimen turvasanat ovat:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Turvasanasi mahdollistavat yksityisen avaimesi palauttamisen. Kuka tahansa, jolla on nämä turvasanat saa täyden pääsyn sinne säilytettävään Kaspaan. Pidä sanat turvassa. Kirjoita ne paperille ja säilytä ne turvallisessa paikassa, mielellään paloturvallisessa sellaisessa. Älä tallenna turvasanojasi tälle tietokoneelle tai mobiililaitteelle. Tämä lompakko ei koskaan kysy sinua syöttämään turvasanoja ellet itse tietoisesti käynnistä yksityisen avaimen palautusta.", + "Your private key mnemonic is:": "Yksityisen avaimesi turvasanat ovat:", + "Your wallet has been created and is ready to use.": "Lompakkosi on luotu ja valmis käyttöön.", + "Zoom": "Zoom", + "amount to send": "lähetettävä määrä", + "bye!": "hei hei!", + "gRPC Network Interface & Port": "gPRC-verkkorajapinta ja portti", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "of", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "vertaissolmu", + "peers": "vertaissolmua", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC-yhteysasetukset", + "wRPC Encoding:": "wRPC-enkoodaus:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "RPC URL:", + "words": "words" + }, + "fil": {}, + "fr": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "Réseau expérimental 1 BPS", + "10 BPS test network": "Réseau expérimental 10 BPS", + "12 word mnemonic": "Mnémonique de 12 mots", + "24 word mnemonic": "Mnémonique de 24 mots", + "24h Change": "Changement sur 24h", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "Un binaire situé à un autre emplacement est créé par un processus enfant (expérimental, à des fins de développement uniquement).", + "A random node will be selected on startup": "Un nœud aléatoire sera sélectionné au démarrage", + "A wallet is stored in a file on your computer.": "Un portefeuille est stocké dans un fichier sur votre ordinateur.", + "Account Index": "Index du compte", + "Account Name": "Nom du compte", + "Account:": "Compte :", + "Activate custom daemon arguments": "Activer les arguments du daemon personnalisés", + "Active p2p Peers": "Pairs P2P actifs", + "Address derivation scan": "Analyse des adresses de dérivation", + "Address:": "Adresse :", + "Advanced": "Avancé", + "Advanced Options": "Advanced Options", + "All": "Tous", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Autoriser les arguments personnalisés pour le daemon Rusty Kaspa", + "Allows you to take screenshots from within the application": "Vous permet de prendre des captures d'écran depuis l'application", + "Apply": "Appliquer", + "Balance: N/A": "Balance : N/A", + "Bandwidth": "Bande passante", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "En raison de l'accent mis sur la sécurité et les performances, ce logiciel est entièrement développé en Rust, ce qui nécessite beaucoup plus de temps et d'efforts que d'autres logiciels traditionnels.", + "Bezier Curves": "Courbes de Bézier", + "Block DAG": "Bloc DAG", + "Block Scale": "Échelle du bloc", + "Blocks": "Blocs", + "Bodies": "Corps", + "Borsh Active Connections": "Connections actives Borsh", + "Borsh Connection Attempts": "Tentatives de connexion Borsh", + "Borsh Handshake Failures": "Échecs d'établissement de liaison Borsh", + "Build": "Build", + "CONNECTED": "CONNECTÉ", + "CPU": "CPU", + "Cache Memory Size": "Taille de la mémoire cache", + "Cache Memory Size:": "Taille de la mémoire cache :", + "Cancel": "Annuler", + "Cannot delete data folder while the node is running": "Impossible de supprimer le dossier de données pendant que le nœud est en cours d'exécution", + "Capture a screenshot": "Faire une capture d'écran", + "Center VSPC": "Centrer VSPC", + "Chain Blocks": "Blocs de la chaine", + "Change Address": "Changer l'adresse", + "Check for Software Updates on GitHub": "Vérifier les mises à jour sur Github", + "Check for Updates": "Vérifier les mises à jour", + "Clear": "Effacer", + "Click to try another server...": "Cliquez pour essayer un nouveau serveur...", + "Client RPC": "Client RPC", + "Close": "Fermer", + "Close the window": "Fermer la fenêtre", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Confirmer le mot de passe du portefeuille", + "Connect to a local node (localhost)": "Connecter à un nœud local (locahost)", + "Connecting to": "Connexion à ", + "Connection": "Connexion", + "Connections": "Connexions", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Se connecte à un nœud Rusty Kaspa distant via wRPC.", + "Conservative": "Conservateur", + "Continue": "Continuer", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Les contributions envers ce projet alimentent directement le logiciel Kaspa NG et son écosystème.", + "Copied to clipboard": "Copié dans le presse-papier", + "Copy": "Copier", + "Copy logs to clipboard": "Copier les journaux dans le presse-papier", + "Create New Account": "Créer un nouveau compte", + "Create New Wallet": "Créer un nouveau portefeuille", + "Create Wallet": "Create Wallet", + "Create new wallet": "Créer un nouveau portefeuille", + "Creating Account": "Compte en cours de création", + "Creating Wallet": "Portefeuille en cours de création", + "Custom": "Personnalisé", + "Custom Public Node": "Nœud public personnalisé", + "Custom arguments:": "Arguments personnalisés :", + "Custom data storage folder": "Dossier de stockage des données personnalisées", + "DAA": "DAA", + "DAA Offset": "DAA Offset", + "DAA Range": "DAA Range", + "DB Blocks": "Blocs de la DB", + "DB Headers": "En-tête DB", + "Dangerous": "Dangerous", + "Data Storage": "Stockage de données", + "Database Blocks": "Blocs de la base de données", + "Database Headers": "En-têtes de la base de données", + "Decrypting wallet, please wait...": "Portefeuille en cours de déchiffrement, merci de patienter...", + "Default": "Par défaut", + "Default Account Name": "Nom de compte par défaut", + "Delete Data Folder": "Supprimer le dossier de données", + "Dependencies": "Dépendances", + "Derivation Indexes": "Index de dérivation", + "Details": "Détails", + "Developer Mode": "Mode développeur", + "Developer Resources": "Ressources pour les développeurs", + "Developer mode enables advanced and experimental features": "Le mode développeur permet d'activer des fonctionnalités avancées et expérimentales", + "Difficulty": "Difficulté", + "Dimensions": "Dimensions", + "Disable password safety rules": "Désactiver les règles de sécurité du mot de passe", + "Disabled": "Désactivé", + "Disables node connectivity (Offline Mode).": "Désactive la connectivité au nœud (mode hors ligne)", + "Discord": "Discord", + "Donations": "Dons", + "Double click on the graph to re-center...": "Double-cliquer sur le graphique pour recentrer...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Activer le moniteur de marché", + "Enable UPnP": "Activer UPnP", + "Enable custom daemon arguments": "Activer les arguments personnalisés pour le daemon", + "Enable experimental features": "Activer les fonctionnalités expérimentales", + "Enable gRPC": "Activer gRPC", + "Enable optional BIP39 passphrase": "Activer la phrase secrète BIP39 optionnelle", + "Enable screen capture": "Activer la capture d'écran", + "Enables features currently in development": "Active les fonctionnalités en cours de développement", + "Enter": "Entrer", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Entrez un nom de compte (optionnel)", + "Enter first account name": "Entrez le premier nom de compte", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Entrez un indice de phishing", + "Enter the amount": "Entrez le montant", + "Enter the password for your wallet": "Entrez le mot de passe de votre portefeuille", + "Enter the password to unlock your wallet": "Entrez le mot de passe pour déverrouiller votre portefeuille", + "Enter wallet name": "Entrez le nom du portefeuille", + "Enter wallet password": "Entrez le mot de passe du portefeuille", + "Enter your wallet secret": "Entrez le secret de votre portefeuille", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorateur", + "Export Wallet Data": "Exporter les données du portefeuille", + "Faucet": "Faucet", + "File Handles": "Descripteurs de fichiers", + "Filename:": "Nom de fichier :", + "Final Amount:": "Montant final :", + "Full Screen": "Plein écran", + "GitHub Release": "Version Github", + "Go to Settings": "Paramètres", + "Good": "Good", + "Handles": "Descripteurs", + "Headers": "En-têtes", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD :", + "If not specified, the account will be represented by the numeric id.": "S’il n’est pas spécifié, le compte sera représenté par l’identifiant numérique.", + "If you are running locally, use: ": "Si vous exécutez localement, utilisez :", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Importer l'existant", + "Importing Wallet": "Importing Wallet", + "Inbound": "Entrant", + "Include QoS Priority Fees": "Inclure les frais de priorité QoS", + "Integrated Daemon": "Daemon intégré", + "Invalid daemon arguments": "Arguments du daemon invalides", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Type de réseau non valide - attendu : testnet-10 connecté à : testnet-11", + "Invalid wRPC URL": "URL wRPC invalide", + "Json Active Connections": "Connexions JSON actives", + "Json Connection Attempts": "Tentatives de connexion JSON", + "Json Handshake Failures": "Échecs d'établissement de liaison JSON", + "Kaspa Discord": "Discord Kaspa", + "Kaspa Integration Guide": "Guide d'intégration Kaspa", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG en ligne", + "Kaspa NG Web App": "Application Web Kaspa NG", + "Kaspa NG on GitHub": "Kaspa NG sur Github", + "Kaspa NG online": "Kaspa NG en ligne", + "Kaspa Network": "Réseau Kaspa", + "Kaspa Node": "Nœud Kaspa", + "Kaspa p2p Network & Node Connection": "Réseau p2p Kaspa et connexion du nœud", + "Kaspa p2p Node": "Nœud p2p Kaspa", + "Kaspa p2p Node & Connection": "Nœud p2p Kaspa et connexions", + "Key Perf.": "Perf. clé", + "Language:": "Langue :", + "Large (1 BPS)": "Grand (1 BPS)", + "Levels": "Niveaux", + "License Information": "Informations de licence", + "Local": "Local", + "Local p2p Node Configuration": "Configuration du nœud p2p local", + "Logs": "Journaux", + "MT": "MT", + "Main Kaspa network": "Réseau Kaspa principal", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (Réseau Kaspa principal)", + "Managed by the Rusty Kaspa daemon": "Géré par le daemon Rusty Kaspa", + "Market": "Marché", + "Market Cap": "Capitalisation boursière", + "Market Monitor": "Moniteur du marché", + "Mass Processed": "Traité en masse", + "Maximize window": "Agrandir la fenêtre", + "Medium Narrow": "Moyen étroit", + "Medium Wide": "Moyen large", + "Memory": "Mémoire", + "Mempool": "Mempool", + "Mempool Size": "Taille du mempool", + "Metrics": "Métriques", + "Metrics are not currently available": "Les métriques sont actuellement indisponibles", + "Minimize the window": "Réduire la fenêtre", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "Module NPM pour NodeJS", + "Network": "Réseau", + "Network Difficulty": "Difficulté du réseau", + "Network Fees:": "Frais du réseau :", + "Network Interface": "Interface réseau", + "Network Peers": "Pairs dans le réseau", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "Pas de pairs", + "No public node selected - please select a public node": "Aucun nœud public sélectionné - veuillez sélectionner un nœud public", + "No transactions": "Aucune transaction", + "No wallets found, please create a new wallet": "Aucun portefeuille n'a été trouvé, veuillez créer un nouveau portefeuille", + "Node": "Nœud", + "Node Status": "Status du nœud", + "Noise": "Bruit", + "None": "Aucun", + "Not Connected": "Non connecté", + "Not connected": "Pas connecté", + "Notifications": "Notifications", + "Open Data Folder": "Ouvrir le dossier de données", + "Opening wallet:": "Ouverture du portefeuille :", + "Optional": "Optionnel", + "Other operations": "Autre opérations", + "Outbound": "Sortant", + "Overview": "Aperçu", + "Parents": "Parents", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Temps médian passé", + "Payment & Recovery Password": "Mot de passe de paiement et de récupération", + "Payment Request": "Demande de paiement", + "Peers": "Pairs", + "Performance": "Performance", + "Phishing Hint": "Indice de phishing", + "Ping:": "Ping :", + "Please Confirm Deletion": "Veuillez confirmer la suppression", + "Please configure your Kaspa NG settings": "Veuillez configurer vos paramètres de Kaspa NG", + "Please connect to Kaspa p2p node": "Veuillez vous connecter à un nœud p2p Kaspa", + "Please create a stronger password": "Veuillez créer un mot de passe plus fort", + "Please enter": "Veuillez entrer", + "Please enter KAS amount to send": "Veuillez entrer un montant de KAS à envoyer", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Veuillez entrer un montant", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Veuillez entrer le nom du compte", + "Please enter the wallet secret": "Veuillez entrer le secret du portefeuille", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Veuillez noter qu'il s'agit d'une version alpha. Jusqu'à ce que ce message soit supprimé, veuillez éviter d'utiliser le portefeuille avec les fonds du réseau principal.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Veuillez noter que la copie dans le presse-papiers comporte un risque d'exposition de votre phrase mnémonique à des logiciels malveillants.", + "Please select an account type": "Veuillez sélectionner un type de compte", + "Please select the private key to export": "Veuillez sélectionner la clé privée à exporter", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Veuillez définir le nœud sur 'Désactivé' pour supprimer le dossier de données", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Veuillez préciser le nom du compte par défaut. Le portefeuille sera créé avec un compte par défaut. Une fois créé, vous pourrez créer des comptes supplémentaires selon vos besoins.", + "Please specify the name of the new wallet": "Veuillez spécifier le nom du nouveau portefeuille", + "Please specify the private key type for the new wallet": "Veuillez spécifier le type de clé privée pour le nouveau portefeuille", + "Please wait for the node to sync or connect to a remote node.": "Veuillez attendre que le nœud se synchronise ou se connecte à un nœud distant.", + "Please wait for the node to sync...": "Veuillez attendre que le nœud se synchronise...", + "Please wait...": "Veuillez patienter...", + "Presets": "Paramètres prédéfinis", + "Price": "Prix", + "Private Key Mnemonic": "Mnémonique de clé privée", + "Processed Bodies": "Corps traités", + "Processed Dependencies": "Dépendances traitées", + "Processed Headers": "En-têtes traitées", + "Processed Mass Counts": "Compteurs en masse traités", + "Processed Transactions": "Transactions traitées", + "Protocol:": "Protocole :", + "Public Node": "Nœud public", + "Public Nodes": "Nœuds publics", + "Public Server": "Serveur public", + "Public p2p Nodes for": "Nœuds p2p publics pour", + "Random Public Node": "Nœud public aléatoire", + "Range:": "Échelle :", + "Receive Address": "Adresse de réception", + "Recommended arguments for the remote node: ": "Arguments recommandés pour le nœud distant :", + "Redistributables": "Redistribuables", + "Remote": "Distant", + "Remote Connection:": "Connexion distante :", + "Remote p2p Node Configuration": "Configuration du nœud p2p distant", + "Removes security restrictions, allows for single-letter passwords": "Supprime les restrictions de sécurité, autorise les mots de passe à une seule lettre", + "Reset Settings": "Réinitialiser les paramètres", + "Reset VSPC": "Réinitialiser VSPC", + "Resident Memory": "Mémoire résidente", + "Resources": "Ressources", + "Resulting daemon arguments:": "Arguments du daemon résultant :", + "Rust Wallet SDK": "SDK du portefeuille Rust", + "Rusty Kaspa on GitHub": "Rusty Kaspa sur Github", + "Secret is too weak": "Le secret est trop faible", + "Secret score:": "Score du secret :", + "Select Account": "Sélectionnez le compte", + "Select Available Server": "Sélectionnez un serveur disponible", + "Select Private Key Type": "Sélectionnez le type de clé privée", + "Select Public Node": "Sélectionnez le nœud public", + "Select Wallet": "Sélectionnez le portefeuille", + "Select a wallet to unlock": "Sélectionnez un portefeuille à déverrouiller", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Envoyer", + "Services": "Services", + "Settings": "Paramètres", + "Show DAA": "Afficher DAA", + "Show Grid": "Afficher la grille", + "Show VSPC": "Afficher VSPC", + "Show balances in alternate currencies for testnet coins": "Afficher les soldes dans des devises alternatives pour les monnaies du réseau de test", + "Show passphrase": "Show passphrase", + "Show password": "Afficher le mot de passe", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Affiche les soldes dans des devises alternatives (BTC, USD) lorsque vous utilisez les monnaies du réseau de test comme si vous étiez sur le réseau principal", + "Skip": "Passer", + "Small (10 BPS)": "Petit (10 BPS)", + "Spread": "Répartition", + "Stage": "Phase", + "Starting...": "Démarrage...", + "Statistics": "Statistiques", + "Stor Read": "Lecture stockage", + "Stor Write": "Écriture stockage", + "Storage": "Stockage", + "Storage Read": "Lecture stockage", + "Storage Read/s": "Lecture stockage par secondes", + "Storage Write": "Écriture stockage", + "Storage Write/s": "Écriture stockage par seconde", + "Strong": "Strong", + "Submitted Blocks": "Blocs soumis", + "Supporting Kaspa NG development": "Soutenir le développement de Kaspa NG", + "Syncing Cryptographic Proof...": "Synchronisation de la preuve cryptographique...", + "Syncing DAG Blocks...": "Synchronisation des blocs du DAG...", + "Syncing Headers...": "Synchronisation des en-têtes...", + "Syncing UTXO entries...": "Synchronisation des entrées UTXO...", + "Syncing...": "Synchronisation...", + "System": "Système", + "TPS": "TPS", + "Testnet 10": "Réseau de test 10", + "Testnet 10 (1 BPS)": "Réseau de test 10 (1 BPS)", + "Testnet 11": "Réseau de test 11", + "Testnet 11 (10 BPS)": "Réseau de test 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Le réseau de test 11 n'est pas encore activé pour les tests publics. Vous pouvez, cependant, configurer le nœud pour qu'il se connecte au réseau de test privé du développeur dans le panneau de Paramètres.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Le logiciel Kaspa NG représente un effort continu axé sur la création d'une plate-forme logicielle de pointe dédiée au réseau de crypto-monnaie Kaspa BlockDAG. Idéologique à sa base, ce logiciel donne la priorité à la sécurité, à la confidentialité, aux performances et à la décentralisation.", + "The balance may be out of date during node sync": "Le solde peut ne pas être à jour durant la synchronisation du nœud", + "The following will guide you through the process of creating or importing a wallet.": "Nous vous guiderons tout au long du processus de création ou d’importation d’un portefeuille.", + "The node is currently syncing with the Kaspa p2p network.": "Le nœud est en cours de synchronisation avec le réseau p2p Kaspa.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "Le nœud est en cours de synchronisation avec le réseau p2p Kaspa. Le solde du compte n'est peut-être pas à jour.", + "The node is spawned as a child daemon process (recommended).": "Le nœud est généré en tant que processus deamon enfant (recommandé).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "Le nœud s'exécute dans le cadre du processus de l'application Kaspa-NG. Cela réduit la surcharge des communications (expérimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Couleur du thème", + "Theme Color:": "Couleur du thème :", + "Theme Style": "Style du thème", + "Theme Style:": "Style du thème :", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Ce portefeuille ne vous demandera jamais cette phrase mnémonique, sauf si vous lancez manuellement une récupération de clé privée.", + "Threshold": "Seuil", + "Time Offset:": "Décalage de temps :", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Outils ⏷", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Traquer en arrière-plan", + "Transactions": "Transactions", + "Transactions:": "Transactions :", + "Type": "Type", + "UTXO Manager": "Gestionnaire d'UTXO", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs :", + "Unable to change node settings until the problem is resolved": "Impossible de modifier les paramètres du nœud jusqu'à ce que le problème soit résolu", + "Unlock": "Déverrouiller", + "Unlock Wallet": "Déverrouiller le portefeuille", + "Unlocking": "Déverrouillage", + "Update Available to version": "Mise à jour disponible vers la version", + "Updating...": "Mise à jour...", + "Uptime:": "Disponibilité :", + "Use 50%-75% of available system memory": "Utilise 50 %-75% de la mémoire système disponible", + "Use all available system memory": "Utilise toute la mémoire système disponible", + "User Agent": "User Agent", + "User Interface": "Interface utilisateur", + "Very dangerous (may be cracked within few seconds)": "Très dangereux (peut être cracké en quelques secondes)", + "Very weak": "Very weak", + "Virt Parents": "Parents virtuels", + "Virtual DAA Score": "Score DAA virtuel", + "Virtual Memory": "Mémoire virtuelle", + "Virtual Parent Hashes": "Hash des parents virtuels", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK pour JavaScript et TypeScript", + "Wallet": "Portefeuille", + "Wallet Created": "Portefeuille créé", + "Wallet Encryption Password": "Mot de passe de chiffrement du portefeuille", + "Wallet Name": "Nom du portefeuille", + "Wallet Secret": "Secret du portefeuille", + "Wallet password is used to encrypt your wallet data.": "Le mot de passe du portefeuille est utilisé pour chiffrer les données de votre portefeuille.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Portefeuille :", + "We greatly appreciate your help in backing our efforts.": "Nous apprécions grandement votre aide pour soutenir nos efforts.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Bienvenu sur Kaspa NG", + "Xpub Keys": "Clés Xpub", + "You are currently not connected to the Kaspa node.": "Vous n'êtes actuellement pas connecté au nœud Kaspa.", + "You can configure remote connection in Settings": "Vous pouvez configurer la connexion à distance dans Paramètres", + "You can create multiple wallets, but only one wallet can be open at a time.": "Vous pouvez créer plusieurs portefeuilles, mais un seul portefeuille peut être ouvert à la fois.", + "You must be connected to a node...": "Vous devez être connecté à un nœud...", + "Your default wallet private key mnemonic is:": "Le mnémonique de votre clé privée de portefeuille par défaut est :", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Votre phrase mnémonique vous permet de recréer votre clé privée. La personne qui a accès à ce mnémonique aura le contrôle total du Kaspa qui y est stocké. Gardez votre mnémonique en sécurité. Notez-le et conservez-le dans un coffre-fort, de préférence dans un endroit résistant au feu. Ne stockez pas votre mnémonique sur cet ordinateur ou un appareil mobile. Ce portefeuille ne vous demandera jamais cette phrase mnémonique, sauf si vous lancez manuellement une récupération de clé privée.", + "Your private key mnemonic is:": "La mnémonique de votre clé privée est :", + "Your wallet has been created and is ready to use.": "Votre portefeuille a été créé et est prêt à être utilisé.", + "Zoom": "Zoom", + "amount to send": "montant à envoyer", + "bye!": "au revoir!", + "gRPC Network Interface & Port": "Interface réseau et port gRPC", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "sur", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "pair", + "peers": "pairs", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "Paramètres de connexion wRPC", + "wRPC Encoding:": "Encodage xRPC :", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": " URL wRPC :", + "words": "words" + }, + "he": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS test network", + "10 BPS test network": "10 BPS test network", + "12 word mnemonic": "12 word mnemonic", + "24 word mnemonic": "24 word mnemonic", + "24h Change": "24h Change", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "A binary at another location is spawned a child process (experimental, for development purposes only).", + "A random node will be selected on startup": "A random node will be selected on startup", + "A wallet is stored in a file on your computer.": "A wallet is stored in a file on your computer.", + "Account Index": "Account Index", + "Account Name": "Account Name", + "Account:": "Account:", + "Activate custom daemon arguments": "Activate custom daemon arguments", + "Active p2p Peers": "Active p2p Peers", + "Address derivation scan": "Address derivation scan", + "Address:": "Address:", + "Advanced": "Advanced", + "Advanced Options": "Advanced Options", + "All": "All", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Allow custom arguments for the Rusty Kaspa daemon", + "Allows you to take screenshots from within the application": "Allows you to take screenshots from within the application", + "Apply": "Apply", + "Balance: N/A": "Balance: N/A", + "Bandwidth": "Bandwidth", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.", + "Bezier Curves": "Bezier Curves", + "Block DAG": "Block DAG", + "Block Scale": "Block Scale", + "Blocks": "Blocks", + "Bodies": "Bodies", + "Borsh Active Connections": "Borsh Active Connections", + "Borsh Connection Attempts": "Borsh Connection Attempts", + "Borsh Handshake Failures": "Borsh Handshake Failures", + "Build": "Build", + "CONNECTED": "CONNECTED", + "CPU": "CPU", + "Cache Memory Size": "Cache Memory Size", + "Cache Memory Size:": "Cache Memory Size:", + "Cancel": "Cancel", + "Cannot delete data folder while the node is running": "Cannot delete data folder while the node is running", + "Capture a screenshot": "Capture a screenshot", + "Center VSPC": "Center VSPC", + "Chain Blocks": "Chain Blocks", + "Change Address": "Change Address", + "Check for Software Updates on GitHub": "Check for Software Updates on GitHub", + "Check for Updates": "Check for Updates", + "Clear": "Clear", + "Click to try another server...": "Click to try another server...", + "Client RPC": "Client RPC", + "Close": "Close", + "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Confirm wallet password", + "Connect to a local node (localhost)": "Connect to a local node (localhost)", + "Connecting to": "Connecting to", + "Connection": "Connection", + "Connections": "Connections", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Connects to a Remote Rusty Kaspa Node via wRPC.", + "Conservative": "Conservative", + "Continue": "Continue", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.", + "Copied to clipboard": "Copied to clipboard", + "Copy": "Copy", + "Copy logs to clipboard": "Copy logs to clipboard", + "Create New Account": "Create New Account", + "Create New Wallet": "Create New Wallet", + "Create Wallet": "Create Wallet", + "Create new wallet": "Create new wallet", + "Creating Account": "Creating Account", + "Creating Wallet": "Creating Wallet", + "Custom": "Custom", + "Custom Public Node": "Custom Public Node", + "Custom arguments:": "Custom arguments:", + "Custom data storage folder": "Custom data storage folder", + "DAA": "DAA", + "DAA Offset": "DAA Offset", + "DAA Range": "DAA Range", + "DB Blocks": "DB Blocks", + "DB Headers": "DB Headers", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", + "Database Blocks": "Database Blocks", + "Database Headers": "Database Headers", + "Decrypting wallet, please wait...": "Decrypting wallet, please wait...", + "Default": "Default", + "Default Account Name": "Default Account Name", + "Delete Data Folder": "Delete Data Folder", + "Dependencies": "Dependencies", + "Derivation Indexes": "Derivation Indexes", + "Details": "Details", + "Developer Mode": "Developer Mode", + "Developer Resources": "Developer Resources", + "Developer mode enables advanced and experimental features": "Developer mode enables advanced and experimental features", + "Difficulty": "Difficulty", + "Dimensions": "Dimensions", + "Disable password safety rules": "Disable password safety rules", + "Disabled": "Disabled", + "Disables node connectivity (Offline Mode).": "Disables node connectivity (Offline Mode).", + "Discord": "Discord", + "Donations": "Donations", + "Double click on the graph to re-center...": "Double click on the graph to re-center...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Enable Market Monitor", + "Enable UPnP": "Enable UPnP", + "Enable custom daemon arguments": "Enable custom daemon arguments", + "Enable experimental features": "Enable experimental features", + "Enable gRPC": "Enable gRPC", + "Enable optional BIP39 passphrase": "Enable optional BIP39 passphrase", + "Enable screen capture": "Enable screen capture", + "Enables features currently in development": "Enables features currently in development", + "Enter": "Enter", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Enter account name (optional)", + "Enter first account name": "Enter first account name", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Enter phishing hint", + "Enter the amount": "Enter the amount", + "Enter the password for your wallet": "Enter the password for your wallet", + "Enter the password to unlock your wallet": "Enter the password to unlock your wallet", + "Enter wallet name": "Enter wallet name", + "Enter wallet password": "Enter wallet password", + "Enter your wallet secret": "Enter your wallet secret", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorer", + "Export Wallet Data": "Export Wallet Data", + "Faucet": "Faucet", + "File Handles": "File Handles", + "Filename:": "Filename:", + "Final Amount:": "Final Amount:", + "Full Screen": "Full Screen", + "GitHub Release": "GitHub Release", + "Go to Settings": "Go to Settings", + "Good": "Good", + "Handles": "Handles", + "Headers": "Headers", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "If not specified, the account will be represented by the numeric id.", + "If you are running locally, use: ": "If you are running locally, use: ", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Import existing", + "Importing Wallet": "Importing Wallet", + "Inbound": "Inbound", + "Include QoS Priority Fees": "Include QoS Priority Fees", + "Integrated Daemon": "Integrated Daemon", + "Invalid daemon arguments": "Invalid daemon arguments", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Invalid network type - expected: testnet-10 connected to: testnet-11", + "Invalid wRPC URL": "Invalid wRPC URL", + "Json Active Connections": "Json Active Connections", + "Json Connection Attempts": "Json Connection Attempts", + "Json Handshake Failures": "Json Handshake Failures", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Kaspa Integration Guide", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Web App", + "Kaspa NG on GitHub": "Kaspa NG on GitHub", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Kaspa Network", + "Kaspa Node": "Kaspa Node", + "Kaspa p2p Network & Node Connection": "Kaspa p2p Network & Node Connection", + "Kaspa p2p Node": "Kaspa p2p Node", + "Kaspa p2p Node & Connection": "Kaspa p2p Node & Connection", + "Key Perf.": "Key Perf.", + "Language:": "Language:", + "Large (1 BPS)": "Large (1 BPS)", + "Levels": "Levels", + "License Information": "License Information", + "Local": "Local", + "Local p2p Node Configuration": "Local p2p Node Configuration", + "Logs": "Logs", + "MT": "MT", + "Main Kaspa network": "Main Kaspa network", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (Main Kaspa network)", + "Managed by the Rusty Kaspa daemon": "Managed by the Rusty Kaspa daemon", + "Market": "Market", + "Market Cap": "Market Cap", + "Market Monitor": "Market Monitor", + "Mass Processed": "Mass Processed", + "Maximize window": "Maximize window", + "Medium Narrow": "Medium Narrow", + "Medium Wide": "Medium Wide", + "Memory": "Memory", + "Mempool": "Mempool", + "Mempool Size": "Mempool Size", + "Metrics": "Metrics", + "Metrics are not currently available": "Metrics are not currently available", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM Modules for NodeJS", + "Network": "Network", + "Network Difficulty": "Network Difficulty", + "Network Fees:": "Network Fees:", + "Network Interface": "Network Interface", + "Network Peers": "Network Peers", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "No peers", + "No public node selected - please select a public node": "No public node selected - please select a public node", + "No transactions": "No transactions", + "No wallets found, please create a new wallet": "No wallets found, please create a new wallet", + "Node": "Node", + "Node Status": "Node Status", + "Noise": "Noise", + "None": "None", + "Not Connected": "Not Connected", + "Not connected": "Not connected", + "Notifications": "Notifications", + "Open Data Folder": "Open Data Folder", + "Opening wallet:": "Opening wallet:", + "Optional": "Optional", + "Other operations": "Other operations", + "Outbound": "Outbound", + "Overview": "Overview", + "Parents": "Parents", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Past Median Time", + "Payment & Recovery Password": "Payment & Recovery Password", + "Payment Request": "Payment Request", + "Peers": "Peers", + "Performance": "Performance", + "Phishing Hint": "Phishing Hint", + "Ping:": "Ping:", + "Please Confirm Deletion": "Please Confirm Deletion", + "Please configure your Kaspa NG settings": "Please configure your Kaspa NG settings", + "Please connect to Kaspa p2p node": "Please connect to Kaspa p2p node", + "Please create a stronger password": "Please create a stronger password", + "Please enter": "Please enter", + "Please enter KAS amount to send": "Please enter KAS amount to send", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Please enter an amount", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Please enter the account name", + "Please enter the wallet secret": "Please enter the wallet secret", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.", + "Please select an account type": "Please select an account type", + "Please select the private key to export": "Please select the private key to export", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Please set node to 'Disabled' to delete the data folder", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.", + "Please specify the name of the new wallet": "Please specify the name of the new wallet", + "Please specify the private key type for the new wallet": "Please specify the private key type for the new wallet", + "Please wait for the node to sync or connect to a remote node.": "Please wait for the node to sync or connect to a remote node.", + "Please wait for the node to sync...": "Please wait for the node to sync...", + "Please wait...": "Please wait...", + "Presets": "Presets", + "Price": "Price", + "Private Key Mnemonic": "Private Key Mnemonic", + "Processed Bodies": "Processed Bodies", + "Processed Dependencies": "Processed Dependencies", + "Processed Headers": "Processed Headers", + "Processed Mass Counts": "Processed Mass Counts", + "Processed Transactions": "Processed Transactions", + "Protocol:": "Protocol:", + "Public Node": "Public Node", + "Public Nodes": "Public Nodes", + "Public Server": "Public Server", + "Public p2p Nodes for": "Public p2p Nodes for", + "Random Public Node": "Random Public Node", + "Range:": "Range:", + "Receive Address": "Receive Address", + "Recommended arguments for the remote node: ": "Recommended arguments for the remote node: ", + "Redistributables": "Redistributables", + "Remote": "Remote", + "Remote Connection:": "Remote Connection:", + "Remote p2p Node Configuration": "Remote p2p Node Configuration", + "Removes security restrictions, allows for single-letter passwords": "Removes security restrictions, allows for single-letter passwords", + "Reset Settings": "Reset Settings", + "Reset VSPC": "Reset VSPC", + "Resident Memory": "Resident Memory", + "Resources": "Resources", + "Resulting daemon arguments:": "Resulting daemon arguments:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa on GitHub", + "Secret is too weak": "Secret is too weak", + "Secret score:": "Secret score:", + "Select Account": "Select Account", + "Select Available Server": "Select Available Server", + "Select Private Key Type": "Select Private Key Type", + "Select Public Node": "Select Public Node", + "Select Wallet": "Select Wallet", + "Select a wallet to unlock": "Select a wallet to unlock", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Send", + "Services": "Services", + "Settings": "Settings", + "Show DAA": "Show DAA", + "Show Grid": "Show Grid", + "Show VSPC": "Show VSPC", + "Show balances in alternate currencies for testnet coins": "Show balances in alternate currencies for testnet coins", + "Show passphrase": "Show passphrase", + "Show password": "Show password", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet", + "Skip": "Skip", + "Small (10 BPS)": "Small (10 BPS)", + "Spread": "Spread", + "Stage": "Stage", + "Starting...": "Starting...", + "Statistics": "Statistics", + "Stor Read": "Stor Read", + "Stor Write": "Stor Write", + "Storage": "Storage", + "Storage Read": "Storage Read", + "Storage Read/s": "Storage Read/s", + "Storage Write": "Storage Write", + "Storage Write/s": "Storage Write/s", + "Strong": "Strong", + "Submitted Blocks": "Submitted Blocks", + "Supporting Kaspa NG development": "Supporting Kaspa NG development", + "Syncing Cryptographic Proof...": "Syncing Cryptographic Proof...", + "Syncing DAG Blocks...": "Syncing DAG Blocks...", + "Syncing Headers...": "Syncing Headers...", + "Syncing UTXO entries...": "Syncing UTXO entries...", + "Syncing...": "Syncing...", + "System": "System", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.", + "The balance may be out of date during node sync": "The balance may be out of date during node sync", + "The following will guide you through the process of creating or importing a wallet.": "The following will guide you through the process of creating or importing a wallet.", + "The node is currently syncing with the Kaspa p2p network.": "The node is currently syncing with the Kaspa p2p network.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.", + "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Theme Color", + "Theme Color:": "Theme Color:", + "Theme Style": "Theme Style", + "Theme Style:": "Theme Style:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Threshold": "Threshold", + "Time Offset:": "Time Offset:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Tools ⏷", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Track in the background", + "Transactions": "Transactions", + "Transactions:": "Transactions:", + "Type": "Type", + "UTXO Manager": "UTXO Manager", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "Unable to change node settings until the problem is resolved", + "Unlock": "Unlock", + "Unlock Wallet": "Unlock Wallet", + "Unlocking": "Unlocking", + "Update Available to version": "Update Available to version", + "Updating...": "Updating...", + "Uptime:": "Uptime:", + "Use 50%-75% of available system memory": "Use 50%-75% of available system memory", + "Use all available system memory": "Use all available system memory", + "User Agent": "User Agent", + "User Interface": "User Interface", + "Very dangerous (may be cracked within few seconds)": "Very dangerous (may be cracked within few seconds)", + "Very weak": "Very weak", + "Virt Parents": "Virt Parents", + "Virtual DAA Score": "Virtual DAA Score", + "Virtual Memory": "Virtual Memory", + "Virtual Parent Hashes": "Virtual Parent Hashes", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", + "Wallet": "Wallet", + "Wallet Created": "Wallet Created", + "Wallet Encryption Password": "Wallet Encryption Password", + "Wallet Name": "Wallet Name", + "Wallet Secret": "Wallet Secret", + "Wallet password is used to encrypt your wallet data.": "Wallet password is used to encrypt your wallet data.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Wallet:", + "We greatly appreciate your help in backing our efforts.": "We greatly appreciate your help in backing our efforts.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Welcome to Kaspa NG", + "Xpub Keys": "Xpub Keys", + "You are currently not connected to the Kaspa node.": "You are currently not connected to the Kaspa node.", + "You can configure remote connection in Settings": "You can configure remote connection in Settings", + "You can create multiple wallets, but only one wallet can be open at a time.": "You can create multiple wallets, but only one wallet can be open at a time.", + "You must be connected to a node...": "You must be connected to a node...", + "Your default wallet private key mnemonic is:": "Your default wallet private key mnemonic is:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Your private key mnemonic is:": "Your private key mnemonic is:", + "Your wallet has been created and is ready to use.": "Your wallet has been created and is ready to use.", + "Zoom": "Zoom", + "amount to send": "amount to send", + "bye!": "bye!", + "gRPC Network Interface & Port": "gRPC Network Interface & Port", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "of", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "peer", + "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC Connection Settings", + "wRPC Encoding:": "wRPC Encoding:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "words" + }, + "hi": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS test network", + "10 BPS test network": "10 BPS test network", + "12 word mnemonic": "12 word mnemonic", + "24 word mnemonic": "24 word mnemonic", + "24h Change": "24h Change", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "A binary at another location is spawned a child process (experimental, for development purposes only).", + "A random node will be selected on startup": "A random node will be selected on startup", + "A wallet is stored in a file on your computer.": "A wallet is stored in a file on your computer.", + "Account Index": "खाता सूचकांक", + "Account Name": "खाता नाम", + "Account:": "खाता:", + "Activate custom daemon arguments": "Activate custom daemon arguments", + "Active p2p Peers": "Active p2p Peers", + "Address derivation scan": "Address derivation scan", + "Address:": "एड्रेस:", + "Advanced": "विकसित", + "Advanced Options": "Advanced Options", + "All": "सभी", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Allow custom arguments for the Rusty Kaspa daemon", + "Allows you to take screenshots from within the application": "Allows you to take screenshots from within the application", + "Apply": "आवेदन करें", + "Balance: N/A": "Balance: N/A", + "Bandwidth": "Bandwidth", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.", + "Bezier Curves": "Bezier Curves", + "Block DAG": "Block DAG", + "Block Scale": "ब्लॉक स्केल", + "Blocks": "ब्लॉक", + "Bodies": "Bodies", + "Borsh Active Connections": "Borsh Active Connections", + "Borsh Connection Attempts": "Borsh Connection Attempts", + "Borsh Handshake Failures": "Borsh Handshake Failures", + "Build": "Build", + "CONNECTED": "जुड़ा हुआ", + "CPU": "सीपीयू", + "Cache Memory Size": "Cache Memory Size", + "Cache Memory Size:": "Cache Memory Size:", + "Cancel": "रद्द करें", + "Cannot delete data folder while the node is running": "Cannot delete data folder while the node is running", + "Capture a screenshot": "एक स्क्रीनशॉट कैप्चर करें", + "Center VSPC": "Center VSPC", + "Chain Blocks": "Chain Blocks", + "Change Address": "एड्रेस बदलाव करें", + "Check for Software Updates on GitHub": "Check for Software Updates on GitHub", + "Check for Updates": "अपडेट जांचें", + "Clear": "स्पष्ट", + "Click to try another server...": "Click to try another server...", + "Client RPC": "Client RPC", + "Close": "बंद करें", + "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "पुष्टि करें वॉलेट पासवर्ड", + "Connect to a local node (localhost)": "Connect to a local node (localhost)", + "Connecting to": "Connecting to", + "Connection": "कनेक्शन", + "Connections": "कनेक्शन", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Connects to a Remote Rusty Kaspa Node via wRPC.", + "Conservative": "संवर्धनशील", + "Continue": "जारी रखना", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.", + "Copied to clipboard": "क्लिपबोर्ड पर कॉपी किया गया", + "Copy": "कॉपी", + "Copy logs to clipboard": "क्लिपबोर्ड पर लॉग कॉपी करें", + "Create New Account": "नया खाता बनाएं", + "Create New Wallet": "नया वॉलेट बनाएं", + "Create Wallet": "Create Wallet", + "Create new wallet": "नया वॉलेट बनाएं", + "Creating Account": "खाता बनाना", + "Creating Wallet": "वॉलेट बनाना", + "Custom": "Custom", + "Custom Public Node": "Custom Public Node", + "Custom arguments:": "Custom arguments:", + "Custom data storage folder": "Custom data storage folder", + "DAA": "DAA", + "DAA Offset": "DAA ऑफसेट", + "DAA Range": "DAA रेंज", + "DB Blocks": "DB Blocks", + "DB Headers": "DB Headers", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", + "Database Blocks": "Database Blocks", + "Database Headers": "Database Headers", + "Decrypting wallet, please wait...": "Decrypting wallet, please wait...", + "Default": "डिफ़ॉल्ट", + "Default Account Name": "डिफ़ॉल्ट खाता नाम", + "Delete Data Folder": "Delete Data Folder", + "Dependencies": "Dependencies", + "Derivation Indexes": "Derivation Indexes", + "Details": "विवरण", + "Developer Mode": "डेवलपर मोड", + "Developer Resources": "डेवलपर संसाधन", + "Developer mode enables advanced and experimental features": "Developer mode enables advanced and experimental features", + "Difficulty": "Difficulty", + "Dimensions": "Dimensions", + "Disable password safety rules": "Disable password safety rules", + "Disabled": "Disabled", + "Disables node connectivity (Offline Mode).": "Disables node connectivity (Offline Mode).", + "Discord": "डिस्कॉर्ड", + "Donations": "दान", + "Double click on the graph to re-center...": "Double click on the graph to re-center...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Enable Market Monitor", + "Enable UPnP": "Enable UPnP", + "Enable custom daemon arguments": "Enable custom daemon arguments", + "Enable experimental features": "Enable experimental features", + "Enable gRPC": "Enable gRPC", + "Enable optional BIP39 passphrase": "Enable optional BIP39 passphrase", + "Enable screen capture": "Enable screen capture", + "Enables features currently in development": "Enables features currently in development", + "Enter": "दर्ज करें", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "खाता नाम दर्ज करें (वैकल्पिक)", + "Enter first account name": "पहले खाता नाम दर्ज करें", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Enter phishing hint", + "Enter the amount": "दर्ज करें राशि", + "Enter the password for your wallet": "Enter the password for your wallet", + "Enter the password to unlock your wallet": "Enter the password to unlock your wallet", + "Enter wallet name": "वॉलेट का नाम दर्ज करें", + "Enter wallet password": "वॉलेट पासवर्ड दर्ज करें", + "Enter your wallet secret": "अपना वॉलेट सीक्रेट दर्ज करें", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorer", + "Export Wallet Data": "Export Wallet Data", + "Faucet": "Faucet", + "File Handles": "File Handles", + "Filename:": "Filename:", + "Final Amount:": "अंतिम राशि:", + "Full Screen": "Full Screen", + "GitHub Release": "GitHub Release", + "Go to Settings": "Go to Settings", + "Good": "Good", + "Handles": "Handles", + "Headers": "Headers", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "If not specified, the account will be represented by the numeric id.", + "If you are running locally, use: ": "If you are running locally, use: ", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Import existing", + "Importing Wallet": "Importing Wallet", + "Inbound": "Inbound", + "Include QoS Priority Fees": "Include QoS Priority Fees", + "Integrated Daemon": "Integrated Daemon", + "Invalid daemon arguments": "Invalid daemon arguments", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Invalid network type - expected: testnet-10 connected to: testnet-11", + "Invalid wRPC URL": "Invalid wRPC URL", + "Json Active Connections": "Json Active Connections", + "Json Connection Attempts": "Json Connection Attempts", + "Json Handshake Failures": "Json Handshake Failures", + "Kaspa Discord": "कास्पा डिस्कॉर्ड", + "Kaspa Integration Guide": "Kaspa Integration Guide", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Web App", + "Kaspa NG on GitHub": "Kaspa NG on GitHub", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Kaspa Network", + "Kaspa Node": "कास्पा नोड", + "Kaspa p2p Network & Node Connection": "Kaspa p2p Network & Node Connection", + "Kaspa p2p Node": "कास्पा p2p नोड", + "Kaspa p2p Node & Connection": "Kaspa p2p Node & Connection", + "Key Perf.": "Key Perf.", + "Language:": "भाषा:", + "Large (1 BPS)": "Large (1 BPS)", + "Levels": "Levels", + "License Information": "License Information", + "Local": "Local", + "Local p2p Node Configuration": "Local p2p Node Configuration", + "Logs": "Logs", + "MT": "MT", + "Main Kaspa network": "Main Kaspa network", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (Main Kaspa network)", + "Managed by the Rusty Kaspa daemon": "Managed by the Rusty Kaspa daemon", + "Market": "मार्केट", + "Market Cap": "मार्केट कैप", + "Market Monitor": "Market Monitor", + "Mass Processed": "Mass Processed", + "Maximize window": "Maximize window", + "Medium Narrow": "Medium Narrow", + "Medium Wide": "Medium Wide", + "Memory": "मेमोरी", + "Mempool": "Mempool", + "Mempool Size": "Mempool Size", + "Metrics": "Metrics", + "Metrics are not currently available": "Metrics are not currently available", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM Modules for NodeJS", + "Network": "Network", + "Network Difficulty": "Network Difficulty", + "Network Fees:": "Network Fees:", + "Network Interface": "Network Interface", + "Network Peers": "Network Peers", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "No peers", + "No public node selected - please select a public node": "No public node selected - please select a public node", + "No transactions": "No transactions", + "No wallets found, please create a new wallet": "No wallets found, please create a new wallet", + "Node": "नोड", + "Node Status": "Node Status", + "Noise": "Noise", + "None": "None", + "Not Connected": "Not Connected", + "Not connected": "Not connected", + "Notifications": "Notifications", + "Open Data Folder": "Open Data Folder", + "Opening wallet:": "Opening wallet:", + "Optional": "Optional", + "Other operations": "Other operations", + "Outbound": "Outbound", + "Overview": "Overview", + "Parents": "Parents", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Past Median Time", + "Payment & Recovery Password": "Payment & Recovery Password", + "Payment Request": "Payment Request", + "Peers": "Peers", + "Performance": "Performance", + "Phishing Hint": "Phishing Hint", + "Ping:": "Ping:", + "Please Confirm Deletion": "Please Confirm Deletion", + "Please configure your Kaspa NG settings": "Please configure your Kaspa NG settings", + "Please connect to Kaspa p2p node": "Please connect to Kaspa p2p node", + "Please create a stronger password": "Please create a stronger password", + "Please enter": "Please enter", + "Please enter KAS amount to send": "Please enter KAS amount to send", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Please enter an amount", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Please enter the account name", + "Please enter the wallet secret": "Please enter the wallet secret", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.", + "Please select an account type": "Please select an account type", + "Please select the private key to export": "Please select the private key to export", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Please set node to 'Disabled' to delete the data folder", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.", + "Please specify the name of the new wallet": "Please specify the name of the new wallet", + "Please specify the private key type for the new wallet": "Please specify the private key type for the new wallet", + "Please wait for the node to sync or connect to a remote node.": "Please wait for the node to sync or connect to a remote node.", + "Please wait for the node to sync...": "Please wait for the node to sync...", + "Please wait...": "Please wait...", + "Presets": "Presets", + "Price": "मूल्य", + "Private Key Mnemonic": "Private Key Mnemonic", + "Processed Bodies": "Processed Bodies", + "Processed Dependencies": "Processed Dependencies", + "Processed Headers": "Processed Headers", + "Processed Mass Counts": "Processed Mass Counts", + "Processed Transactions": "Processed Transactions", + "Protocol:": "Protocol:", + "Public Node": "Public Node", + "Public Nodes": "Public Nodes", + "Public Server": "Public Server", + "Public p2p Nodes for": "Public p2p Nodes for", + "Random Public Node": "Random Public Node", + "Range:": "Range:", + "Receive Address": "एड्रेस प्राप्त करें", + "Recommended arguments for the remote node: ": "Recommended arguments for the remote node: ", + "Redistributables": "Redistributables", + "Remote": "Remote", + "Remote Connection:": "Remote Connection:", + "Remote p2p Node Configuration": "Remote p2p Node Configuration", + "Removes security restrictions, allows for single-letter passwords": "Removes security restrictions, allows for single-letter passwords", + "Reset Settings": "Reset Settings", + "Reset VSPC": "Reset VSPC", + "Resident Memory": "Resident Memory", + "Resources": "Resources", + "Resulting daemon arguments:": "Resulting daemon arguments:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa on GitHub", + "Secret is too weak": "Secret is too weak", + "Secret score:": "Secret score:", + "Select Account": "Select Account", + "Select Available Server": "Select Available Server", + "Select Private Key Type": "Select Private Key Type", + "Select Public Node": "Select Public Node", + "Select Wallet": "Select Wallet", + "Select a wallet to unlock": "Select a wallet to unlock", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "भेजें", + "Services": "Services", + "Settings": "Settings", + "Show DAA": "Show DAA", + "Show Grid": "Show Grid", + "Show VSPC": "Show VSPC", + "Show balances in alternate currencies for testnet coins": "Show balances in alternate currencies for testnet coins", + "Show passphrase": "Show passphrase", + "Show password": "Show password", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet", + "Skip": "Skip", + "Small (10 BPS)": "Small (10 BPS)", + "Spread": "Spread", + "Stage": "Stage", + "Starting...": "Starting...", + "Statistics": "Statistics", + "Stor Read": "Stor Read", + "Stor Write": "Stor Write", + "Storage": "Storage", + "Storage Read": "Storage Read", + "Storage Read/s": "Storage Read/s", + "Storage Write": "Storage Write", + "Storage Write/s": "Storage Write/s", + "Strong": "Strong", + "Submitted Blocks": "Submitted Blocks", + "Supporting Kaspa NG development": "Supporting Kaspa NG development", + "Syncing Cryptographic Proof...": "Syncing Cryptographic Proof...", + "Syncing DAG Blocks...": "Syncing DAG Blocks...", + "Syncing Headers...": "Syncing Headers...", + "Syncing UTXO entries...": "Syncing UTXO entries...", + "Syncing...": "Syncing...", + "System": "System", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.", + "The balance may be out of date during node sync": "The balance may be out of date during node sync", + "The following will guide you through the process of creating or importing a wallet.": "The following will guide you through the process of creating or importing a wallet.", + "The node is currently syncing with the Kaspa p2p network.": "The node is currently syncing with the Kaspa p2p network.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.", + "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Theme Color", + "Theme Color:": "Theme Color:", + "Theme Style": "Theme Style", + "Theme Style:": "Theme Style:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Threshold": "Threshold", + "Time Offset:": "Time Offset:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Tools ⏷", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Track in the background", + "Transactions": "लेनदेन", + "Transactions:": "लेनदेन:", + "Type": "Type", + "UTXO Manager": "UTXO Manager", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "Unable to change node settings until the problem is resolved", + "Unlock": "Unlock", + "Unlock Wallet": "Unlock Wallet", + "Unlocking": "Unlocking", + "Update Available to version": "Update Available to version", + "Updating...": "Updating...", + "Uptime:": "Uptime:", + "Use 50%-75% of available system memory": "Use 50%-75% of available system memory", + "Use all available system memory": "Use all available system memory", + "User Agent": "User Agent", + "User Interface": "User Interface", + "Very dangerous (may be cracked within few seconds)": "Very dangerous (may be cracked within few seconds)", + "Very weak": "Very weak", + "Virt Parents": "Virt Parents", + "Virtual DAA Score": "Virtual DAA Score", + "Virtual Memory": "Virtual Memory", + "Virtual Parent Hashes": "Virtual Parent Hashes", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", + "Wallet": "Wallet", + "Wallet Created": "Wallet Created", + "Wallet Encryption Password": "Wallet Encryption Password", + "Wallet Name": "Wallet Name", + "Wallet Secret": "Wallet Secret", + "Wallet password is used to encrypt your wallet data.": "Wallet password is used to encrypt your wallet data.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Wallet:", + "We greatly appreciate your help in backing our efforts.": "We greatly appreciate your help in backing our efforts.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Welcome to Kaspa NG", + "Xpub Keys": "Xpub Keys", + "You are currently not connected to the Kaspa node.": "You are currently not connected to the Kaspa node.", + "You can configure remote connection in Settings": "You can configure remote connection in Settings", + "You can create multiple wallets, but only one wallet can be open at a time.": "You can create multiple wallets, but only one wallet can be open at a time.", + "You must be connected to a node...": "You must be connected to a node...", + "Your default wallet private key mnemonic is:": "Your default wallet private key mnemonic is:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Your private key mnemonic is:": "Your private key mnemonic is:", + "Your wallet has been created and is ready to use.": "Your wallet has been created and is ready to use.", + "Zoom": "Zoom", + "amount to send": "amount to send", + "bye!": "bye!", + "gRPC Network Interface & Port": "gRPC Network Interface & Port", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "of", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "peer", + "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC Connection Settings", + "wRPC Encoding:": "wRPC Encoding:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "words" + }, + "hr": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS test network", + "10 BPS test network": "10 BPS test network", + "12 word mnemonic": "12 word mnemonic", + "24 word mnemonic": "24 word mnemonic", + "24h Change": "24h Change", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "A binary at another location is spawned a child process (experimental, for development purposes only).", + "A random node will be selected on startup": "A random node will be selected on startup", + "A wallet is stored in a file on your computer.": "A wallet is stored in a file on your computer.", + "Account Index": "Account Index", + "Account Name": "Account Name", + "Account:": "Account:", + "Activate custom daemon arguments": "Activate custom daemon arguments", + "Active p2p Peers": "Active p2p Peers", + "Address derivation scan": "Address derivation scan", + "Address:": "Address:", + "Advanced": "Advanced", + "Advanced Options": "Advanced Options", + "All": "All", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Allow custom arguments for the Rusty Kaspa daemon", + "Allows you to take screenshots from within the application": "Allows you to take screenshots from within the application", + "Apply": "Apply", + "Balance: N/A": "Balance: N/A", + "Bandwidth": "Bandwidth", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.", + "Bezier Curves": "Bezier Curves", + "Block DAG": "Block DAG", + "Block Scale": "Block Scale", + "Blocks": "Blocks", + "Bodies": "Bodies", + "Borsh Active Connections": "Borsh Active Connections", + "Borsh Connection Attempts": "Borsh Connection Attempts", + "Borsh Handshake Failures": "Borsh Handshake Failures", + "Build": "Build", + "CONNECTED": "CONNECTED", + "CPU": "CPU", + "Cache Memory Size": "Cache Memory Size", + "Cache Memory Size:": "Cache Memory Size:", + "Cancel": "Cancel", + "Cannot delete data folder while the node is running": "Cannot delete data folder while the node is running", + "Capture a screenshot": "Capture a screenshot", + "Center VSPC": "Center VSPC", + "Chain Blocks": "Chain Blocks", + "Change Address": "Change Address", + "Check for Software Updates on GitHub": "Check for Software Updates on GitHub", + "Check for Updates": "Check for Updates", + "Clear": "Clear", + "Click to try another server...": "Click to try another server...", + "Client RPC": "Client RPC", + "Close": "Close", + "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Confirm wallet password", + "Connect to a local node (localhost)": "Connect to a local node (localhost)", + "Connecting to": "Connecting to", + "Connection": "Connection", + "Connections": "Connections", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Connects to a Remote Rusty Kaspa Node via wRPC.", + "Conservative": "Conservative", + "Continue": "Continue", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.", + "Copied to clipboard": "Copied to clipboard", + "Copy": "Copy", + "Copy logs to clipboard": "Copy logs to clipboard", + "Create New Account": "Create New Account", + "Create New Wallet": "Create New Wallet", + "Create Wallet": "Create Wallet", + "Create new wallet": "Create new wallet", + "Creating Account": "Creating Account", + "Creating Wallet": "Creating Wallet", + "Custom": "Custom", + "Custom Public Node": "Custom Public Node", + "Custom arguments:": "Custom arguments:", + "Custom data storage folder": "Custom data storage folder", + "DAA": "DAA", + "DAA Offset": "DAA Offset", + "DAA Range": "DAA Range", + "DB Blocks": "DB Blocks", + "DB Headers": "DB Headers", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", + "Database Blocks": "Database Blocks", + "Database Headers": "Database Headers", + "Decrypting wallet, please wait...": "Decrypting wallet, please wait...", + "Default": "Default", + "Default Account Name": "Default Account Name", + "Delete Data Folder": "Delete Data Folder", + "Dependencies": "Dependencies", + "Derivation Indexes": "Derivation Indexes", + "Details": "Details", + "Developer Mode": "Developer Mode", + "Developer Resources": "Developer Resources", + "Developer mode enables advanced and experimental features": "Developer mode enables advanced and experimental features", + "Difficulty": "Difficulty", + "Dimensions": "Dimensions", + "Disable password safety rules": "Disable password safety rules", + "Disabled": "Disabled", + "Disables node connectivity (Offline Mode).": "Disables node connectivity (Offline Mode).", + "Discord": "Discord", + "Donations": "Donations", + "Double click on the graph to re-center...": "Double click on the graph to re-center...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Enable Market Monitor", + "Enable UPnP": "Enable UPnP", + "Enable custom daemon arguments": "Enable custom daemon arguments", + "Enable experimental features": "Enable experimental features", + "Enable gRPC": "Enable gRPC", + "Enable optional BIP39 passphrase": "Enable optional BIP39 passphrase", + "Enable screen capture": "Enable screen capture", + "Enables features currently in development": "Enables features currently in development", + "Enter": "Enter", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Enter account name (optional)", + "Enter first account name": "Enter first account name", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Enter phishing hint", + "Enter the amount": "Enter the amount", + "Enter the password for your wallet": "Enter the password for your wallet", + "Enter the password to unlock your wallet": "Enter the password to unlock your wallet", + "Enter wallet name": "Enter wallet name", + "Enter wallet password": "Enter wallet password", + "Enter your wallet secret": "Enter your wallet secret", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorer", + "Export Wallet Data": "Export Wallet Data", + "Faucet": "Faucet", + "File Handles": "File Handles", + "Filename:": "Filename:", + "Final Amount:": "Final Amount:", + "Full Screen": "Full Screen", + "GitHub Release": "GitHub Release", + "Go to Settings": "Go to Settings", + "Good": "Good", + "Handles": "Handles", + "Headers": "Headers", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "If not specified, the account will be represented by the numeric id.", + "If you are running locally, use: ": "If you are running locally, use: ", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Import existing", + "Importing Wallet": "Importing Wallet", + "Inbound": "Inbound", + "Include QoS Priority Fees": "Include QoS Priority Fees", + "Integrated Daemon": "Integrated Daemon", + "Invalid daemon arguments": "Invalid daemon arguments", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Invalid network type - expected: testnet-10 connected to: testnet-11", + "Invalid wRPC URL": "Invalid wRPC URL", + "Json Active Connections": "Json Active Connections", + "Json Connection Attempts": "Json Connection Attempts", + "Json Handshake Failures": "Json Handshake Failures", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Kaspa Integration Guide", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Web App", + "Kaspa NG on GitHub": "Kaspa NG on GitHub", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Kaspa Network", + "Kaspa Node": "Kaspa Node", + "Kaspa p2p Network & Node Connection": "Kaspa p2p Network & Node Connection", + "Kaspa p2p Node": "Kaspa p2p Node", + "Kaspa p2p Node & Connection": "Kaspa p2p Node & Connection", + "Key Perf.": "Key Perf.", + "Language:": "Language:", + "Large (1 BPS)": "Large (1 BPS)", + "Levels": "Levels", + "License Information": "License Information", + "Local": "Local", + "Local p2p Node Configuration": "Local p2p Node Configuration", + "Logs": "Logs", + "MT": "MT", + "Main Kaspa network": "Main Kaspa network", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (Main Kaspa network)", + "Managed by the Rusty Kaspa daemon": "Managed by the Rusty Kaspa daemon", + "Market": "Market", + "Market Cap": "Market Cap", + "Market Monitor": "Market Monitor", + "Mass Processed": "Mass Processed", + "Maximize window": "Maximize window", + "Medium Narrow": "Medium Narrow", + "Medium Wide": "Medium Wide", + "Memory": "Memory", + "Mempool": "Mempool", + "Mempool Size": "Mempool Size", + "Metrics": "Metrics", + "Metrics are not currently available": "Metrics are not currently available", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM Modules for NodeJS", + "Network": "Network", + "Network Difficulty": "Network Difficulty", + "Network Fees:": "Network Fees:", + "Network Interface": "Network Interface", + "Network Peers": "Network Peers", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "No peers", + "No public node selected - please select a public node": "No public node selected - please select a public node", + "No transactions": "No transactions", + "No wallets found, please create a new wallet": "No wallets found, please create a new wallet", + "Node": "Node", + "Node Status": "Node Status", + "Noise": "Noise", + "None": "None", + "Not Connected": "Not Connected", + "Not connected": "Not connected", + "Notifications": "Notifications", + "Open Data Folder": "Open Data Folder", + "Opening wallet:": "Opening wallet:", + "Optional": "Optional", + "Other operations": "Other operations", + "Outbound": "Outbound", + "Overview": "Overview", + "Parents": "Parents", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Past Median Time", + "Payment & Recovery Password": "Payment & Recovery Password", + "Payment Request": "Payment Request", + "Peers": "Peers", + "Performance": "Performance", + "Phishing Hint": "Phishing Hint", + "Ping:": "Ping:", + "Please Confirm Deletion": "Please Confirm Deletion", + "Please configure your Kaspa NG settings": "Please configure your Kaspa NG settings", + "Please connect to Kaspa p2p node": "Please connect to Kaspa p2p node", + "Please create a stronger password": "Please create a stronger password", + "Please enter": "Please enter", + "Please enter KAS amount to send": "Please enter KAS amount to send", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Please enter an amount", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Please enter the account name", + "Please enter the wallet secret": "Please enter the wallet secret", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.", + "Please select an account type": "Please select an account type", + "Please select the private key to export": "Please select the private key to export", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Please set node to 'Disabled' to delete the data folder", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.", + "Please specify the name of the new wallet": "Please specify the name of the new wallet", + "Please specify the private key type for the new wallet": "Please specify the private key type for the new wallet", + "Please wait for the node to sync or connect to a remote node.": "Please wait for the node to sync or connect to a remote node.", + "Please wait for the node to sync...": "Please wait for the node to sync...", + "Please wait...": "Please wait...", + "Presets": "Presets", + "Price": "Price", + "Private Key Mnemonic": "Private Key Mnemonic", + "Processed Bodies": "Processed Bodies", + "Processed Dependencies": "Processed Dependencies", + "Processed Headers": "Processed Headers", + "Processed Mass Counts": "Processed Mass Counts", + "Processed Transactions": "Processed Transactions", + "Protocol:": "Protocol:", + "Public Node": "Public Node", + "Public Nodes": "Public Nodes", + "Public Server": "Public Server", + "Public p2p Nodes for": "Public p2p Nodes for", + "Random Public Node": "Random Public Node", + "Range:": "Range:", + "Receive Address": "Receive Address", + "Recommended arguments for the remote node: ": "Recommended arguments for the remote node: ", + "Redistributables": "Redistributables", + "Remote": "Remote", + "Remote Connection:": "Remote Connection:", + "Remote p2p Node Configuration": "Remote p2p Node Configuration", + "Removes security restrictions, allows for single-letter passwords": "Removes security restrictions, allows for single-letter passwords", + "Reset Settings": "Reset Settings", + "Reset VSPC": "Reset VSPC", + "Resident Memory": "Resident Memory", + "Resources": "Resources", + "Resulting daemon arguments:": "Resulting daemon arguments:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa on GitHub", + "Secret is too weak": "Secret is too weak", + "Secret score:": "Secret score:", + "Select Account": "Select Account", + "Select Available Server": "Select Available Server", + "Select Private Key Type": "Select Private Key Type", + "Select Public Node": "Select Public Node", + "Select Wallet": "Select Wallet", + "Select a wallet to unlock": "Select a wallet to unlock", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Send", + "Services": "Services", + "Settings": "Settings", + "Show DAA": "Show DAA", + "Show Grid": "Show Grid", + "Show VSPC": "Show VSPC", + "Show balances in alternate currencies for testnet coins": "Show balances in alternate currencies for testnet coins", + "Show passphrase": "Show passphrase", + "Show password": "Show password", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet", + "Skip": "Skip", + "Small (10 BPS)": "Small (10 BPS)", + "Spread": "Spread", + "Stage": "Stage", + "Starting...": "Starting...", + "Statistics": "Statistics", + "Stor Read": "Stor Read", + "Stor Write": "Stor Write", + "Storage": "Storage", + "Storage Read": "Storage Read", + "Storage Read/s": "Storage Read/s", + "Storage Write": "Storage Write", + "Storage Write/s": "Storage Write/s", + "Strong": "Strong", + "Submitted Blocks": "Submitted Blocks", + "Supporting Kaspa NG development": "Supporting Kaspa NG development", + "Syncing Cryptographic Proof...": "Syncing Cryptographic Proof...", + "Syncing DAG Blocks...": "Syncing DAG Blocks...", + "Syncing Headers...": "Syncing Headers...", + "Syncing UTXO entries...": "Syncing UTXO entries...", + "Syncing...": "Syncing...", + "System": "System", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.", + "The balance may be out of date during node sync": "The balance may be out of date during node sync", + "The following will guide you through the process of creating or importing a wallet.": "The following will guide you through the process of creating or importing a wallet.", + "The node is currently syncing with the Kaspa p2p network.": "The node is currently syncing with the Kaspa p2p network.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.", + "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Theme Color", + "Theme Color:": "Theme Color:", + "Theme Style": "Theme Style", + "Theme Style:": "Theme Style:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Threshold": "Threshold", + "Time Offset:": "Time Offset:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Tools ⏷", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Track in the background", + "Transactions": "Transactions", + "Transactions:": "Transactions:", + "Type": "Type", + "UTXO Manager": "UTXO Manager", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "Unable to change node settings until the problem is resolved", + "Unlock": "Unlock", + "Unlock Wallet": "Unlock Wallet", + "Unlocking": "Unlocking", + "Update Available to version": "Update Available to version", + "Updating...": "Updating...", + "Uptime:": "Uptime:", + "Use 50%-75% of available system memory": "Use 50%-75% of available system memory", + "Use all available system memory": "Use all available system memory", + "User Agent": "User Agent", + "User Interface": "User Interface", + "Very dangerous (may be cracked within few seconds)": "Very dangerous (may be cracked within few seconds)", + "Very weak": "Very weak", + "Virt Parents": "Virt Parents", + "Virtual DAA Score": "Virtual DAA Score", + "Virtual Memory": "Virtual Memory", + "Virtual Parent Hashes": "Virtual Parent Hashes", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", + "Wallet": "Wallet", + "Wallet Created": "Wallet Created", + "Wallet Encryption Password": "Wallet Encryption Password", + "Wallet Name": "Wallet Name", + "Wallet Secret": "Wallet Secret", + "Wallet password is used to encrypt your wallet data.": "Wallet password is used to encrypt your wallet data.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Wallet:", + "We greatly appreciate your help in backing our efforts.": "We greatly appreciate your help in backing our efforts.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Welcome to Kaspa NG", + "Xpub Keys": "Xpub Keys", + "You are currently not connected to the Kaspa node.": "You are currently not connected to the Kaspa node.", + "You can configure remote connection in Settings": "You can configure remote connection in Settings", + "You can create multiple wallets, but only one wallet can be open at a time.": "You can create multiple wallets, but only one wallet can be open at a time.", + "You must be connected to a node...": "You must be connected to a node...", + "Your default wallet private key mnemonic is:": "Your default wallet private key mnemonic is:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Your private key mnemonic is:": "Your private key mnemonic is:", + "Your wallet has been created and is ready to use.": "Your wallet has been created and is ready to use.", + "Zoom": "Zoom", + "amount to send": "amount to send", + "bye!": "bye!", + "gRPC Network Interface & Port": "gRPC Network Interface & Port", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "of", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "peer", + "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC Connection Settings", + "wRPC Encoding:": "wRPC Encoding:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "words" + }, + "hu": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS teszt hálózat", + "10 BPS test network": "10 BPS teszt hálózat", + "12 word mnemonic": "12 word mnemonic", + "24 word mnemonic": "24 word mnemonic", + "24h Change": "24h Change", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "A binary at another location is spawned a child process (experimental, for development purposes only).", + "A random node will be selected on startup": "A random node will be selected on startup", + "A wallet is stored in a file on your computer.": "A tárca egy fájlban van tárolva a számítógépeden.", + "Account Index": "Fiók index", + "Account Name": "Fiók neve", + "Account:": "Fiók:", + "Activate custom daemon arguments": "Activate custom daemon arguments", + "Active p2p Peers": "Aktív p2p partnerek", + "Address derivation scan": "Address derivation scan", + "Address:": "Cím:", + "Advanced": "Advanced", + "Advanced Options": "Advanced Options", + "All": "Mind", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Allow custom arguments for the Rusty Kaspa daemon", + "Allows you to take screenshots from within the application": "Allows you to take screenshots from within the application", + "Apply": "Apply", + "Balance: N/A": "Balance: N/A", + "Bandwidth": "Sávszélesség", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.", + "Bezier Curves": "Bezier Curves", + "Block DAG": "Block DAG", + "Block Scale": "Block Scale", + "Blocks": "Blocks", + "Bodies": "Bodies", + "Borsh Active Connections": "Borsh Active Connections", + "Borsh Connection Attempts": "Borsh Connection Attempts", + "Borsh Handshake Failures": "Borsh Handshake Failures", + "Build": "Build", + "CONNECTED": "CONNECTED", + "CPU": "CPU", + "Cache Memory Size": "Cache Memory Size", + "Cache Memory Size:": "Cache Memory Size:", + "Cancel": "Cancel", + "Cannot delete data folder while the node is running": "Cannot delete data folder while the node is running", + "Capture a screenshot": "Capture a screenshot", + "Center VSPC": "Center VSPC", + "Chain Blocks": "Chain Blocks", + "Change Address": "Change Address", + "Check for Software Updates on GitHub": "Check for Software Updates on GitHub", + "Check for Updates": "Check for Updates", + "Clear": "Clear", + "Click to try another server...": "Click to try another server...", + "Client RPC": "Client RPC", + "Close": "Close", + "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Tárca jelszó megerősítése", + "Connect to a local node (localhost)": "Connect to a local node (localhost)", + "Connecting to": "Connecting to", + "Connection": "Connection", + "Connections": "Connections", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Connects to a Remote Rusty Kaspa Node via wRPC.", + "Conservative": "Conservative", + "Continue": "Continue", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.", + "Copied to clipboard": "Copied to clipboard", + "Copy": "Copy", + "Copy logs to clipboard": "Copy logs to clipboard", + "Create New Account": "Create New Account", + "Create New Wallet": "Új tárca létrehozása", + "Create Wallet": "Create Wallet", + "Create new wallet": "Új tárca létrehozása", + "Creating Account": "Creating Account", + "Creating Wallet": "Tárca létrehozása", + "Custom": "Custom", + "Custom Public Node": "Custom Public Node", + "Custom arguments:": "Custom arguments:", + "Custom data storage folder": "Custom data storage folder", + "DAA": "DAA", + "DAA Offset": "DAA Offset", + "DAA Range": "DAA Range", + "DB Blocks": "DB Blocks", + "DB Headers": "DB Headers", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", + "Database Blocks": "Database Blocks", + "Database Headers": "Database Headers", + "Decrypting wallet, please wait...": "Tárca dekódolása, kérlek várj...", + "Default": "Alapértelmezett", + "Default Account Name": "Default Account Name", + "Delete Data Folder": "Delete Data Folder", + "Dependencies": "Dependencies", + "Derivation Indexes": "Derivation Indexes", + "Details": "Details", + "Developer Mode": "Developer Mode", + "Developer Resources": "Developer Resources", + "Developer mode enables advanced and experimental features": "Developer mode enables advanced and experimental features", + "Difficulty": "Difficulty", + "Dimensions": "Dimensions", + "Disable password safety rules": "Disable password safety rules", + "Disabled": "Disabled", + "Disables node connectivity (Offline Mode).": "Disables node connectivity (Offline Mode).", + "Discord": "Discord", + "Donations": "Donations", + "Double click on the graph to re-center...": "Double click on the graph to re-center...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Enable Market Monitor", + "Enable UPnP": "Enable UPnP", + "Enable custom daemon arguments": "Enable custom daemon arguments", + "Enable experimental features": "Enable experimental features", + "Enable gRPC": "Enable gRPC", + "Enable optional BIP39 passphrase": "Enable optional BIP39 passphrase", + "Enable screen capture": "Enable screen capture", + "Enables features currently in development": "Enables features currently in development", + "Enter": "Enter", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Enter account name (optional)", + "Enter first account name": "Enter first account name", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Enter phishing hint", + "Enter the amount": "Enter the amount", + "Enter the password for your wallet": "Add meg a tárca jelszavát", + "Enter the password to unlock your wallet": "Add meg a jelszót a tárca feloldásához", + "Enter wallet name": "Add meg a tárca nevét", + "Enter wallet password": "Tárca jelszavának megadása", + "Enter your wallet secret": "Enter your wallet secret", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorer", + "Export Wallet Data": "Tárca adatok exportálása", + "Faucet": "Faucet", + "File Handles": "File Handles", + "Filename:": "Filename:", + "Final Amount:": "Final Amount:", + "Full Screen": "Full Screen", + "GitHub Release": "GitHub Release", + "Go to Settings": "Ugrás a Beállítások panelre", + "Good": "Good", + "Handles": "Handles", + "Headers": "Headers", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "If not specified, the account will be represented by the numeric id.", + "If you are running locally, use: ": "If you are running locally, use: ", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Import existing", + "Importing Wallet": "Importing Wallet", + "Inbound": "Inbound", + "Include QoS Priority Fees": "Include QoS Priority Fees", + "Integrated Daemon": "Integrated Daemon", + "Invalid daemon arguments": "Invalid daemon arguments", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Érvénytelen hálózat - elvárt: testnet-10 csatlakoztatva: testnet-11", + "Invalid wRPC URL": "Invalid wRPC URL", + "Json Active Connections": "Json Active Connections", + "Json Connection Attempts": "Json Connection Attempts", + "Json Handshake Failures": "Json Handshake Failures", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Kaspa Integration Guide", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Web App", + "Kaspa NG on GitHub": "Kaspa NG on GitHub", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Kaspa hálózat", + "Kaspa Node": "Kaspa csomópont", + "Kaspa p2p Network & Node Connection": "Kaspa p2p hálózat és csomópont kapcsolat", + "Kaspa p2p Node": "Kaspa p2p Node", + "Kaspa p2p Node & Connection": "Kaspa p2p Node & Connection", + "Key Perf.": "Key Perf.", + "Language:": "Nyelv:", + "Large (1 BPS)": "Large (1 BPS)", + "Levels": "Levels", + "License Information": "License Information", + "Local": "Local", + "Local p2p Node Configuration": "Local p2p Node Configuration", + "Logs": "Logs", + "MT": "MT", + "Main Kaspa network": "Kaspa főhálózat", + "Mainnet": "Főhálózat", + "Mainnet (Main Kaspa network)": "Főhálózat (Kaspa főhálózat)", + "Managed by the Rusty Kaspa daemon": "Managed by the Rusty Kaspa daemon", + "Market": "Market", + "Market Cap": "Market Cap", + "Market Monitor": "Market Monitor", + "Mass Processed": "Mass Processed", + "Maximize window": "Maximize window", + "Medium Narrow": "Medium Narrow", + "Medium Wide": "Medium Wide", + "Memory": "Memory", + "Mempool": "Mempool", + "Mempool Size": "Mempool Size", + "Metrics": "Mérőszámok", + "Metrics are not currently available": "Jelenleg nem állnak rendelkezésre mérőszámok", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM Modules for NodeJS", + "Network": "Hálózat", + "Network Difficulty": "Hálózati nehézség", + "Network Fees:": "Hálózati díjak:", + "Network Interface": "Hálózati interfész", + "Network Peers": "Hálózati kapcsolatok", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "No peers", + "No public node selected - please select a public node": "No public node selected - please select a public node", + "No transactions": "No transactions", + "No wallets found, please create a new wallet": "No wallets found, please create a new wallet", + "Node": "Csomópont", + "Node Status": "Csomópont állapota", + "Noise": "Noise", + "None": "None", + "Not Connected": "Not Connected", + "Not connected": "Not connected", + "Notifications": "Notifications", + "Open Data Folder": "Open Data Folder", + "Opening wallet:": "Tárca megnyitása:", + "Optional": "Optional", + "Other operations": "Other operations", + "Outbound": "Outbound", + "Overview": "Áttekintés", + "Parents": "Parents", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Past Median Time", + "Payment & Recovery Password": "Payment & Recovery Password", + "Payment Request": "Payment Request", + "Peers": "Peers", + "Performance": "Performance", + "Phishing Hint": "Phishing Hint", + "Ping:": "Ping:", + "Please Confirm Deletion": "Please Confirm Deletion", + "Please configure your Kaspa NG settings": "Kérjük, konfiguráld a Kaspa NG beállításait", + "Please connect to Kaspa p2p node": "Please connect to Kaspa p2p node", + "Please create a stronger password": "Please create a stronger password", + "Please enter": "Please enter", + "Please enter KAS amount to send": "Please enter KAS amount to send", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Please enter an amount", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Please enter the account name", + "Please enter the wallet secret": "Please enter the wallet secret", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.", + "Please select an account type": "Please select an account type", + "Please select the private key to export": "Please select the private key to export", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Please set node to 'Disabled' to delete the data folder", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.", + "Please specify the name of the new wallet": "Kérjük, add meg az új tárca nevét", + "Please specify the private key type for the new wallet": "Please specify the private key type for the new wallet", + "Please wait for the node to sync or connect to a remote node.": "Please wait for the node to sync or connect to a remote node.", + "Please wait for the node to sync...": "Please wait for the node to sync...", + "Please wait...": "Kérlek várj...", + "Presets": "Presets", + "Price": "Price", + "Private Key Mnemonic": "Private Key Mnemonic", + "Processed Bodies": "Processed Bodies", + "Processed Dependencies": "Processed Dependencies", + "Processed Headers": "Processed Headers", + "Processed Mass Counts": "Processed Mass Counts", + "Processed Transactions": "Processed Transactions", + "Protocol:": "Protocol:", + "Public Node": "Public Node", + "Public Nodes": "Publikus csomópontok", + "Public Server": "Public Server", + "Public p2p Nodes for": "Public p2p Nodes for", + "Random Public Node": "Random Public Node", + "Range:": "Range:", + "Receive Address": "Receive Address", + "Recommended arguments for the remote node: ": "Recommended arguments for the remote node: ", + "Redistributables": "Redistributables", + "Remote": "Remote", + "Remote Connection:": "Remote Connection:", + "Remote p2p Node Configuration": "Remote p2p Node Configuration", + "Removes security restrictions, allows for single-letter passwords": "Removes security restrictions, allows for single-letter passwords", + "Reset Settings": "Beállítások alaphelyzetbe állítása", + "Reset VSPC": "Reset VSPC", + "Resident Memory": "Resident Memory", + "Resources": "Források", + "Resulting daemon arguments:": "Resulting daemon arguments:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa a GitHubon", + "Secret is too weak": "Secret is too weak", + "Secret score:": "Secret score:", + "Select Account": "Select Account", + "Select Available Server": "Select Available Server", + "Select Private Key Type": "Select Private Key Type", + "Select Public Node": "Select Public Node", + "Select Wallet": "Válassz tárcát", + "Select a wallet to unlock": "Válassz egy tárcát a feloldáshoz", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Send", + "Services": "Services", + "Settings": "Beállítások", + "Show DAA": "Show DAA", + "Show Grid": "Show Grid", + "Show VSPC": "Show VSPC", + "Show balances in alternate currencies for testnet coins": "Show balances in alternate currencies for testnet coins", + "Show passphrase": "Show passphrase", + "Show password": "Show password", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet", + "Skip": "Skip", + "Small (10 BPS)": "Small (10 BPS)", + "Spread": "Spread", + "Stage": "Stage", + "Starting...": "Starting...", + "Statistics": "Statistics", + "Stor Read": "Stor Read", + "Stor Write": "Stor Write", + "Storage": "Storage", + "Storage Read": "Storage Read", + "Storage Read/s": "Storage Read/s", + "Storage Write": "Storage Write", + "Storage Write/s": "Storage Write/s", + "Strong": "Strong", + "Submitted Blocks": "Submitted Blocks", + "Supporting Kaspa NG development": "Supporting Kaspa NG development", + "Syncing Cryptographic Proof...": "Syncing Cryptographic Proof...", + "Syncing DAG Blocks...": "Syncing DAG Blocks...", + "Syncing Headers...": "Syncing Headers...", + "Syncing UTXO entries...": "Syncing UTXO entries...", + "Syncing...": "Szinkronizálás...", + "System": "Rendszer", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "A Testnet 11 még nem engedélyezett nyilvános tesztelésre. A Beállítások panelen azonban beállíthatod, hogy a csomópont csatlakozzon a privát fejlesztői teszthálózathoz.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "A Kaspa NG szoftver a Kaspa BlockDAG kriptovaluta-hálózatnak szánt, korszerű szoftverplatform létrehozására irányuló folyamatos erőfeszítést képviseli. Az ideológiai alapokon nyugvó szoftver a biztonságot, a magánélet védelmét, a teljesítményt és a decentralizációt helyezi előtérbe.", + "The balance may be out of date during node sync": "A csomópont-szinkronizálása során előfordulhat, hogy az egyenleg nem pontos ", + "The following will guide you through the process of creating or importing a wallet.": "A következőkben végigvezetünk a tárca létrehozásának, vagy importálásának folyamatán.", + "The node is currently syncing with the Kaspa p2p network.": "A csomópont jelenleg a Kaspa p2p hálózattal szinkronizál.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "A csomópont jelenleg a Kaspa p2p hálózattal szinkronizál. Az egyenlegek elavultak lehetnek.", + "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Téma színe", + "Theme Color:": "Téma színe:", + "Theme Style": "Téma stílusa", + "Theme Style:": "Téma stílusa:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Ez a tárca soha nem fogja kérni ezt a mnemonikus kifejezést, kivéve ha manuálisan kezdeményezed a privát kulcs helyreállítását.", + "Threshold": "Threshold", + "Time Offset:": "Időeltolás:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Eszközök ⏷", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Track in the background", + "Transactions": "Tranzakciók", + "Transactions:": "Tranzakciók:", + "Type": "Type", + "UTXO Manager": "UTXO Manager", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "Nem lehet módosítani a csomópont beállításait, amíg a probléma helyreállításáig", + "Unlock": "Unlock", + "Unlock Wallet": "Tárca feloldása", + "Unlocking": "Unlocking", + "Update Available to version": "Update Available to version", + "Updating...": "Frissítés...", + "Uptime:": "Üzemidő:", + "Use 50%-75% of available system memory": "Use 50%-75% of available system memory", + "Use all available system memory": "Use all available system memory", + "User Agent": "User Agent", + "User Interface": "User Interface", + "Very dangerous (may be cracked within few seconds)": "Very dangerous (may be cracked within few seconds)", + "Very weak": "Very weak", + "Virt Parents": "Virt Parents", + "Virtual DAA Score": "Virtual DAA Score", + "Virtual Memory": "Virtual Memory", + "Virtual Parent Hashes": "Virtual Parent Hashes", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", + "Wallet": "Tárca", + "Wallet Created": "Tárca létrehozása", + "Wallet Encryption Password": "Wallet Encryption Password", + "Wallet Name": "Tárca neve", + "Wallet Secret": "Wallet Secret", + "Wallet password is used to encrypt your wallet data.": "A tárca jelszava a tárca adatainak titkosítására szolgál.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Tárca:", + "We greatly appreciate your help in backing our efforts.": "We greatly appreciate your help in backing our efforts.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Welcome to Kaspa NG", + "Xpub Keys": "Xpub Keys", + "You are currently not connected to the Kaspa node.": "You are currently not connected to the Kaspa node.", + "You can configure remote connection in Settings": "A távoli kapcsolatot a Beállítások panelen konfigurálhatod", + "You can create multiple wallets, but only one wallet can be open at a time.": "Több tárcát is létrehozhatsz, de egyszerre csak egy tárca lehet megnyitva.", + "You must be connected to a node...": "You must be connected to a node...", + "Your default wallet private key mnemonic is:": "Az alapértelmezett tárca privát kulcsának mnemonikája a következő:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "A mnemonikus kifejezés lehetővé teszi a privát kulcs újbóli létrehozását. Az a személy, aki hozzáféréssel rendelkezik ehhez a mnemonikus kifejezéshez, teljes mértékben rendelkezik a benne tárolt Kaspa felett. Tartsa biztonságban a mnemonikus kulcsszót. Írd le, és tárold egy széfben, lehetőleg tűzálló helyen. Ne tárold a mnemonikát ezen a számítógépen, vagy mobileszközön. Ez a tárca soha nem fogja kérni ezt a mnemonikus kifejezést, kivéve ha manuálisan kezdeményezi a privát kulcs helyreállítását.", + "Your private key mnemonic is:": "Your private key mnemonic is:", + "Your wallet has been created and is ready to use.": "Your wallet has been created and is ready to use.", + "Zoom": "Zoom", + "amount to send": "amount to send", + "bye!": "bye!", + "gRPC Network Interface & Port": "gRPC hálózat interfész & port", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "of", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "peer", + "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC kapcsolat beállítás", + "wRPC Encoding:": "wRPC Encoding:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "words" + }, + "id": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 jaringan uji BPS", + "10 BPS test network": "10 jaringan uji BPS", + "12 word mnemonic": "mnemonik 12 kata", + "24 word mnemonic": "mnemonik 24 kata", + "24h Change": "Perubahan 24 jam", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "Biner di lokasi lain menghasilkan proses anak (eksperimental, untuk tujuan pengembangan saja).", + "A random node will be selected on startup": "Node acak akan dipilih saat startup", + "A wallet is stored in a file on your computer.": "Dompet disimpan dalam file di komputer Anda.", + "Account Index": "Indeks Akun", + "Account Name": "Nama akun", + "Account:": "Akun:", + "Activate custom daemon arguments": "Aktifkan argumen daemon khusus", + "Active p2p Peers": "Rekan p2p aktif", + "Address derivation scan": "Pemindaian derivasi alamat", + "Address:": "Alamat:", + "Advanced": "Lanjutan", + "Advanced Options": "Advanced Options", + "All": "Semua", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Izinkan argumen khusus untuk daemon Rusty Kaspa", + "Allows you to take screenshots from within the application": "Memungkinkan Anda mengambil tangkapan layar dari dalam aplikasi", + "Apply": "Menerapkan", + "Balance: N/A": "Saldo: N/A", + "Bandwidth": "Bandwidth", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Karena fokusnya pada keamanan dan kinerja, perangkat lunak ini sepenuhnya dikembangkan di Rust, sehingga memerlukan lebih banyak waktu dan tenaga dibandingkan dengan perangkat lunak tradisional berbasis web modern lainnya.", + "Bezier Curves": "Kurva Bezier", + "Block DAG": "Blok DAG", + "Block Scale": "Skala Blok", + "Blocks": "Blok", + "Bodies": "Badan", + "Borsh Active Connections": "Koneksi Aktif Borsh", + "Borsh Connection Attempts": "Upaya Koneksi Borsh", + "Borsh Handshake Failures": "Kegagalan Borsh Handshake", + "Build": "Bangun", + "CONNECTED": "TERHUBUNG", + "CPU": "CPU", + "Cache Memory Size": "Ukuran Memori Cache", + "Cache Memory Size:": "Ukuran Memori Cache:", + "Cancel": "Batal", + "Cannot delete data folder while the node is running": "Tidak dapat menghapus folder data saat node sedang berjalan", + "Capture a screenshot": "Ambil tangkapan layar", + "Center VSPC": "Pusat VSPC", + "Chain Blocks": "Blok Rantai", + "Change Address": "Ubah Alamat", + "Check for Software Updates on GitHub": "Periksa Pembaruan Perangkat Lunak di GitHub", + "Check for Updates": "Periksa Pembaruan", + "Clear": "Kosongkan", + "Click to try another server...": "Klik untuk mencoba server lain...", + "Client RPC": " Klien RPC", + "Close": "Tutup", + "Close the window": "Tutup jendela", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Konfirmasikan kata sandi dompet", + "Connect to a local node (localhost)": "Hubungkan ke node lokal (localhost)", + "Connecting to": "Hubungkan ke", + "Connection": "Koneksi", + "Connections": "Koneksi", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Terhubung ke Node Kaspa Rusty Jarak Jauh melalui wRPC.", + "Conservative": "Konservatif", + "Continue": "Lanjutkan", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Kontribusi yang diarahkan pada proyek ini secara langsung mendorong perangkat lunak Kaspa NG dan ekosistemnya.", + "Copied to clipboard": "Disalin ke papan klip", + "Copy": "Salin", + "Copy logs to clipboard": "Salin log ke papan klip", + "Create New Account": "Buat akun baru", + "Create New Wallet": "Buat Dompet Baru", + "Create Wallet": "Create Wallet", + "Create new wallet": "Buat dompet baru", + "Creating Account": "Membuat akun", + "Creating Wallet": "Membuat Dompet", + "Custom": "Kustom", + "Custom Public Node": "Node Publik Khusus", + "Custom arguments:": "Argumen khusus:", + "Custom data storage folder": "Folder penyimpanan data khusus", + "DAA": "DAA", + "DAA Offset": "Pengimbangan DAA", + "DAA Range": "Rentang DAA", + "DB Blocks": "Blok DB", + "DB Headers": "Header DB", + "Dangerous": "Dangerous", + "Data Storage": "Penyimpanan Data", + "Database Blocks": "Blok Basis Data", + "Database Headers": "Header Basis Data", + "Decrypting wallet, please wait...": "Mendekripsi dompet, harap tunggu...", + "Default": "Bawaan", + "Default Account Name": "Nama Akun Bawaan", + "Delete Data Folder": "Hapus Folder Data", + "Dependencies": "Ketergantungan", + "Derivation Indexes": "Indeks Derivasi", + "Details": "Detail", + "Developer Mode": "Mode pengembang", + "Developer Resources": "Sumber Daya Pengembang", + "Developer mode enables advanced and experimental features": "Mode pengembang mengaktifkan fitur lanjutan dan eksperimental", + "Difficulty": "Kesulitan", + "Dimensions": "Ukuran", + "Disable password safety rules": "Nonaktifkan pembatasan skor kata sandi", + "Disabled": "Dengan disabilitas", + "Disables node connectivity (Offline Mode).": "Menonaktifkan konektivitas node (Mode Offline).", + "Discord": "Discord", + "Donations": "Sumbangan", + "Double click on the graph to re-center...": "Klik dua kali pada grafik untuk memusatkan kembali...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Aktifkan Monitor Pasar", + "Enable UPnP": "Aktifkan UPnP", + "Enable custom daemon arguments": "Aktifkan argumen daemon khusus", + "Enable experimental features": "Aktifkan fitur eksperimental", + "Enable gRPC": "Aktifkan gRPC", + "Enable optional BIP39 passphrase": "Aktifkan frasa sandi BIP39 opsional", + "Enable screen capture": "Aktifkan tangkapan layar", + "Enables features currently in development": "Mengaktifkan fitur yang sedang dalam pengembangan", + "Enter": "Memasuki", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Masukkan nama akun (opsional)", + "Enter first account name": "Masukkan nama akun pertama", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Masukkan petunjuk phishing", + "Enter the amount": "Masukkan jumlahnya", + "Enter the password for your wallet": "Masukkan kata sandi untuk dompet Anda", + "Enter the password to unlock your wallet": "Masukkan kata sandi untuk membuka kunci dompet Anda", + "Enter wallet name": "Masukkan nama dompet", + "Enter wallet password": "Masukkan kata sandi dompet", + "Enter your wallet secret": "Masukkan kata rahasia dompet Anda", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Penjelajah", + "Export Wallet Data": "Ekspor Data Dompet", + "Faucet": "Keran", + "File Handles": "Tangani File", + "Filename:": "Nama file:", + "Final Amount:": "Jumlah akhir:", + "Full Screen": "Layar Penuh", + "GitHub Release": "Rilis GitHub", + "Go to Settings": "Pergi ke pengaturan", + "Good": "Good", + "Handles": "Menangani", + "Headers": "Header", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "Jika tidak ditentukan, akun akan diwakili oleh id numerik.", + "If you are running locally, use: ": "Jika Anda menjalankan secara lokal, gunakan: ", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Impor yang sudah ada", + "Importing Wallet": "Importing Wallet", + "Inbound": "Masuk", + "Include QoS Priority Fees": "Sertakan Biaya Prioritas QoS", + "Integrated Daemon": "Daemon Terintegrasi", + "Invalid daemon arguments": "Argumen daemon tidak valid", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Jenis jaringan tidak valid - diharapkan: testnet-10 terhubung ke: testnet-11", + "Invalid wRPC URL": "URL wRPC tidak valid", + "Json Active Connections": "Koneksi Aktif Json", + "Json Connection Attempts": "Upaya Koneksi Json", + "Json Handshake Failures": "Kegagalan Jabat Tangan Json", + "Kaspa Discord": "Discord Kaspa", + "Kaspa Integration Guide": "Panduan Integrasi Kaspa", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Aplikasi Web Kaspa NG", + "Kaspa NG on GitHub": "Kaspa NG di GitHub", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Jaringan Kaspa", + "Kaspa Node": "Node Kaspa", + "Kaspa p2p Network & Node Connection": "Jaringan Kaspa p2p", + "Kaspa p2p Node": "Kaspa p2p Node", + "Kaspa p2p Node & Connection": "Kaspa p2p Node", + "Key Perf.": "Kunci Perf.", + "Language:": "Bahasa:", + "Large (1 BPS)": "Besar (1 BPS)", + "Levels": "Tingkat", + "License Information": "Informasi Lisensi", + "Local": "Lokal", + "Local p2p Node Configuration": "Konfigurasi Node p2p lokal", + "Logs": "Log", + "MT": "MT", + "Main Kaspa network": "Jaringan utama Kaspa", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (jaringan Kaspa Utama)", + "Managed by the Rusty Kaspa daemon": "Dikelola oleh daemon Rusty Kaspa", + "Market": "Pasar", + "Market Cap": "Kapitalisasi Pasar", + "Market Monitor": "Pemantau Pasar", + "Mass Processed": "Diproses Massal", + "Maximize window": "Maksimalkan jendela", + "Medium Narrow": "Sedang Sempit", + "Medium Wide": "Lebar Sedang", + "Memory": "Penyimpanan", + "Mempool": "Mempool", + "Mempool Size": "Ukuran Mempool", + "Metrics": "Metrik", + "Metrics are not currently available": "Metrik saat ini tidak tersedia", + "Minimize the window": "Minimalkan jendela", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "Modul NPM untuk NodeJS", + "Network": "Jaringan", + "Network Difficulty": "Kesulitan Jaringan", + "Network Fees:": "Biaya Jaringan:", + "Network Interface": "Antarmuka Jaringan", + "Network Peers": "Jaringan Peers", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "Tidak ada peers", + "No public node selected - please select a public node": "Tidak ada node publik yang dipilih - silakan pilih node publik", + "No transactions": "Tidak ada transaksi", + "No wallets found, please create a new wallet": "Tidak ada dompet yang ditemukan, silakan buat dompet baru", + "Node": "node", + "Node Status": "Status Node", + "Noise": "Kebisingan", + "None": "Tidak ada", + "Not Connected": "Tidak terhubung", + "Not connected": "Tidak terhubung", + "Notifications": "Pemberitahuan", + "Open Data Folder": "Buka Folder Data", + "Opening wallet:": "Membuka dompet:", + "Optional": "Opsional", + "Other operations": "Operasi lainnya", + "Outbound": "Keluar", + "Overview": "Ringkasan", + "Parents": "Induk", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Waktu Median yang Lalu", + "Payment & Recovery Password": "Pembayaran", + "Payment Request": "Permintaan pembayaran", + "Peers": "Peers", + "Performance": "Performa", + "Phishing Hint": "Petunjuk Phishing", + "Ping:": "Ping:", + "Please Confirm Deletion": "Harap Konfirmasi Penghapusan", + "Please configure your Kaspa NG settings": "Silakan konfigurasikan pengaturan Kaspa NG Anda", + "Please connect to Kaspa p2p node": "Silakan sambungkan ke node p2p Kaspa", + "Please create a stronger password": "Harap buat kata sandi yang lebih kuat", + "Please enter": "Silakan masuk", + "Please enter KAS amount to send": "Silakan masukkan jumlah KAS yang akan dikirim", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Silakan masukkan jumlah", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Silakan masukkan nama akun", + "Please enter the wallet secret": "Silakan masukkan kata rahasia dompet", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Harap dicatat bahwa ini adalah rilis alfa. Sampai pesan ini dihapus, harap hindari penggunaan dompet dengan dana mainnet.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Harap diperhatikan, menyalin ke papan klip berisiko membuat mnemonik Anda terkena malware.", + "Please select an account type": "Silakan pilih jenis akun", + "Please select the private key to export": "Silakan pilih kunci pribadi yang akan diekspor", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Silakan atur node ke 'Disabled' untuk menghapus folder data", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Silakan tentukan nama akun bawaan. Dompet akan dibuat dengan akun Bawaan. Setelah dibuat, Anda akan dapat membuat akun tambahan sesuai kebutuhan. ", + "Please specify the name of the new wallet": "Silakan tentukan nama dompet baru", + "Please specify the private key type for the new wallet": "Silakan tentukan jenis kunci pribadi untuk dompet baru", + "Please wait for the node to sync or connect to a remote node.": "Harap tunggu hingga node disinkronkan atau terhubung ke node jarak jauh.", + "Please wait for the node to sync...": "Harap tunggu hingga node disinkronkan...", + "Please wait...": "Harap tunggu...", + "Presets": "Preset", + "Price": "Harga", + "Private Key Mnemonic": "Mnemonik Kunci Pribadi", + "Processed Bodies": "Badan yang Diproses", + "Processed Dependencies": "Ketergantungan yang Diproses", + "Processed Headers": "Header yang Diproses", + "Processed Mass Counts": "Penghitungan Massa yang Diproses", + "Processed Transactions": "Transaksi yang Diproses", + "Protocol:": "Protokol:", + "Public Node": "Node Publik", + "Public Nodes": "Node Publik", + "Public Server": "Server Publik", + "Public p2p Nodes for": "Node p2p publik untuk", + "Random Public Node": "Node Publik Acak", + "Range:": "Jangkauan:", + "Receive Address": "Alamat Penerimaan", + "Recommended arguments for the remote node: ": "Argumen yang disarankan untuk node jarak jauh: ", + "Redistributables": "Redistributables", + "Remote": "Remot", + "Remote Connection:": "Koneksi Jarak Jauh:", + "Remote p2p Node Configuration": "Konfigurasi Node p2p jarak jauh", + "Removes security restrictions, allows for single-letter passwords": "Menghapus batasan keamanan, memungkinkan kata sandi satu huruf", + "Reset Settings": "Atur Ulang Pengaturan", + "Reset VSPC": "Setel ulang VSPC", + "Resident Memory": "Memori Residen", + "Resources": "Sumber daya", + "Resulting daemon arguments:": "Argumen daemon yang dihasilkan:", + "Rust Wallet SDK": "SDK Dompet Karat", + "Rusty Kaspa on GitHub": "Rusty Kaspa di GitHub", + "Secret is too weak": "Rahasia terlalu lemah", + "Secret score:": "Skor rahasia:", + "Select Account": "Pilih Akun", + "Select Available Server": "Pilih Server yang Tersedia", + "Select Private Key Type": "Pilih Jenis Kunci Pribadi", + "Select Public Node": "Pilih Node Publik", + "Select Wallet": "Pilih Dompet", + "Select a wallet to unlock": "Pilih dompet untuk dibuka kuncinya", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Kirim", + "Services": "Layanan", + "Settings": "Pengaturan", + "Show DAA": "Tampilkan DAA", + "Show Grid": "Tampilkan Kotak", + "Show VSPC": "Tampilkan VSPC", + "Show balances in alternate currencies for testnet coins": "Tampilkan saldo dalam mata uang alternatif untuk koin testnet", + "Show passphrase": "Show passphrase", + "Show password": "Tampilkan kata sandi", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Menampilkan saldo dalam mata uang alternatif (BTC, USD) saat menggunakan koin testnet seolah-olah Anda berada di mainnet", + "Skip": "Lewati", + "Small (10 BPS)": "Kecil (10 BPS)", + "Spread": "Sebarkan", + "Stage": "Panggung", + "Starting...": "Memulai...", + "Statistics": "Statistik", + "Stor Read": "Penyimpanan Baca", + "Stor Write": "Penyimpanan Tulis", + "Storage": "Penyimpanan", + "Storage Read": "Penyimpanan Baca", + "Storage Read/s": "Penyimpanan Baca/dtk", + "Storage Write": "Penyimpanan Tulis", + "Storage Write/s": "Penyimpanan Tulis/dtk", + "Strong": "Strong", + "Submitted Blocks": "Blok yang Dikirim", + "Supporting Kaspa NG development": "Dukung pengembangan Kaspa NG", + "Syncing Cryptographic Proof...": "Menyinkronkan Bukti Kriptografi...", + "Syncing DAG Blocks...": "Menyinkronkan Blok DAG...", + "Syncing Headers...": "Menyinkronkan Header...", + "Syncing UTXO entries...": "Menyinkronkan entri UTXO...", + "Syncing...": "Menyinkronkan...", + "System": "Sistem", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Tesnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 belum diaktifkan untuk pengujian publik. ", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Perangkat lunak Kaspa NG mewakili upaya berkelanjutan yang berfokus pada pembangunan platform perangkat lunak canggih yang didedikasikan untuk jaringan mata uang kripto Kaspa BlockDAG. ", + "The balance may be out of date during node sync": "Saldo mungkin kedaluwarsa selama sinkronisasi node", + "The following will guide you through the process of creating or importing a wallet.": "Berikut ini akan memandu Anda melalui proses pembuatan atau impor dompet.", + "The node is currently syncing with the Kaspa p2p network.": "Node saat ini sedang melakukan sinkronisasi dengan jaringan Kaspa p2p.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "Node saat ini sedang melakukan sinkronisasi dengan jaringan Kaspa p2p. ", + "The node is spawned as a child daemon process (recommended).": "Node ini dihasilkan sebagai proses daemon anak (disarankan).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "Node berjalan sebagai bagian dari proses aplikasi Kaspa-NG. Hal ini mengurangi overhead komunikasi (eksperimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Warna Tema", + "Theme Color:": "Warna Tema:", + "Theme Style": "Gaya Tema", + "Theme Style:": "Gaya Tema:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Dompet ini tidak akan pernah menanyakan frasa mnemonik ini kecuali Anda memulai pemulihan kunci pribadi secara manual.", + "Threshold": "Ambang Batas", + "Time Offset:": "Waktu Offset:", + "Tip Hashes": "Tip Hash", + "Tools ⏷": "Alat ⏷", + "Total Rx": "Jumlah Rx", + "Total Rx/s": "Total Rx/dtk", + "Total Tx": "Jumlah Tx", + "Total Tx/s": "Jumlah Tx/dtk", + "Track in the background": "Lacak di latar belakang", + "Transactions": "Transaksi", + "Transactions:": "Transaksi:", + "Type": "Jenis", + "UTXO Manager": "Manajer UTXO", + "UTXOs": "UTXO", + "UTXOs:": "UTXO:", + "Unable to change node settings until the problem is resolved": "Tidak dapat mengubah pengaturan node hingga masalah teratasi", + "Unlock": "Buka kunci", + "Unlock Wallet": "Buka Dompet", + "Unlocking": "Membuka kunci", + "Update Available to version": "Pembaruan Tersedia untuk versi", + "Updating...": "Memperbarui...", + "Uptime:": "Waktu Aktif:", + "Use 50%-75% of available system memory": "Gunakan 50%-75% dari memori sistem yang tersedia", + "Use all available system memory": "Gunakan semua memori sistem yang tersedia", + "User Agent": "Agen pengguna", + "User Interface": "Antarmuka pengguna", + "Very dangerous (may be cracked within few seconds)": "Sangat berbahaya (mungkin retak dalam beberapa detik)", + "Very weak": "Very weak", + "Virt Parents": "Orang Tua yang Berbudi Luhur", + "Virtual DAA Score": "Skor DAA Virtual", + "Virtual Memory": "Memori Virtual", + "Virtual Parent Hashes": "Hash Induk Virtual", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK untuk JavaScript dan TypeScript", + "Wallet": "Dompet", + "Wallet Created": "Dompet Dibuat", + "Wallet Encryption Password": "Kata Sandi Enkripsi Dompet", + "Wallet Name": "Nama Dompet", + "Wallet Secret": "Dompet Rahasia", + "Wallet password is used to encrypt your wallet data.": "Kata sandi dompet digunakan untuk mengenkripsi data dompet Anda.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Dompet:", + "We greatly appreciate your help in backing our efforts.": "Kami sangat menghargai bantuan Anda dalam mendukung upaya kami.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Selamat datang di Kaspa NG", + "Xpub Keys": "Kunci Xpub", + "You are currently not connected to the Kaspa node.": "Anda saat ini tidak terhubung ke node Kaspa.", + "You can configure remote connection in Settings": "Anda dapat mengonfigurasi koneksi jarak jauh di Pengaturan", + "You can create multiple wallets, but only one wallet can be open at a time.": "Anda dapat membuat beberapa dompet, namun hanya satu dompet yang dapat dibuka dalam satu waktu.", + "You must be connected to a node...": "Anda harus terhubung ke sebuah node...", + "Your default wallet private key mnemonic is:": "Mnemonik kunci pribadi dompet default Anda adalah:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Frasa mnemonik Anda memungkinkan Anda untuk membuat ulang kunci pribadi Anda. Orang yang memiliki akses ke mnemonik ini akan memiliki kontrol penuh atas Kaspa yang tersimpan di dalamnya. Simpanlah mnemonik Anda dengan aman. Tuliskan dan simpan di tempat yang aman, sebaiknya di tempat yang tahan api. Jangan simpan mnemonik Anda di komputer atau perangkat seluler. Dompet ini tidak akan pernah meminta frasa mnemonik ini kecuali jika anda melakukan pemulihan kunci pribadi secara manual.", + "Your private key mnemonic is:": "Mnemonik kunci pribadi Anda adalah:", + "Your wallet has been created and is ready to use.": "Dompet Anda telah dibuat dan siap digunakan.", + "Zoom": "Perbesar", + "amount to send": "jumlah yang akan dikirim", + "bye!": "selamat tinggal!", + "gRPC Network Interface & Port": "Antarmuka Jaringan gRPC", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/dtk", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/dtk", + "of": "dari", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/dtk", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/dtk", + "peer": "peer", + "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/dtk", + "wRPC Connection Settings": "Pengaturan Koneksi wRPC", + "wRPC Encoding:": "Pengkodean wRPC:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/dtk", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/dtk", + "wRPC URL:": "URL wRPC:", + "words": "words" + }, + "is": {}, + "it": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS test network", + "10 BPS test network": "10 BPS test network", + "12 word mnemonic": "12 word mnemonic", + "24 word mnemonic": "24 word mnemonic", + "24h Change": "24h Change", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "A binary at another location is spawned a child process (experimental, for development purposes only).", + "A random node will be selected on startup": "A random node will be selected on startup", + "A wallet is stored in a file on your computer.": "A wallet is stored in a file on your computer.", + "Account Index": "Account Index", + "Account Name": "Account Name", + "Account:": "Account:", + "Activate custom daemon arguments": "Activate custom daemon arguments", + "Active p2p Peers": "Active p2p Peers", + "Address derivation scan": "Address derivation scan", + "Address:": "Address:", + "Advanced": "Advanced", + "Advanced Options": "Advanced Options", + "All": "All", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Allow custom arguments for the Rusty Kaspa daemon", + "Allows you to take screenshots from within the application": "Allows you to take screenshots from within the application", + "Apply": "Apply", + "Balance: N/A": "Balance: N/A", + "Bandwidth": "Bandwidth", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.", + "Bezier Curves": "Bezier Curves", + "Block DAG": "Block DAG", + "Block Scale": "Block Scale", + "Blocks": "Blocks", + "Bodies": "Bodies", + "Borsh Active Connections": "Borsh Active Connections", + "Borsh Connection Attempts": "Borsh Connection Attempts", + "Borsh Handshake Failures": "Borsh Handshake Failures", + "Build": "Build", + "CONNECTED": "CONNECTED", + "CPU": "CPU", + "Cache Memory Size": "Cache Memory Size", + "Cache Memory Size:": "Cache Memory Size:", + "Cancel": "Cancel", + "Cannot delete data folder while the node is running": "Cannot delete data folder while the node is running", + "Capture a screenshot": "Capture a screenshot", + "Center VSPC": "Center VSPC", + "Chain Blocks": "Chain Blocks", + "Change Address": "Change Address", + "Check for Software Updates on GitHub": "Check for Software Updates on GitHub", + "Check for Updates": "Check for Updates", + "Clear": "Clear", + "Click to try another server...": "Click to try another server...", + "Client RPC": "Client RPC", + "Close": "Close", + "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Confirm wallet password", + "Connect to a local node (localhost)": "Connect to a local node (localhost)", + "Connecting to": "Connecting to", + "Connection": "Connection", + "Connections": "Connections", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Connects to a Remote Rusty Kaspa Node via wRPC.", + "Conservative": "Conservative", + "Continue": "Continue", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.", + "Copied to clipboard": "Copied to clipboard", + "Copy": "Copy", + "Copy logs to clipboard": "Copy logs to clipboard", + "Create New Account": "Create New Account", + "Create New Wallet": "Create New Wallet", + "Create Wallet": "Create Wallet", + "Create new wallet": "Create new wallet", + "Creating Account": "Creating Account", + "Creating Wallet": "Creating Wallet", + "Custom": "Custom", + "Custom Public Node": "Custom Public Node", + "Custom arguments:": "Custom arguments:", + "Custom data storage folder": "Custom data storage folder", + "DAA": "DAA", + "DAA Offset": "DAA Offset", + "DAA Range": "DAA Range", + "DB Blocks": "DB Blocks", + "DB Headers": "DB Headers", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", + "Database Blocks": "Database Blocks", + "Database Headers": "Database Headers", + "Decrypting wallet, please wait...": "Decrypting wallet, please wait...", + "Default": "Default", + "Default Account Name": "Default Account Name", + "Delete Data Folder": "Delete Data Folder", + "Dependencies": "Dependencies", + "Derivation Indexes": "Derivation Indexes", + "Details": "Details", + "Developer Mode": "Developer Mode", + "Developer Resources": "Developer Resources", + "Developer mode enables advanced and experimental features": "Developer mode enables advanced and experimental features", + "Difficulty": "Difficulty", + "Dimensions": "Dimensions", + "Disable password safety rules": "Disable password safety rules", + "Disabled": "Disabled", + "Disables node connectivity (Offline Mode).": "Disables node connectivity (Offline Mode).", + "Discord": "Discord", + "Donations": "Donations", + "Double click on the graph to re-center...": "Double click on the graph to re-center...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Enable Market Monitor", + "Enable UPnP": "Enable UPnP", + "Enable custom daemon arguments": "Enable custom daemon arguments", + "Enable experimental features": "Enable experimental features", + "Enable gRPC": "Enable gRPC", + "Enable optional BIP39 passphrase": "Enable optional BIP39 passphrase", + "Enable screen capture": "Enable screen capture", + "Enables features currently in development": "Enables features currently in development", + "Enter": "Enter", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Enter account name (optional)", + "Enter first account name": "Enter first account name", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Enter phishing hint", + "Enter the amount": "Enter the amount", + "Enter the password for your wallet": "Enter the password for your wallet", + "Enter the password to unlock your wallet": "Enter the password to unlock your wallet", + "Enter wallet name": "Enter wallet name", + "Enter wallet password": "Enter wallet password", + "Enter your wallet secret": "Enter your wallet secret", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorer", + "Export Wallet Data": "Export Wallet Data", + "Faucet": "Faucet", + "File Handles": "File Handles", + "Filename:": "Filename:", + "Final Amount:": "Final Amount:", + "Full Screen": "Full Screen", + "GitHub Release": "GitHub Release", + "Go to Settings": "Go to Settings", + "Good": "Good", + "Handles": "Handles", + "Headers": "Headers", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "If not specified, the account will be represented by the numeric id.", + "If you are running locally, use: ": "If you are running locally, use: ", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Import existing", + "Importing Wallet": "Importing Wallet", + "Inbound": "Inbound", + "Include QoS Priority Fees": "Include QoS Priority Fees", + "Integrated Daemon": "Integrated Daemon", + "Invalid daemon arguments": "Invalid daemon arguments", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Invalid network type - expected: testnet-10 connected to: testnet-11", + "Invalid wRPC URL": "Invalid wRPC URL", + "Json Active Connections": "Json Active Connections", + "Json Connection Attempts": "Json Connection Attempts", + "Json Handshake Failures": "Json Handshake Failures", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Kaspa Integration Guide", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Web App", + "Kaspa NG on GitHub": "Kaspa NG on GitHub", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Kaspa Network", + "Kaspa Node": "Kaspa Node", + "Kaspa p2p Network & Node Connection": "Kaspa p2p Network & Node Connection", + "Kaspa p2p Node": "Kaspa p2p Node", + "Kaspa p2p Node & Connection": "Kaspa p2p Node & Connection", + "Key Perf.": "Key Perf.", + "Language:": "Language:", + "Large (1 BPS)": "Large (1 BPS)", + "Levels": "Levels", + "License Information": "License Information", + "Local": "Local", + "Local p2p Node Configuration": "Local p2p Node Configuration", + "Logs": "Logs", + "MT": "MT", + "Main Kaspa network": "Main Kaspa network", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (Main Kaspa network)", + "Managed by the Rusty Kaspa daemon": "Managed by the Rusty Kaspa daemon", + "Market": "Market", + "Market Cap": "Market Cap", + "Market Monitor": "Market Monitor", + "Mass Processed": "Mass Processed", + "Maximize window": "Maximize window", + "Medium Narrow": "Medium Narrow", + "Medium Wide": "Medium Wide", + "Memory": "Memory", + "Mempool": "Mempool", + "Mempool Size": "Mempool Size", + "Metrics": "Metrics", + "Metrics are not currently available": "Metrics are not currently available", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM Modules for NodeJS", + "Network": "Network", + "Network Difficulty": "Network Difficulty", + "Network Fees:": "Network Fees:", + "Network Interface": "Network Interface", + "Network Peers": "Network Peers", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "No peers", + "No public node selected - please select a public node": "No public node selected - please select a public node", + "No transactions": "No transactions", + "No wallets found, please create a new wallet": "No wallets found, please create a new wallet", + "Node": "Node", + "Node Status": "Node Status", + "Noise": "Noise", + "None": "None", + "Not Connected": "Not Connected", + "Not connected": "Not connected", + "Notifications": "Notifications", + "Open Data Folder": "Open Data Folder", + "Opening wallet:": "Opening wallet:", + "Optional": "Optional", + "Other operations": "Other operations", + "Outbound": "Outbound", + "Overview": "Overview", + "Parents": "Parents", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Past Median Time", + "Payment & Recovery Password": "Payment & Recovery Password", + "Payment Request": "Payment Request", + "Peers": "Peers", + "Performance": "Performance", + "Phishing Hint": "Phishing Hint", + "Ping:": "Ping:", + "Please Confirm Deletion": "Please Confirm Deletion", + "Please configure your Kaspa NG settings": "Please configure your Kaspa NG settings", + "Please connect to Kaspa p2p node": "Please connect to Kaspa p2p node", + "Please create a stronger password": "Please create a stronger password", + "Please enter": "Please enter", + "Please enter KAS amount to send": "Please enter KAS amount to send", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Please enter an amount", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Please enter the account name", + "Please enter the wallet secret": "Please enter the wallet secret", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.", + "Please select an account type": "Please select an account type", + "Please select the private key to export": "Please select the private key to export", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Please set node to 'Disabled' to delete the data folder", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.", + "Please specify the name of the new wallet": "Please specify the name of the new wallet", + "Please specify the private key type for the new wallet": "Please specify the private key type for the new wallet", + "Please wait for the node to sync or connect to a remote node.": "Please wait for the node to sync or connect to a remote node.", + "Please wait for the node to sync...": "Please wait for the node to sync...", + "Please wait...": "Please wait...", + "Presets": "Presets", + "Price": "Price", + "Private Key Mnemonic": "Private Key Mnemonic", + "Processed Bodies": "Processed Bodies", + "Processed Dependencies": "Processed Dependencies", + "Processed Headers": "Processed Headers", + "Processed Mass Counts": "Processed Mass Counts", + "Processed Transactions": "Processed Transactions", + "Protocol:": "Protocol:", + "Public Node": "Public Node", + "Public Nodes": "Public Nodes", + "Public Server": "Public Server", + "Public p2p Nodes for": "Public p2p Nodes for", + "Random Public Node": "Random Public Node", + "Range:": "Range:", + "Receive Address": "Receive Address", + "Recommended arguments for the remote node: ": "Recommended arguments for the remote node: ", + "Redistributables": "Redistributables", + "Remote": "Remote", + "Remote Connection:": "Remote Connection:", + "Remote p2p Node Configuration": "Remote p2p Node Configuration", + "Removes security restrictions, allows for single-letter passwords": "Removes security restrictions, allows for single-letter passwords", + "Reset Settings": "Reset Settings", + "Reset VSPC": "Reset VSPC", + "Resident Memory": "Resident Memory", + "Resources": "Resources", + "Resulting daemon arguments:": "Resulting daemon arguments:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa on GitHub", + "Secret is too weak": "Secret is too weak", + "Secret score:": "Secret score:", + "Select Account": "Select Account", + "Select Available Server": "Select Available Server", + "Select Private Key Type": "Select Private Key Type", + "Select Public Node": "Select Public Node", + "Select Wallet": "Select Wallet", + "Select a wallet to unlock": "Select a wallet to unlock", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Send", + "Services": "Services", + "Settings": "Settings", + "Show DAA": "Show DAA", + "Show Grid": "Show Grid", + "Show VSPC": "Show VSPC", + "Show balances in alternate currencies for testnet coins": "Show balances in alternate currencies for testnet coins", + "Show passphrase": "Show passphrase", + "Show password": "Show password", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet", + "Skip": "Skip", + "Small (10 BPS)": "Small (10 BPS)", + "Spread": "Spread", + "Stage": "Stage", + "Starting...": "Starting...", + "Statistics": "Statistics", + "Stor Read": "Stor Read", + "Stor Write": "Stor Write", + "Storage": "Storage", + "Storage Read": "Storage Read", + "Storage Read/s": "Storage Read/s", + "Storage Write": "Storage Write", + "Storage Write/s": "Storage Write/s", + "Strong": "Strong", + "Submitted Blocks": "Submitted Blocks", + "Supporting Kaspa NG development": "Supporting Kaspa NG development", + "Syncing Cryptographic Proof...": "Syncing Cryptographic Proof...", + "Syncing DAG Blocks...": "Syncing DAG Blocks...", + "Syncing Headers...": "Syncing Headers...", + "Syncing UTXO entries...": "Syncing UTXO entries...", + "Syncing...": "Syncing...", + "System": "System", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.", + "The balance may be out of date during node sync": "The balance may be out of date during node sync", + "The following will guide you through the process of creating or importing a wallet.": "The following will guide you through the process of creating or importing a wallet.", + "The node is currently syncing with the Kaspa p2p network.": "The node is currently syncing with the Kaspa p2p network.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.", + "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Theme Color", + "Theme Color:": "Theme Color:", + "Theme Style": "Theme Style", + "Theme Style:": "Theme Style:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Threshold": "Threshold", + "Time Offset:": "Time Offset:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Tools ⏷", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Track in the background", + "Transactions": "Transactions", + "Transactions:": "Transactions:", + "Type": "Type", + "UTXO Manager": "UTXO Manager", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "Unable to change node settings until the problem is resolved", + "Unlock": "Unlock", + "Unlock Wallet": "Unlock Wallet", + "Unlocking": "Unlocking", + "Update Available to version": "Update Available to version", + "Updating...": "Updating...", + "Uptime:": "Uptime:", + "Use 50%-75% of available system memory": "Use 50%-75% of available system memory", + "Use all available system memory": "Use all available system memory", + "User Agent": "User Agent", + "User Interface": "User Interface", + "Very dangerous (may be cracked within few seconds)": "Very dangerous (may be cracked within few seconds)", + "Very weak": "Very weak", + "Virt Parents": "Virt Parents", + "Virtual DAA Score": "Virtual DAA Score", + "Virtual Memory": "Virtual Memory", + "Virtual Parent Hashes": "Virtual Parent Hashes", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", + "Wallet": "Wallet", + "Wallet Created": "Wallet Created", + "Wallet Encryption Password": "Wallet Encryption Password", + "Wallet Name": "Wallet Name", + "Wallet Secret": "Wallet Secret", + "Wallet password is used to encrypt your wallet data.": "Wallet password is used to encrypt your wallet data.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Wallet:", + "We greatly appreciate your help in backing our efforts.": "We greatly appreciate your help in backing our efforts.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Welcome to Kaspa NG", + "Xpub Keys": "Xpub Keys", + "You are currently not connected to the Kaspa node.": "You are currently not connected to the Kaspa node.", + "You can configure remote connection in Settings": "You can configure remote connection in Settings", + "You can create multiple wallets, but only one wallet can be open at a time.": "You can create multiple wallets, but only one wallet can be open at a time.", + "You must be connected to a node...": "You must be connected to a node...", + "Your default wallet private key mnemonic is:": "Your default wallet private key mnemonic is:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Your private key mnemonic is:": "Your private key mnemonic is:", + "Your wallet has been created and is ready to use.": "Your wallet has been created and is ready to use.", + "Zoom": "Zoom", + "amount to send": "amount to send", + "bye!": "bye!", + "gRPC Network Interface & Port": "gRPC Network Interface & Port", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "of", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "peer", + "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC Connection Settings", + "wRPC Encoding:": "wRPC Encoding:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "words" + }, + "ja": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "Testnet ad 1 BPS", + "10 BPS test network": "Testnet a 10 BPS", + "12 word mnemonic": "12 parole di ripristino", + "24 word mnemonic": "24 parole di ripristino", + "24h Change": "Cambiamenti 24h", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "Un compilato in un'altro percorcorso è stato creato come processo figlio (sperimentale, solo per sviluppatori)", + "A random node will be selected on startup": "All'avvio sarà selezionato un nodo random", + "A wallet is stored in a file on your computer.": "Un wallet è conservato in un file sul tuo pc", + "Account Index": "Indice Account", + "Account Name": "Nome Account", + "Account:": "Account:", + "Activate custom daemon arguments": "Attivazioni di parametri personalizzani nel daemon", + "Active p2p Peers": "Peers p2p attivi", + "Address derivation scan": "Scannerizzazione degli indirizzi", + "Address:": "Indirizzo:", + "Advanced": "Avanzate", + "Advanced Options": "Advanced Options", + "All": "Tutto", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Permetti parametri personalizzati per il daemon di Rust di Kaspa", + "Allows you to take screenshots from within the application": "Ti permette di effettuare screenshot all'interno dell'applicazione", + "Apply": "Applica", + "Balance: N/A": "Patrimonio: N/A", + "Bandwidth": "Larghezza di banda", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Per via della sua sicurezza e delle sue performance, questo software è totalmente sviluppato in Rust, ciò richiede molto più tempo ed energie rispetto a tradizionali e moderni software", + "Bezier Curves": "Curva di Bezier", + "Block DAG": "Block DAG", + "Block Scale": "Scala del Blocco", + "Blocks": "Blocchi", + "Bodies": "Corpi", + "Borsh Active Connections": "Connessioni tramite Borsh Attive", + "Borsh Connection Attempts": "Tentativi di Connessione tramite Borsh", + "Borsh Handshake Failures": "Handshake tramite Borsh Falliti", + "Build": "Compila", + "CONNECTED": "CONNESSO", + "CPU": "CPU", + "Cache Memory Size": "Dimensione Chache", + "Cache Memory Size:": "Dimensione Chache", + "Cancel": "Annulla", + "Cannot delete data folder while the node is running": "Non puoi eliminare la cartella dei dati mentre il nodo è attivo", + "Capture a screenshot": "Fai uno screenshot", + "Center VSPC": "Centra VSPC", + "Chain Blocks": "Chain Blocks", + "Change Address": "Cambia indirizzo", + "Check for Software Updates on GitHub": "Controlla su GitHub se sono presenti degli aggiornamenti", + "Check for Updates": "Controlla Aggiornamenti", + "Clear": "Pulisci", + "Click to try another server...": "Clicca per provare un altro server...", + "Client RPC": "Client RCP", + "Close": "Chiudi", + "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Corferma la password del Wallet", + "Connect to a local node (localhost)": "Connetti ad un nodo locale(localhost)", + "Connecting to": "Connessione a", + "Connection": "Connessione", + "Connections": "Connessioni", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Connette ad un Nodo Rust Remoto tramite wRPC", + "Conservative": "Conservativo", + "Continue": "Continua", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Le donazioni a questo progetto contribuiscono direttamente a migliorare il software Kaspa NG e il suo ecosistema ", + "Copied to clipboard": "Copiato negli appunti", + "Copy": "Copia", + "Copy logs to clipboard": "Copia i log negli appunti", + "Create New Account": "Crea Nuovo Account", + "Create New Wallet": "Crea Nuovo Wallet", + "Create Wallet": "Create Wallet", + "Create new wallet": "Crea Nuovo Wallet", + "Creating Account": "Creazione Account in corso", + "Creating Wallet": "Creazione Wallet in corso", + "Custom": "Personalizza", + "Custom Public Node": "Nodo Pubblico Personalizzato", + "Custom arguments:": "Parametri Personalizzati:", + "Custom data storage folder": "Custom data storage folder", + "DAA": "DAA", + "DAA Offset": "differenza DAA", + "DAA Range": "Intervallo DAA", + "DB Blocks": "Blocchi DB", + "DB Headers": "Header DB", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", + "Database Blocks": "Bocchi nel Database", + "Database Headers": "Header nel Database", + "Decrypting wallet, please wait...": "Decrittazione Wallet, attendi prego...", + "Default": "Default", + "Default Account Name": "Account name di Default", + "Delete Data Folder": "Elimina la Cartella Dati", + "Dependencies": "Dipendenze", + "Derivation Indexes": "Indici di Derivazione", + "Details": "Dettagli", + "Developer Mode": "Modalità sviluppatore", + "Developer Resources": "Risorse per Sviluppatori", + "Developer mode enables advanced and experimental features": "La modalità Svuluppatore permette di avere accesso a modalità avanzate e sperimentali", + "Difficulty": "Difficoltà", + "Dimensions": "Dimensioni", + "Disable password safety rules": "Disable password safety rules", + "Disabled": "Disattivato", + "Disables node connectivity (Offline Mode).": "Disattiva la connessione ai nodi (Modalità Offline)", + "Discord": "Discord", + "Donations": "Donazioni", + "Double click on the graph to re-center...": "Doppio click sul grafico per centrare...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Abilità il Monitoraggio del Prezzo", + "Enable UPnP": "Abilita UPnP", + "Enable custom daemon arguments": "Abilita parametri del daemon personalizzati", + "Enable experimental features": "Abilita la modalità sperimentale", + "Enable gRPC": "Abilita gRPC", + "Enable optional BIP39 passphrase": "Abilita la password opzionale BIP39", + "Enable screen capture": "Abilita screenshot", + "Enables features currently in development": "Abilita modalità ancora in sviluppo", + "Enter": "Inserisci", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Inserisci nome account(opzionale)", + "Enter first account name": "Inserisci nome del primo account", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Inserisci suggerimento phishing", + "Enter the amount": "Inserisci quantità", + "Enter the password for your wallet": "Inserisci la password del tuo wallet", + "Enter the password to unlock your wallet": "Inserisci la passoword per sbloccare il tuo wallet", + "Enter wallet name": "Inserisci il nome del wallet", + "Enter wallet password": "Inserisci la password del wallet", + "Enter your wallet secret": "Inserisci le parole segrete del tuo wallet", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorer", + "Export Wallet Data": "Esporta i Dati del Wallet", + "Faucet": "Rubinetto", + "File Handles": "File Handles", + "Filename:": "Nome File", + "Final Amount:": "Quantità Totale", + "Full Screen": "Full Screen", + "GitHub Release": "Rilascio GitHub", + "Go to Settings": "Vai nelle Impostazioni", + "Good": "Good", + "Handles": "Handles", + "Headers": "Header", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD", + "If not specified, the account will be represented by the numeric id.": "l'account' se non specificato altrimenti, sarà rappresentato dall'id numerico", + "If you are running locally, use: ": "se stai eseguendo da locale, usa:", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Importa esistenti", + "Importing Wallet": "Importing Wallet", + "Inbound": "In Entrata", + "Include QoS Priority Fees": "Includi fee maggiorata per QoS", + "Integrated Daemon": "Daemon Integrato", + "Invalid daemon arguments": "Parametri del daemon non validi", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Tipo di network non valido. Atteso: testnet-10 connesso a: testnet-11", + "Invalid wRPC URL": "URL wRPC non valido", + "Json Active Connections": "Connessioni Json attive", + "Json Connection Attempts": "Tentativi di connessione Json", + "Json Handshake Failures": "Handshake Json falliti", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Guida Implementativa di Kaspa", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Applicazione Web", + "Kaspa NG on GitHub": "Kaspa NG su GitHub", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Kaspa Network", + "Kaspa Node": "Nodo Kaspa", + "Kaspa p2p Network & Node Connection": "Network p2p di Kaspa & Connessioni del nodo", + "Kaspa p2p Node": "Nodo p2p Kaspa", + "Kaspa p2p Node & Connection": "Network p2p di Kaspa & Connessione", + "Key Perf.": "Key Perf.", + "Language:": "Lingua:", + "Large (1 BPS)": "Grande (1 BPS)", + "Levels": "Livelli", + "License Information": "Informazioni sulla licenza", + "Local": "Locale", + "Local p2p Node Configuration": "Configurazione del nodo p2p locale", + "Logs": "Log", + "MT": "MT", + "Main Kaspa network": "Network Kaspa principale", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (Network Kaspa Principale)", + "Managed by the Rusty Kaspa daemon": "Controllato dal daemon Rusty Kaspa", + "Market": "Market", + "Market Cap": "Market Cap", + "Market Monitor": "Market Monitor", + "Mass Processed": "Mass Processed", + "Maximize window": "Maximize window", + "Medium Narrow": "Medium Narrow", + "Medium Wide": "Medium Wide", + "Memory": "Memory", + "Mempool": "Mempool", + "Mempool Size": "Mempool Size", + "Metrics": "Metrics", + "Metrics are not currently available": "Metrics are not currently available", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM Modules for NodeJS", + "Network": "Network", + "Network Difficulty": "Network Difficulty", + "Network Fees:": "Network Fees:", + "Network Interface": "Network Interface", + "Network Peers": "Network Peers", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "No peers", + "No public node selected - please select a public node": "No public node selected - please select a public node", + "No transactions": "No transactions", + "No wallets found, please create a new wallet": "No wallets found, please create a new wallet", + "Node": "Node", + "Node Status": "Node Status", + "Noise": "Noise", + "None": "None", + "Not Connected": "Not Connected", + "Not connected": "Not connected", + "Notifications": "Notifications", + "Open Data Folder": "Open Data Folder", + "Opening wallet:": "Opening wallet:", + "Optional": "Optional", + "Other operations": "Other operations", + "Outbound": "Outbound", + "Overview": "Overview", + "Parents": "Parents", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Past Median Time", + "Payment & Recovery Password": "Payment & Recovery Password", + "Payment Request": "Payment Request", + "Peers": "Peers", + "Performance": "Performance", + "Phishing Hint": "Phishing Hint", + "Ping:": "Ping:", + "Please Confirm Deletion": "Please Confirm Deletion", + "Please configure your Kaspa NG settings": "Please configure your Kaspa NG settings", + "Please connect to Kaspa p2p node": "Please connect to Kaspa p2p node", + "Please create a stronger password": "Please create a stronger password", + "Please enter": "Please enter", + "Please enter KAS amount to send": "Please enter KAS amount to send", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Please enter an amount", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Please enter the account name", + "Please enter the wallet secret": "Please enter the wallet secret", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.", + "Please select an account type": "Please select an account type", + "Please select the private key to export": "Please select the private key to export", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Please set node to 'Disabled' to delete the data folder", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.", + "Please specify the name of the new wallet": "Please specify the name of the new wallet", + "Please specify the private key type for the new wallet": "Please specify the private key type for the new wallet", + "Please wait for the node to sync or connect to a remote node.": "Please wait for the node to sync or connect to a remote node.", + "Please wait for the node to sync...": "Please wait for the node to sync...", + "Please wait...": "Please wait...", + "Presets": "Presets", + "Price": "Price", + "Private Key Mnemonic": "Private Key Mnemonic", + "Processed Bodies": "Processed Bodies", + "Processed Dependencies": "Processed Dependencies", + "Processed Headers": "Processed Headers", + "Processed Mass Counts": "Processed Mass Counts", + "Processed Transactions": "Processed Transactions", + "Protocol:": "Protocol:", + "Public Node": "Public Node", + "Public Nodes": "Public Nodes", + "Public Server": "Public Server", + "Public p2p Nodes for": "Public p2p Nodes for", + "Random Public Node": "Random Public Node", + "Range:": "Range:", + "Receive Address": "Receive Address", + "Recommended arguments for the remote node: ": "Recommended arguments for the remote node: ", + "Redistributables": "Redistributables", + "Remote": "Remote", + "Remote Connection:": "Remote Connection:", + "Remote p2p Node Configuration": "Remote p2p Node Configuration", + "Removes security restrictions, allows for single-letter passwords": "Removes security restrictions, allows for single-letter passwords", + "Reset Settings": "Reset Settings", + "Reset VSPC": "Reset VSPC", + "Resident Memory": "Resident Memory", + "Resources": "Resources", + "Resulting daemon arguments:": "Resulting daemon arguments:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa on GitHub", + "Secret is too weak": "Secret is too weak", + "Secret score:": "Secret score:", + "Select Account": "Select Account", + "Select Available Server": "Select Available Server", + "Select Private Key Type": "Select Private Key Type", + "Select Public Node": "Select Public Node", + "Select Wallet": "Select Wallet", + "Select a wallet to unlock": "Select a wallet to unlock", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Send", + "Services": "Services", + "Settings": "Settings", + "Show DAA": "Show DAA", + "Show Grid": "Show Grid", + "Show VSPC": "Show VSPC", + "Show balances in alternate currencies for testnet coins": "Show balances in alternate currencies for testnet coins", + "Show passphrase": "Show passphrase", + "Show password": "Show password", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet", + "Skip": "Skip", + "Small (10 BPS)": "Small (10 BPS)", + "Spread": "Spread", + "Stage": "Stage", + "Starting...": "Starting...", + "Statistics": "Statistics", + "Stor Read": "Stor Read", + "Stor Write": "Stor Write", + "Storage": "Storage", + "Storage Read": "Storage Read", + "Storage Read/s": "Storage Read/s", + "Storage Write": "Storage Write", + "Storage Write/s": "Storage Write/s", + "Strong": "Strong", + "Submitted Blocks": "Submitted Blocks", + "Supporting Kaspa NG development": "Supporting Kaspa NG development", + "Syncing Cryptographic Proof...": "Syncing Cryptographic Proof...", + "Syncing DAG Blocks...": "Syncing DAG Blocks...", + "Syncing Headers...": "Syncing Headers...", + "Syncing UTXO entries...": "Syncing UTXO entries...", + "Syncing...": "Syncing...", + "System": "System", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.", + "The balance may be out of date during node sync": "The balance may be out of date during node sync", + "The following will guide you through the process of creating or importing a wallet.": "The following will guide you through the process of creating or importing a wallet.", + "The node is currently syncing with the Kaspa p2p network.": "The node is currently syncing with the Kaspa p2p network.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.", + "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Theme Color", + "Theme Color:": "Theme Color:", + "Theme Style": "Theme Style", + "Theme Style:": "Theme Style:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Threshold": "Threshold", + "Time Offset:": "Time Offset:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Tools ⏷", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Track in the background", + "Transactions": "Transactions", + "Transactions:": "Transactions:", + "Type": "Type", + "UTXO Manager": "UTXO Manager", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "Unable to change node settings until the problem is resolved", + "Unlock": "Unlock", + "Unlock Wallet": "Unlock Wallet", + "Unlocking": "Unlocking", + "Update Available to version": "Update Available to version", + "Updating...": "Updating...", + "Uptime:": "Uptime:", + "Use 50%-75% of available system memory": "Use 50%-75% of available system memory", + "Use all available system memory": "Use all available system memory", + "User Agent": "User Agent", + "User Interface": "User Interface", + "Very dangerous (may be cracked within few seconds)": "Very dangerous (may be cracked within few seconds)", + "Very weak": "Very weak", + "Virt Parents": "Virt Parents", + "Virtual DAA Score": "Virtual DAA Score", + "Virtual Memory": "Virtual Memory", + "Virtual Parent Hashes": "Virtual Parent Hashes", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", + "Wallet": "Wallet", + "Wallet Created": "Wallet Created", + "Wallet Encryption Password": "Wallet Encryption Password", + "Wallet Name": "Wallet Name", + "Wallet Secret": "Wallet Secret", + "Wallet password is used to encrypt your wallet data.": "Wallet password is used to encrypt your wallet data.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Wallet:", + "We greatly appreciate your help in backing our efforts.": "We greatly appreciate your help in backing our efforts.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Welcome to Kaspa NG", + "Xpub Keys": "Xpub Keys", + "You are currently not connected to the Kaspa node.": "You are currently not connected to the Kaspa node.", + "You can configure remote connection in Settings": "You can configure remote connection in Settings", + "You can create multiple wallets, but only one wallet can be open at a time.": "You can create multiple wallets, but only one wallet can be open at a time.", + "You must be connected to a node...": "You must be connected to a node...", + "Your default wallet private key mnemonic is:": "Your default wallet private key mnemonic is:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Your private key mnemonic is:": "Your private key mnemonic is:", + "Your wallet has been created and is ready to use.": "Your wallet has been created and is ready to use.", + "Zoom": "Zoom", + "amount to send": "amount to send", + "bye!": "bye!", + "gRPC Network Interface & Port": "gRPC Network Interface & Port", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "of", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "peer", + "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC Connection Settings", + "wRPC Encoding:": "wRPC Encoding:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "words" + }, + "ka": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS სატესტო ქსელი", + "10 BPS test network": "10 BPS საცდელი ქსელი", + "12 word mnemonic": "12 სიტყვიანი მნემონური ფრაზა", + "24 word mnemonic": "24 სიტყვიანი მნემონური ფრაზა", + "24h Change": "24სთ ცვლილება", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "A binary at another location is spawned a child process (experimental, for development purposes only).", + "A random node will be selected on startup": "A random node will be selected on startup", + "A wallet is stored in a file on your computer.": "A wallet is stored in a file on your computer.", + "Account Index": "აქაუნთის ინდექსი", + "Account Name": "აქაუნთის სახელი", + "Account:": "აქაუნთი:", + "Activate custom daemon arguments": "Activate custom daemon arguments", + "Active p2p Peers": "აქტიური p2p პირები", + "Address derivation scan": "Address derivation scan", + "Address:": "მისამართი:", + "Advanced": "გაფართოებული", + "Advanced Options": "Advanced Options", + "All": "ყველა", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Allow custom arguments for the Rusty Kaspa daemon", + "Allows you to take screenshots from within the application": "Allows you to take screenshots from within the application", + "Apply": "მიმართვა", + "Balance: N/A": "ბალანსი: არ ისახება", + "Bandwidth": "დიაპაზონი", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.", + "Bezier Curves": "Bezier Curves", + "Block DAG": "Block DAG", + "Block Scale": "ბლოკის ზომა", + "Blocks": "ბლოკები", + "Bodies": "Bodies", + "Borsh Active Connections": "Borsh Active Connections", + "Borsh Connection Attempts": "Borsh Connection Attempts", + "Borsh Handshake Failures": "Borsh Handshake Failures", + "Build": "შენება", + "CONNECTED": "დაკავშირებულია", + "CPU": "CPU", + "Cache Memory Size": "ქეშირებული მახსოვრობის ზომა", + "Cache Memory Size:": "კეშის მეხსიერების ზომა:", + "Cancel": "გაუქმება", + "Cannot delete data folder while the node is running": "მონაცემთა საქაღალდის წაშლა შეუძლებელია ნოუდის მუშაობისას", + "Capture a screenshot": "სქრინშოთის გადაღება", + "Center VSPC": "Center VSPC", + "Chain Blocks": "ჩეინის ბლოკები", + "Change Address": "მისამართის შეცვლა", + "Check for Software Updates on GitHub": "Check for Software Updates on GitHub", + "Check for Updates": "Შეამოწმოთ განახლებები", + "Clear": "გაწმენდა", + "Click to try another server...": "დააკლიკეთ სხვა სერვერზე საცდელად...", + "Client RPC": "კლიენტის RPC", + "Close": "დახურვა", + "Close the window": "ფანჯრის დახურვა", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "საფულის პაროლის დადასტურება", + "Connect to a local node (localhost)": "დაკავშირება ლოკალურ ნოუდთან (localhost)", + "Connecting to": "დაკავშირება", + "Connection": "კავშირი", + "Connections": "კავშირები", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Connects to a Remote Rusty Kaspa Node via wRPC.", + "Conservative": "კონსერვატიული", + "Continue": "გაგრძელება", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.", + "Copied to clipboard": "კოპირებულია ბუფერში", + "Copy": "კოპირება", + "Copy logs to clipboard": "ლოგების კოპირება ბუფერში", + "Create New Account": "ახალი აქაუნთის შექმნა", + "Create New Wallet": "ახალი საფულის შექმნა", + "Create Wallet": "Create Wallet", + "Create new wallet": "ახალი საფულის შექამნა", + "Creating Account": "აქაუნთის შექმნა", + "Creating Wallet": "საფულის შექმნა", + "Custom": "Custom", + "Custom Public Node": "მორგებული საჯარო ნოუდი", + "Custom arguments:": "Custom arguments:", + "Custom data storage folder": "Custom data storage folder", + "DAA": "DAA", + "DAA Offset": "DAA Offset", + "DAA Range": "DAA Range", + "DB Blocks": "DB ბლოკები", + "DB Headers": "DB სათაურები", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", + "Database Blocks": "Database Blocks", + "Database Headers": "Database Headers", + "Decrypting wallet, please wait...": "საფულის განკრიპტვა, გთხოვთ მოიცადოთ...", + "Default": "ნაგულისხმები ", + "Default Account Name": "Default Account Name", + "Delete Data Folder": "მონაცემთა ფოლდერის წაშლა", + "Dependencies": "დამოკიდებულებები", + "Derivation Indexes": "Derivation Indexes", + "Details": "დეტალები", + "Developer Mode": "დეველოპერის რეჟიმი", + "Developer Resources": "Developer Resources", + "Developer mode enables advanced and experimental features": "Developer mode enables advanced and experimental features", + "Difficulty": "სირთულე", + "Dimensions": "განზომილებები", + "Disable password safety rules": "Disable password safety rules", + "Disabled": "გამორთულია", + "Disables node connectivity (Offline Mode).": "Disables node connectivity (Offline Mode).", + "Discord": "Discord", + "Donations": "დონაციები", + "Double click on the graph to re-center...": "Double click on the graph to re-center...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Enable Market Monitor", + "Enable UPnP": "Enable UPnP", + "Enable custom daemon arguments": "დაემონის არგუმენტების ჩართვა", + "Enable experimental features": "ექსპერიმენტული ფუნქციების გააქტიურება", + "Enable gRPC": "Enable gRPC", + "Enable optional BIP39 passphrase": "Enable optional BIP39 passphrase", + "Enable screen capture": "მონიტორის ჩაწერის უფლება", + "Enables features currently in development": "Enables features currently in development", + "Enter": "შეყვანა", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "შეიყვანეთ აქაუნთის სახელი (არააუცილებელი)", + "Enter first account name": "შეიყვანეთ პირველი აქაუნთის სახელი", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "შეიყვანეთ ფიშინგის მახსენებელი", + "Enter the amount": "შეიყვანეთ ოდენობა", + "Enter the password for your wallet": "შეიყვანეთ თქვენი საფულის პაროლი", + "Enter the password to unlock your wallet": "შეიყვანეთ პაროლი თქვენი საფულის განბლოკვისთვის", + "Enter wallet name": "შეიყვანეთ საფულის სახელი", + "Enter wallet password": "შეიყვანეთ საფულის პაროლი", + "Enter your wallet secret": "შეიყვანეთ თქვენი საფულის საიდუმლო ფრაზა", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "მკვლევარი", + "Export Wallet Data": "Export Wallet Data", + "Faucet": "ძაბრი", + "File Handles": "File Handles", + "Filename:": "ფაილის სახელი:", + "Final Amount:": "საბოლოო ოდენობა:", + "Full Screen": "Full Screen", + "GitHub Release": "GitHub რელიზი", + "Go to Settings": "პარამეტრებში შესვლა", + "Good": "Good", + "Handles": "Handles", + "Headers": "სათაურები", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "If not specified, the account will be represented by the numeric id.", + "If you are running locally, use: ": "თუ ადგილობრივად მუშაობთ, გამოიყენეთ:", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "არსებულის იმპორტი", + "Importing Wallet": "Importing Wallet", + "Inbound": "შემომავალი", + "Include QoS Priority Fees": "Include QoS Priority Fees", + "Integrated Daemon": "ინტეგრირებული დაემონი", + "Invalid daemon arguments": "არასწორი დაემონის არგუმენტები", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Invalid network type - expected: testnet-10 connected to: testnet-11", + "Invalid wRPC URL": "არასწორი wRPC URL", + "Json Active Connections": "Json Active Connections", + "Json Connection Attempts": "Json Connection Attempts", + "Json Handshake Failures": "Json Handshake-ის შეცდომა", + "Kaspa Discord": "Kaspa Discord-ი", + "Kaspa Integration Guide": "Kaspa-ს ინტეგრაციის სახელმძღვანელო", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG ონლაინ", + "Kaspa NG Web App": "Kaspa NG ვებ აპლიკაცია", + "Kaspa NG on GitHub": "Kaspa NG GitHub-ზე", + "Kaspa NG online": "Kaspa NG ონლაინ", + "Kaspa Network": "Kaspa ქსელი", + "Kaspa Node": "Kaspa ნოუდი", + "Kaspa p2p Network & Node Connection": "Kaspa p2p Network & Node Connection", + "Kaspa p2p Node": "Kaspa p2p ნოუდი", + "Kaspa p2p Node & Connection": "Kaspa p2p ნოუდი და კავშირი", + "Key Perf.": "Key Perf.", + "Language:": "ენა:", + "Large (1 BPS)": "დიდი (1 BPS)", + "Levels": "დონეები", + "License Information": "ლიცენზიის ინფორმაცია", + "Local": "ლოკალური", + "Local p2p Node Configuration": "ადგილობრივი p2p ნოუდის კონფიგურაცია", + "Logs": "ლოგები", + "MT": "MT", + "Main Kaspa network": "მთავარი Kaspa-ს ქსელი", + "Mainnet": "მეინნეტი", + "Mainnet (Main Kaspa network)": "Mainnet (Main Kaspa network)", + "Managed by the Rusty Kaspa daemon": "Managed by the Rusty Kaspa daemon", + "Market": "მარკეტი", + "Market Cap": "საბაზრო კაპიტალი", + "Market Monitor": "საბაზრო მონიტორინგი", + "Mass Processed": "Mass Processed", + "Maximize window": "Maximize window", + "Medium Narrow": "Medium Narrow", + "Medium Wide": "საშუალოდ ფართო", + "Memory": "მეხსიერება", + "Mempool": "მემპული", + "Mempool Size": "მემპულის ზომა", + "Metrics": "მეტრიკები", + "Metrics are not currently available": "მეტრიკა ამჟამად მიუწვდომელია", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM Modules for NodeJS", + "Network": "ქსელი", + "Network Difficulty": "ქსელის სირთულე", + "Network Fees:": "ქსელის საკომისიოები:", + "Network Interface": "ქსელის ინტერფეისი", + "Network Peers": "ქსელის პირები", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "პირები არ არის", + "No public node selected - please select a public node": "არ არის არჩეული საჯარო ნოუდი - გთხოვთ, აირჩიოთ საჯარო ნოუდი", + "No transactions": "არანაირი ტრანზაქცია", + "No wallets found, please create a new wallet": "No wallets found, please create a new wallet", + "Node": "ნოუდი", + "Node Status": "ნოუდის სტატუსი", + "Noise": "ხმაური", + "None": "არანაირი", + "Not Connected": "არ არის დაკავშირებული", + "Not connected": "Არ არის დაკავშირებული", + "Notifications": "შეტყობინებები", + "Open Data Folder": "გახსნილი მონაცემთა ფოლდერი", + "Opening wallet:": "Opening wallet:", + "Optional": "სურვილისამებრ", + "Other operations": "სხვა ოპერაციები", + "Outbound": "გამავალი", + "Overview": "მიმოხილვა", + "Parents": "მშობელი", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "გასული მედიანური დრო", + "Payment & Recovery Password": "გადახდის და აღდგენის პაროლი", + "Payment Request": "გადახდის მოთხოვნა", + "Peers": "პირები", + "Performance": "Performance", + "Phishing Hint": "ფიშინგის მახსენებელი", + "Ping:": "პინგი:", + "Please Confirm Deletion": "გთხოვთ დაადასტუროთ წაშლა", + "Please configure your Kaspa NG settings": "გთხოვთ დააკონფიგუროთ Kaspa NG-ს პარამეტრები", + "Please connect to Kaspa p2p node": "გთხოვთ დაუკავშირდეთ Kaspa p2p ნოუდს", + "Please create a stronger password": "გთხოვთ, შექმენით უფრო ძლიერი პაროლი", + "Please enter": "გთხოვთ შეიყვანოთ", + "Please enter KAS amount to send": "გთხოვთ, შეიყვანოთ KAS ოდენობა გასაგზავნად", + "Please enter additional": "Please enter additional", + "Please enter an amount": "გთხოვთ, შეიყვანოთ თანხა", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "გთხოვთ შეიყვანეთ აქაუნთის სახელი", + "Please enter the wallet secret": "შეიყვანეთ თქვენი საფულის საიდუმლო ფრაზა", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "გთხოვთ, გაითვალისწინოთ, ბუფერში კოპირება შეიცავს თქვენი მნემონიკის მელევერისთის გახსნას.", + "Please select an account type": "გთხოვთ აირჩოთ აქაუნთის ტიპი", + "Please select the private key to export": "Please select the private key to export", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Please set node to 'Disabled' to delete the data folder", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.", + "Please specify the name of the new wallet": "გთხოვთ დააზუსტოთ საფულის დასახელება", + "Please specify the private key type for the new wallet": "Please specify the private key type for the new wallet", + "Please wait for the node to sync or connect to a remote node.": "Please wait for the node to sync or connect to a remote node.", + "Please wait for the node to sync...": "Please wait for the node to sync...", + "Please wait...": "გთხოვთ მოიცადოთ...", + "Presets": "პრესეტები", + "Price": "ფასი", + "Private Key Mnemonic": "Private Key Mnemonic", + "Processed Bodies": "დამუშავებული ბოდიები", + "Processed Dependencies": "Processed Dependencies", + "Processed Headers": "დამუშავებული სათაურები", + "Processed Mass Counts": "Processed Mass Counts", + "Processed Transactions": "დამუშავებული ტრანზაქციები", + "Protocol:": "პროტოკოლი:", + "Public Node": "საჯარო ნოუდი", + "Public Nodes": "Public Nodes", + "Public Server": "საჯარო სერვერი", + "Public p2p Nodes for": "Public p2p Nodes for", + "Random Public Node": "შემთხვევითი საჯარო ნოუდი", + "Range:": "დიაპაზონი:", + "Receive Address": "მიმღები ანგარიში", + "Recommended arguments for the remote node: ": "Recommended arguments for the remote node: ", + "Redistributables": "Redistributables", + "Remote": "დუსტაბცუყრუ", + "Remote Connection:": "დისტანციური კავშირი:", + "Remote p2p Node Configuration": "Remote p2p Node Configuration", + "Removes security restrictions, allows for single-letter passwords": "Removes security restrictions, allows for single-letter passwords", + "Reset Settings": "საწყის პარამეტრებზე დაყენება", + "Reset VSPC": "VSPC-ის გადატვირთვა", + "Resident Memory": "რეზიდენტ მეხსიერება", + "Resources": "რესურსები", + "Resulting daemon arguments:": "დაემონური არგუმენტების შედეგი:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa on GitHub", + "Secret is too weak": "საიდუმლო ფრაზა ძალიან სუსტია", + "Secret score:": "Secret score:", + "Select Account": "მომხმარებლის არჩევა", + "Select Available Server": "Select Available Server", + "Select Private Key Type": "აირჩიეთ პირადი გასაღების ტიპი", + "Select Public Node": "Select Public Node", + "Select Wallet": "საფულის არჩევა", + "Select a wallet to unlock": "აირჩიეთ საფულე განბლოკვისთვის", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "გაგზავნა", + "Services": "სერვისები", + "Settings": "პარამეტრები", + "Show DAA": "DAA-ს ჩვენება", + "Show Grid": "ბადის ჩვენება", + "Show VSPC": "Show VSPC", + "Show balances in alternate currencies for testnet coins": "Show balances in alternate currencies for testnet coins", + "Show passphrase": "Show passphrase", + "Show password": "პაროლის ჩვენება", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet", + "Skip": "გამოტოვება", + "Small (10 BPS)": "მცირე (10 BPS)", + "Spread": "გავრცელება", + "Stage": "საფეხური", + "Starting...": "დაწყება...", + "Statistics": "სტატისტიკები", + "Stor Read": "Stor Read", + "Stor Write": "Stor Write", + "Storage": "მეხსიერება", + "Storage Read": "Storage Read", + "Storage Read/s": "Storage Read/s", + "Storage Write": "Storage Write", + "Storage Write/s": "Storage Write/s", + "Strong": "Strong", + "Submitted Blocks": "Submitted Blocks", + "Supporting Kaspa NG development": "Supporting Kaspa NG development", + "Syncing Cryptographic Proof...": "Syncing Cryptographic Proof...", + "Syncing DAG Blocks...": "Syncing DAG Blocks...", + "Syncing Headers...": "Syncing Headers...", + "Syncing UTXO entries...": "Syncing UTXO entries...", + "Syncing...": "Syncing...", + "System": "სისტემა", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "ტესტნეტ 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.", + "The balance may be out of date during node sync": "ბალანსი შესაძლოა მოძველებული იყოს კვანძის სინქრონიზაციის დროს", + "The following will guide you through the process of creating or importing a wallet.": "The following will guide you through the process of creating or importing a wallet.", + "The node is currently syncing with the Kaspa p2p network.": "The node is currently syncing with the Kaspa p2p network.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "კვანძი ამჟამად სინქრონიზებულია Kaspa p2p ქსელთან. ანგარიშის ნაშთები შეიძლება მოძველებული იყოს.", + "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "თემის ფერი", + "Theme Color:": "თემის ფერი:", + "Theme Style": "თემის სტილი", + "Theme Style:": "თემის სტილი:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Threshold": "ზღვარი", + "Time Offset:": "დროის ოფსეტი:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "ინსტრუმენტები⏷", + "Total Rx": "სრული Rx", + "Total Rx/s": "სრული Rx/s", + "Total Tx": "სტული Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "თრექინგი ფონურად", + "Transactions": "გადარიცხვები", + "Transactions:": "გადარიცხვები:", + "Type": "ტიპი", + "UTXO Manager": "UTXO მენეჯერი", + "UTXOs": "UTXO-ები", + "UTXOs:": "UTXO-ები:", + "Unable to change node settings until the problem is resolved": "Unable to change node settings until the problem is resolved", + "Unlock": "განბლოკვა", + "Unlock Wallet": "საფულის განბლოკვა", + "Unlocking": "განბლოკვა", + "Update Available to version": "Update Available to version", + "Updating...": "განახლება...", + "Uptime:": "მუშაობის დრო:", + "Use 50%-75% of available system memory": "გამოიყენეთ 50%-75%ხელმისაწვდომი ოპერატიული მეხსიერებიდან", + "Use all available system memory": "Use all available system memory", + "User Agent": "მომხმარებლის აგენტი", + "User Interface": "სამომხმარებლო ინტერფეისი", + "Very dangerous (may be cracked within few seconds)": "ძალიან სახიფათო (შეიძლება გატეხილი იყოს რამდენიმე წამში)", + "Very weak": "Very weak", + "Virt Parents": "Virt Parents", + "Virtual DAA Score": "Virtual DAA Score", + "Virtual Memory": "ვირტუალური მეხსიერება", + "Virtual Parent Hashes": "ვირტუალური ფერენთ ჰაშები", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", + "Wallet": "საფულე", + "Wallet Created": "საფულე შეიქმნა", + "Wallet Encryption Password": "საფულის დაშიფვრის პაროლი", + "Wallet Name": "საფულის დასახელება", + "Wallet Secret": "Wallet Secret", + "Wallet password is used to encrypt your wallet data.": "Wallet password is used to encrypt your wallet data.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "საფულე:", + "We greatly appreciate your help in backing our efforts.": "We greatly appreciate your help in backing our efforts.", + "Weak": "Weak", + "Welcome to Kaspa NG": "მოგესალმებით Kaspa NG-ში", + "Xpub Keys": "Xpub Keys", + "You are currently not connected to the Kaspa node.": "თქვენ ამჟამად არ ხართ დაკავშირებული Kaspa ნოუდთან.", + "You can configure remote connection in Settings": "შეგიძლიათ დააკონფიგუროთ დისტანციური დაკავშირება პარამეტრებში", + "You can create multiple wallets, but only one wallet can be open at a time.": "You can create multiple wallets, but only one wallet can be open at a time.", + "You must be connected to a node...": "თქვენ უნდა იყოთ დაკავშირებული ნოუდთან...", + "Your default wallet private key mnemonic is:": "Your default wallet private key mnemonic is:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Your private key mnemonic is:": "თქვენი პირადი გასაღების მნემოური ფრაზა არის:", + "Your wallet has been created and is ready to use.": "თქვენი საფულე შეიქმნა და მზად არის გამოსაყენებლად.", + "Zoom": "მიახლოება", + "amount to send": "გასაგზავნი ოდენობა", + "bye!": "ნახვამდის!", + "gRPC Network Interface & Port": "gRPC ქსელის ინტერფეისი და პორტი", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "-ის", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "პირი", + "peers": "პირები", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC კავშირის პარამეტრები", + "wRPC Encoding:": "wRPC Encoding:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "words" + }, + "ko": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS test network", + "10 BPS test network": "10 BPS test network", + "12 word mnemonic": "12 word mnemonic", + "24 word mnemonic": "24 word mnemonic", + "24h Change": "24h Change", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "A binary at another location is spawned a child process (experimental, for development purposes only).", + "A random node will be selected on startup": "A random node will be selected on startup", + "A wallet is stored in a file on your computer.": "A wallet is stored in a file on your computer.", + "Account Index": "Account Index", + "Account Name": "Account Name", + "Account:": "Account:", + "Activate custom daemon arguments": "Activate custom daemon arguments", + "Active p2p Peers": "Active p2p Peers", + "Address derivation scan": "Address derivation scan", + "Address:": "Address:", + "Advanced": "Advanced", + "Advanced Options": "Advanced Options", + "All": "All", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Allow custom arguments for the Rusty Kaspa daemon", + "Allows you to take screenshots from within the application": "Allows you to take screenshots from within the application", + "Apply": "Apply", + "Balance: N/A": "Balance: N/A", + "Bandwidth": "Bandwidth", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.", + "Bezier Curves": "Bezier Curves", + "Block DAG": "Block DAG", + "Block Scale": "Block Scale", + "Blocks": "Blocks", + "Bodies": "Bodies", + "Borsh Active Connections": "Borsh Active Connections", + "Borsh Connection Attempts": "Borsh Connection Attempts", + "Borsh Handshake Failures": "Borsh Handshake Failures", + "Build": "Build", + "CONNECTED": "CONNECTED", + "CPU": "CPU", + "Cache Memory Size": "Cache Memory Size", + "Cache Memory Size:": "Cache Memory Size:", + "Cancel": "Cancel", + "Cannot delete data folder while the node is running": "Cannot delete data folder while the node is running", + "Capture a screenshot": "Capture a screenshot", + "Center VSPC": "Center VSPC", + "Chain Blocks": "Chain Blocks", + "Change Address": "Change Address", + "Check for Software Updates on GitHub": "Check for Software Updates on GitHub", + "Check for Updates": "Check for Updates", + "Clear": "Clear", + "Click to try another server...": "Click to try another server...", + "Client RPC": "Client RPC", + "Close": "Close", + "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Confirm wallet password", + "Connect to a local node (localhost)": "Connect to a local node (localhost)", + "Connecting to": "Connecting to", + "Connection": "Connection", + "Connections": "Connections", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Connects to a Remote Rusty Kaspa Node via wRPC.", + "Conservative": "Conservative", + "Continue": "Continue", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.", + "Copied to clipboard": "Copied to clipboard", + "Copy": "Copy", + "Copy logs to clipboard": "Copy logs to clipboard", + "Create New Account": "Create New Account", + "Create New Wallet": "Create New Wallet", + "Create Wallet": "Create Wallet", + "Create new wallet": "Create new wallet", + "Creating Account": "Creating Account", + "Creating Wallet": "Creating Wallet", + "Custom": "Custom", + "Custom Public Node": "Custom Public Node", + "Custom arguments:": "Custom arguments:", + "Custom data storage folder": "Custom data storage folder", + "DAA": "DAA", + "DAA Offset": "DAA Offset", + "DAA Range": "DAA Range", + "DB Blocks": "DB Blocks", + "DB Headers": "DB Headers", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", + "Database Blocks": "Database Blocks", + "Database Headers": "Database Headers", + "Decrypting wallet, please wait...": "Decrypting wallet, please wait...", + "Default": "Default", + "Default Account Name": "Default Account Name", + "Delete Data Folder": "Delete Data Folder", + "Dependencies": "Dependencies", + "Derivation Indexes": "Derivation Indexes", + "Details": "Details", + "Developer Mode": "Developer Mode", + "Developer Resources": "Developer Resources", + "Developer mode enables advanced and experimental features": "Developer mode enables advanced and experimental features", + "Difficulty": "Difficulty", + "Dimensions": "Dimensions", + "Disable password safety rules": "Disable password safety rules", + "Disabled": "Disabled", + "Disables node connectivity (Offline Mode).": "Disables node connectivity (Offline Mode).", + "Discord": "Discord", + "Donations": "Donations", + "Double click on the graph to re-center...": "Double click on the graph to re-center...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Enable Market Monitor", + "Enable UPnP": "Enable UPnP", + "Enable custom daemon arguments": "Enable custom daemon arguments", + "Enable experimental features": "Enable experimental features", + "Enable gRPC": "Enable gRPC", + "Enable optional BIP39 passphrase": "Enable optional BIP39 passphrase", + "Enable screen capture": "Enable screen capture", + "Enables features currently in development": "Enables features currently in development", + "Enter": "Enter", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Enter account name (optional)", + "Enter first account name": "Enter first account name", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Enter phishing hint", + "Enter the amount": "Enter the amount", + "Enter the password for your wallet": "Enter the password for your wallet", + "Enter the password to unlock your wallet": "Enter the password to unlock your wallet", + "Enter wallet name": "Enter wallet name", + "Enter wallet password": "Enter wallet password", + "Enter your wallet secret": "Enter your wallet secret", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorer", + "Export Wallet Data": "Export Wallet Data", + "Faucet": "Faucet", + "File Handles": "File Handles", + "Filename:": "Filename:", + "Final Amount:": "Final Amount:", + "Full Screen": "Full Screen", + "GitHub Release": "GitHub Release", + "Go to Settings": "Go to Settings", + "Good": "Good", + "Handles": "Handles", + "Headers": "Headers", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "If not specified, the account will be represented by the numeric id.", + "If you are running locally, use: ": "If you are running locally, use: ", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Import existing", + "Importing Wallet": "Importing Wallet", + "Inbound": "Inbound", + "Include QoS Priority Fees": "Include QoS Priority Fees", + "Integrated Daemon": "Integrated Daemon", + "Invalid daemon arguments": "Invalid daemon arguments", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Invalid network type - expected: testnet-10 connected to: testnet-11", + "Invalid wRPC URL": "Invalid wRPC URL", + "Json Active Connections": "Json Active Connections", + "Json Connection Attempts": "Json Connection Attempts", + "Json Handshake Failures": "Json Handshake Failures", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Kaspa Integration Guide", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Web App", + "Kaspa NG on GitHub": "Kaspa NG on GitHub", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Kaspa Network", + "Kaspa Node": "Kaspa Node", + "Kaspa p2p Network & Node Connection": "Kaspa p2p Network & Node Connection", + "Kaspa p2p Node": "Kaspa p2p Node", + "Kaspa p2p Node & Connection": "Kaspa p2p Node & Connection", + "Key Perf.": "Key Perf.", + "Language:": "Language:", + "Large (1 BPS)": "Large (1 BPS)", + "Levels": "Levels", + "License Information": "License Information", + "Local": "Local", + "Local p2p Node Configuration": "Local p2p Node Configuration", + "Logs": "Logs", + "MT": "MT", + "Main Kaspa network": "Main Kaspa network", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (Main Kaspa network)", + "Managed by the Rusty Kaspa daemon": "Managed by the Rusty Kaspa daemon", + "Market": "Market", + "Market Cap": "Market Cap", + "Market Monitor": "Market Monitor", + "Mass Processed": "Mass Processed", + "Maximize window": "Maximize window", + "Medium Narrow": "Medium Narrow", + "Medium Wide": "Medium Wide", + "Memory": "Memory", + "Mempool": "Mempool", + "Mempool Size": "Mempool Size", + "Metrics": "Metrics", + "Metrics are not currently available": "Metrics are not currently available", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM Modules for NodeJS", + "Network": "Network", + "Network Difficulty": "Network Difficulty", + "Network Fees:": "Network Fees:", + "Network Interface": "Network Interface", + "Network Peers": "Network Peers", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "No peers", + "No public node selected - please select a public node": "No public node selected - please select a public node", + "No transactions": "No transactions", + "No wallets found, please create a new wallet": "No wallets found, please create a new wallet", + "Node": "Node", + "Node Status": "Node Status", + "Noise": "Noise", + "None": "None", + "Not Connected": "Not Connected", + "Not connected": "Not connected", + "Notifications": "Notifications", + "Open Data Folder": "Open Data Folder", + "Opening wallet:": "Opening wallet:", + "Optional": "Optional", + "Other operations": "Other operations", + "Outbound": "Outbound", + "Overview": "Overview", + "Parents": "Parents", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Past Median Time", + "Payment & Recovery Password": "Payment & Recovery Password", + "Payment Request": "Payment Request", + "Peers": "Peers", + "Performance": "Performance", + "Phishing Hint": "Phishing Hint", + "Ping:": "Ping:", + "Please Confirm Deletion": "Please Confirm Deletion", + "Please configure your Kaspa NG settings": "Please configure your Kaspa NG settings", + "Please connect to Kaspa p2p node": "Please connect to Kaspa p2p node", + "Please create a stronger password": "Please create a stronger password", + "Please enter": "Please enter", + "Please enter KAS amount to send": "Please enter KAS amount to send", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Please enter an amount", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Please enter the account name", + "Please enter the wallet secret": "Please enter the wallet secret", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.", + "Please select an account type": "Please select an account type", + "Please select the private key to export": "Please select the private key to export", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Please set node to 'Disabled' to delete the data folder", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.", + "Please specify the name of the new wallet": "Please specify the name of the new wallet", + "Please specify the private key type for the new wallet": "Please specify the private key type for the new wallet", + "Please wait for the node to sync or connect to a remote node.": "Please wait for the node to sync or connect to a remote node.", + "Please wait for the node to sync...": "Please wait for the node to sync...", + "Please wait...": "Please wait...", + "Presets": "Presets", + "Price": "Price", + "Private Key Mnemonic": "Private Key Mnemonic", + "Processed Bodies": "Processed Bodies", + "Processed Dependencies": "Processed Dependencies", + "Processed Headers": "Processed Headers", + "Processed Mass Counts": "Processed Mass Counts", + "Processed Transactions": "Processed Transactions", + "Protocol:": "Protocol:", + "Public Node": "Public Node", + "Public Nodes": "Public Nodes", + "Public Server": "Public Server", + "Public p2p Nodes for": "Public p2p Nodes for", + "Random Public Node": "Random Public Node", + "Range:": "Range:", + "Receive Address": "Receive Address", + "Recommended arguments for the remote node: ": "Recommended arguments for the remote node: ", + "Redistributables": "Redistributables", + "Remote": "Remote", + "Remote Connection:": "Remote Connection:", + "Remote p2p Node Configuration": "Remote p2p Node Configuration", + "Removes security restrictions, allows for single-letter passwords": "Removes security restrictions, allows for single-letter passwords", + "Reset Settings": "Reset Settings", + "Reset VSPC": "Reset VSPC", + "Resident Memory": "Resident Memory", + "Resources": "Resources", + "Resulting daemon arguments:": "Resulting daemon arguments:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa on GitHub", + "Secret is too weak": "Secret is too weak", + "Secret score:": "Secret score:", + "Select Account": "Select Account", + "Select Available Server": "Select Available Server", + "Select Private Key Type": "Select Private Key Type", + "Select Public Node": "Select Public Node", + "Select Wallet": "Select Wallet", + "Select a wallet to unlock": "Select a wallet to unlock", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Send", + "Services": "Services", + "Settings": "Settings", + "Show DAA": "Show DAA", + "Show Grid": "Show Grid", + "Show VSPC": "Show VSPC", + "Show balances in alternate currencies for testnet coins": "Show balances in alternate currencies for testnet coins", + "Show passphrase": "Show passphrase", + "Show password": "Show password", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet", + "Skip": "Skip", + "Small (10 BPS)": "Small (10 BPS)", + "Spread": "Spread", + "Stage": "Stage", + "Starting...": "Starting...", + "Statistics": "Statistics", + "Stor Read": "Stor Read", + "Stor Write": "Stor Write", + "Storage": "Storage", + "Storage Read": "Storage Read", + "Storage Read/s": "Storage Read/s", + "Storage Write": "Storage Write", + "Storage Write/s": "Storage Write/s", + "Strong": "Strong", + "Submitted Blocks": "Submitted Blocks", + "Supporting Kaspa NG development": "Supporting Kaspa NG development", + "Syncing Cryptographic Proof...": "Syncing Cryptographic Proof...", + "Syncing DAG Blocks...": "Syncing DAG Blocks...", + "Syncing Headers...": "Syncing Headers...", + "Syncing UTXO entries...": "Syncing UTXO entries...", + "Syncing...": "Syncing...", + "System": "System", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.", + "The balance may be out of date during node sync": "The balance may be out of date during node sync", + "The following will guide you through the process of creating or importing a wallet.": "The following will guide you through the process of creating or importing a wallet.", + "The node is currently syncing with the Kaspa p2p network.": "The node is currently syncing with the Kaspa p2p network.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.", + "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Theme Color", + "Theme Color:": "Theme Color:", + "Theme Style": "Theme Style", + "Theme Style:": "Theme Style:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Threshold": "Threshold", + "Time Offset:": "Time Offset:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Tools ⏷", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Track in the background", + "Transactions": "Transactions", + "Transactions:": "Transactions:", + "Type": "Type", + "UTXO Manager": "UTXO Manager", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "Unable to change node settings until the problem is resolved", + "Unlock": "Unlock", + "Unlock Wallet": "Unlock Wallet", + "Unlocking": "Unlocking", + "Update Available to version": "Update Available to version", + "Updating...": "Updating...", + "Uptime:": "Uptime:", + "Use 50%-75% of available system memory": "Use 50%-75% of available system memory", + "Use all available system memory": "Use all available system memory", + "User Agent": "User Agent", + "User Interface": "User Interface", + "Very dangerous (may be cracked within few seconds)": "Very dangerous (may be cracked within few seconds)", + "Very weak": "Very weak", + "Virt Parents": "Virt Parents", + "Virtual DAA Score": "Virtual DAA Score", + "Virtual Memory": "Virtual Memory", + "Virtual Parent Hashes": "Virtual Parent Hashes", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", + "Wallet": "Wallet", + "Wallet Created": "Wallet Created", + "Wallet Encryption Password": "Wallet Encryption Password", + "Wallet Name": "Wallet Name", + "Wallet Secret": "Wallet Secret", + "Wallet password is used to encrypt your wallet data.": "Wallet password is used to encrypt your wallet data.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Wallet:", + "We greatly appreciate your help in backing our efforts.": "We greatly appreciate your help in backing our efforts.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Welcome to Kaspa NG", + "Xpub Keys": "Xpub Keys", + "You are currently not connected to the Kaspa node.": "You are currently not connected to the Kaspa node.", + "You can configure remote connection in Settings": "You can configure remote connection in Settings", + "You can create multiple wallets, but only one wallet can be open at a time.": "You can create multiple wallets, but only one wallet can be open at a time.", + "You must be connected to a node...": "You must be connected to a node...", + "Your default wallet private key mnemonic is:": "Your default wallet private key mnemonic is:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Your private key mnemonic is:": "Your private key mnemonic is:", + "Your wallet has been created and is ready to use.": "Your wallet has been created and is ready to use.", + "Zoom": "Zoom", + "amount to send": "amount to send", + "bye!": "bye!", + "gRPC Network Interface & Port": "gRPC Network Interface & Port", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "of", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "peer", + "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC Connection Settings", + "wRPC Encoding:": "wRPC Encoding:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "words" + }, + "lt": {}, + "mn": {}, + "nb": {}, + "nl": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS testnetwerk", + "10 BPS test network": "10 BPS testnetwerk", + "12 word mnemonic": "12-woordige mnemonische code of zin", + "24 word mnemonic": "24-woordige mnemonische code of zin", + "24h Change": "Veranderingen in de afgelopen 24 uur", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "Een binair bestand op een andere locatie genereert een 'childprocess' (experimenteel, alleen voor ontwikkelingsdoeleinden).", + "A random node will be selected on startup": "Bij het opstarten wordt er een willekeurige node gecreëerd.", + "A wallet is stored in a file on your computer.": "Op je computer wordt er een wallet als bestand opgeslagen.", + "Account Index": "Account Index", + "Account Name": "Accountnaam", + "Account:": "Account:", + "Activate custom daemon arguments": "Activeer custom daemon arguments", + "Active p2p Peers": "Actieve p2p Peers", + "Address derivation scan": "Adres afwijking scan", + "Address:": "Adres:", + "Advanced": "Geavanceerd", + "Advanced Options": "Advanced Options", + "All": "Alle", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Toestaan van custom arguments voor de Rusty Kaspa daemon", + "Allows you to take screenshots from within the application": "Hiermee kun je schermafbeeldingen maken vanuit de applicatie.", + "Apply": "Toepassen", + "Balance: N/A": "Balans: N/A", + "Bandwidth": "Bandbreedte", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Vanwege de focus op beveiliging en prestaties is deze software volledig ontwikkeld in Rust, wat aanzienlijk meer tijd en moeite vergt in vergelijking met andere traditionele moderne webgestuurde software.", + "Bezier Curves": "Bezier Curves", + "Block DAG": "Block DAG", + "Block Scale": "Block Scale", + "Blocks": "Blocks", + "Bodies": "Bodies", + "Borsh Active Connections": "Borsh Actieve Verbindingen", + "Borsh Connection Attempts": "Borsh Verbindingspogingen", + "Borsh Handshake Failures": "Borsh Handshake Failures", + "Build": "Build", + "CONNECTED": "VERBONDEN", + "CPU": "CPU", + "Cache Memory Size": "Cachegeheugen grootte", + "Cache Memory Size:": "Cachegeheugen grootte:", + "Cancel": "Annuleren", + "Cannot delete data folder while the node is running": "Kan de gegevensmap niet verwijderen terwijl de node aan het draaien is.", + "Capture a screenshot": "Een schermafbeelding maken", + "Center VSPC": "Center VSPC", + "Chain Blocks": "Chain Blocks", + "Change Address": "Wisseladres", + "Check for Software Updates on GitHub": "Controleer op software-updates op GitHub", + "Check for Updates": "Controleren op updates", + "Clear": "Leegmaken", + "Click to try another server...": "Klik om een andere server te proberen...", + "Client RPC": "Client RPC", + "Close": "Sluiten", + "Close the window": "Sluit het venster", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Bevestig wachtwoord wallet ", + "Connect to a local node (localhost)": "Verbind met een lokale node (localhost)", + "Connecting to": "Verbinden met", + "Connection": "Verbinding", + "Connections": "Verbindingen", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Verbindt met een Remote Rusty Kaspa Node via wRPC.", + "Conservative": "Conservative", + "Continue": "Doorgaan", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Bijdragen die gericht zijn op dit project voeden direct de Kaspa NG-software en zijn ecosysteem.", + "Copied to clipboard": "Gekopieerd naar klembord", + "Copy": "Kopiëren", + "Copy logs to clipboard": "Kopieer logboeken naar klembord", + "Create New Account": "Nieuw account aanmaken", + "Create New Wallet": "Nieuwe wallet aanmaken", + "Create Wallet": "Create Wallet", + "Create new wallet": "Nieuwe wallet aanmaken", + "Creating Account": "Account aanmaken", + "Creating Wallet": "Wallet aanmaken", + "Custom": "Custom", + "Custom Public Node": "Custom Public Node", + "Custom arguments:": "Custom arguments:", + "Custom data storage folder": "Aangepaste gegevens opslagmap", + "DAA": "DAA", + "DAA Offset": "DAA Offset", + "DAA Range": "DAA Range", + "DB Blocks": "DB Blocks", + "DB Headers": "DB Headers", + "Dangerous": "Dangerous", + "Data Storage": "Gegevensopslag", + "Database Blocks": "Database Blocks", + "Database Headers": "Database Headers", + "Decrypting wallet, please wait...": "Wallet aan het ontsleutelen, even geduld ...", + "Default": "Standaard", + "Default Account Name": "Standaard Accountnaam", + "Delete Data Folder": "Verwijder gegevensmap", + "Dependencies": "Dependencies", + "Derivation Indexes": "Derivatie-indexen", + "Details": "Details", + "Developer Mode": "Developer Mode", + "Developer Resources": "Ontwikkelaarsbronnen", + "Developer mode enables advanced and experimental features": "Ontwikkelaarsmodus maakt geavanceerde en experimentele functies mogelijk.", + "Difficulty": "Moeilijkheid", + "Dimensions": "Dimensies", + "Disable password safety rules": "Schakel wachtwoord score-beperkingen uit", + "Disabled": "Uitgeschakeld", + "Disables node connectivity (Offline Mode).": "Schakelt de connectiviteit van de node uit (Offline modus).", + "Discord": "Discord", + "Donations": "Donaties", + "Double click on the graph to re-center...": "Dubbelklik op de grafiek om opnieuw te centreren...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Schakel market monitor in", + "Enable UPnP": "Schakel UPnP in", + "Enable custom daemon arguments": "Schakel custom daemon-arguments in", + "Enable experimental features": "Schakel experimentele functies in", + "Enable gRPC": "Schakel gRPC in", + "Enable optional BIP39 passphrase": "Schakel optionele BIP39 wachtwoordzin in", + "Enable screen capture": "Schakel schermopname in", + "Enables features currently in development": "Schakel de momenteel in ontwikkeling zijnde functies in", + "Enter": "Enter", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Voer accountnaam in (optioneel)", + "Enter first account name": "Voer de naam van het eerste account in", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Voer phishing hint in", + "Enter the amount": "Vul een hoeveelheid in", + "Enter the password for your wallet": "Voer het wachtwoord van je wallet in", + "Enter the password to unlock your wallet": "Voer het wachtwoord in om je wallet te ontgrendelen.", + "Enter wallet name": "Voer de naam van je wallet in", + "Enter wallet password": "Voer het wachtwoord van de wallet in.", + "Enter your wallet secret": "Voer je secret van je wallet in", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Verkenner", + "Export Wallet Data": "Exporteer Wallet Data", + "Faucet": "Faucet", + "File Handles": "File Handles", + "Filename:": "Bestandsnaam:", + "Final Amount:": "Definitieve hoeveelheid:", + "Full Screen": "schermvullend", + "GitHub Release": "GitHub Release", + "Go to Settings": "Ga naar instellingen", + "Good": "Good", + "Handles": "Handles", + "Headers": "Headers", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "Als het niet gespecificeerd is, zal het account worden vertegenwoordigd door het numerieke id.", + "If you are running locally, use: ": "Wanneer je 'lokaal runt', gebruik dan:", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Importeer het bestaande", + "Importing Wallet": "Importing Wallet", + "Inbound": "Inkomend", + "Include QoS Priority Fees": "Includeer QoS Priority Fees", + "Integrated Daemon": "Geïntegreerde Daemon", + "Invalid daemon arguments": "Ongeldige daemon arguments", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Ongeldig netwerktype - verwacht: testnet-10 verbonden met: testnet-11", + "Invalid wRPC URL": "Ongeldige wRPC URL", + "Json Active Connections": "Json actieve verbindingen", + "Json Connection Attempts": "Json verbindingspogingen", + "Json Handshake Failures": "Json Handshake Failures", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Kaspa Integratiehandleiding", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Web App", + "Kaspa NG on GitHub": "Kaspa NG op GitHub", + "Kaspa NG online": "Kaspa NG Online", + "Kaspa Network": "Kaspa Netwerk", + "Kaspa Node": "Kaspa Node", + "Kaspa p2p Network & Node Connection": "Kaspa p2p Netwerk & Node Verbinding", + "Kaspa p2p Node": "Kaspa p2p Node", + "Kaspa p2p Node & Connection": "Kaspa p2p Node & Connection", + "Key Perf.": "Key Perf.", + "Language:": "Taal:", + "Large (1 BPS)": "Groot (1 BPS)", + "Levels": "Levels", + "License Information": "Licentie informatie", + "Local": "Local", + "Local p2p Node Configuration": "Local p2p Node Configuratie", + "Logs": "Logboeken", + "MT": "MT", + "Main Kaspa network": "Main Kaspa-netwerk", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (Main Kaspa-netwerk)", + "Managed by the Rusty Kaspa daemon": "Beheerd door de Rusty Kaspa daemon", + "Market": "Market", + "Market Cap": "Marktkapitalisatie", + "Market Monitor": "Market Monitor", + "Mass Processed": "Mass Processed", + "Maximize window": "Venster maximaliseren", + "Medium Narrow": "Medium Narrow", + "Medium Wide": "Medium Wide", + "Memory": "Geheugen", + "Mempool": "Mempool", + "Mempool Size": "Mempool Grootte", + "Metrics": "Statistieken", + "Metrics are not currently available": "Statistieken zijn momenteel niet beschikbaar", + "Minimize the window": "Venster minimaliseren", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM-modules voor NodeJS", + "Network": "Netwerk", + "Network Difficulty": "Netwerk Moeilijkheidsgraad", + "Network Fees:": "Netwerkkosten:", + "Network Interface": "Netwerkinterface", + "Network Peers": "Netwerk Peers", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "Geen peers", + "No public node selected - please select a public node": "Geen public node geselecteerd - selecteer alsjeblieft een public node", + "No transactions": "Geen transacties", + "No wallets found, please create a new wallet": "Geen wallets gevonden, maak alsjeblieft een nieuwe wallet aan.", + "Node": "Node", + "Node Status": "Node Status", + "Noise": "Noise", + "None": "Geen", + "Not Connected": "Niet verbonden", + "Not connected": "Niet verbonden", + "Notifications": "Meldingen", + "Open Data Folder": "Open Gegevensmap", + "Opening wallet:": "Wallet openen.", + "Optional": "Optioneel", + "Other operations": "Andere activiteiten", + "Outbound": "Uitgaand", + "Overview": "Overzicht", + "Parents": "Parents", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Past Median Time", + "Payment & Recovery Password": "Betaling & Herstel Wachtwoord", + "Payment Request": "Betalingsverzoek", + "Peers": "peers", + "Performance": "Prestatie", + "Phishing Hint": "Phishing Hint", + "Ping:": "Ping:", + "Please Confirm Deletion": "Gelieve verwijdering te bevestigen", + "Please configure your Kaspa NG settings": "Gelieve je Kaspa NG instellingen te configureren", + "Please connect to Kaspa p2p node": "Maak alsjeblieft verbinding met de Kaspa p2p-node.", + "Please create a stronger password": "Maak alsjeblieft een sterker wachtwoord", + "Please enter": "Vul alsjeblieft in", + "Please enter KAS amount to send": "Voer alsjeblieft een hoeveelheid KAS in om te verzenden.", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Vul alsjeblieft een hoeveelheid in.", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Voer alsjeblieft de naam van het account in.", + "Please enter the wallet secret": "Voer alsjeblieft de secret van je wallet in.", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Let op, dit is een alpha-release. Vermijd het gebruik van de wallet met mainnet-funds, totdat dit bericht is verwijderd.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Let op, het kopiëren naar het klembord brengt het risico met zich mee dat uw mnemonische zin wordt blootgesteld aan malware.", + "Please select an account type": "Gelieve een accounttype te selecteren", + "Please select the private key to export": "Selecteer alsjeblieft de private key om te exporteren.", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Gelieve de node in te stellen op 'Uitgeschakeld' om de gegevensmap te verwijderen.", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Gelieve de naam van het standaardaccount op te geven. De wallet wordt aangemaakt met een standaardaccount. Nadat deze is aangemaakt, kunt u indien nodig extra accounts aanmaken.", + "Please specify the name of the new wallet": "Gelieve de naam van de nieuwe wallet op te geven.", + "Please specify the private key type for the new wallet": "Gelieve de private key voor de nieuwe wallet op te geven.", + "Please wait for the node to sync or connect to a remote node.": "Wacht alsjeblieft tot de node is gesynchroniseerd of verbonden is met een externe node.", + "Please wait for the node to sync...": "Wacht alsjeblieft tot de node is gesynchroniseerd...", + "Please wait...": "Even geduld...", + "Presets": "Presets", + "Price": "Prijs", + "Private Key Mnemonic": "Private Key Mnemonic", + "Processed Bodies": "Processed Bodies", + "Processed Dependencies": "Processed Dependencies", + "Processed Headers": "Processed Headers", + "Processed Mass Counts": "Verwerkte Mass Counts", + "Processed Transactions": "Verwerkte transacties", + "Protocol:": "Protocol:", + "Public Node": "Public Node", + "Public Nodes": "Public Nodes", + "Public Server": "Public Server", + "Public p2p Nodes for": "Public p2p Nodes voor", + "Random Public Node": "Willekeurige Public Node", + "Range:": "Bereik:", + "Receive Address": "Ontvangstadres", + "Recommended arguments for the remote node: ": "Aanbevolen arguments voor de externe node:", + "Redistributables": "Herdistribueerbaar", + "Remote": "Op afstand", + "Remote Connection:": "Verbinding op afstand:", + "Remote p2p Node Configuration": "Op afstand p2p node configuratie", + "Removes security restrictions, allows for single-letter passwords": "Verwijdert beveiligingsbeperkingen, staat enkelvoudige-letter wachtwoorden toe", + "Reset Settings": "Instellingen herstellen", + "Reset VSPC": "Reset VSPC", + "Resident Memory": "Resident Geheugen", + "Resources": "Bronnen", + "Resulting daemon arguments:": "Resulterende daemon arguments:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa op GitHub", + "Secret is too weak": "Secret is te zwak", + "Secret score:": "Secret score:", + "Select Account": "Selecteer account", + "Select Available Server": "Select beschikbare server", + "Select Private Key Type": "Selecteer Private Key type", + "Select Public Node": "Selecteer Public Node", + "Select Wallet": "Selecteer wallet", + "Select a wallet to unlock": "Selecteer een wallet om te ontgrendelen", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Versturen", + "Services": "Services", + "Settings": "Instellingen", + "Show DAA": "Toon DAA", + "Show Grid": "Toon Grid", + "Show VSPC": "Toon VSPC", + "Show balances in alternate currencies for testnet coins": "Vertoon saldo's in alternatieve currencies voor testnet tokens ", + "Show passphrase": "Show passphrase", + "Show password": "Toon paswoord", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Toont saldo's in alternatieve currencies (BTC, USD) bij gebruik van testnet tokens alsof u zich op het mainnet bevindt", + "Skip": "Overslaan", + "Small (10 BPS)": "Klein (10 BPS)", + "Spread": "Spreiding", + "Stage": "Fase", + "Starting...": "Aan het starten...", + "Statistics": "Statistieken", + "Stor Read": "Stor Read", + "Stor Write": "Stor Write", + "Storage": "Storage", + "Storage Read": "Storage Read", + "Storage Read/s": "Storage Read/s", + "Storage Write": "Storage Write", + "Storage Write/s": "Storage Write/s", + "Strong": "Strong", + "Submitted Blocks": "Submitted Blocks", + "Supporting Kaspa NG development": "Ondersteuning van de ontwikkeling van Kaspa NG", + "Syncing Cryptographic Proof...": "Cryptografisch bewijs synchroniseren...", + "Syncing DAG Blocks...": "DAG Blocks synchroniseren...", + "Syncing Headers...": "Headers synchroniseren", + "Syncing UTXO entries...": "Synchroniseren van UTXO entries...", + "Syncing...": "Synchroniseren...", + "System": "Systeem", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 is nog niet ingeschakeld voor openbare tests. U kunt de node echter configureren om verbinding te maken met het testnet van de particuliere ontwikkelaar bij Instellingen.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "De Kaspa NG-software vertegenwoordigt een voortdurende inspanning gericht op het bouwen van een state-of-the-art softwareplatform speciaal voor het Kaspa BlockDAG cryptocurrency-netwerk. Deze software is in de kern ideologisch en geeft prioriteit aan beveiliging, privacy, prestaties en decentralisatie.", + "The balance may be out of date during node sync": "Het saldo kan verouderd zijn tijdens het synchroniseren van de node", + "The following will guide you through the process of creating or importing a wallet.": "Hierna wordt u door het proces van het maken of importeren van een wallet geleid.", + "The node is currently syncing with the Kaspa p2p network.": "De node synchroniseert momenteel met het Kaspa p2p-netwerk.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "De node synchroniseert momenteel met het Kaspa p2p-netwerk. Accountbalansen kunnen verouderd zijn.", + "The node is spawned as a child daemon process (recommended).": "De node is gespawned als een child daemon proces (aangeraden).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "De node wordt uitgevoerd als onderdeel van het Kaspa-NG-aanvraagproces. Dit vermindert de communicatieoverhead (experimenteel).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Thema kleur", + "Theme Color:": "Thema kleur:", + "Theme Style": "Thema stijl", + "Theme Style:": "Thema stijl:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Deze wallet zal u nooit om deze Mnemonic Phrase vragen, tenzij u handmatig een herstel van de Private Key start.", + "Threshold": "Threshold", + "Time Offset:": "Time Offset:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Tools ⏷", + "Total Rx": "Totale Rx", + "Total Rx/s": "Totale Rx/s", + "Total Tx": "Totale Tx", + "Total Tx/s": "Totale Tx/s", + "Track in the background": "Tracken op de achtergrond", + "Transactions": "Transacties", + "Transactions:": "Transacties:", + "Type": "Type", + "UTXO Manager": "UTXO Manager", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "Kan de node-instellingen niet wijzigen totdat het probleem is opgelost", + "Unlock": "Ontgrendel", + "Unlock Wallet": "Wallet ontgrendelen", + "Unlocking": "Ontgrendelen", + "Update Available to version": "Update van deze versie beschikbaar", + "Updating...": "Bijwerken...", + "Uptime:": "Uptime:", + "Use 50%-75% of available system memory": "Gebruik 50%-75% van het beschikbare systeemgeheugen", + "Use all available system memory": "Gebruik al het beschikbare systeemgeheugen", + "User Agent": "User Agent", + "User Interface": "Gebruikersinterface", + "Very dangerous (may be cracked within few seconds)": "Zeer gevaarlijk (kan binnen enkele seconden worden gekraakt)", + "Very weak": "Very weak", + "Virt Parents": "Virt Parents", + "Virtual DAA Score": "Virtual DAA Score", + "Virtual Memory": "Virtual Memory", + "Virtual Parent Hashes": "Virtual Parent Hashes", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK voor JavaScript en TypeScript", + "Wallet": "Wallet", + "Wallet Created": "Wallet aangemaakt", + "Wallet Encryption Password": "Wallet Versleutelingswachtwoord ", + "Wallet Name": "Wallet naam", + "Wallet Secret": "Wallet Secret", + "Wallet password is used to encrypt your wallet data.": "Walletpaswoord is gebruikt om je walletdata te versleutelen", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Wallet:", + "We greatly appreciate your help in backing our efforts.": "Wij stellen je hulp bij het ondersteunen van onze inspanningen zeer op prijs.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Welkom bij Kaspa NG", + "Xpub Keys": "Xpub Keys", + "You are currently not connected to the Kaspa node.": "Je bent momenteel niet verbonden met de Kaspa-node.", + "You can configure remote connection in Settings": "Je kunt de externe verbinding configureren in Instellingen", + "You can create multiple wallets, but only one wallet can be open at a time.": "Je kan meerdere wallets creëren, maar er kan er maar één tegelijk geopend zijn.", + "You must be connected to a node...": "Je moet verbonden zijn met een node...", + "Your default wallet private key mnemonic is:": "Je standaard Private Key Mnemonic voor je wallet is:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Met je Mnemonic Phrase kun je je Private Key opnieuw maken. De persoon die toegang heeft tot deze Mnemonic heeft volledige controle over de Kaspa die erin is opgeslagen. Bewaar je Mnemonic veilig. Schrijf het op en bewaar het in een kluis, bij voorkeur op een brandwerende plaats. Bewaar je Mnemonic niet op deze computer of een mobiel apparaat. Deze wallet zal je nooit om deze Mnemonic vragen, tenzij je handmatig een herstel van de Private Key start.", + "Your private key mnemonic is:": "Je Private Key Mnemonic is:", + "Your wallet has been created and is ready to use.": "Je wallet is aangemaakt en klaar voor gebruik.", + "Zoom": "Zoom", + "amount to send": "hoeveelheid om te verzenden", + "bye!": "tot ziens!", + "gRPC Network Interface & Port": "gRPC Netwerkinterface & Poort", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "van", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "peer", + "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx/s", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Rx/s", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC Verbindingsinstellingen", + "wRPC Encoding:": "wRPC-codering", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "words" + }, + "no": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS test network", + "10 BPS test network": "10 BPS test network", + "12 word mnemonic": "12 word mnemonic", + "24 word mnemonic": "24 word mnemonic", + "24h Change": "24h Change", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "A binary at another location is spawned a child process (experimental, for development purposes only).", + "A random node will be selected on startup": "A random node will be selected on startup", + "A wallet is stored in a file on your computer.": "A wallet is stored in a file on your computer.", + "Account Index": "Account Index", + "Account Name": "Account Name", + "Account:": "Account:", + "Activate custom daemon arguments": "Activate custom daemon arguments", + "Active p2p Peers": "Active p2p Peers", + "Address derivation scan": "Address derivation scan", + "Address:": "Address:", + "Advanced": "Advanced", + "Advanced Options": "Advanced Options", + "All": "All", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Allow custom arguments for the Rusty Kaspa daemon", + "Allows you to take screenshots from within the application": "Allows you to take screenshots from within the application", + "Apply": "Apply", + "Balance: N/A": "Balance: N/A", + "Bandwidth": "Bandwidth", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.", + "Bezier Curves": "Bezier Curves", + "Block DAG": "Block DAG", + "Block Scale": "Block Scale", + "Blocks": "Blocks", + "Bodies": "Bodies", + "Borsh Active Connections": "Borsh Active Connections", + "Borsh Connection Attempts": "Borsh Connection Attempts", + "Borsh Handshake Failures": "Borsh Handshake Failures", + "Build": "Build", + "CONNECTED": "CONNECTED", + "CPU": "CPU", + "Cache Memory Size": "Cache Memory Size", + "Cache Memory Size:": "Cache Memory Size:", + "Cancel": "Cancel", + "Cannot delete data folder while the node is running": "Cannot delete data folder while the node is running", + "Capture a screenshot": "Capture a screenshot", + "Center VSPC": "Center VSPC", + "Chain Blocks": "Chain Blocks", + "Change Address": "Change Address", + "Check for Software Updates on GitHub": "Check for Software Updates on GitHub", + "Check for Updates": "Check for Updates", + "Clear": "Clear", + "Click to try another server...": "Click to try another server...", + "Client RPC": "Client RPC", + "Close": "Close", + "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Confirm wallet password", + "Connect to a local node (localhost)": "Connect to a local node (localhost)", + "Connecting to": "Connecting to", + "Connection": "Connection", + "Connections": "Connections", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Connects to a Remote Rusty Kaspa Node via wRPC.", + "Conservative": "Conservative", + "Continue": "Continue", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.", + "Copied to clipboard": "Copied to clipboard", + "Copy": "Copy", + "Copy logs to clipboard": "Copy logs to clipboard", + "Create New Account": "Create New Account", + "Create New Wallet": "Create New Wallet", + "Create Wallet": "Create Wallet", + "Create new wallet": "Create new wallet", + "Creating Account": "Creating Account", + "Creating Wallet": "Creating Wallet", + "Custom": "Custom", + "Custom Public Node": "Custom Public Node", + "Custom arguments:": "Custom arguments:", + "Custom data storage folder": "Custom data storage folder", + "DAA": "DAA", + "DAA Offset": "DAA Offset", + "DAA Range": "DAA Range", + "DB Blocks": "DB Blocks", + "DB Headers": "DB Headers", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", + "Database Blocks": "Database Blocks", + "Database Headers": "Database Headers", + "Decrypting wallet, please wait...": "Decrypting wallet, please wait...", + "Default": "Default", + "Default Account Name": "Default Account Name", + "Delete Data Folder": "Delete Data Folder", + "Dependencies": "Dependencies", + "Derivation Indexes": "Derivation Indexes", + "Details": "Details", + "Developer Mode": "Developer Mode", + "Developer Resources": "Developer Resources", + "Developer mode enables advanced and experimental features": "Developer mode enables advanced and experimental features", + "Difficulty": "Difficulty", + "Dimensions": "Dimensions", + "Disable password safety rules": "Disable password safety rules", + "Disabled": "Disabled", + "Disables node connectivity (Offline Mode).": "Disables node connectivity (Offline Mode).", + "Discord": "Discord", + "Donations": "Donations", + "Double click on the graph to re-center...": "Double click on the graph to re-center...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Enable Market Monitor", + "Enable UPnP": "Enable UPnP", + "Enable custom daemon arguments": "Enable custom daemon arguments", + "Enable experimental features": "Enable experimental features", + "Enable gRPC": "Enable gRPC", + "Enable optional BIP39 passphrase": "Enable optional BIP39 passphrase", + "Enable screen capture": "Enable screen capture", + "Enables features currently in development": "Enables features currently in development", + "Enter": "Enter", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Enter account name (optional)", + "Enter first account name": "Enter first account name", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Enter phishing hint", + "Enter the amount": "Enter the amount", + "Enter the password for your wallet": "Enter the password for your wallet", + "Enter the password to unlock your wallet": "Enter the password to unlock your wallet", + "Enter wallet name": "Enter wallet name", + "Enter wallet password": "Enter wallet password", + "Enter your wallet secret": "Enter your wallet secret", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorer", + "Export Wallet Data": "Export Wallet Data", + "Faucet": "Faucet", + "File Handles": "File Handles", + "Filename:": "Filename:", + "Final Amount:": "Final Amount:", + "Full Screen": "Full Screen", + "GitHub Release": "GitHub Release", + "Go to Settings": "Go to Settings", + "Good": "Good", + "Handles": "Handles", + "Headers": "Headers", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "If not specified, the account will be represented by the numeric id.", + "If you are running locally, use: ": "If you are running locally, use: ", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Import existing", + "Importing Wallet": "Importing Wallet", + "Inbound": "Inbound", + "Include QoS Priority Fees": "Include QoS Priority Fees", + "Integrated Daemon": "Integrated Daemon", + "Invalid daemon arguments": "Invalid daemon arguments", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Invalid network type - expected: testnet-10 connected to: testnet-11", + "Invalid wRPC URL": "Invalid wRPC URL", + "Json Active Connections": "Json Active Connections", + "Json Connection Attempts": "Json Connection Attempts", + "Json Handshake Failures": "Json Handshake Failures", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Kaspa Integration Guide", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Web App", + "Kaspa NG on GitHub": "Kaspa NG on GitHub", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Kaspa Network", + "Kaspa Node": "Kaspa Node", + "Kaspa p2p Network & Node Connection": "Kaspa p2p Network & Node Connection", + "Kaspa p2p Node": "Kaspa p2p Node", + "Kaspa p2p Node & Connection": "Kaspa p2p Node & Connection", + "Key Perf.": "Key Perf.", + "Language:": "Language:", + "Large (1 BPS)": "Large (1 BPS)", + "Levels": "Levels", + "License Information": "License Information", + "Local": "Local", + "Local p2p Node Configuration": "Local p2p Node Configuration", + "Logs": "Logs", + "MT": "MT", + "Main Kaspa network": "Main Kaspa network", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (Main Kaspa network)", + "Managed by the Rusty Kaspa daemon": "Managed by the Rusty Kaspa daemon", + "Market": "Market", + "Market Cap": "Market Cap", + "Market Monitor": "Market Monitor", + "Mass Processed": "Mass Processed", + "Maximize window": "Maximize window", + "Medium Narrow": "Medium Narrow", + "Medium Wide": "Medium Wide", + "Memory": "Memory", + "Mempool": "Mempool", + "Mempool Size": "Mempool Size", + "Metrics": "Metrics", + "Metrics are not currently available": "Metrics are not currently available", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM Modules for NodeJS", + "Network": "Network", + "Network Difficulty": "Network Difficulty", + "Network Fees:": "Network Fees:", + "Network Interface": "Network Interface", + "Network Peers": "Network Peers", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "No peers", + "No public node selected - please select a public node": "No public node selected - please select a public node", + "No transactions": "No transactions", + "No wallets found, please create a new wallet": "No wallets found, please create a new wallet", + "Node": "Node", + "Node Status": "Node Status", + "Noise": "Noise", + "None": "None", + "Not Connected": "Not Connected", + "Not connected": "Not connected", + "Notifications": "Notifications", + "Open Data Folder": "Open Data Folder", + "Opening wallet:": "Opening wallet:", + "Optional": "Optional", + "Other operations": "Other operations", + "Outbound": "Outbound", + "Overview": "Overview", + "Parents": "Parents", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Past Median Time", + "Payment & Recovery Password": "Payment & Recovery Password", + "Payment Request": "Payment Request", + "Peers": "Peers", + "Performance": "Performance", + "Phishing Hint": "Phishing Hint", + "Ping:": "Ping:", + "Please Confirm Deletion": "Please Confirm Deletion", + "Please configure your Kaspa NG settings": "Please configure your Kaspa NG settings", + "Please connect to Kaspa p2p node": "Please connect to Kaspa p2p node", + "Please create a stronger password": "Please create a stronger password", + "Please enter": "Please enter", + "Please enter KAS amount to send": "Please enter KAS amount to send", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Please enter an amount", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Please enter the account name", + "Please enter the wallet secret": "Please enter the wallet secret", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.", + "Please select an account type": "Please select an account type", + "Please select the private key to export": "Please select the private key to export", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Please set node to 'Disabled' to delete the data folder", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.", + "Please specify the name of the new wallet": "Please specify the name of the new wallet", + "Please specify the private key type for the new wallet": "Please specify the private key type for the new wallet", + "Please wait for the node to sync or connect to a remote node.": "Please wait for the node to sync or connect to a remote node.", + "Please wait for the node to sync...": "Please wait for the node to sync...", + "Please wait...": "Please wait...", + "Presets": "Presets", + "Price": "Price", + "Private Key Mnemonic": "Private Key Mnemonic", + "Processed Bodies": "Processed Bodies", + "Processed Dependencies": "Processed Dependencies", + "Processed Headers": "Processed Headers", + "Processed Mass Counts": "Processed Mass Counts", + "Processed Transactions": "Processed Transactions", + "Protocol:": "Protocol:", + "Public Node": "Public Node", + "Public Nodes": "Public Nodes", + "Public Server": "Public Server", + "Public p2p Nodes for": "Public p2p Nodes for", + "Random Public Node": "Random Public Node", + "Range:": "Range:", + "Receive Address": "Receive Address", + "Recommended arguments for the remote node: ": "Recommended arguments for the remote node: ", + "Redistributables": "Redistributables", + "Remote": "Remote", + "Remote Connection:": "Remote Connection:", + "Remote p2p Node Configuration": "Remote p2p Node Configuration", + "Removes security restrictions, allows for single-letter passwords": "Removes security restrictions, allows for single-letter passwords", + "Reset Settings": "Reset Settings", + "Reset VSPC": "Reset VSPC", + "Resident Memory": "Resident Memory", + "Resources": "Resources", + "Resulting daemon arguments:": "Resulting daemon arguments:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa on GitHub", + "Secret is too weak": "Secret is too weak", + "Secret score:": "Secret score:", + "Select Account": "Select Account", + "Select Available Server": "Select Available Server", + "Select Private Key Type": "Select Private Key Type", + "Select Public Node": "Select Public Node", + "Select Wallet": "Select Wallet", + "Select a wallet to unlock": "Select a wallet to unlock", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Send", + "Services": "Services", + "Settings": "Settings", + "Show DAA": "Show DAA", + "Show Grid": "Show Grid", + "Show VSPC": "Show VSPC", + "Show balances in alternate currencies for testnet coins": "Show balances in alternate currencies for testnet coins", + "Show passphrase": "Show passphrase", + "Show password": "Show password", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet", + "Skip": "Skip", + "Small (10 BPS)": "Small (10 BPS)", + "Spread": "Spread", + "Stage": "Stage", + "Starting...": "Starting...", + "Statistics": "Statistics", + "Stor Read": "Stor Read", + "Stor Write": "Stor Write", + "Storage": "Storage", + "Storage Read": "Storage Read", + "Storage Read/s": "Storage Read/s", + "Storage Write": "Storage Write", + "Storage Write/s": "Storage Write/s", + "Strong": "Strong", + "Submitted Blocks": "Submitted Blocks", + "Supporting Kaspa NG development": "Supporting Kaspa NG development", + "Syncing Cryptographic Proof...": "Syncing Cryptographic Proof...", + "Syncing DAG Blocks...": "Syncing DAG Blocks...", + "Syncing Headers...": "Syncing Headers...", + "Syncing UTXO entries...": "Syncing UTXO entries...", + "Syncing...": "Syncing...", + "System": "System", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.", + "The balance may be out of date during node sync": "The balance may be out of date during node sync", + "The following will guide you through the process of creating or importing a wallet.": "The following will guide you through the process of creating or importing a wallet.", + "The node is currently syncing with the Kaspa p2p network.": "The node is currently syncing with the Kaspa p2p network.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.", + "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Theme Color", + "Theme Color:": "Theme Color:", + "Theme Style": "Theme Style", + "Theme Style:": "Theme Style:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Threshold": "Threshold", + "Time Offset:": "Time Offset:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Tools ⏷", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Track in the background", + "Transactions": "Transactions", + "Transactions:": "Transactions:", + "Type": "Type", + "UTXO Manager": "UTXO Manager", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "Unable to change node settings until the problem is resolved", + "Unlock": "Unlock", + "Unlock Wallet": "Unlock Wallet", + "Unlocking": "Unlocking", + "Update Available to version": "Update Available to version", + "Updating...": "Updating...", + "Uptime:": "Uptime:", + "Use 50%-75% of available system memory": "Use 50%-75% of available system memory", + "Use all available system memory": "Use all available system memory", + "User Agent": "User Agent", + "User Interface": "User Interface", + "Very dangerous (may be cracked within few seconds)": "Very dangerous (may be cracked within few seconds)", + "Very weak": "Very weak", + "Virt Parents": "Virt Parents", + "Virtual DAA Score": "Virtual DAA Score", + "Virtual Memory": "Virtual Memory", + "Virtual Parent Hashes": "Virtual Parent Hashes", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", + "Wallet": "Wallet", + "Wallet Created": "Wallet Created", + "Wallet Encryption Password": "Wallet Encryption Password", + "Wallet Name": "Wallet Name", + "Wallet Secret": "Wallet Secret", + "Wallet password is used to encrypt your wallet data.": "Wallet password is used to encrypt your wallet data.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Wallet:", + "We greatly appreciate your help in backing our efforts.": "We greatly appreciate your help in backing our efforts.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Welcome to Kaspa NG", + "Xpub Keys": "Xpub Keys", + "You are currently not connected to the Kaspa node.": "You are currently not connected to the Kaspa node.", + "You can configure remote connection in Settings": "You can configure remote connection in Settings", + "You can create multiple wallets, but only one wallet can be open at a time.": "You can create multiple wallets, but only one wallet can be open at a time.", + "You must be connected to a node...": "You must be connected to a node...", + "Your default wallet private key mnemonic is:": "Your default wallet private key mnemonic is:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Your private key mnemonic is:": "Your private key mnemonic is:", + "Your wallet has been created and is ready to use.": "Your wallet has been created and is ready to use.", + "Zoom": "Zoom", + "amount to send": "amount to send", + "bye!": "bye!", + "gRPC Network Interface & Port": "gRPC Network Interface & Port", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "of", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "peer", + "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC Connection Settings", + "wRPC Encoding:": "wRPC Encoding:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "words" + }, + "pa": {}, + "pl": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "sieć testowa 1 BPS", + "10 BPS test network": "sieć testowa 10 BPS", + "12 word mnemonic": "Mnemonik składający się z 12 słów", + "24 word mnemonic": "Mnemonik składający się z 24 słów", + "24h Change": "Zmiana 24h", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "Plik binarny w innej lokalizacji jest generowany jako proces potomny (eksperymentalny, wyłącznie do celów programistycznych).", + "A random node will be selected on startup": "Podczas uruchamiania zostanie wybrany losowy węzeł", + "A wallet is stored in a file on your computer.": "Portfel przechowywany w pliku na Twoim komputerze.", + "Account Index": "Indeks konta", + "Account Name": "Nazwa konta", + "Account:": "Konto:", + "Activate custom daemon arguments": "Aktywuj niestandardowe argumenty demona", + "Active p2p Peers": "Aktywni partnerzy p2p", + "Address derivation scan": "Skanowanie wyprowadzania adresu", + "Address:": "Adres:", + "Advanced": "Zaawansowane", + "Advanced Options": "Advanced Options", + "All": "Wszystko", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Zezwalaj na niestandardowe argumenty dla demona Rusty Kaspa", + "Allows you to take screenshots from within the application": "Umożliwia wykonywanie zrzutów ekranu z poziomu aplikacji", + "Apply": "Zastosuj", + "Balance: N/A": "Saldo: nie dostępne", + "Bandwidth": "Przepustowość łącza", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Ze względu na skupienie się na bezpieczeństwie i wydajności, oprogramowanie to zostało w całości opracowane w języku Rust, co wymaga znacznie więcej czasu i wysiłku w porównaniu do innych tradycyjnych, nowoczesnych programów internetowych.", + "Bezier Curves": "Krzywe Beziera", + "Block DAG": "Zablokuj DAG", + "Block Scale": "Skala blokowa", + "Blocks": "Bloki", + "Bodies": "Ciała", + "Borsh Active Connections": "Aktywne połączenia Borsh", + "Borsh Connection Attempts": "Próby połączenia Borsha", + "Borsh Handshake Failures": "Błędy Handshake Borsha", + "Build": "Wersja", + "CONNECTED": "POŁĄCZONY", + "CPU": "CPU", + "Cache Memory Size": "Rozmiar pamięci podręcznej", + "Cache Memory Size:": "Rozmiar pamięci podręcznej:", + "Cancel": "Anuluj", + "Cannot delete data folder while the node is running": "Nie można usunąć folderu danych, gdy węzeł jest uruchomiony", + "Capture a screenshot": "Zrób zrzut ekranu", + "Center VSPC": "Centrum VSPC", + "Chain Blocks": "Bloki łańcuchowe", + "Change Address": "Zmiana adresu", + "Check for Software Updates on GitHub": "Sprawdź dostępność aktualizacji oprogramowania w GitHub", + "Check for Updates": "Sprawdź aktualizacje", + "Clear": "Wyczyść", + "Click to try another server...": "Kliknij by wybrać inny serwer...", + "Client RPC": "Klient RPC", + "Close": "Zamknij", + "Close the window": "Zamknij okno", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Potwierdź hasło do portfela", + "Connect to a local node (localhost)": "Połącz się z węzłem lokalnym (localhost)", + "Connecting to": "Łączenie z", + "Connection": "Połączono", + "Connections": "Połączenia", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Łączy się ze zdalnym węzłem Rusty Kaspa za pośrednictwem wRPC.", + "Conservative": "Konserwatywny", + "Continue": "Kontynuuj", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Wkład w ten projekt bezpośrednio napędza oprogramowanie Kaspa NG i jego ekosystem.", + "Copied to clipboard": "Skopiowane do schowka", + "Copy": "Kopiuj", + "Copy logs to clipboard": "Skopiuj logi do schowka", + "Create New Account": "Stwórz nowe konto", + "Create New Wallet": "Utwórz nowy portfel", + "Create Wallet": "Create Wallet", + "Create new wallet": "Utwórz nowy portfel", + "Creating Account": "Tworzenie konta", + "Creating Wallet": "Tworzenie portfela", + "Custom": "Niestandardowe", + "Custom Public Node": "Niestandardowy węzeł publiczny", + "Custom arguments:": "Argumenty niestandardowe:", + "Custom data storage folder": "Folder przechowywania danych", + "DAA": "DAA", + "DAA Offset": "Przesunięcie DAA", + "DAA Range": "Zakres DAA", + "DB Blocks": "Bloki DB", + "DB Headers": "Nagłówki DB", + "Dangerous": "Dangerous", + "Data Storage": "Magazyn danych", + "Database Blocks": "Bloki baz danych", + "Database Headers": "Nagłówki bazy danych", + "Decrypting wallet, please wait...": "Odszyfrowywanie portfela, proszę czekać...", + "Default": "Domyślny", + "Default Account Name": "Domyślna nazwa konta", + "Delete Data Folder": "Usuń folder danych", + "Dependencies": "Zależności", + "Derivation Indexes": "Indeksy pochodne", + "Details": "Szczegóły", + "Developer Mode": "Tryb dewelopera", + "Developer Resources": "Zasoby dla programistów", + "Developer mode enables advanced and experimental features": "Tryb programisty umożliwia korzystanie z zaawansowanych i eksperymentalnych funkcji", + "Difficulty": "Trudność", + "Dimensions": "Wymiary", + "Disable password safety rules": "Wyłącz ograniczenia punktacji hasła", + "Disabled": "Wyłączony", + "Disables node connectivity (Offline Mode).": "Wyłącza łączność węzła (tryb offline).", + "Discord": "Discord", + "Donations": "Darowizny", + "Double click on the graph to re-center...": "Kliknij dwukrotnie wykres, aby ponownie wyśrodkować...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Włącz Monitor rynku", + "Enable UPnP": "Włącz UPnP", + "Enable custom daemon arguments": "Włącz niestandardowe argumenty demona", + "Enable experimental features": "Włącz funkcje eksperymentalne", + "Enable gRPC": "Włącz gRPC", + "Enable optional BIP39 passphrase": "Włącz opcjonalne hasło BIP39", + "Enable screen capture": "Włącz przechwytywanie ekranu", + "Enables features currently in development": "Włącza funkcje testowe - aktualnie opracowywane", + "Enter": "Enter", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Wpisz nazwę konta (opcjonalnie)", + "Enter first account name": "Wpisz pierwszą nazwę konta", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Wpisz wskazówkę dotyczącą phishingu", + "Enter the amount": "Wprowadź kwotę", + "Enter the password for your wallet": "Wpisz hasło do swojego portfela", + "Enter the password to unlock your wallet": "Wprowadź hasło, aby odblokować swój portfel", + "Enter wallet name": "Wpisz nazwę portfela", + "Enter wallet password": "Wprowadź hasło do portfela", + "Enter your wallet secret": "Wprowadź sekret swojego portfela", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Eksplorator", + "Export Wallet Data": "Eksportuj dane portfela", + "Faucet": "Kran", + "File Handles": "Uchwyty plików", + "Filename:": "Nazwa pliku:", + "Final Amount:": "Końcowa kwota:", + "Full Screen": "Pełny Ekran", + "GitHub Release": "Wydanie GitHuba", + "Go to Settings": "Przejdź do ustawień", + "Good": "Good", + "Handles": "Uchwyty", + "Headers": "Nagłówki", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "Jeśli nie zostanie określony, konto będzie reprezentowane przez identyfikator numeryczny.", + "If you are running locally, use: ": "Jeśli używasz lokalnie, użyj: ", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Importuj istniejące", + "Importing Wallet": "Importing Wallet", + "Inbound": "Przychodzące", + "Include QoS Priority Fees": "Uwzględnij opłaty za priorytet QoS", + "Integrated Daemon": "Zintegrowany demon", + "Invalid daemon arguments": "Nieprawidłowe argumenty demona", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Nieprawidłowy typ sieci - oczekiwano: testnet-10 podłączony do: testnet-11", + "Invalid wRPC URL": "Nieprawidłowy adres URL wRPC", + "Json Active Connections": "Aktywne połączenia Jsona", + "Json Connection Attempts": "Próby połączenia Json", + "Json Handshake Failures": "Błędy Handshake Json", + "Kaspa Discord": "Discord Kaspy", + "Kaspa Integration Guide": "Przewodnik integracji Kaspy", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Aplikacja internetowa Kaspa NG", + "Kaspa NG on GitHub": "Kaspa NG na GitHubie", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Sieć Kaspa", + "Kaspa Node": "Węzeł Kaspa", + "Kaspa p2p Network & Node Connection": "Sieć p2p Kaspa oraz połączenie z węzłem", + "Kaspa p2p Node": "Węzeł Kaspa p2p", + "Kaspa p2p Node & Connection": "Węzeł Kaspa p2p", + "Key Perf.": "Kluczowa wydajność", + "Language:": "Język:", + "Large (1 BPS)": "Duży (1 BPS)", + "Levels": "Poziomy", + "License Information": "Informacje o licencji", + "Local": "Lokalny", + "Local p2p Node Configuration": "Konfiguracja lokalnego węzła p2p", + "Logs": "Dzienniki", + "MT": "MT", + "Main Kaspa network": "Główna sieć Kaspa", + "Mainnet": "Sieć główna", + "Mainnet (Main Kaspa network)": "Mainnet (główna sieć Kaspa)", + "Managed by the Rusty Kaspa daemon": "Zarządzany przez demona Rusty Kaspa", + "Market": "Rynek", + "Market Cap": "Kapitalizacja rynkowa", + "Market Monitor": "Monitor rynku", + "Mass Processed": "Przetworzone masowo", + "Maximize window": "Maksymalizuj", + "Medium Narrow": "Średnio wąski", + "Medium Wide": "Średnio szeroki", + "Memory": "Pamięć", + "Mempool": "Pamięć", + "Mempool Size": "Rozmiar pamięci", + "Metrics": "Metryka", + "Metrics are not currently available": "Dane nie są obecnie dostępne", + "Minimize the window": "Minimalizuj", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "Moduły NPM dla NodeJS", + "Network": "Sieć", + "Network Difficulty": "Trudność sieci", + "Network Fees:": "Opłaty sieciowe:", + "Network Interface": "Interfejs sieciowy", + "Network Peers": "Peers Sieci", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "Brak Peers", + "No public node selected - please select a public node": "Nie wybrano węzła publicznego — wybierz węzeł publiczny", + "No transactions": "Brak transakcji", + "No wallets found, please create a new wallet": "Nie znaleziono portfeli, proszę utworzyć nowy.", + "Node": "Węzeł", + "Node Status": "Stan węzła", + "Noise": "Hałas", + "None": "Brak", + "Not Connected": "Nie połączony", + "Not connected": "Nie połączony", + "Notifications": "Powiadomienia", + "Open Data Folder": "Otwórz folder danych", + "Opening wallet:": "Otwieranie portfela:", + "Optional": "Opcjonalny", + "Other operations": "Inne operacje", + "Outbound": "Wychodzące", + "Overview": "Przegląd", + "Parents": "Rodzice", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Przeszły średni czas", + "Payment & Recovery Password": "Zapłata", + "Payment Request": "Żądanie zapłaty", + "Peers": "Peers", + "Performance": "Wydajność", + "Phishing Hint": "Wskazówka dotycząca phishingu", + "Ping:": "Ping:", + "Please Confirm Deletion": "Proszę potwierdzić usunięcie", + "Please configure your Kaspa NG settings": "Proszę skonfigurować ustawienia Kaspa NG", + "Please connect to Kaspa p2p node": "Proszę połączyć się z węzłem p2p Kaspa", + "Please create a stronger password": "Utwórz silniejsze hasło", + "Please enter": "Podaj", + "Please enter KAS amount to send": "Proszę wpisać kwotę KAS do wysłania", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Proszę wpisać kwotę", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Proszę wpisać nazwę konta", + "Please enter the wallet secret": "Proszę podać sekret portfela", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Należy pamiętać, że jest to wersja alfa. Do momentu usunięcia tej wiadomości nie łącz portfela z Mainnet.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Pamiętaj, że kopiowanie do schowka niesie ze sobą ryzyko narażenia Twojego mnemonika na złośliwe oprogramowanie.", + "Please select an account type": "Proszę wybrać typ konta", + "Please select the private key to export": "Wybierz klucz prywatny do wyeksportowania", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Aby usunąć folder danych, ustaw węzeł na 'Wyłączony'.", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Proszę podać nazwę konta domyślnego. ", + "Please specify the name of the new wallet": "Podaj nazwę nowego portfela", + "Please specify the private key type for the new wallet": "Proszę określić typ klucza prywatnego dla nowego portfela", + "Please wait for the node to sync or connect to a remote node.": "Poczekaj, aż węzeł się zsynchronizuje lub połączy się z węzłem zdalnym.", + "Please wait for the node to sync...": "Poczekaj, aż węzeł się zsynchronizuje...", + "Please wait...": "Proszę czekać...", + "Presets": "Ustawienia wstępne", + "Price": "Cena", + "Private Key Mnemonic": "Mnemonik klucza prywatnego", + "Processed Bodies": "Przetworzone ciała", + "Processed Dependencies": "Przetworzone zależności", + "Processed Headers": "Przetworzone nagłówki", + "Processed Mass Counts": "Liczniki przetworzonej masy", + "Processed Transactions": "Przetworzone transakcje", + "Protocol:": "Protokół:", + "Public Node": "Węzeł publiczny", + "Public Nodes": "Węzły publiczne", + "Public Server": "Serwer publiczny", + "Public p2p Nodes for": "Publiczne węzły p2p dla", + "Random Public Node": "Losowy węzeł publiczny", + "Range:": "Zakres:", + "Receive Address": "Adres do odbioru", + "Recommended arguments for the remote node: ": "Zalecane argumenty dla zdalnego węzła: ", + "Redistributables": "Redystrybucyjne", + "Remote": "Zdalny", + "Remote Connection:": "Zdalne połączenie:", + "Remote p2p Node Configuration": "Zdalna konfiguracja węzła p2p", + "Removes security restrictions, allows for single-letter passwords": "Usuwa ograniczenia bezpieczeństwa, umożliwia stosowanie haseł jednoliterowych", + "Reset Settings": "Resetowanie ustawień", + "Reset VSPC": "Zresetuj VSPC", + "Resident Memory": "Pamięć rezydenta", + "Resources": "Zasoby", + "Resulting daemon arguments:": "Wynikowe argumenty demona:", + "Rust Wallet SDK": "Pakiet SDK portfela Rust", + "Rusty Kaspa on GitHub": "Rusty Kaspa na GitHubie", + "Secret is too weak": "Sekret jest za słaby", + "Secret score:": "Sekretny wynik:", + "Select Account": "Wybierz Konto", + "Select Available Server": "Wybierz Dostępny serwer", + "Select Private Key Type": "Wybierz Typ klucza prywatnego", + "Select Public Node": "Wybierz węzeł publiczny", + "Select Wallet": "Wybierz Portfel", + "Select a wallet to unlock": "Wybierz portfel do odblokowania", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Wyślij", + "Services": "Usługi", + "Settings": "Ustawienia", + "Show DAA": "Pokaż DAA", + "Show Grid": "Pokaż siatkę", + "Show VSPC": "Pokaż VSPC", + "Show balances in alternate currencies for testnet coins": "Pokaż salda w alternatywnych walutach dla monet testnetowych", + "Show passphrase": "Show passphrase", + "Show password": "Pokaż hasło", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Pokazuje salda w alternatywnych walutach (BTC, USD) podczas korzystania z monet testnetowych, tak jakbyś był w sieci głównej", + "Skip": "Pomiń", + "Small (10 BPS)": "Mały (10 BPS)", + "Spread": "Rozpowszechnienie", + "Stage": "Scena", + "Starting...": "Startowy...", + "Statistics": "Statystyka", + "Stor Read": "Odczyty dysku", + "Stor Write": "Zapisy dysku", + "Storage": "Dysk", + "Storage Read": "Odczyty pamięci", + "Storage Read/s": "Pamięć Odczyt/s", + "Storage Write": "Zapis do pamięci", + "Storage Write/s": "Pamięć Zapis/s", + "Strong": "Strong", + "Submitted Blocks": "Przesłane bloki", + "Supporting Kaspa NG development": "Wspieranie rozwoju Kaspa NG", + "Syncing Cryptographic Proof...": "Synchronizowanie dowodu kryptograficznego...", + "Syncing DAG Blocks...": "Synchronizowanie bloków DAG...", + "Syncing Headers...": "Synchronizowanie nagłówków...", + "Syncing UTXO entries...": "Synchronizowanie wpisów UTXO...", + "Syncing...": "Synchronizowanie...", + "System": "System", + "TPS": "TPS", + "Testnet 10": "Sieć testowa 10", + "Testnet 10 (1 BPS)": "Sieć testowa 10 (1 BPS)", + "Testnet 11": "Sieć testowa 11", + "Testnet 11 (10 BPS)": "Sieć testowa 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 nie jest jeszcze udostępniony do testów publicznych. Możesz jednak skonfigurować węzeł tak, aby łączył się z prywatną siecią testową w panelu Ustawienia.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Oprogramowanie Kaspa NG reprezentuje ciągły wysiłek skupiony na budowaniu najnowocześniejszej platformy oprogramowania dedykowanej sieci kryptowalut Kaspa BlockDAG. Oprogramowanie to skupia się na bezpieczeństwie, prywatności, wydajności i decentralizacji.", + "The balance may be out of date during node sync": "Saldo może być nieaktualne podczas synchronizacji węzła", + "The following will guide you through the process of creating or importing a wallet.": "Ta instrukcja przeprowadzi Cię przez proces tworzenia lub importowania portfela.", + "The node is currently syncing with the Kaspa p2p network.": "Węzeł aktualnie synchronizuje się z siecią p2p Kaspa.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "Węzeł aktualnie synchronizuje się z siecią p2p Kaspa. ", + "The node is spawned as a child daemon process (recommended).": "Węzeł jest uruchamiany jako proces demona podrzędnego (zalecane).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "Węzeł działa w ramach procesu aplikacyjnego Kaspa-NG. Zmniejsza to obciążenie komunikacyjne (eksperymentalne).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Kolor motywu", + "Theme Color:": "Kolor motywu:", + "Theme Style": "Styl motywu", + "Theme Style:": "Styl motywu:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Ten portfel nigdy nie poprosi Cię o podanie tego mnemonicznego wyrażenia, chyba że ręcznie zainicjujesz odzyskiwanie klucza prywatnego.", + "Threshold": "Próg", + "Time Offset:": "Przesunięcie czasu:", + "Tip Hashes": "Wskazówki Hashe", + "Tools ⏷": "Narzędzia ⏷", + "Total Rx": "Całkowity odbiór", + "Total Rx/s": "Całkowity Rx/s", + "Total Tx": "Całkowity przesył", + "Total Tx/s": "Całkowity Tx/s", + "Track in the background": "Śledź w tle", + "Transactions": "Transakcje", + "Transactions:": "Transakcje:", + "Type": "Typ", + "UTXO Manager": "Menedżer UTXO", + "UTXOs": "UTXO", + "UTXOs:": "UTXO:", + "Unable to change node settings until the problem is resolved": "Nie można zmienić ustawień węzła, dopóki problem nie zostanie rozwiązany", + "Unlock": "Odblokuj", + "Unlock Wallet": "Odblokuj portfel", + "Unlocking": "Odblokowanie", + "Update Available to version": "Aktualizacja Dostępna dla wersji", + "Updating...": "Aktualizowanie...", + "Uptime:": "Czas pracy:", + "Use 50%-75% of available system memory": "Użyj 50%-75% dostępnej pamięci systemowej", + "Use all available system memory": "Wykorzystaj całą dostępną pamięć systemową", + "User Agent": "Agent użytkownika", + "User Interface": "Interfejs użytkownika", + "Very dangerous (may be cracked within few seconds)": "Bardzo niebezpieczne (może zostać złamane w ciągu kilku sekund)", + "Very weak": "Very weak", + "Virt Parents": "Virt Rodzice", + "Virtual DAA Score": "Wirtualny wynik DAA", + "Virtual Memory": "Pamięć wirtualna", + "Virtual Parent Hashes": "Wirtualne skróty nadrzędne", + "Volume": "Tom", + "WASM SDK for JavaScript and TypeScript": "WASM SDK dla JavaScript i TypeScript", + "Wallet": "Portfel", + "Wallet Created": "Portfel utworzono", + "Wallet Encryption Password": "Hasło szyfrowania portfela", + "Wallet Name": "Nazwa portfela", + "Wallet Secret": "Sekret portfela", + "Wallet password is used to encrypt your wallet data.": "Hasło do portfela służy do szyfrowania danych portfela.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Portfel:", + "We greatly appreciate your help in backing our efforts.": "Jesteśmy bardzo wdzięczni za pomoc we wsparciu naszych wysiłków.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Witamy w Kaspa NG", + "Xpub Keys": "Klucze Xpuba", + "You are currently not connected to the Kaspa node.": "Obecnie nie masz połączenia z węzłem Kaspa.", + "You can configure remote connection in Settings": "Połączenie zdalne możesz skonfigurować w Ustawieniach", + "You can create multiple wallets, but only one wallet can be open at a time.": "Możesz utworzyć wiele portfeli, ale jednocześnie może być otwarty tylko jeden.", + "You must be connected to a node...": "Musisz być podłączony do węzła...", + "Your default wallet private key mnemonic is:": "Twój domyślny mnemonik klucza prywatnego portfela to:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Twoja fraza mnemoniczna umożliwia odtworzenie klucza prywatnego. Osoba mająca dostęp do tego mnemonika będzie miała pełną kontrolę nad przechowywaną w nim Kaspą. Chroń swój mnemonik. Zapisz go i przechowuj w sejfie, najlepiej w miejscu ognioodpornym. Nie przechowuj swojego mnemonika na tym komputerze lub urządzeniu mobilnym. Ten portfel nigdy nie poprosi Cię o podanie tego mnemonicznego wyrażenia, chyba że ręcznie zainicjujesz odzyskiwanie klucza prywatnego.", + "Your private key mnemonic is:": "Twój mnemonik klucza prywatnego to:", + "Your wallet has been created and is ready to use.": "Twój portfel został utworzony i jest gotowy do użycia.", + "Zoom": "Powiększenie", + "amount to send": "kwota do wysłania", + "bye!": "do widzenia!", + "gRPC Network Interface & Port": "Interfejs sieciowy gRPC", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "z", + "p2p RPC": "p2pRPC", + "p2p Rx": "odbiór p2p", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Transmisja/s", + "peer": "peer", + "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "Odbiór wRPC Borsh", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "Wysyłka wRPC Borsh", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "Ustawienia połączenia wRPC", + "wRPC Encoding:": "Kodowanie wRPC:", + "wRPC JSON Rx": "Odbiór wRPC JSON", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "Wysyłka wRPC JSON", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "Adres URL wRPC:", + "words": "words" + }, + "pt": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "rede de teste 1 BPS", + "10 BPS test network": "rede de teste 10 BPS", + "12 word mnemonic": "12 palavras mnemônicas", + "24 word mnemonic": "24 palavras mnemônicas", + "24h Change": "Alteração 24h ", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "Um binário numa outra localização criou um sub-processo (experimental, apenas para desenvolvimento) ", + "A random node will be selected on startup": "Um nódulo aleatório será seleccionado ao iniciar ", + "A wallet is stored in a file on your computer.": "Uma carteira está guardada num ficheiro no seu computador ", + "Account Index": "Índice de conta", + "Account Name": "Nome da conta ", + "Account:": "Conta:", + "Activate custom daemon arguments": "Habilitar argumentos do daemon personalizados", + "Active p2p Peers": "Activar pares p2p", + "Address derivation scan": "Explorar derivação de moradas ", + "Address:": "Morada:", + "Advanced": "Avançado", + "Advanced Options": "Advanced Options", + "All": "Todas", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Permitir argumentos personalizados para o daemon Rusty Kaspa ", + "Allows you to take screenshots from within the application": "Permite que faça capturas de tela dentro da aplicação ", + "Apply": "Aplicar ", + "Balance: N/A": "Saldo: N/A", + "Bandwidth": "Largura de banda", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Devido ao seu foco em segurança e desempenho, este software é inteiramente desenvolvido em Rust, e exige significativamente mais tempo e esforço em comparação a outros softwares modernos tradicionais baseados na web.", + "Bezier Curves": "Curva de Bézier", + "Block DAG": "Bloco DAG", + "Block Scale": "Escala do bloco", + "Blocks": "Blocos", + "Bodies": "Corpos", + "Borsh Active Connections": "Conexões Activas Borsh", + "Borsh Connection Attempts": "Tentativas de conexão Borsh", + "Borsh Handshake Failures": "Falhas no aperto de mão Borsh", + "Build": "Versão", + "CONNECTED": "CONECTADO ", + "CPU": "CPU", + "Cache Memory Size": "Tamanho de Memória Cache ", + "Cache Memory Size:": "Tamanho de Memória Cache ", + "Cancel": "Cancelar", + "Cannot delete data folder while the node is running": "Impossível apagar o ficheiro enquanto o nódulo está a funcionar ", + "Capture a screenshot": "Fazer uma captura de tela", + "Center VSPC": "Centrar VSPC", + "Chain Blocks": "Cadeia de Blocos", + "Change Address": "Morada de Troco ", + "Check for Software Updates on GitHub": "Verificar Actualizações de Software no Github", + "Check for Updates": "Verificar Actualizações", + "Clear": "Limpar", + "Click to try another server...": "Clicar para tentar noutro servidor ", + "Client RPC": "Cliente RPC", + "Close": "Fechar", + "Close the window": "Fechar a janela", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Confirmar a password da carteira ", + "Connect to a local node (localhost)": "Conectar a nódulo local (localhost)", + "Connecting to": "A conectar a", + "Connection": "Conexão ", + "Connections": "Conexões", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Conecta a Nódulo Remoto Rusty Kaspa via wRPC", + "Conservative": "Conservador", + "Continue": "Continuar ", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "As contribuições direccionadas para este projecto alimentam directamente o software Kaspa NG e seu ecossistema.", + "Copied to clipboard": "Copiado para a área de transferência", + "Copy": "Copiar ", + "Copy logs to clipboard": "Copiar registros para a área de transferência", + "Create New Account": "Criar Nova Conta", + "Create New Wallet": "Criar Nova Carteira ", + "Create Wallet": "Create Wallet", + "Create new wallet": "Criar nova carteira ", + "Creating Account": "A Criar Nova Conta ", + "Creating Wallet": "A Criar Nova Carteira", + "Custom": "Personalizar ", + "Custom Public Node": "Personalizar Nódulo Público ", + "Custom arguments:": "Argumentos personalizados ", + "Custom data storage folder": "Pasta de armazenamento de dados personalizada", + "DAA": "DAA", + "DAA Offset": "Desvio DAA", + "DAA Range": "Alcance DAA", + "DB Blocks": "DB Blocos", + "DB Headers": "Cabeçalhos Base Dados", + "Dangerous": "Dangerous", + "Data Storage": "Armazenamento de dados", + "Database Blocks": "Blocos da Base dados ", + "Database Headers": "Cabeçalhos da Base Dados ", + "Decrypting wallet, please wait...": "A descriptografar a carteira, aguarde...", + "Default": "Predefinido", + "Default Account Name": "Nome de Conta Predefinido ", + "Delete Data Folder": "Apagar ficheiro de dados", + "Dependencies": "Dependências ", + "Derivation Indexes": "Índices de Derivação", + "Details": "Detalhes", + "Developer Mode": "Modo de Desenvolvedor", + "Developer Resources": "Recursos para Desenvolvedores", + "Developer mode enables advanced and experimental features": "O modo de desenvolvedor permite recursos avançados e experimentais", + "Difficulty": "Dificuldade ", + "Dimensions": "Dimensões", + "Disable password safety rules": "Desabilitar regras de segurança de senha", + "Disabled": "Desactivar ", + "Disables node connectivity (Offline Mode).": "Desactiva a conectividade do nódulo (modo offline).", + "Discord": "Discord", + "Donations": "Donativos", + "Double click on the graph to re-center...": "Clique duas vezes no gráfico para centralizá-lo novamente...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Habilitar Monitor de Mercado", + "Enable UPnP": "Habilitar UPnP", + "Enable custom daemon arguments": "Habilitar argumentos do daemon personalizados", + "Enable experimental features": "Habilitar recursos experimentais", + "Enable gRPC": "Habilitar gRPC", + "Enable optional BIP39 passphrase": "Habilitar senha BIP39 opcional", + "Enable screen capture": "Activar captura de tela", + "Enables features currently in development": "Activa recursos actualmente em desenvolvimento ", + "Enter": "Inserir ", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Inserir nome de conta (opcional) ", + "Enter first account name": "Insira o nome da primeira conta", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Insira a dica de phishing", + "Enter the amount": "Introduzir a quantia ", + "Enter the password for your wallet": "Introduzir a password da sua carteira", + "Enter the password to unlock your wallet": "Digite a senha para desbloquear sua carteira ", + "Enter wallet name": "Digite o nome da carteira", + "Enter wallet password": "Digite a senha da carteira", + "Enter your wallet secret": "Digite o segredo da sua carteira", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorador ", + "Export Wallet Data": "Exportar dados da carteira", + "Faucet": "Faucet", + "File Handles": "Identificadores de arquivos", + "Filename:": "Nome do arquivo:", + "Final Amount:": "Quantidade final:", + "Full Screen": "Tela cheia", + "GitHub Release": "Versão no GitHub", + "Go to Settings": "Ir para as configurações", + "Good": "Good", + "Handles": "Identificadores ", + "Headers": "Cabeçalhos ", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "Se não for especificado, a conta será representada pelo ID numérico.", + "If you are running locally, use: ": "Se está a executar localmente, use:", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Importar existente", + "Importing Wallet": "Importing Wallet", + "Inbound": "Entrada", + "Include QoS Priority Fees": "Incluir taxas de prioridade de QoS", + "Integrated Daemon": "Daemon Integrado", + "Invalid daemon arguments": "Argumentos do daemon inválidos", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Tipo de rede inválido - esperado: testnet-10 conectado a: testnet-11", + "Invalid wRPC URL": " URL wRPC Inválido", + "Json Active Connections": "Conexões activas JSON", + "Json Connection Attempts": "Tentativas de conexão JSON", + "Json Handshake Failures": "Falhas no aperto de mão JSON", + "Kaspa Discord": "Discord Kaspa", + "Kaspa Integration Guide": "Guia de integração Kaspa", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Web App", + "Kaspa NG on GitHub": "Kaspa NG no GitHub", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Rede Kaspa", + "Kaspa Node": "Nódulo Kaspa", + "Kaspa p2p Network & Node Connection": "Rede Kaspa p2p e conexão de nódulo", + "Kaspa p2p Node": "Nódulo p2p Kaspa ", + "Kaspa p2p Node & Connection": "Nódulo e conexão p2p Kaspa", + "Key Perf.": "Chave Perf.", + "Language:": "Linguagem:", + "Large (1 BPS)": "Grande (1BPS)", + "Levels": "Níveis", + "License Information": "Informações sobre licença", + "Local": "Local", + "Local p2p Node Configuration": "Configuração de Nódulo p2p Local", + "Logs": "Histórico", + "MT": "MT", + "Main Kaspa network": "Rede principal Kaspa", + "Mainnet": "Rede principal", + "Mainnet (Main Kaspa network)": "Mainnet (rede Kaspa principal)", + "Managed by the Rusty Kaspa daemon": "Gerido pelo daemon Rusty Kaspa", + "Market": "Mercado", + "Market Cap": "Valor de mercado", + "Market Monitor": "Monitor de Mercado", + "Mass Processed": "Processado em massa", + "Maximize window": "Maximizar a janela", + "Medium Narrow": "Médio Estreito", + "Medium Wide": "Médio Largo", + "Memory": "Memória ", + "Mempool": "Mempool", + "Mempool Size": "Tamanho Mempool", + "Metrics": "Métricas", + "Metrics are not currently available": "As métricas não estão disponíveis no momento", + "Minimize the window": "Minimizar a janela", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "Módulos NPM para NodeJS", + "Network": "Rede", + "Network Difficulty": "Dificuldade de Rede", + "Network Fees:": "Taxas de rede:", + "Network Interface": "Interface de rede", + "Network Peers": "Pares de rede", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "Sem pares", + "No public node selected - please select a public node": "Nenhum nódulo público seleccionado - seleccione um nódulo público", + "No transactions": "Nenhuma transacção", + "No wallets found, please create a new wallet": "Nenhuma carteira encontrada, crie uma nova carteira", + "Node": "Nódulo", + "Node Status": "Estado do Nódulo ", + "Noise": "Ruído ", + "None": "Nenhum", + "Not Connected": "Não Conectado ", + "Not connected": "Não conectado ", + "Notifications": "Notificações ", + "Open Data Folder": "Abrir ficheiro de dados", + "Opening wallet:": "A abrir carteira", + "Optional": "Opcional ", + "Other operations": "Outras operações ", + "Outbound": "Saída ", + "Overview": "Visão geral", + "Parents": "Parentes", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Tempo médio passado", + "Payment & Recovery Password": "Senha de pagamento e recuperação", + "Payment Request": "Pedido de Pagamento", + "Peers": "Pares", + "Performance": "Desempenho", + "Phishing Hint": "Dica de phishing", + "Ping:": "Ping:", + "Please Confirm Deletion": "Confirme a exclusão", + "Please configure your Kaspa NG settings": "Por favor, defina as configurações do Kaspa NG", + "Please connect to Kaspa p2p node": "Conecte-se ao nódulo p2p Kaspa", + "Please create a stronger password": "Por favor crie uma senha mais forte", + "Please enter": "Por favor, insira", + "Please enter KAS amount to send": "Insira o valor KAS para enviar", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Insira um valor", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Por favor insira o nome da conta", + "Please enter the wallet secret": "Por favor insira o segredo da carteira", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Observe que esta é uma versão alfa. Até que esta mensagem seja removida, evite usar a carteira com fundos da rede principal.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Observe que copiar para a área de transferência apresenta o risco de expor a sua mnemónica a malware.", + "Please select an account type": "Seleccione um tipo de conta", + "Please select the private key to export": "Seleccione a chave privada para exportar", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Defina o nódulo como 'Desactivado' para excluir a pasta de dados", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Especifique o nome da conta padrão. A carteira será criada com uma conta padrão. Depois de criada, você poderá criar contas adicionais conforme necessário.", + "Please specify the name of the new wallet": "Por favor especifique o nome da nova carteira", + "Please specify the private key type for the new wallet": "Por favor, especifique o tipo de chave privada para a nova carteira", + "Please wait for the node to sync or connect to a remote node.": "Por favor, aguarde que o nódulo se sincronize ou conecte-se a um nódulo remoto.", + "Please wait for the node to sync...": "Por favor, aguarde a sincronização do nódulo...", + "Please wait...": "Por favor, aguarde...", + "Presets": "Predefinições", + "Price": "Preço", + "Private Key Mnemonic": "Frase Mnemónica da Chave Privada", + "Processed Bodies": "Corpos Processados", + "Processed Dependencies": "Dependencias Processadas", + "Processed Headers": "Cabeçalhos Processados", + "Processed Mass Counts": "Contas Massivas Processadas", + "Processed Transactions": "Transacções Processadas", + "Protocol:": "Protocolo:", + "Public Node": "Nódulo Público ", + "Public Nodes": "Nódulos Públicos", + "Public Server": "Servidor Público", + "Public p2p Nodes for": "Nódulos públicos p2p para", + "Random Public Node": "Nódulo Público Aleatório", + "Range:": "Intervalo:", + "Receive Address": "Endereço de Recebimento", + "Recommended arguments for the remote node: ": "Argumentos recomendados para o nódulos remoto:", + "Redistributables": "Redistribuíveis", + "Remote": "Remoto", + "Remote Connection:": "Conexão Remota:", + "Remote p2p Node Configuration": "Configuração Remota de Nódulo p2p", + "Removes security restrictions, allows for single-letter passwords": "Remove restrições de segurança, permite senhas de uma letra", + "Reset Settings": "Redefinir Configurações", + "Reset VSPC": "Redefinir VSPC", + "Resident Memory": "Memória Residente", + "Resources": "Recursos", + "Resulting daemon arguments:": "Argumentos resultantes do daemon:", + "Rust Wallet SDK": "SDK Carteira Rust", + "Rusty Kaspa on GitHub": "Rusty Kaspa no GitHub", + "Secret is too weak": "O segredo é muito fraco", + "Secret score:": "Pontuação do Segredo:", + "Select Account": "Seleccione Conta ", + "Select Available Server": "Seleccione um Servidor Disponível", + "Select Private Key Type": "Seleccione o Tipo de Chave Privada", + "Select Public Node": "Seleccione o Nódulo Público", + "Select Wallet": "Seleccione a Carteira", + "Select a wallet to unlock": "Seleccione uma carteira para desbloquear", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Enviar", + "Services": "Serviços", + "Settings": "Configurações", + "Show DAA": "Exibir DDA", + "Show Grid": "Exibir Grade", + "Show VSPC": "Exibir VSPC", + "Show balances in alternate currencies for testnet coins": "Mostrar saldos em moedas alternativas para moedas na rede de testes", + "Show passphrase": "Show passphrase", + "Show password": "Mostrar senha", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Mostra saldos em moedas alternativas (BTC, USD) ao usar moedas de teste como se estivesse na mainnet", + "Skip": "Pular", + "Small (10 BPS)": "Pequeno (10BPS)", + "Spread": "Amplitude ", + "Stage": "Etapa", + "Starting...": "Iniciando...", + "Statistics": "Estatísticas", + "Stor Read": "Armazenamento Leitura/s", + "Stor Write": "Armazenamento Escrita/s", + "Storage": "Armazenamento", + "Storage Read": "Leitura de armazenamento", + "Storage Read/s": "Armazenamento Leitura/s", + "Storage Write": "Escrita de armazenamento", + "Storage Write/s": "Armazenamento Escrita/s", + "Strong": "Strong", + "Submitted Blocks": "Blocos Submetidos", + "Supporting Kaspa NG development": "Apoiando o desenvolvimento do Kaspa NG", + "Syncing Cryptographic Proof...": "A sincronizar Prova Criptográfica...", + "Syncing DAG Blocks...": "A sincronizar Blocos DAG...", + "Syncing Headers...": "A sincronizar Cabeçalhos...", + "Syncing UTXO entries...": "A sincronizar entradas UTXO...", + "Syncing...": "Sincronizando...", + "System": "Sistema", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "A Testnet 11 ainda não está ativada para testes públicos. No entanto, pode configurar o nódulo para se conectar à testnet privada de desenvolvimento no painel de definições.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "O software Kaspa NG representa um esforço contínuo focado na construção de uma plataforma de software de última geração dedicada à rede de criptomoedas Kaspa BlockDAG. Ideológico em sua essência, este software prioriza segurança, privacidade, desempenho e descentralização.", + "The balance may be out of date during node sync": "O saldo pode estar desatualizado durante a sincronização do nódulo", + "The following will guide you through the process of creating or importing a wallet.": "O seguinte irá guiá-lo através do processo de criação ou importação de uma carteira.", + "The node is currently syncing with the Kaspa p2p network.": "O nó está atualmente sincronizando com a rede p2p da Kaspa.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "O nódulo está atualmente a sincronizar com a rede P2P da Kaspa. Os saldos das contas podem estar desatualizados.", + "The node is spawned as a child daemon process (recommended).": "O nódulo é iniciado como um processo daemon filho (recomendado).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "O nódulo é executado como parte do processo da aplicação Kaspa-NG. Isso reduz a sobrecarga de comunicação (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Cor do Tema", + "Theme Color:": "Cor do Tema:", + "Theme Style": "Estilo do Tema", + "Theme Style:": "Estilo do Tema:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Esta carteira nunca lhe pedirá esta frase mnemónica a menos que inicie manualmente uma recuperação da chave privada.", + "Threshold": "Limite", + "Time Offset:": "Desvio de tempo:", + "Tip Hashes": "Hashes do Tip", + "Tools ⏷": "Ferramentas ⏷", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Acompanhe em segundo plano", + "Transactions": "Transacções", + "Transactions:": "Transacções:", + "Type": "Tipo", + "UTXO Manager": "Gestor de UTXO", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "Não é possível alterar as configurações do nódulo até que o problema seja resolvido", + "Unlock": "Desbloquear", + "Unlock Wallet": "Desbloquear Carteira", + "Unlocking": "A Desbloquear ", + "Update Available to version": "Atualização disponível para a versão", + "Updating...": "Atualizando", + "Uptime:": "Tempo de Atividade:", + "Use 50%-75% of available system memory": "Usar 50 %-75% da memória de sistema disponível.", + "Use all available system memory": "Usar toda a memória do sistema disponível", + "User Agent": "Agente do Utilizador", + "User Interface": "Interface do Usuário", + "Very dangerous (may be cracked within few seconds)": "Muito perigoso (pode ser quebrado em poucos segundos)", + "Very weak": "Very weak", + "Virt Parents": "Parentes Virt", + "Virtual DAA Score": "Pontuação Virtual DAA", + "Virtual Memory": "Memória Virtual", + "Virtual Parent Hashes": "Hashes de Parente Virtual", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK para JavaScript e TypeScript", + "Wallet": "Carteira", + "Wallet Created": "Carteira Criada", + "Wallet Encryption Password": "Senha de Criptografia da Carteira", + "Wallet Name": "Nome da Carteira", + "Wallet Secret": "Segredo da Carteira", + "Wallet password is used to encrypt your wallet data.": "A senha da carteira é usada para encriptar os dados da sua carteira.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Carteira:", + "We greatly appreciate your help in backing our efforts.": "Agradecemos imensamente a sua ajuda em apoiar os nossos esforços.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Bem vindo a Kaspa NG", + "Xpub Keys": "Chaves Xpub", + "You are currently not connected to the Kaspa node.": "Você não está atualmente conectado ao nódulo Kaspa.", + "You can configure remote connection in Settings": "Pode configurar a conexão remota nas definições", + "You can create multiple wallets, but only one wallet can be open at a time.": "Você pode criar várias carteiras, mas apenas uma carteira pode ser aberta por vez.", + "You must be connected to a node...": "Você precisa estar conectado a um nódulo...", + "Your default wallet private key mnemonic is:": "Sua frase mnemônica da chave privada da carteira padrão é:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "A sua frase mnemónica permite-lhe recriar a sua chave privada. A pessoa que tem acesso a esta mnemónica terá controlo total sobre o Kaspa armazenado nela. Mantenha a sua mnemónica em segurança. Escreva-a e guarde-a num local seguro, de preferência num local resistente ao fogo. Não guarde a sua mnemónica neste computador ou num dispositivo móvel. Esta carteira nunca lhe pedirá esta frase mnemónica a menos que inicie manualmente uma recuperação da chave privada.", + "Your private key mnemonic is:": "Sua frase mnemônica da chave privada é:", + "Your wallet has been created and is ready to use.": "Sua carteira foi criada e está pronta para uso.", + "Zoom": "Ampliar ", + "amount to send": "quantidade a enviar", + "bye!": "tchau!", + "gRPC Network Interface & Port": "Interface & Porta de Rede gRPC", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "de", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "par", + "peers": "pares", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "Definições de Ligação wRPC", + "wRPC Encoding:": "Codificação wRPC:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": " URL wRPC:", + "words": "words" + }, + "pt_BR": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "rede de teste 1 BPS", + "10 BPS test network": "rede de teste 10 BPS", + "12 word mnemonic": "12 palavras mnemônicas", + "24 word mnemonic": "24 palavras mnemônicas", + "24h Change": "Alteração 24h ", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "Um binário em outro local gerou um processo filho (experimental, apenas para fins de desenvolvimento).", + "A random node will be selected on startup": "Um nó aleatório será selecionado na inicialização", + "A wallet is stored in a file on your computer.": "Uma carteira é armazenada em um arquivo em seu computador.", + "Account Index": "Índice da Conta", + "Account Name": "Nome da Conta", + "Account:": "Conta:", + "Activate custom daemon arguments": "Ativar argumentos personalizados do daemon", + "Active p2p Peers": "Ativar Pares p2p", + "Address derivation scan": "Varredura de derivação de endereço", + "Address:": "Endereço:", + "Advanced": "Avançado", + "Advanced Options": "Advanced Options", + "All": "Todos", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Habilitar argumentos customizados para Rusty Kaspa daemon", + "Allows you to take screenshots from within the application": "Permite que faça capturas de tela dentro da aplicação", + "Apply": "Aplicar", + "Balance: N/A": "Saldo: N/A", + "Bandwidth": "Largura de Banda", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Devido ao seu foco em segurança e desempenho, este software é inteiramente desenvolvido em Rust, e exige significativamente mais tempo e esforço em comparação a outros softwares modernos tradicionais baseados na web.", + "Bezier Curves": "Curva de Bézier", + "Block DAG": "Bloco DAG", + "Block Scale": "Escala do Bloco", + "Blocks": "Blocos", + "Bodies": "Corpos", + "Borsh Active Connections": "Conexões Activas Borsh", + "Borsh Connection Attempts": "Tentativas de conexão Borsh", + "Borsh Handshake Failures": "Falhas no Handshake Borsh", + "Build": "Versão", + "CONNECTED": "CONECTADO", + "CPU": "CPU", + "Cache Memory Size": "Tamanho de Memória Cache", + "Cache Memory Size:": "Tamanho da Memória Cache:", + "Cancel": "Cancelar", + "Cannot delete data folder while the node is running": "Não é possível excluir a pasta de dados enquanto o nó está em execução", + "Capture a screenshot": "Capturar a tela", + "Center VSPC": "Centro VSPC", + "Chain Blocks": "Cadeia de Blocos", + "Change Address": "Alterar Endereço", + "Check for Software Updates on GitHub": "Verificar Atualizações de Software no GitHub", + "Check for Updates": "Verificar Atualizações", + "Clear": "Limpar", + "Click to try another server...": "Clique para tentar outro servidor...", + "Client RPC": "Cliente RPC", + "Close": "Fechar", + "Close the window": "Fechar a janela", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Confirmar senha da carteira", + "Connect to a local node (localhost)": "Conectar a um nó local (localhost)", + "Connecting to": "Conectando à", + "Connection": "Conexão", + "Connections": "Conexões", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Conecta a um nó remoto de Rusty Kaspa via wRPC", + "Conservative": "Conservador", + "Continue": "Continuar", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "As contribuições direcionadas a este projeto alimentam diretamente o software Kaspa NG e seu ecossistema.", + "Copied to clipboard": "Copiado para a área de transferência", + "Copy": "Copiar", + "Copy logs to clipboard": "Copiar registros de log para a área de transferência", + "Create New Account": "Criar Nova Conta", + "Create New Wallet": "Criar Nova Carteira", + "Create Wallet": "Create Wallet", + "Create new wallet": "Criar nova carteira", + "Creating Account": "Criando Conta", + "Creating Wallet": "Criando Carteira", + "Custom": "Personalizado", + "Custom Public Node": "Nó Público Personalizado", + "Custom arguments:": "Argumentos Personalizados", + "Custom data storage folder": "Pasta de armazenamento de dados personalizada", + "DAA": "DAA", + "DAA Offset": "Desvio de DAA", + "DAA Range": "Alcance DAA", + "DB Blocks": "DB Blocos", + "DB Headers": "DB Cabeçalhos", + "Dangerous": "Dangerous", + "Data Storage": "Armazenamento de Dados", + "Database Blocks": "Blocos do Banco de Dados", + "Database Headers": "Cabeçalhos do Banco de Dados", + "Decrypting wallet, please wait...": "Descriptografando carteira, por favor aguarde...", + "Default": "Padrão", + "Default Account Name": "Nome de Conta Padrão", + "Delete Data Folder": "Deletar Pasta de Dados", + "Dependencies": "Dependências", + "Derivation Indexes": "Índices de Derivação", + "Details": "Detalhes", + "Developer Mode": "Modo de Desenvolvedor", + "Developer Resources": "Recursos para Desenvolvedores", + "Developer mode enables advanced and experimental features": "O modo de desenvolvedor permite recursos avançados e experimentais", + "Difficulty": "Dificuldade ", + "Dimensions": "Dimensões", + "Disable password safety rules": "Desabilitar regras de segurança de senha", + "Disabled": "Desabilitado", + "Disables node connectivity (Offline Mode).": "Desativa a conectividade do nó (Modo Offline).", + "Discord": "Discord", + "Donations": "Doações", + "Double click on the graph to re-center...": "Clique duas vezes no gráfico para recentralizar...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Habilitar Monitor de Mercado", + "Enable UPnP": "Habilitar UPnP", + "Enable custom daemon arguments": "Habilitar argumentos do daemon personalizados", + "Enable experimental features": "Habilitar recursos experimentais", + "Enable gRPC": "Habilitar gRPC", + "Enable optional BIP39 passphrase": "Habilitar senha BIP39 opcional", + "Enable screen capture": "Habilitar captura de tela", + "Enables features currently in development": "Habilita recursos atualmente em desenvolvimento", + "Enter": "Inserir", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Inserir nome de conta (opcional)", + "Enter first account name": "Insira o nome da primeira conta", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Insira a dica de phishing", + "Enter the amount": "Insira a quantidade", + "Enter the password for your wallet": "Digite a senha para a sua carteira", + "Enter the password to unlock your wallet": "Digite a senha para desbloquear a sua carteira", + "Enter wallet name": "Digite o nome da carteira", + "Enter wallet password": "Digite a senha da carteira", + "Enter your wallet secret": "Digite o segredo da sua carteira", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorador", + "Export Wallet Data": "Exportar dados da carteira", + "Faucet": "Faucet", + "File Handles": "Manipuladores de Arquivo", + "Filename:": "Nome do arquivo:", + "Final Amount:": "Quantidade final:", + "Full Screen": "Tela cheia", + "GitHub Release": "Versão no GitHub", + "Go to Settings": "Ir para Configurações", + "Good": "Good", + "Handles": "Manipulador", + "Headers": "Cabeçalhos", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "Se não especificado, a conta será representada pelo ID numérico.", + "If you are running locally, use: ": "Se está executando localmente, use:", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Importar existente", + "Importing Wallet": "Importing Wallet", + "Inbound": "Entrada", + "Include QoS Priority Fees": "Incluir taxas de prioridade de QoS", + "Integrated Daemon": "Daemon Integrado", + "Invalid daemon arguments": "Argumentos do daemon inválidos", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Tipo de rede inválido - esperado: testnet-10 conectado a: testnet-11", + "Invalid wRPC URL": "URL wRPC Inválida", + "Json Active Connections": "Conexões ativas JSON", + "Json Connection Attempts": "Tentativas de conexão JSON", + "Json Handshake Failures": "Falhas no Handshake JSON", + "Kaspa Discord": "Discord Kaspa", + "Kaspa Integration Guide": "Guia de integração Kaspa", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Web App", + "Kaspa NG on GitHub": "Kaspa NG no GitHub", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Rede Kaspa", + "Kaspa Node": "Nó Kaspa", + "Kaspa p2p Network & Node Connection": "Rede Kaspa p2p e conexão de nó", + "Kaspa p2p Node": "Nó Kaspa p2p", + "Kaspa p2p Node & Connection": "Nó p2p Kaspa e Conexão", + "Key Perf.": "Chave Perf.", + "Language:": "Idioma:", + "Large (1 BPS)": "Grande (1 BPS)", + "Levels": "Níveis", + "License Information": "Informações sobre licença", + "Local": "Local", + "Local p2p Node Configuration": "Configuração de Nó p2p Local", + "Logs": "Histórico", + "MT": "MT", + "Main Kaspa network": "Rede principal Kaspa", + "Mainnet": "Rede principal", + "Mainnet (Main Kaspa network)": "Mainnet (rede Kaspa principal)", + "Managed by the Rusty Kaspa daemon": "Gerenciado pelo daemon Rusty Kaspa", + "Market": "Mercado", + "Market Cap": "Valor de mercado", + "Market Monitor": "Monitor de Mercado", + "Mass Processed": "Processado em massa", + "Maximize window": "Maximizar a janela", + "Medium Narrow": "Médio Estreito", + "Medium Wide": "Médio Largo", + "Memory": "Memória ", + "Mempool": "Mempool", + "Mempool Size": "Tamanho Mempool", + "Metrics": "Métricas", + "Metrics are not currently available": "As métricas não estão disponíveis no momento", + "Minimize the window": "Minimizar a janela", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "Módulos NPM para NodeJS", + "Network": "Rede", + "Network Difficulty": "Dificuldade da Rede", + "Network Fees:": "Taxas da rede:", + "Network Interface": "Interface de rede", + "Network Peers": "Pares da rede", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "Sem pares", + "No public node selected - please select a public node": "Nenhum nó público selecionado - por favor, selecione um nó público", + "No transactions": "Nenhuma transação", + "No wallets found, please create a new wallet": "Nenhuma carteira encontrada, crie uma nova carteira", + "Node": "Nó", + "Node Status": "Estado do Nó", + "Noise": "Ruído", + "None": "Nenhum", + "Not Connected": "Não Conectado ", + "Not connected": "Não conectado", + "Notifications": "Notificações ", + "Open Data Folder": "Abrir a pasta de dados", + "Opening wallet:": "Abrindo a carteira", + "Optional": "Opcional", + "Other operations": "Outras operações ", + "Outbound": "Saída", + "Overview": "Visão geral", + "Parents": "Pais", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Tempo Mediano Passado", + "Payment & Recovery Password": "Senha de pagamento e recuperação", + "Payment Request": "Pedido de Pagamento", + "Peers": "Pares", + "Performance": "Desempenho", + "Phishing Hint": "Dica de phishing", + "Ping:": "Ping:", + "Please Confirm Deletion": "Por Favor, Confirme a exclusão", + "Please configure your Kaspa NG settings": "Por favor, defina as configurações do Kaspa NG", + "Please connect to Kaspa p2p node": "Por favor, conecte-se ao nó p2p Kaspa", + "Please create a stronger password": "Por favor crie uma senha mais forte", + "Please enter": "Por favor, insira", + "Please enter KAS amount to send": "Por favor, insira a quantidade de KAS para enviar", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Por favor insira um valor", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Por favor, insira o nome da conta", + "Please enter the wallet secret": "Por favor, insira o segredo da carteira", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Observe que esta é uma versão alfa. Até que esta mensagem seja removida, evite usar a carteira com fundos da rede principal.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Observe que copiar para a área de transferência apresenta o risco de expor a sua mnemónica a malware.", + "Please select an account type": "Por favor, selecione o tipo da conta", + "Please select the private key to export": "Por favor, selecione a chave privada para exportar", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Defina o nó como 'Desativado' para excluir a pasta de dados", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Por favor, especifique o nome da conta padrão. A carteira será criada com uma conta padrão. Depois de criada, você poderá criar contas adicionais conforme necessário.", + "Please specify the name of the new wallet": "Por favor especifique o nome da nova carteira", + "Please specify the private key type for the new wallet": "Por favor, especifique o tipo de chave privada para a nova carteira", + "Please wait for the node to sync or connect to a remote node.": "Por favor, aguarde a sincronização do nó ou conecte-se a um nó remoto.", + "Please wait for the node to sync...": "Por favor, aguarde a sincronização do nó...", + "Please wait...": "Por favor, aguarde...", + "Presets": "Predefinições", + "Price": "Preço", + "Private Key Mnemonic": "Frase Mnemónica da Chave Privada", + "Processed Bodies": "Corpos Processados", + "Processed Dependencies": "Dependencias Processadas", + "Processed Headers": "Cabeçalhos Processados", + "Processed Mass Counts": "Contagem de Processamentos em Massa", + "Processed Transactions": "Transações Processadas", + "Protocol:": "Protocolo:", + "Public Node": "Nó Público", + "Public Nodes": "Nós Públicos", + "Public Server": "Servidor Público", + "Public p2p Nodes for": "Nós públicos p2p para", + "Random Public Node": "Nó Público Aleatório", + "Range:": "Intervalo:", + "Receive Address": "Endereço de Recebimento", + "Recommended arguments for the remote node: ": "Argumentos recomendados para o nó remoto:", + "Redistributables": "Redistribuíveis", + "Remote": "Remoto", + "Remote Connection:": "Conexão Remota:", + "Remote p2p Node Configuration": "Configuração Remota de Nó p2p", + "Removes security restrictions, allows for single-letter passwords": "Remove restrições de segurança, permite senhas de uma única letra", + "Reset Settings": "Redefinir Configurações", + "Reset VSPC": "Redefinir VSPC", + "Resident Memory": "Memória Residente", + "Resources": "Recursos", + "Resulting daemon arguments:": "Argumentos resultantes do daemon:", + "Rust Wallet SDK": "SDK Carteira Rust", + "Rusty Kaspa on GitHub": "Rusty Kaspa no GitHub", + "Secret is too weak": "O segredo é muito fraco", + "Secret score:": "Pontuação do Segredo:", + "Select Account": "Selecione a conta", + "Select Available Server": "Selecione um Servidor Disponível", + "Select Private Key Type": "Selecione o Tipo de Chave Privada", + "Select Public Node": "Selecione o Nó Público", + "Select Wallet": "Selecione a Carteira", + "Select a wallet to unlock": "Selecione uma carteira para desbloquear", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Enviar", + "Services": "Serviços", + "Settings": "Configurações", + "Show DAA": "Exibir DDA", + "Show Grid": "Exibir Grade", + "Show VSPC": "Exibir VSPC", + "Show balances in alternate currencies for testnet coins": "Mostrar saldos em moedas alternativas para moedas na rede de testes", + "Show passphrase": "Show passphrase", + "Show password": "Mostrar senha", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Exibe saldos em moedas alternativas (BTC, USD) ao usar moedas de teste como se estivesse na mainnet", + "Skip": "Pular", + "Small (10 BPS)": "Pequeno (10BPS)", + "Spread": "Spread", + "Stage": "Etapa", + "Starting...": "Iniciando...", + "Statistics": "Estatísticas", + "Stor Read": "Leitura de armazenamento", + "Stor Write": "Escrita de armazenamento", + "Storage": "Armazenamento", + "Storage Read": "Leitura de armazenamento", + "Storage Read/s": "Armazenamento Leitura/s", + "Storage Write": "Escrita de armazenamento", + "Storage Write/s": "Armazenamento Escrita/s", + "Strong": "Strong", + "Submitted Blocks": "Blocos Submetidos", + "Supporting Kaspa NG development": "Apoiando o desenvolvimento do Kaspa NG", + "Syncing Cryptographic Proof...": "Sincronizando Prova Criptográfica...", + "Syncing DAG Blocks...": "Sincronizando Blocos DAG...", + "Syncing Headers...": "Sincronizando Cabeçalhos...", + "Syncing UTXO entries...": "Sincronizando entradas UTXO...", + "Syncing...": "Sincronizando...", + "System": "Sistema", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "A Testnet 11 ainda não está ativada para testes públicos. No entanto, você pode configurar o nó para se conectar à testnet privada de desenvolvimento no painel de definições.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "O software Kaspa NG representa um esforço contínuo focado na construção de uma plataforma de software de última geração dedicada à rede de criptomoedas Kaspa BlockDAG. Ideológico em sua essência, este software prioriza segurança, privacidade, desempenho e descentralização.", + "The balance may be out of date during node sync": "O saldo pode estar desatualizado durante a sincronização do nó", + "The following will guide you through the process of creating or importing a wallet.": "O seguinte irá guiá-lo através do processo de criação ou importação de uma carteira.", + "The node is currently syncing with the Kaspa p2p network.": "O nó está atualmente sincronizando com a rede p2p da Kaspa.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "O nó está atualmente sincronizando com a rede p2p da Kaspa. Os saldos das contas podem estar desatualizados.", + "The node is spawned as a child daemon process (recommended).": "O nó é iniciado como um processo daemon filho (recomendado).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "O nó é executado como parte do processo de aplicativo Kaspa-NG. Isso reduz a sobrecarga de comunicação (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Cor do Tema", + "Theme Color:": "Cor do Tema:", + "Theme Style": "Estilo do Tema", + "Theme Style:": "Estilo do Tema:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Esta carteira nunca solicitará essa frase mnemônica a menos que você inicie manualmente uma recuperação da chave privada.", + "Threshold": "Limite", + "Time Offset:": "Desvio de tempo:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Ferramentas ⏷", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Acompanhe em segundo plano", + "Transactions": "Transações", + "Transactions:": "Transações:", + "Type": "Tipo", + "UTXO Manager": "Gerenciador de UTXO", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "Não foi possível alterar as configurações do nó até que o problema seja resolvido", + "Unlock": "Desbloquear", + "Unlock Wallet": "Desbloquear Carteira", + "Unlocking": "Desbloqueando", + "Update Available to version": "Atualização disponível para a versão", + "Updating...": "Atualizando...", + "Uptime:": "Tempo de Atividade:", + "Use 50%-75% of available system memory": "Usar 50 %-75% da memória de sistema disponível.", + "Use all available system memory": "Usar toda a memória do sistema disponível", + "User Agent": "Agente do Usuário", + "User Interface": "Interface do Usuário", + "Very dangerous (may be cracked within few seconds)": "Muito perigoso (pode ser quebrado em poucos segundos)", + "Very weak": "Very weak", + "Virt Parents": "Pais Virtuais", + "Virtual DAA Score": "Pontuação Virtual DAA", + "Virtual Memory": "Memória Virtual", + "Virtual Parent Hashes": "Hashes de Pais Virtuais", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK para JavaScript e TypeScript", + "Wallet": "Carteira", + "Wallet Created": "Carteira Criada", + "Wallet Encryption Password": "Senha de Criptografia da Carteira", + "Wallet Name": "Nome da Carteira", + "Wallet Secret": "Segredo da Carteira", + "Wallet password is used to encrypt your wallet data.": "A senha da carteira é usada para encriptar os dados da sua carteira.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Carteira:", + "We greatly appreciate your help in backing our efforts.": "Agradecemos imensamente a sua ajuda em apoiar os nossos esforços.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Bem vindo a Kaspa NG", + "Xpub Keys": "Chaves Xpub", + "You are currently not connected to the Kaspa node.": "Atualmente você não está conectado ao nó Kaspa.", + "You can configure remote connection in Settings": "Você pode configurar a conexão remota nas configurações", + "You can create multiple wallets, but only one wallet can be open at a time.": "Você pode criar várias carteiras, mas apenas uma carteira pode ser aberta por vez.", + "You must be connected to a node...": "Você precisa estar conectado a um nó...", + "Your default wallet private key mnemonic is:": "Sua frase mnemônica da chave privada da carteira padrão é:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Sua frase mnemônica permite que você recrie sua chave privada. A pessoa que tem acesso a essa mnemônica terá controle total do Kaspa armazenado nela. Mantenha sua mnemônica segura. Escreva-a e armazene-a em um local seguro, de preferência em um local resistente ao fogo. Não armazene sua mnemônica neste computador ou em um dispositivo móvel. Esta carteira nunca solicitará essa frase mnemônica a menos que você inicie manualmente uma recuperação da chave privada.", + "Your private key mnemonic is:": "Sua frase mnemônica da chave privada é:", + "Your wallet has been created and is ready to use.": "Sua carteira foi criada e está pronta para uso.", + "Zoom": "Ampliar ", + "amount to send": "quantidade para enviar", + "bye!": "tchau!", + "gRPC Network Interface & Port": "Interface & Porta de Rede gRPC", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "de", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "par", + "peers": "pares", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "Configurações da conexão wRPC", + "wRPC Encoding:": "Codificação wRPC:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "words" + }, + "ro": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS rețea de test", + "10 BPS test network": "Rețea de testare 10 BPS", + "12 word mnemonic": "Mnemonic de 12 cuvinte", + "24 word mnemonic": "Mnemonic de 24 de cuvinte", + "24h Change": "Schimbare în ultimele 24 de ore", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "Un binar dintr-o altă locație este generat de un proces copil (experimental, numai în scopuri de dezvoltare).", + "A random node will be selected on startup": "La pornire, va fi selectat un nod aleatoriu", + "A wallet is stored in a file on your computer.": "Un portofel este stocat într-un fișier pe computerul tău.", + "Account Index": "Index Cont", + "Account Name": "Nume Cont", + "Account:": "Cont:", + "Activate custom daemon arguments": "Activați argumentele personalizate ale daemonului", + "Active p2p Peers": "Perechi p2p active", + "Address derivation scan": "Scanează derivarea adreselor", + "Address:": "Adresă:", + "Advanced": "Avansat", + "Advanced Options": "Advanced Options", + "All": "Tot", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Permiteți argumente personalizate pentru daemonul Rusty Kaspa", + "Allows you to take screenshots from within the application": "Vă permite să realizați capturi de ecran din interiorul aplicației", + "Apply": "Aplică", + "Balance: N/A": "Balanță: N/A", + "Bandwidth": "Lățime de bandă", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Datorită accentului său pe securitate și performanță, acest software este dezvoltat în întregime în Rust, cerând semnificativ mai mult timp și efort în comparație cu alte software-uri moderne tradiționale bazate pe aplicații web.", + "Bezier Curves": "Curbe Bézier", + "Block DAG": "Block DAG", + "Block Scale": "Scală de Blocuri", + "Blocks": "Blocks", + "Bodies": "Bodies", + "Borsh Active Connections": "Conexiuni Active Borsh", + "Borsh Connection Attempts": "Încercări de Conexiune Borsh", + "Borsh Handshake Failures": "Eșecuri de Protocol Borsh Handshake", + "Build": "Construiește", + "CONNECTED": "CONECTAT", + "CPU": "Procesor", + "Cache Memory Size": "Mărimea Memoriei Cache", + "Cache Memory Size:": "Marimea Memoriei Cache", + "Cancel": "Anulează", + "Cannot delete data folder while the node is running": "Folderul de date nu poate fi șters în timp ce node-ul este pornit", + "Capture a screenshot": "Capturați o captură de ecran", + "Center VSPC": "Center VSPC", + "Chain Blocks": "Blocuri din lanț", + "Change Address": "Schimbă adresa", + "Check for Software Updates on GitHub": "Verificați actualizările de software pe GitHub", + "Check for Updates": "Verifică pentru actualizări", + "Clear": "Șterge", + "Click to try another server...": "Apasă pentru a încerca adăugarea unui alt server...", + "Client RPC": "Client RPC", + "Close": "Închide", + "Close the window": "Închide fereastra", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Confirmă parola portofelului", + "Connect to a local node (localhost)": "Conectați-vă la un nod local (localhost)", + "Connecting to": "Conectare la", + "Connection": "Conexiune", + "Connections": "Conexiuni", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Se conectează la un Nod Rusty Kaspa la Distanță prin wRPC.", + "Conservative": "Conservator", + "Continue": "Continuă", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Contribuțiile orientate către acest proiect alimentează direct software-ul Kaspa NG și ecosistemul său.", + "Copied to clipboard": "Copiat în clipboard", + "Copy": "Copiază", + "Copy logs to clipboard": "Copiați jurnalele în clipboard", + "Create New Account": "Creează un cont nou", + "Create New Wallet": "Creați un Portofel Nou", + "Create Wallet": "Create Wallet", + "Create new wallet": "Creează un portofel nou", + "Creating Account": "Contul se creează", + "Creating Wallet": "Portofelul se creează", + "Custom": "Personalizat", + "Custom Public Node": "Node Public Personalizat", + "Custom arguments:": "Argumente personalizate:", + "Custom data storage folder": "Folder personalizat pentru stocarea datelor", + "DAA": "DAA", + "DAA Offset": "DAA offset", + "DAA Range": "Interval DAA", + "DB Blocks": "Blocuri DB", + "DB Headers": "Antete DB", + "Dangerous": "Dangerous", + "Data Storage": "Folder stocare", + "Database Blocks": "Bolcuri Baza de Date", + "Database Headers": "Antete Baza de Date", + "Decrypting wallet, please wait...": "Decriptarea portofelului, vă rugăm să așteptați...", + "Default": "Implicit", + "Default Account Name": "Numele Contului Implicit", + "Delete Data Folder": "Șterge Folderul de Date", + "Dependencies": "Dependențe", + "Derivation Indexes": "Indecși de Derivare", + "Details": "Detalii", + "Developer Mode": "Mod Dezvoltare", + "Developer Resources": "Resurse pentru Dezvoltatori", + "Developer mode enables advanced and experimental features": "Modul dezvoltator activează funcționalități avansate și experimentale", + "Difficulty": "Dificultate", + "Dimensions": "Dimensiuni", + "Disable password safety rules": "Dezactivați restricțiile de scor pentru parolă", + "Disabled": "Dezactivat", + "Disables node connectivity (Offline Mode).": "Dezactivează conectivitatea cu nodurile (Mod Offline).", + "Discord": "Discord", + "Donations": "Donații", + "Double click on the graph to re-center...": "Dați dublu clic pe grafic pentru a re-centra...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Activați Monitorul de Piață", + "Enable UPnP": "Activează UPnP", + "Enable custom daemon arguments": "Activați argumentele demon personalizate", + "Enable experimental features": "Activare funcționalități experimentale", + "Enable gRPC": "Activează gRPC", + "Enable optional BIP39 passphrase": "Activare frază secretă BIP39 opțională", + "Enable screen capture": "Activați captura de ecran", + "Enables features currently in development": "Activează funcționalități aflate în dezvoltare în prezent", + "Enter": "Enter", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Introdu numele contului (opțional)", + "Enter first account name": "Introduceți primul nume de cont", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Introduceți indiciul pentru prevenirea phishing-ului", + "Enter the amount": "Intodu cantitatea", + "Enter the password for your wallet": "Introdu parola pentru portofelul tău", + "Enter the password to unlock your wallet": "Introduceți parola pentru a debloca portofelul", + "Enter wallet name": "Introdu numele portofelului", + "Enter wallet password": "Introduceți parola portofelului.", + "Enter your wallet secret": "Introduceți secretul portofelului dumneavoastră", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorer", + "Export Wallet Data": "Exporă Date Portofel", + "Faucet": "Faucet", + "File Handles": "File Handles", + "Filename:": "Nume fișier:", + "Final Amount:": "Suma Finală:", + "Full Screen": "Ecran întreg", + "GitHub Release": "GitHub Release", + "Go to Settings": "Mergi la Setări", + "Good": "Good", + "Handles": "Handles", + "Headers": "Antete", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "Dacă nu este specificat, contul va fi reprezentat prin ID-ul numeric.", + "If you are running locally, use: ": "Dacă rulați local, utilizați:", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Importați existent", + "Importing Wallet": "Importing Wallet", + "Inbound": "Intrare", + "Include QoS Priority Fees": "Includeți Taxele de Prioritate QoS", + "Integrated Daemon": "Daemon integrat", + "Invalid daemon arguments": "Argumente daemon invalide", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Tip de rețea invalid - așteptat: testnet-10 conectat la: testnet-11", + "Invalid wRPC URL": "URL wRPC invalid", + "Json Active Connections": "Conexiuni Json Active", + "Json Connection Attempts": "Încercări de Conexiune JSON", + "Json Handshake Failures": "Eșecuri de Protocol JSON Handshake", + "Kaspa Discord": "Discord Kaspa", + "Kaspa Integration Guide": "Ghid de integrare Kaspa", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Web App", + "Kaspa NG on GitHub": "Kaspa NG pe GitHub", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Rețea Kaspa", + "Kaspa Node": "Node Kaspa", + "Kaspa p2p Network & Node Connection": "Rețeaua p2p Kaspa & Conexiune Node", + "Kaspa p2p Node": "Nod Kaspa p2p", + "Kaspa p2p Node & Connection": "Nod și Conexiune Kaspa p2p", + "Key Perf.": "Key Perf.", + "Language:": "Limba:", + "Large (1 BPS)": "Mare (1 BPS)", + "Levels": "Nivele", + "License Information": "Informații despre licență", + "Local": "Local", + "Local p2p Node Configuration": "Configurarea Nodului p2p Local", + "Logs": "Loguri", + "MT": "MT", + "Main Kaspa network": "Rețeaua Kaspa principală", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Rețeaua principală (Mainnet) Kaspa", + "Managed by the Rusty Kaspa daemon": "Gestionat de daemonul Rusty Kaspa", + "Market": "Piață", + "Market Cap": "Capitalizare", + "Market Monitor": "Monitor de Piață", + "Mass Processed": "Procesat în Masă", + "Maximize window": "Mărește fereastra", + "Medium Narrow": "Mediu Îngust", + "Medium Wide": "Mediu Larg", + "Memory": "Memorie", + "Mempool": "Mempool", + "Mempool Size": "Dimensiune Mempool", + "Metrics": "Metrice", + "Metrics are not currently available": "Metricele nu sunt disponibile în prezent", + "Minimize the window": "Micșorează fereastra", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "Module NPM pentru NodeJS", + "Network": "Rețea", + "Network Difficulty": "Dificultate Rețea", + "Network Fees:": "Taxe Retea:", + "Network Interface": "Interfață Rețea", + "Network Peers": "Parteneri de Rețea", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "Fara parteneri", + "No public node selected - please select a public node": "Nu a fost selectat niciun nod public - vă rugăm să selectați un nod public", + "No transactions": "Nicio tranzacție", + "No wallets found, please create a new wallet": "Niciun portofel nu a fost gasit, te rog sa creezi un nou portofel", + "Node": "Node", + "Node Status": "Nod Status", + "Noise": "Gălăgie", + "None": "Nici unul", + "Not Connected": "Neconectat", + "Not connected": "Neconectat", + "Notifications": "Notificări", + "Open Data Folder": "Deschideți Folderul de Date", + "Opening wallet:": "Deschidere portofel:", + "Optional": "Opțional", + "Other operations": "Alte oprațiuni", + "Outbound": "Ieșire", + "Overview": "Privire de ansamblu", + "Parents": "Parinți", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Timpul Median Trecut", + "Payment & Recovery Password": "Plată și Parolă de Recuperare", + "Payment Request": "Cerere de Plată", + "Peers": "Parteneri", + "Performance": "Performanță", + "Phishing Hint": "Hint de prevenire a phishing-ului", + "Ping:": "Ping:", + "Please Confirm Deletion": "Confirmă ștergerea", + "Please configure your Kaspa NG settings": "Te rugăm să configurați setările Kaspa NG", + "Please connect to Kaspa p2p node": "Vă rugăm să vă conectați la nodul Kaspa p2p", + "Please create a stronger password": "Vă rugăm să creați o parolă mai puternică", + "Please enter": "Te rog introdu", + "Please enter KAS amount to send": "Vă rugăm să introduceți suma KAS de trimis", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Vă rugăm să introduceți o sumă", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Vă rugăm să introduceți numele contului", + "Please enter the wallet secret": "Te rog să introduci secretul portofelului", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Vă rugăm să rețineți că aceasta este o versiune alpha. Până când acest mesaj nu va fi eliminat, vă rugăm să evitați utilizarea portofelului cu fonduri din rețeaua principală (mainnet).", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Vă rugăm să rețineți că copierea în clipboard prezintă riscul expunerii mnemonicului dvs. către malware-uri.", + "Please select an account type": "Te rog sa alegi un tip de cont", + "Please select the private key to export": "Vă rugăm să selectați cheia privată pe care doriți să o exportați", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Setați nodul la „Dezactivat” pentru a șterge folderul de date", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Vă rugăm să specificați numele contului implicit. Portofelul va fi creat cu un cont implicit. După creare, veți putea să creați conturi suplimentare după nevoie.", + "Please specify the name of the new wallet": "Te rog specifică numele pentru noul portofel", + "Please specify the private key type for the new wallet": "Vă rugăm să specificați tipul de cheie privată pentru noul portofel", + "Please wait for the node to sync or connect to a remote node.": "Vă rugăm să așteptați ca nodul să se sincronizeze sau să vă conectați la un nod la distanță.", + "Please wait for the node to sync...": "Vă rugăm să așteptați până când nodul se sincronizează...", + "Please wait...": "Te rog să aștepți...", + "Presets": "Preconfigurări", + "Price": "Preț", + "Private Key Mnemonic": "Mnemonicul cheii private", + "Processed Bodies": "Date procesate", + "Processed Dependencies": "Dependențe procesate", + "Processed Headers": "Antete procesate", + "Processed Mass Counts": "Număr de mase procesate", + "Processed Transactions": "Tranzacții procesate", + "Protocol:": "Protocol:", + "Public Node": "Nod Public", + "Public Nodes": "Noduri Publice", + "Public Server": "Server Public", + "Public p2p Nodes for": "Noduri publice p2p pentru", + "Random Public Node": "Nod Public Aleator", + "Range:": "Interval:", + "Receive Address": "Adresa de primire", + "Recommended arguments for the remote node: ": "Argumente recomandate pentru nodul la distanță:", + "Redistributables": "Redistribuibile", + "Remote": "La Distanță", + "Remote Connection:": "Conexiune la distanță", + "Remote p2p Node Configuration": "Configurarea Nodului p2p la Distanță", + "Removes security restrictions, allows for single-letter passwords": "Elimină restricțiile de securitate, permite parole cu o singură literă", + "Reset Settings": "Resetează Setări", + "Reset VSPC": "Resetează VSPC", + "Resident Memory": "Memorie rezidentă", + "Resources": "Resurse", + "Resulting daemon arguments:": "Argumentele rezultate ale demonului (programului sau serviciului):", + "Rust Wallet SDK": "SDK Portofel Rust", + "Rusty Kaspa on GitHub": "Rusty Kaspa pe GitHub", + "Secret is too weak": "Secretul este prea slab", + "Secret score:": "Scor secret:", + "Select Account": "Selectează Contul", + "Select Available Server": "Selectați serverul disponibil", + "Select Private Key Type": "Selectați Tipul de Cheie Privată", + "Select Public Node": "Alege un Node Public", + "Select Wallet": "Selectează Portofel", + "Select a wallet to unlock": "Selectați un portofel pentru deblocare", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Trimite", + "Services": "Servicii", + "Settings": "Setări", + "Show DAA": "Arată DAA", + "Show Grid": "Afișează Grilă", + "Show VSPC": "Arată VSPC", + "Show balances in alternate currencies for testnet coins": "Afișați balanțele în alte monede pentru monedele de testnet", + "Show passphrase": "Show passphrase", + "Show password": "Arată parola", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Afișează balanțele în alte monede (BTC, USD) atunci când utilizați monede de testnet ca și cum ați fi pe rețeaua principală (mainnet)", + "Skip": "Sari peste", + "Small (10 BPS)": "Mic (10 BPS)", + "Spread": "Spread", + "Stage": "Etapă", + "Starting...": "Începere...", + "Statistics": "Statistici", + "Stor Read": "Citire din Stocare", + "Stor Write": "Scriere în Stocare", + "Storage": "Spațiu", + "Storage Read": "Citire disc", + "Storage Read/s": "Citire/i din Stocare", + "Storage Write": "Scriere în Stocare", + "Storage Write/s": "Scriere/i în Stocare", + "Strong": "Strong", + "Submitted Blocks": "Blocuri Trimise", + "Supporting Kaspa NG development": "Sprijinirea dezvoltării Kaspa NG", + "Syncing Cryptographic Proof...": "Sincronizare a Dovezii Criptografice...", + "Syncing DAG Blocks...": "Sincronizare Blocuri DAG...", + "Syncing Headers...": "Sincronizare Antete...", + "Syncing UTXO entries...": "Sincronizare înregistrări UTXO...", + "Syncing...": "Se sincronizează...", + "System": "Sistem", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 nu este încă activat pentru testarea publică. Cu toate acestea, puteți configura nodul pentru a se conecta la testnetul privat pentru dezvoltatori în panoul de setări.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Software-ul Kaspa NG reprezintă un efort continuu concentrat pe construirea unei platforme software de ultimă generație dedicată rețelei de criptomonede Kaspa BlockDAG. Cu o bază ideologică puternică, acest software acordă prioritate securității, confidențialității, performanței și descentralizării.", + "The balance may be out of date during node sync": "Soldul poate fi afișat eronat în timpul sincronizării nodului.", + "The following will guide you through the process of creating or importing a wallet.": "Următoarele instrucțiuni vă vor ghida prin procesul de creare sau importare a unui portofel.", + "The node is currently syncing with the Kaspa p2p network.": "Nodul se sincronizează în prezent cu rețeaua Kaspa p2p", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "Nodul este în prezent în proces de sincronizare cu rețeaua Kaspa p2p. Balanțele contului pot fi afișate eronat în timpul acestui proces.", + "The node is spawned as a child daemon process (recommended).": "Nodul este lansat ca un proces demon copil (recomandat).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "Nodul rulează ca parte a procesului aplicației Kaspa-NG. Acest lucru reduce supraîncărcarea comunicării (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Culoarea Temei", + "Theme Color:": "Culoarea Temei:", + "Theme Style": "Stil Temă", + "Theme Style:": "Stil Temă:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Acest portofel nu vă va cere niciodată această frază mnemonică decât dacă inițiați manual o recuperare a cheii private.", + "Threshold": "Limită", + "Time Offset:": "Decalajul de timp:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Unelte", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Urmărește în fundal", + "Transactions": "Tranzacții", + "Transactions:": "Tranzacții:", + "Type": "Tip", + "UTXO Manager": "Manager UTXO", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "Nu puteți schimba setările nodului până când problema este rezolvată", + "Unlock": "Deblocare", + "Unlock Wallet": "Deblochează portofel", + "Unlocking": "Deblocare", + "Update Available to version": "Actualizează Disponibil la versiune", + "Updating...": "Se actualizează...", + "Uptime:": "Perioadă de activitate:", + "Use 50%-75% of available system memory": "Folosește 50 %-75%din memoria disponibilă a sistemului", + "Use all available system memory": "Utilizați toată memoria sistemului disponibilă", + "User Agent": "Agent utilizator", + "User Interface": "Interfața utilizatorului", + "Very dangerous (may be cracked within few seconds)": "Foarte periculos (poate fi spart în câteva secunde)", + "Very weak": "Very weak", + "Virt Parents": "Virt Parents", + "Virtual DAA Score": "Scor Virtual DAA", + "Virtual Memory": "Memorie Virtuală", + "Virtual Parent Hashes": "Virtual Parent Hashes", + "Volume": "Volum", + "WASM SDK for JavaScript and TypeScript": "WASM SDK pentru JavaScript și TypeScript", + "Wallet": "Portofel", + "Wallet Created": "Portofel Creat", + "Wallet Encryption Password": "Parolă de Criptare a Portofelului", + "Wallet Name": "Nume Portofel", + "Wallet Secret": "Secretul Portofelului", + "Wallet password is used to encrypt your wallet data.": "Parola portofelului este folosită pentru a cripta datele portofelului tău.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Portofel:", + "We greatly appreciate your help in backing our efforts.": "Apreciam foarte mult ajutorul acordat în susținerea eforturilor noastre.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Bine ați venit în Kaspa NG", + "Xpub Keys": "Xpub Keys", + "You are currently not connected to the Kaspa node.": "În prezent, nu sunteți conectat la nodul Kaspa.", + "You can configure remote connection in Settings": "Poți configura conexiunea de la distanță din Setări", + "You can create multiple wallets, but only one wallet can be open at a time.": "Puteți crea mai multe portofele, dar în același timp poate fi deschis doar un singur portofel.", + "You must be connected to a node...": "Trebuie să fii conectat la un nod...", + "Your default wallet private key mnemonic is:": "Mnemonicul cheii private implicit a portofelului tău este:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Fraza dvs. mnemonică vă permite să recreați cheia privată. Persoana care are acces la această frază mnemonică va avea control deplin asupra Kaspa stocate în portofel. Păstrați-vă fraza mnemonică în siguranță. Scrieți-o și stocați-o într-un loc sigur, preferabil într-un loc rezistent la foc. Nu stocați fraza mnemonică pe acest calculator sau pe un dispozitiv mobil. Acest portofel nu vă va solicita niciodată această frază mnemonică decât dacă inițiați manual o recuperare a cheii private.", + "Your private key mnemonic is:": "Mnemonicul cheii private este:", + "Your wallet has been created and is ready to use.": "Portofelul tău a fost creat și este gata de utilizare.", + "Zoom": "Mărire", + "amount to send": "suma de trimis", + "bye!": "La revedere!", + "gRPC Network Interface & Port": "Rețea gRPC Port & Interfață", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "din", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "partner", + "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "Setări de Conexiune wRPC", + "wRPC Encoding:": "Codificare wRPC:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL: ", + "words": "words" + }, + "ru": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS тестовая сеть", + "10 BPS test network": "10 BPS тестовая сеть", + "12 word mnemonic": "12 слов мнемонической фразы", + "24 word mnemonic": "24 слова мнемонической фразы", + "24h Change": "Изменение за 24 часа", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "Бинарный файл в другом месте порождает дочерний процесс (экспериментально, только для разработки).", + "A random node will be selected on startup": "При запуске будет выбрана случайная нода.", + "A wallet is stored in a file on your computer.": "Кошелёк хранится в файле на вашем компьютере.", + "Account Index": "Индекс аккаунта", + "Account Name": "Имя аккаунта", + "Account:": "Аккаунт:", + "Activate custom daemon arguments": "Активировать пользовательские аргументы службы", + "Active p2p Peers": "Активные p2p пиры", + "Address derivation scan": "Сканирование производных адреса", + "Address:": "Адрес:", + "Advanced": "Расширенные", + "Advanced Options": "Advanced Options", + "All": "Все", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Разрешить настраиваемые аргументы для службы Rusty Kaspa.", + "Allows you to take screenshots from within the application": "Позволяет вам делать скриншоты прямо из приложения", + "Apply": "Применить", + "Balance: N/A": "Баланс: Недоступен", + "Bandwidth": "Пропускная способность", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Из-за своего акцента на безопасности и производительности, это программное обеспечение полностью разработано на Rust, что требует значительно больше времени и усилий по сравнению с другими традиционными современными веб-ориентированными программами.", + "Bezier Curves": "Кривые Безье", + "Block DAG": "Block DAG", + "Block Scale": "Размер блока", + "Blocks": "Блоки", + "Bodies": "Тела блоков", + "Borsh Active Connections": "Активные соединения Borsh", + "Borsh Connection Attempts": "Попытки Borsh-подключения", + "Borsh Handshake Failures": "Сбои при установлении связи Borsh", + "Build": "Сборка", + "CONNECTED": "ПОДКЛЮЧЕНО", + "CPU": "ЦПУ", + "Cache Memory Size": "Размер кэш-памяти", + "Cache Memory Size:": "Размер кэш-памяти:", + "Cancel": "Отменить", + "Cannot delete data folder while the node is running": "Невозможно удалить папку с данными, пока нода работает.", + "Capture a screenshot": "Сделать снимок экрана", + "Center VSPC": "Центр VSPC", + "Chain Blocks": "Цепочка блоков", + "Change Address": "Изменить адрес", + "Check for Software Updates on GitHub": "Проверьте наличие обновлений программного обеспечения на GitHub.", + "Check for Updates": "Проверить наличие обновлений", + "Clear": "Чисто", + "Click to try another server...": "Нажмите, чтобы попробовать другой сервер...", + "Client RPC": "Клиент RPC", + "Close": "Закрыть", + "Close the window": "Закрыть окно", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Подтвердите пароль кошелька", + "Connect to a local node (localhost)": "Подключитесь к локальной ноде (localhost)", + "Connecting to": "Подключение к", + "Connection": "Соединение", + "Connections": "Соединения", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Подключается к удалённой ноде Rusty Kaspa через wRPC.", + "Conservative": "Консервативный", + "Continue": "Продолжить", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Взносы, направленные на этот проект, непосредственно поддерживают программное обеспечение Kaspa NG и его экосистему.", + "Copied to clipboard": "Скопировано в буфер обмена", + "Copy": "Копировать", + "Copy logs to clipboard": "Копирование журналов в буфер обмена", + "Create New Account": "Создать новый аккаунт", + "Create New Wallet": "Создать новый кошелёк", + "Create Wallet": "Create Wallet", + "Create new wallet": "Создать новый кошелёк", + "Creating Account": "Создание аккаунта", + "Creating Wallet": "Создание кошелька", + "Custom": "Пользовательский", + "Custom Public Node": "Пользовательская общедоступная нода", + "Custom arguments:": "Пользовательские аргументы:", + "Custom data storage folder": "Пользовательская папка хранения данных", + "DAA": "DAA", + "DAA Offset": "DAA-смещение", + "DAA Range": "DAA-диапазон", + "DB Blocks": "DB Блоки", + "DB Headers": "DB Заголовки", + "Dangerous": "Dangerous", + "Data Storage": "Хранилище данных", + "Database Blocks": "Блоки базы данных", + "Database Headers": "Заголовки базы данных", + "Decrypting wallet, please wait...": "Расшифровка кошелька, пожалуйста, подождите...", + "Default": "По умолчанию", + "Default Account Name": "Имя аккаунта по умолчанию", + "Delete Data Folder": "Удалить папку с данными", + "Dependencies": "Зависимости", + "Derivation Indexes": "Индексы производных", + "Details": "Детали", + "Developer Mode": "Режим разработчика", + "Developer Resources": "Ресурсы разработчика", + "Developer mode enables advanced and experimental features": "Режим разработчика позволяет использовать расширенные и экспериментальные функции", + "Difficulty": "Сложность", + "Dimensions": "Размеры", + "Disable password safety rules": "Отключить ограничения по оценке сложности пароля", + "Disabled": "Отключено", + "Disables node connectivity (Offline Mode).": "Отключает соединение ноды (оффлайн режим).", + "Discord": "Discord", + "Donations": "Пожертвования", + "Double click on the graph to re-center...": "Дважды щёлкните по графику, чтобы центрировать его...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Включить мониторинг рынка", + "Enable UPnP": "Включить UPnP", + "Enable custom daemon arguments": "Включить пользовательские аргументы службы", + "Enable experimental features": "Включить экспериментальные функции", + "Enable gRPC": "Включить gRPC", + "Enable optional BIP39 passphrase": "Включить дополнительную фразу BIP39", + "Enable screen capture": "Включить захват экрана", + "Enables features currently in development": "Включает функции, находящиеся в разработке", + "Enter": "Ввод", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Введите имя аккаунта (необязательно)", + "Enter first account name": "Введите имя аккаунта", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Введите фишинговую подсказку", + "Enter the amount": "Введите сумму", + "Enter the password for your wallet": "Введите пароль для вашего кошелька", + "Enter the password to unlock your wallet": "Введите пароль для разблокировки вашего кошелька", + "Enter wallet name": "Введите имя кошелька", + "Enter wallet password": "Введите пароль кошелька", + "Enter your wallet secret": "Введите секрет своего кошелька", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Обозреватель", + "Export Wallet Data": "Экспорт данных кошелька", + "Faucet": "Криптокран", + "File Handles": "Файловые дескрипторы", + "Filename:": "Имя файла:", + "Final Amount:": "Окончательная сумма:", + "Full Screen": "Полный экран", + "GitHub Release": "GitHub Релиз", + "Go to Settings": "Перейдите в Настройки", + "Good": "Good", + "Handles": "Дескрипторы", + "Headers": "Заголовки", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "Если не указано, учётная запись будет представлена числовым идентификатором.", + "If you are running locally, use: ": "Если вы работаете локально, используйте:", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Импорт существующих", + "Importing Wallet": "Importing Wallet", + "Inbound": "Входящий", + "Include QoS Priority Fees": "Включают плату за приоритет QoS", + "Integrated Daemon": "Интегрированная служба", + "Invalid daemon arguments": "Неверные аргументы службы", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Неверный тип сети - ожидается: testnet-10 подключено к: testnet-11", + "Invalid wRPC URL": "Неверный URL wRPC", + "Json Active Connections": "Активные Json-соединения", + "Json Connection Attempts": "Попытки подключения Json", + "Json Handshake Failures": "Сбои при Json-соединении", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Kaspa Руководство по интеграции", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Web App", + "Kaspa NG on GitHub": "Kaspa NG на GitHub", + "Kaspa NG online": "Kaspa NG онлайн", + "Kaspa Network": "Kaspa Сеть", + "Kaspa Node": "Kaspa Нода", + "Kaspa p2p Network & Node Connection": "Kaspa p2p-соединение с сетью и нодой", + "Kaspa p2p Node": "Kaspa p2p-нода", + "Kaspa p2p Node & Connection": "Kaspa p2p-нода и соединение", + "Key Perf.": "Ключевая производительность", + "Language:": "Язык:", + "Large (1 BPS)": "Большой (1 BPS)", + "Levels": "Уровни", + "License Information": "Информация о лицензии", + "Local": "Лосальный", + "Local p2p Node Configuration": "Локальная конфигурация p2p-ноды", + "Logs": "Журналы", + "MT": "Ср.время", + "Main Kaspa network": "Основная сеть Kaspa", + "Mainnet": "Основная сеть", + "Mainnet (Main Kaspa network)": "Основная сеть (Основная сеть Kaspa)", + "Managed by the Rusty Kaspa daemon": "Управляется службой Rusty Kaspa", + "Market": "Рынок", + "Market Cap": "Рыночная капитализация", + "Market Monitor": "Мониторинг рынка", + "Mass Processed": "Массовая обработка", + "Maximize window": "Максимизировать окно", + "Medium Narrow": "Средний узкий", + "Medium Wide": "Средний широкий", + "Memory": "Память", + "Mempool": "Mempool", + "Mempool Size": "Размер Mempool", + "Metrics": "Метрики", + "Metrics are not currently available": "Метрики в настоящее время недоступны", + "Minimize the window": "Минимизировать окно", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM модули для NodeJS", + "Network": "Сеть", + "Network Difficulty": "Сложность сети", + "Network Fees:": "Сетевые комиссии:", + "Network Interface": "Сетевой интерфейс", + "Network Peers": "Сетевые пиры", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "Нет пиров", + "No public node selected - please select a public node": "Не выбрана общедоступная нода - пожалуйста, выберите общедоступную ноду", + "No transactions": "Нет транзакций", + "No wallets found, please create a new wallet": "Нет найденных кошельков, пожалуйста, создайте новый кошелёк", + "Node": "Нода", + "Node Status": "Статус ноды", + "Noise": "Шум", + "None": "Ни одного", + "Not Connected": "Не подключено", + "Not connected": "Не подключено", + "Notifications": "Уведомления", + "Open Data Folder": "Открыть папку с данными", + "Opening wallet:": "Открытие кошелька:", + "Optional": "Дополнительно", + "Other operations": "Другие операции", + "Outbound": "Исходящий", + "Overview": "Обзор", + "Parents": "Родители", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Прошлое среднее время", + "Payment & Recovery Password": "Оплата и восстановление пароля", + "Payment Request": "Запрос на оплату", + "Peers": "Пиры", + "Performance": "Производительность", + "Phishing Hint": "Фишинговая подсказка", + "Ping:": "Пинг:", + "Please Confirm Deletion": "Пожалуйста, подтвердите удаление", + "Please configure your Kaspa NG settings": "Пожалуйста, настройте свои параметры Kaspa NG", + "Please connect to Kaspa p2p node": "Пожалуйста, подключитесь к p2p-ноде Kaspa", + "Please create a stronger password": "Пожалуйста, создайте более надёжный пароль", + "Please enter": "Пожалуйста, введите", + "Please enter KAS amount to send": "Пожалуйста, введите сумму KAS для отправки", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Пожалуйста, введите сумму", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Пожалуйста, введите имя аккаунта", + "Please enter the wallet secret": "Пожалуйста, введите секрет кошелька", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Пожалуйста, обратите внимание, что это альфа-версия. Пока это сообщение не будет удалено, пожалуйста, избегайте использования кошелька с основными средствами.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Пожалуйста, обратите внимание, что копирование в буфер обмена несёт риск раскрытия вашей мнемоники вредоносным программам.", + "Please select an account type": "Пожалуйста, выберите тип аккаунта", + "Please select the private key to export": "Пожалуйста, выберите приватный ключ для экспорта", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Пожалуйста, установите значение ноды 'Отключено', чтобы удалить папку с данными", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Пожалуйста, укажите имя аккаунта по умолчанию. Кошелёк будет создан с аккаунтом по умолчанию. После создания вы сможете создавать дополнительные аккаунты по мере необходимости.", + "Please specify the name of the new wallet": "Пожалуйста, укажите имя нового кошелька", + "Please specify the private key type for the new wallet": "Пожалуйста, укажите тип приватного ключа для нового кошелька", + "Please wait for the node to sync or connect to a remote node.": "Пожалуйста, подождите, пока нода синхронизируется или подключится к удалённой ноде.", + "Please wait for the node to sync...": "Пожалуйста, подождите, пока нода синхронизируется...", + "Please wait...": "Пожалуйста, подождите...", + "Presets": "Предустановки", + "Price": "Цена", + "Private Key Mnemonic": "Приватный ключ мнемоники", + "Processed Bodies": "Обработанные тела блоков", + "Processed Dependencies": "Обработанные зависимости", + "Processed Headers": "Обработанные заголовки", + "Processed Mass Counts": "Обработанные счетчики массы", + "Processed Transactions": "Обработанные транзакции", + "Protocol:": "Протокол:", + "Public Node": "Публичная нода", + "Public Nodes": "Публичные ноды", + "Public Server": "Публичный сервер", + "Public p2p Nodes for": "Публичные p2p-ноды для", + "Random Public Node": "Случайная публичная нода", + "Range:": "Диапазон:", + "Receive Address": "Адрес получения", + "Recommended arguments for the remote node: ": "Рекомендуемые аргументы для удалённой ноды:", + "Redistributables": "Распространяемые компоненты", + "Remote": "Удалённый", + "Remote Connection:": "Удалённое подключение:", + "Remote p2p Node Configuration": " Конфигурация удалённой p2p-ноды", + "Removes security restrictions, allows for single-letter passwords": "Удаляет ограничения безопасности, позволяет использовать однобуквенные пароли", + "Reset Settings": "Сбросить настройки", + "Reset VSPC": "Сбросить VSPC", + "Resident Memory": "Резидентная память", + "Resources": "Ресурсы", + "Resulting daemon arguments:": "Результирующие аргументы службы:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa на GitHub", + "Secret is too weak": "Секрет слишком слабый", + "Secret score:": "Оценка секрета:", + "Select Account": "Выберите аккаунт", + "Select Available Server": "Выберите доступный сервер", + "Select Private Key Type": "Выберите тип приватного ключа", + "Select Public Node": "Выберите публичную ноду", + "Select Wallet": "Выберите кошелёк", + "Select a wallet to unlock": "Выберите кошелёк для разблокировки", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Отправить", + "Services": "Сервисы", + "Settings": "Настройки", + "Show DAA": "Показать DAA", + "Show Grid": "Показать сетку", + "Show VSPC": "Показать VSPC", + "Show balances in alternate currencies for testnet coins": "Показывайте балансы в альтернативных валютах для тестовых монет", + "Show passphrase": "Show passphrase", + "Show password": "Показать пароль", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Показывает балансы в альтернативных валютах (BTC, USD), когда используются тестовые монеты, как будто вы находитесь на основной сети", + "Skip": "Пропустить", + "Small (10 BPS)": "Маленький (10 BPS)", + "Spread": "Разброс", + "Stage": "Этап", + "Starting...": "Начало...", + "Statistics": "Статистика", + "Stor Read": "Чтение с диска", + "Stor Write": "Запись на диск", + "Storage": "Диск", + "Storage Read": "Чтение с диска", + "Storage Read/s": "Чтение с диска/сек.", + "Storage Write": "Запись на диск", + "Storage Write/s": "Запись на диск/сек.", + "Strong": "Strong", + "Submitted Blocks": "Отправленные блоки", + "Supporting Kaspa NG development": "Поддержка разработки Kaspa NG", + "Syncing Cryptographic Proof...": "Синхронизация криптографического доказательства...", + "Syncing DAG Blocks...": "Синхронизация блоков DAG...", + "Syncing Headers...": "Синхронизация заголовков...", + "Syncing UTXO entries...": "Синхронизация UTXO-записей...", + "Syncing...": "Синхронизация...", + "System": "Система", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 ещё не активирована для публичного тестирования. Однако вы можете настроить ноду для подключения к частной тестовой сети разработчиков в панели настроек.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Программное обеспечение Kaspa NG представляет собой непрерывную работу, направленную на создание современной программной платформы, предназначенной для криптовалютной сети Kaspa BlockDAG. Идеологическое по своей сути, это программное обеспечение уделяет приоритетное внимание безопасности, конфиденциальности, производительности и децентрализации.", + "The balance may be out of date during node sync": "Баланс может быть устаревшим во время синхронизации ноды", + "The following will guide you through the process of creating or importing a wallet.": "Следующее руководство поможет вам пройти процесс создания или импорта кошелька.", + "The node is currently syncing with the Kaspa p2p network.": "В настоящее время нода синхронизируется с p2p-сетью Kaspa.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "В настоящее время нода синхронизируется с p2p-сетью Kaspa.. Балансы счетов могут быть устаревшими.", + "The node is spawned as a child daemon process (recommended).": "Нода создаётся в качестве дочерней службы/процесса (рекомендуется).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "Нода работает в рамках процесса приложения Kaspa-NG. Это снижает накладные расходы на связь (экспериментально).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Цвет темы", + "Theme Color:": "Цвет темы:", + "Theme Style": "Стиль темы", + "Theme Style:": "Стиль темы:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Этот кошелёк никогда не будет запрашивать у вас эту мнемоническую фразу, если вы не инициируете восстановление приватного ключа вручную.", + "Threshold": "Предел", + "Time Offset:": "Смещение времени:", + "Tip Hashes": "Хэши советов", + "Tools ⏷": "Инструменты ⏷", + "Total Rx": "Общий Rx", + "Total Rx/s": "Общий Rx/s", + "Total Tx": "Общий Tx", + "Total Tx/s": "Общий Tx/s", + "Track in the background": "Отслеживание в фоновом режиме", + "Transactions": "Транзакции", + "Transactions:": "Транзакции:", + "Type": "Тип", + "UTXO Manager": "UTXO Менеджер", "UTXOs": "UTXOs", - "UTXOs:": "UTXOs:", - "Unable to change node settings until the problem is resolved": "تا زمانی که مشکل حل نشود، امکان تغییر تنظیمات نود وجود ندارد", - "Unlock": "باز کردن", - "Unlock Wallet": "بازکردن کیف پول", - "Unlocking": "بازکردن", - "Update Available to version": "به‌روزرسانی در نسخه کنونی", - "Updating...": "در حال بروز رسانی...", - "Uptime:": "آپتایم:", - "Use 50%-75% of available system memory": "از 50 حافظه موجود سیستم %-75% استفاده کنید", - "Use all available system memory": "استفاده از تمام حافظه های موجود سیستم ", - "User Agent": "عامل کاربر", - "User Interface": "رابط کاربری", - "Very dangerous (may be cracked within few seconds)": "بسیار خطرناک (ممکن است در عرض چند ثانیه کرک شود)", - "Virt Parents": "سرمنشا مجازی", - "Virtual DAA Score": "امتیاز ترتیب دستیابى داده ها DAA مجازی", - "Virtual Memory": "حافظه مجازی", - "Virtual Parent Hashes": "هش های سرمنشا مجازی", - "Volume": "حجم معاملات", - "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", - "Wallet": "کیف پول", - "Wallet Created": "کیف پول ایجاد شد", - "Wallet Encryption Password": "کلمه عبور رمزگذاری کیف پول", - "Wallet Name": "نام کیف پول", - "Wallet Secret": "رمز کیف پول", - "Wallet password is used to encrypt your wallet data.": "کلمه عبور کیف پول، برای رمزگذاری داده های کیف پول شما استفاده می شود.", - "Wallet:": "کیف پول:", - "We greatly appreciate your help in backing our efforts.": "از کمک شما در حمایت از تلاش هایمان قدردانی می کنیم.", - "Welcome to Kaspa NG": "به Kaspa NG خوش آمدید", - "Xpub Keys": "کلیدهای Xpub", - "You are currently not connected to the Kaspa node.": "شما در حال حاضر به نود Kaspa متصل نیستید.", - "You can configure remote connection in Settings": "می توانید اتصال از راه دور را در تنظیمات پیکربندی کنید", - "You can create multiple wallets, but only one wallet can be open at a time.": "شما می توانید چندین کیف پول ایجاد کنید، اما تنها یک کیف پول می تواند در یک زمان باز باشد.", - "You must be connected to a node...": "شما باید به یک نود متصل باشید...", - "Your default wallet private key mnemonic is:": "کلید خصوصی عبارت یادآور کیف پول شما این هست:", - "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "عبارت یادآور شما به شما امکان می دهد کلید خصوصی خود را دوباره ایجاد کنید. شخصی که به این عبارت یادآور دسترسی داشته باشد، کنترل کامل Kaspa ذخیره شده در آن را خواهد داشت. عبارت یادآور خود را ایمن نگه دارید. آن را یادداشت کنید و در یک گاوصندوق، ترجیحا در مکانی مقاوم در برابر آتش نگهداری کنید. عبارت یادآور خود را در این رایانه یا دستگاه تلفن همراه ذخیره نکنید. این کیف پول هرگز از شما این عبارت یاآور را نمی خواهد مگر اینکه به صورت دستی بازیابی کلید خصوصی را شروع کنید.", - "Your private key mnemonic is:": "کلید خصوصی عبارت یادآور شما این هست:", - "Your wallet has been created and is ready to use.": "کیف پول شما ساخته شده و آماده استفاده است.", - "Zoom": "بزرگنمایی", - "amount to send": "مبلغ برای ارسال", - "bye!": "خداحافظ!", - "gRPC Network Interface & Port": "رابط و پورت شبکه gRPC", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "Невозможно изменить настройки ноды, пока проблема не будет решена.", + "Unlock": "Разблокировать", + "Unlock Wallet": "Разблокировать кошелёк", + "Unlocking": "Разблокировка", + "Update Available to version": "Доступно обновление до версии", + "Updating...": "Обновление...", + "Uptime:": "Время работы:", + "Use 50%-75% of available system memory": "Используйте 50%-75% от доступной системной памяти", + "Use all available system memory": "Используйте всю доступную системную память", + "User Agent": "User Agent", + "User Interface": "Пользовательский интерфейс", + "Very dangerous (may be cracked within few seconds)": "Очень опасно (может быть взломано за несколько секунд)", + "Very weak": "Very weak", + "Virt Parents": "Вирт. родители", + "Virtual DAA Score": "Виртуальный балл DAA", + "Virtual Memory": "Виртуальная память", + "Virtual Parent Hashes": "Хэши виртуальных родителей", + "Volume": "Объём", + "WASM SDK for JavaScript and TypeScript": "WASM SDK для JavaScript и TypeScript", + "Wallet": "Кошелёк", + "Wallet Created": "Кошелёк создан", + "Wallet Encryption Password": "Пароль шифрования кошелька", + "Wallet Name": "Имя кошелька", + "Wallet Secret": "Секрет кошелька", + "Wallet password is used to encrypt your wallet data.": "Пароль кошелька используется для шифрования данных вашего кошелька.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Кошелёк:", + "We greatly appreciate your help in backing our efforts.": "Мы очень ценим вашу помощь в поддержке наших усилий.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Добро пожаловать в Kaspa NG", + "Xpub Keys": "Xpub Ключи", + "You are currently not connected to the Kaspa node.": "Вы в настоящее время не подключены к ноде Kaspa.", + "You can configure remote connection in Settings": "Вы можете настроить удалённое подключение в настройках.", + "You can create multiple wallets, but only one wallet can be open at a time.": "Вы можете создать несколько кошельков, но только один кошелёк может быть открыт в данный момент.", + "You must be connected to a node...": "Вы должны быть подключены к ноде...", + "Your default wallet private key mnemonic is:": "Ваш мнемонический приватный ключ кошелька по умолчанию:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Ваша мнемоническая фраза позволяет вам воссоздать ваш приватный ключ. Человек, у которого есть доступ к этой мнемонике, будет иметь полный контроль над Kaspa, хранящимся в ней. Храните вашу мнемоническую фразу в безопасности. Запишите её и сохраните в надёжном месте, желательно в огнестойком месте. Не храните вашу мнемоническую фразу на этом компьютере или мобильном устройстве. Этот кошелёк никогда не будет запрашивать у вас эту мнемоническую фразу, если вы не инициируете восстановление приватного ключа вручную.", + "Your private key mnemonic is:": "Ваш мнемонический приватный ключ:", + "Your wallet has been created and is ready to use.": "Ваш кошелёк был создан и готов к использованию.", + "Zoom": "Масштабирование", + "amount to send": "сумма для отправки", + "bye!": "пока!", + "gRPC Network Interface & Port": "gRPC Сетевой интерфейс и порт", "gRPC Rx": "gRPC Rx", "gRPC Rx/s": "gRPC Rx/s", - "gRPC Tx": "تراکنش gRPC", - "gRPC Tx/s": "تراکنش در ثانیه gRPC", - "of": "از", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "из", "p2p RPC": "p2p RPC", "p2p Rx": "p2p Rx", "p2p Rx/s": "p2p Rx/s", - "p2p Tx": "تراکنش های p2p", - "p2p Tx/s": "تراکنش در ثانیه p2p", - "peer": "همتا", - "peers": "همتایان", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "пир", + "peers": "пиры", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", "wRPC Borsh Rx": "wRPC Borsh Rx", "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", - "wRPC Borsh Tx": "تراکنش wRPC Borsh", - "wRPC Borsh Tx/s": "تراکنش در ثانیه wRPC Borsh", - "wRPC Connection Settings": "تنظیمات اتصال wRPC", - "wRPC Encoding:": "رمزگذاری wRPC:", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "Настройки подключения wRPC", + "wRPC Encoding:": "Кодирование wRPC:", "wRPC JSON Rx": "wRPC JSON Rx", "wRPC JSON Rx/s": "wRPC JSON Rx/s", - "wRPC JSON Tx": "تراکنش wRPC JSON", - "wRPC JSON Tx/s": "تراکنش در ثانیه wRPC JSON", - "wRPC URL:": "آدرس wRPC:" + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "words" }, - "fi": {}, - "fil": {}, - "fr": {}, - "he": { - "1 BPS test network": "רשת בדיקת 1 BPS", - "10 BPS test network": "רשת בדיקת 10 BPS", - "12 word mnemonic": "מנומוניק 12 מילים", - "24 word mnemonic": "מנומוניק 24 מילים", - "24h Change": "שינוי ב-24 שעות", - "A binary at another location is spawned a child process (experimental, for development purposes only).": "בינארי במיקום אחר משפיע על תהליך ילד (ניסיוני, למטרות פיתוח בלבד).", - "A random node will be selected on startup": "צומת אקראית תבחר בהפעלה", - "A wallet is stored in a file on your computer.": "ארנק מאוחסן בקובץ במחשב שלך.", - "Account Index": "מספר חשבון", - "Account Name": "שם החשבון", - "Account:": "חשבון:", - "Activate custom daemon arguments": "הפעל ארגומנטים מותאמים אישית לדימון Rusty Kaspa", - "Active p2p Peers": "עמיתים p2p פעילים", - "Address derivation scan": "סריקת נגזרת כתובת", - "Address:": "כתובת:", - "Advanced": "מתקדם", - "All": "הכל", - "Allow custom arguments for the Rusty Kaspa daemon": "אפשר ארגומנטים מותאמים אישית עבור הדימון Rusty Kaspa", - "Allows you to take screenshots from within the application": "מאפשר לך לצלם מסך מתוך היישום", - "Apply": "החל", - "Balance: N/A": "יתרה: N/A", - "Bandwidth": "רוחב פס", - "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "כתוצאה מהדגש שלה על אבטחה וביצועים, תוכנה זו נכתבה כולה ב־Rust, דורשת יותר זמן ומאמץ משמעותית בהשוואה לתוכנות דרייבניות ווב מודרניות טרדיציונליות אחרות.", - "Bezier Curves": "קווים בזייה", - "Block DAG": "DAG בלוק", - "Block Scale": "קנה מידה של בלוק", - "Blocks": "בלוקים", - "Bodies": "גופים", - "Borsh Active Connections": "חיבורים פעילים של Borsh", - "Borsh Connection Attempts": "נסיונות חיבור של Borsh", - "Borsh Handshake Failures": "כשלונות ידידותיות של Borsh", - "Build": "בנייה", - "CONNECTED": "מחובר", - "CPU": "מעבד", - "Cache Memory Size": "גודל זיכרון מטמון", - "Cache Memory Size:": "גודל זיכרון מטמון:", - "Cancel": "ביטול", - "Cannot delete data folder while the node is running": "לא ניתן למחוק את תיקיית הנתונים בזמן ריצת הצומת", - "Capture a screenshot": "לתפוס צילום מסך", - "Center VSPC": "מרכז את VSPC", - "Chain Blocks": "בלוקי שרשרת", - "Change Address": "שינוי כתובת", - "Check for Software Updates on GitHub": "בדיקת עדכוני תוכנה ב-GitHub", - "Check for Updates": "בדיקת עדכונים", - "Clear": "ניקוי", - "Click to try another server...": "לחץ כדי לנסות שרת אחר...", - "Client RPC": "RPC של לקוח", - "Close": "סגירה", - "Close the window": "סגירת החלון", - "Confirm wallet password": "אימות סיסמת ארנק", - "Connect to a local node (localhost)": "התחברות לצומת מקומי (localhost)", - "Connecting to": "מתחבר אל", - "Connection": "חיבור", - "Connections": "חיבורים", - "Connects to a Remote Rusty Kaspa Node via wRPC.": "מתחבר לצומת Rusty Kaspa רחוק באמצעות wRPC.", - "Conservative": "שומר", - "Continue": "המשך", - "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "תרומות שמיועדות לפרויקט זה מזינות ישירות את תוכנת Kaspa NG ואת האקוסיסטמה שלה.", - "Copied to clipboard": "הועתק ללוח", - "Copy": "העתק", - "Copy logs to clipboard": "העתק לוגים ללוח", - "Create New Account": "צור חשבון חדש", - "Create New Wallet": "צור ארנק חדש", - "Create new wallet": "צור ארנק חדש", - "Creating Account": "יוצר חשבון", - "Creating Wallet": "יוצר ארנק", - "Custom": "מותאם אישית", - "Custom Public Node": "צומת ציבורית מותאמת אישית", - "Custom arguments:": "ארגומנטים מותאמים אישית:", - "Custom data storage folder": "תיקיית אחסון נתונים מותאמת אישית", + "sk": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS test network", + "10 BPS test network": "10 BPS test network", + "12 word mnemonic": "12 word mnemonic", + "24 word mnemonic": "24 word mnemonic", + "24h Change": "24h Change", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "A binary at another location is spawned a child process (experimental, for development purposes only).", + "A random node will be selected on startup": "A random node will be selected on startup", + "A wallet is stored in a file on your computer.": "A wallet is stored in a file on your computer.", + "Account Index": "Account Index", + "Account Name": "Account Name", + "Account:": "Account:", + "Activate custom daemon arguments": "Activate custom daemon arguments", + "Active p2p Peers": "Active p2p Peers", + "Address derivation scan": "Address derivation scan", + "Address:": "Address:", + "Advanced": "Advanced", + "Advanced Options": "Advanced Options", + "All": "All", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Allow custom arguments for the Rusty Kaspa daemon", + "Allows you to take screenshots from within the application": "Allows you to take screenshots from within the application", + "Apply": "Apply", + "Balance: N/A": "Balance: N/A", + "Bandwidth": "Bandwidth", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.", + "Bezier Curves": "Bezier Curves", + "Block DAG": "Block DAG", + "Block Scale": "Block Scale", + "Blocks": "Blocks", + "Bodies": "Bodies", + "Borsh Active Connections": "Borsh Active Connections", + "Borsh Connection Attempts": "Borsh Connection Attempts", + "Borsh Handshake Failures": "Borsh Handshake Failures", + "Build": "Build", + "CONNECTED": "CONNECTED", + "CPU": "CPU", + "Cache Memory Size": "Cache Memory Size", + "Cache Memory Size:": "Cache Memory Size:", + "Cancel": "Cancel", + "Cannot delete data folder while the node is running": "Cannot delete data folder while the node is running", + "Capture a screenshot": "Capture a screenshot", + "Center VSPC": "Center VSPC", + "Chain Blocks": "Chain Blocks", + "Change Address": "Change Address", + "Check for Software Updates on GitHub": "Check for Software Updates on GitHub", + "Check for Updates": "Check for Updates", + "Clear": "Clear", + "Click to try another server...": "Click to try another server...", + "Client RPC": "Client RPC", + "Close": "Close", + "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Confirm wallet password", + "Connect to a local node (localhost)": "Connect to a local node (localhost)", + "Connecting to": "Connecting to", + "Connection": "Connection", + "Connections": "Connections", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Connects to a Remote Rusty Kaspa Node via wRPC.", + "Conservative": "Conservative", + "Continue": "Continue", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.", + "Copied to clipboard": "Copied to clipboard", + "Copy": "Copy", + "Copy logs to clipboard": "Copy logs to clipboard", + "Create New Account": "Create New Account", + "Create New Wallet": "Create New Wallet", + "Create Wallet": "Create Wallet", + "Create new wallet": "Create new wallet", + "Creating Account": "Creating Account", + "Creating Wallet": "Creating Wallet", + "Custom": "Custom", + "Custom Public Node": "Custom Public Node", + "Custom arguments:": "Custom arguments:", + "Custom data storage folder": "Custom data storage folder", "DAA": "DAA", - "DAA Offset": "היסט די.איי.איי", - "DAA Range": "טווח די.איי.איי", - "DB Blocks": "בלוקים ב-DB", - "DB Headers": "כותרות ב-DB", - "Data Storage": "אחסון נתונים", - "Database Blocks": "בלוקי מסד נתונים", - "Database Headers": "כותרות מסד נתונים", - "Decrypting wallet, please wait...": "מפענח ארנק, אנא המתן...", - "Default": "ברירת מחדל", - "Default Account Name": "שם חשבון ברירת מחדל", - "Delete Data Folder": "מחק תיקיית נתונים", - "Dependencies": "תלותים", - "Derivation Indexes": "אינדקסי הפקת", - "Details": "פרטים", - "Developer Mode": "מצב מפתח", - "Developer Resources": "משאבים למפתחים", - "Developer mode enables advanced and experimental features": "מצב המפתח מאפשר תכונות מתקדמות וניסיוניות", - "Difficulty": "רמת קושי", - "Dimensions": "ממדים", - "Disable password score restrictions": "השבת הגבלות ציון סיסמה", - "Disabled": "מנוטרל", - "Disables node connectivity (Offline Mode).": "מבטל חיבור הצומת (מצב לא מקוון).", - "Discord": "דיסקורד", - "Donations": "תרומות", - "Double click on the graph to re-center...": "לחיצה כפולה על הגרף כדי למרכז שוב...", + "DAA Offset": "DAA Offset", + "DAA Range": "DAA Range", + "DB Blocks": "DB Blocks", + "DB Headers": "DB Headers", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", + "Database Blocks": "Database Blocks", + "Database Headers": "Database Headers", + "Decrypting wallet, please wait...": "Decrypting wallet, please wait...", + "Default": "Default", + "Default Account Name": "Default Account Name", + "Delete Data Folder": "Delete Data Folder", + "Dependencies": "Dependencies", + "Derivation Indexes": "Derivation Indexes", + "Details": "Details", + "Developer Mode": "Developer Mode", + "Developer Resources": "Developer Resources", + "Developer mode enables advanced and experimental features": "Developer mode enables advanced and experimental features", + "Difficulty": "Difficulty", + "Dimensions": "Dimensions", + "Disable password safety rules": "Disable password safety rules", + "Disabled": "Disabled", + "Disables node connectivity (Offline Mode).": "Disables node connectivity (Offline Mode).", + "Discord": "Discord", + "Donations": "Donations", + "Double click on the graph to re-center...": "Double click on the graph to re-center...", "ECDSA": "ECDSA", - "Enable Market Monitor": "הפעלת מוניטור שוק", - "Enable UPnP": "הפעלת UPnP", - "Enable custom daemon arguments": "הפעלת ארגומנטים מותאמים אישית לדימון", - "Enable experimental features": "הפעלת תכונות ניסיוניות", - "Enable gRPC": "הפעלת gRPC", - "Enable optional BIP39 passphrase": "הפעלת ססמת BIP39 אופציונלית", - "Enable screen capture": "הפעלת תפיסת מסך", - "Enables features currently in development": "מאפשר תכונות שנמצאות כרגע בפיתוח", - "Enter": "הזן", - "Enter account name (optional)": "הזן שם חשבון (אופציונלי)", - "Enter first account name": "הזן שם חשבון ראשון", - "Enter phishing hint": "הזן רמז להפניית פישינג", - "Enter the amount": "הזן את הסכום", - "Enter the password for your wallet": "הזן את הסיסמה של הארנק שלך", - "Enter the password to unlock your wallet": "הזן את הסיסמה כדי לפתוח את הארנק שלך", - "Enter wallet name": "הזן שם ארנק", - "Enter wallet password": "הזן סיסמת ארנק", - "Enter your wallet secret": "הזן את סוד הארנק שלך", - "Explorer": "דפדפן", - "Export Wallet Data": "ייצא נתוני ארנק", - "Faucet": "מתקן", - "File Handles": "ידיות קובץ", - "Filename:": "שם קובץ:", - "Final Amount:": "סכום סופי:", - "GitHub Release": "גרסת GitHub", - "Go to Settings": "עבור אל הגדרות", - "Handles": "ידיות", - "Headers": "כותרות", + "Enable Market Monitor": "Enable Market Monitor", + "Enable UPnP": "Enable UPnP", + "Enable custom daemon arguments": "Enable custom daemon arguments", + "Enable experimental features": "Enable experimental features", + "Enable gRPC": "Enable gRPC", + "Enable optional BIP39 passphrase": "Enable optional BIP39 passphrase", + "Enable screen capture": "Enable screen capture", + "Enables features currently in development": "Enables features currently in development", + "Enter": "Enter", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Enter account name (optional)", + "Enter first account name": "Enter first account name", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Enter phishing hint", + "Enter the amount": "Enter the amount", + "Enter the password for your wallet": "Enter the password for your wallet", + "Enter the password to unlock your wallet": "Enter the password to unlock your wallet", + "Enter wallet name": "Enter wallet name", + "Enter wallet password": "Enter wallet password", + "Enter your wallet secret": "Enter your wallet secret", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorer", + "Export Wallet Data": "Export Wallet Data", + "Faucet": "Faucet", + "File Handles": "File Handles", + "Filename:": "Filename:", + "Final Amount:": "Final Amount:", + "Full Screen": "Full Screen", + "GitHub Release": "GitHub Release", + "Go to Settings": "Go to Settings", + "Good": "Good", + "Handles": "Handles", + "Headers": "Headers", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", "IBD:": "IBD:", - "If not specified, the account will be represented by the numeric id.": "אם לא צוין, החשבון ייווצג על ידי המזהה המספרי.", - "If you are running locally, use: ": "אם אתה מריץ מקומית, השתמש: ", - "Import existing": "יבוא קיים", - "Inbound": "נכנס", - "Include QoS Priority Fees": "כלול דמי עדיפות QoS", - "Integrated Daemon": "דימון משולב", - "Invalid daemon arguments": "ארגומנטים לדימון שגויים", - "Invalid network type - expected: testnet-10 connected to: testnet-11": "סוג רשת לא תקין - ציפיתי: testnet-10 מחובר ל: testnet-11", - "Invalid wRPC URL": "כתובת URL של wRPC לא תקינה", - "Json Active Connections": "חיבורים פעילים של JSON", - "Json Connection Attempts": "ניסיונות חיבור של JSON", - "Json Handshake Failures": "כשלים ביד של JSON", - "Kaspa Discord": "קספה Discord", - "Kaspa Integration Guide": "מדריך אינטגרציה של קספה", - "Kaspa NG": "קספה NG", - "Kaspa NG Online": "קספה NG באינטרנט", - "Kaspa NG Web App": "אפליקציית רשת Kaspa NG", - "Kaspa NG on GitHub": "קספה NG ב-GitHub", - "Kaspa NG online": "קספה NG באינטרנט", - "Kaspa Network": "רשת קספה", - "Kaspa Node": "צומת קספה", - "Kaspa p2p Network & Node Connection": "רשת פיר-פיר וחיבור צומת קספה", - "Kaspa p2p Node": "צומת פיר-פיר קספה", - "Kaspa p2p Node & Connection": "צומת פיר-פיר קספה וחיבור", - "Key Perf.": "ביצועים מרכזיים", - "Language:": "שפה:", - "Large (1 BPS)": "גדול (1 BPS)", - "Levels": "רמות", - "License Information": "מידע רישיון", - "Local": "מקומי", - "Local p2p Node Configuration": "תצורת צומת p2p מקומית", - "Logs": "לוגים", + "If not specified, the account will be represented by the numeric id.": "If not specified, the account will be represented by the numeric id.", + "If you are running locally, use: ": "If you are running locally, use: ", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Import existing", + "Importing Wallet": "Importing Wallet", + "Inbound": "Inbound", + "Include QoS Priority Fees": "Include QoS Priority Fees", + "Integrated Daemon": "Integrated Daemon", + "Invalid daemon arguments": "Invalid daemon arguments", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Invalid network type - expected: testnet-10 connected to: testnet-11", + "Invalid wRPC URL": "Invalid wRPC URL", + "Json Active Connections": "Json Active Connections", + "Json Connection Attempts": "Json Connection Attempts", + "Json Handshake Failures": "Json Handshake Failures", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Kaspa Integration Guide", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Web App", + "Kaspa NG on GitHub": "Kaspa NG on GitHub", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Kaspa Network", + "Kaspa Node": "Kaspa Node", + "Kaspa p2p Network & Node Connection": "Kaspa p2p Network & Node Connection", + "Kaspa p2p Node": "Kaspa p2p Node", + "Kaspa p2p Node & Connection": "Kaspa p2p Node & Connection", + "Key Perf.": "Key Perf.", + "Language:": "Language:", + "Large (1 BPS)": "Large (1 BPS)", + "Levels": "Levels", + "License Information": "License Information", + "Local": "Local", + "Local p2p Node Configuration": "Local p2p Node Configuration", + "Logs": "Logs", "MT": "MT", - "Main Kaspa network": "רשת קספה הראשית", - "Mainnet": "רשת ראשית", - "Mainnet (Main Kaspa network)": "רשת ראשית (רשת קספה הראשית)", - "Managed by the Rusty Kaspa daemon": "ניהול על ידי דימון קספה החורש", - "Market": "שוק", - "Market Cap": "שווי שוק", - "Market Monitor": "ניטור שוק", - "Mass Processed": "תהליך המוני", - "Medium Narrow": "בינוני צר", - "Medium Wide": "בינוני רחב", - "Memory": "זיכרון", - "Mempool": "בריכת עסקאות לזמן קצר", - "Mempool Size": "גודל בריכת העסקאות", - "Metrics": "מדדים", - "Metrics are not currently available": "מדדים כרגע לא זמינים", - "NPM Modules for NodeJS": "מודולי NPM עבור NodeJS", - "Network": "רשת", - "Network Difficulty": "רמת קושי של הרשת", - "Network Fees:": "דמי רשת:", - "Network Interface": "ממשק רשת", - "Network Peers": "עמיתי רשת", - "No peers": "אין עמיתים", - "No public node selected - please select a public node": "לא נבחר צומת ציבורי - בבקשה בחר צומת ציבורי", - "No transactions": "אין עסקאות", - "No wallets found, please create a new wallet": "לא נמצאו ארנקים, בבקשה צור ארנק חדש", - "Node": "צומת", - "Node Status": "מצב הצומת", - "Noise": "רעש", - "None": "אין", - "Not Connected": "לא מחובר", - "Not connected": "לא מחובר", - "Notifications": "התראות", - "Open Data Folder": "פתח תיקיית נתונים", - "Opening wallet:": "פותח ארנק:", - "Optional": "אופציונלי", - "Other operations": "פעולות נוספות", - "Outbound": "יוצא", - "Overview": "סקירה כללית", - "Parents": "הורים", - "Past Median Time": "זמן ממוצע קודם", - "Payment & Recovery Password": "סיסמת תשלום ושחזור", - "Payment Request": "בקשת תשלום", - "Peers": "עמיתים", - "Performance": "ביצועים", - "Phishing Hint": "רמז פישינג", - "Ping:": "פינג:", - "Please Confirm Deletion": "אנא אשר מחיקה", - "Please configure your Kaspa NG settings": "אנא הגדר את הגדרות ה-Kaspa NG שלך", - "Please connect to Kaspa p2p node": "אנא התחבר לצומת p2p של Kaspa", - "Please create a stronger password": "אנא צור סיסמה חזקה יותר", - "Please enter": "אנא הזן", - "Please enter KAS amount to send": "אנא הזן כמות של KAS לשליחה", - "Please enter an amount": "אנא הזן סכום", - "Please enter the account name": "אנא הזן את שם החשבון", - "Please enter the wallet secret": "אנא הזן את הסוד של הארנק", - "Please note that this is a beta release. Until this message is removed, please avoid using the wallet with mainnet funds.": "שים לב שזו גרסת אלפא. עד שהודעה זו תוסר, אנא הימנע משימוש בארנק עם כספים מרכזיים.", - "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "שים לב, העתקה ללוח גורמת לסיכון של חשיפת המנומוניק שלך לתוכנות זדוניות.", - "Please select an account type": "אנא בחר סוג חשבון", - "Please select the private key to export": "אנא בחר את המפתח הפרטי לייצוא", - "Please set node to 'Disabled' to delete the data folder": "אנא הגדר את הצומת ל-'מנוטרל' כדי למחוק את תיקיית הנתונים", - "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "אנא ציין את שם החשבון המוגדר כברירת מחדל. הארנק ייווצר עם חשבון ברירת המחדל. לאחר היצירה, תוכל ליצור חשבונות נוספים לפי הצורך.", - "Please specify the name of the new wallet": "אנא ציין את שם הארנק החדש", - "Please specify the private key type for the new wallet": "אנא ציין את סוג מפתח הפרטי עבור הארנק החדש", - "Please wait for the node to sync or connect to a remote node.": "אנא המתן עד שהצומת יסנכרן או תתחבר לצומת מרוחקה.", - "Please wait for the node to sync...": "אנא המתן עד שהצומת תסנכרן...", - "Please wait...": "אנא המתן...", - "Presets": "הגדרות מוגדרות מראש", - "Price": "מחיר", - "Private Key Mnemonic": "מנומוניק של מפתח פרטי", - "Processed Bodies": "גופים שעובדו", - "Processed Dependencies": "תלות שעובדה", - "Processed Headers": "כותרות שעובדו", - "Processed Mass Counts": "סופרי המסה שעובדו", - "Processed Transactions": "עסקאות שעובדו", - "Protocol:": "פרוטוקול:", - "Public Node": "צומת ציבורית", - "Public Nodes": "צמתים ציבוריים", - "Public Server": "שרת ציבורי", - "Public p2p Nodes for": "צמתי p2p ציבוריים עבור", - "Random Public Node": "צומת ציבורי אקראי", - "Range:": "טווח:", - "Receive Address": "כתובת קבלה", - "Recommended arguments for the remote node: ": "ארגומנטים מומלצים עבור הצומת המרוחקה:", - "Redistributables": "קבצים שניתן להפיצם מחדש", - "Remote": "מרוחק", - "Remote Connection:": "חיבור מרוחק:", - "Remote p2p Node Configuration": "הגדרת צומת p2p מרוחקת", - "Removes security restrictions, allows for single-letter passwords": "מסיר את ההגבלות האבטחה, מאפשר סיסמאות בודדות באות אחת", - "Reset Settings": "איפוס הגדרות", - "Reset VSPC": "איפוס VSPC", - "Resident Memory": "זיכרון פושב", - "Resources": "משאבים", - "Resulting daemon arguments:": "ארגומנטים של הדימון התוצאה:", + "Main Kaspa network": "Main Kaspa network", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (Main Kaspa network)", + "Managed by the Rusty Kaspa daemon": "Managed by the Rusty Kaspa daemon", + "Market": "Market", + "Market Cap": "Market Cap", + "Market Monitor": "Market Monitor", + "Mass Processed": "Mass Processed", + "Maximize window": "Maximize window", + "Medium Narrow": "Medium Narrow", + "Medium Wide": "Medium Wide", + "Memory": "Memory", + "Mempool": "Mempool", + "Mempool Size": "Mempool Size", + "Metrics": "Metrics", + "Metrics are not currently available": "Metrics are not currently available", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM Modules for NodeJS", + "Network": "Network", + "Network Difficulty": "Network Difficulty", + "Network Fees:": "Network Fees:", + "Network Interface": "Network Interface", + "Network Peers": "Network Peers", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "No peers", + "No public node selected - please select a public node": "No public node selected - please select a public node", + "No transactions": "No transactions", + "No wallets found, please create a new wallet": "No wallets found, please create a new wallet", + "Node": "Node", + "Node Status": "Node Status", + "Noise": "Noise", + "None": "None", + "Not Connected": "Not Connected", + "Not connected": "Not connected", + "Notifications": "Notifications", + "Open Data Folder": "Open Data Folder", + "Opening wallet:": "Opening wallet:", + "Optional": "Optional", + "Other operations": "Other operations", + "Outbound": "Outbound", + "Overview": "Overview", + "Parents": "Parents", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Past Median Time", + "Payment & Recovery Password": "Payment & Recovery Password", + "Payment Request": "Payment Request", + "Peers": "Peers", + "Performance": "Performance", + "Phishing Hint": "Phishing Hint", + "Ping:": "Ping:", + "Please Confirm Deletion": "Please Confirm Deletion", + "Please configure your Kaspa NG settings": "Please configure your Kaspa NG settings", + "Please connect to Kaspa p2p node": "Please connect to Kaspa p2p node", + "Please create a stronger password": "Please create a stronger password", + "Please enter": "Please enter", + "Please enter KAS amount to send": "Please enter KAS amount to send", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Please enter an amount", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Please enter the account name", + "Please enter the wallet secret": "Please enter the wallet secret", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.", + "Please select an account type": "Please select an account type", + "Please select the private key to export": "Please select the private key to export", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Please set node to 'Disabled' to delete the data folder", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.", + "Please specify the name of the new wallet": "Please specify the name of the new wallet", + "Please specify the private key type for the new wallet": "Please specify the private key type for the new wallet", + "Please wait for the node to sync or connect to a remote node.": "Please wait for the node to sync or connect to a remote node.", + "Please wait for the node to sync...": "Please wait for the node to sync...", + "Please wait...": "Please wait...", + "Presets": "Presets", + "Price": "Price", + "Private Key Mnemonic": "Private Key Mnemonic", + "Processed Bodies": "Processed Bodies", + "Processed Dependencies": "Processed Dependencies", + "Processed Headers": "Processed Headers", + "Processed Mass Counts": "Processed Mass Counts", + "Processed Transactions": "Processed Transactions", + "Protocol:": "Protocol:", + "Public Node": "Public Node", + "Public Nodes": "Public Nodes", + "Public Server": "Public Server", + "Public p2p Nodes for": "Public p2p Nodes for", + "Random Public Node": "Random Public Node", + "Range:": "Range:", + "Receive Address": "Receive Address", + "Recommended arguments for the remote node: ": "Recommended arguments for the remote node: ", + "Redistributables": "Redistributables", + "Remote": "Remote", + "Remote Connection:": "Remote Connection:", + "Remote p2p Node Configuration": "Remote p2p Node Configuration", + "Removes security restrictions, allows for single-letter passwords": "Removes security restrictions, allows for single-letter passwords", + "Reset Settings": "Reset Settings", + "Reset VSPC": "Reset VSPC", + "Resident Memory": "Resident Memory", + "Resources": "Resources", + "Resulting daemon arguments:": "Resulting daemon arguments:", "Rust Wallet SDK": "Rust Wallet SDK", - "Rusty Kaspa on GitHub": "Rusty Kaspa ב־GitHub", - "Secret is too weak": "הסוד חלש מדי", - "Secret score:": "ניקוד הסוד:", - "Select Account": "בחר חשבון", - "Select Available Server": "בחר שרת זמין", - "Select Private Key Type": "בחר סוג מפתח פרטי", - "Select Public Node": "בחר צומת ציבורית", - "Select Wallet": "בחר ארנק", - "Select a wallet to unlock": "בחר ארנק לשחרור", - "Send": "שלח", - "Services": "שירותים", - "Settings": "הגדרות", - "Show DAA": "הצג DAA", - "Show Grid": "הצג רשת", - "Show VSPC": "הצג VSPC", - "Show balances in alternate currencies for testnet coins": "הצג יתרות במטבעות חלופיים עבור מטבעות ניסוי", - "Show password": "הצג סיסמה", - "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "מציג יתרות במטבעות חלופיים (BTC, USD) כאשר משתמשים במטבעות ניסוי כאילו אתה ב־mainnet", - "Skip": "דלג", - "Small (10 BPS)": "קטן (10 BPS)", - "Spread": "פיזור", - "Stage": "שלב", - "Starting...": "מתחיל...", - "Statistics": "סטטיסטיקות", - "Stor Read": "קריאת זיכרון", - "Stor Write": "כתיבת זיכרון", - "Storage": "אחסון", - "Storage Read": "קריאת אחסון", - "Storage Read/s": "קריאת אחסון לשנייה", - "Storage Write": "כתיבת אחסון", - "Storage Write/s": "כתיבת אחסון לשנייה", - "Submitted Blocks": "בלוקים שהוגשו", - "Supporting Kaspa NG development": "תמיכה בפיתוח של Kaspa NG", - "Syncing Cryptographic Proof...": "סנכרון ראיות קריפטוגרפיות...", - "Syncing DAG Blocks...": "סנכרון בלוקי DAG...", - "Syncing Headers...": "סנכרון כותרות...", - "Syncing UTXO entries...": "סנכרון רשומות UTXO...", - "Syncing...": "סנכרון...", - "System": "מערכת", - "TPS": "קצב העברת העסקאות לשנייה", + "Rusty Kaspa on GitHub": "Rusty Kaspa on GitHub", + "Secret is too weak": "Secret is too weak", + "Secret score:": "Secret score:", + "Select Account": "Select Account", + "Select Available Server": "Select Available Server", + "Select Private Key Type": "Select Private Key Type", + "Select Public Node": "Select Public Node", + "Select Wallet": "Select Wallet", + "Select a wallet to unlock": "Select a wallet to unlock", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Send", + "Services": "Services", + "Settings": "Settings", + "Show DAA": "Show DAA", + "Show Grid": "Show Grid", + "Show VSPC": "Show VSPC", + "Show balances in alternate currencies for testnet coins": "Show balances in alternate currencies for testnet coins", + "Show passphrase": "Show passphrase", + "Show password": "Show password", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet", + "Skip": "Skip", + "Small (10 BPS)": "Small (10 BPS)", + "Spread": "Spread", + "Stage": "Stage", + "Starting...": "Starting...", + "Statistics": "Statistics", + "Stor Read": "Stor Read", + "Stor Write": "Stor Write", + "Storage": "Storage", + "Storage Read": "Storage Read", + "Storage Read/s": "Storage Read/s", + "Storage Write": "Storage Write", + "Storage Write/s": "Storage Write/s", + "Strong": "Strong", + "Submitted Blocks": "Submitted Blocks", + "Supporting Kaspa NG development": "Supporting Kaspa NG development", + "Syncing Cryptographic Proof...": "Syncing Cryptographic Proof...", + "Syncing DAG Blocks...": "Syncing DAG Blocks...", + "Syncing Headers...": "Syncing Headers...", + "Syncing UTXO entries...": "Syncing UTXO entries...", + "Syncing...": "Syncing...", + "System": "System", + "TPS": "TPS", "Testnet 10": "Testnet 10", "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", "Testnet 11": "Testnet 11", "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", - "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 עדיין לא מאופשר לבדיקה ציבורית. בכל זאת, ניתן להגדיר את הצומת להתחבר לטסטנט הפרטי של מפתחים בלוח ההגדרות.", - "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "תוכנת Kaspa NG מייצגת מאמץ מתמיד הממוקד על בניית פלטפורמת תוכנה מתקדמת מסודרת לרשת הקריפטו Kaspa BlockDAG. כתוכנה אידיאולוגית בליבה, עדיף אבטחה, פרטיות, ביצועים ודיסטריבוציה.", - "The balance may be out of date during node sync": "היתכן כי היתר יהיה לא מעודכן במהלך סנכרון הצומת", - "The following will guide you through the process of creating or importing a wallet.": "הבא ידריך אותך דרך התהליך ליצירה או ייבוא של ארנק.", - "The node is currently syncing with the Kaspa p2p network.": "הצומת כרגע מסנכרן עם רשת ה-p2p של Kaspa.", - "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "הצומת כרגע מסנכרן עם רשת ה-p2p של Kaspa. יתכן כי היתר בחשבון יהיה לא מעודכן.", - "The node is spawned as a child daemon process (recommended).": "הצומת מופעל כתהליך תת-דמון (מומלץ).", - "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "הצומת רץ כחלק מתהליך היישום של Kaspa-NG. זה יכול להוריד את עומס התקשורת (ניסיוני).", - "Theme Color": "צבע ערכת נושא", - "Theme Color:": "צבע ערכת נושא:", - "Theme Style": "סגנון ערכת נושא", - "Theme Style:": "סגנון ערכת נושא:", - "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "ארנק זה לעולם לא יבקש ממך את הביטוי המנמוני הזה אלא אם תתחיל באופן ידני את שחזור מפתח פרטי.", - "Threshold": "סף", - "Time Offset:": "היסט הזמן:", - "Tip Hashes": "טיפ גידול", - "Tools ⏷": "כלים ⏷", - "Total Rx": "סך קבלת נתונים", - "Total Rx/s": "סך קבלת נתונים לשנייה", - "Total Tx": "סך שליחת נתונים", - "Total Tx/s": "סך שליחת נתונים לשנייה", - "Track in the background": "מעקב ברקע", - "Transactions": "עסקאות", - "Transactions:": "עסקאות:", - "Type": "סוג", - "UTXO Manager": "מנהל UTXO", - "UTXOs": "UTXOs", - "UTXOs:": "UTXOs:", - "Unable to change node settings until the problem is resolved": "לא ניתן לשנות את הגדרות הצומת עד שהבעיה תיפתר", - "Unlock": "פתח", - "Unlock Wallet": "פתח ארנק", - "Unlocking": "פתיחה", - "Update Available to version": "עדכון זמין לגרסה", - "Updating...": "מעדכן...", - "Uptime:": "זמן פעילות:", - "Use 50%-75% of available system memory": "השתמש ב- 50%-75% מזיכרון המערכת הזמין", - "Use all available system memory": "השתמש בכל זיכרון המערכת הזמין", - "User Agent": "סוכן משתמש", - "User Interface": "ממשק משתמש", - "Very dangerous (may be cracked within few seconds)": "סכנה גבוהה מאוד (ייתכן שינתקלו בו במשך מספר שניות)", - "Virt Parents": "הורים וירטואליים", - "Virtual DAA Score": "ניקוד DAA וירטואלי", - "Virtual Memory": "זיכרון וירטואלי", - "Virtual Parent Hashes": "גיבורי הורים וירטואליים", - "Volume": "נפח", - "WASM SDK for JavaScript and TypeScript": "WASM SDK עבור JavaScript ו- TypeScript", - "Wallet": "ארנק", - "Wallet Created": "ארנק נוצר", - "Wallet Encryption Password": "סיסמת הצפנה לארנק", - "Wallet Name": "שם הארנק", - "Wallet Secret": "סוד הארנק", - "Wallet password is used to encrypt your wallet data.": "סיסמת הארנק משמשת להצפנת נתוני הארנק שלך.", - "Wallet:": "ארנק:", - "We greatly appreciate your help in backing our efforts.": "אנו מעריכים מאוד את עזרתך בתמיכה במאמצים שלנו.", - "Welcome to Kaspa NG": "ברוך הבא ל- Kaspa NG", - "Xpub Keys": "מפתחות Xpub", - "You are currently not connected to the Kaspa node.": "כרגע אינך מחובר לצומת Kaspa.", - "You can configure remote connection in Settings": "תוכל להגדיר חיבור מרחוק בהגדרות", - "You can create multiple wallets, but only one wallet can be open at a time.": "תוכל ליצור מספר ארנקים, אך רק ארנק אחד יכול להיות פתוח בכל פעם.", - "You must be connected to a node...": "עליך להתחבר לצומת...", - "Your default wallet private key mnemonic is:": "המנמוני הפרטי של הארנק המוגדר כברירת מחדל שלך הוא:", - "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "הביטוי המנמוני שלך מאפשר לך ליצור מחדש את המפתח הפרטי שלך. האדם שיש לו גישה למנמוני זה יהיה בעל שליטה מלאה ב-Kaspa השמור עליו. שמור על המנמוני שלך. רשום אותו ואחסון אותו במקום בטוח, למיטב יכולתך במקום העמיד לאש. אל תאחסן את המנמוני שלך במחשב זה או במכשיר נייד. ארנק זה לעולם לא יבקש ממך את הביטוי המנמוני הזה אלא אם תתחיל באופן ידני את שחזור המפתח הפרטי.", - "Your private key mnemonic is:": "המנמוני הפרטי שלך הוא:", - "Your wallet has been created and is ready to use.": "הארנק שלך נוצר ומוכן לשימוש.", - "Zoom": "התקרבות", - "amount to send": "סכום לשליחה", - "bye!": "ביי!", - "gRPC Network Interface & Port": "ממשק רשת ופורט gRPC", - "gRPC Rx": "קליטת gRPC", - "gRPC Rx/s": "קליטת gRPC לשנייה", - "gRPC Tx": "שידור gRPC", - "gRPC Tx/s": "שידור gRPC לשנייה", - "of": "מתוך", - "p2p RPC": "RPC ב-p2p", - "p2p Rx": "קליטת p2p", - "p2p Rx/s": "קליטת p2p לשנייה", - "p2p Tx": "שידור p2p", - "p2p Tx/s": "שידור p2p לשנייה", - "peer": "עמית", - "peers": "עמיתים", - "wRPC Borsh Rx": "קליטת wRPC Borsh", - "wRPC Borsh Rx/s": "קליטת wRPC Borsh לשנייה", - "wRPC Borsh Tx": "שידור wRPC Borsh", - "wRPC Borsh Tx/s": "שידור wRPC Borsh לשנייה", - "wRPC Connection Settings": "הגדרות חיבור wRPC", - "wRPC Encoding:": "קידוד wRPC:", - "wRPC JSON Rx": "קליטת wRPC JSON", - "wRPC JSON Rx/s": "קליטת wRPC JSON לשנייה", - "wRPC JSON Tx": "שידור wRPC JSON", - "wRPC JSON Tx/s": "שידור wRPC JSON לשנייה", - "wRPC URL:": "כתובת URL של wRPC:" - }, - "hi": { - "1 BPS test network": "1 बीपीएस परीक्षण नेटवर्क", - "10 BPS test network": "10 बीपीएस परीक्षण नेटवर्क", - "12 word mnemonic": "12 शब्दों का स्मृतिचिह्न", - "24 word mnemonic": "24 शब्दों का स्मृतिचिह्न", - "24h Change": "24 घंटे का परिवर्तन", - "A binary at another location is spawned a child process (experimental, for development purposes only).": "एक अन्य स्थान पर एक बाइनरी एक बच्चा प्रक्रिया उत्पन्न करता है (प्रयोगशाला, विकास के उद्देश्यों के लिए केवल)।", - "A random node will be selected on startup": "प्रारंभ में एक यादृच्छिक नोड चयनित किया जाएगा", - "A wallet is stored in a file on your computer.": "एक वॉलेट आपके कंप्यूटर पर एक फ़ाइल में संग्रहीत होता है।", - "Account Index": "खाता सूची", - "Account Name": "खाता नाम", - "Account:": "खाता:", - "Activate custom daemon arguments": "कस्टम डेमन तर्कों को सक्रिय करें", - "Active p2p Peers": "सक्रिय p2p पीयर्स", - "Address derivation scan": "पता निर्माण स्कैन", - "Address:": "पता:", - "Advanced": "उन्नत", - "All": "सभी", - "Allow custom arguments for the Rusty Kaspa daemon": "रस्टी कास्पा डेमन के लिए कस्टम तर्कों की अनुमति दें", - "Allows you to take screenshots from within the application": "आवेदन के भीतर स्क्रीनशॉट लेने की अनुमति देता है", - "Apply": "लागू करें", - "Balance: N/A": "शेष: एन / ए", - "Bandwidth": "बैंडविड्थ", - "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "सुरक्षा और प्रदर्शन पर ध्यान केंद्रित करने के कारण, यह सॉफ़्टवेयर पूरी तरह से रस्ट में विकसित किया गया है, इसमें अन्य पारंपरिक आधुनिक वेब निर्देशित सॉफ़्टवेयर की तुलना में काफी अधिक समय और प्रयास की आवश्यकता होती है।", - "Bezier Curves": "बेज़ियर कर्वेज़", - "Block DAG": "ब्लॉक DAG", - "Block Scale": "ब्लॉक स्केल", - "Blocks": "ब्लॉक", - "Bodies": "बॉडी", - "Borsh Active Connections": "बोर्श सक्रिय कनेक्शन", - "Borsh Connection Attempts": "बोर्श कनेक्शन प्रयास", - "Borsh Handshake Failures": "बोर्श हैंडशेक विफलताएँ", - "Build": "निर्माण", - "CONNECTED": "कनेक्टेड", - "CPU": "सीपीयू", - "Cache Memory Size": "कैश मेमोरी का आकार", - "Cache Memory Size:": "कैश मेमोरी का आकार:", - "Cancel": "रद्द करें", - "Cannot delete data folder while the node is running": "नोड चल रहे हैं तब डेटा फ़ोल्डर को हटाया नहीं जा सकता", - "Capture a screenshot": "एक स्क्रीनशॉट कैप्चर करें", - "Center VSPC": "केंद्र VSPC", - "Chain Blocks": "श्रृंखला ब्लॉक", - "Change Address": "पता बदलें", - "Check for Software Updates on GitHub": "GitHub पर सॉफ़्टवेयर अपडेट के लिए जाँच करें", - "Check for Updates": "अपडेट के लिए जाँच करें", - "Clear": "साफ़ करें", - "Click to try another server...": "दूसरे सर्वर की कोशिश करने के लिए क्लिक करें...", - "Client RPC": "क्लाइंट आरपीसी", - "Close": "बंद करें", - "Close the window": "खिड़की को बंद करें", - "Confirm wallet password": "वॉलेट पासवर्ड की पुष्टि करें", - "Connect to a local node (localhost)": "स्थानीय नोड (localhost) से कनेक्ट करें", - "Connecting to": "कनेक्ट कर रहा है", - "Connection": "कनेक्शन", - "Connections": "कनेक्शन", - "Connects to a Remote Rusty Kaspa Node via wRPC.": "wRPC के माध्यम से दूरस्थ रस्टी कस्पा नोड से कनेक्ट करता है।", - "Conservative": "रूढ़िवादी", - "Continue": "जारी रखें", - "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "इस परियोजना के प्रति दिशित योगदान सीधे कस्पा एनजी सॉफ़्टवेयर और इसके पारिस्थितिकी को शक्ति प्रदान करते हैं।", - "Copied to clipboard": "क्लिपबोर्ड पर कॉपी किया गया", - "Copy": "कॉपी", - "Copy logs to clipboard": "लॉग्स को क्लिपबोर्ड पर कॉपी करें", - "Create New Account": "नया खाता बनाएं", - "Create New Wallet": "नया वॉलेट बनाएं", - "Create new wallet": "नया वॉलेट बनाएं", - "Creating Account": "खाता बनाना", - "Creating Wallet": "वॉलेट बनाना", - "Custom": "कस्टम", - "Custom Public Node": "कस्टम सार्वजनिक नोड", - "Custom arguments:": "कस्टम तर्क:", - "Custom data storage folder": "कस्टम डेटा संग्रहण फ़ोल्डर", - "DAA": "डीएए", - "DAA Offset": "डीएए ऑफसेट", - "DAA Range": "डीएए रेंज", - "DB Blocks": "डीबी ब्लॉक्स", - "DB Headers": "डीबी हेडर्स", - "Data Storage": "डेटा स्टोरेज", - "Database Blocks": "डेटाबेस ब्लॉक्स", - "Database Headers": "डेटाबेस हेडर्स", - "Decrypting wallet, please wait...": "वॉलेट को डिक्रिप्ट किया जा रहा है, कृपया प्रतीक्षा करें...", - "Default": "डिफ़ॉल्ट", - "Default Account Name": "डिफ़ॉल्ट खाता नाम", - "Delete Data Folder": "डेटा फ़ोल्डर को हटाएं", - "Dependencies": "आवश्यकताएँ", - "Derivation Indexes": "निर्धारण सूचकांक", - "Details": "विवरण", - "Developer Mode": "डेवलपर मोड", - "Developer Resources": "डेवलपर संसाधन", - "Developer mode enables advanced and experimental features": "डेवलपर मोड उन्नत और प्रयोगात्मक सुविधाओं को सक्षम करता है", - "Difficulty": "कठिनाई", - "Dimensions": "आयाम", - "Disable password score restrictions": "पासवर्ड स्कोर प्रतिबंधों को अक्षम करें", - "Disabled": "अक्षम", - "Disables node connectivity (Offline Mode).": "नोड कनेक्टिविटी को अक्षम करता है (ऑफ़लाइन मोड)।", - "Discord": "डिस्कॉर्ड", - "Donations": "दान", - "Double click on the graph to re-center...": "ग्राफ पर डबल क्लिक करें और पुनः केंद्रित करें...", - "ECDSA": "ECDSA", - "Enable Market Monitor": "मार्केट मॉनिटर सक्षम करें", - "Enable UPnP": "UPnP सक्षम करें", - "Enable custom daemon arguments": "कस्टम डेमन तर्क सक्षम करें", - "Enable experimental features": "प्रयोगात्मक सुविधाओं को सक्षम करें", - "Enable gRPC": "gRPC सक्षम करें", - "Enable optional BIP39 passphrase": "वैकल्पिक BIP39 पासवर्ड सक्षम करें", - "Enable screen capture": "स्क्रीन कैप्चर सक्षम करें", - "Enables features currently in development": "वर्तमान में विकास में उपलब्ध सुविधाओं को सक्षम करता है", - "Enter": "प्रवेश करें", - "Enter account name (optional)": "खाता नाम दर्ज करें (वैकल्पिक)", - "Enter first account name": "पहला खाता नाम दर्ज करें", - "Enter phishing hint": "फिशिंग हिंट दर्ज करें", - "Enter the amount": "राशि दर्ज करें", - "Enter the password for your wallet": "अपने वॉलेट के लिए पासवर्ड दर्ज करें", - "Enter the password to unlock your wallet": "अपने वॉलेट को खोलने के लिए पासवर्ड दर्ज करें", - "Enter wallet name": "वॉलेट का नाम दर्ज करें", - "Enter wallet password": "वॉलेट पासवर्ड दर्ज करें", - "Enter your wallet secret": "अपना वॉलेट रहस्य दर्ज करें", - "Explorer": "एक्सप्लोरर", - "Export Wallet Data": "वॉलेट डेटा निर्यात करें", - "Faucet": "फॉसेट", - "File Handles": "फ़ाइल हैंडल", - "Filename:": "फ़ाइल का नाम:", - "Final Amount:": "अंतिम राशि:", - "GitHub Release": "GitHub रिलीज़", - "Go to Settings": "सेटिंग्स पर जाएं", - "Handles": "हैंडल्स", - "Headers": "हेडर्स", - "IBD:": "IBD:", - "If not specified, the account will be represented by the numeric id.": "यदि निर्दिष्ट नहीं किया गया है, तो खाता संख्यात्मक आईडी द्वारा प्रतिनिधित किया जाएगा।", - "If you are running locally, use: ": "यदि आप स्थानीय रूप से चला रहे हैं, तो उपयोग करें: ", - "Import existing": "मौजूदा आयात करें", - "Inbound": "इनबाउंड", - "Include QoS Priority Fees": "क्यूओएस प्राथमिकता शुल्क शामिल करें", - "Integrated Daemon": "एकीकृत डेमन", - "Invalid daemon arguments": "अमान्य डेमन तर्क", - "Invalid network type - expected: testnet-10 connected to: testnet-11": "अमान्य नेटवर्क प्रकार - अपेक्षित: टेस्टनेट-10 कनेक्टेड टू: टेस्टनेट-11", - "Invalid wRPC URL": "अमान्य wRPC URL", - "Json Active Connections": "Json सक्रिय कनेक्शन", - "Json Connection Attempts": "Json कनेक्शन प्रयास", - "Json Handshake Failures": "Json हैंडशेक विफलताएं", - "Kaspa Discord": "Kaspa Discord", - "Kaspa Integration Guide": "Kaspa एकीकरण गाइड", - "Kaspa NG": "Kaspa NG", - "Kaspa NG Online": "Kaspa NG ऑनलाइन", - "Kaspa NG Web App": "Kaspa NG वेब ऐप", - "Kaspa NG on GitHub": "Kaspa NG GitHub पर", - "Kaspa NG online": "Kaspa NG ऑनलाइन", - "Kaspa Network": "Kaspa नेटवर्क", - "Kaspa Node": "Kaspa नोड", - "Kaspa p2p Network & Node Connection": "Kaspa p2p नेटवर्क और नोड कनेक्शन", - "Kaspa p2p Node": "Kaspa p2p नोड", - "Kaspa p2p Node & Connection": "Kaspa p2p नोड और कनेक्शन", - "Key Perf.": "मुख्य अद्यतन:", - "Language:": "भाषा:", - "Large (1 BPS)": "बड़ा (1 BPS)", - "Levels": "स्तर", - "License Information": "लाइसेंस जानकारी", - "Local": "स्थानीय", - "Local p2p Node Configuration": "स्थानीय p2p नोड कॉन्फ़िगरेशन", - "Logs": "लॉग्स", - "MT": "एमटी", - "Main Kaspa network": "मुख्य कस्पा नेटवर्क", - "Mainnet": "मुख्य नेटवर्क", - "Mainnet (Main Kaspa network)": "मुख्य नेटवर्क (मुख्य कस्पा नेटवर्क)", - "Managed by the Rusty Kaspa daemon": "रस्टी कस्पा डेमन द्वारा प्रबंधित", - "Market": "बाजार", - "Market Cap": "बाजार कैप", - "Market Monitor": "बाजार मॉनिटर", - "Mass Processed": "बड़े पैमाने पर प्रसंस्कृत", - "Medium Narrow": "मध्यम संकीर्ण", - "Medium Wide": "मध्यम चौड़ा", - "Memory": "मेमोरी", - "Mempool": "मेमपूल", - "Mempool Size": "मेमपूल का आकार", - "Metrics": "मैट्रिक्स", - "Metrics are not currently available": "मैट्रिक्स वर्तमान में उपलब्ध नहीं हैं", - "NPM Modules for NodeJS": "NodeJS के लिए एनपीएम मॉड्यूल", - "Network": "नेटवर्क", - "Network Difficulty": "नेटवर्क कठिनाई", - "Network Fees:": "नेटवर्क शुल्क:", - "Network Interface": "नेटवर्क इंटरफेस", - "Network Peers": "नेटवर्क पीयर्स", - "No peers": "कोई पीयर्स नहीं", - "No public node selected - please select a public node": "कोई सार्वजनिक नोड चयनित नहीं - कृपया एक सार्वजनिक नोड का चयन करें", - "No transactions": "कोई लेन-देन नहीं", - "No wallets found, please create a new wallet": "कोई वॉलेट नहीं मिली, कृपया एक नया वॉलेट बनाएं", - "Node": "नोड", - "Node Status": "नोड स्थिति", - "Noise": "शोर", - "None": "कोई नहीं", - "Not Connected": "कनेक्ट नहीं है", - "Not connected": "कनेक्ट नहीं है", - "Notifications": "सूचनाएँ", - "Open Data Folder": "डेटा फ़ोल्डर खोलें", - "Opening wallet:": "वॉलेट खोला जा रहा है:", - "Optional": "ऐच्छिक", - "Other operations": "अन्य कार्य", - "Outbound": "आउटबाउंड", - "Overview": "अवलोकन", - "Parents": "माता-पिता", - "Past Median Time": "गत माध्यम समय", - "Payment & Recovery Password": "भुगतान और पुनर्प्राप्ति पासवर्ड", - "Payment Request": "भुगतान अनुरोध", - "Peers": "पीयर्स", - "Performance": "प्रदर्शन", - "Phishing Hint": "फिशिंग हिंट", - "Ping:": "पिंग:", - "Please Confirm Deletion": "कृपया मिटाने की पुष्टि करें", - "Please configure your Kaspa NG settings": "कृपया अपनी कस्पा एनजी सेटिंग कॉन्फ़िगर करें", - "Please connect to Kaspa p2p node": "कृपया कस्पा p2p नोड से कनेक्ट करें", - "Please create a stronger password": "कृपया एक और मजबूत पासवर्ड बनाएं", - "Please enter": "कृपया दर्ज करें", - "Please enter KAS amount to send": "कृपया भेजने के लिए KAS राशि दर्ज करें", - "Please enter an amount": "कृपया एक राशि दर्ज करें", - "Please enter the account name": "कृपया खाता नाम दर्ज करें", - "Please enter the wallet secret": "कृपया वॉलेट सीक्रेट दर्ज करें", - "Please note that this is a beta release. Until this message is removed, please avoid using the wallet with mainnet funds.": "कृपया ध्यान दें कि यह एक अल्फा रिलीज़ है। जब तक यह संदेश हटाया नहीं जाता है, कृपया मुख्य नेटवर्क फंड के साथ वॉलेट का उपयोग न करें।", - "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "कृपया ध्यान दें, क्लिपबोर्ड पर कॉपी करने से आपकी म्नैमोनिक को मैलवेयर को उजागर करने का खतरा होता है।", - "Please select an account type": "कृपया खाता प्रकार का चयन करें", - "Please select the private key to export": "निर्यात करने के लिए कृपया निजी कुंजी का चयन करें", - "Please set node to 'Disabled' to delete the data folder": "डेटा फ़ोल्डर को हटाने के लिए कृपया नोड को 'अक्षम' पर सेट करें", - "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "कृपया डिफ़ॉल्ट खाते का नाम निर्दिष्ट करें। वॉलेट एक डिफ़ॉल्ट खाते के साथ बनाया जाएगा। एक बार बनाया गया, आप जितने आवश्यक होते हैं, उतने अतिरिक्त खाते बना सकते हैं।", - "Please specify the name of the new wallet": "कृपया नए वॉलेट का नाम निर्दिष्ट करें", - "Please specify the private key type for the new wallet": "कृपया नए वॉलेट के लिए निजी कुंजी का प्रकार निर्दिष्ट करें", - "Please wait for the node to sync or connect to a remote node.": "कृपया नोड को सिंक करने के लिए या रिमोट नोड से कनेक्ट करने के लिए प्रतीक्षा करें।", - "Please wait for the node to sync...": "कृपया नोड को सिंक करने के लिए प्रतीक्षा करें...।", - "Please wait...": "कृपया प्रतीक्षा करें...", - "Presets": "पूर्वनिर्धारित", - "Price": "मूल्य", - "Private Key Mnemonic": "निजी कुंजी स्मृतिचिह्न", - "Processed Bodies": "प्रसंस्कृत शरीर", - "Processed Dependencies": "प्रसंस्कृत आवश्यकताएँ", - "Processed Headers": "प्रसंस्कृत हैडर्स", - "Processed Mass Counts": "प्रसंस्कृत भार गणना", - "Processed Transactions": "प्रसंस्कृत लेन-देन", - "Protocol:": "प्रोटोकॉल:", - "Public Node": "सार्वजनिक नोड", - "Public Nodes": "सार्वजनिक नोड्स", - "Public Server": "सार्वजनिक सर्वर", - "Public p2p Nodes for": "के लिए सार्वजनिक पी 2 पी नोड्स", - "Random Public Node": "यादृच्छिक सार्वजनिक नोड", - "Range:": "सीमा:", - "Receive Address": "प्राप्त पता", - "Recommended arguments for the remote node: ": "दूरस्थ नोड के लिए अनुशंसित तर्क:", - "Redistributables": "पुनःवितरित करने योग्य", - "Remote": "दूरस्थ", - "Remote Connection:": "दूरस्थ कनेक्शन:", - "Remote p2p Node Configuration": "दूरस्थ पी 2 पी नोड कॉन्फ़िगरेशन", - "Removes security restrictions, allows for single-letter passwords": "सुरक्षा प्रतिबंधों को हटाता है, एकल अक्षर के पासवर्ड की अनुमति देता है", - "Reset Settings": "सेटिंग्स रीसेट करें", - "Reset VSPC": "VSPC रीसेट करें", - "Resident Memory": "निवासी स्मृति", - "Resources": "संसाधन", - "Resulting daemon arguments:": "परिणामी डेमोन तर्क:", - "Rust Wallet SDK": "रस्ट वॉलेट एसडीके", - "Rusty Kaspa on GitHub": "गिटहब पर रस्टी कास्पा", - "Secret is too weak": "रहस्य बहुत कमजोर है", - "Secret score:": "रहस्य स्कोर:", - "Select Account": "खाता चुनें", - "Select Available Server": "उपलब्ध सर्वर चुनें", - "Select Private Key Type": "निजी कुंजी प्रकार चुनें", - "Select Public Node": "सार्वजनिक नोड चुनें", - "Select Wallet": "वॉलेट चुनें", - "Select a wallet to unlock": "अनलॉक करने के लिए वॉलेट चुनें", - "Send": "भेजें", - "Services": "सेवाएँ", - "Settings": "सेटिंग्स", - "Show DAA": "डीएए दिखाएं", - "Show Grid": "ग्रिड दिखाएं", - "Show VSPC": "वीएसपीसी दिखाएं", - "Show balances in alternate currencies for testnet coins": "टेस्टनेट सिक्कों के लिए वैकल्पिक मुद्राओं में शेष राशियाँ दिखाएं", - "Show password": "पासवर्ड दिखाएं", - "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "मुख्य नेट पर होने की तरह टेस्टनेट सिक्कों का उपयोग करते समय वैकल्पिक मुद्राओं (बीटीसी, यूएसडी) में शेष राशियाँ दिखाता है", - "Skip": "छोड़ें", - "Small (10 BPS)": "छोटा (10 बीपीएस)", - "Spread": "फैलाव", - "Stage": "मंच", - "Starting...": "प्रारंभ...", - "Statistics": "आंकड़े", - "Stor Read": "स्टोर पढ़ें", - "Stor Write": "स्टोर लिखें", - "Storage": "संग्रहण", - "Storage Read": "संग्रहण पढ़ें", - "Storage Read/s": "संग्रहण पढ़ें/सेकंड", - "Storage Write": "संग्रहण लिखें", - "Storage Write/s": "संग्रहण लिखें/सेकंड", - "Submitted Blocks": "प्रस्तुत ब्लॉक", - "Supporting Kaspa NG development": "कास्पा एनजी विकास का समर्थन करना", - "Syncing Cryptographic Proof...": "क्रिप्टोग्राफिक प्रमाण सिंक किया जा रहा है...", - "Syncing DAG Blocks...": "डैग ब्लॉक सिंक किया जा रहा है...", - "Syncing Headers...": "हेडर सिंक किया जा रहा है...", - "Syncing UTXO entries...": "UTXO एंट्रीज़ सिंक किया जा रहा है...", - "Syncing...": "सिंक हो रहा है...", - "System": "सिस्टम", - "TPS": "TPS", - "Testnet 10": "टेस्टनेट 10", - "Testnet 10 (1 BPS)": "टेस्टनेट 10 (1 BPS)", - "Testnet 11": "टेस्टनेट 11", - "Testnet 11 (10 BPS)": "टेस्टनेट 11 (10 BPS)", - "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "टेस्टनेट 11 अभी तक सार्वजनिक परीक्षण के लिए सक्षम नहीं है। हालांकि, आप नोड को सेटिंग्स पैनल में निजी डेवलपर टेस्टनेट से कनेक्ट करने के लिए कॉन्फ़िगर कर सकते हैं।", - "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "कास्पा एनजी सॉफ़्टवेयर केस्पा ब्लॉकडैग क्रिप्टोकरेंसी नेटवर्क के लिए एक उत्कृष्ट सॉफ़्टवेयर प्लेटफ़ॉर्म बनाने पर ध्यान केंद्रित किए गए एक लगातार प्रयास को प्रतिनिधित करता है। इसके मूल में आदर्शवादी, यह सॉफ़्टवेयर सुरक्षा, गोपनीयता, प्रदर्शन, और डीसेंट्रलाइज़ेशन पर प्राथमिकता देता है।", - "The balance may be out of date during node sync": "नोड सिंक के दौरान शेष अपडेट हो सकता है", - "The following will guide you through the process of creating or importing a wallet.": "निम्नलिखित आपको एक वॉलेट बनाने या आयात करने की प्रक्रिया के माध्यम से गाइड करेगा।", - "The node is currently syncing with the Kaspa p2p network.": "नोड वर्तमान में कास्पा पी 2 पी नेटवर्क के साथ सिंक हो रहा है।", - "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "नोड वर्तमान में कास्पा पी 2 पी नेटवर्क के साथ सिंक हो रहा है। खाता शेष हो सकता है।", - "The node is spawned as a child daemon process (recommended).": "नोड एक बच्चा डेमन प्रक्रिया के रूप में उत्पन्न किया जाता है (सिफ़ारिश किया गया है)।", - "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "नोड कास्पा-एनजी एप्लिकेशन प्रक्रिया का हिस्सा के रूप में चलता है। यह संचार ओवरहेड को कम करता है (प्रायोगिक)।", - "Theme Color": "थीम रंग", - "Theme Color:": "थीम रंग:", - "Theme Style": "थीम शैली", - "Theme Style:": "थीम शैली:", - "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "यह वॉलेट आपसे इस म्नेमोनिक वाक्यिका के लिए कभी पूछने के लिए नहीं होगा जब तक आप स्वयं निजी कुंजी विलोपन आरंभ नहीं करते।", - "Threshold": "सीमा", - "Time Offset:": "समय ऑफ़सेट:", - "Tip Hashes": "टिप हैशेस", - "Tools ⏷": "उपकरण ⏷", - "Total Rx": "कुल Rx", - "Total Rx/s": "कुल Rx/s", - "Total Tx": "कुल Tx", - "Total Tx/s": "कुल Tx/s", - "Track in the background": "पृष्ठभूमि में ट्रैक करें", - "Transactions": "लेन-देन", - "Transactions:": "लेन-देन:", - "Type": "प्रकार", - "UTXO Manager": "UTXO प्रबंधक", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.", + "The balance may be out of date during node sync": "The balance may be out of date during node sync", + "The following will guide you through the process of creating or importing a wallet.": "The following will guide you through the process of creating or importing a wallet.", + "The node is currently syncing with the Kaspa p2p network.": "The node is currently syncing with the Kaspa p2p network.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.", + "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Theme Color", + "Theme Color:": "Theme Color:", + "Theme Style": "Theme Style", + "Theme Style:": "Theme Style:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Threshold": "Threshold", + "Time Offset:": "Time Offset:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Tools ⏷", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Track in the background", + "Transactions": "Transactions", + "Transactions:": "Transactions:", + "Type": "Type", + "UTXO Manager": "UTXO Manager", "UTXOs": "UTXOs", "UTXOs:": "UTXOs:", - "Unable to change node settings until the problem is resolved": "समस्या हल न होने तक नोड सेटिंग्स बदलने में असमर्थ", - "Unlock": "अनलॉक", - "Unlock Wallet": "वॉलेट अनलॉक करें", - "Unlocking": "अनलॉक की जा रही है", - "Update Available to version": "संस्करण के लिए अपडेट उपलब्ध है", - "Updating...": "अपडेट हो रहा है...", - "Uptime:": "अपटाइम:", - "Use 50%-75% of available system memory": "उपलब्ध सिस्टम मेमोरी का 50%-75% उपयोग करें", - "Use all available system memory": "उपलब्ध सिस्टम मेमोरी का पूरा उपयोग करें", - "User Agent": "उपयोगकर्ता एजेंट", - "User Interface": "उपयोगकर्ता इंटरफ़ेस", - "Very dangerous (may be cracked within few seconds)": "बहुत खतरनाक (कुछ ही सेकंड में क्रैक हो सकता है)", - "Virt Parents": "वर्चुअल माता-पिता", - "Virtual DAA Score": "वर्चुअल DAA स्कोर", - "Virtual Memory": "वर्चुअल मेमोरी", - "Virtual Parent Hashes": "वर्चुअल माता-पिता हैश", - "Volume": "आवाज़", - "WASM SDK for JavaScript and TypeScript": "जावास्क्रिप्ट और टाइपस्क्रिप्ट के लिए WASM SDK", - "Wallet": "वॉलेट", - "Wallet Created": "वॉलेट बनाई गई", - "Wallet Encryption Password": "वॉलेट एन्क्रिप्शन पासवर्ड", - "Wallet Name": "वॉलेट का नाम", - "Wallet Secret": "वॉलेट का रहस्य", - "Wallet password is used to encrypt your wallet data.": "वॉलेट पासवर्ड का उपयोग आपकी वॉलेट डेटा को एन्क्रिप्ट करने के लिए किया जाता है।", - "Wallet:": "वॉलेट:", - "We greatly appreciate your help in backing our efforts.": "हम आपके प्रयासों का समर्थन करने के लिए आपकी मदद की बहुत प्रासंगिक है।", - "Welcome to Kaspa NG": "कैस्पा एनजी में आपका स्वागत है", - "Xpub Keys": "Xpub कुंजियाँ", - "You are currently not connected to the Kaspa node.": "वर्तमान में आप कैस्पा नोड से कनेक्ट नहीं हैं।", - "You can configure remote connection in Settings": "आप सेटिंग्स में रिमोट कनेक्शन कॉन्फ़िगर कर सकते हैं", - "You can create multiple wallets, but only one wallet can be open at a time.": "आप कई वॉलेट बना सकते हैं, लेकिन एक समय में केवल एक वॉलेट खुली हो सकती है।", - "You must be connected to a node...": "आपको नोड से कनेक्ट किया जाना चाहिए...", - "Your default wallet private key mnemonic is:": "आपकी डिफ़ॉल्ट वॉलेट प्राइवेट की म्नेमोनिक कुंजी है:", - "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "आपका म्नेमोनिक वाक्य आपको अपनी निजी कुंजी को पुनः बनाने की अनुमति देता है। जिस व्यक्ति के पास इस म्नेमोनिक की पहुंच होगी, उसके पास में रखी कैस्पा का पूरा नियंत्रण होगा। अपने म्नेमोनिक को सुरक्षित रखें। इसे लिख लें और एक सुरक्षित स्थान पर संग्रहित करें, बेहतर हो तो एक आग प्रतिरोधी स्थान में। अपना म्नेमोनिक इस कंप्यूटर या मोबाइल डिवाइस पर संग्रहित न करें। यह वॉलेट कभी भी आपसे इस म्नेमोनिक वाक्य के लिए पूछेगा नहीं जब तक आप स्वयं निजी कुंजी की पुनर्प्राप्ति का प्रारंभ नहीं करते हैं।", - "Your private key mnemonic is:": "आपकी निजी कुंजी म्नेमोनिक है:", - "Your wallet has been created and is ready to use.": "आपकी वॉलेट बना दी गई है और उपयोग के लिए तैयार है।", - "Zoom": "ज़ूम", - "amount to send": "भेजने की राशि", - "bye!": "अलविदा!", - "gRPC Network Interface & Port": "gRPC नेटवर्क इंटरफेस और पोर्ट", - "gRPC Rx": "gRPC आरएक्स", - "gRPC Rx/s": "gRPC आरएक्स/सेकंड", - "gRPC Tx": "gRPC टीएक्स", - "gRPC Tx/s": "gRPC टीएक्स/सेकंड", - "of": "का", - "p2p RPC": "पी 2 पी आरपीसी", - "p2p Rx": "पी 2 पी आरएक्स", - "p2p Rx/s": "पी 2 पी आरएक्स/सेकंड", - "p2p Tx": "पी 2 पी टीएक्स", - "p2p Tx/s": "पी 2 पी टीएक्स/सेकंड", - "peer": "सहकर्मी", - "peers": "सहकर्मी", - "wRPC Borsh Rx": "wRPC बोर्श आरएक्स", - "wRPC Borsh Rx/s": "wRPC बोर्श आरएक्स/सेकंड", - "wRPC Borsh Tx": "wRPC बोर्श टीएक्स", - "wRPC Borsh Tx/s": "wRPC बोर्श टीएक्स/सेकंड", - "wRPC Connection Settings": "wRPC कनेक्शन सेटिंग्स", - "wRPC Encoding:": "wRPC इंकोडिंग:", - "wRPC JSON Rx": "wRPC जेसन आरएक्स", - "wRPC JSON Rx/s": "wRPC जेसन आरएक्स/सेकंड", - "wRPC JSON Tx": "wRPC जेसन टीएक्स", - "wRPC JSON Tx/s": "wRPC जेसन टीएक्स/सेकंड", - "wRPC URL:": "wRPC यूआरएल:" - }, - "hr": {}, - "hu": {}, - "id": { - "1 BPS test network": "1 jaringan uji BPS", - "10 BPS test network": "10 jaringan uji BPS", - "12 word mnemonic": "mnemonik 12 kata", - "24 word mnemonic": "mnemonik 24 kata", - "24h Change": "Perubahan 24 jam", - "A binary at another location is spawned a child process (experimental, for development purposes only).": "Biner di lokasi lain menghasilkan proses anak (eksperimental, untuk tujuan pengembangan saja).", - "A random node will be selected on startup": "Node acak akan dipilih saat startup", - "A wallet is stored in a file on your computer.": "Dompet disimpan dalam file di komputer Anda.", - "Account Index": "Indeks Akun", - "Account Name": "Nama akun", - "Account:": "Akun:", - "Activate custom daemon arguments": "Aktifkan argumen daemon khusus", - "Active p2p Peers": "Rekan p2p aktif", - "Address derivation scan": "Pemindaian derivasi alamat", - "Address:": "Alamat:", - "Advanced": "Lanjutan", - "All": "Semua", - "Allow custom arguments for the Rusty Kaspa daemon": "Izinkan argumen khusus untuk daemon Rusty Kaspa", - "Allows you to take screenshots from within the application": "Memungkinkan Anda mengambil tangkapan layar dari dalam aplikasi", - "Apply": "Menerapkan", - "Balance: N/A": "Saldo: N/A", + "Unable to change node settings until the problem is resolved": "Unable to change node settings until the problem is resolved", + "Unlock": "Unlock", + "Unlock Wallet": "Unlock Wallet", + "Unlocking": "Unlocking", + "Update Available to version": "Update Available to version", + "Updating...": "Updating...", + "Uptime:": "Uptime:", + "Use 50%-75% of available system memory": "Use 50%-75% of available system memory", + "Use all available system memory": "Use all available system memory", + "User Agent": "User Agent", + "User Interface": "User Interface", + "Very dangerous (may be cracked within few seconds)": "Very dangerous (may be cracked within few seconds)", + "Very weak": "Very weak", + "Virt Parents": "Virt Parents", + "Virtual DAA Score": "Virtual DAA Score", + "Virtual Memory": "Virtual Memory", + "Virtual Parent Hashes": "Virtual Parent Hashes", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", + "Wallet": "Wallet", + "Wallet Created": "Wallet Created", + "Wallet Encryption Password": "Wallet Encryption Password", + "Wallet Name": "Wallet Name", + "Wallet Secret": "Wallet Secret", + "Wallet password is used to encrypt your wallet data.": "Wallet password is used to encrypt your wallet data.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Wallet:", + "We greatly appreciate your help in backing our efforts.": "We greatly appreciate your help in backing our efforts.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Welcome to Kaspa NG", + "Xpub Keys": "Xpub Keys", + "You are currently not connected to the Kaspa node.": "You are currently not connected to the Kaspa node.", + "You can configure remote connection in Settings": "You can configure remote connection in Settings", + "You can create multiple wallets, but only one wallet can be open at a time.": "You can create multiple wallets, but only one wallet can be open at a time.", + "You must be connected to a node...": "You must be connected to a node...", + "Your default wallet private key mnemonic is:": "Your default wallet private key mnemonic is:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Your private key mnemonic is:": "Your private key mnemonic is:", + "Your wallet has been created and is ready to use.": "Your wallet has been created and is ready to use.", + "Zoom": "Zoom", + "amount to send": "amount to send", + "bye!": "bye!", + "gRPC Network Interface & Port": "gRPC Network Interface & Port", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "of", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "peer", + "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC Connection Settings", + "wRPC Encoding:": "wRPC Encoding:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "words" + }, + "sl": {}, + "sr": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS test network", + "10 BPS test network": "10 BPS test network", + "12 word mnemonic": "12 word mnemonic", + "24 word mnemonic": "24 word mnemonic", + "24h Change": "24h Change", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "A binary at another location is spawned a child process (experimental, for development purposes only).", + "A random node will be selected on startup": "A random node will be selected on startup", + "A wallet is stored in a file on your computer.": "A wallet is stored in a file on your computer.", + "Account Index": "Account Index", + "Account Name": "Account Name", + "Account:": "Account:", + "Activate custom daemon arguments": "Activate custom daemon arguments", + "Active p2p Peers": "Active p2p Peers", + "Address derivation scan": "Address derivation scan", + "Address:": "Address:", + "Advanced": "Advanced", + "Advanced Options": "Advanced Options", + "All": "All", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Allow custom arguments for the Rusty Kaspa daemon", + "Allows you to take screenshots from within the application": "Allows you to take screenshots from within the application", + "Apply": "Apply", + "Balance: N/A": "Balance: N/A", "Bandwidth": "Bandwidth", - "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Karena fokusnya pada keamanan dan kinerja, perangkat lunak ini sepenuhnya dikembangkan di Rust, sehingga memerlukan lebih banyak waktu dan tenaga dibandingkan dengan perangkat lunak tradisional berbasis web modern lainnya.", - "Bezier Curves": "Kurva Bezier", - "Block DAG": "Blok DAG", - "Block Scale": "Skala Blok", - "Blocks": "Blok", - "Bodies": "Badan", - "Borsh Active Connections": "Koneksi Aktif Borsh", - "Borsh Connection Attempts": "Upaya Koneksi Borsh", - "Borsh Handshake Failures": "Kegagalan Borsh Handshake", - "Build": "Bangun", - "CONNECTED": "TERHUBUNG", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.", + "Bezier Curves": "Bezier Curves", + "Block DAG": "Block DAG", + "Block Scale": "Block Scale", + "Blocks": "Blocks", + "Bodies": "Bodies", + "Borsh Active Connections": "Borsh Active Connections", + "Borsh Connection Attempts": "Borsh Connection Attempts", + "Borsh Handshake Failures": "Borsh Handshake Failures", + "Build": "Build", + "CONNECTED": "CONNECTED", "CPU": "CPU", - "Cache Memory Size": "Ukuran Memori Cache", - "Cache Memory Size:": "Ukuran Memori Cache:", - "Cancel": "Batal", - "Cannot delete data folder while the node is running": "Tidak dapat menghapus folder data saat node sedang berjalan", - "Capture a screenshot": "Ambil tangkapan layar", - "Center VSPC": "Pusat VSPC", - "Chain Blocks": "Blok Rantai", - "Change Address": "Ubah Alamat", - "Check for Software Updates on GitHub": "Periksa Pembaruan Perangkat Lunak di GitHub", - "Check for Updates": "Periksa Pembaruan", - "Clear": "Kosongkan", - "Click to try another server...": "Klik untuk mencoba server lain...", - "Client RPC": " Klien RPC", - "Close": "Tutup", - "Confirm wallet password": "Konfirmasikan kata sandi dompet", - "Connect to a local node (localhost)": "Hubungkan ke node lokal (localhost)", - "Connecting to": "Hubungkan ke", - "Connection": "Koneksi", - "Connections": "Koneksi", - "Connects to a Remote Rusty Kaspa Node via wRPC.": "Terhubung ke Node Kaspa Rusty Jarak Jauh melalui wRPC.", - "Conservative": "Konservatif", - "Continue": "Lanjutkan", - "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Kontribusi yang diarahkan pada proyek ini secara langsung mendorong perangkat lunak Kaspa NG dan ekosistemnya.", - "Copied to clipboard": "Disalin ke papan klip", - "Copy": "Salin", - "Copy logs to clipboard": "Salin log ke papan klip", - "Create New Account": "Buat akun baru", - "Create New Wallet": "Buat Dompet Baru", - "Create new wallet": "Buat dompet baru", - "Creating Account": "Membuat akun", - "Creating Wallet": "Membuat Dompet", - "Custom": "Kustom", - "Custom Public Node": "Node Publik Khusus", - "Custom arguments:": "Argumen khusus:", + "Cache Memory Size": "Cache Memory Size", + "Cache Memory Size:": "Cache Memory Size:", + "Cancel": "Cancel", + "Cannot delete data folder while the node is running": "Cannot delete data folder while the node is running", + "Capture a screenshot": "Capture a screenshot", + "Center VSPC": "Center VSPC", + "Chain Blocks": "Chain Blocks", + "Change Address": "Change Address", + "Check for Software Updates on GitHub": "Check for Software Updates on GitHub", + "Check for Updates": "Check for Updates", + "Clear": "Clear", + "Click to try another server...": "Click to try another server...", + "Client RPC": "Client RPC", + "Close": "Close", + "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Confirm wallet password", + "Connect to a local node (localhost)": "Connect to a local node (localhost)", + "Connecting to": "Connecting to", + "Connection": "Connection", + "Connections": "Connections", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Connects to a Remote Rusty Kaspa Node via wRPC.", + "Conservative": "Conservative", + "Continue": "Continue", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.", + "Copied to clipboard": "Copied to clipboard", + "Copy": "Copy", + "Copy logs to clipboard": "Copy logs to clipboard", + "Create New Account": "Create New Account", + "Create New Wallet": "Create New Wallet", + "Create Wallet": "Create Wallet", + "Create new wallet": "Create new wallet", + "Creating Account": "Creating Account", + "Creating Wallet": "Creating Wallet", + "Custom": "Custom", + "Custom Public Node": "Custom Public Node", + "Custom arguments:": "Custom arguments:", + "Custom data storage folder": "Custom data storage folder", "DAA": "DAA", - "DAA Offset": "Pengimbangan DAA", - "DAA Range": "Rentang DAA", - "DB Blocks": "Blok DB", - "DB Headers": "Header DB", - "Database Blocks": "Blok Basis Data", - "Database Headers": "Header Basis Data", - "Decrypting wallet, please wait...": "Mendekripsi dompet, harap tunggu...", - "Default": "Bawaan", - "Default Account Name": "Nama Akun Bawaan", - "Delete Data Folder": "Hapus Folder Data", - "Dependencies": "Ketergantungan", - "Derivation Indexes": "Indeks Derivasi", - "Details": "Detail", - "Developer Mode": "Mode pengembang", - "Developer Resources": "Sumber Daya Pengembang", - "Developer mode enables advanced and experimental features": "Mode pengembang mengaktifkan fitur lanjutan dan eksperimental", - "Difficulty": "Kesulitan", - "Dimensions": "Ukuran", - "Disable password score restrictions": "Nonaktifkan pembatasan skor kata sandi", - "Disabled": "Dengan disabilitas", - "Disables node connectivity (Offline Mode).": "Menonaktifkan konektivitas node (Mode Offline).", + "DAA Offset": "DAA Offset", + "DAA Range": "DAA Range", + "DB Blocks": "DB Blocks", + "DB Headers": "DB Headers", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", + "Database Blocks": "Database Blocks", + "Database Headers": "Database Headers", + "Decrypting wallet, please wait...": "Decrypting wallet, please wait...", + "Default": "Default", + "Default Account Name": "Default Account Name", + "Delete Data Folder": "Delete Data Folder", + "Dependencies": "Dependencies", + "Derivation Indexes": "Derivation Indexes", + "Details": "Details", + "Developer Mode": "Developer Mode", + "Developer Resources": "Developer Resources", + "Developer mode enables advanced and experimental features": "Developer mode enables advanced and experimental features", + "Difficulty": "Difficulty", + "Dimensions": "Dimensions", + "Disable password safety rules": "Disable password safety rules", + "Disabled": "Disabled", + "Disables node connectivity (Offline Mode).": "Disables node connectivity (Offline Mode).", "Discord": "Discord", - "Donations": "Sumbangan", - "Double click on the graph to re-center...": "Klik dua kali pada grafik untuk memusatkan kembali...", + "Donations": "Donations", + "Double click on the graph to re-center...": "Double click on the graph to re-center...", "ECDSA": "ECDSA", - "Enable Market Monitor": "Aktifkan Monitor Pasar", - "Enable UPnP": "Aktifkan UPnP", - "Enable custom daemon arguments": "Aktifkan argumen daemon khusus", - "Enable experimental features": "Aktifkan fitur eksperimental", - "Enable gRPC": "Aktifkan gRPC", - "Enable optional BIP39 passphrase": "Aktifkan frasa sandi BIP39 opsional", - "Enable screen capture": "Aktifkan tangkapan layar", - "Enables features currently in development": "Mengaktifkan fitur yang sedang dalam pengembangan", - "Enter": "Memasuki", - "Enter account name (optional)": "Masukkan nama akun (opsional)", - "Enter first account name": "Masukkan nama akun pertama", - "Enter phishing hint": "Masukkan petunjuk phishing", - "Enter the amount": "Masukkan jumlahnya", - "Enter the password for your wallet": "Masukkan kata sandi untuk dompet Anda", - "Enter the password to unlock your wallet": "Masukkan kata sandi untuk membuka kunci dompet Anda", - "Enter wallet name": "Masukkan nama dompet", - "Enter wallet password": "Masukkan kata sandi dompet", - "Enter your wallet secret": "Masukkan kata rahasia dompet Anda", - "Explorer": "Penjelajah", - "Export Wallet Data": "Ekspor Data Dompet", - "Faucet": "Keran", - "File Handles": "Tangani File", - "Filename:": "Nama file:", - "Final Amount:": "Jumlah akhir:", - "GitHub Release": "Rilis GitHub", - "Go to Settings": "Pergi ke pengaturan", - "Handles": "Menangani", - "Headers": "Header", + "Enable Market Monitor": "Enable Market Monitor", + "Enable UPnP": "Enable UPnP", + "Enable custom daemon arguments": "Enable custom daemon arguments", + "Enable experimental features": "Enable experimental features", + "Enable gRPC": "Enable gRPC", + "Enable optional BIP39 passphrase": "Enable optional BIP39 passphrase", + "Enable screen capture": "Enable screen capture", + "Enables features currently in development": "Enables features currently in development", + "Enter": "Enter", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Enter account name (optional)", + "Enter first account name": "Enter first account name", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Enter phishing hint", + "Enter the amount": "Enter the amount", + "Enter the password for your wallet": "Enter the password for your wallet", + "Enter the password to unlock your wallet": "Enter the password to unlock your wallet", + "Enter wallet name": "Enter wallet name", + "Enter wallet password": "Enter wallet password", + "Enter your wallet secret": "Enter your wallet secret", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorer", + "Export Wallet Data": "Export Wallet Data", + "Faucet": "Faucet", + "File Handles": "File Handles", + "Filename:": "Filename:", + "Final Amount:": "Final Amount:", + "Full Screen": "Full Screen", + "GitHub Release": "GitHub Release", + "Go to Settings": "Go to Settings", + "Good": "Good", + "Handles": "Handles", + "Headers": "Headers", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", "IBD:": "IBD:", - "If not specified, the account will be represented by the numeric id.": "Jika tidak ditentukan, akun akan diwakili oleh id numerik.", - "If you are running locally, use: ": "Jika Anda menjalankan secara lokal, gunakan: ", - "Import existing": "Impor yang sudah ada", - "Inbound": "Masuk", - "Include QoS Priority Fees": "Sertakan Biaya Prioritas QoS", - "Integrated Daemon": "Daemon Terintegrasi", - "Invalid daemon arguments": "Argumen daemon tidak valid", - "Invalid network type - expected: testnet-10 connected to: testnet-11": "Jenis jaringan tidak valid - diharapkan: testnet-10 terhubung ke: testnet-11", - "Invalid wRPC URL": "URL wRPC tidak valid", - "Json Active Connections": "Koneksi Aktif Json", - "Json Connection Attempts": "Upaya Koneksi Json", - "Json Handshake Failures": "Kegagalan Jabat Tangan Json", - "Kaspa Discord": "Discord Kaspa", - "Kaspa Integration Guide": "Panduan Integrasi Kaspa", + "If not specified, the account will be represented by the numeric id.": "If not specified, the account will be represented by the numeric id.", + "If you are running locally, use: ": "If you are running locally, use: ", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Import existing", + "Importing Wallet": "Importing Wallet", + "Inbound": "Inbound", + "Include QoS Priority Fees": "Include QoS Priority Fees", + "Integrated Daemon": "Integrated Daemon", + "Invalid daemon arguments": "Invalid daemon arguments", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Invalid network type - expected: testnet-10 connected to: testnet-11", + "Invalid wRPC URL": "Invalid wRPC URL", + "Json Active Connections": "Json Active Connections", + "Json Connection Attempts": "Json Connection Attempts", + "Json Handshake Failures": "Json Handshake Failures", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Kaspa Integration Guide", "Kaspa NG": "Kaspa NG", "Kaspa NG Online": "Kaspa NG Online", - "Kaspa NG Web App": "Aplikasi Web Kaspa NG", - "Kaspa NG on GitHub": "Kaspa NG di GitHub", + "Kaspa NG Web App": "Kaspa NG Web App", + "Kaspa NG on GitHub": "Kaspa NG on GitHub", "Kaspa NG online": "Kaspa NG online", - "Kaspa Network": "Jaringan Kaspa", - "Kaspa Node": "Node Kaspa", - "Kaspa p2p Network & Node Connection": "Jaringan Kaspa p2p", + "Kaspa Network": "Kaspa Network", + "Kaspa Node": "Kaspa Node", + "Kaspa p2p Network & Node Connection": "Kaspa p2p Network & Node Connection", "Kaspa p2p Node": "Kaspa p2p Node", - "Kaspa p2p Node & Connection": "Kaspa p2p Node", - "Key Perf.": "Kunci Perf.", - "Language:": "Bahasa:", - "Large (1 BPS)": "Besar (1 BPS)", - "Levels": "Tingkat", - "License Information": "Informasi Lisensi", - "Local": "Lokal", - "Local p2p Node Configuration": "Konfigurasi Node p2p lokal", - "Logs": "Log", + "Kaspa p2p Node & Connection": "Kaspa p2p Node & Connection", + "Key Perf.": "Key Perf.", + "Language:": "Language:", + "Large (1 BPS)": "Large (1 BPS)", + "Levels": "Levels", + "License Information": "License Information", + "Local": "Local", + "Local p2p Node Configuration": "Local p2p Node Configuration", + "Logs": "Logs", "MT": "MT", - "Main Kaspa network": "Jaringan utama Kaspa", + "Main Kaspa network": "Main Kaspa network", "Mainnet": "Mainnet", - "Mainnet (Main Kaspa network)": "Mainnet (jaringan Kaspa Utama)", - "Managed by the Rusty Kaspa daemon": "Dikelola oleh daemon Rusty Kaspa", - "Market": "Pasar", - "Market Cap": "Kapitalisasi Pasar", - "Market Monitor": "Pemantau Pasar", - "Mass Processed": "Diproses Massal", - "Medium Narrow": "Sedang Sempit", - "Medium Wide": "Lebar Sedang", - "Memory": "Penyimpanan", + "Mainnet (Main Kaspa network)": "Mainnet (Main Kaspa network)", + "Managed by the Rusty Kaspa daemon": "Managed by the Rusty Kaspa daemon", + "Market": "Market", + "Market Cap": "Market Cap", + "Market Monitor": "Market Monitor", + "Mass Processed": "Mass Processed", + "Maximize window": "Maximize window", + "Medium Narrow": "Medium Narrow", + "Medium Wide": "Medium Wide", + "Memory": "Memory", "Mempool": "Mempool", - "Mempool Size": "Ukuran Mempool", - "Metrics": "Metrik", - "Metrics are not currently available": "Metrik saat ini tidak tersedia", - "NPM Modules for NodeJS": "Modul NPM untuk NodeJS", - "Network": "Jaringan", - "Network Difficulty": "Kesulitan Jaringan", - "Network Fees:": "Biaya Jaringan:", - "Network Interface": "Antarmuka Jaringan", - "Network Peers": "Jaringan Peers", - "No peers": "Tidak ada peers", - "No public node selected - please select a public node": "Tidak ada node publik yang dipilih - silakan pilih node publik", - "No transactions": "Tidak ada transaksi", - "No wallets found, please create a new wallet": "Tidak ada dompet yang ditemukan, silakan buat dompet baru", - "Node": "node", - "Node Status": "Status Node", - "Noise": "Kebisingan", - "None": "Tidak ada", - "Not Connected": "Tidak terhubung", - "Not connected": "Tidak terhubung", - "Notifications": "Pemberitahuan", - "Open Data Folder": "Buka Folder Data", - "Opening wallet:": "Membuka dompet:", - "Optional": "Opsional", - "Other operations": "Operasi lainnya", - "Outbound": "Keluar", - "Overview": "Ringkasan", - "Parents": "Induk", - "Past Median Time": "Waktu Median yang Lalu", - "Payment & Recovery Password": "Pembayaran", - "Payment Request": "Permintaan pembayaran", + "Mempool Size": "Mempool Size", + "Metrics": "Metrics", + "Metrics are not currently available": "Metrics are not currently available", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM Modules for NodeJS", + "Network": "Network", + "Network Difficulty": "Network Difficulty", + "Network Fees:": "Network Fees:", + "Network Interface": "Network Interface", + "Network Peers": "Network Peers", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "No peers", + "No public node selected - please select a public node": "No public node selected - please select a public node", + "No transactions": "No transactions", + "No wallets found, please create a new wallet": "No wallets found, please create a new wallet", + "Node": "Node", + "Node Status": "Node Status", + "Noise": "Noise", + "None": "None", + "Not Connected": "Not Connected", + "Not connected": "Not connected", + "Notifications": "Notifications", + "Open Data Folder": "Open Data Folder", + "Opening wallet:": "Opening wallet:", + "Optional": "Optional", + "Other operations": "Other operations", + "Outbound": "Outbound", + "Overview": "Overview", + "Parents": "Parents", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Past Median Time", + "Payment & Recovery Password": "Payment & Recovery Password", + "Payment Request": "Payment Request", "Peers": "Peers", - "Performance": "Performa", - "Phishing Hint": "Petunjuk Phishing", + "Performance": "Performance", + "Phishing Hint": "Phishing Hint", "Ping:": "Ping:", - "Please Confirm Deletion": "Harap Konfirmasi Penghapusan", - "Please configure your Kaspa NG settings": "Silakan konfigurasikan pengaturan Kaspa NG Anda", - "Please connect to Kaspa p2p node": "Silakan sambungkan ke node p2p Kaspa", - "Please create a stronger password": "Harap buat kata sandi yang lebih kuat", - "Please enter": "Silakan masuk", - "Please enter KAS amount to send": "Silakan masukkan jumlah KAS yang akan dikirim", - "Please enter an amount": "Silakan masukkan jumlah", - "Please enter the account name": "Silakan masukkan nama akun", - "Please enter the wallet secret": "Silakan masukkan kata rahasia dompet", - "Please note that this is a beta release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Harap dicatat bahwa ini adalah rilis alfa. Sampai pesan ini dihapus, harap hindari penggunaan dompet dengan dana mainnet.", - "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Harap diperhatikan, menyalin ke papan klip berisiko membuat mnemonik Anda terkena malware.", - "Please select an account type": "Silakan pilih jenis akun", - "Please select the private key to export": "Silakan pilih kunci pribadi yang akan diekspor", - "Please set node to 'Disabled' to delete the data folder": "Silakan atur node ke 'Disabled' untuk menghapus folder data", - "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Silakan tentukan nama akun bawaan. Dompet akan dibuat dengan akun Bawaan. Setelah dibuat, Anda akan dapat membuat akun tambahan sesuai kebutuhan. ", - "Please specify the name of the new wallet": "Silakan tentukan nama dompet baru", - "Please specify the private key type for the new wallet": "Silakan tentukan jenis kunci pribadi untuk dompet baru", - "Please wait for the node to sync or connect to a remote node.": "Harap tunggu hingga node disinkronkan atau terhubung ke node jarak jauh.", - "Please wait for the node to sync...": "Harap tunggu hingga node disinkronkan...", - "Please wait...": "Harap tunggu...", - "Presets": "Preset", - "Price": "Harga", - "Private Key Mnemonic": "Mnemonik Kunci Pribadi", - "Processed Bodies": "Badan yang Diproses", - "Processed Dependencies": "Ketergantungan yang Diproses", - "Processed Headers": "Header yang Diproses", - "Processed Mass Counts": "Penghitungan Massa yang Diproses", - "Processed Transactions": "Transaksi yang Diproses", - "Protocol:": "Protokol:", - "Public Node": "Node Publik", - "Public Nodes": "Node Publik", - "Public Server": "Server Publik", - "Public p2p Nodes for": "Node p2p publik untuk", - "Random Public Node": "Node Publik Acak", - "Range:": "Jangkauan:", - "Receive Address": "Alamat Penerimaan", - "Recommended arguments for the remote node: ": "Argumen yang disarankan untuk node jarak jauh: ", - "Remote": "Remot", - "Remote Connection:": "Koneksi Jarak Jauh:", - "Remote p2p Node Configuration": "Konfigurasi Node p2p jarak jauh", - "Removes security restrictions, allows for single-letter passwords": "Menghapus batasan keamanan, memungkinkan kata sandi satu huruf", - "Reset Settings": "Atur Ulang Pengaturan", - "Reset VSPC": "Setel ulang VSPC", - "Resident Memory": "Memori Residen", - "Resources": "Sumber daya", - "Resulting daemon arguments:": "Argumen daemon yang dihasilkan:", - "Rust Wallet SDK": "SDK Dompet Karat", - "Rusty Kaspa on GitHub": "Rusty Kaspa di GitHub", - "Secret is too weak": "Rahasia terlalu lemah", - "Secret score:": "Skor rahasia:", - "Select Account": "Pilih Akun", - "Select Available Server": "Pilih Server yang Tersedia", - "Select Private Key Type": "Pilih Jenis Kunci Pribadi", - "Select Public Node": "Pilih Node Publik", - "Select Wallet": "Pilih Dompet", - "Select a wallet to unlock": "Pilih dompet untuk dibuka kuncinya", - "Send": "Kirim", - "Services": "Layanan", - "Settings": "Pengaturan", - "Show DAA": "Tampilkan DAA", - "Show Grid": "Tampilkan Kotak", - "Show VSPC": "Tampilkan VSPC", - "Show balances in alternate currencies for testnet coins": "Tampilkan saldo dalam mata uang alternatif untuk koin testnet", - "Show password": "Tampilkan kata sandi", - "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Menampilkan saldo dalam mata uang alternatif (BTC, USD) saat menggunakan koin testnet seolah-olah Anda berada di mainnet", - "Skip": "Lewati", - "Small (10 BPS)": "Kecil (10 BPS)", - "Spread": "Sebarkan", - "Stage": "Panggung", - "Starting...": "Memulai...", - "Statistics": "Statistik", - "Stor Read": "Penyimpanan Baca", - "Stor Write": "Penyimpanan Tulis", - "Storage": "Penyimpanan", - "Storage Read": "Penyimpanan Baca", - "Storage Read/s": "Penyimpanan Baca/dtk", - "Storage Write": "Penyimpanan Tulis", - "Storage Write/s": "Penyimpanan Tulis/dtk", - "Submitted Blocks": "Blok yang Dikirim", - "Supporting Kaspa NG development": "Dukung pengembangan Kaspa NG", - "Syncing Cryptographic Proof...": "Menyinkronkan Bukti Kriptografi...", - "Syncing DAG Blocks...": "Menyinkronkan Blok DAG...", - "Syncing Headers...": "Menyinkronkan Header...", - "Syncing UTXO entries...": "Menyinkronkan entri UTXO...", - "Syncing...": "Menyinkronkan...", - "System": "Sistem", + "Please Confirm Deletion": "Please Confirm Deletion", + "Please configure your Kaspa NG settings": "Please configure your Kaspa NG settings", + "Please connect to Kaspa p2p node": "Please connect to Kaspa p2p node", + "Please create a stronger password": "Please create a stronger password", + "Please enter": "Please enter", + "Please enter KAS amount to send": "Please enter KAS amount to send", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Please enter an amount", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Please enter the account name", + "Please enter the wallet secret": "Please enter the wallet secret", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.", + "Please select an account type": "Please select an account type", + "Please select the private key to export": "Please select the private key to export", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Please set node to 'Disabled' to delete the data folder", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.", + "Please specify the name of the new wallet": "Please specify the name of the new wallet", + "Please specify the private key type for the new wallet": "Please specify the private key type for the new wallet", + "Please wait for the node to sync or connect to a remote node.": "Please wait for the node to sync or connect to a remote node.", + "Please wait for the node to sync...": "Please wait for the node to sync...", + "Please wait...": "Please wait...", + "Presets": "Presets", + "Price": "Price", + "Private Key Mnemonic": "Private Key Mnemonic", + "Processed Bodies": "Processed Bodies", + "Processed Dependencies": "Processed Dependencies", + "Processed Headers": "Processed Headers", + "Processed Mass Counts": "Processed Mass Counts", + "Processed Transactions": "Processed Transactions", + "Protocol:": "Protocol:", + "Public Node": "Public Node", + "Public Nodes": "Public Nodes", + "Public Server": "Public Server", + "Public p2p Nodes for": "Public p2p Nodes for", + "Random Public Node": "Random Public Node", + "Range:": "Range:", + "Receive Address": "Receive Address", + "Recommended arguments for the remote node: ": "Recommended arguments for the remote node: ", + "Redistributables": "Redistributables", + "Remote": "Remote", + "Remote Connection:": "Remote Connection:", + "Remote p2p Node Configuration": "Remote p2p Node Configuration", + "Removes security restrictions, allows for single-letter passwords": "Removes security restrictions, allows for single-letter passwords", + "Reset Settings": "Reset Settings", + "Reset VSPC": "Reset VSPC", + "Resident Memory": "Resident Memory", + "Resources": "Resources", + "Resulting daemon arguments:": "Resulting daemon arguments:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa on GitHub", + "Secret is too weak": "Secret is too weak", + "Secret score:": "Secret score:", + "Select Account": "Select Account", + "Select Available Server": "Select Available Server", + "Select Private Key Type": "Select Private Key Type", + "Select Public Node": "Select Public Node", + "Select Wallet": "Select Wallet", + "Select a wallet to unlock": "Select a wallet to unlock", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Send", + "Services": "Services", + "Settings": "Settings", + "Show DAA": "Show DAA", + "Show Grid": "Show Grid", + "Show VSPC": "Show VSPC", + "Show balances in alternate currencies for testnet coins": "Show balances in alternate currencies for testnet coins", + "Show passphrase": "Show passphrase", + "Show password": "Show password", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet", + "Skip": "Skip", + "Small (10 BPS)": "Small (10 BPS)", + "Spread": "Spread", + "Stage": "Stage", + "Starting...": "Starting...", + "Statistics": "Statistics", + "Stor Read": "Stor Read", + "Stor Write": "Stor Write", + "Storage": "Storage", + "Storage Read": "Storage Read", + "Storage Read/s": "Storage Read/s", + "Storage Write": "Storage Write", + "Storage Write/s": "Storage Write/s", + "Strong": "Strong", + "Submitted Blocks": "Submitted Blocks", + "Supporting Kaspa NG development": "Supporting Kaspa NG development", + "Syncing Cryptographic Proof...": "Syncing Cryptographic Proof...", + "Syncing DAG Blocks...": "Syncing DAG Blocks...", + "Syncing Headers...": "Syncing Headers...", + "Syncing UTXO entries...": "Syncing UTXO entries...", + "Syncing...": "Syncing...", + "System": "System", "TPS": "TPS", "Testnet 10": "Testnet 10", "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", "Testnet 11": "Testnet 11", - "Testnet 11 (10 BPS)": "Tesnet 11 (10 BPS)", - "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 belum diaktifkan untuk pengujian publik. ", - "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Perangkat lunak Kaspa NG mewakili upaya berkelanjutan yang berfokus pada pembangunan platform perangkat lunak canggih yang didedikasikan untuk jaringan mata uang kripto Kaspa BlockDAG. ", - "The balance may be out of date during node sync": "Saldo mungkin kedaluwarsa selama sinkronisasi node", - "The following will guide you through the process of creating or importing a wallet.": "Berikut ini akan memandu Anda melalui proses pembuatan atau impor dompet.", - "The node is currently syncing with the Kaspa p2p network.": "Node saat ini sedang melakukan sinkronisasi dengan jaringan Kaspa p2p.", - "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "Node saat ini sedang melakukan sinkronisasi dengan jaringan Kaspa p2p. ", - "The node is spawned as a child daemon process (recommended).": "Node ini dihasilkan sebagai proses daemon anak (disarankan).", - "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "Node berjalan sebagai bagian dari proses aplikasi Kaspa-NG. Hal ini mengurangi overhead komunikasi (eksperimental).", - "Theme Color": "Warna Tema", - "Theme Color:": "Warna Tema:", - "Theme Style": "Gaya Tema", - "Theme Style:": "Gaya Tema:", - "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Dompet ini tidak akan pernah menanyakan frasa mnemonik ini kecuali Anda memulai pemulihan kunci pribadi secara manual.", - "Threshold": "Ambang Batas", - "Time Offset:": "Waktu Offset:", - "Tip Hashes": "Tip Hash", - "Tools ⏷": "Alat ⏷", - "Total Rx": "Jumlah Rx", - "Total Rx/s": "Total Rx/dtk", - "Total Tx": "Jumlah Tx", - "Total Tx/s": "Jumlah Tx/dtk", - "Track in the background": "Lacak di latar belakang", - "Transactions": "Transaksi", - "Transactions:": "Transaksi:", - "Type": "Jenis", - "UTXO Manager": "Manajer UTXO", - "UTXOs": "UTXO", - "UTXOs:": "UTXO:", - "Unable to change node settings until the problem is resolved": "Tidak dapat mengubah pengaturan node hingga masalah teratasi", - "Unlock": "Buka kunci", - "Unlock Wallet": "Buka Dompet", - "Unlocking": "Membuka kunci", - "Update Available to version": "Pembaruan Tersedia untuk versi", - "Updating...": "Memperbarui...", - "Uptime:": "Waktu Aktif:", - "Use 50%-75% of available system memory": "Gunakan 50%-75% dari memori sistem yang tersedia", - "Use all available system memory": "Gunakan semua memori sistem yang tersedia", - "User Agent": "Agen pengguna", - "User Interface": "Antarmuka pengguna", - "Very dangerous (may be cracked within few seconds)": "Sangat berbahaya (mungkin retak dalam beberapa detik)", - "Virt Parents": "Orang Tua yang Berbudi Luhur", - "Virtual DAA Score": "Skor DAA Virtual", - "Virtual Memory": "Memori Virtual", - "Virtual Parent Hashes": "Hash Induk Virtual", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.", + "The balance may be out of date during node sync": "The balance may be out of date during node sync", + "The following will guide you through the process of creating or importing a wallet.": "The following will guide you through the process of creating or importing a wallet.", + "The node is currently syncing with the Kaspa p2p network.": "The node is currently syncing with the Kaspa p2p network.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.", + "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Theme Color", + "Theme Color:": "Theme Color:", + "Theme Style": "Theme Style", + "Theme Style:": "Theme Style:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Threshold": "Threshold", + "Time Offset:": "Time Offset:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Tools ⏷", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Track in the background", + "Transactions": "Transactions", + "Transactions:": "Transactions:", + "Type": "Type", + "UTXO Manager": "UTXO Manager", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "Unable to change node settings until the problem is resolved", + "Unlock": "Unlock", + "Unlock Wallet": "Unlock Wallet", + "Unlocking": "Unlocking", + "Update Available to version": "Update Available to version", + "Updating...": "Updating...", + "Uptime:": "Uptime:", + "Use 50%-75% of available system memory": "Use 50%-75% of available system memory", + "Use all available system memory": "Use all available system memory", + "User Agent": "User Agent", + "User Interface": "User Interface", + "Very dangerous (may be cracked within few seconds)": "Very dangerous (may be cracked within few seconds)", + "Very weak": "Very weak", + "Virt Parents": "Virt Parents", + "Virtual DAA Score": "Virtual DAA Score", + "Virtual Memory": "Virtual Memory", + "Virtual Parent Hashes": "Virtual Parent Hashes", "Volume": "Volume", - "WASM SDK for JavaScript and TypeScript": "WASM SDK untuk JavaScript dan TypeScript", - "Wallet": "Dompet", - "Wallet Created": "Dompet Dibuat", - "Wallet Encryption Password": "Kata Sandi Enkripsi Dompet", - "Wallet Name": "Nama Dompet", - "Wallet Secret": "Dompet Rahasia", - "Wallet password is used to encrypt your wallet data.": "Kata sandi dompet digunakan untuk mengenkripsi data dompet Anda.", - "Wallet:": "Dompet:", - "We greatly appreciate your help in backing our efforts.": "Kami sangat menghargai bantuan Anda dalam mendukung upaya kami.", - "Welcome to Kaspa NG": "Selamat datang di Kaspa NG", - "Xpub Keys": "Kunci Xpub", - "You are currently not connected to the Kaspa node.": "Anda saat ini tidak terhubung ke node Kaspa.", - "You can configure remote connection in Settings": "Anda dapat mengonfigurasi koneksi jarak jauh di Pengaturan", - "You can create multiple wallets, but only one wallet can be open at a time.": "Anda dapat membuat beberapa dompet, namun hanya satu dompet yang dapat dibuka dalam satu waktu.", - "You must be connected to a node...": "Anda harus terhubung ke sebuah node...", - "Your default wallet private key mnemonic is:": "Mnemonik kunci pribadi dompet default Anda adalah:", - "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Frasa mnemonik Anda memungkinkan Anda untuk membuat ulang kunci pribadi Anda. Orang yang memiliki akses ke mnemonik ini akan memiliki kontrol penuh atas Kaspa yang tersimpan di dalamnya. Simpanlah mnemonik Anda dengan aman. Tuliskan dan simpan di tempat yang aman, sebaiknya di tempat yang tahan api. Jangan simpan mnemonik Anda di komputer atau perangkat seluler. Dompet ini tidak akan pernah meminta frasa mnemonik ini kecuali jika anda melakukan pemulihan kunci pribadi secara manual.", - "Your private key mnemonic is:": "Mnemonik kunci pribadi Anda adalah:", - "Your wallet has been created and is ready to use.": "Dompet Anda telah dibuat dan siap digunakan.", - "Zoom": "Perbesar", - "amount to send": "jumlah yang akan dikirim", - "bye!": "selamat tinggal!", - "gRPC Network Interface & Port": "Antarmuka Jaringan gRPC", + "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", + "Wallet": "Wallet", + "Wallet Created": "Wallet Created", + "Wallet Encryption Password": "Wallet Encryption Password", + "Wallet Name": "Wallet Name", + "Wallet Secret": "Wallet Secret", + "Wallet password is used to encrypt your wallet data.": "Wallet password is used to encrypt your wallet data.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Wallet:", + "We greatly appreciate your help in backing our efforts.": "We greatly appreciate your help in backing our efforts.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Welcome to Kaspa NG", + "Xpub Keys": "Xpub Keys", + "You are currently not connected to the Kaspa node.": "You are currently not connected to the Kaspa node.", + "You can configure remote connection in Settings": "You can configure remote connection in Settings", + "You can create multiple wallets, but only one wallet can be open at a time.": "You can create multiple wallets, but only one wallet can be open at a time.", + "You must be connected to a node...": "You must be connected to a node...", + "Your default wallet private key mnemonic is:": "Your default wallet private key mnemonic is:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Your private key mnemonic is:": "Your private key mnemonic is:", + "Your wallet has been created and is ready to use.": "Your wallet has been created and is ready to use.", + "Zoom": "Zoom", + "amount to send": "amount to send", + "bye!": "bye!", + "gRPC Network Interface & Port": "gRPC Network Interface & Port", "gRPC Rx": "gRPC Rx", - "gRPC Rx/s": "gRPC Rx/dtk", + "gRPC Rx/s": "gRPC Rx/s", "gRPC Tx": "gRPC Tx", - "gRPC Tx/s": "gRPC Tx/dtk", - "of": "dari", + "gRPC Tx/s": "gRPC Tx/s", + "of": "of", "p2p RPC": "p2p RPC", "p2p Rx": "p2p Rx", - "p2p Rx/s": "p2p Rx/dtk", + "p2p Rx/s": "p2p Rx/s", "p2p Tx": "p2p Tx", - "p2p Tx/s": "p2p Tx/dtk", + "p2p Tx/s": "p2p Tx/s", "peer": "peer", "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", "wRPC Borsh Rx": "wRPC Borsh Rx", "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", "wRPC Borsh Tx": "wRPC Borsh Tx", - "wRPC Borsh Tx/s": "wRPC Borsh Tx/dtk", - "wRPC Connection Settings": "Pengaturan Koneksi wRPC", - "wRPC Encoding:": "Pengkodean wRPC:", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC Connection Settings", + "wRPC Encoding:": "wRPC Encoding:", "wRPC JSON Rx": "wRPC JSON Rx", - "wRPC JSON Rx/s": "wRPC JSON Rx/dtk", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", "wRPC JSON Tx": "wRPC JSON Tx", - "wRPC JSON Tx/s": "wRPC JSON Tx/dtk", - "wRPC URL:": "URL wRPC:" - }, - "is": {}, - "it": {}, - "ja": { - "1 BPS test network": "1 BPS テストネットワーク", - "10 BPS test network": "10 BPS テストネットワーク", - "12 word mnemonic": "12 単語ニーモニック", - "24 word mnemonic": "24 単語ニーモニック", - "24h Change": "24時間の変化", - "A binary at another location is spawned a child process (experimental, for development purposes only).": "別の場所のバイナリが子プロセスとして生成されます(実験的、開発目的のみ)。", - "A random node will be selected on startup": "起動時にランダムなノードが選択されます", - "A wallet is stored in a file on your computer.": "ウォレットはコンピューターのファイルに保存されます。", - "Account Index": "アカウントインデックス", - "Account Name": "アカウント名", - "Account:": "アカウント:", - "Activate custom daemon arguments": "カスタムデーモン引数を有効にする", - "Active p2p Peers": "アクティブなP2Pピア", - "Address derivation scan": "アドレス派生スキャン", - "Address:": "アドレス:", - "Advanced": "高度な", - "All": "すべて", - "Allow custom arguments for the Rusty Kaspa daemon": "Rusty Kaspaデーモンのカスタム引数を許可する", - "Allows you to take screenshots from within the application": "アプリ内からスクリーンショットを撮ることができます", - "Apply": "適用", - "Balance: N/A": "残高:N/A", - "Bandwidth": "帯域幅", - "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "セキュリティとパフォーマンスに焦点を当てたため、このソフトウェアは他の従来のモダンなWeb駆動型ソフトウェアと比較して、はるかに多くの時間と労力を要するRustで完全に開発されています。", - "Bezier Curves": "ベジェ曲線", - "Block DAG": "ブロックDAG", - "Block Scale": "ブロックスケール", - "Blocks": "ブロック", - "Bodies": "ボディ", - "Borsh Active Connections": "Borshアクティブ接続", - "Borsh Connection Attempts": "Borsh接続試行", - "Borsh Handshake Failures": "Borshハンドシェイクの失敗", - "Build": "ビルド", - "CONNECTED": "接続済み", - "CPU": "CPU", - "Cache Memory Size": "キャッシュメモリサイズ", - "Cache Memory Size:": "キャッシュメモリサイズ:", - "Cancel": "キャンセル", - "Cannot delete data folder while the node is running": "ノードが実行中の間はデータフォルダを削除できません", - "Capture a screenshot": "スクリーンショットをキャプチャ", - "Center VSPC": "中央VSPC", - "Chain Blocks": "チェーンブロック", - "Change Address": "アドレスを変更", - "Check for Software Updates on GitHub": "GitHubでソフトウェアの更新を確認", - "Check for Updates": "更新を確認", - "Clear": "クリア", - "Click to try another server...": "別のサーバーを試すにはクリック...", - "Client RPC": "クライアントRPC", - "Close": "閉じる", - "Close the window": "ウィンドウを閉じる", - "Confirm wallet password": "ウォレットのパスワードを確認", - "Connect to a local node (localhost)": "ローカルノードに接続(localhost)", - "Connecting to": "接続中", - "Connection": "接続", - "Connections": "接続数", - "Connects to a Remote Rusty Kaspa Node via wRPC.": "wRPCを介してリモートのRusty Kaspaノードに接続します。", - "Conservative": "保守的", - "Continue": "続行する", - "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "このプロジェクトへの寄付は、直接Kaspa NGソフトウェアとそのエコシステムを支えます。", - "Copied to clipboard": "クリップボードにコピーしました", - "Copy": "コピー", - "Copy logs to clipboard": "ログをクリップボードにコピー", - "Create New Account": "新しいアカウントを作成", - "Create New Wallet": "新しいウォレットを作成", - "Create new wallet": "新しいウォレットを作成", - "Creating Account": "アカウントを作成中", - "Creating Wallet": "ウォレットを作成中", - "Custom": "カスタム", - "Custom Public Node": "カスタムパブリックノード", - "Custom arguments:": "カスタム引数:", - "Custom data storage folder": "カスタムデータストレージフォルダ", - "DAA": "DAA", - "DAA Offset": "DAAオフセット", - "DAA Range": "DAA範囲", - "DB Blocks": "DBブロック", - "DB Headers": "DBヘッダー", - "Data Storage": "データストレージ", - "Database Blocks": "データベースブロック", - "Database Headers": "データベースヘッダー", - "Decrypting wallet, please wait...": "ウォレットを復号化しています。お待ちください...", - "Default": "デフォルト", - "Default Account Name": "デフォルトのアカウント名", - "Delete Data Folder": "データフォルダーを削除", - "Dependencies": "依存関係", - "Derivation Indexes": "導出インデックス", - "Details": "詳細", - "Developer Mode": "開発者モード", - "Developer Resources": "開発者リソース", - "Developer mode enables advanced and experimental features": "開発者モードは高度な実験的な機能を有効にします", - "Difficulty": "難易度", - "Dimensions": "寸法", - "Disable password score restrictions": "パスワードスコアの制限を無効にする", - "Disabled": "無効", - "Disables node connectivity (Offline Mode).": "ノードの接続を無効にします(オフラインモード)。", - "Discord": "Discord", - "Donations": "寄付", - "Double click on the graph to re-center...": "グラフを再中心にするにはダブルクリックしてください...", - "ECDSA": "ECDSA", - "Enable Market Monitor": "マーケットモニターを有効にする", - "Enable UPnP": "UPnPを有効にする", - "Enable custom daemon arguments": "カスタムデーモン引数を有効にする", - "Enable experimental features": "実験的な機能を有効にする", - "Enable gRPC": "gRPCを有効にする", - "Enable optional BIP39 passphrase": "オプションのBIP39パスフレーズを有効にする", - "Enable screen capture": "スクリーンキャプチャを有効にする", - "Enables features currently in development": "現在開発中の機能を有効にします", - "Enter": "入力", - "Enter account name (optional)": "アカウント名を入力してください(オプション)", - "Enter first account name": "最初のアカウント名を入力してください", - "Enter phishing hint": "フィッシングのヒントを入力してください", - "Enter the amount": "金額を入力してください", - "Enter the password for your wallet": "ウォレットのパスワードを入力してください", - "Enter the password to unlock your wallet": "ウォレットをアンロックするためのパスワードを入力してください", - "Enter wallet name": "ウォレット名を入力してください", - "Enter wallet password": "ウォレットのパスワードを入力してください", - "Enter your wallet secret": "ウォレットの秘密鍵を入力してください", - "Explorer": "エクスプローラー", - "Export Wallet Data": "ウォレットデータのエクスポート", - "Faucet": "Faucet", - "File Handles": "ファイルハンドル", - "Filename:": "ファイル名:", - "Final Amount:": "最終金額:", - "GitHub Release": "GitHub リリース", - "Go to Settings": "設定に移動", - "Handles": "ハンドル", - "Headers": "ヘッダー", - "IBD:": "IBD:", - "If not specified, the account will be represented by the numeric id.": "指定されていない場合、アカウントは数値IDで表されます。", - "If you are running locally, use: ": "ローカルで実行している場合は、次を使用してください:", - "Import existing": "既存のインポート", - "Inbound": "インバウンド", - "Include QoS Priority Fees": "QoS 優先料金を含める", - "Integrated Daemon": "統合デーモン", - "Invalid daemon arguments": "無効なデーモン引数", - "Invalid network type - expected: testnet-10 connected to: testnet-11": "無効なネットワークタイプ - 期待されるもの:testnet-10 接続先:testnet-11", - "Invalid wRPC URL": "無効なwRPC URL", - "Json Active Connections": "Json アクティブ接続", - "Json Connection Attempts": "Json 接続試行", - "Json Handshake Failures": "Json ハンドシェイク失敗", - "Kaspa Discord": "Kaspa Discord", - "Kaspa Integration Guide": "Kaspa 統合ガイド", - "Kaspa NG": "Kaspa NG", - "Kaspa NG Online": "Kaspa NG オンライン", - "Kaspa NG Web App": "Kaspa NG Web アプリ", - "Kaspa NG on GitHub": "GitHub 上の Kaspa NG", - "Kaspa NG online": "Kaspa NG オンライン", - "Kaspa Network": "Kaspa ネットワーク", - "Kaspa Node": "Kaspa ノード", - "Kaspa p2p Network & Node Connection": "Kaspa p2p ネットワーク&ノード接続", - "Kaspa p2p Node": "Kaspa p2p ノード", - "Kaspa p2p Node & Connection": "Kaspa p2p ノード&接続", - "Key Perf.": "キー パフォーマンス", - "Language:": "言語:", - "Large (1 BPS)": "大規模 (1 BPS)", - "Levels": "レベル", - "License Information": "ライセンス情報", - "Local": "ローカル", - "Local p2p Node Configuration": "ローカル p2p ノードの構成", - "Logs": "ログ", - "MT": "MT", - "Main Kaspa network": "メイン Kaspa ネットワーク", - "Mainnet": "メインネット", - "Mainnet (Main Kaspa network)": "メインネット (メイン Kaspa ネットワーク)", - "Managed by the Rusty Kaspa daemon": "Rusty Kaspa デーモンによって管理されています", - "Market": "マーケット", - "Market Cap": "時価総額", - "Market Monitor": "マーケットモニター", - "Mass Processed": "一括処理", - "Medium Narrow": "中くらいの狭い", - "Medium Wide": "中くらいの広い", - "Memory": "メモリ", - "Mempool": "メモリプール", - "Mempool Size": "メモリプールサイズ", - "Metrics": "メトリクス", - "Metrics are not currently available": "現在メトリクスは利用できません", - "NPM Modules for NodeJS": "NodeJS の NPM モジュール", - "Network": "ネットワーク", - "Network Difficulty": "ネットワークの難易度", - "Network Fees:": "ネットワーク料金:", - "Network Interface": "ネットワークインターフェース", - "Network Peers": "ネットワークピア", - "No peers": "ピアがありません", - "No public node selected - please select a public node": "パブリックノードが選択されていません - パブリックノードを選択してください", - "No transactions": "取引がありません", - "No wallets found, please create a new wallet": "ウォレットが見つかりませんでした。新しいウォレットを作成してください", - "Node": "ノード", - "Node Status": "ノードの状態", - "Noise": "ノイズ", - "None": "なし", - "Not Connected": "接続されていません", - "Not connected": "接続されていません", - "Notifications": "通知", - "Open Data Folder": "データフォルダーを開く", - "Opening wallet:": "ウォレットを開いています:", - "Optional": "オプション", - "Other operations": "その他の操作", - "Outbound": "アウトバウンド", - "Overview": "概要", - "Parents": "親", - "Past Median Time": "過去の中央時間", - "Payment & Recovery Password": "支払いおよび復旧パスワード", - "Payment Request": "支払いリクエスト", - "Peers": "ピア", - "Performance": "パフォーマンス", - "Phishing Hint": "フィッシングのヒント", - "Ping:": "ピンク:", - "Please Confirm Deletion": "削除を確認してください", - "Please configure your Kaspa NG settings": "Kaspa NGの設定を構成してください", - "Please connect to Kaspa p2p node": "Kaspa p2pノードに接続してください", - "Please create a stronger password": "より強力なパスワードを作成してください", - "Please enter": "入力してください", - "Please enter KAS amount to send": "送信するKASの金額を入力してください", - "Please enter an amount": "金額を入力してください", - "Please enter the account name": "アカウント名を入力してください", - "Please enter the wallet secret": "ウォレットの秘密鍵を入力してください", - "Please note that this is a beta release. Until this message is removed, please avoid using the wallet with mainnet funds.": "これはアルファリリースです。このメッセージが削除されるまで、メインネットの資金を使用しないでください。", - "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "クリップボードにコピーすると、マルウェアにニーモニックがさらされるリスクがありますのでご注意ください。", - "Please select an account type": "アカウントタイプを選択してください", - "Please select the private key to export": "エクスポートするプライベートキーを選択してください", - "Please set node to 'Disabled' to delete the data folder": "データフォルダを削除するには、ノードを「無効」に設定してください", - "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "デフォルトのアカウント名を指定してください。ウォレットはデフォルトのアカウントで作成されます。作成後、必要に応じて追加のアカウントを作成できます。", - "Please specify the name of the new wallet": "新しいウォレットの名前を指定してください", - "Please specify the private key type for the new wallet": "新しいウォレットのプライベートキーのタイプを指定してください", - "Please wait for the node to sync or connect to a remote node.": "ノードが同期するかリモートノードに接続するのを待ってください。", - "Please wait for the node to sync...": "ノードの同期をお待ちください...", - "Please wait...": "お待ちください...", - "Presets": "プリセット", - "Price": "価格", - "Private Key Mnemonic": "秘密鍵ニーモニック", - "Processed Bodies": "処理されたボディ", - "Processed Dependencies": "処理された依存関係", - "Processed Headers": "処理されたヘッダー", - "Processed Mass Counts": "処理されたマスカウント", - "Processed Transactions": "処理されたトランザクション", - "Protocol:": "プロトコル:", - "Public Node": "パブリックノード", - "Public Nodes": "パブリックノード", - "Public Server": "パブリックサーバー", - "Public p2p Nodes for": "パブリックp2pノード", - "Random Public Node": "ランダムなパブリックノード", - "Range:": "範囲:", - "Receive Address": "受信アドレス", - "Recommended arguments for the remote node: ": "リモートノードの推奨引数:", - "Redistributables": "再配布可能な項目", - "Remote": "リモート", - "Remote Connection:": "リモート接続:", - "Remote p2p Node Configuration": "リモートp2pノードの設定", - "Removes security restrictions, allows for single-letter passwords": "セキュリティ制限を解除し、1文字のパスワードを許可します", - "Reset Settings": "設定をリセット", - "Reset VSPC": "VSPCをリセット", - "Resident Memory": "常駐メモリ", - "Resources": "リソース", - "Resulting daemon arguments:": "生成されるデーモンの引数:", - "Rust Wallet SDK": "RustウォレットSDK", - "Rusty Kaspa on GitHub": "GitHubのRusty Kaspa", - "Secret is too weak": "シークレットが弱すぎます", - "Secret score:": "シークレットスコア:", - "Select Account": "アカウントを選択", - "Select Available Server": "利用可能なサーバーを選択", - "Select Private Key Type": "プライベートキータイプを選択", - "Select Public Node": "パブリックノードを選択", - "Select Wallet": "ウォレットを選択", - "Select a wallet to unlock": "ロック解除するウォレットを選択", - "Send": "送信", - "Services": "サービス", - "Settings": "設定", - "Show DAA": "DAAを表示", - "Show Grid": "グリッドを表示", - "Show VSPC": "VSPCを表示", - "Show balances in alternate currencies for testnet coins": "テストネットコインの代替通貨残高を表示", - "Show password": "パスワードを表示", - "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "メインネット上にいるかのように、テストネットコインを使用するときに代替通貨(BTC、USD)の残高を表示します", - "Skip": "スキップ", - "Small (10 BPS)": "小さめ(10 BPS)", - "Spread": "スプレッド", - "Stage": "ステージ", - "Starting...": "開始中...", - "Statistics": "統計", - "Stor Read": "ストレージ読み取り", - "Stor Write": "ストレージ書き込み", - "Storage": "ストレージ", - "Storage Read": "ストレージ読み込み", - "Storage Read/s": "ストレージ読み込み/s", - "Storage Write": "ストレージ書き込み", - "Storage Write/s": "ストレージ書き込み/s", - "Submitted Blocks": "提出されたブロック", - "Supporting Kaspa NG development": "Kaspa NGの開発を支援", - "Syncing Cryptographic Proof...": "暗号化証明の同期中...", - "Syncing DAG Blocks...": "DAGブロックの同期中...", - "Syncing Headers...": "ヘッダーの同期中...", - "Syncing UTXO entries...": "UTXOエントリの同期中...", - "Syncing...": "同期中...", - "System": "システム", - "TPS": "TPS", - "Testnet 10": "テストネット 10", - "Testnet 10 (1 BPS)": "テストネット 10 (1 BPS)", - "Testnet 11": "テストネット 11", - "Testnet 11 (10 BPS)": "テストネット 11 (10 BPS)", - "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "テストネット 11 はまだ公開テストには有効になっていません。ただし、設定パネルでノードをプライベート開発者テストネットに接続することができます。", - "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Kaspa NGソフトウェアは、Kaspa BlockDAG暗号通貨ネットワークに特化した最先端のソフトウェアプラットフォームを構築するための継続的な取り組みを表しています。このソフトウェアは、その核となる思想に基づいて、セキュリティ、プライバシー、パフォーマンス、分散化を優先します。", - "The balance may be out of date during node sync": "ノードの同期中に残高が更新されていない可能性があります", - "The following will guide you through the process of creating or importing a wallet.": "以下では、ウォレットの作成またはインポートのプロセスを案内します。", - "The node is currently syncing with the Kaspa p2p network.": "ノードは現在、Kaspa p2pネットワークと同期しています。", - "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "ノードは現在、Kaspa p2pネットワークと同期しています。アカウントの残高は古くなっている可能性があります。", - "The node is spawned as a child daemon process (recommended).": "ノードは子デーモンプロセスとして生成されます(推奨)。", - "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "ノードはKaspa-NGアプリケーションプロセスの一部として実行されます。これにより、通信オーバーヘッドが削減されます(実験的)。", - "Theme Color": "テーマの色", - "Theme Color:": "テーマの色:", - "Theme Style": "テーマのスタイル", - "Theme Style:": "テーマのスタイル:", - "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "このウォレットは、手動で秘密鍵の復旧を開始しない限り、このニーモニックフレーズを要求しません。", - "Threshold": "しきい値", - "Time Offset:": "時刻オフセット:", - "Tip Hashes": "Tip ハッシュ", - "Tools ⏷": "ツール ⏷", - "Total Rx": "合計 Rx", - "Total Rx/s": "合計 Rx/s", - "Total Tx": "合計 Tx", - "Total Tx/s": "合計 Tx/s", - "Track in the background": "バックグラウンドで追跡", - "Transactions": "取引", - "Transactions:": "取引:", - "Type": "タイプ", - "UTXO Manager": "UTXO マネージャー", - "UTXOs": "UTXOs", - "UTXOs:": "UTXOs:", - "Unable to change node settings until the problem is resolved": "問題が解決するまで、ノードの設定を変更できません", - "Unlock": "アンロック", - "Unlock Wallet": "ウォレットのロックを解除", - "Unlocking": "アンロック中", - "Update Available to version": "更新可能なバージョンへの更新", - "Updating...": "更新中...", - "Uptime:": "稼働時間:", - "Use 50%-75% of available system memory": "利用可能なシステムメモリの50%〜75%を使用する", - "Use all available system memory": "利用可能なシステムメモリをすべて使用する", - "User Agent": "ユーザーエージェント", - "User Interface": "ユーザーインターフェース", - "Very dangerous (may be cracked within few seconds)": "非常に危険 (数秒でクラックされる可能性があります)", - "Virt Parents": "Virt Parents", - "Virtual DAA Score": "仮想 DAA スコア", - "Virtual Memory": "仮想メモリ", - "Virtual Parent Hashes": "仮想親ハッシュ", - "Volume": "ボリューム", - "WASM SDK for JavaScript and TypeScript": "JavaScriptおよびTypeScript用のWASM SDK", - "Wallet": "ウォレット", - "Wallet Created": "ウォレットが作成されました", - "Wallet Encryption Password": "ウォレットの暗号化パスワード", - "Wallet Name": "ウォレット名", - "Wallet Secret": "ウォレットの秘密情報", - "Wallet password is used to encrypt your wallet data.": "ウォレットパスワードは、ウォレットデータを暗号化するために使用されます。", - "Wallet:": "ウォレット:", - "We greatly appreciate your help in backing our efforts.": "私たちの取り組みを支援してくれて、本当にありがとうございます。", - "Welcome to Kaspa NG": "Kaspa NGへようこそ", - "Xpub Keys": "Xpubキー", - "You are currently not connected to the Kaspa node.": "現在、Kaspaノードに接続していません。", - "You can configure remote connection in Settings": "設定でリモート接続を構成できます", - "You can create multiple wallets, but only one wallet can be open at a time.": "複数のウォレットを作成できますが、同時に開くことができるのは1つのウォレットのみです。", - "You must be connected to a node...": "ノードに接続している必要があります...", - "Your default wallet private key mnemonic is:": "デフォルトのウォレットの秘密鍵ニーモニックは次のとおりです:", - "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "ニーモニックフレーズを使用すると、秘密鍵を再作成できます。このニーモニックにアクセスできる人物は、それに格納されているKaspaの完全な制御権を持ちます。ニーモニックを安全な場所に保管してください。書き留め、できれば耐火性のある場所に保管してください。このコンピュータやモバイルデバイスにニーモニックを保存しないでください。このウォレットは、手動で秘密鍵の回復を開始しない限り、このニーモニックフレーズを要求しません。", - "Your private key mnemonic is:": "秘密鍵ニーモニックは次のとおりです:", - "Your wallet has been created and is ready to use.": "ウォレットが作成され、使用準備ができています。", - "Zoom": "ズーム", - "amount to send": "送信する金額", - "bye!": "さようなら!", - "gRPC Network Interface & Port": "gRPCネットワークインターフェース&ポート", - "gRPC Rx": "gRPC受信", - "gRPC Rx/s": "gRPC受信/s", - "gRPC Tx": "gRPC送信", - "gRPC Tx/s": "gRPC送信/s", - "of": "の", - "p2p RPC": "p2p RPC", - "p2p Rx": "p2p受信", - "p2p Rx/s": "p2p受信/s", - "p2p Tx": "p2p送信", - "p2p Tx/s": "p2p送信/s", - "peer": "ピア", - "peers": "ピア", - "wRPC Borsh Rx": "wRPC Borsh受信", - "wRPC Borsh Rx/s": "wRPC Borsh受信/s", - "wRPC Borsh Tx": "wRPC Borsh送信", - "wRPC Borsh Tx/s": "wRPC Borsh送信/s", - "wRPC Connection Settings": "wRPC接続設定", - "wRPC Encoding:": "wRPCエンコーディング:", - "wRPC JSON Rx": "wRPC JSON受信", - "wRPC JSON Rx/s": "wRPC JSON受信/s", - "wRPC JSON Tx": "wRPC JSON送信", - "wRPC JSON Tx/s": "wRPC JSON送信/s", - "wRPC URL:": "wRPC URL:" - }, - "ko": { - "1 BPS test network": "1 BPS 테스트 네트워크", - "10 BPS test network": "10 BPS 테스트 네트워크", - "12 word mnemonic": "12 단어 니모닉", - "24 word mnemonic": "24 단어 니모닉", - "24h Change": "24시간 변동", - "A binary at another location is spawned a child process (experimental, for development purposes only).": "다른 위치의 이진 파일이 자식 프로세스를 생성합니다 (실험적으로, 개발 목적으로만 사용).", - "A random node will be selected on startup": "시작 시 임의의 노드가 선택됩니다", - "A wallet is stored in a file on your computer.": "지갑은 컴퓨터의 파일에 저장됩니다.", - "Account Index": "계정 인덱스", - "Account Name": "계정 이름", - "Account:": "계정:", - "Activate custom daemon arguments": "사용자 정의 데몬 인수 활성화", - "Active p2p Peers": "활성 P2P 피어", - "Address derivation scan": "주소 파생 스캔", - "Address:": "주소:", - "Advanced": "고급", - "All": "모두", - "Allow custom arguments for the Rusty Kaspa daemon": "Rusty Kaspa 데몬에 대한 사용자 정의 인수 허용", - "Allows you to take screenshots from within the application": "애플리케이션 내에서 스크린샷을 촬영할 수 있습니다", - "Apply": "적용", - "Balance: N/A": "잔액: N/A", - "Bandwidth": "대역폭", - "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "보안과 성능에 중점을 둔 이 소프트웨어는 기타 전통적인 현대 웹 기반 소프트웨어와 비교하여 상당히 더 많은 시간과 노력이 필요한 Rust로 완전히 개발되었습니다.", - "Bezier Curves": "베지어 곡선", - "Block DAG": "블록 DAG", - "Block Scale": "블록 스케일", - "Blocks": "블록", - "Bodies": "본문", - "Borsh Active Connections": "Borsh 활성 연결", - "Borsh Connection Attempts": "Borsh 연결 시도", - "Borsh Handshake Failures": "Borsh 핸드셰이크 실패", - "Build": "빌드", - "CONNECTED": "연결됨", - "CPU": "CPU", - "Cache Memory Size": "캐시 메모리 크기", - "Cache Memory Size:": "캐시 메모리 크기:", - "Cancel": "취소", - "Cannot delete data folder while the node is running": "노드가 실행 중인 동안 데이터 폴더를 삭제할 수 없습니다", - "Capture a screenshot": "스크린샷 캡처", - "Center VSPC": "중앙 VSPC", - "Chain Blocks": "체인 블록", - "Change Address": "주소 변경", - "Check for Software Updates on GitHub": "GitHub에서 소프트웨어 업데이트 확인", - "Check for Updates": "업데이트 확인", - "Clear": "지우기", - "Click to try another server...": "다른 서버를 시도하려면 클릭...", - "Client RPC": "클라이언트 RPC", - "Close": "닫기", - "Close the window": "창 닫기", - "Confirm wallet password": "지갑 비밀번호 확인", - "Connect to a local node (localhost)": "로컬 노드에 연결 (localhost)", - "Connecting to": "연결 중", - "Connection": "연결", - "Connections": "연결", - "Connects to a Remote Rusty Kaspa Node via wRPC.": "wRPC를 통해 원격 Rusty Kaspa 노드에 연결합니다.", - "Conservative": "보수적인", - "Continue": "계속", - "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "이 프로젝트로 직접 향하는 기여는 Kaspa NG 소프트웨어 및 생태계를 직접 지원합니다.", - "Copied to clipboard": "클립보드에 복사됨", - "Copy": "복사", - "Copy logs to clipboard": "로그를 클립보드로 복사", - "Create New Account": "새 계정 만들기", - "Create New Wallet": "새 지갑 만들기", - "Create new wallet": "새 지갑 만들기", - "Creating Account": "계정 생성 중", - "Creating Wallet": "지갑 생성 중", - "Custom": "사용자 지정", - "Custom Public Node": "사용자 정의 공개 노드", - "Custom arguments:": "사용자 정의 인수:", - "Custom data storage folder": "사용자 정의 데이터 저장 폴더", - "DAA": "DAA", - "DAA Offset": "DAA 오프셋", - "DAA Range": "DAA 범위", - "DB Blocks": "DB 블록", - "DB Headers": "DB 헤더", - "Data Storage": "데이터 저장", - "Database Blocks": "데이터베이스 블록", - "Database Headers": "데이터베이스 헤더", - "Decrypting wallet, please wait...": "지갑 복호화 중, 잠시 기다려주세요...", - "Default": "기본값", - "Default Account Name": "기본 계정 이름", - "Delete Data Folder": "데이터 폴더 삭제", - "Dependencies": "의존성", - "Derivation Indexes": "파생 인덱스", - "Details": "세부 정보", - "Developer Mode": "개발자 모드", - "Developer Resources": "개발자 자료", - "Developer mode enables advanced and experimental features": "개발자 모드는 고급 및 실험적인 기능을 활성화합니다", - "Difficulty": "난이도", - "Dimensions": "차원", - "Disable password score restrictions": "비밀번호 점수 제한 비활성화", - "Disabled": "비활성화됨", - "Disables node connectivity (Offline Mode).": "노드 연결을 비활성화합니다 (오프라인 모드).", - "Discord": "Discord", - "Donations": "기부", - "Double click on the graph to re-center...": "그래프를 다시 중앙에 배치하려면 두 번 클릭하십시오...", - "ECDSA": "ECDSA", - "Enable Market Monitor": "시장 모니터 활성화", - "Enable UPnP": "UPnP 활성화", - "Enable custom daemon arguments": "사용자 정의 데몬 인수 활성화", - "Enable experimental features": "실험적 기능 활성화", - "Enable gRPC": "gRPC 활성화", - "Enable optional BIP39 passphrase": "선택적 BIP39 패스프레이즈 활성화", - "Enable screen capture": "스크린 캡처 활성화", - "Enables features currently in development": "현재 개발 중인 기능을 활성화합니다", - "Enter": "입력", - "Enter account name (optional)": "계정 이름 입력 (선택 사항)", - "Enter first account name": "첫 번째 계정 이름 입력", - "Enter phishing hint": "사기 힌트 입력", - "Enter the amount": "금액 입력", - "Enter the password for your wallet": "지갑 비밀번호 입력", - "Enter the password to unlock your wallet": "지갑 잠금 해제 비밀번호 입력", - "Enter wallet name": "지갑 이름 입력", - "Enter wallet password": "지갑 비밀번호 입력", - "Enter your wallet secret": "지갑 비밀번호 입력", - "Explorer": "탐색기", - "Export Wallet Data": "지갑 데이터 내보내기", - "Faucet": "수도꼭지", - "File Handles": "파일 핸들", - "Filename:": "파일 이름:", - "Final Amount:": "최종 금액:", - "GitHub Release": "GitHub 릴리스", - "Go to Settings": "설정으로 이동", - "Handles": "핸들", - "Headers": "헤더", - "IBD:": "IBD:", - "If not specified, the account will be represented by the numeric id.": "지정되지 않은 경우, 계정은 숫자 ID로 표시됩니다.", - "If you are running locally, use: ": "로컬에서 실행 중이라면 다음을 사용하십시오: ", - "Import existing": "기존 것 가져오기", - "Inbound": "수신", - "Include QoS Priority Fees": "QoS 우선 순위 수수료 포함", - "Integrated Daemon": "통합된 데몬", - "Invalid daemon arguments": "유효하지 않은 데몬 인수", - "Invalid network type - expected: testnet-10 connected to: testnet-11": "잘못된 네트워크 유형 - 예상: testnet-10이 연결된 것: testnet-11", - "Invalid wRPC URL": "잘못된 wRPC URL", - "Json Active Connections": "Json 활성 연결", - "Json Connection Attempts": "Json 연결 시도", - "Json Handshake Failures": "Json 핸드셰이크 실패", - "Kaspa Discord": "Kaspa Discord", - "Kaspa Integration Guide": "Kaspa 통합 가이드", - "Kaspa NG": "Kaspa NG", - "Kaspa NG Online": "Kaspa NG 온라인", - "Kaspa NG Web App": "Kaspa NG 웹 앱", - "Kaspa NG on GitHub": "GitHub의 Kaspa NG", - "Kaspa NG online": "Kaspa NG 온라인", - "Kaspa Network": "Kaspa 네트워크", - "Kaspa Node": "Kaspa 노드", - "Kaspa p2p Network & Node Connection": "Kaspa p2p 네트워크 및 노드 연결", - "Kaspa p2p Node": "Kaspa p2p 노드", - "Kaspa p2p Node & Connection": "Kaspa p2p 노드 및 연결", - "Key Perf.": "주요 성능", - "Language:": "언어:", - "Large (1 BPS)": "큰 (1 BPS)", - "Levels": "레벨", - "License Information": "라이선스 정보", - "Local": "로컬", - "Local p2p Node Configuration": "로컬 p2p 노드 구성", - "Logs": "로그", - "MT": "MT", - "Main Kaspa network": "Main Kaspa 네트워크", - "Mainnet": "Mainnet", - "Mainnet (Main Kaspa network)": "Mainnet (Main Kaspa 네트워크)", - "Managed by the Rusty Kaspa daemon": "Rusty Kaspa 데몬에 의해 관리됨", - "Market": "시장", - "Market Cap": "시가 총액", - "Market Monitor": "시장 모니터", - "Mass Processed": "대량 처리됨", - "Medium Narrow": "중간 좁음", - "Medium Wide": "중간 넓음", - "Memory": "메모리", - "Mempool": "메모리 풀", - "Mempool Size": "메모리 풀 크기", - "Metrics": "메트릭스", - "Metrics are not currently available": "메트릭스를 현재 사용할 수 없습니다", - "NPM Modules for NodeJS": "NodeJS용 NPM 모듈", - "Network": "네트워크", - "Network Difficulty": "네트워크 난이도", - "Network Fees:": "네트워크 수수료:", - "Network Interface": "네트워크 인터페이스", - "Network Peers": "네트워크 피어", - "No peers": "피어 없음", - "No public node selected - please select a public node": "공개 노드가 선택되지 않았습니다 - 공개 노드를 선택하세요", - "No transactions": "거래 없음", - "No wallets found, please create a new wallet": "지갑을 찾을 수 없습니다, 새 지갑을 만드세요", - "Node": "노드", - "Node Status": "노드 상태", - "Noise": "노이즈", - "None": "없음", - "Not Connected": "연결되지 않음", - "Not connected": "연결되지 않음", - "Notifications": "알림", - "Open Data Folder": "데이터 폴더 열기", - "Opening wallet:": "지갑 열기 중:", - "Optional": "선택 사항", - "Other operations": "기타 작업", - "Outbound": "아웃바운드", - "Overview": "개요", - "Parents": "부모", - "Past Median Time": "과거 중앙 시간", - "Payment & Recovery Password": "결제 및 복구 비밀번호", - "Payment Request": "결제 요청", - "Peers": "피어", - "Performance": "성능", - "Phishing Hint": "사기 힌트", - "Ping:": "핑:", - "Please Confirm Deletion": "삭제를 확인하세요", - "Please configure your Kaspa NG settings": "Kaspa NG 설정을 구성하세요", - "Please connect to Kaspa p2p node": "Kaspa p2p 노드에 연결하세요", - "Please create a stronger password": "더 강력한 비밀번호를 만드세요", - "Please enter": "입력하세요", - "Please enter KAS amount to send": "전송할 KAS 금액을 입력하세요", - "Please enter an amount": "금액을 입력하세요", - "Please enter the account name": "계정 이름을 입력하세요", - "Please enter the wallet secret": "지갑 비밀번호를 입력하세요", - "Please note that this is a beta release. Until this message is removed, please avoid using the wallet with mainnet funds.": "이것은 알파 릴리스임을 참고하세요. 이 메시지가 제거될 때까지 메인넷 자금을 사용하지 않도록 주의하세요.", - "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "주의: 클립보드로 복사하는 것은 악성 코드에게 당신의 니모닉을 노출시킬 위험을 가지고 있습니다.", - "Please select an account type": "계정 유형을 선택하세요", - "Please select the private key to export": "내보낼 개인 키를 선택하세요", - "Please set node to 'Disabled' to delete the data folder": "데이터 폴더를 삭제하려면 노드를 '비활성'으로 설정하세요", - "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "기본 계정의 이름을 지정하세요. 지갑은 기본 계정으로 생성됩니다. 생성된 후 필요한 만큼 추가 계정을 만들 수 있습니다.", - "Please specify the name of the new wallet": "새 지갑의 이름을 지정하세요", - "Please specify the private key type for the new wallet": "새 지갑의 개인 키 유형을 지정하세요", - "Please wait for the node to sync or connect to a remote node.": "노드가 동기화되거나 원격 노드에 연결될 때까지 기다리세요.", - "Please wait for the node to sync...": "노드가 동기화될 때까지 기다리세요...", - "Please wait...": "잠시 기다려주세요...", - "Presets": "프리셋", - "Price": "가격", - "Private Key Mnemonic": "개인 키 니모닉", - "Processed Bodies": "처리된 본문", - "Processed Dependencies": "처리된 종속성", - "Processed Headers": "처리된 헤더", - "Processed Mass Counts": "처리된 대량 카운트", - "Processed Transactions": "처리된 거래", - "Protocol:": "프로토콜:", - "Public Node": "공개 노드", - "Public Nodes": "공개 노드", - "Public Server": "공개 서버", - "Public p2p Nodes for": "공개 p2p 노드:", - "Random Public Node": "랜덤 공개 노드", - "Range:": "범위:", - "Receive Address": "수신 주소", - "Recommended arguments for the remote node: ": "원격 노드에 대한 권장 인수: ", - "Redistributables": "재배포 가능", - "Remote": "원격", - "Remote Connection:": "원격 연결:", - "Remote p2p Node Configuration": "원격 p2p 노드 구성", - "Removes security restrictions, allows for single-letter passwords": "보안 제한 사항을 제거하고 한 글자 비밀번호를 허용합니다", - "Reset Settings": "설정 초기화", - "Reset VSPC": "VSPC 재설정", - "Resident Memory": "상주 메모리", - "Resources": "리소스", - "Resulting daemon arguments:": "결과 데몬 인수:", - "Rust Wallet SDK": "Rust Wallet SDK", - "Rusty Kaspa on GitHub": "GitHub의 Rusty Kaspa", - "Secret is too weak": "비밀이 너무 약합니다", - "Secret score:": "비밀 점수:", - "Select Account": "계정 선택", - "Select Available Server": "사용 가능한 서버 선택", - "Select Private Key Type": "개인 키 유형 선택", - "Select Public Node": "공개 노드 선택", - "Select Wallet": "지갑 선택", - "Select a wallet to unlock": "잠금 해제할 지갑 선택", - "Send": "전송", - "Services": "서비스", - "Settings": "설정", - "Show DAA": "DAA 보기", - "Show Grid": "그리드 보기", - "Show VSPC": "VSPC 보기", - "Show balances in alternate currencies for testnet coins": "테스트넷 코인에 대한 대체 통화 잔액 표시", - "Show password": "비밀번호 보기", - "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "메인넷과 같은 것처럼 테스트넷 코인을 사용할 때 대체 통화(BTC, USD)의 잔액 표시", - "Skip": "건너뛰기", - "Small (10 BPS)": "작게 (10 BPS)", - "Spread": "스프레드", - "Stage": "단계", - "Starting...": "시작 중...", - "Statistics": "통계", - "Stor Read": "Stor 읽기", - "Stor Write": "Stor 쓰기", - "Storage": "저장소", - "Storage Read": "저장소 읽기", - "Storage Read/s": "초당 저장소 읽기", - "Storage Write": "저장소 쓰기", - "Storage Write/s": "초당 저장소 쓰기", - "Submitted Blocks": "제출된 블록", - "Supporting Kaspa NG development": "Kaspa NG 개발 지원", - "Syncing Cryptographic Proof...": "암호화 증명 동기화 중...", - "Syncing DAG Blocks...": "DAG 블록 동기화 중...", - "Syncing Headers...": "헤더 동기화 중...", - "Syncing UTXO entries...": "UTXO 항목 동기화 중...", - "Syncing...": "동기화 중...", - "System": "시스템", - "TPS": "TPS", - "Testnet 10": "테스트넷 10", - "Testnet 10 (1 BPS)": "테스트넷 10 (1 BPS)", - "Testnet 11": "테스트넷 11", - "Testnet 11 (10 BPS)": "테스트넷 11 (10 BPS)", - "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "테스트넷 11은 아직 공개 테스트로 활성화되지 않았습니다. 그러나 설정 패널에서 노드를 개인 개발자 테스트넷에 연결할 수 있습니다.", - "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Kaspa NG 소프트웨어는 Kaspa BlockDAG 암호화폐 네트워크에 헌신된 최첨단 소프트웨어 플랫폼을 구축하기 위한 지속적인 노력을 대표합니다. 핵심적으로 이 소프트웨어는 보안, 개인 정보 보호, 성능 및 분산화를 우선시합니다.", - "The balance may be out of date during node sync": "노드 동기화 중에는 잔액이 오래되었을 수 있습니다.", - "The following will guide you through the process of creating or importing a wallet.": "다음은 지갑을 생성하거나 가져오는 과정을 안내합니다.", - "The node is currently syncing with the Kaspa p2p network.": "노드는 현재 Kaspa p2p 네트워크와 동기화 중입니다.", - "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "노드는 현재 Kaspa p2p 네트워크와 동기화 중입니다. 계정 잔액이 오래되었을 수 있습니다.", - "The node is spawned as a child daemon process (recommended).": "노드는 자식 데몬 프로세스로 생성됩니다 (권장됨).", - "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "노드는 Kaspa-NG 애플리케이션 프로세스의 일부로 실행됩니다. 이는 통신 오버헤드를 줄입니다 (실험적).", - "Theme Color": "테마 색상", - "Theme Color:": "테마 색상:", - "Theme Style": "테마 스타일", - "Theme Style:": "테마 스타일:", - "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "이 지갑은 수동으로 개인 키 복구를 시작하지 않는 한 이 니모닉 구절을 요청하지 않습니다.", - "Threshold": "임계 값", - "Time Offset:": "시간 오프셋:", - "Tip Hashes": "팁 해시", - "Tools ⏷": "도구 ⏷", - "Total Rx": "총 Rx", - "Total Rx/s": "총 Rx/s", - "Total Tx": "총 Tx", - "Total Tx/s": "총 Tx/s", - "Track in the background": "백그라운드에서 추적", - "Transactions": "거래", - "Transactions:": "거래:", - "Type": "유형", - "UTXO Manager": "UTXO 관리자", - "UTXOs": "UTXOs", - "UTXOs:": "UTXOs:", - "Unable to change node settings until the problem is resolved": "문제가 해결될 때까지 노드 설정을 변경할 수 없습니다", - "Unlock": "잠금 해제", - "Unlock Wallet": "지갑 잠금 해제", - "Unlocking": "잠금 해제 중", - "Update Available to version": "버전으로 업데이트 가능", - "Updating...": "업데이트 중...", - "Uptime:": "가동 시간:", - "Use 50%-75% of available system memory": "사용 가능한 시스템 메모리의 50%-75% 사용", - "Use all available system memory": "모든 사용 가능한 시스템 메모리 사용", - "User Agent": "사용자 에이전트", - "User Interface": "사용자 인터페이스", - "Very dangerous (may be cracked within few seconds)": "매우 위험함 (몇 초 내에 크랙될 수 있음)", - "Virt Parents": "가상 부모", - "Virtual DAA Score": "가상 DAA 점수", - "Virtual Memory": "가상 메모리", - "Virtual Parent Hashes": "가상 부모 해시", - "Volume": "볼륨", - "WASM SDK for JavaScript and TypeScript": "JavaScript 및 TypeScript용 WASM SDK", - "Wallet": "지갑", - "Wallet Created": "지갑이 생성되었습니다", - "Wallet Encryption Password": "지갑 암호화 비밀번호", - "Wallet Name": "지갑 이름", - "Wallet Secret": "지갑 비밀", - "Wallet password is used to encrypt your wallet data.": "지갑 비밀번호는 지갑 데이터를 암호화하는 데 사용됩니다.", - "Wallet:": "지갑:", - "We greatly appreciate your help in backing our efforts.": "저희의 노력을 지원해 주셔서 감사합니다.", - "Welcome to Kaspa NG": "Kaspa NG에 오신 것을 환영합니다", - "Xpub Keys": "Xpub 키", - "You are currently not connected to the Kaspa node.": "현재 Kaspa 노드에 연결되어 있지 않습니다.", - "You can configure remote connection in Settings": "설정에서 원격 연결을 구성할 수 있습니다", - "You can create multiple wallets, but only one wallet can be open at a time.": "여러 지갑을 만들 수 있지만 한 번에 하나의 지갑만 열 수 있습니다.", - "You must be connected to a node...": "노드에 연결되어 있어야 합니다...", - "Your default wallet private key mnemonic is:": "기본 지갑의 개인 키 니모닉은 다음과 같습니다:", - "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "니모닉 구절을 사용하면 개인 키를 다시 만들 수 있습니다. 이 니모닉에 액세스 권한이 있는 사람은 해당 내에 저장된 Kaspa를 완전히 제어할 수 있습니다. 니모닉을 안전하게 보관하세요. 적어두고 안전한 곳에 보관하십시오. 가능한 경우 화재로부터 안전한 위치에 보관하십시오. 니모닉을 이 컴퓨터나 모바일 기기에 저장하지 마십시오. 이 지갑은 수동으로 개인 키 복구를 시작하지 않는 한 이 니모닉 구절을 요청하지 않습니다.", - "Your private key mnemonic is:": "개인 키 니모닉은 다음과 같습니다:", - "Your wallet has been created and is ready to use.": "지갑이 생성되었으며 사용할 준비가 되었습니다.", - "Zoom": "확대", - "amount to send": "보낼 금액", - "bye!": "안녕!", - "gRPC Network Interface & Port": "gRPC 네트워크 인터페이스 및 포트", - "gRPC Rx": "gRPC 수신", - "gRPC Rx/s": "gRPC 수신/s", - "gRPC Tx": "gRPC 전송", - "gRPC Tx/s": "gRPC 전송/s", - "of": "의", - "p2p RPC": "p2p RPC", - "p2p Rx": "p2p 수신", - "p2p Rx/s": "p2p 수신/s", - "p2p Tx": "p2p 전송", - "p2p Tx/s": "p2p 전송/s", - "peer": "피어", - "peers": "피어들", - "wRPC Borsh Rx": "wRPC Borsh 수신", - "wRPC Borsh Rx/s": "wRPC Borsh 수신/s", - "wRPC Borsh Tx": "wRPC Borsh 전송", - "wRPC Borsh Tx/s": "wRPC Borsh 전송/s", - "wRPC Connection Settings": "wRPC 연결 설정", - "wRPC Encoding:": "wRPC 인코딩:", - "wRPC JSON Rx": "wRPC JSON 수신", - "wRPC JSON Rx/s": "wRPC JSON 수신/s", - "wRPC JSON Tx": "wRPC JSON 전송", - "wRPC JSON Tx/s": "wRPC JSON 전송/s", - "wRPC URL:": "wRPC URL:" + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "words" }, - "lt": {}, - "mn": {}, - "nb": {}, - "nl": { - "1 BPS test network": "1 BPS testnetwerk", - "10 BPS test network": "10 BPS testnetwerk", + "sv": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS test network", + "10 BPS test network": "10 BPS test network", "12 word mnemonic": "12 word mnemonic", - "24 word mnemonic": "24-woordige mnemonische code of zin", + "24 word mnemonic": "24 word mnemonic", "24h Change": "24h Change", - "A binary at another location is spawned a child process (experimental, for development purposes only).": "Een binair bestand op een andere locatie genereert een 'childprocess' (experimenteel, alleen voor ontwikkelingsdoeleinden).", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "A binary at another location is spawned a child process (experimental, for development purposes only).", "A random node will be selected on startup": "A random node will be selected on startup", "A wallet is stored in a file on your computer.": "A wallet is stored in a file on your computer.", "Account Index": "Account Index", "Account Name": "Account Name", "Account:": "Account:", - "Activate custom daemon arguments": "Activeer custom daemon arguments", - "Active p2p Peers": "Actieve p2p Peers", + "Activate custom daemon arguments": "Activate custom daemon arguments", + "Active p2p Peers": "Active p2p Peers", "Address derivation scan": "Address derivation scan", "Address:": "Address:", - "Advanced": "Geavanceerd", - "All": "Alle", + "Advanced": "Advanced", + "Advanced Options": "Advanced Options", + "All": "All", + "Allow clipboard copy": "Allow clipboard copy", "Allow custom arguments for the Rusty Kaspa daemon": "Allow custom arguments for the Rusty Kaspa daemon", - "Allows you to take screenshots from within the application": "Hiermee kun je schermafbeeldingen maken vanuit de applicatie.", - "Apply": "Toepassen", + "Allows you to take screenshots from within the application": "Allows you to take screenshots from within the application", + "Apply": "Apply", "Balance: N/A": "Balance: N/A", "Bandwidth": "Bandwidth", - "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Vanwege de focus op beveiliging en prestaties is deze software volledig ontwikkeld in Rust, wat aanzienlijk meer tijd en moeite vergt in vergelijking met andere traditionele moderne webgestuurde software.", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.", "Bezier Curves": "Bezier Curves", "Block DAG": "Block DAG", "Block Scale": "Block Scale", "Blocks": "Blocks", "Bodies": "Bodies", "Borsh Active Connections": "Borsh Active Connections", - "Borsh Connection Attempts": "Borsh Verbindingspogingen", + "Borsh Connection Attempts": "Borsh Connection Attempts", "Borsh Handshake Failures": "Borsh Handshake Failures", "Build": "Build", "CONNECTED": "CONNECTED", "CPU": "CPU", - "Cache Memory Size:": "Cachegeheugen grootte:", + "Cache Memory Size": "Cache Memory Size", + "Cache Memory Size:": "Cache Memory Size:", "Cancel": "Cancel", - "Cannot delete data folder while the node is running": "Kan de gegevensmap niet verwijderen terwijl de node aan het draaien is.", - "Capture a screenshot": "Een schermafbeelding maken", + "Cannot delete data folder while the node is running": "Cannot delete data folder while the node is running", + "Capture a screenshot": "Capture a screenshot", "Center VSPC": "Center VSPC", "Chain Blocks": "Chain Blocks", - "Change Address": "Wisseladres", + "Change Address": "Change Address", "Check for Software Updates on GitHub": "Check for Software Updates on GitHub", - "Check for Updates": "Controleren op updates", - "Clear": "Leegmaken", + "Check for Updates": "Check for Updates", + "Clear": "Clear", "Click to try another server...": "Click to try another server...", "Client RPC": "Client RPC", "Close": "Close", + "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", "Confirm wallet password": "Confirm wallet password", - "Connect to a local node (localhost)": "Verbind met een lokale node (localhost)", + "Connect to a local node (localhost)": "Connect to a local node (localhost)", "Connecting to": "Connecting to", "Connection": "Connection", - "Connections": "Verbindingen", + "Connections": "Connections", "Connects to a Remote Rusty Kaspa Node via wRPC.": "Connects to a Remote Rusty Kaspa Node via wRPC.", "Conservative": "Conservative", "Continue": "Continue", @@ -4059,21 +13041,25 @@ "Copy logs to clipboard": "Copy logs to clipboard", "Create New Account": "Create New Account", "Create New Wallet": "Create New Wallet", + "Create Wallet": "Create Wallet", "Create new wallet": "Create new wallet", - "Creating Account": "Account aanmaken", - "Creating Wallet": "Wallet aanmaken", + "Creating Account": "Creating Account", + "Creating Wallet": "Creating Wallet", "Custom": "Custom", "Custom Public Node": "Custom Public Node", "Custom arguments:": "Custom arguments:", + "Custom data storage folder": "Custom data storage folder", "DAA": "DAA", "DAA Offset": "DAA Offset", "DAA Range": "DAA Range", "DB Blocks": "DB Blocks", "DB Headers": "DB Headers", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", "Database Blocks": "Database Blocks", "Database Headers": "Database Headers", - "Decrypting wallet, please wait...": "Wallet aan het ontsleutelen, even geduld ...", - "Default": "Standaard", + "Decrypting wallet, please wait...": "Decrypting wallet, please wait...", + "Default": "Default", "Default Account Name": "Default Account Name", "Delete Data Folder": "Delete Data Folder", "Dependencies": "Dependencies", @@ -4082,10 +13068,10 @@ "Developer Mode": "Developer Mode", "Developer Resources": "Developer Resources", "Developer mode enables advanced and experimental features": "Developer mode enables advanced and experimental features", - "Difficulty": "Moeilijkheid", + "Difficulty": "Difficulty", "Dimensions": "Dimensions", - "Disable password score restrictions": "Disable password score restrictions", - "Disabled": "Uitgeschakeld", + "Disable password safety rules": "Disable password safety rules", + "Disabled": "Disabled", "Disables node connectivity (Offline Mode).": "Disables node connectivity (Offline Mode).", "Discord": "Discord", "Donations": "Donations", @@ -4093,62 +13079,72 @@ "ECDSA": "ECDSA", "Enable Market Monitor": "Enable Market Monitor", "Enable UPnP": "Enable UPnP", - "Enable custom daemon arguments": "Schakel custom daemon-arguments in", + "Enable custom daemon arguments": "Enable custom daemon arguments", "Enable experimental features": "Enable experimental features", "Enable gRPC": "Enable gRPC", - "Enable optional BIP39 passphrase": "Schakel optionele BIP39 wachtwoordzin in", - "Enable screen capture": "Schakel schermopname in", + "Enable optional BIP39 passphrase": "Enable optional BIP39 passphrase", + "Enable screen capture": "Enable screen capture", "Enables features currently in development": "Enables features currently in development", "Enter": "Enter", - "Enter account name (optional)": "Voer accountnaam in (optioneel)", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Enter account name (optional)", "Enter first account name": "Enter first account name", + "Enter mnemonic": "Enter mnemonic", "Enter phishing hint": "Enter phishing hint", - "Enter the amount": "Vul een hoeveelheid in", - "Enter the password for your wallet": "Voer het wachtwoord van je wallet in", + "Enter the amount": "Enter the amount", + "Enter the password for your wallet": "Enter the password for your wallet", "Enter the password to unlock your wallet": "Enter the password to unlock your wallet", "Enter wallet name": "Enter wallet name", "Enter wallet password": "Enter wallet password", "Enter your wallet secret": "Enter your wallet secret", + "Exit Full Screen": "Exit Full Screen", "Explorer": "Explorer", "Export Wallet Data": "Export Wallet Data", "Faucet": "Faucet", "File Handles": "File Handles", "Filename:": "Filename:", "Final Amount:": "Final Amount:", + "Full Screen": "Full Screen", "GitHub Release": "GitHub Release", "Go to Settings": "Go to Settings", + "Good": "Good", "Handles": "Handles", "Headers": "Headers", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", "IBD:": "IBD:", "If not specified, the account will be represented by the numeric id.": "If not specified, the account will be represented by the numeric id.", - "If you are running locally, use: ": "Wanneer je 'lokaal runt', gebruik dan:", + "If you are running locally, use: ": "If you are running locally, use: ", + "Import Existing Private Key": "Import Existing Private Key", "Import existing": "Import existing", - "Inbound": "Inkomend", + "Importing Wallet": "Importing Wallet", + "Inbound": "Inbound", "Include QoS Priority Fees": "Include QoS Priority Fees", "Integrated Daemon": "Integrated Daemon", - "Invalid daemon arguments": "Ongeldige daemon arguments", + "Invalid daemon arguments": "Invalid daemon arguments", "Invalid network type - expected: testnet-10 connected to: testnet-11": "Invalid network type - expected: testnet-10 connected to: testnet-11", "Invalid wRPC URL": "Invalid wRPC URL", "Json Active Connections": "Json Active Connections", "Json Connection Attempts": "Json Connection Attempts", "Json Handshake Failures": "Json Handshake Failures", "Kaspa Discord": "Kaspa Discord", - "Kaspa Integration Guide": "Kaspa Integratiehandleiding", + "Kaspa Integration Guide": "Kaspa Integration Guide", "Kaspa NG": "Kaspa NG", "Kaspa NG Online": "Kaspa NG Online", "Kaspa NG Web App": "Kaspa NG Web App", - "Kaspa NG on GitHub": "Kaspa NG op GitHub", + "Kaspa NG on GitHub": "Kaspa NG on GitHub", "Kaspa NG online": "Kaspa NG online", "Kaspa Network": "Kaspa Network", + "Kaspa Node": "Kaspa Node", + "Kaspa p2p Network & Node Connection": "Kaspa p2p Network & Node Connection", "Kaspa p2p Node": "Kaspa p2p Node", "Kaspa p2p Node & Connection": "Kaspa p2p Node & Connection", "Key Perf.": "Key Perf.", "Language:": "Language:", "Large (1 BPS)": "Large (1 BPS)", "Levels": "Levels", - "License Information": "Licentie informatie", + "License Information": "License Information", "Local": "Local", - "Local p2p Node Configuration": "Local p2p Node Configuratie", + "Local p2p Node Configuration": "Local p2p Node Configuration", "Logs": "Logs", "MT": "MT", "Main Kaspa network": "Main Kaspa network", @@ -4159,21 +13155,25 @@ "Market Cap": "Market Cap", "Market Monitor": "Market Monitor", "Mass Processed": "Mass Processed", + "Maximize window": "Maximize window", "Medium Narrow": "Medium Narrow", "Medium Wide": "Medium Wide", - "Memory": "Geheugen", + "Memory": "Memory", "Mempool": "Mempool", "Mempool Size": "Mempool Size", "Metrics": "Metrics", - "Metrics are not currently available": "Statistieken zijn momenteel niet beschikbaar", + "Metrics are not currently available": "Metrics are not currently available", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", "NPM Modules for NodeJS": "NPM Modules for NodeJS", - "Network": "Netwerk", + "Network": "Network", "Network Difficulty": "Network Difficulty", "Network Fees:": "Network Fees:", "Network Interface": "Network Interface", - "Network Peers": "Netwerk Peers", - "No peers": "Geen peers", - "No public node selected - please select a public node": "Geen public node geselecteerd - selecteer alsjeblieft een public node", + "Network Peers": "Network Peers", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "No peers", + "No public node selected - please select a public node": "No public node selected - please select a public node", "No transactions": "No transactions", "No wallets found, please create a new wallet": "No wallets found, please create a new wallet", "Node": "Node", @@ -4181,38 +13181,45 @@ "Noise": "Noise", "None": "None", "Not Connected": "Not Connected", - "Not connected": "Niet verbonden", + "Not connected": "Not connected", "Notifications": "Notifications", - "Open Data Folder": "Open Gegevensmap", + "Open Data Folder": "Open Data Folder", "Opening wallet:": "Opening wallet:", - "Optional": "Optioneel", + "Optional": "Optional", "Other operations": "Other operations", "Outbound": "Outbound", - "Overview": "Overzicht", + "Overview": "Overview", "Parents": "Parents", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", "Past Median Time": "Past Median Time", - "Payment & Recovery Password": "Betaling & Herstel Wachtwoord", - "Payment Request": "Betalingsverzoek", - "Peers": "peers", + "Payment & Recovery Password": "Payment & Recovery Password", + "Payment Request": "Payment Request", + "Peers": "Peers", "Performance": "Performance", "Phishing Hint": "Phishing Hint", "Ping:": "Ping:", "Please Confirm Deletion": "Please Confirm Deletion", - "Please configure your Kaspa NG settings": "Gelieve je Kaspa NG instellingen te configureren", - "Please connect to Kaspa p2p node": "Maak alsjeblieft verbinding met de Kaspa p2p-node.", - "Please create a stronger password": "Maak alsjeblieft een sterker wachtwoord", + "Please configure your Kaspa NG settings": "Please configure your Kaspa NG settings", + "Please connect to Kaspa p2p node": "Please connect to Kaspa p2p node", + "Please create a stronger password": "Please create a stronger password", "Please enter": "Please enter", - "Please enter KAS amount to send": "Voer alsjeblieft een hoeveelheid KAS in om te verzenden.", - "Please enter an amount": "Vul alsjeblieft een hoeveelheid in.", - "Please enter the account name": "Voer alsjeblieft de naam van het account in.", + "Please enter KAS amount to send": "Please enter KAS amount to send", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Please enter an amount", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Please enter the account name", "Please enter the wallet secret": "Please enter the wallet secret", - "Please note that this is a beta release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is a beta release. Until this message is removed, please avoid using the wallet with mainnet funds.", - "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Let op, het kopiëren naar het klembord brengt het risico met zich mee dat uw mnemonische zin wordt blootgesteld aan malware.", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.", "Please select an account type": "Please select an account type", "Please select the private key to export": "Please select the private key to export", - "Please set node to 'Disabled' to delete the data folder": "Gelieve de node in te stellen op 'Uitgeschakeld' om de gegevensmap te verwijderen.", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Please set node to 'Disabled' to delete the data folder", "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.", - "Please specify the name of the new wallet": "Gelieve de naam van de nieuwe wallet op te geven.", + "Please specify the name of the new wallet": "Please specify the name of the new wallet", "Please specify the private key type for the new wallet": "Please specify the private key type for the new wallet", "Please wait for the node to sync or connect to a remote node.": "Please wait for the node to sync or connect to a remote node.", "Please wait for the node to sync...": "Please wait for the node to sync...", @@ -4223,49 +13230,52 @@ "Processed Bodies": "Processed Bodies", "Processed Dependencies": "Processed Dependencies", "Processed Headers": "Processed Headers", - "Processed Mass Counts": "Verwerkte Mass Counts", - "Processed Transactions": "Verwerkte transacties", + "Processed Mass Counts": "Processed Mass Counts", + "Processed Transactions": "Processed Transactions", "Protocol:": "Protocol:", "Public Node": "Public Node", "Public Nodes": "Public Nodes", "Public Server": "Public Server", "Public p2p Nodes for": "Public p2p Nodes for", - "Random Public Node": "Willekeurige Public Node", + "Random Public Node": "Random Public Node", "Range:": "Range:", "Receive Address": "Receive Address", "Recommended arguments for the remote node: ": "Recommended arguments for the remote node: ", + "Redistributables": "Redistributables", "Remote": "Remote", - "Remote Connection:": "Externe verbinding:", + "Remote Connection:": "Remote Connection:", "Remote p2p Node Configuration": "Remote p2p Node Configuration", "Removes security restrictions, allows for single-letter passwords": "Removes security restrictions, allows for single-letter passwords", "Reset Settings": "Reset Settings", "Reset VSPC": "Reset VSPC", - "Resident Memory": "Resident Geheugen", + "Resident Memory": "Resident Memory", "Resources": "Resources", - "Resulting daemon arguments:": "Resulterende daemon arguments:", + "Resulting daemon arguments:": "Resulting daemon arguments:", "Rust Wallet SDK": "Rust Wallet SDK", "Rusty Kaspa on GitHub": "Rusty Kaspa on GitHub", - "Secret is too weak": "'Secret' is te zwak", + "Secret is too weak": "Secret is too weak", "Secret score:": "Secret score:", - "Select Account": "Selecteer Account", + "Select Account": "Select Account", "Select Available Server": "Select Available Server", - "Select Private Key Type": "Selecteer Private Key type", + "Select Private Key Type": "Select Private Key Type", "Select Public Node": "Select Public Node", "Select Wallet": "Select Wallet", - "Select a wallet to unlock": "Selecteer een wallet om te ontgrendelen", + "Select a wallet to unlock": "Select a wallet to unlock", + "Select this option if your wallet was created": "Select this option if your wallet was created", "Send": "Send", "Services": "Services", - "Settings": "Instellingen", + "Settings": "Settings", "Show DAA": "Show DAA", "Show Grid": "Show Grid", "Show VSPC": "Show VSPC", "Show balances in alternate currencies for testnet coins": "Show balances in alternate currencies for testnet coins", + "Show passphrase": "Show passphrase", "Show password": "Show password", "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet", - "Skip": "Overslaan", - "Small (10 BPS)": "Klein (10 BPS)", + "Skip": "Skip", + "Small (10 BPS)": "Small (10 BPS)", "Spread": "Spread", - "Stage": "Fase", + "Stage": "Stage", "Starting...": "Starting...", "Statistics": "Statistics", "Stor Read": "Stor Read", @@ -4275,14 +13285,15 @@ "Storage Read/s": "Storage Read/s", "Storage Write": "Storage Write", "Storage Write/s": "Storage Write/s", + "Strong": "Strong", "Submitted Blocks": "Submitted Blocks", "Supporting Kaspa NG development": "Supporting Kaspa NG development", "Syncing Cryptographic Proof...": "Syncing Cryptographic Proof...", "Syncing DAG Blocks...": "Syncing DAG Blocks...", - "Syncing Headers...": "Headers syncen", - "Syncing UTXO entries...": "Syncen van UTXO entries...", + "Syncing Headers...": "Syncing Headers...", + "Syncing UTXO entries...": "Syncing UTXO entries...", "Syncing...": "Syncing...", - "System": "Systeem", + "System": "System", "TPS": "TPS", "Testnet 10": "Testnet 10", "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", @@ -4290,13 +13301,14 @@ "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.", "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.", - "The balance may be out of date during node sync": "Het saldo kan verouderd zijn tijdens het synchroniseren van de node", + "The balance may be out of date during node sync": "The balance may be out of date during node sync", "The following will guide you through the process of creating or importing a wallet.": "The following will guide you through the process of creating or importing a wallet.", "The node is currently syncing with the Kaspa p2p network.": "The node is currently syncing with the Kaspa p2p network.", - "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "De node synchroniseert momenteel met het Kaspa p2p-netwerk. Accountbalansen kunnen verouderd zijn.", - "The node is spawned as a child daemon process (recommended).": "De node is gespawned als een child daemon proces (aangeraden).", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.", + "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).", - "Theme Color": "Thema kleur", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Theme Color", "Theme Color:": "Theme Color:", "Theme Style": "Theme Style", "Theme Style:": "Theme Style:", @@ -4307,27 +13319,28 @@ "Tools ⏷": "Tools ⏷", "Total Rx": "Total Rx", "Total Rx/s": "Total Rx/s", - "Total Tx": "Totale Tx", + "Total Tx": "Total Tx", "Total Tx/s": "Total Tx/s", - "Track in the background": "Tracken op de achtergrond", - "Transactions": "Transacties", - "Transactions:": "Transacties:", + "Track in the background": "Track in the background", + "Transactions": "Transactions", + "Transactions:": "Transactions:", "Type": "Type", "UTXO Manager": "UTXO Manager", "UTXOs": "UTXOs", "UTXOs:": "UTXOs:", "Unable to change node settings until the problem is resolved": "Unable to change node settings until the problem is resolved", "Unlock": "Unlock", - "Unlock Wallet": "Wallet ontgrendelen", - "Unlocking": "Unlocken", + "Unlock Wallet": "Unlock Wallet", + "Unlocking": "Unlocking", "Update Available to version": "Update Available to version", - "Updating...": "Bijwerken...", + "Updating...": "Updating...", "Uptime:": "Uptime:", - "Use 50%-75% of available system memory": "Gebruik 50%-75% van het beschikbare systeemgeheugen", + "Use 50%-75% of available system memory": "Use 50%-75% of available system memory", "Use all available system memory": "Use all available system memory", "User Agent": "User Agent", - "User Interface": "Gebruikersinterface", - "Very dangerous (may be cracked within few seconds)": "Zeer gevaarlijk (kan binnen enkele seconden worden gekraakt)", + "User Interface": "User Interface", + "Very dangerous (may be cracked within few seconds)": "Very dangerous (may be cracked within few seconds)", + "Very weak": "Very weak", "Virt Parents": "Virt Parents", "Virtual DAA Score": "Virtual DAA Score", "Virtual Memory": "Virtual Memory", @@ -4336,26 +13349,29 @@ "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", "Wallet": "Wallet", "Wallet Created": "Wallet Created", - "Wallet Encryption Password": "Wallet Versleutelingswachtwoord ", + "Wallet Encryption Password": "Wallet Encryption Password", "Wallet Name": "Wallet Name", "Wallet Secret": "Wallet Secret", "Wallet password is used to encrypt your wallet data.": "Wallet password is used to encrypt your wallet data.", + "Wallet with this name already exists": "Wallet with this name already exists", "Wallet:": "Wallet:", "We greatly appreciate your help in backing our efforts.": "We greatly appreciate your help in backing our efforts.", - "Welcome to Kaspa NG": "Welkom bij Kaspa NG", + "Weak": "Weak", + "Welcome to Kaspa NG": "Welcome to Kaspa NG", "Xpub Keys": "Xpub Keys", - "You are currently not connected to the Kaspa node.": "Je bent momenteel niet verbonden met de Kaspa-node.", - "You can configure remote connection in Settings": "Je kunt de externe verbinding configureren in Instellingen", + "You are currently not connected to the Kaspa node.": "You are currently not connected to the Kaspa node.", + "You can configure remote connection in Settings": "You can configure remote connection in Settings", "You can create multiple wallets, but only one wallet can be open at a time.": "You can create multiple wallets, but only one wallet can be open at a time.", "You must be connected to a node...": "You must be connected to a node...", "Your default wallet private key mnemonic is:": "Your default wallet private key mnemonic is:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", "Your private key mnemonic is:": "Your private key mnemonic is:", - "Your wallet has been created and is ready to use.": "Je wallet is aangemaakt en klaar voor gebruik.", + "Your wallet has been created and is ready to use.": "Your wallet has been created and is ready to use.", "Zoom": "Zoom", "amount to send": "amount to send", - "bye!": "tot ziens!", - "gRPC Network Interface & Port": "gRPC Netwerkinterface & Poort", + "bye!": "bye!", + "gRPC Network Interface & Port": "gRPC Network Interface & Port", "gRPC Rx": "gRPC Rx", "gRPC Rx/s": "gRPC Rx/s", "gRPC Tx": "gRPC Tx", @@ -4368,1581 +13384,2160 @@ "p2p Tx/s": "p2p Tx/s", "peer": "peer", "peers": "peers", - "wRPC Borsh Rx": "wRPC Borsh Rx/s", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", - "wRPC Borsh Tx": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", - "wRPC Connection Settings": "wRPC Verbindingsinstellingen", - "wRPC Encoding:": "wRPC-codering", + "wRPC Connection Settings": "wRPC Connection Settings", + "wRPC Encoding:": "wRPC Encoding:", "wRPC JSON Rx": "wRPC JSON Rx", "wRPC JSON Rx/s": "wRPC JSON Rx/s", "wRPC JSON Tx": "wRPC JSON Tx", "wRPC JSON Tx/s": "wRPC JSON Tx/s", - "wRPC URL:": "wRPC URL:" + "wRPC URL:": "wRPC URL:", + "words": "words" }, - "no": {}, - "pa": {}, - "pl": { - "1 BPS test network": "sieć testowa 1 BPS", - "10 BPS test network": "sieć testowa 10 BPS", - "12 word mnemonic": "Mnemonik składający się z 12 słów", - "24 word mnemonic": "Mnemonik składający się z 24 słów", - "24h Change": "Zmiana 24h", - "A binary at another location is spawned a child process (experimental, for development purposes only).": "Plik binarny w innej lokalizacji jest generowany jako proces potomny (eksperymentalny, wyłącznie do celów programistycznych).", - "A random node will be selected on startup": "Podczas uruchamiania zostanie wybrany losowy węzeł", - "A wallet is stored in a file on your computer.": "Portfel przechowywany w pliku na Twoim komputerze.", - "Account Index": "Indeks konta", - "Account Name": "Nazwa konta", - "Account:": "Konto:", - "Activate custom daemon arguments": "Aktywuj niestandardowe argumenty demona", - "Active p2p Peers": "Aktywni partnerzy p2p", - "Address derivation scan": "Skanowanie wyprowadzania adresu", - "Address:": "Adres:", - "Advanced": "Zaawansowane", - "All": "Wszystko", - "Allow custom arguments for the Rusty Kaspa daemon": "Zezwalaj na niestandardowe argumenty dla demona Rusty Kaspa", - "Allows you to take screenshots from within the application": "Umożliwia wykonywanie zrzutów ekranu z poziomu aplikacji", - "Apply": "Zastosuj", - "Balance: N/A": "Saldo: nie dostępne", - "Bandwidth": "Przepustowość łącza", - "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Ze względu na skupienie się na bezpieczeństwie i wydajności, oprogramowanie to zostało w całości opracowane w języku Rust, co wymaga znacznie więcej czasu i wysiłku w porównaniu do innych tradycyjnych, nowoczesnych programów internetowych.", - "Bezier Curves": "Krzywe Beziera", - "Block DAG": "Zablokuj DAG", - "Block Scale": "Skala blokowa", - "Blocks": "Bloki", - "Bodies": "Ciała", - "Borsh Active Connections": "Aktywne połączenia Borsh", - "Borsh Connection Attempts": "Próby połączenia Borsha", - "Borsh Handshake Failures": "Błędy Handshake Borsha", - "Build": "Wersja", - "CONNECTED": "POŁĄCZONY", + "ta": {}, + "te": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS test network", + "10 BPS test network": "10 BPS test network", + "12 word mnemonic": "12 word mnemonic", + "24 word mnemonic": "24 word mnemonic", + "24h Change": "24h Change", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "A binary at another location is spawned a child process (experimental, for development purposes only).", + "A random node will be selected on startup": "A random node will be selected on startup", + "A wallet is stored in a file on your computer.": "A wallet is stored in a file on your computer.", + "Account Index": "Account Index", + "Account Name": "Account Name", + "Account:": "Account:", + "Activate custom daemon arguments": "Activate custom daemon arguments", + "Active p2p Peers": "Active p2p Peers", + "Address derivation scan": "Address derivation scan", + "Address:": "Address:", + "Advanced": "Advanced", + "Advanced Options": "Advanced Options", + "All": "All", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Allow custom arguments for the Rusty Kaspa daemon", + "Allows you to take screenshots from within the application": "Allows you to take screenshots from within the application", + "Apply": "Apply", + "Balance: N/A": "Balance: N/A", + "Bandwidth": "Bandwidth", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.", + "Bezier Curves": "Bezier Curves", + "Block DAG": "Block DAG", + "Block Scale": "Block Scale", + "Blocks": "Blocks", + "Bodies": "Bodies", + "Borsh Active Connections": "Borsh Active Connections", + "Borsh Connection Attempts": "Borsh Connection Attempts", + "Borsh Handshake Failures": "Borsh Handshake Failures", + "Build": "Build", + "CONNECTED": "CONNECTED", "CPU": "CPU", - "Cache Memory Size": "Rozmiar pamięci podręcznej", - "Cache Memory Size:": "Rozmiar pamięci podręcznej:", - "Cancel": "Anuluj", - "Cannot delete data folder while the node is running": "Nie można usunąć folderu danych, gdy węzeł jest uruchomiony", - "Capture a screenshot": "Zrób zrzut ekranu", - "Center VSPC": "Centrum VSPC", - "Chain Blocks": "Bloki łańcuchowe", - "Change Address": "Zmiana adresu", - "Check for Software Updates on GitHub": "Sprawdź dostępność aktualizacji oprogramowania w GitHub", - "Check for Updates": "Sprawdź aktualizacje", - "Clear": "Wyczyść", - "Click to try another server...": "Kliknij by wybrać inny serwer...", - "Client RPC": "Klient RPC", - "Close": "Zamknij", - "Confirm wallet password": "Potwierdź hasło do portfela", - "Connect to a local node (localhost)": "Połącz się z węzłem lokalnym (localhost)", - "Connecting to": "Łączenie z", - "Connection": "Połączono", - "Connections": "Połączenia", - "Connects to a Remote Rusty Kaspa Node via wRPC.": "Łączy się ze zdalnym węzłem Rusty Kaspa za pośrednictwem wRPC.", - "Conservative": "Konserwatywny", - "Continue": "Kontynuuj", - "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Wkład w ten projekt bezpośrednio napędza oprogramowanie Kaspa NG i jego ekosystem.", - "Copied to clipboard": "Skopiowane do schowka", - "Copy": "Kopiuj", - "Copy logs to clipboard": "Skopiuj logi do schowka", - "Create New Account": "Stwórz nowe konto", - "Create New Wallet": "Utwórz nowy portfel", - "Create new wallet": "Utwórz nowy portfel", - "Creating Account": "Tworzenie konta", - "Creating Wallet": "Tworzenie portfela", - "Custom": "Niestandardowe", - "Custom Public Node": "Niestandardowy węzeł publiczny", - "Custom arguments:": "Argumenty niestandardowe:", + "Cache Memory Size": "Cache Memory Size", + "Cache Memory Size:": "Cache Memory Size:", + "Cancel": "Cancel", + "Cannot delete data folder while the node is running": "Cannot delete data folder while the node is running", + "Capture a screenshot": "Capture a screenshot", + "Center VSPC": "Center VSPC", + "Chain Blocks": "Chain Blocks", + "Change Address": "Change Address", + "Check for Software Updates on GitHub": "Check for Software Updates on GitHub", + "Check for Updates": "Check for Updates", + "Clear": "Clear", + "Click to try another server...": "Click to try another server...", + "Client RPC": "Client RPC", + "Close": "Close", + "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Confirm wallet password", + "Connect to a local node (localhost)": "Connect to a local node (localhost)", + "Connecting to": "Connecting to", + "Connection": "Connection", + "Connections": "Connections", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Connects to a Remote Rusty Kaspa Node via wRPC.", + "Conservative": "Conservative", + "Continue": "Continue", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.", + "Copied to clipboard": "Copied to clipboard", + "Copy": "Copy", + "Copy logs to clipboard": "Copy logs to clipboard", + "Create New Account": "Create New Account", + "Create New Wallet": "Create New Wallet", + "Create Wallet": "Create Wallet", + "Create new wallet": "Create new wallet", + "Creating Account": "Creating Account", + "Creating Wallet": "Creating Wallet", + "Custom": "Custom", + "Custom Public Node": "Custom Public Node", + "Custom arguments:": "Custom arguments:", + "Custom data storage folder": "Custom data storage folder", "DAA": "DAA", - "DAA Offset": "Przesunięcie DAA", - "DAA Range": "Zakres DAA", - "DB Blocks": "Bloki DB", - "DB Headers": "Nagłówki DB", - "Database Blocks": "Bloki baz danych", - "Database Headers": "Nagłówki bazy danych", - "Decrypting wallet, please wait...": "Odszyfrowywanie portfela, proszę czekać...", - "Default": "Domyślny", - "Default Account Name": "Domyślna nazwa konta", - "Delete Data Folder": "Usuń folder danych", - "Dependencies": "Zależności", - "Derivation Indexes": "Indeksy pochodne", - "Details": "Szczegóły", - "Developer Mode": "Tryb dewelopera", - "Developer Resources": "Zasoby dla programistów", - "Developer mode enables advanced and experimental features": "Tryb programisty umożliwia korzystanie z zaawansowanych i eksperymentalnych funkcji", - "Difficulty": "Trudność", - "Dimensions": "Wymiary", - "Disable password score restrictions": "Wyłącz ograniczenia punktacji hasła", - "Disabled": "Wyłączony", - "Disables node connectivity (Offline Mode).": "Wyłącza łączność węzła (tryb offline).", + "DAA Offset": "DAA Offset", + "DAA Range": "DAA Range", + "DB Blocks": "DB Blocks", + "DB Headers": "DB Headers", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", + "Database Blocks": "Database Blocks", + "Database Headers": "Database Headers", + "Decrypting wallet, please wait...": "Decrypting wallet, please wait...", + "Default": "Default", + "Default Account Name": "Default Account Name", + "Delete Data Folder": "Delete Data Folder", + "Dependencies": "Dependencies", + "Derivation Indexes": "Derivation Indexes", + "Details": "Details", + "Developer Mode": "Developer Mode", + "Developer Resources": "Developer Resources", + "Developer mode enables advanced and experimental features": "Developer mode enables advanced and experimental features", + "Difficulty": "Difficulty", + "Dimensions": "Dimensions", + "Disable password safety rules": "Disable password safety rules", + "Disabled": "Disabled", + "Disables node connectivity (Offline Mode).": "Disables node connectivity (Offline Mode).", "Discord": "Discord", - "Donations": "Darowizny", - "Double click on the graph to re-center...": "Kliknij dwukrotnie wykres, aby ponownie wyśrodkować...", + "Donations": "Donations", + "Double click on the graph to re-center...": "Double click on the graph to re-center...", "ECDSA": "ECDSA", - "Enable Market Monitor": "Włącz Monitor rynku", - "Enable UPnP": "Włącz UPnP", - "Enable custom daemon arguments": "Włącz niestandardowe argumenty demona", - "Enable experimental features": "Włącz funkcje eksperymentalne", - "Enable gRPC": "Włącz gRPC", - "Enable optional BIP39 passphrase": "Włącz opcjonalne hasło BIP39", - "Enable screen capture": "Włącz przechwytywanie ekranu", - "Enables features currently in development": "Włącza funkcje testowe - aktualnie opracowywane", + "Enable Market Monitor": "Enable Market Monitor", + "Enable UPnP": "Enable UPnP", + "Enable custom daemon arguments": "Enable custom daemon arguments", + "Enable experimental features": "Enable experimental features", + "Enable gRPC": "Enable gRPC", + "Enable optional BIP39 passphrase": "Enable optional BIP39 passphrase", + "Enable screen capture": "Enable screen capture", + "Enables features currently in development": "Enables features currently in development", "Enter": "Enter", - "Enter account name (optional)": "Wpisz nazwę konta (opcjonalnie)", - "Enter first account name": "Wpisz pierwszą nazwę konta", - "Enter phishing hint": "Wpisz wskazówkę dotyczącą phishingu", - "Enter the amount": "Wprowadź kwotę", - "Enter the password for your wallet": "Wpisz hasło do swojego portfela", - "Enter the password to unlock your wallet": "Wprowadź hasło, aby odblokować swój portfel", - "Enter wallet name": "Wpisz nazwę portfela", - "Enter wallet password": "Wprowadź hasło do portfela", - "Enter your wallet secret": "Wprowadź sekret swojego portfela", - "Explorer": "Eksplorator", - "Export Wallet Data": "Eksportuj dane portfela", - "Faucet": "Kran", - "File Handles": "Uchwyty plików", - "Filename:": "Nazwa pliku:", - "Final Amount:": "Końcowa kwota:", - "GitHub Release": "Wydanie GitHuba", - "Go to Settings": "Przejdź do ustawień", - "Handles": "Uchwyty", - "Headers": "Nagłówki", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Enter account name (optional)", + "Enter first account name": "Enter first account name", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Enter phishing hint", + "Enter the amount": "Enter the amount", + "Enter the password for your wallet": "Enter the password for your wallet", + "Enter the password to unlock your wallet": "Enter the password to unlock your wallet", + "Enter wallet name": "Enter wallet name", + "Enter wallet password": "Enter wallet password", + "Enter your wallet secret": "Enter your wallet secret", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorer", + "Export Wallet Data": "Export Wallet Data", + "Faucet": "Faucet", + "File Handles": "File Handles", + "Filename:": "Filename:", + "Final Amount:": "Final Amount:", + "Full Screen": "Full Screen", + "GitHub Release": "GitHub Release", + "Go to Settings": "Go to Settings", + "Good": "Good", + "Handles": "Handles", + "Headers": "Headers", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", "IBD:": "IBD:", - "If not specified, the account will be represented by the numeric id.": "Jeśli nie zostanie określony, konto będzie reprezentowane przez identyfikator numeryczny.", - "If you are running locally, use: ": "Jeśli używasz lokalnie, użyj: ", - "Import existing": "Importuj istniejące", - "Inbound": "Przychodzące", - "Include QoS Priority Fees": "Uwzględnij opłaty za priorytet QoS", - "Integrated Daemon": "Zintegrowany demon", - "Invalid daemon arguments": "Nieprawidłowe argumenty demona", - "Invalid network type - expected: testnet-10 connected to: testnet-11": "Nieprawidłowy typ sieci - oczekiwano: testnet-10 podłączony do: testnet-11", - "Invalid wRPC URL": "Nieprawidłowy adres URL wRPC", - "Json Active Connections": "Aktywne połączenia Jsona", - "Json Connection Attempts": "Próby połączenia Json", - "Json Handshake Failures": "Błędy Handshake Json", - "Kaspa Discord": "Discord Kaspy", - "Kaspa Integration Guide": "Przewodnik integracji Kaspy", + "If not specified, the account will be represented by the numeric id.": "If not specified, the account will be represented by the numeric id.", + "If you are running locally, use: ": "If you are running locally, use: ", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Import existing", + "Importing Wallet": "Importing Wallet", + "Inbound": "Inbound", + "Include QoS Priority Fees": "Include QoS Priority Fees", + "Integrated Daemon": "Integrated Daemon", + "Invalid daemon arguments": "Invalid daemon arguments", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Invalid network type - expected: testnet-10 connected to: testnet-11", + "Invalid wRPC URL": "Invalid wRPC URL", + "Json Active Connections": "Json Active Connections", + "Json Connection Attempts": "Json Connection Attempts", + "Json Handshake Failures": "Json Handshake Failures", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Kaspa Integration Guide", "Kaspa NG": "Kaspa NG", "Kaspa NG Online": "Kaspa NG Online", - "Kaspa NG Web App": "Aplikacja internetowa Kaspa NG", - "Kaspa NG on GitHub": "Kaspa NG na GitHubie", + "Kaspa NG Web App": "Kaspa NG Web App", + "Kaspa NG on GitHub": "Kaspa NG on GitHub", "Kaspa NG online": "Kaspa NG online", - "Kaspa Network": "Sieć Kaspa", - "Kaspa Node": "Węzeł Kaspa", - "Kaspa p2p Network & Node Connection": "Sieć p2p Kaspa oraz połączenie z węzłem", - "Kaspa p2p Node": "Węzeł Kaspa p2p", - "Kaspa p2p Node & Connection": "Węzeł Kaspa p2p", - "Key Perf.": "Kluczowa wydajność", - "Language:": "Język:", - "Large (1 BPS)": "Duży (1 BPS)", - "Levels": "Poziomy", - "License Information": "Informacje o licencji", - "Local": "Lokalny", - "Local p2p Node Configuration": "Konfiguracja lokalnego węzła p2p", - "Logs": "Dzienniki", + "Kaspa Network": "Kaspa Network", + "Kaspa Node": "Kaspa Node", + "Kaspa p2p Network & Node Connection": "Kaspa p2p Network & Node Connection", + "Kaspa p2p Node": "Kaspa p2p Node", + "Kaspa p2p Node & Connection": "Kaspa p2p Node & Connection", + "Key Perf.": "Key Perf.", + "Language:": "Language:", + "Large (1 BPS)": "Large (1 BPS)", + "Levels": "Levels", + "License Information": "License Information", + "Local": "Local", + "Local p2p Node Configuration": "Local p2p Node Configuration", + "Logs": "Logs", "MT": "MT", - "Main Kaspa network": "Główna sieć Kaspa", - "Mainnet": "Sieć główna", - "Mainnet (Main Kaspa network)": "Mainnet (główna sieć Kaspa)", - "Managed by the Rusty Kaspa daemon": "Zarządzany przez demona Rusty Kaspa", - "Market": "Rynek", - "Market Cap": "Kapitalizacja rynkowa", - "Market Monitor": "Monitor rynku", - "Mass Processed": "Przetworzone masowo", - "Medium Narrow": "Średnio wąski", - "Medium Wide": "Średnio szeroki", - "Memory": "Pamięć", - "Mempool": "Pamięć", - "Mempool Size": "Rozmiar pamięci", - "Metrics": "Metryka", - "Metrics are not currently available": "Dane nie są obecnie dostępne", - "NPM Modules for NodeJS": "Moduły NPM dla NodeJS", - "Network": "Sieć", - "Network Difficulty": "Trudność sieci", - "Network Fees:": "Opłaty sieciowe:", - "Network Interface": "Interfejs sieciowy", - "Network Peers": "Peers Sieci", - "No peers": "Brak Peers", - "No public node selected - please select a public node": "Nie wybrano węzła publicznego — wybierz węzeł publiczny", - "No transactions": "Brak transakcji", - "No wallets found, please create a new wallet": "Nie znaleziono portfeli, proszę utworzyć nowy.", - "Node": "Węzeł", - "Node Status": "Stan węzła", - "Noise": "Hałas", - "None": "Brak", - "Not Connected": "Nie połączony", - "Not connected": "Nie połączony", - "Notifications": "Powiadomienia", - "Open Data Folder": "Otwórz folder danych", - "Opening wallet:": "Otwieranie portfela:", - "Optional": "Opcjonalny", - "Other operations": "Inne operacje", - "Outbound": "Wychodzące", - "Overview": "Przegląd", - "Parents": "Rodzice", - "Past Median Time": "Przeszły średni czas", - "Payment & Recovery Password": "Zapłata", - "Payment Request": "Żądanie zapłaty", + "Main Kaspa network": "Main Kaspa network", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (Main Kaspa network)", + "Managed by the Rusty Kaspa daemon": "Managed by the Rusty Kaspa daemon", + "Market": "Market", + "Market Cap": "Market Cap", + "Market Monitor": "Market Monitor", + "Mass Processed": "Mass Processed", + "Maximize window": "Maximize window", + "Medium Narrow": "Medium Narrow", + "Medium Wide": "Medium Wide", + "Memory": "Memory", + "Mempool": "Mempool", + "Mempool Size": "Mempool Size", + "Metrics": "Metrics", + "Metrics are not currently available": "Metrics are not currently available", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM Modules for NodeJS", + "Network": "Network", + "Network Difficulty": "Network Difficulty", + "Network Fees:": "Network Fees:", + "Network Interface": "Network Interface", + "Network Peers": "Network Peers", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "No peers", + "No public node selected - please select a public node": "No public node selected - please select a public node", + "No transactions": "No transactions", + "No wallets found, please create a new wallet": "No wallets found, please create a new wallet", + "Node": "Node", + "Node Status": "Node Status", + "Noise": "Noise", + "None": "None", + "Not Connected": "Not Connected", + "Not connected": "Not connected", + "Notifications": "Notifications", + "Open Data Folder": "Open Data Folder", + "Opening wallet:": "Opening wallet:", + "Optional": "Optional", + "Other operations": "Other operations", + "Outbound": "Outbound", + "Overview": "Overview", + "Parents": "Parents", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Past Median Time", + "Payment & Recovery Password": "Payment & Recovery Password", + "Payment Request": "Payment Request", "Peers": "Peers", - "Performance": "Wydajność", - "Phishing Hint": "Wskazówka dotycząca phishingu", + "Performance": "Performance", + "Phishing Hint": "Phishing Hint", "Ping:": "Ping:", - "Please Confirm Deletion": "Proszę potwierdzić usunięcie", - "Please configure your Kaspa NG settings": "Proszę skonfigurować ustawienia Kaspa NG", - "Please connect to Kaspa p2p node": "Proszę połączyć się z węzłem p2p Kaspa", - "Please create a stronger password": "Utwórz silniejsze hasło", - "Please enter": "Podaj", - "Please enter KAS amount to send": "Proszę wpisać kwotę KAS do wysłania", - "Please enter an amount": "Proszę wpisać kwotę", - "Please enter the account name": "Proszę wpisać nazwę konta", - "Please enter the wallet secret": "Proszę podać sekret portfela", - "Please note that this is a beta release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Należy pamiętać, że jest to wersja alfa. Do momentu usunięcia tej wiadomości nie łącz portfela z Mainnet.", - "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Pamiętaj, że kopiowanie do schowka niesie ze sobą ryzyko narażenia Twojego mnemonika na złośliwe oprogramowanie.", - "Please select an account type": "Proszę wybrać typ konta", - "Please select the private key to export": "Wybierz klucz prywatny do wyeksportowania", - "Please set node to 'Disabled' to delete the data folder": "Aby usunąć folder danych, ustaw węzeł na 'Wyłączony'.", - "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Proszę podać nazwę konta domyślnego. ", - "Please specify the name of the new wallet": "Podaj nazwę nowego portfela", - "Please specify the private key type for the new wallet": "Proszę określić typ klucza prywatnego dla nowego portfela", - "Please wait for the node to sync or connect to a remote node.": "Poczekaj, aż węzeł się zsynchronizuje lub połączy się z węzłem zdalnym.", - "Please wait for the node to sync...": "Poczekaj, aż węzeł się zsynchronizuje...", - "Please wait...": "Proszę czekać...", - "Presets": "Ustawienia wstępne", - "Price": "Cena", - "Private Key Mnemonic": "Mnemonik klucza prywatnego", - "Processed Bodies": "Przetworzone ciała", - "Processed Dependencies": "Przetworzone zależności", - "Processed Headers": "Przetworzone nagłówki", - "Processed Mass Counts": "Liczniki przetworzonej masy", - "Processed Transactions": "Przetworzone transakcje", - "Protocol:": "Protokół:", - "Public Node": "Węzeł publiczny", - "Public Nodes": "Węzły publiczne", - "Public Server": "Serwer publiczny", - "Public p2p Nodes for": "Publiczne węzły p2p dla", - "Random Public Node": "Losowy węzeł publiczny", - "Range:": "Zakres:", - "Receive Address": "Adres do odbioru", - "Recommended arguments for the remote node: ": "Zalecane argumenty dla zdalnego węzła: ", - "Remote": "Zdalny", - "Remote Connection:": "Zdalne połączenie:", - "Remote p2p Node Configuration": "Zdalna konfiguracja węzła p2p", - "Removes security restrictions, allows for single-letter passwords": "Usuwa ograniczenia bezpieczeństwa, umożliwia stosowanie haseł jednoliterowych", - "Reset Settings": "Resetowanie ustawień", - "Reset VSPC": "Zresetuj VSPC", - "Resident Memory": "Pamięć rezydenta", - "Resources": "Zasoby", - "Resulting daemon arguments:": "Wynikowe argumenty demona:", - "Rust Wallet SDK": "Pakiet SDK portfela Rust", - "Rusty Kaspa on GitHub": "Rusty Kaspa na GitHubie", - "Secret is too weak": "Sekret jest za słaby", - "Secret score:": "Sekretny wynik:", - "Select Account": "Wybierz Konto", - "Select Available Server": "Wybierz Dostępny serwer", - "Select Private Key Type": "Wybierz Typ klucza prywatnego", - "Select Public Node": "Wybierz węzeł publiczny", - "Select Wallet": "Wybierz Portfel", - "Select a wallet to unlock": "Wybierz portfel do odblokowania", - "Send": "Wyślij", - "Services": "Usługi", - "Settings": "Ustawienia", - "Show DAA": "Pokaż DAA", - "Show Grid": "Pokaż siatkę", - "Show VSPC": "Pokaż VSPC", - "Show balances in alternate currencies for testnet coins": "Pokaż salda w alternatywnych walutach dla monet testnetowych", - "Show password": "Pokaż hasło", - "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Pokazuje salda w alternatywnych walutach (BTC, USD) podczas korzystania z monet testnetowych, tak jakbyś był w sieci głównej", - "Skip": "Pomiń", - "Small (10 BPS)": "Mały (10 BPS)", - "Spread": "Rozpowszechnienie", - "Stage": "Scena", - "Starting...": "Startowy...", - "Statistics": "Statystyka", - "Stor Read": "Odczyty dysku", - "Stor Write": "Zapisy dysku", - "Storage": "Dysk", - "Storage Read": "Odczyty pamięci", - "Storage Read/s": "Pamięć Odczyt/s", - "Storage Write": "Zapis do pamięci", - "Storage Write/s": "Pamięć Zapis/s", - "Submitted Blocks": "Przesłane bloki", - "Supporting Kaspa NG development": "Wspieranie rozwoju Kaspa NG", - "Syncing Cryptographic Proof...": "Synchronizowanie dowodu kryptograficznego...", - "Syncing DAG Blocks...": "Synchronizowanie bloków DAG...", - "Syncing Headers...": "Synchronizowanie nagłówków...", - "Syncing UTXO entries...": "Synchronizowanie wpisów UTXO...", - "Syncing...": "Synchronizowanie...", + "Please Confirm Deletion": "Please Confirm Deletion", + "Please configure your Kaspa NG settings": "Please configure your Kaspa NG settings", + "Please connect to Kaspa p2p node": "Please connect to Kaspa p2p node", + "Please create a stronger password": "Please create a stronger password", + "Please enter": "Please enter", + "Please enter KAS amount to send": "Please enter KAS amount to send", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Please enter an amount", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Please enter the account name", + "Please enter the wallet secret": "Please enter the wallet secret", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.", + "Please select an account type": "Please select an account type", + "Please select the private key to export": "Please select the private key to export", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Please set node to 'Disabled' to delete the data folder", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.", + "Please specify the name of the new wallet": "Please specify the name of the new wallet", + "Please specify the private key type for the new wallet": "Please specify the private key type for the new wallet", + "Please wait for the node to sync or connect to a remote node.": "Please wait for the node to sync or connect to a remote node.", + "Please wait for the node to sync...": "Please wait for the node to sync...", + "Please wait...": "Please wait...", + "Presets": "Presets", + "Price": "Price", + "Private Key Mnemonic": "Private Key Mnemonic", + "Processed Bodies": "Processed Bodies", + "Processed Dependencies": "Processed Dependencies", + "Processed Headers": "Processed Headers", + "Processed Mass Counts": "Processed Mass Counts", + "Processed Transactions": "Processed Transactions", + "Protocol:": "Protocol:", + "Public Node": "Public Node", + "Public Nodes": "Public Nodes", + "Public Server": "Public Server", + "Public p2p Nodes for": "Public p2p Nodes for", + "Random Public Node": "Random Public Node", + "Range:": "Range:", + "Receive Address": "Receive Address", + "Recommended arguments for the remote node: ": "Recommended arguments for the remote node: ", + "Redistributables": "Redistributables", + "Remote": "Remote", + "Remote Connection:": "Remote Connection:", + "Remote p2p Node Configuration": "Remote p2p Node Configuration", + "Removes security restrictions, allows for single-letter passwords": "Removes security restrictions, allows for single-letter passwords", + "Reset Settings": "Reset Settings", + "Reset VSPC": "Reset VSPC", + "Resident Memory": "Resident Memory", + "Resources": "Resources", + "Resulting daemon arguments:": "Resulting daemon arguments:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa on GitHub", + "Secret is too weak": "Secret is too weak", + "Secret score:": "Secret score:", + "Select Account": "Select Account", + "Select Available Server": "Select Available Server", + "Select Private Key Type": "Select Private Key Type", + "Select Public Node": "Select Public Node", + "Select Wallet": "Select Wallet", + "Select a wallet to unlock": "Select a wallet to unlock", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Send", + "Services": "Services", + "Settings": "Settings", + "Show DAA": "Show DAA", + "Show Grid": "Show Grid", + "Show VSPC": "Show VSPC", + "Show balances in alternate currencies for testnet coins": "Show balances in alternate currencies for testnet coins", + "Show passphrase": "Show passphrase", + "Show password": "Show password", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet", + "Skip": "Skip", + "Small (10 BPS)": "Small (10 BPS)", + "Spread": "Spread", + "Stage": "Stage", + "Starting...": "Starting...", + "Statistics": "Statistics", + "Stor Read": "Stor Read", + "Stor Write": "Stor Write", + "Storage": "Storage", + "Storage Read": "Storage Read", + "Storage Read/s": "Storage Read/s", + "Storage Write": "Storage Write", + "Storage Write/s": "Storage Write/s", + "Strong": "Strong", + "Submitted Blocks": "Submitted Blocks", + "Supporting Kaspa NG development": "Supporting Kaspa NG development", + "Syncing Cryptographic Proof...": "Syncing Cryptographic Proof...", + "Syncing DAG Blocks...": "Syncing DAG Blocks...", + "Syncing Headers...": "Syncing Headers...", + "Syncing UTXO entries...": "Syncing UTXO entries...", + "Syncing...": "Syncing...", "System": "System", "TPS": "TPS", - "Testnet 10": "Sieć testowa 10", - "Testnet 10 (1 BPS)": "Sieć testowa 10 (1 BPS)", - "Testnet 11": "Sieć testowa 11", - "Testnet 11 (10 BPS)": "Sieć testowa 11 (10 BPS)", - "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 nie jest jeszcze udostępniony do testów publicznych. Możesz jednak skonfigurować węzeł tak, aby łączył się z prywatną siecią testową w panelu Ustawienia.", - "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Oprogramowanie Kaspa NG reprezentuje ciągły wysiłek skupiony na budowaniu najnowocześniejszej platformy oprogramowania dedykowanej sieci kryptowalut Kaspa BlockDAG. Oprogramowanie to skupia się na bezpieczeństwie, prywatności, wydajności i decentralizacji.", - "The balance may be out of date during node sync": "Saldo może być nieaktualne podczas synchronizacji węzła", - "The following will guide you through the process of creating or importing a wallet.": "Ta instrukcja przeprowadzi Cię przez proces tworzenia lub importowania portfela.", - "The node is currently syncing with the Kaspa p2p network.": "Węzeł aktualnie synchronizuje się z siecią p2p Kaspa.", - "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "Węzeł aktualnie synchronizuje się z siecią p2p Kaspa. ", - "The node is spawned as a child daemon process (recommended).": "Węzeł jest uruchamiany jako proces demona podrzędnego (zalecane).", - "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "Węzeł działa w ramach procesu aplikacyjnego Kaspa-NG. Zmniejsza to obciążenie komunikacyjne (eksperymentalne).", - "Theme Color": "Kolor motywu", - "Theme Color:": "Kolor motywu:", - "Theme Style": "Styl motywu", - "Theme Style:": "Styl motywu:", - "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Ten portfel nigdy nie poprosi Cię o podanie tego mnemonicznego wyrażenia, chyba że ręcznie zainicjujesz odzyskiwanie klucza prywatnego.", - "Threshold": "Próg", - "Time Offset:": "Przesunięcie czasu:", - "Tip Hashes": "Wskazówki Hashe", - "Tools ⏷": "Narzędzia ⏷", - "Total Rx": "Całkowity odbiór", - "Total Rx/s": "Całkowity Rx/s", - "Total Tx": "Całkowity przesył", - "Total Tx/s": "Całkowity Tx/s", - "Track in the background": "Śledź w tle", - "Transactions": "Transakcje", - "Transactions:": "Transakcje:", - "Type": "Typ", - "UTXO Manager": "Menedżer UTXO", - "UTXOs": "UTXO", - "UTXOs:": "UTXO:", - "Unable to change node settings until the problem is resolved": "Nie można zmienić ustawień węzła, dopóki problem nie zostanie rozwiązany", - "Unlock": "Odblokuj", - "Unlock Wallet": "Odblokuj portfel", - "Unlocking": "Odblokowanie", - "Update Available to version": "Aktualizacja Dostępna dla wersji", - "Updating...": "Aktualizowanie...", - "Uptime:": "Czas pracy:", - "Use 50%-75% of available system memory": "Użyj 50%-75% dostępnej pamięci systemowej", - "Use all available system memory": "Wykorzystaj całą dostępną pamięć systemową", - "User Agent": "Agent użytkownika", - "User Interface": "Interfejs użytkownika", - "Very dangerous (may be cracked within few seconds)": "Bardzo niebezpieczne (może zostać złamane w ciągu kilku sekund)", - "Virt Parents": "Virt Rodzice", - "Virtual DAA Score": "Wirtualny wynik DAA", - "Virtual Memory": "Pamięć wirtualna", - "Virtual Parent Hashes": "Wirtualne skróty nadrzędne", - "Volume": "Tom", - "WASM SDK for JavaScript and TypeScript": "WASM SDK dla JavaScript i TypeScript", - "Wallet": "Portfel", - "Wallet Created": "Portfel utworzono", - "Wallet Encryption Password": "Hasło szyfrowania portfela", - "Wallet Name": "Nazwa portfela", - "Wallet Secret": "Sekret portfela", - "Wallet password is used to encrypt your wallet data.": "Hasło do portfela służy do szyfrowania danych portfela.", - "Wallet:": "Portfel:", - "We greatly appreciate your help in backing our efforts.": "Jesteśmy bardzo wdzięczni za pomoc we wsparciu naszych wysiłków.", - "Welcome to Kaspa NG": "Witamy w Kaspa NG", - "Xpub Keys": "Klucze Xpuba", - "You are currently not connected to the Kaspa node.": "Obecnie nie masz połączenia z węzłem Kaspa.", - "You can configure remote connection in Settings": "Połączenie zdalne możesz skonfigurować w Ustawieniach", - "You can create multiple wallets, but only one wallet can be open at a time.": "Możesz utworzyć wiele portfeli, ale jednocześnie może być otwarty tylko jeden.", - "You must be connected to a node...": "Musisz być podłączony do węzła...", - "Your default wallet private key mnemonic is:": "Twój domyślny mnemonik klucza prywatnego portfela to:", - "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Twoja fraza mnemoniczna umożliwia odtworzenie klucza prywatnego. Osoba mająca dostęp do tego mnemonika będzie miała pełną kontrolę nad przechowywaną w nim Kaspą. Chroń swój mnemonik. Zapisz go i przechowuj w sejfie, najlepiej w miejscu ognioodpornym. Nie przechowuj swojego mnemonika na tym komputerze lub urządzeniu mobilnym. Ten portfel nigdy nie poprosi Cię o podanie tego mnemonicznego wyrażenia, chyba że ręcznie zainicjujesz odzyskiwanie klucza prywatnego.", - "Your private key mnemonic is:": "Twój mnemonik klucza prywatnego to:", - "Your wallet has been created and is ready to use.": "Twój portfel został utworzony i jest gotowy do użycia.", - "Zoom": "Powiększenie", - "amount to send": "kwota do wysłania", - "bye!": "do widzenia!", - "gRPC Network Interface & Port": "Interfejs sieciowy gRPC", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.", + "The balance may be out of date during node sync": "The balance may be out of date during node sync", + "The following will guide you through the process of creating or importing a wallet.": "The following will guide you through the process of creating or importing a wallet.", + "The node is currently syncing with the Kaspa p2p network.": "The node is currently syncing with the Kaspa p2p network.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.", + "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Theme Color", + "Theme Color:": "Theme Color:", + "Theme Style": "Theme Style", + "Theme Style:": "Theme Style:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Threshold": "Threshold", + "Time Offset:": "Time Offset:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Tools ⏷", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Track in the background", + "Transactions": "Transactions", + "Transactions:": "Transactions:", + "Type": "Type", + "UTXO Manager": "UTXO Manager", + "UTXOs": "UTXOs", + "UTXOs:": "UTXOs:", + "Unable to change node settings until the problem is resolved": "Unable to change node settings until the problem is resolved", + "Unlock": "Unlock", + "Unlock Wallet": "Unlock Wallet", + "Unlocking": "Unlocking", + "Update Available to version": "Update Available to version", + "Updating...": "Updating...", + "Uptime:": "Uptime:", + "Use 50%-75% of available system memory": "Use 50%-75% of available system memory", + "Use all available system memory": "Use all available system memory", + "User Agent": "User Agent", + "User Interface": "User Interface", + "Very dangerous (may be cracked within few seconds)": "Very dangerous (may be cracked within few seconds)", + "Very weak": "Very weak", + "Virt Parents": "Virt Parents", + "Virtual DAA Score": "Virtual DAA Score", + "Virtual Memory": "Virtual Memory", + "Virtual Parent Hashes": "Virtual Parent Hashes", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", + "Wallet": "Wallet", + "Wallet Created": "Wallet Created", + "Wallet Encryption Password": "Wallet Encryption Password", + "Wallet Name": "Wallet Name", + "Wallet Secret": "Wallet Secret", + "Wallet password is used to encrypt your wallet data.": "Wallet password is used to encrypt your wallet data.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Wallet:", + "We greatly appreciate your help in backing our efforts.": "We greatly appreciate your help in backing our efforts.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Welcome to Kaspa NG", + "Xpub Keys": "Xpub Keys", + "You are currently not connected to the Kaspa node.": "You are currently not connected to the Kaspa node.", + "You can configure remote connection in Settings": "You can configure remote connection in Settings", + "You can create multiple wallets, but only one wallet can be open at a time.": "You can create multiple wallets, but only one wallet can be open at a time.", + "You must be connected to a node...": "You must be connected to a node...", + "Your default wallet private key mnemonic is:": "Your default wallet private key mnemonic is:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Your private key mnemonic is:": "Your private key mnemonic is:", + "Your wallet has been created and is ready to use.": "Your wallet has been created and is ready to use.", + "Zoom": "Zoom", + "amount to send": "amount to send", + "bye!": "bye!", + "gRPC Network Interface & Port": "gRPC Network Interface & Port", "gRPC Rx": "gRPC Rx", "gRPC Rx/s": "gRPC Rx/s", "gRPC Tx": "gRPC Tx", "gRPC Tx/s": "gRPC Tx/s", - "of": "z", - "p2p RPC": "p2pRPC", - "p2p Rx": "odbiór p2p", + "of": "of", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", "p2p Rx/s": "p2p Rx/s", "p2p Tx": "p2p Tx", - "p2p Tx/s": "p2p Transmisja/s", + "p2p Tx/s": "p2p Tx/s", "peer": "peer", "peers": "peers", - "wRPC Borsh Rx": "Odbiór wRPC Borsh", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", - "wRPC Borsh Tx": "Wysyłka wRPC Borsh", + "wRPC Borsh Tx": "wRPC Borsh Tx", "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", - "wRPC Connection Settings": "Ustawienia połączenia wRPC", - "wRPC Encoding:": "Kodowanie wRPC:", - "wRPC JSON Rx": "Odbiór wRPC JSON", + "wRPC Connection Settings": "wRPC Connection Settings", + "wRPC Encoding:": "wRPC Encoding:", + "wRPC JSON Rx": "wRPC JSON Rx", "wRPC JSON Rx/s": "wRPC JSON Rx/s", - "wRPC JSON Tx": "Wysyłka wRPC JSON", + "wRPC JSON Tx": "wRPC JSON Tx", "wRPC JSON Tx/s": "wRPC JSON Tx/s", - "wRPC URL:": "Adres URL wRPC:" - }, - "pt": {}, - "ro": { - "1 BPS test network": "1 BPS rețea de test", - "10 BPS test network": "Rețea de testare 10 BPS", - "12 word mnemonic": "Mnemonic de 12 cuvinte", - "24 word mnemonic": "Mnemonic de 24 de cuvinte", - "24h Change": "Schimbare în ultimele 24 de ore", - "A binary at another location is spawned a child process (experimental, for development purposes only).": "Un binar dintr-o altă locație este generat de un proces copil (experimental, numai în scopuri de dezvoltare).", - "A random node will be selected on startup": "La pornire, va fi selectat un nod aleatoriu", - "A wallet is stored in a file on your computer.": "Un portofel este stocat într-un fișier pe computerul tău.", - "Account Index": "Index Cont", - "Account Name": "Nume Cont", - "Account:": "Cont:", - "Activate custom daemon arguments": "Activați argumentele personalizate ale daemonului", - "Active p2p Peers": "Perechi p2p active", - "Address derivation scan": "Scanează derivarea adreselor", - "Address:": "Adresă:", - "Advanced": "Avansat", - "All": "Tot", - "Allow custom arguments for the Rusty Kaspa daemon": "Permiteți argumente personalizate pentru daemonul Rusty Kaspa", - "Allows you to take screenshots from within the application": "Vă permite să realizați capturi de ecran din interiorul aplicației", - "Apply": "Aplică", - "Balance: N/A": "Balanță: N/A", - "Bandwidth": "Lățime de bandă", - "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Datorită accentului său pe securitate și performanță, acest software este dezvoltat în întregime în Rust, cerând semnificativ mai mult timp și efort în comparație cu alte software-uri moderne tradiționale bazate pe aplicații web.", - "Bezier Curves": "Curbe Bézier", - "Block DAG": "Block DAG", - "Block Scale": "Scală de Blocuri", - "Blocks": "Blocks", - "Bodies": "Bodies", - "Borsh Active Connections": "Conexiuni Active Borsh", - "Borsh Connection Attempts": "Încercări de Conexiune Borsh", - "Borsh Handshake Failures": "Eșecuri de Protocol Borsh Handshake", - "Build": "Construiește", - "CONNECTED": "CONECTAT", - "CPU": "Procesor", - "Cache Memory Size": "Mărimea Memoriei Cache", - "Cache Memory Size:": "Marimea Memoriei Cache", - "Cancel": "Anulează", - "Cannot delete data folder while the node is running": "Folderul de date nu poate fi șters în timp ce node-ul este pornit", - "Capture a screenshot": "Capturați o captură de ecran", - "Center VSPC": "Center VSPC", - "Chain Blocks": "Blocuri din lanț", - "Change Address": "Schimbă adresa", - "Check for Software Updates on GitHub": "Verificați actualizările de software pe GitHub", - "Check for Updates": "Verifică pentru actualizări", - "Clear": "Șterge", - "Click to try another server...": "Apasă pentru a încerca adăugarea unui alt server...", - "Client RPC": "Client RPC", - "Close": "Închide", - "Confirm wallet password": "Confirmă parola portofelului", - "Connect to a local node (localhost)": "Conectați-vă la un nod local (localhost)", - "Connecting to": "Conectare la", - "Connection": "Conexiune", - "Connections": "Conexiuni", - "Connects to a Remote Rusty Kaspa Node via wRPC.": "Se conectează la un Nod Rusty Kaspa la Distanță prin wRPC.", - "Conservative": "Conservator", - "Continue": "Continuă", - "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Contribuțiile orientate către acest proiect alimentează direct software-ul Kaspa NG și ecosistemul său.", - "Copied to clipboard": "Copiat în clipboard", - "Copy": "Copiază", - "Copy logs to clipboard": "Copiați jurnalele în clipboard", - "Create New Account": "Creează un cont nou", - "Create New Wallet": "Creați un Portofel Nou", - "Create new wallet": "Creează un portofel nou", - "Creating Account": "Contul se creează", - "Creating Wallet": "Portofelul se creează", - "Custom": "Personalizat", - "Custom Public Node": "Node Public Personalizat", - "Custom arguments:": "Argumente personalizate:", + "wRPC URL:": "wRPC URL:", + "words": "words" + }, + "th": {}, + "tr": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS test ağı", + "10 BPS test network": "10 BPS test ağı", + "12 word mnemonic": "12 kelimelik gizli cümle", + "24 word mnemonic": "24 kelimelik gizli cümle", + "24h Change": "24 Saatlik Değişim", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "Başka bir konumdaki bir binary, bir alt süreç olarak başlatılır (deneysel, yalnızca geliştirme amaçlıdır).", + "A random node will be selected on startup": "Başlangıçta rastgele bir node seçilir", + "A wallet is stored in a file on your computer.": "Cüzdan, bilgisayarındaki bir dosyada saklanır.", + "Account Index": "Hesap Dizini", + "Account Name": "Hesap Adı", + "Account:": "Hesap:", + "Activate custom daemon arguments": "Özel daemon argümanlarını etkinleştir", + "Active p2p Peers": "Aktif P2P Eşleri", + "Address derivation scan": "Adres türeterek tarama", + "Address:": "Adres:", + "Advanced": "Gelişmiş", + "Advanced Options": "Advanced Options", + "All": "Tümü", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Rusty Kaspa daemon'u için özel argümanlara izin ver", + "Allows you to take screenshots from within the application": "Uygulama içinde ekran görüntüsü almanıza izin verir", + "Apply": "Uygula", + "Balance: N/A": "Bakiye: Yok", + "Bandwidth": "Bant Genişliği", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Bu yazılım güvenlik ve performans odaklı olduğu için tamamen Rust dilinde geliştirilmiştir. Diğer geleneksel ve modern web tabanlı yazılımlara kıyasla geliştirilmesi daha fazla zaman ve çaba gerektirir.", + "Bezier Curves": "Bezier Eğrileri", + "Block DAG": "Block DAG", + "Block Scale": "Blok Ölçeği", + "Blocks": "Bloklar", + "Bodies": "Gövdeler", + "Borsh Active Connections": "Aktif Borsh Bağlantıları", + "Borsh Connection Attempts": "Borsh Bağlantı Denemeleri", + "Borsh Handshake Failures": "Borsh El Sıkışma Hataları", + "Build": "Build", + "CONNECTED": "BAĞLANDI", + "CPU": "CPU", + "Cache Memory Size": "Cache Bellek Boyutu", + "Cache Memory Size:": "Cache Bellek Boyutu:", + "Cancel": "İptal Et", + "Cannot delete data folder while the node is running": "Veri klasörü node çalışıyorken silinemez.", + "Capture a screenshot": "Ekran görüntüsü al", + "Center VSPC": "VSPC'yi Ortala", + "Chain Blocks": "Blokları Birbirine Bağla", + "Change Address": "Adresi Değiştir", + "Check for Software Updates on GitHub": "GitHub'da Yazılım Güncellemelerini Kontrol Et", + "Check for Updates": "Güncellemeleri Kontrol Et", + "Clear": "Temizle", + "Click to try another server...": "Başka bir sunucuyu denemek için tıklayın...", + "Client RPC": "İstemci RPC", + "Close": "Kapat", + "Close the window": "Pencereyi kapat", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Cüzdan parolasını onayla", + "Connect to a local node (localhost)": "Yerel bir node'a bağlan (localhost)", + "Connecting to": "Bağlanılıyor:", + "Connection": "Bağlantı", + "Connections": "Bağlantılar", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Remote bir Rusty Kaspa Node'una wRPC üzerinden bağlanır.", + "Conservative": "Konservatif", + "Continue": "Devam Et", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Bu projeye yapılan katkılar doğrudan Kaspa NG yazılımını ve ekosistemini besler.", + "Copied to clipboard": "Panoya kopyalandı", + "Copy": "Kopyala", + "Copy logs to clipboard": "Kayıtları panoya kopyala", + "Create New Account": "Yeni Hesap Oluştur", + "Create New Wallet": "Yeni Cüzdan Oluştur", + "Create Wallet": "Create Wallet", + "Create new wallet": "Yeni cüzdan oluştur", + "Creating Account": "Hesap Oluşturuluyor", + "Creating Wallet": "Cüzdan Oluşturuluyor", + "Custom": "Özel", + "Custom Public Node": "Özel Herkese Açık Node", + "Custom arguments:": "Özel argümanlar:", + "Custom data storage folder": "Özel veri saklama klasörü", "DAA": "DAA", - "DAA Offset": "DAA offset", - "DAA Range": "Interval DAA", - "DB Blocks": "Blocuri DB", - "DB Headers": "Antete DB", - "Database Blocks": "Bolcuri Baza de Date", - "Database Headers": "Antete Baza de Date", - "Decrypting wallet, please wait...": "Decriptarea portofelului, vă rugăm să așteptați...", - "Default": "Implicit", - "Default Account Name": "Numele Contului Implicit", - "Delete Data Folder": "Șterge Folderul de Date", - "Dependencies": "Dependențe", - "Derivation Indexes": "Indecși de Derivare", - "Details": "Detalii", - "Developer Mode": "Mod Dezvoltare", - "Developer Resources": "Resurse pentru Dezvoltatori", - "Developer mode enables advanced and experimental features": "Modul dezvoltator activează funcționalități avansate și experimentale", - "Difficulty": "Dificultate", - "Dimensions": "Dimensiuni", - "Disable password score restrictions": "Dezactivați restricțiile de scor pentru parolă", - "Disabled": "Dezactivat", - "Disables node connectivity (Offline Mode).": "Dezactivează conectivitatea cu nodurile (Mod Offline).", + "DAA Offset": "DAA Offset'i", + "DAA Range": "DAA Aralığı", + "DB Blocks": "DB Blokları", + "DB Headers": "DB Header'ları", + "Dangerous": "Dangerous", + "Data Storage": "Veri Saklama", + "Database Blocks": "Veritabanı Blokları", + "Database Headers": "Veritabanı Header'ları", + "Decrypting wallet, please wait...": "Cüzdanın şifresi çözülüyor, lütfen bekleyin...", + "Default": "Varsayılan", + "Default Account Name": "Varsayılan Hesap Adı", + "Delete Data Folder": "Veri Klasörünü Sil", + "Dependencies": "Bağımlılıklar", + "Derivation Indexes": "Türetme Dizinleri", + "Details": "Detaylar", + "Developer Mode": "Geliştirici Modu", + "Developer Resources": "Geliştirici Kaynakları", + "Developer mode enables advanced and experimental features": "Geliştirici modu gelişmiş ve deneysel özellikleri etkinleştirir", + "Difficulty": "Zorluk", + "Dimensions": "Boyutlar", + "Disable password safety rules": "Parola skoru kısıtlamalarını kapat", + "Disabled": "Devre Dışı", + "Disables node connectivity (Offline Mode).": "Node bağlanabilirliğini devre dışı bırakır (Çevrimdışı Mod).", "Discord": "Discord", - "Donations": "Donații", - "Double click on the graph to re-center...": "Dați dublu clic pe grafic pentru a re-centra...", + "Donations": "Bağışlar", + "Double click on the graph to re-center...": "Ortalamak için grafiğe çift tıklayın...", "ECDSA": "ECDSA", - "Enable Market Monitor": "Activați Monitorul de Piață", - "Enable UPnP": "Activează UPnP", - "Enable custom daemon arguments": "Activați argumentele demon personalizate", - "Enable experimental features": "Activare funcționalități experimentale", - "Enable gRPC": "Activează gRPC", - "Enable optional BIP39 passphrase": "Activare frază secretă BIP39 opțională", - "Enable screen capture": "Activați captura de ecran", - "Enables features currently in development": "Activează funcționalități aflate în dezvoltare în prezent", - "Enter": "Enter", - "Enter account name (optional)": "Introdu numele contului (opțional)", - "Enter first account name": "Introduceți primul nume de cont", - "Enter phishing hint": "Introduceți indiciul pentru prevenirea phishing-ului", - "Enter the amount": "Intodu cantitatea", - "Enter the password for your wallet": "Introdu parola pentru portofelul tău", - "Enter the password to unlock your wallet": "Introduceți parola pentru a debloca portofelul", - "Enter wallet name": "Introdu numele portofelului", - "Enter wallet password": "Introduceți parola portofelului.", - "Enter your wallet secret": "Introduceți secretul portofelului dumneavoastră", + "Enable Market Monitor": "Piyasa Monitörünü Aktifleştir", + "Enable UPnP": "UPnP'yi Aktifleştir", + "Enable custom daemon arguments": "Özel daemon argümanlarını aktifleştir", + "Enable experimental features": "Deneysel özellikleri aktifleştir", + "Enable gRPC": "gRPC'yi Aktifleştir", + "Enable optional BIP39 passphrase": "Opsiyonel BIP39 parolasını aktifleştir", + "Enable screen capture": "Ekran kaydını aktifleştir", + "Enables features currently in development": "Henüz geliştirme sürecinde olan özellikleri aktifleştirir", + "Enter": "Gir", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Hesap adı gir (opsiyonel)", + "Enter first account name": "İlk hesap adını gir", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Phishing ipucunu gir", + "Enter the amount": "Miktarı gir", + "Enter the password for your wallet": "Cüzdanın için parolanı gir", + "Enter the password to unlock your wallet": "Cüzdanını açmak için parolayı gir", + "Enter wallet name": "Cüzdan ismi gir", + "Enter wallet password": "Cüzdan şifreni gir", + "Enter your wallet secret": "Cüzdan sırrını gir", + "Exit Full Screen": "Exit Full Screen", "Explorer": "Explorer", - "Export Wallet Data": "Exporă Date Portofel", - "Faucet": "Faucet", - "File Handles": "File Handles", - "Filename:": "Nume fișier:", - "Final Amount:": "Suma Finală:", + "Export Wallet Data": "Cüzdan Verini Dışa Aktar", + "Faucet": "Musluk", + "File Handles": "Dosya Tanıtıcıları", + "Filename:": "Dosya ismi:", + "Final Amount:": "Son Miktar:", + "Full Screen": "Tam Ekran", "GitHub Release": "GitHub Release", - "Go to Settings": "Mergi la Setări", - "Handles": "Handles", - "Headers": "Antete", + "Go to Settings": "Ayarlara Git", + "Good": "Good", + "Handles": "Tanıtıcılar", + "Headers": "Header'lar", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", "IBD:": "IBD:", - "If not specified, the account will be represented by the numeric id.": "Dacă nu este specificat, contul va fi reprezentat prin ID-ul numeric.", - "If you are running locally, use: ": "Dacă rulați local, utilizați:", - "Import existing": "Importați existent", - "Inbound": "Intrare", - "Include QoS Priority Fees": "Includeți Taxele de Prioritate QoS", - "Integrated Daemon": "Daemon integrat", - "Invalid daemon arguments": "Argumente daemon invalide", - "Invalid network type - expected: testnet-10 connected to: testnet-11": "Tip de rețea invalid - așteptat: testnet-10 conectat la: testnet-11", - "Invalid wRPC URL": "URL wRPC invalid", - "Json Active Connections": "Conexiuni Json Active", - "Json Connection Attempts": "Încercări de Conexiune JSON", - "Json Handshake Failures": "Eșecuri de Protocol JSON Handshake", - "Kaspa Discord": "Discord Kaspa", - "Kaspa Integration Guide": "Ghid de integrare Kaspa", + "If not specified, the account will be represented by the numeric id.": "Eğer belirtilmezse hesabınız sayısal bir kimlik ile temsil edilecektir.", + "If you are running locally, use: ": "Yerel olarak çalıştırıyorsanız bunu kullanın:", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Varolanı içe aktar", + "Importing Wallet": "Importing Wallet", + "Inbound": "Inbound", + "Include QoS Priority Fees": "QoS Öncelik Masraflarını Dahil Et", + "Integrated Daemon": "Entegre Daemon", + "Invalid daemon arguments": "Geçersiz daemon argümanları", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Geçersiz ağ türü - beklenilen: testnet-10 bağlanılan: testnet-11", + "Invalid wRPC URL": "Geçersiz wRPC URL'si", + "Json Active Connections": "Aktif JSON Bağlantıları", + "Json Connection Attempts": "JSON Bağlantı Denemeleri", + "Json Handshake Failures": "JSON El Sıkışma Hataları", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Kaspa Entegrasyon Rehberi", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Web Uygulaması", + "Kaspa NG on GitHub": "GitHub'da Kaspa NG", + "Kaspa NG online": "Kaspa NG Online", + "Kaspa Network": "Kaspa Ağı", + "Kaspa Node": "Kaspa Node'u", + "Kaspa p2p Network & Node Connection": "Kaspa P2P Ağı & Node Bağlantısı", + "Kaspa p2p Node": "Kaspa P2P Node'u", + "Kaspa p2p Node & Connection": "Kaspa P2P Node'u & Bağlantısı", + "Key Perf.": "Key Perf.", + "Language:": "Dil:", + "Large (1 BPS)": "Büyük (1 BPS)", + "Levels": "Seviyeler", + "License Information": "Lisans Bilgisi", + "Local": "Yerel", + "Local p2p Node Configuration": "Yerel P2P Node Konfigürasyonu", + "Logs": "Kayıtlar", + "MT": "MT", + "Main Kaspa network": "Ana Kaspa Ağı", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (Ana Kaspa Ağı)", + "Managed by the Rusty Kaspa daemon": "Rusty Kaspa daemon'u tarafından yönetiliyor", + "Market": "Piyasa", + "Market Cap": "Piyasa Değeri", + "Market Monitor": "Piyasa Monitörü", + "Mass Processed": "Toplu İşlenen", + "Maximize window": "Pencereyi büyüt", + "Medium Narrow": "Orta Dar", + "Medium Wide": "Orta Geniş", + "Memory": "Hafıza", + "Mempool": "Mempool", + "Mempool Size": "Mempool Boyutu", + "Metrics": "Metrikler", + "Metrics are not currently available": "Metrikler henüz mevcut değil", + "Minimize the window": "Pencereyi küçült", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NodeJS için NPM Modülleri", + "Network": "Ağ", + "Network Difficulty": "Ağ Zorluğu", + "Network Fees:": "Ağ Ücretleri:", + "Network Interface": "Ağ Arayüzü", + "Network Peers": "Ağ Eşleri", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "Eş Yok", + "No public node selected - please select a public node": "Herkese açık node seçili değil - lütfen herkese açık bir node seçin", + "No transactions": "İşlem yok", + "No wallets found, please create a new wallet": "Cüzdan bulunamadı, lütfen yeni bir cüzdan oluşturun", + "Node": "Node", + "Node Status": "Node Durumu", + "Noise": "Noise", + "None": "Hiç", + "Not Connected": "Bağlı Değil", + "Not connected": "Bağlı değil", + "Notifications": "Bildirimler", + "Open Data Folder": "Veri Klasörünü Aç", + "Opening wallet:": "Cüzdan açılıyor:", + "Optional": "Opsiyonel", + "Other operations": "Başka operasyonlar", + "Outbound": "Outbound", + "Overview": "Genel Bakış", + "Parents": "Üstler", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Geçmiş Medyan Zaman", + "Payment & Recovery Password": "Ödeme ve Kurtarma Parolası", + "Payment Request": "Ödeme İsteği", + "Peers": "Eşler", + "Performance": "Performans", + "Phishing Hint": "Phishing İpucu", + "Ping:": "Ping:", + "Please Confirm Deletion": "Lütfen Silme İşlemini Onaylayın", + "Please configure your Kaspa NG settings": "Lütfen Kaspa NG ayarlarınızı yapılandırın", + "Please connect to Kaspa p2p node": "Lütfen Kaspa P2P Node'una bağlanın", + "Please create a stronger password": "Lütfen daha güçlü bir parola oluşturun", + "Please enter": "Lütfen girin", + "Please enter KAS amount to send": "Lütfen gönderilecek KAS miktarını girin", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Lütfen bir miktar girin", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Lütfen hesap ismini girin", + "Please enter the wallet secret": "Lütfen cüzdan sırrını girin", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Lütfen bunun bir alpha versiyonu olduğunu göz önünde bulundurun. Bu mesaj kalkana kadar bu cüzdanı mainnet bakiyeniz ile kullanmaktan kaçının.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Panoya kopyalamak, gizli cümlenizi zararlı yazılımların erişimine açma riskini taşır.", + "Please select an account type": "Lütfen bir hesap türü seçin", + "Please select the private key to export": "Lütfen dışa aktarılacak edilecek özel anahtarı seçin", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Veri klasörünü silmek için lütfen node'u 'Devre Dışı' hâle getirin", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Lütfen varsayılan hesabınızın ismini belirleyin. Cüzdanınız varsayılan bir hesap ile oluşturulacaktır. Varsayılan hesap oluşturulduktan sonra isterseniz yeni hesaplar oluşturabilirsiniz.", + "Please specify the name of the new wallet": "Lütfen yeni cüzdanın ismini belirleyin", + "Please specify the private key type for the new wallet": "Lütfen yeni cüzdan için özel anahtar türünüzü belirtin", + "Please wait for the node to sync or connect to a remote node.": "Lütfen node'un senkronize edilmesini bekleyin veya uzak bir node'a bağlanın.", + "Please wait for the node to sync...": "Lütfen node'un senkronize edilmesini bekleyin...", + "Please wait...": "Lütfen bekleyin...", + "Presets": "Ön Ayarlar", + "Price": "Fiyat", + "Private Key Mnemonic": "Özel Anahtar Gizli Cümlesi", + "Processed Bodies": "İşlenen Gövdeler", + "Processed Dependencies": "İşlenen Bağımlılıklar", + "Processed Headers": "İşlenen Header'lar", + "Processed Mass Counts": "İşlenen Toplu Sayımlar", + "Processed Transactions": "İşlenen İşlemler", + "Protocol:": "Protokol:", + "Public Node": "Herkese Açık Node", + "Public Nodes": "Herkese Açık Node'lar", + "Public Server": "Herkese Açık Sunucu", + "Public p2p Nodes for": "Herkese Açık P2P Node'ları", + "Random Public Node": "Rastgele Herkese Açık Node", + "Range:": "Aralık:", + "Receive Address": "Alım Adresi", + "Recommended arguments for the remote node: ": "Remote node için tavsiye edilen argümanlar:", + "Redistributables": "Yeniden Dağıtılabilir Unsurlar", + "Remote": "Remote", + "Remote Connection:": "Remote Bağlantı:", + "Remote p2p Node Configuration": "Remote P2P Node Konfigürasyonu", + "Removes security restrictions, allows for single-letter passwords": "Güvenlik kısıtlamalarını kaldırır ve tek harflik parolalara izin verir", + "Reset Settings": "Ayarları Sıfırla", + "Reset VSPC": "VSPC'yi Sıfırla", + "Resident Memory": "Yerleşik Bellek", + "Resources": "Kaynaklar", + "Resulting daemon arguments:": "Daemon argüman sonuçları:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "GitHub'da Rusty Kaspa", + "Secret is too weak": "Sır çok zayıf", + "Secret score:": "Sır skoru:", + "Select Account": "Hesap Seç", + "Select Available Server": "Müsait Sunucu Seç", + "Select Private Key Type": "Özel Anahtar Türünü Seç", + "Select Public Node": "Herkese Açık Node Seçin", + "Select Wallet": "Cüzdan Seç", + "Select a wallet to unlock": "Lütfen açılacak cüzdanı seçin", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Gönder", + "Services": "Hizmetler", + "Settings": "Ayarlar", + "Show DAA": "DAA'yı Göster", + "Show Grid": "Grid'i Göster", + "Show VSPC": "VSPC'yi Göster", + "Show balances in alternate currencies for testnet coins": "Testnet coin'leri için bakiyeleri alternatif para birimlerinde göster", + "Show passphrase": "Show passphrase", + "Show password": "Parolayı göster", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Testnet coin'lerini kullanıyorken sanki mainnet'teymiş gibi bakiyeleri alternatif birimlerde göster (BTC, USD)", + "Skip": "Atla", + "Small (10 BPS)": "Küçük (10 BPS)", + "Spread": "Spread", + "Stage": "Aşama", + "Starting...": "Başlıyor...", + "Statistics": "İstatistikler", + "Stor Read": "Stor Okuma", + "Stor Write": "Stor Yazma", + "Storage": "Depolama", + "Storage Read": "Depolama Okuma", + "Storage Read/s": "Depolama Okuma/sn", + "Storage Write": "Depolama Yazma", + "Storage Write/s": "Depolama Yazma/sn", + "Strong": "Strong", + "Submitted Blocks": "Gönderilen Bloklar", + "Supporting Kaspa NG development": "Kaspa NG geliştirme sürecine destek veriliyor", + "Syncing Cryptographic Proof...": "Kriptografik Kanıt Senkronize Ediliyor...", + "Syncing DAG Blocks...": "DAG Blokları Senkronize Ediliyor...", + "Syncing Headers...": "Header'lar Senkronize Ediliyor...", + "Syncing UTXO entries...": "UTXO girişleri senkronize ediliyor...", + "Syncing...": "Senkronize ediliyor:", + "System": "Sistem", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Test11 herkese açık deneme süreci için henüz etkinleştirilmemiştir. Fakat node'u Ayarlar panelindeki özel geliştirici test ağına bağlanacak şekilde yapılandırabilirsiniz.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Kaspa NG yazılımı, Kaspa BlockDAG kripto para ağına adanmış son teknoloji bir yazılım platformu oluşturmaya odaklanan çabamızı temsil etmektedir. Özünde ideolojik olan bu yazılım güvenlik, gizlilik, performans ve merkeziyetsizliği ön planda tutar.", + "The balance may be out of date during node sync": "Bakiyeniz node senkronizasyonu esnasında güncel olmayabilir", + "The following will guide you through the process of creating or importing a wallet.": "Bu rehber size cüzdan yaratma ve içe aktarma etme prosedürünü açıklayacaktır.", + "The node is currently syncing with the Kaspa p2p network.": "Bu node şu an Kaspa P2P ağı ile senkronize ediliyor.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "Bu node şu an Kaspa P2P ağı ile senkronize ediliyor. Hesap bakiyeleri güncel olmayabilir.", + "The node is spawned as a child daemon process (recommended).": "Node, alt daemon işlemi olarak oluşturulur (tavsiye edilen seçenek).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "Node, Kaspa NG uygulama işleminin bir parçası olarak çalışır. Bu, arada oluşan fazladan iletişim gereksinimini azaltır (deneysel).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Tema Rengi", + "Theme Color:": "Tema Rengi:", + "Theme Style": "Tema Stili", + "Theme Style:": "Tema Stili:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Bu cüzdan, özel anahtarınızı kurtarma isteğiniz hariç asla gizli cümlenizi sormayacaktır.", + "Threshold": "Sınır", + "Time Offset:": "Zaman Offset'i:", + "Tip Hashes": "Tip Hash'leri", + "Tools ⏷": "Araçlar", + "Total Rx": "Toplam Rx", + "Total Rx/s": "Toplam Rx/sn", + "Total Tx": "Toplam Tx", + "Total Tx/s": "Toplam Tx/sn", + "Track in the background": "Arkaplanda takip et", + "Transactions": "İşlemler", + "Transactions:": "İşlemler:", + "Type": "Tür", + "UTXO Manager": "UTXO Yöneticisi", + "UTXOs": "UTXO'lar", + "UTXOs:": "UTXO'lar:", + "Unable to change node settings until the problem is resolved": "Problem çözülene kadar node ayarları değiştirilemez", + "Unlock": "Aç", + "Unlock Wallet": "Cüzdanı Aç", + "Unlocking": "Açılıyor", + "Update Available to version": "Şu sürüm için güncelleme mevcut:", + "Updating...": "Güncelleniyor...", + "Uptime:": "Uptime:", + "Use 50%-75% of available system memory": "Mevcut sistem hafızasının yüzde %50-75 kadarını kullan", + "Use all available system memory": "Mevcut tüm sistem hafızasını kullan", + "User Agent": "User Agent", + "User Interface": "Kullanıcı Arayüzü", + "Very dangerous (may be cracked within few seconds)": "Çok tehlikeli (saniyeler içinde kırılabilir)", + "Very weak": "Very weak", + "Virt Parents": "Sanal Üstler", + "Virtual DAA Score": "Sanal DAA Skoru", + "Virtual Memory": "Sanal Bellek", + "Virtual Parent Hashes": "Virtual Üst Hash'leri", + "Volume": "Hacim", + "WASM SDK for JavaScript and TypeScript": "JavaScript ve TypeScript için WASM SDK'si", + "Wallet": "Cüzdan", + "Wallet Created": "Cüzdan Oluşturuldu", + "Wallet Encryption Password": "Cüzdan Şifreleme Parolası", + "Wallet Name": "Cüzdan Adı", + "Wallet Secret": "Cüzdan Sırrı", + "Wallet password is used to encrypt your wallet data.": "Cüzdan parolası cüzdan verilerinizi şifrelemek için kullanılır.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Cüzdan:", + "We greatly appreciate your help in backing our efforts.": "Çabamıza destek verdiğiniz için çok teşekkür ederiz.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Kaspa NG'ye Hoşgeldiniz", + "Xpub Keys": "Xpub Anahtarları", + "You are currently not connected to the Kaspa node.": "Şu an Kaspa Node'una bağlı değilsiniz.", + "You can configure remote connection in Settings": "Uzaktan bağlantıyı ayarlarda yapılandırabilirsiniz.", + "You can create multiple wallets, but only one wallet can be open at a time.": "Birden fazla cüzdan oluşturabilirsiniz, ama aynı anda sadece bir cüzdan açık olabilir.", + "You must be connected to a node...": "Bir node'a bağlı olmanız gerekiyor...", + "Your default wallet private key mnemonic is:": "Varsayılan cüzdanın özel anahtarının gizli cümlesi:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Gizli cümleniz özel anahtarınızı tekrar yaratmanızı sağlar. Gizli cümleyi bilen herkes bu adresteki Kaspa'lara erişebilir. Gizli cümlenizi koruyun. Kağıda yazın ve bir kasada saklayın, mümkünse alev almayacak bir yerde. Gizli cümlenizi herhangi bir bilgisayara veya telefona yazmayın. Özel anahtarınızı tekrar yaratma isteğiniz dışında bu cüzdan size asla gizli cümlenizi sormayacaktır.", + "Your private key mnemonic is:": "Özel anahtar gizli cümleniz:", + "Your wallet has been created and is ready to use.": "Cüzdanınız oluşturuldu ve kullanıma hazır.", + "Zoom": "Yakınlaştır", + "amount to send": "Gönderilecek Miktar", + "bye!": "Güle güle!", + "gRPC Network Interface & Port": "gRPC Ağ Arayüzü & Port'u", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/sn", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/sn", + "of": "of", + "p2p RPC": "P2P RPC", + "p2p Rx": "P2P Rx", + "p2p Rx/s": "P2P Rx/sn", + "p2p Tx": "P2P Tx", + "p2p Tx/s": "P2P Tx/sn", + "peer": "eş", + "peers": "eşler", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/sn", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/sn", + "wRPC Connection Settings": "wRPC Bağlantı Ayarları", + "wRPC Encoding:": "wRPC Kodlaması:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/sn", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/sn", + "wRPC URL:": "wRPC URL:", + "words": "words" + }, + "uk": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "Тестова мережа 1 BPS", + "10 BPS test network": "10 BPS тестова мережа", + "12 word mnemonic": "12-слівна мнемонічна фраза", + "24 word mnemonic": "24-слівний мнемонічний код", + "24h Change": "Зміна за 24 години", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "Бінарний файл на іншому місці породжує дочірній процес (експериментально, лише для розробки).", + "A random node will be selected on startup": "Під час запуску буде вибрано випадковий вузол", + "A wallet is stored in a file on your computer.": "Гаманець зберігається у файлі на вашому комп'ютері.", + "Account Index": "Індекс облікового запису", + "Account Name": "Назва облікового запису", + "Account:": "Обліковий запис:", + "Activate custom daemon arguments": "Активація користувацьких аргументів демона", + "Active p2p Peers": "Активні P2P піри", + "Address derivation scan": "Сканування похідних адрес", + "Address:": "Адреса:", + "Advanced": "Розширені", + "Advanced Options": "Advanced Options", + "All": "Всі", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Дозволяє користувачам встановлювати свої аргументи для демона Rusty Kaspa", + "Allows you to take screenshots from within the application": "Дозволяє робити скріншоти з програми", + "Apply": "Застосувати", + "Balance: N/A": "Баланс: Н/Д", + "Bandwidth": "Пропускна здатність", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Через свою спрямованість на безпеку та продуктивність, це програмне забезпечення повністю розроблене на Rust, що вимагає значно більше часу та зусиль порівняно з іншими традиційними сучасними веб-додатками.", + "Bezier Curves": "Криві Безьє", + "Block DAG": "Блок DAG", + "Block Scale": "Масштаб блоку", + "Blocks": "Блоки", + "Bodies": "Тіла", + "Borsh Active Connections": "Активні підключення Borsh", + "Borsh Connection Attempts": "Спроби підключення до Borsh", + "Borsh Handshake Failures": "Невдачі рукостискання Borsh", + "Build": "Збудувати", + "CONNECTED": "ПІДКЛЮЧЕНО", + "CPU": "ЦП", + "Cache Memory Size": "Розмір кеш-пам'яті:", + "Cache Memory Size:": "Розмір кеш-пам'яті:", + "Cancel": "Скасувати", + "Cannot delete data folder while the node is running": "Неможливо видалити папку даних під час роботи вузла", + "Capture a screenshot": "Зробити знімок екрана", + "Center VSPC": "Центрувати VSPC", + "Chain Blocks": "Блоки ланцюга", + "Change Address": "Змінити адресу", + "Check for Software Updates on GitHub": "Перевірити оновлення програмного забезпечення на GitHub", + "Check for Updates": "Перевірити наявність оновлень", + "Clear": "Очистити", + "Click to try another server...": "Клацніть, щоб спробувати інший сервер...", + "Client RPC": "Клієнтський RPC", + "Close": "Закрити", + "Close the window": "Закрити вікно", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Підтвердити пароль гаманця", + "Connect to a local node (localhost)": "Підключитися до локального вузла (localhost)", + "Connecting to": "Підключення до", + "Connection": "Підключення", + "Connections": "Підключення", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Підключається до віддаленого вузла Rusty Kaspa через wRPC.", + "Conservative": "Консервативний", + "Continue": "Продовжити", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Внески, спрямовані на цей проект, безпосередньо підтримують програмне забезпечення Kaspa NG та його екосистему.", + "Copied to clipboard": "Скопійовано в буфер обміну", + "Copy": "Копіювати", + "Copy logs to clipboard": "Скопіювати лог-журнали в буфер обміну", + "Create New Account": "Створити новий обліковий запис", + "Create New Wallet": "Створити новий гаманець", + "Create Wallet": "Create Wallet", + "Create new wallet": "Створити новий гаманець", + "Creating Account": "Створення облікового запису", + "Creating Wallet": "Створення гаманця", + "Custom": "Користувацький", + "Custom Public Node": "Нестандартний публічний вузол", + "Custom arguments:": "Спеціальні аргументи:", + "Custom data storage folder": "Користувацька папка для зберігання даних", + "DAA": "DAA", + "DAA Offset": "Зсув DAA", + "DAA Range": "Діапазон DAA", + "DB Blocks": "Блоки БД", + "DB Headers": "Заголовки БД", + "Dangerous": "Dangerous", + "Data Storage": "Сховище даних", + "Database Blocks": "Блоки БД", + "Database Headers": "Заголовки БД", + "Decrypting wallet, please wait...": "Розшифровка гаманця, зачекайте, будь ласка...", + "Default": "За замовчуванням", + "Default Account Name": "Назва облікового запису за замовчуванням", + "Delete Data Folder": "Видалити папку з даними", + "Dependencies": "Залежності", + "Derivation Indexes": "Індекси похідних", + "Details": "Деталі", + "Developer Mode": "Режим розробника", + "Developer Resources": "Ресурси для розробників", + "Developer mode enables advanced and experimental features": "Режим розробника вмикає розширені та експериментальні функції", + "Difficulty": "Складність", + "Dimensions": "Виміри", + "Disable password safety rules": "Вимкнути правила безпеки паролю", + "Disabled": "Вимкнено", + "Disables node connectivity (Offline Mode).": "Вимикає підключення вузла (офлайн-режим).", + "Discord": "Discord", + "Donations": "Пожертви", + "Double click on the graph to re-center...": "Двічі клацніть на графіку, щоб рецентрувати...", + "ECDSA": "ECDSA", + "Enable Market Monitor": "Увімкнути монітор ринку", + "Enable UPnP": "Увімкнути UPnP", + "Enable custom daemon arguments": "Увімкнути користувацькі аргументи демона", + "Enable experimental features": "Увімкнути експериментальні функції", + "Enable gRPC": "Увімкнути gRPC", + "Enable optional BIP39 passphrase": "Увімкнути необов'язкову додаткову фразу BIP39", + "Enable screen capture": "Увімкнути захоплення екрана", + "Enables features currently in development": "Вмикає функції, які наразі у розробці", + "Enter": "Введіть", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Введіть назву облікового запису (необов'язково)", + "Enter first account name": "Введіть ім'я першого облікового запису", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Введіть підказку для розпізнавання фішинг-шахрайства", + "Enter the amount": "Введіть суму", + "Enter the password for your wallet": "Введіть пароль для вашого гаманця", + "Enter the password to unlock your wallet": "Введіть пароль, щоб розблокувати свій гаманець", + "Enter wallet name": "Введіть назву гаманця", + "Enter wallet password": "Введіть пароль гаманця", + "Enter your wallet secret": "Введіть секрет свого гаманця", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Дослідник", + "Export Wallet Data": "Експорт даних гаманця", + "Faucet": "Кран", + "File Handles": "Дескриптори файлу", + "Filename:": "Ім'я файлу:", + "Final Amount:": "Кінцева сума:", + "Full Screen": "Повний екран", + "GitHub Release": "Реліз GitHub", + "Go to Settings": "Перейти до Налаштувань", + "Good": "Good", + "Handles": "Дескриптори", + "Headers": "Заголовки", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "Початкове завантаження блоків:", + "If not specified, the account will be represented by the numeric id.": "Якщо не вказано, обліковий запис буде представлений числовим ідентифікатором.", + "If you are running locally, use: ": "Якщо ви запускаєте локально, використовуйте:", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Імпортувати існуючий", + "Importing Wallet": "Importing Wallet", + "Inbound": "Вхідний", + "Include QoS Priority Fees": "Враховувати плату за пріоритет якості сервісу QoS", + "Integrated Daemon": "Інтегрований демон", + "Invalid daemon arguments": "Недійсні аргументи демона", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Недійсний тип мережі - очікується: тестова мережа-10; підключено до: тестова мережа-11", + "Invalid wRPC URL": "Недійсний URL wRPC", + "Json Active Connections": "Активні з'єднання Json", + "Json Connection Attempts": "Спроби підключення Json", + "Json Handshake Failures": "Помилки рукостискання Json", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Посібник з інтеграції Kaspa", "Kaspa NG": "Kaspa NG", - "Kaspa NG Online": "Kaspa NG Online", - "Kaspa NG Web App": "Kaspa NG Web App", - "Kaspa NG on GitHub": "Kaspa NG pe GitHub", - "Kaspa NG online": "Kaspa NG online", - "Kaspa Network": "Rețea Kaspa", - "Kaspa Node": "Node Kaspa", - "Kaspa p2p Network & Node Connection": "Rețeaua p2p Kaspa & Conexiune Node", - "Kaspa p2p Node": "Nod Kaspa p2p", - "Kaspa p2p Node & Connection": "Nod și Conexiune Kaspa p2p", - "Key Perf.": "Key Perf.", - "Language:": "Limba:", - "Large (1 BPS)": "Mare (1 BPS)", - "Levels": "Nivele", - "License Information": "Informații despre licență", - "Local": "Local", - "Local p2p Node Configuration": "Configurarea Nodului p2p Local", - "Logs": "Loguri", + "Kaspa NG Online": "Kaspa NG онлайн", + "Kaspa NG Web App": "Веб-додаток Kaspa NG", + "Kaspa NG on GitHub": "Kaspa NG на GitHub", + "Kaspa NG online": "Kaspa NG онлайн", + "Kaspa Network": "Мережа Kaspa", + "Kaspa Node": "Вузол Kaspa", + "Kaspa p2p Network & Node Connection": "Підключення до P2P-мережі та вузлів Kaspa", + "Kaspa p2p Node": "P2P Вузол Kaspa", + "Kaspa p2p Node & Connection": "Підключення та P2P вузол Kaspa", + "Key Perf.": "Ключові показники", + "Language:": "Мова:", + "Large (1 BPS)": "Велика (1 BPS)", + "Levels": "Рівні", + "License Information": "Інформація про ліцензію", + "Local": "Локальний", + "Local p2p Node Configuration": "Локальна конфігурація вузла P2P", + "Logs": "Логи", "MT": "MT", - "Main Kaspa network": "Rețeaua Kaspa principală", - "Mainnet": "Mainnet", - "Mainnet (Main Kaspa network)": "Rețeaua principală (Mainnet) Kaspa", - "Managed by the Rusty Kaspa daemon": "Gestionat de daemonul Rusty Kaspa", - "Market": "Piață", - "Market Cap": "Capitalizare", - "Market Monitor": "Monitor de Piață", - "Mass Processed": "Procesat în Masă", - "Medium Narrow": "Mediu Îngust", - "Medium Wide": "Mediu Larg", - "Memory": "Memorie", - "Mempool": "Mempool", - "Mempool Size": "Dimensiune Mempool", - "Metrics": "Metrice", - "Metrics are not currently available": "Metricele nu sunt disponibile în prezent", - "NPM Modules for NodeJS": "Module NPM pentru NodeJS", - "Network": "Rețea", - "Network Difficulty": "Dificultate Rețea", - "Network Fees:": "Taxe Retea:", - "Network Interface": "Interfață Rețea", - "Network Peers": "Parteneri de Rețea", - "No peers": "Fara parteneri", - "No public node selected - please select a public node": "Nu a fost selectat niciun nod public - vă rugăm să selectați un nod public", - "No transactions": "Nicio tranzacție", - "No wallets found, please create a new wallet": "Niciun portofel nu a fost gasit, te rog sa creezi un nou portofel", - "Node": "Node", - "Node Status": "Nod Status", - "Noise": "Gălăgie", - "None": "Nici unul", - "Not Connected": "Neconectat", - "Not connected": "Neconectat", - "Notifications": "Notificări", - "Open Data Folder": "Deschideți Folderul de Date", - "Opening wallet:": "Deschidere portofel:", - "Optional": "Opțional", - "Other operations": "Alte oprațiuni", - "Outbound": "Ieșire", - "Overview": "Privire de ansamblu", - "Parents": "Parinți", - "Past Median Time": "Timpul Median Trecut", - "Payment & Recovery Password": "Plată și Parolă de Recuperare", - "Payment Request": "Cerere de Plată", - "Peers": "Parteneri", - "Performance": "Performanță", - "Phishing Hint": "Hint de prevenire a phishing-ului", - "Ping:": "Ping:", - "Please Confirm Deletion": "Confirmă ștergerea", - "Please configure your Kaspa NG settings": "Te rugăm să configurați setările Kaspa NG", - "Please connect to Kaspa p2p node": "Vă rugăm să vă conectați la nodul Kaspa p2p", - "Please create a stronger password": "Vă rugăm să creați o parolă mai puternică", - "Please enter": "Te rog introdu", - "Please enter KAS amount to send": "Vă rugăm să introduceți suma KAS de trimis", - "Please enter an amount": "Vă rugăm să introduceți o sumă", - "Please enter the account name": "Vă rugăm să introduceți numele contului", - "Please enter the wallet secret": "Te rog să introduci secretul portofelului", - "Please note that this is a beta release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Vă rugăm să rețineți că aceasta este o versiune beta. Până când acest mesaj nu va fi eliminat, vă rugăm să evitați utilizarea portofelului cu fonduri din rețeaua principală (mainnet).", - "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Vă rugăm să rețineți că copierea în clipboard prezintă riscul expunerii mnemonicului dvs. către malware-uri.", - "Please select an account type": "Te rog sa alegi un tip de cont", - "Please select the private key to export": "Vă rugăm să selectați cheia privată pe care doriți să o exportați", - "Please set node to 'Disabled' to delete the data folder": "Setați nodul la „Dezactivat” pentru a șterge folderul de date", - "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Vă rugăm să specificați numele contului implicit. Portofelul va fi creat cu un cont implicit. După creare, veți putea să creați conturi suplimentare după nevoie.", - "Please specify the name of the new wallet": "Te rog specifică numele pentru noul portofel", - "Please specify the private key type for the new wallet": "Vă rugăm să specificați tipul de cheie privată pentru noul portofel", - "Please wait for the node to sync or connect to a remote node.": "Vă rugăm să așteptați ca nodul să se sincronizeze sau să vă conectați la un nod la distanță.", - "Please wait for the node to sync...": "Vă rugăm să așteptați până când nodul se sincronizează...", - "Please wait...": "Te rog să aștepți...", - "Presets": "Preconfigurări", - "Price": "Preț", - "Private Key Mnemonic": "Mnemonicul cheii private", - "Processed Bodies": "Date procesate", - "Processed Dependencies": "Dependențe procesate", - "Processed Headers": "Antete procesate", - "Processed Mass Counts": "Număr de mase procesate", - "Processed Transactions": "Tranzacții procesate", - "Protocol:": "Protocol:", - "Public Node": "Nod Public", - "Public Nodes": "Noduri Publice", - "Public Server": "Server Public", - "Public p2p Nodes for": "Noduri publice p2p pentru", - "Random Public Node": "Nod Public Aleator", - "Range:": "Interval:", - "Receive Address": "Adresa de primire", - "Recommended arguments for the remote node: ": "Argumente recomandate pentru nodul la distanță:", - "Remote": "La Distanță", - "Remote Connection:": "Conexiune la distanță", - "Remote p2p Node Configuration": "Configurarea Nodului p2p la Distanță", - "Removes security restrictions, allows for single-letter passwords": "Elimină restricțiile de securitate, permite parole cu o singură literă", - "Reset Settings": "Resetează Setări", - "Reset VSPC": "Resetează VSPC", - "Resident Memory": "Memorie rezidentă", - "Resources": "Resurse", - "Resulting daemon arguments:": "Argumentele rezultate ale demonului (programului sau serviciului):", - "Rust Wallet SDK": "SDK Portofel Rust", - "Rusty Kaspa on GitHub": "Rusty Kaspa pe GitHub", - "Secret is too weak": "Secretul este prea slab", - "Secret score:": "Scor secret:", - "Select Account": "Selectează Contul", - "Select Available Server": "Selectați serverul disponibil", - "Select Private Key Type": "Selectați Tipul de Cheie Privată", - "Select Public Node": "Alege un Node Public", - "Select Wallet": "Selectează Portofel", - "Select a wallet to unlock": "Selectați un portofel pentru deblocare", - "Send": "Trimite", - "Services": "Servicii", - "Settings": "Setări", - "Show DAA": "Arată DAA", - "Show Grid": "Afișează Grilă", - "Show VSPC": "Arată VSPC", - "Show balances in alternate currencies for testnet coins": "Afișați balanțele în alte monede pentru monedele de testnet", - "Show password": "Arată parola", - "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Afișează balanțele în alte monede (BTC, USD) atunci când utilizați monede de testnet ca și cum ați fi pe rețeaua principală (mainnet)", - "Skip": "Sari peste", - "Small (10 BPS)": "Mic (10 BPS)", - "Spread": "Spread", - "Stage": "Etapă", - "Starting...": "Începere...", - "Statistics": "Statistici", - "Stor Read": "Citire din Stocare", - "Stor Write": "Scriere în Stocare", - "Storage": "Spațiu", - "Storage Read": "Citire disc", - "Storage Read/s": "Citire/i din Stocare", - "Storage Write": "Scriere în Stocare", - "Storage Write/s": "Scriere/i în Stocare", - "Submitted Blocks": "Blocuri Trimise", - "Supporting Kaspa NG development": "Sprijinirea dezvoltării Kaspa NG", - "Syncing Cryptographic Proof...": "Sincronizare a Dovezii Criptografice...", - "Syncing DAG Blocks...": "Sincronizare Blocuri DAG...", - "Syncing Headers...": "Sincronizare Antete...", - "Syncing UTXO entries...": "Sincronizare înregistrări UTXO...", - "Syncing...": "Se sincronizează...", - "System": "Sistem", - "TPS": "TPS", - "Testnet 10": "Testnet 10", - "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", - "Testnet 11": "Testnet 11", - "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", - "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 nu este încă activat pentru testarea publică. Cu toate acestea, puteți configura nodul pentru a se conecta la testnetul privat pentru dezvoltatori în panoul de setări.", - "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Software-ul Kaspa NG reprezintă un efort continuu concentrat pe construirea unei platforme software de ultimă generație dedicată rețelei de criptomonede Kaspa BlockDAG. Cu o bază ideologică puternică, acest software acordă prioritate securității, confidențialității, performanței și descentralizării.", - "The balance may be out of date during node sync": "Soldul poate fi afișat eronat în timpul sincronizării nodului.", - "The following will guide you through the process of creating or importing a wallet.": "Următoarele instrucțiuni vă vor ghida prin procesul de creare sau importare a unui portofel.", - "The node is currently syncing with the Kaspa p2p network.": "Nodul se sincronizează în prezent cu rețeaua Kaspa p2p", - "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "Nodul este în prezent în proces de sincronizare cu rețeaua Kaspa p2p. Balanțele contului pot fi afișate eronat în timpul acestui proces.", - "The node is spawned as a child daemon process (recommended).": "Nodul este lansat ca un proces demon copil (recomandat).", - "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "Nodul rulează ca parte a procesului aplicației Kaspa-NG. Acest lucru reduce supraîncărcarea comunicării (experimental).", - "Theme Color": "Culoarea Temei", - "Theme Color:": "Culoarea Temei:", - "Theme Style": "Stil Temă", - "Theme Style:": "Stil Temă:", - "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Acest portofel nu vă va cere niciodată această frază mnemonică decât dacă inițiați manual o recuperare a cheii private.", - "Threshold": "Limită", - "Time Offset:": "Decalajul de timp:", - "Tip Hashes": "Tip Hashes", - "Tools ⏷": "Unelte", - "Total Rx": "Total Rx", - "Total Rx/s": "Total Rx/s", - "Total Tx": "Total Tx", - "Total Tx/s": "Total Tx/s", - "Track in the background": "Urmărește în fundal", - "Transactions": "Tranzacții", - "Transactions:": "Tranzacții:", - "Type": "Tip", - "UTXO Manager": "Manager UTXO", + "Main Kaspa network": "Основна мережа Kaspa", + "Mainnet": "Основна мережа", + "Mainnet (Main Kaspa network)": "Mainnet (Основна мережа Kaspa)", + "Managed by the Rusty Kaspa daemon": "Управляється демоном Rusty Kaspa", + "Market": "Ринок", + "Market Cap": "Капіталізація ринку", + "Market Monitor": "Огляд ринку", + "Mass Processed": "Оброблено маси", + "Maximize window": "Максимізувати вікно", + "Medium Narrow": "Середній Вузький", + "Medium Wide": "Середній Широкий", + "Memory": "Пам'ять", + "Mempool": "Пул пам'яті", + "Mempool Size": "Розмір пула пам'яті", + "Metrics": "Метрики", + "Metrics are not currently available": "Метрики на даний момент недоступні", + "Minimize the window": "Мінімізувати вікно", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "Модулі NPM для NodeJS", + "Network": "Мережа", + "Network Difficulty": "Складність мережі", + "Network Fees:": "Комісія мережі:", + "Network Interface": "Мережевий інтерфейс", + "Network Peers": "Піри мережі", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "Немає пірів", + "No public node selected - please select a public node": "Не вибрано жодного публічного вузла - будь ласка, виберіть публічний вузол", + "No transactions": "Немає транзакцій", + "No wallets found, please create a new wallet": "Не знайдено гаманців, будь ласка, створіть новий гаманец", + "Node": "Вузол", + "Node Status": "Статус вузла", + "Noise": "Шум", + "None": "Нічого", + "Not Connected": "Не підключено", + "Not connected": "Немає з'єднання", + "Notifications": "Сповіщення", + "Open Data Folder": "Відкрити папку з даними", + "Opening wallet:": "Відкриття гаманця:", + "Optional": "Додатково", + "Other operations": "Інші операції", + "Outbound": "Вихідний", + "Overview": "Огляд", + "Parents": "Батьки", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Минула медіана часу", + "Payment & Recovery Password": "Пароль для оплати та відновлення", + "Payment Request": "Запит на оплату", + "Peers": "Піри", + "Performance": "Продуктивність", + "Phishing Hint": "Підказка щодо шахрайства - фішингу", + "Ping:": "Пінг:", + "Please Confirm Deletion": "Будь ласка, підтвердіть видалення", + "Please configure your Kaspa NG settings": "Будь ласка, налаштуйте параметри Kaspa NG", + "Please connect to Kaspa p2p node": "Будь ласка, підключіться до P2P вузла Kaspa", + "Please create a stronger password": "Будь ласка, створіть надійніший пароль", + "Please enter": "Будь ласка, введіть", + "Please enter KAS amount to send": "Будь ласка, введіть суму KAS для відправки", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Будь ласка, введіть суму", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Будь ласка, введіть назву облікового запису", + "Please enter the wallet secret": "Будь ласка, введіть секрет гаманця", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Зверніть увагу, що це альфа-версія. Доки це повідомлення не буде видалено - уникайте використання цього програмного забезпечення з коштами основної мережі.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Зверніть увагу, копіювання в буфер обміну може призвести до ризику викриття вашого мнемонічного коду вірусам.", + "Please select an account type": "Будь ласка, виберіть тип облікового запису", + "Please select the private key to export": "Будь ласка, виберіть приватний ключ для експорту", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Будь ласка, встановіть вузол на 'Вимкнено', для видалення папки з даними", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Будь ласка, вкажіть назву основного облікового запису. Гаманець буде створено з основним обліковим записом. Після створення ви зможете створити додаткові облікові записи за потребою.", + "Please specify the name of the new wallet": "Будь ласка, вкажіть назву нового гаманця", + "Please specify the private key type for the new wallet": "Будь ласка, вкажіть тип приватного ключа для нового гаманця", + "Please wait for the node to sync or connect to a remote node.": "Будь ласка, зачекайте, поки вузол синхронізується або підключиться до віддаленого вузла.", + "Please wait for the node to sync...": "Будь ласка, зачекайте, поки вузол синхронізується...", + "Please wait...": "Будь ласка, зачекайте...", + "Presets": "Пресети", + "Price": "Ціна", + "Private Key Mnemonic": "Мнемоніка приватного ключа", + "Processed Bodies": "Оброблені тіла", + "Processed Dependencies": "Оброблені залежності", + "Processed Headers": "Оброблені заголовки", + "Processed Mass Counts": "Кількість оброблених мас", + "Processed Transactions": "Оброблені транзакції", + "Protocol:": "Протокол:", + "Public Node": "Публічний вузол", + "Public Nodes": "Публічні вузли", + "Public Server": "Публічний сервер", + "Public p2p Nodes for": "Публічні вузли P2P для", + "Random Public Node": "Випадковий публічний вузол", + "Range:": "Діапазон:", + "Receive Address": "Адреса отримання", + "Recommended arguments for the remote node: ": "Рекомендовані аргументи для віддаленого вузла:", + "Redistributables": "Розповсюджувані компоненти", + "Remote": "Віддалено", + "Remote Connection:": "Віддалене підключення:", + "Remote p2p Node Configuration": "Віддалена конфігурація вузла P2P", + "Removes security restrictions, allows for single-letter passwords": "Знімає обмеження на безпеку, дозволяє використовувати однолітерні паролі", + "Reset Settings": "Скинути налаштування", + "Reset VSPC": "Скинути VSPC", + "Resident Memory": "Резидентна пам'ять", + "Resources": "Ресурси", + "Resulting daemon arguments:": "Результати аргументів демона:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa на GitHub", + "Secret is too weak": "Секрет занадто слабкий", + "Secret score:": "Оцінка секрету:", + "Select Account": "Вибрати обліковий запис", + "Select Available Server": "Вибрати доступний сервер", + "Select Private Key Type": "Оберіть тип приватного ключа", + "Select Public Node": "Вибрати публічний вузол", + "Select Wallet": "Вибрати гаманець", + "Select a wallet to unlock": "Виберіть гаманець для розблокування", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Надіслати", + "Services": "Сервіси", + "Settings": "Налаштування", + "Show DAA": "Показати DAA", + "Show Grid": "Показати сітку", + "Show VSPC": "Показати VSPC", + "Show balances in alternate currencies for testnet coins": "Показувати баланси в альтернативних валютах для монет тестової мережі", + "Show passphrase": "Show passphrase", + "Show password": "Показати пароль", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Показує баланси в інших валютах (BTC, USD) при використанні монет тестової мережі, якщо ви в основній мережі", + "Skip": "Пропустити", + "Small (10 BPS)": "Малий (10 BPS)", + "Spread": "Поширення", + "Stage": "Етап", + "Starting...": "Запуск...", + "Statistics": "Статистика", + "Stor Read": "Читання з сховища", + "Stor Write": "Запис у сховище", + "Storage": "Сховище", + "Storage Read": "Читання з сховища", + "Storage Read/s": "Операції читання зі сховища", + "Storage Write": "Запис у сховище", + "Storage Write/s": "Операції запису до сховища", + "Strong": "Strong", + "Submitted Blocks": "Надіслані блоки", + "Supporting Kaspa NG development": "Підтримка розвитку Kaspa NG", + "Syncing Cryptographic Proof...": "Синхронізація криптографічного доказу...", + "Syncing DAG Blocks...": "Синхронізація блоків DAG...", + "Syncing Headers...": "Синхронізація заголовків...", + "Syncing UTXO entries...": "Синхронізація записів UTXO...", + "Syncing...": "Синхронізація...", + "System": "Система", + "TPS": "Транзакцій/сек. TPS", + "Testnet 10": "Тестова мережа 10", + "Testnet 10 (1 BPS)": "Тестова мережа 10 (1 BPS)", + "Testnet 11": "Тестова мережа 11", + "Testnet 11 (10 BPS)": "Тестова мережа 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Тестова мережа 11 ще не активована для публічного тестування. Однак ви можете налаштувати вузол для підключення до приватної тестової мережі розробника в панелі Налаштування.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Програмне забезпечення Kaspa NG є результатом постійних зусиль, спрямованих на створення передової програмної платформи, присвяченої криптовалютній мережі Kaspa BlockDAG. Ідеологічне за своєю суттю, це програмне забезпечення має сильний акцент на безпеці, конфіденційності, продуктивності та децентралізації.", + "The balance may be out of date during node sync": "Баланс може бути застарілим під час синхронізації вузла", + "The following will guide you through the process of creating or importing a wallet.": "Далі ви дізнаєтеся, як створити або імпортувати гаманець.", + "The node is currently syncing with the Kaspa p2p network.": "Вузол в даний час синхронізується з P2P мережею Kaspa.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "Наразі вузол синхронізується з P2P мережею Kaspa. Баланси облікових записів можуть бути застарілими.", + "The node is spawned as a child daemon process (recommended).": "Вузол створюється як дочірній демон (рекомендовано).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "Вузол працює як частина процесу додатку Kaspa-NG. Це зменшує накладні витрати на зв'язок (експериментально).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Колір теми", + "Theme Color:": "Колір теми:", + "Theme Style": "Стиль теми", + "Theme Style:": "Стиль теми:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Цей гаманець ніколи не запитає вас про цю мнемонічну фразу, якщо ви не ініціюєте відновлення приватного ключа вручну.", + "Threshold": "Поріг", + "Time Offset:": "Зсув часу:", + "Tip Hashes": "Хеші вершин", + "Tools ⏷": "Інструменти", + "Total Rx": "Загалом отримань", + "Total Rx/s": "Загалом отримань/сек.", + "Total Tx": "Загалом відправлень", + "Total Tx/s": "Загалом відправлень/сек.", + "Track in the background": "Відстеження в фоновому режимі", + "Transactions": "Транзакції", + "Transactions:": "Транзакції:", + "Type": "Тип", + "UTXO Manager": "Менеджер UTXO", "UTXOs": "UTXOs", "UTXOs:": "UTXOs:", - "Unable to change node settings until the problem is resolved": "Nu puteți schimba setările nodului până când problema este rezolvată", - "Unlock": "Deblocare", - "Unlock Wallet": "Deblochează portofel", - "Unlocking": "Deblocare", - "Update Available to version": "Actualizează Disponibil la versiune", - "Updating...": "Se actualizează...", - "Uptime:": "Perioadă de activitate:", - "Use 50%-75% of available system memory": "Folosește 50 %-75%din memoria disponibilă a sistemului", - "Use all available system memory": "Utilizați toată memoria sistemului disponibilă", - "User Agent": "Agent utilizator", - "User Interface": "Interfața utilizatorului", - "Very dangerous (may be cracked within few seconds)": "Foarte periculos (poate fi spart în câteva secunde)", - "Virt Parents": "Virt Parents", - "Virtual DAA Score": "Scor Virtual DAA", - "Virtual Memory": "Memorie Virtuală", - "Virtual Parent Hashes": "Virtual Parent Hashes", - "Volume": "Volum", - "WASM SDK for JavaScript and TypeScript": "WASM SDK pentru JavaScript și TypeScript", - "Wallet": "Portofel", - "Wallet Created": "Portofel Creat", - "Wallet Encryption Password": "Parolă de Criptare a Portofelului", - "Wallet Name": "Nume Portofel", - "Wallet Secret": "Secretul Portofelului", - "Wallet password is used to encrypt your wallet data.": "Parola portofelului este folosită pentru a cripta datele portofelului tău.", - "Wallet:": "Portofel:", - "We greatly appreciate your help in backing our efforts.": "Apreciam foarte mult ajutorul acordat în susținerea eforturilor noastre.", - "Welcome to Kaspa NG": "Bine ați venit în Kaspa NG", - "Xpub Keys": "Xpub Keys", - "You are currently not connected to the Kaspa node.": "În prezent, nu sunteți conectat la nodul Kaspa.", - "You can configure remote connection in Settings": "Poți configura conexiunea de la distanță din Setări", - "You can create multiple wallets, but only one wallet can be open at a time.": "Puteți crea mai multe portofele, dar în același timp poate fi deschis doar un singur portofel.", - "You must be connected to a node...": "Trebuie să fii conectat la un nod...", - "Your default wallet private key mnemonic is:": "Mnemonicul cheii private implicit a portofelului tău este:", - "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Fraza dvs. mnemonică vă permite să recreați cheia privată. Persoana care are acces la această frază mnemonică va avea control deplin asupra Kaspa stocate în portofel. Păstrați-vă fraza mnemonică în siguranță. Scrieți-o și stocați-o într-un loc sigur, preferabil într-un loc rezistent la foc. Nu stocați fraza mnemonică pe acest calculator sau pe un dispozitiv mobil. Acest portofel nu vă va solicita niciodată această frază mnemonică decât dacă inițiați manual o recuperare a cheii private.", - "Your private key mnemonic is:": "Mnemonicul cheii private este:", - "Your wallet has been created and is ready to use.": "Portofelul tău a fost creat și este gata de utilizare.", - "Zoom": "Mărire", - "amount to send": "suma de trimis", - "bye!": "La revedere!", - "gRPC Network Interface & Port": "Rețea gRPC Port & Interfață", - "gRPC Rx": "gRPC Rx", - "gRPC Rx/s": "gRPC Rx/s", - "gRPC Tx": "gRPC Tx", - "gRPC Tx/s": "gRPC Tx/s", - "of": "din", - "p2p RPC": "p2p RPC", - "p2p Rx": "p2p Rx", - "p2p Rx/s": "p2p Rx/s", - "p2p Tx": "p2p Tx", - "p2p Tx/s": "p2p Tx/s", - "peer": "partner", - "peers": "peers", - "wRPC Borsh Rx": "wRPC Borsh Rx", - "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", - "wRPC Borsh Tx": "wRPC Borsh Tx", - "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", - "wRPC Connection Settings": "Setări de Conexiune wRPC", - "wRPC Encoding:": "Codificare wRPC:", - "wRPC JSON Rx": "wRPC JSON Rx", - "wRPC JSON Rx/s": "wRPC JSON Rx/s", - "wRPC JSON Tx": "wRPC JSON Tx", - "wRPC JSON Tx/s": "wRPC JSON Tx/s", - "wRPC URL:": "wRPC URL: " - }, - "ru": { - "1 BPS test network": "1 BPS тестовая сеть", - "10 BPS test network": "10 BPS тестовая сеть", - "12 word mnemonic": "12 слов мнемонической фразы", - "24 word mnemonic": "24 слова мнемонической фразы", - "24h Change": "Изменение за 24 часа", - "A binary at another location is spawned a child process (experimental, for development purposes only).": "Бинарный файл в другом месте порождает дочерний процесс (экспериментально, только для разработки).", - "A random node will be selected on startup": "При запуске будет выбрана случайная нода.", - "A wallet is stored in a file on your computer.": "Кошелёк хранится в файле на вашем компьютере.", - "Account Index": "Индекс аккаунта", - "Account Name": "Имя аккаунта", - "Account:": "Аккаунт:", - "Activate custom daemon arguments": "Активировать пользовательские аргументы службы", - "Active p2p Peers": "Активные p2p пиры", - "Address derivation scan": "Сканирование производных адреса", - "Address:": "Адрес:", - "Advanced": "Расширенные", - "All": "Все", - "Allow custom arguments for the Rusty Kaspa daemon": "Разрешить настраиваемые аргументы для службы Rusty Kaspa.", - "Allows you to take screenshots from within the application": "Позволяет вам делать скриншоты прямо из приложения", - "Apply": "Применить", - "Balance: N/A": "Баланс: Недоступен", - "Bandwidth": "Пропускная способность", - "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Из-за своего акцента на безопасности и производительности, это программное обеспечение полностью разработано на Rust, что требует значительно больше времени и усилий по сравнению с другими традиционными современными веб-ориентированными программами.", - "Bezier Curves": "Кривые Безье", + "Unable to change node settings until the problem is resolved": "Неможливо змінити налаштування вузла, доки проблема не буде вирішена", + "Unlock": "Розблокувати", + "Unlock Wallet": "Розблокувати гаманець", + "Unlocking": "Розблокування", + "Update Available to version": "Доступне оновлення до версії", + "Updating...": "Оновлення...", + "Uptime:": "Час роботи:", + "Use 50%-75% of available system memory": "Використовувати 50%-75% від доступної пам'яті системи", + "Use all available system memory": "Використовувати весь доступний обсяг оперативної пам'яті системи", + "User Agent": "Агент користувача", + "User Interface": "Інтерфейс користувача", + "Very dangerous (may be cracked within few seconds)": "Дуже небезпечно (може бути зламаний за кілька секунд)", + "Very weak": "Very weak", + "Virt Parents": "Віртуальні батьки", + "Virtual DAA Score": "Віртуальний показник DAA", + "Virtual Memory": "Віртуальна пам'ять", + "Virtual Parent Hashes": "Віртуальні хеші батьків", + "Volume": "Об'єм", + "WASM SDK for JavaScript and TypeScript": "WASM SDK для JavaScript та TypeScript", + "Wallet": "Гаманець", + "Wallet Created": "Гаманець створено", + "Wallet Encryption Password": "Пароль шифрування гаманця", + "Wallet Name": "Назва гаманця", + "Wallet Secret": "Секрет гаманця", + "Wallet password is used to encrypt your wallet data.": "Пароль гаманця використовується для шифрування даних вашого гаманця.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Гаманець:", + "We greatly appreciate your help in backing our efforts.": "Ми високо цінуємо вашу допомогу в підтримці наших зусиль.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Ласкаво просимо до Kaspa NG", + "Xpub Keys": "Ключі Xpub", + "You are currently not connected to the Kaspa node.": "Зараз ви не підключені до вузла Kaspa.", + "You can configure remote connection in Settings": "Ви можете налаштувати віддалене підключення в Налаштуваннях", + "You can create multiple wallets, but only one wallet can be open at a time.": "Ви можете створити кілька гаманців, але одночасно може бути відкритий лише один гаманець.", + "You must be connected to a node...": "Ви повинні бути підключені до вузла...", + "Your default wallet private key mnemonic is:": "Ваш мнемонічний приватний ключ для даного гаманця:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Ваша мнемонічна фраза дозволяє повторно створити ваш приватний ключ. Особа, яка має доступ до цієї мнемонічної фрази, матиме повний контроль над Kaspa, що зберігається у ньому. Зберігайте вашу мнемонічну фразу в безпеці. Запишіть її та зберігайте у сейфі, бажано у вогнетривкому місці. Не зберігайте мнемонічну фразу на цьому комп'ютері або мобільному пристрої. Цей гаманець ніколи не запитає вас про цю мнемонічну фразу, якщо ви не ініціюєте відновлення приватного ключа вручну.", + "Your private key mnemonic is:": "Мнемоніка вашого приватного ключа:", + "Your wallet has been created and is ready to use.": "Ваш гаманець створено і він готовий до використання.", + "Zoom": "Масштаб", + "amount to send": "сума для відправки", + "bye!": "до побачення!", + "gRPC Network Interface & Port": "Інтерфейс та порт мережі gRPC", + "gRPC Rx": "gRPC отримань", + "gRPC Rx/s": "gRPC отримань/сек.", + "gRPC Tx": "gRPC відправлень", + "gRPC Tx/s": "gRPC відправлень/сек.", + "of": "з", + "p2p RPC": "P2P RPC", + "p2p Rx": "P2P отримань", + "p2p Rx/s": "P2P отримань/сек.", + "p2p Tx": "P2P відправлень", + "p2p Tx/s": "P2P відправлень/сек.", + "peer": "пір", + "peers": "піри", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh отримань", + "wRPC Borsh Rx/s": "wRPC Borsh отримань/сек.", + "wRPC Borsh Tx": "wRPC Borsh відправлень", + "wRPC Borsh Tx/s": "wRPC Borsh отримань/сек.", + "wRPC Connection Settings": "Налаштування підключення wRPC", + "wRPC Encoding:": "Кодування wRPC:", + "wRPC JSON Rx": "wRPC JSON отримань", + "wRPC JSON Rx/s": "wRPC JSON отримань/сек.", + "wRPC JSON Tx": "wRPC JSON відправлень", + "wRPC JSON Tx/s": "wRPC JSON відправлень/сек.", + "wRPC URL:": "wRPC URL:", + "words": "words" + }, + "ur": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS test network", + "10 BPS test network": "10 BPS test network", + "12 word mnemonic": "12 word mnemonic", + "24 word mnemonic": "24 word mnemonic", + "24h Change": "24h Change", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "A binary at another location is spawned a child process (experimental, for development purposes only).", + "A random node will be selected on startup": "A random node will be selected on startup", + "A wallet is stored in a file on your computer.": "A wallet is stored in a file on your computer.", + "Account Index": "Account Index", + "Account Name": "Account Name", + "Account:": "Account:", + "Activate custom daemon arguments": "Activate custom daemon arguments", + "Active p2p Peers": "Active p2p Peers", + "Address derivation scan": "Address derivation scan", + "Address:": "Address:", + "Advanced": "Advanced", + "Advanced Options": "Advanced Options", + "All": "All", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Allow custom arguments for the Rusty Kaspa daemon", + "Allows you to take screenshots from within the application": "Allows you to take screenshots from within the application", + "Apply": "Apply", + "Balance: N/A": "Balance: N/A", + "Bandwidth": "Bandwidth", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.", + "Bezier Curves": "Bezier Curves", "Block DAG": "Block DAG", - "Block Scale": "Размер блока", - "Blocks": "Блоки", - "Bodies": "Тела блоков", - "Borsh Active Connections": "Активные соединения Borsh", - "Borsh Connection Attempts": "Попытки Borsh-подключения", - "Borsh Handshake Failures": "Сбои при установлении связи Borsh", - "Build": "Сборка", - "CONNECTED": "ПОДКЛЮЧЕНО", - "CPU": "ЦПУ", - "Cache Memory Size": "Размер кэш-памяти", - "Cache Memory Size:": "Размер кэш-памяти:", - "Cancel": "Отменить", - "Cannot delete data folder while the node is running": "Невозможно удалить папку с данными, пока нода работает.", - "Capture a screenshot": "Сделать снимок экрана", - "Center VSPC": "Центр VSPC", - "Chain Blocks": "Цепочка блоков", - "Change Address": "Изменить адрес", - "Check for Software Updates on GitHub": "Проверьте наличие обновлений программного обеспечения на GitHub.", - "Check for Updates": "Проверить наличие обновлений", - "Clear": "Чисто", - "Click to try another server...": "Нажмите, чтобы попробовать другой сервер...", - "Client RPC": "Клиент RPC", - "Close": "Закрыть", - "Confirm wallet password": "Подтвердите пароль кошелька", - "Connect to a local node (localhost)": "Подключитесь к локальной ноде (localhost)", - "Connecting to": "Подключение к", - "Connection": "Соединение", - "Connections": "Соединения", - "Connects to a Remote Rusty Kaspa Node via wRPC.": "Подключается к удалённой ноде Rusty Kaspa через wRPC.", - "Conservative": "Консервативный", - "Continue": "Продолжить", - "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Взносы, направленные на этот проект, непосредственно поддерживают программное обеспечение Kaspa NG и его экосистему.", - "Copied to clipboard": "Скопировано в буфер обмена", - "Copy": "Копировать", - "Copy logs to clipboard": "Копирование журналов в буфер обмена", - "Create New Account": "Создать новый аккаунт", - "Create New Wallet": "Создать новый кошелёк", - "Create new wallet": "Создать новый кошелёк", - "Creating Account": "Создание аккаунта", - "Creating Wallet": "Создание кошелька", - "Custom": "Пользовательский", - "Custom Public Node": "Пользовательская общедоступная нода", - "Custom arguments:": "Пользовательские аргументы:", + "Block Scale": "Block Scale", + "Blocks": "Blocks", + "Bodies": "Bodies", + "Borsh Active Connections": "Borsh Active Connections", + "Borsh Connection Attempts": "Borsh Connection Attempts", + "Borsh Handshake Failures": "Borsh Handshake Failures", + "Build": "Build", + "CONNECTED": "CONNECTED", + "CPU": "CPU", + "Cache Memory Size": "Cache Memory Size", + "Cache Memory Size:": "Cache Memory Size:", + "Cancel": "Cancel", + "Cannot delete data folder while the node is running": "Cannot delete data folder while the node is running", + "Capture a screenshot": "Capture a screenshot", + "Center VSPC": "Center VSPC", + "Chain Blocks": "Chain Blocks", + "Change Address": "Change Address", + "Check for Software Updates on GitHub": "Check for Software Updates on GitHub", + "Check for Updates": "Check for Updates", + "Clear": "Clear", + "Click to try another server...": "Click to try another server...", + "Client RPC": "Client RPC", + "Close": "Close", + "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Confirm wallet password", + "Connect to a local node (localhost)": "Connect to a local node (localhost)", + "Connecting to": "Connecting to", + "Connection": "Connection", + "Connections": "Connections", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Connects to a Remote Rusty Kaspa Node via wRPC.", + "Conservative": "Conservative", + "Continue": "Continue", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.", + "Copied to clipboard": "Copied to clipboard", + "Copy": "Copy", + "Copy logs to clipboard": "Copy logs to clipboard", + "Create New Account": "Create New Account", + "Create New Wallet": "Create New Wallet", + "Create Wallet": "Create Wallet", + "Create new wallet": "Create new wallet", + "Creating Account": "Creating Account", + "Creating Wallet": "Creating Wallet", + "Custom": "Custom", + "Custom Public Node": "Custom Public Node", + "Custom arguments:": "Custom arguments:", + "Custom data storage folder": "Custom data storage folder", "DAA": "DAA", - "DAA Offset": "DAA-смещение", - "DAA Range": "DAA-диапазон", - "DB Blocks": "DB Блоки", - "DB Headers": "DB Заголовки", - "Database Blocks": "Блоки базы данных", - "Database Headers": "Заголовки базы данных", - "Decrypting wallet, please wait...": "Расшифровка кошелька, пожалуйста, подождите...", - "Default": "По умолчанию", - "Default Account Name": "Имя аккаунта по умолчанию", - "Delete Data Folder": "Удалить папку с данными", - "Dependencies": "Зависимости", - "Derivation Indexes": "Индексы производных", - "Details": "Детали", - "Developer Mode": "Режим разработчика", - "Developer Resources": "Ресурсы разработчика", - "Developer mode enables advanced and experimental features": "Режим разработчика позволяет использовать расширенные и экспериментальные функции", - "Difficulty": "Сложность", - "Dimensions": "Размеры", - "Disable password score restrictions": "Отключить ограничения по оценке сложности пароля", - "Disabled": "Отключено", - "Disables node connectivity (Offline Mode).": "Отключает соединение ноды (оффлайн режим).", + "DAA Offset": "DAA Offset", + "DAA Range": "DAA Range", + "DB Blocks": "DB Blocks", + "DB Headers": "DB Headers", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", + "Database Blocks": "Database Blocks", + "Database Headers": "Database Headers", + "Decrypting wallet, please wait...": "Decrypting wallet, please wait...", + "Default": "Default", + "Default Account Name": "Default Account Name", + "Delete Data Folder": "Delete Data Folder", + "Dependencies": "Dependencies", + "Derivation Indexes": "Derivation Indexes", + "Details": "Details", + "Developer Mode": "Developer Mode", + "Developer Resources": "Developer Resources", + "Developer mode enables advanced and experimental features": "Developer mode enables advanced and experimental features", + "Difficulty": "Difficulty", + "Dimensions": "Dimensions", + "Disable password safety rules": "Disable password safety rules", + "Disabled": "Disabled", + "Disables node connectivity (Offline Mode).": "Disables node connectivity (Offline Mode).", "Discord": "Discord", - "Donations": "Пожертвования", - "Double click on the graph to re-center...": "Дважды щёлкните по графику, чтобы центрировать его...", + "Donations": "Donations", + "Double click on the graph to re-center...": "Double click on the graph to re-center...", "ECDSA": "ECDSA", - "Enable Market Monitor": "Включить мониторинг рынка", - "Enable UPnP": "Включить UPnP", - "Enable custom daemon arguments": "Включить пользовательские аргументы службы", - "Enable experimental features": "Включить экспериментальные функции", - "Enable gRPC": "Включить gRPC", - "Enable optional BIP39 passphrase": "Включить дополнительную фразу BIP39", - "Enable screen capture": "Включить захват экрана", - "Enables features currently in development": "Включает функции, находящиеся в разработке", - "Enter": "Ввод", - "Enter account name (optional)": "Введите имя аккаунта (необязательно)", - "Enter first account name": "Введите имя аккаунта", - "Enter phishing hint": "Введите фишинговую подсказку", - "Enter the amount": "Введите сумму", - "Enter the password for your wallet": "Введите пароль для вашего кошелька", - "Enter the password to unlock your wallet": "Введите пароль для разблокировки вашего кошелька", - "Enter wallet name": "Введите имя кошелька", - "Enter wallet password": "Введите пароль кошелька", - "Enter your wallet secret": "Введите секрет своего кошелька", - "Explorer": "Обозреватель", - "Export Wallet Data": "Экспорт данных кошелька", - "Faucet": "Криптокран", - "File Handles": "Файловые дескрипторы", - "Filename:": "Имя файла:", - "Final Amount:": "Окончательная сумма:", - "GitHub Release": "GitHub Релиз", - "Go to Settings": "Перейдите в Настройки", - "Handles": "Дескрипторы", - "Headers": "Заголовки", + "Enable Market Monitor": "Enable Market Monitor", + "Enable UPnP": "Enable UPnP", + "Enable custom daemon arguments": "Enable custom daemon arguments", + "Enable experimental features": "Enable experimental features", + "Enable gRPC": "Enable gRPC", + "Enable optional BIP39 passphrase": "Enable optional BIP39 passphrase", + "Enable screen capture": "Enable screen capture", + "Enables features currently in development": "Enables features currently in development", + "Enter": "Enter", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Enter account name (optional)", + "Enter first account name": "Enter first account name", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Enter phishing hint", + "Enter the amount": "Enter the amount", + "Enter the password for your wallet": "Enter the password for your wallet", + "Enter the password to unlock your wallet": "Enter the password to unlock your wallet", + "Enter wallet name": "Enter wallet name", + "Enter wallet password": "Enter wallet password", + "Enter your wallet secret": "Enter your wallet secret", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorer", + "Export Wallet Data": "Export Wallet Data", + "Faucet": "Faucet", + "File Handles": "File Handles", + "Filename:": "Filename:", + "Final Amount:": "Final Amount:", + "Full Screen": "Full Screen", + "GitHub Release": "GitHub Release", + "Go to Settings": "Go to Settings", + "Good": "Good", + "Handles": "Handles", + "Headers": "Headers", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", "IBD:": "IBD:", - "If not specified, the account will be represented by the numeric id.": "Если не указано, учётная запись будет представлена числовым идентификатором.", - "If you are running locally, use: ": "Если вы работаете локально, используйте:", - "Import existing": "Импорт существующих", - "Inbound": "Входящий", - "Include QoS Priority Fees": "Включают плату за приоритет QoS", - "Integrated Daemon": "Интегрированная служба", - "Invalid daemon arguments": "Неверные аргументы службы", - "Invalid network type - expected: testnet-10 connected to: testnet-11": "Неверный тип сети - ожидается: testnet-10 подключено к: testnet-11", - "Invalid wRPC URL": "Неверный URL wRPC", - "Json Active Connections": "Активные Json-соединения", - "Json Connection Attempts": "Попытки подключения Json", - "Json Handshake Failures": "Сбои при Json-соединении", + "If not specified, the account will be represented by the numeric id.": "If not specified, the account will be represented by the numeric id.", + "If you are running locally, use: ": "If you are running locally, use: ", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Import existing", + "Importing Wallet": "Importing Wallet", + "Inbound": "Inbound", + "Include QoS Priority Fees": "Include QoS Priority Fees", + "Integrated Daemon": "Integrated Daemon", + "Invalid daemon arguments": "Invalid daemon arguments", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Invalid network type - expected: testnet-10 connected to: testnet-11", + "Invalid wRPC URL": "Invalid wRPC URL", + "Json Active Connections": "Json Active Connections", + "Json Connection Attempts": "Json Connection Attempts", + "Json Handshake Failures": "Json Handshake Failures", "Kaspa Discord": "Kaspa Discord", - "Kaspa Integration Guide": "Kaspa Руководство по интеграции", + "Kaspa Integration Guide": "Kaspa Integration Guide", "Kaspa NG": "Kaspa NG", "Kaspa NG Online": "Kaspa NG Online", "Kaspa NG Web App": "Kaspa NG Web App", - "Kaspa NG on GitHub": "Kaspa NG на GitHub", - "Kaspa NG online": "Kaspa NG онлайн", - "Kaspa Network": "Kaspa Сеть", - "Kaspa Node": "Kaspa Нода", - "Kaspa p2p Network & Node Connection": "Kaspa p2p-соединение с сетью и нодой", - "Kaspa p2p Node": "Kaspa p2p-нода", - "Kaspa p2p Node & Connection": "Kaspa p2p-нода и соединение", - "Key Perf.": "Ключевая производительность", - "Language:": "Язык:", - "Large (1 BPS)": "Большой (1 BPS)", - "Levels": "Уровни", - "License Information": "Информация о лицензии", - "Local": "Лосальный", - "Local p2p Node Configuration": "Локальная конфигурация p2p-ноды", - "Logs": "Журналы", - "MT": "Ср.время", - "Main Kaspa network": "Основная сеть Kaspa", - "Mainnet": "Основная сеть", - "Mainnet (Main Kaspa network)": "Основная сеть (Основная сеть Kaspa)", - "Managed by the Rusty Kaspa daemon": "Управляется службой Rusty Kaspa", - "Market": "Рынок", - "Market Cap": "Рыночная капитализация", - "Market Monitor": "Мониторинг рынка", - "Mass Processed": "Массовая обработка", - "Medium Narrow": "Средний узкий", - "Medium Wide": "Средний широкий", - "Memory": "Память", + "Kaspa NG on GitHub": "Kaspa NG on GitHub", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Kaspa Network", + "Kaspa Node": "Kaspa Node", + "Kaspa p2p Network & Node Connection": "Kaspa p2p Network & Node Connection", + "Kaspa p2p Node": "Kaspa p2p Node", + "Kaspa p2p Node & Connection": "Kaspa p2p Node & Connection", + "Key Perf.": "Key Perf.", + "Language:": "Language:", + "Large (1 BPS)": "Large (1 BPS)", + "Levels": "Levels", + "License Information": "License Information", + "Local": "Local", + "Local p2p Node Configuration": "Local p2p Node Configuration", + "Logs": "Logs", + "MT": "MT", + "Main Kaspa network": "Main Kaspa network", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (Main Kaspa network)", + "Managed by the Rusty Kaspa daemon": "Managed by the Rusty Kaspa daemon", + "Market": "Market", + "Market Cap": "Market Cap", + "Market Monitor": "Market Monitor", + "Mass Processed": "Mass Processed", + "Maximize window": "Maximize window", + "Medium Narrow": "Medium Narrow", + "Medium Wide": "Medium Wide", + "Memory": "Memory", "Mempool": "Mempool", - "Mempool Size": "Размер Mempool", - "Metrics": "Метрики", - "Metrics are not currently available": "Метрики в настоящее время недоступны", - "NPM Modules for NodeJS": "NPM модули для NodeJS", - "Network": "Сеть", - "Network Difficulty": "Сложность сети", - "Network Fees:": "Сетевые комиссии:", - "Network Interface": "Сетевой интерфейс", - "Network Peers": "Сетевые пиры", - "No peers": "Нет пиров", - "No public node selected - please select a public node": "Не выбрана общедоступная нода - пожалуйста, выберите общедоступную ноду", - "No transactions": "Нет транзакций", - "No wallets found, please create a new wallet": "Нет найденных кошельков, пожалуйста, создайте новый кошелёк", - "Node": "Нода", - "Node Status": "Статус ноды", - "Noise": "Шум", - "None": "Ни одного", - "Not Connected": "Не подключено", - "Not connected": "Не подключено", - "Notifications": "Уведомления", - "Open Data Folder": "Открыть папку с данными", - "Opening wallet:": "Открытие кошелька:", - "Optional": "Дополнительно", - "Other operations": "Другие операции", - "Outbound": "Исходящий", - "Overview": "Обзор", - "Parents": "Родители", - "Past Median Time": "Прошлое среднее время", - "Payment & Recovery Password": "Оплата и восстановление пароля", - "Payment Request": "Запрос на оплату", - "Peers": "Пиры", - "Performance": "Производительность", - "Phishing Hint": "Фишинговая подсказка", - "Ping:": "Пинг:", - "Please Confirm Deletion": "Пожалуйста, подтвердите удаление", - "Please configure your Kaspa NG settings": "Пожалуйста, настройте свои параметры Kaspa NG", - "Please connect to Kaspa p2p node": "Пожалуйста, подключитесь к p2p-ноде Kaspa", - "Please create a stronger password": "Пожалуйста, создайте более надёжный пароль", - "Please enter": "Пожалуйста, введите", - "Please enter KAS amount to send": "Пожалуйста, введите сумму KAS для отправки", - "Please enter an amount": "Пожалуйста, введите сумму", - "Please enter the account name": "Пожалуйста, введите имя аккаунта", - "Please enter the wallet secret": "Пожалуйста, введите секрет кошелька", - "Please note that this is a beta release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Пожалуйста, обратите внимание, что это альфа-версия. Пока это сообщение не будет удалено, пожалуйста, избегайте использования кошелька с основными средствами.", - "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Пожалуйста, обратите внимание, что копирование в буфер обмена несёт риск раскрытия вашей мнемоники вредоносным программам.", - "Please select an account type": "Пожалуйста, выберите тип аккаунта", - "Please select the private key to export": "Пожалуйста, выберите приватный ключ для экспорта", - "Please set node to 'Disabled' to delete the data folder": "Пожалуйста, установите значение ноды 'Отключено', чтобы удалить папку с данными", - "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Пожалуйста, укажите имя аккаунта по умолчанию. Кошелёк будет создан с аккаунтом по умолчанию. После создания вы сможете создавать дополнительные аккаунты по мере необходимости.", - "Please specify the name of the new wallet": "Пожалуйста, укажите имя нового кошелька", - "Please specify the private key type for the new wallet": "Пожалуйста, укажите тип приватного ключа для нового кошелька", - "Please wait for the node to sync or connect to a remote node.": "Пожалуйста, подождите, пока нода синхронизируется или подключится к удалённой ноде.", - "Please wait for the node to sync...": "Пожалуйста, подождите, пока нода синхронизируется...", - "Please wait...": "Пожалуйста, подождите...", - "Presets": "Предустановки", - "Price": "Цена", - "Private Key Mnemonic": "Приватный ключ мнемоники", - "Processed Bodies": "Обработанные тела блоков", - "Processed Dependencies": "Обработанные зависимости", - "Processed Headers": "Обработанные заголовки", - "Processed Mass Counts": "Обработанные счетчики массы", - "Processed Transactions": "Обработанные транзакции", - "Protocol:": "Протокол:", - "Public Node": "Публичная нода", - "Public Nodes": "Публичные ноды", - "Public Server": "Публичный сервер", - "Public p2p Nodes for": "Публичные p2p-ноды для", - "Random Public Node": "Случайная публичная нода", - "Range:": "Диапазон:", - "Receive Address": "Адрес получения", - "Recommended arguments for the remote node: ": "Рекомендуемые аргументы для удалённой ноды:", - "Remote": "Удалённый", - "Remote Connection:": "Удалённое подключение:", - "Remote p2p Node Configuration": " Конфигурация удалённой p2p-ноды", - "Removes security restrictions, allows for single-letter passwords": "Удаляет ограничения безопасности, позволяет использовать однобуквенные пароли", - "Reset Settings": "Сбросить настройки", - "Reset VSPC": "Сбросить VSPC", - "Resident Memory": "Резидентная память", - "Resources": "Ресурсы", - "Resulting daemon arguments:": "Результирующие аргументы службы:", - "Rust Wallet SDK": "Rust Wallet SDK", - "Rusty Kaspa on GitHub": "Rusty Kaspa на GitHub", - "Secret is too weak": "Секрет слишком слабый", - "Secret score:": "Оценка секрета:", - "Select Account": "Выберите аккаунт", - "Select Available Server": "Выберите доступный сервер", - "Select Private Key Type": "Выберите тип приватного ключа", - "Select Public Node": "Выберите публичную ноду", - "Select Wallet": "Выберите кошелёк", - "Select a wallet to unlock": "Выберите кошелёк для разблокировки", - "Send": "Отправить", - "Services": "Сервисы", - "Settings": "Настройки", - "Show DAA": "Показать DAA", - "Show Grid": "Показать сетку", - "Show VSPC": "Показать VSPC", - "Show balances in alternate currencies for testnet coins": "Показывайте балансы в альтернативных валютах для тестовых монет", - "Show password": "Показать пароль", - "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Показывает балансы в альтернативных валютах (BTC, USD), когда используются тестовые монеты, как будто вы находитесь на основной сети", - "Skip": "Пропустить", - "Small (10 BPS)": "Маленький (10 BPS)", - "Spread": "Разброс", - "Stage": "Этап", - "Starting...": "Начало...", - "Statistics": "Статистика", - "Stor Read": "Чтение с диска", - "Stor Write": "Запись на диск", - "Storage": "Диск", - "Storage Read": "Чтение с диска", - "Storage Read/s": "Чтение с диска/сек.", - "Storage Write": "Запись на диск", - "Storage Write/s": "Запись на диск/сек.", - "Submitted Blocks": "Отправленные блоки", - "Supporting Kaspa NG development": "Поддержка разработки Kaspa NG", - "Syncing Cryptographic Proof...": "Синхронизация криптографического доказательства...", - "Syncing DAG Blocks...": "Синхронизация блоков DAG...", - "Syncing Headers...": "Синхронизация заголовков...", - "Syncing UTXO entries...": "Синхронизация UTXO-записей...", - "Syncing...": "Синхронизация...", - "System": "Система", + "Mempool Size": "Mempool Size", + "Metrics": "Metrics", + "Metrics are not currently available": "Metrics are not currently available", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM Modules for NodeJS", + "Network": "Network", + "Network Difficulty": "Network Difficulty", + "Network Fees:": "Network Fees:", + "Network Interface": "Network Interface", + "Network Peers": "Network Peers", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "No peers", + "No public node selected - please select a public node": "No public node selected - please select a public node", + "No transactions": "No transactions", + "No wallets found, please create a new wallet": "No wallets found, please create a new wallet", + "Node": "Node", + "Node Status": "Node Status", + "Noise": "Noise", + "None": "None", + "Not Connected": "Not Connected", + "Not connected": "Not connected", + "Notifications": "Notifications", + "Open Data Folder": "Open Data Folder", + "Opening wallet:": "Opening wallet:", + "Optional": "Optional", + "Other operations": "Other operations", + "Outbound": "Outbound", + "Overview": "Overview", + "Parents": "Parents", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Past Median Time", + "Payment & Recovery Password": "Payment & Recovery Password", + "Payment Request": "Payment Request", + "Peers": "Peers", + "Performance": "Performance", + "Phishing Hint": "Phishing Hint", + "Ping:": "Ping:", + "Please Confirm Deletion": "Please Confirm Deletion", + "Please configure your Kaspa NG settings": "Please configure your Kaspa NG settings", + "Please connect to Kaspa p2p node": "Please connect to Kaspa p2p node", + "Please create a stronger password": "Please create a stronger password", + "Please enter": "Please enter", + "Please enter KAS amount to send": "Please enter KAS amount to send", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Please enter an amount", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Please enter the account name", + "Please enter the wallet secret": "Please enter the wallet secret", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.", + "Please select an account type": "Please select an account type", + "Please select the private key to export": "Please select the private key to export", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Please set node to 'Disabled' to delete the data folder", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.", + "Please specify the name of the new wallet": "Please specify the name of the new wallet", + "Please specify the private key type for the new wallet": "Please specify the private key type for the new wallet", + "Please wait for the node to sync or connect to a remote node.": "Please wait for the node to sync or connect to a remote node.", + "Please wait for the node to sync...": "Please wait for the node to sync...", + "Please wait...": "Please wait...", + "Presets": "Presets", + "Price": "Price", + "Private Key Mnemonic": "Private Key Mnemonic", + "Processed Bodies": "Processed Bodies", + "Processed Dependencies": "Processed Dependencies", + "Processed Headers": "Processed Headers", + "Processed Mass Counts": "Processed Mass Counts", + "Processed Transactions": "Processed Transactions", + "Protocol:": "Protocol:", + "Public Node": "Public Node", + "Public Nodes": "Public Nodes", + "Public Server": "Public Server", + "Public p2p Nodes for": "Public p2p Nodes for", + "Random Public Node": "Random Public Node", + "Range:": "Range:", + "Receive Address": "Receive Address", + "Recommended arguments for the remote node: ": "Recommended arguments for the remote node: ", + "Redistributables": "Redistributables", + "Remote": "Remote", + "Remote Connection:": "Remote Connection:", + "Remote p2p Node Configuration": "Remote p2p Node Configuration", + "Removes security restrictions, allows for single-letter passwords": "Removes security restrictions, allows for single-letter passwords", + "Reset Settings": "Reset Settings", + "Reset VSPC": "Reset VSPC", + "Resident Memory": "Resident Memory", + "Resources": "Resources", + "Resulting daemon arguments:": "Resulting daemon arguments:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa on GitHub", + "Secret is too weak": "Secret is too weak", + "Secret score:": "Secret score:", + "Select Account": "Select Account", + "Select Available Server": "Select Available Server", + "Select Private Key Type": "Select Private Key Type", + "Select Public Node": "Select Public Node", + "Select Wallet": "Select Wallet", + "Select a wallet to unlock": "Select a wallet to unlock", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Send", + "Services": "Services", + "Settings": "Settings", + "Show DAA": "Show DAA", + "Show Grid": "Show Grid", + "Show VSPC": "Show VSPC", + "Show balances in alternate currencies for testnet coins": "Show balances in alternate currencies for testnet coins", + "Show passphrase": "Show passphrase", + "Show password": "Show password", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet", + "Skip": "Skip", + "Small (10 BPS)": "Small (10 BPS)", + "Spread": "Spread", + "Stage": "Stage", + "Starting...": "Starting...", + "Statistics": "Statistics", + "Stor Read": "Stor Read", + "Stor Write": "Stor Write", + "Storage": "Storage", + "Storage Read": "Storage Read", + "Storage Read/s": "Storage Read/s", + "Storage Write": "Storage Write", + "Storage Write/s": "Storage Write/s", + "Strong": "Strong", + "Submitted Blocks": "Submitted Blocks", + "Supporting Kaspa NG development": "Supporting Kaspa NG development", + "Syncing Cryptographic Proof...": "Syncing Cryptographic Proof...", + "Syncing DAG Blocks...": "Syncing DAG Blocks...", + "Syncing Headers...": "Syncing Headers...", + "Syncing UTXO entries...": "Syncing UTXO entries...", + "Syncing...": "Syncing...", + "System": "System", "TPS": "TPS", "Testnet 10": "Testnet 10", "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", "Testnet 11": "Testnet 11", "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", - "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 ещё не активирована для публичного тестирования. Однако вы можете настроить ноду для подключения к частной тестовой сети разработчиков в панели настроек.", - "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Программное обеспечение Kaspa NG представляет собой непрерывную работу, направленную на создание современной программной платформы, предназначенной для криптовалютной сети Kaspa BlockDAG. Идеологическое по своей сути, это программное обеспечение уделяет приоритетное внимание безопасности, конфиденциальности, производительности и децентрализации.", - "The balance may be out of date during node sync": "Баланс может быть устаревшим во время синхронизации ноды", - "The following will guide you through the process of creating or importing a wallet.": "Следующее руководство поможет вам пройти процесс создания или импорта кошелька.", - "The node is currently syncing with the Kaspa p2p network.": "В настоящее время нода синхронизируется с p2p-сетью Kaspa.", - "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "В настоящее время нода синхронизируется с p2p-сетью Kaspa.. Балансы счетов могут быть устаревшими.", - "The node is spawned as a child daemon process (recommended).": "Нода создаётся в качестве дочерней службы/процесса (рекомендуется).", - "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "Нода работает в рамках процесса приложения Kaspa-NG. Это снижает накладные расходы на связь (экспериментально).", - "Theme Color": "Цвет темы", - "Theme Color:": "Цвет темы:", - "Theme Style": "Стиль темы", - "Theme Style:": "Стиль темы:", - "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Этот кошелёк никогда не будет запрашивать у вас эту мнемоническую фразу, если вы не инициируете восстановление приватного ключа вручную.", - "Threshold": "Предел", - "Time Offset:": "Смещение времени:", - "Tip Hashes": "Хэши советов", - "Tools ⏷": "Инструменты ⏷", - "Total Rx": "Общий Rx", - "Total Rx/s": "Общий Rx/s", - "Total Tx": "Общий Tx", - "Total Tx/s": "Общий Tx/s", - "Track in the background": "Отслеживание в фоновом режиме", - "Transactions": "Транзакции", - "Transactions:": "Транзакции:", - "Type": "Тип", - "UTXO Manager": "UTXO Менеджер", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.", + "The balance may be out of date during node sync": "The balance may be out of date during node sync", + "The following will guide you through the process of creating or importing a wallet.": "The following will guide you through the process of creating or importing a wallet.", + "The node is currently syncing with the Kaspa p2p network.": "The node is currently syncing with the Kaspa p2p network.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.", + "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Theme Color", + "Theme Color:": "Theme Color:", + "Theme Style": "Theme Style", + "Theme Style:": "Theme Style:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Threshold": "Threshold", + "Time Offset:": "Time Offset:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Tools ⏷", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Track in the background", + "Transactions": "Transactions", + "Transactions:": "Transactions:", + "Type": "Type", + "UTXO Manager": "UTXO Manager", "UTXOs": "UTXOs", "UTXOs:": "UTXOs:", - "Unable to change node settings until the problem is resolved": "Невозможно изменить настройки ноды, пока проблема не будет решена.", - "Unlock": "Разблокировать", - "Unlock Wallet": "Разблокировать кошелёк", - "Unlocking": "Разблокировка", - "Update Available to version": "Доступно обновление до версии", - "Updating...": "Обновление...", - "Uptime:": "Время работы:", - "Use 50%-75% of available system memory": "Используйте 50%-75% от доступной системной памяти", - "Use all available system memory": "Используйте всю доступную системную память", + "Unable to change node settings until the problem is resolved": "Unable to change node settings until the problem is resolved", + "Unlock": "Unlock", + "Unlock Wallet": "Unlock Wallet", + "Unlocking": "Unlocking", + "Update Available to version": "Update Available to version", + "Updating...": "Updating...", + "Uptime:": "Uptime:", + "Use 50%-75% of available system memory": "Use 50%-75% of available system memory", + "Use all available system memory": "Use all available system memory", "User Agent": "User Agent", - "User Interface": "Пользовательский интерфейс", - "Very dangerous (may be cracked within few seconds)": "Очень опасно (может быть взломано за несколько секунд)", - "Virt Parents": "Вирт. родители", - "Virtual DAA Score": "Виртуальный балл DAA", - "Virtual Memory": "Виртуальная память", - "Virtual Parent Hashes": "Хэши виртуальных родителей", - "Volume": "Объём", - "WASM SDK for JavaScript and TypeScript": "WASM SDK для JavaScript и TypeScript", - "Wallet": "Кошелёк", - "Wallet Created": "Кошелёк создан", - "Wallet Encryption Password": "Пароль шифрования кошелька", - "Wallet Name": "Имя кошелька", - "Wallet Secret": "Секрет кошелька", - "Wallet password is used to encrypt your wallet data.": "Пароль кошелька используется для шифрования данных вашего кошелька.", - "Wallet:": "Кошелёк:", - "We greatly appreciate your help in backing our efforts.": "Мы очень ценим вашу помощь в поддержке наших усилий.", - "Welcome to Kaspa NG": "Добро пожаловать в Kaspa NG", - "Xpub Keys": "Xpub Ключи", - "You are currently not connected to the Kaspa node.": "Вы в настоящее время не подключены к ноде Kaspa.", - "You can configure remote connection in Settings": "Вы можете настроить удалённое подключение в настройках.", - "You can create multiple wallets, but only one wallet can be open at a time.": "Вы можете создать несколько кошельков, но только один кошелёк может быть открыт в данный момент.", - "You must be connected to a node...": "Вы должны быть подключены к ноде...", - "Your default wallet private key mnemonic is:": "Ваш мнемонический приватный ключ кошелька по умолчанию:", - "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Ваша мнемоническая фраза позволяет вам воссоздать ваш приватный ключ. Человек, у которого есть доступ к этой мнемонике, будет иметь полный контроль над Kaspa, хранящимся в ней. Храните вашу мнемоническую фразу в безопасности. Запишите её и сохраните в надёжном месте, желательно в огнестойком месте. Не храните вашу мнемоническую фразу на этом компьютере или мобильном устройстве. Этот кошелёк никогда не будет запрашивать у вас эту мнемоническую фразу, если вы не инициируете восстановление приватного ключа вручную.", - "Your private key mnemonic is:": "Ваш мнемонический приватный ключ:", - "Your wallet has been created and is ready to use.": "Ваш кошелёк был создан и готов к использованию.", - "Zoom": "Масштабирование", - "amount to send": "сумма для отправки", - "bye!": "пока!", - "gRPC Network Interface & Port": "gRPC Сетевой интерфейс и порт", - "gRPC Rx": "gRPC Rx", - "gRPC Rx/s": "gRPC Rx/s", - "gRPC Tx": "gRPC Tx", - "gRPC Tx/s": "gRPC Tx/s", - "of": "из", - "p2p RPC": "p2p RPC", - "p2p Rx": "p2p Rx", - "p2p Rx/s": "p2p Rx/s", - "p2p Tx": "p2p Tx", - "p2p Tx/s": "p2p Tx/s", - "peer": "пир", - "peers": "пиры", - "wRPC Borsh Rx": "wRPC Borsh Rx", - "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", - "wRPC Borsh Tx": "wRPC Borsh Tx", - "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", - "wRPC Connection Settings": "Настройки подключения wRPC", - "wRPC Encoding:": "Кодирование wRPC:", - "wRPC JSON Rx": "wRPC JSON Rx", - "wRPC JSON Rx/s": "wRPC JSON Rx/s", - "wRPC JSON Tx": "wRPC JSON Tx", - "wRPC JSON Tx/s": "wRPC JSON Tx/s", - "wRPC URL:": "wRPC URL:" - }, - "sk": {}, - "sl": {}, - "sr": {}, - "sv": {}, - "ta": {}, - "te": {}, - "th": {}, - "tr": {}, - "uk": { - "1 BPS test network": "Тестова мережа 1 BPS", - "10 BPS test network": "10 BPS тестова мережа", - "12 word mnemonic": "12-слівна мнемонічна фраза", - "24 word mnemonic": "24-слівний мнемонічний код", - "24h Change": "Зміна за 24 години", - "A binary at another location is spawned a child process (experimental, for development purposes only).": "Бінарний файл на іншому місці породжує дочірній процес (експериментально, лише для розробки).", - "A random node will be selected on startup": "Під час запуску буде вибрано випадковий вузол", - "A wallet is stored in a file on your computer.": "Гаманець зберігається у файлі на вашому комп'ютері.", - "Account Index": "Індекс облікового запису", - "Account Name": "Назва облікового запису", - "Account:": "Обліковий запис:", - "Activate custom daemon arguments": "Активація користувацьких аргументів демона", - "Active p2p Peers": "Активні P2P піри", - "Address derivation scan": "Сканування похідних адрес", - "Address:": "Адреса:", - "Advanced": "Розширені", - "All": "Всі", - "Allow custom arguments for the Rusty Kaspa daemon": "Дозволяє користувачам встановлювати свої аргументи для демона Rusty Kaspa", - "Allows you to take screenshots from within the application": "Дозволяє робити скріншоти з програми", - "Apply": "Застосувати", - "Balance: N/A": "Баланс: Н/Д", - "Bandwidth": "Пропускна здатність", - "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Через свою спрямованість на безпеку та продуктивність, це програмне забезпечення повністю розроблене на Rust, що вимагає значно більше часу та зусиль порівняно з іншими традиційними сучасними веб-додатками.", - "Bezier Curves": "Криві Безьє", - "Block DAG": "Блок DAG", - "Block Scale": "Масштаб блоку", - "Blocks": "Блоки", - "Bodies": "Тіла", - "Borsh Active Connections": "Активні підключення Borsh", - "Borsh Connection Attempts": "Спроби підключення до Borsh", - "Borsh Handshake Failures": "Невдачі рукостискання Borsh", - "Build": "Збудувати", - "CONNECTED": "ПІДКЛЮЧЕНО", - "CPU": "ЦП", - "Cache Memory Size": "Розмір кеш-пам'яті:", - "Cache Memory Size:": "Розмір кеш-пам'яті:", - "Cancel": "Скасувати", - "Cannot delete data folder while the node is running": "Неможливо видалити папку даних під час роботи вузла", - "Capture a screenshot": "Зробити знімок екрана", - "Center VSPC": "Центрувати VSPC", - "Chain Blocks": "Блоки ланцюга", - "Change Address": "Змінити адресу", - "Check for Software Updates on GitHub": "Перевірити оновлення програмного забезпечення на GitHub", - "Check for Updates": "Перевірити наявність оновлень", - "Clear": "Очистити", - "Click to try another server...": "Клацніть, щоб спробувати інший сервер...", - "Client RPC": "Клієнтський RPC", - "Close": "Закрити", - "Confirm wallet password": "Підтвердити пароль гаманця", - "Connect to a local node (localhost)": "Підключитися до локального вузла (localhost)", - "Connecting to": "Підключення до", - "Connection": "Підключення", - "Connections": "Підключення", - "Connects to a Remote Rusty Kaspa Node via wRPC.": "Підключається до віддаленого вузла Rusty Kaspa через wRPC.", - "Conservative": "Консервативний", - "Continue": "Продовжити", - "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Внески, спрямовані на цей проект, безпосередньо підтримують програмне забезпечення Kaspa NG та його екосистему.", - "Copied to clipboard": "Скопійовано в буфер обміну", - "Copy": "Копіювати", - "Copy logs to clipboard": "Скопіювати лог-журнали в буфер обміну", - "Create New Account": "Створити новий обліковий запис", - "Create New Wallet": "Створити новий гаманець", - "Create new wallet": "Створити новий гаманець", - "Creating Account": "Створення облікового запису", - "Creating Wallet": "Створення гаманця", - "Custom": "Користувацький", - "Custom Public Node": "Нестандартний публічний вузол", - "Custom arguments:": "Спеціальні аргументи:", + "User Interface": "User Interface", + "Very dangerous (may be cracked within few seconds)": "Very dangerous (may be cracked within few seconds)", + "Very weak": "Very weak", + "Virt Parents": "Virt Parents", + "Virtual DAA Score": "Virtual DAA Score", + "Virtual Memory": "Virtual Memory", + "Virtual Parent Hashes": "Virtual Parent Hashes", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", + "Wallet": "Wallet", + "Wallet Created": "Wallet Created", + "Wallet Encryption Password": "Wallet Encryption Password", + "Wallet Name": "Wallet Name", + "Wallet Secret": "Wallet Secret", + "Wallet password is used to encrypt your wallet data.": "Wallet password is used to encrypt your wallet data.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Wallet:", + "We greatly appreciate your help in backing our efforts.": "We greatly appreciate your help in backing our efforts.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Welcome to Kaspa NG", + "Xpub Keys": "Xpub Keys", + "You are currently not connected to the Kaspa node.": "You are currently not connected to the Kaspa node.", + "You can configure remote connection in Settings": "You can configure remote connection in Settings", + "You can create multiple wallets, but only one wallet can be open at a time.": "You can create multiple wallets, but only one wallet can be open at a time.", + "You must be connected to a node...": "You must be connected to a node...", + "Your default wallet private key mnemonic is:": "Your default wallet private key mnemonic is:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Your private key mnemonic is:": "Your private key mnemonic is:", + "Your wallet has been created and is ready to use.": "Your wallet has been created and is ready to use.", + "Zoom": "Zoom", + "amount to send": "amount to send", + "bye!": "bye!", + "gRPC Network Interface & Port": "gRPC Network Interface & Port", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "of", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "peer", + "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC Connection Settings", + "wRPC Encoding:": "wRPC Encoding:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "words" + }, + "vi": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", + "1 BPS test network": "1 BPS test network", + "10 BPS test network": "10 BPS test network", + "12 word mnemonic": "12 word mnemonic", + "24 word mnemonic": "24 word mnemonic", + "24h Change": "24h Change", + "A binary at another location is spawned a child process (experimental, for development purposes only).": "A binary at another location is spawned a child process (experimental, for development purposes only).", + "A random node will be selected on startup": "A random node will be selected on startup", + "A wallet is stored in a file on your computer.": "A wallet is stored in a file on your computer.", + "Account Index": "Account Index", + "Account Name": "Account Name", + "Account:": "Account:", + "Activate custom daemon arguments": "Activate custom daemon arguments", + "Active p2p Peers": "Active p2p Peers", + "Address derivation scan": "Address derivation scan", + "Address:": "Address:", + "Advanced": "Advanced", + "Advanced Options": "Advanced Options", + "All": "All", + "Allow clipboard copy": "Allow clipboard copy", + "Allow custom arguments for the Rusty Kaspa daemon": "Allow custom arguments for the Rusty Kaspa daemon", + "Allows you to take screenshots from within the application": "Allows you to take screenshots from within the application", + "Apply": "Apply", + "Balance: N/A": "Balance: N/A", + "Bandwidth": "Bandwidth", + "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.", + "Bezier Curves": "Bezier Curves", + "Block DAG": "Block DAG", + "Block Scale": "Block Scale", + "Blocks": "Blocks", + "Bodies": "Bodies", + "Borsh Active Connections": "Borsh Active Connections", + "Borsh Connection Attempts": "Borsh Connection Attempts", + "Borsh Handshake Failures": "Borsh Handshake Failures", + "Build": "Build", + "CONNECTED": "CONNECTED", + "CPU": "CPU", + "Cache Memory Size": "Cache Memory Size", + "Cache Memory Size:": "Cache Memory Size:", + "Cancel": "Cancel", + "Cannot delete data folder while the node is running": "Cannot delete data folder while the node is running", + "Capture a screenshot": "Capture a screenshot", + "Center VSPC": "Center VSPC", + "Chain Blocks": "Chain Blocks", + "Change Address": "Change Address", + "Check for Software Updates on GitHub": "Check for Software Updates on GitHub", + "Check for Updates": "Check for Updates", + "Clear": "Clear", + "Click to try another server...": "Click to try another server...", + "Client RPC": "Client RPC", + "Close": "Close", + "Close the window": "Close the window", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", + "Confirm wallet password": "Confirm wallet password", + "Connect to a local node (localhost)": "Connect to a local node (localhost)", + "Connecting to": "Connecting to", + "Connection": "Connection", + "Connections": "Connections", + "Connects to a Remote Rusty Kaspa Node via wRPC.": "Connects to a Remote Rusty Kaspa Node via wRPC.", + "Conservative": "Conservative", + "Continue": "Continue", + "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.": "Contributions directed toward this project directly fuel the Kaspa NG software and its ecosystem.", + "Copied to clipboard": "Copied to clipboard", + "Copy": "Copy", + "Copy logs to clipboard": "Copy logs to clipboard", + "Create New Account": "Create New Account", + "Create New Wallet": "Create New Wallet", + "Create Wallet": "Create Wallet", + "Create new wallet": "Create new wallet", + "Creating Account": "Creating Account", + "Creating Wallet": "Creating Wallet", + "Custom": "Custom", + "Custom Public Node": "Custom Public Node", + "Custom arguments:": "Custom arguments:", + "Custom data storage folder": "Custom data storage folder", "DAA": "DAA", - "DAA Offset": "Зсув DAA", - "DAA Range": "Діапазон DAA", - "DB Blocks": "Блоки БД", - "DB Headers": "Заголовки БД", - "Database Blocks": "Блоки БД", - "Database Headers": "Заголовки БД", - "Decrypting wallet, please wait...": "Розшифровка гаманця, зачекайте, будь ласка...", - "Default": "За замовчуванням", - "Default Account Name": "Назва облікового запису за замовчуванням", - "Delete Data Folder": "Видалити папку з даними", - "Dependencies": "Залежності", - "Derivation Indexes": "Індекси похідних", - "Details": "Деталі", - "Developer Mode": "Режим розробника", - "Developer Resources": "Ресурси для розробників", - "Developer mode enables advanced and experimental features": "Режим розробника вмикає розширені та експериментальні функції", - "Difficulty": "Складність", - "Dimensions": "Виміри", - "Disable password score restrictions": "Вимкнути правила безпеки паролю", - "Disabled": "Вимкнено", - "Disables node connectivity (Offline Mode).": "Вимикає підключення вузла (офлайн-режим).", + "DAA Offset": "DAA Offset", + "DAA Range": "DAA Range", + "DB Blocks": "DB Blocks", + "DB Headers": "DB Headers", + "Dangerous": "Dangerous", + "Data Storage": "Data Storage", + "Database Blocks": "Database Blocks", + "Database Headers": "Database Headers", + "Decrypting wallet, please wait...": "Decrypting wallet, please wait...", + "Default": "Default", + "Default Account Name": "Default Account Name", + "Delete Data Folder": "Delete Data Folder", + "Dependencies": "Dependencies", + "Derivation Indexes": "Derivation Indexes", + "Details": "Details", + "Developer Mode": "Developer Mode", + "Developer Resources": "Developer Resources", + "Developer mode enables advanced and experimental features": "Developer mode enables advanced and experimental features", + "Difficulty": "Difficulty", + "Dimensions": "Dimensions", + "Disable password safety rules": "Disable password safety rules", + "Disabled": "Disabled", + "Disables node connectivity (Offline Mode).": "Disables node connectivity (Offline Mode).", "Discord": "Discord", - "Donations": "Пожертви", - "Double click on the graph to re-center...": "Двічі клацніть на графіку, щоб рецентрувати...", + "Donations": "Donations", + "Double click on the graph to re-center...": "Double click on the graph to re-center...", "ECDSA": "ECDSA", - "Enable Market Monitor": "Увімкнути монітор ринку", - "Enable UPnP": "Увімкнути UPnP", - "Enable custom daemon arguments": "Увімкнути користувацькі аргументи демона", - "Enable experimental features": "Увімкнути експериментальні функції", - "Enable gRPC": "Увімкнути gRPC", - "Enable optional BIP39 passphrase": "Увімкнути необов'язкову додаткову фразу BIP39", - "Enable screen capture": "Увімкнути захоплення екрана", - "Enables features currently in development": "Вмикає функції, які наразі у розробці", - "Enter": "Введіть", - "Enter account name (optional)": "Введіть назву облікового запису (необов'язково)", - "Enter first account name": "Введіть ім'я першого облікового запису", - "Enter phishing hint": "Введіть підказку для розпізнавання фішинг-шахрайства", - "Enter the amount": "Введіть суму", - "Enter the password for your wallet": "Введіть пароль для вашого гаманця", - "Enter the password to unlock your wallet": "Введіть пароль, щоб розблокувати свій гаманець", - "Enter wallet name": "Введіть назву гаманця", - "Enter wallet password": "Введіть пароль гаманця", - "Enter your wallet secret": "Введіть секрет свого гаманця", - "Explorer": "Дослідник", - "Export Wallet Data": "Експорт даних гаманця", - "Faucet": "Кран", - "File Handles": "Дескриптори файлу", - "Filename:": "Ім'я файлу:", - "Final Amount:": "Кінцева сума:", - "GitHub Release": "Реліз GitHub", - "Go to Settings": "Перейти до Налаштувань", - "Handles": "Дескриптори", - "Headers": "Заголовки", - "IBD:": "Початкове завантаження блоків:", - "If not specified, the account will be represented by the numeric id.": "Якщо не вказано, обліковий запис буде представлений числовим ідентифікатором.", - "If you are running locally, use: ": "Якщо ви запускаєте локально, використовуйте:", - "Import existing": "Імпортувати існуючий", - "Inbound": "Вхідний", - "Include QoS Priority Fees": "Враховувати плату за пріоритет якості сервісу QoS", - "Integrated Daemon": "Інтегрований демон", - "Invalid daemon arguments": "Недійсні аргументи демона", - "Invalid network type - expected: testnet-10 connected to: testnet-11": "Недійсний тип мережі - очікується: тестова мережа-10; підключено до: тестова мережа-11", - "Invalid wRPC URL": "Недійсний URL wRPC", - "Json Active Connections": "Активні з'єднання Json", - "Json Connection Attempts": "Спроби підключення Json", - "Json Handshake Failures": "Помилки рукостискання Json", - "Kaspa Discord": "Kaspa Discord", - "Kaspa Integration Guide": "Посібник з інтеграції Kaspa", - "Kaspa NG": "Kaspa NG", - "Kaspa NG Online": "Kaspa NG онлайн", - "Kaspa NG Web App": "Веб-додаток Kaspa NG", - "Kaspa NG on GitHub": "Kaspa NG на GitHub", - "Kaspa NG online": "Kaspa NG онлайн", - "Kaspa Network": "Мережа Kaspa", - "Kaspa Node": "Вузол Kaspa", - "Kaspa p2p Network & Node Connection": "Підключення до P2P-мережі та вузлів Kaspa", - "Kaspa p2p Node": "P2P Вузол Kaspa", - "Kaspa p2p Node & Connection": "Підключення та P2P вузол Kaspa", - "Key Perf.": "Ключові показники", - "Language:": "Мова:", - "Large (1 BPS)": "Велика (1 BPS)", - "Levels": "Рівні", - "License Information": "Інформація про ліцензію", - "Local": "Локальний", - "Local p2p Node Configuration": "Локальна конфігурація вузла P2P", - "Logs": "Логи", + "Enable Market Monitor": "Enable Market Monitor", + "Enable UPnP": "Enable UPnP", + "Enable custom daemon arguments": "Enable custom daemon arguments", + "Enable experimental features": "Enable experimental features", + "Enable gRPC": "Enable gRPC", + "Enable optional BIP39 passphrase": "Enable optional BIP39 passphrase", + "Enable screen capture": "Enable screen capture", + "Enables features currently in development": "Enables features currently in development", + "Enter": "Enter", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", + "Enter account name (optional)": "Enter account name (optional)", + "Enter first account name": "Enter first account name", + "Enter mnemonic": "Enter mnemonic", + "Enter phishing hint": "Enter phishing hint", + "Enter the amount": "Enter the amount", + "Enter the password for your wallet": "Enter the password for your wallet", + "Enter the password to unlock your wallet": "Enter the password to unlock your wallet", + "Enter wallet name": "Enter wallet name", + "Enter wallet password": "Enter wallet password", + "Enter your wallet secret": "Enter your wallet secret", + "Exit Full Screen": "Exit Full Screen", + "Explorer": "Explorer", + "Export Wallet Data": "Export Wallet Data", + "Faucet": "Faucet", + "File Handles": "File Handles", + "Filename:": "Filename:", + "Final Amount:": "Final Amount:", + "Full Screen": "Full Screen", + "GitHub Release": "GitHub Release", + "Go to Settings": "Go to Settings", + "Good": "Good", + "Handles": "Handles", + "Headers": "Headers", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", + "IBD:": "IBD:", + "If not specified, the account will be represented by the numeric id.": "If not specified, the account will be represented by the numeric id.", + "If you are running locally, use: ": "If you are running locally, use: ", + "Import Existing Private Key": "Import Existing Private Key", + "Import existing": "Import existing", + "Importing Wallet": "Importing Wallet", + "Inbound": "Inbound", + "Include QoS Priority Fees": "Include QoS Priority Fees", + "Integrated Daemon": "Integrated Daemon", + "Invalid daemon arguments": "Invalid daemon arguments", + "Invalid network type - expected: testnet-10 connected to: testnet-11": "Invalid network type - expected: testnet-10 connected to: testnet-11", + "Invalid wRPC URL": "Invalid wRPC URL", + "Json Active Connections": "Json Active Connections", + "Json Connection Attempts": "Json Connection Attempts", + "Json Handshake Failures": "Json Handshake Failures", + "Kaspa Discord": "Kaspa Discord", + "Kaspa Integration Guide": "Kaspa Integration Guide", + "Kaspa NG": "Kaspa NG", + "Kaspa NG Online": "Kaspa NG Online", + "Kaspa NG Web App": "Kaspa NG Web App", + "Kaspa NG on GitHub": "Kaspa NG on GitHub", + "Kaspa NG online": "Kaspa NG online", + "Kaspa Network": "Kaspa Network", + "Kaspa Node": "Kaspa Node", + "Kaspa p2p Network & Node Connection": "Kaspa p2p Network & Node Connection", + "Kaspa p2p Node": "Kaspa p2p Node", + "Kaspa p2p Node & Connection": "Kaspa p2p Node & Connection", + "Key Perf.": "Key Perf.", + "Language:": "Language:", + "Large (1 BPS)": "Large (1 BPS)", + "Levels": "Levels", + "License Information": "License Information", + "Local": "Local", + "Local p2p Node Configuration": "Local p2p Node Configuration", + "Logs": "Logs", "MT": "MT", - "Main Kaspa network": "Основна мережа Kaspa", - "Mainnet": "Основна мережа", - "Mainnet (Main Kaspa network)": "Mainnet (Основна мережа Kaspa)", - "Managed by the Rusty Kaspa daemon": "Управляється демоном Rusty Kaspa", - "Market": "Ринок", - "Market Cap": "Капіталізація ринку", - "Market Monitor": "Огляд ринку", - "Mass Processed": "Оброблено маси", - "Medium Narrow": "Середній Вузький", - "Medium Wide": "Середній Широкий", - "Memory": "Пам'ять", - "Mempool": "Пул пам'яті", - "Mempool Size": "Розмір пула пам'яті", - "Metrics": "Метрики", - "Metrics are not currently available": "Метрики на даний момент недоступні", - "NPM Modules for NodeJS": "Модулі NPM для NodeJS", - "Network": "Мережа", - "Network Difficulty": "Складність мережі", - "Network Fees:": "Комісія мережі:", - "Network Interface": "Мережевий інтерфейс", - "Network Peers": "Піри мережі", - "No peers": "Немає пірів", - "No public node selected - please select a public node": "Не вибрано жодного публічного вузла - будь ласка, виберіть публічний вузол", - "No transactions": "Немає транзакцій", - "No wallets found, please create a new wallet": "Не знайдено гаманців, будь ласка, створіть новий гаманец", - "Node": "Вузол", - "Node Status": "Статус вузла", - "Noise": "Шум", - "None": "Нічого", - "Not Connected": "Не підключено", - "Not connected": "Немає з'єднання", - "Notifications": "Сповіщення", - "Open Data Folder": "Відкрити папку з даними", - "Opening wallet:": "Відкриття гаманця:", - "Optional": "Додатково", - "Other operations": "Інші операції", - "Outbound": "Вихідний", - "Overview": "Огляд", - "Parents": "Батьки", - "Past Median Time": "Минула медіана часу", - "Payment & Recovery Password": "Пароль для оплати та відновлення", - "Payment Request": "Запит на оплату", - "Peers": "Піри", - "Performance": "Продуктивність", - "Phishing Hint": "Підказка щодо шахрайства - фішингу", - "Ping:": "Пінг:", - "Please Confirm Deletion": "Будь ласка, підтвердіть видалення", - "Please configure your Kaspa NG settings": "Будь ласка, налаштуйте параметри Kaspa NG", - "Please connect to Kaspa p2p node": "Будь ласка, підключіться до P2P вузла Kaspa", - "Please create a stronger password": "Будь ласка, створіть надійніший пароль", - "Please enter": "Будь ласка, введіть", - "Please enter KAS amount to send": "Будь ласка, введіть суму KAS для відправки", - "Please enter an amount": "Будь ласка, введіть суму", - "Please enter the account name": "Будь ласка, введіть назву облікового запису", - "Please enter the wallet secret": "Будь ласка, введіть секрет гаманця", - "Please note that this is a beta release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Зверніть увагу, що це альфа-версія. Доки це повідомлення не буде видалено - уникайте використання цього програмного забезпечення з коштами основної мережі.", - "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Зверніть увагу, копіювання в буфер обміну може призвести до ризику викриття вашого мнемонічного коду вірусам.", - "Please select an account type": "Будь ласка, виберіть тип облікового запису", - "Please select the private key to export": "Будь ласка, виберіть приватний ключ для експорту", - "Please set node to 'Disabled' to delete the data folder": "Будь ласка, встановіть вузол на 'Вимкнено', для видалення папки з даними", - "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Будь ласка, вкажіть назву основного облікового запису. Гаманець буде створено з основним обліковим записом. Після створення ви зможете створити додаткові облікові записи за потребою.", - "Please specify the name of the new wallet": "Будь ласка, вкажіть назву нового гаманця", - "Please specify the private key type for the new wallet": "Будь ласка, вкажіть тип приватного ключа для нового гаманця", - "Please wait for the node to sync or connect to a remote node.": "Будь ласка, зачекайте, поки вузол синхронізується або підключиться до віддаленого вузла.", - "Please wait for the node to sync...": "Будь ласка, зачекайте, поки вузол синхронізується...", - "Please wait...": "Будь ласка, зачекайте...", - "Presets": "Пресети", - "Price": "Ціна", - "Private Key Mnemonic": "Мнемоніка приватного ключа", - "Processed Bodies": "Оброблені тіла", - "Processed Dependencies": "Оброблені залежності", - "Processed Headers": "Оброблені заголовки", - "Processed Mass Counts": "Кількість оброблених мас", - "Processed Transactions": "Оброблені транзакції", - "Protocol:": "Протокол:", - "Public Node": "Публічний вузол", - "Public Nodes": "Публічні вузли", - "Public Server": "Публічний сервер", - "Public p2p Nodes for": "Публічні вузли P2P для", - "Random Public Node": "Випадковий публічний вузол", - "Range:": "Діапазон:", - "Receive Address": "Адреса отримання", - "Recommended arguments for the remote node: ": "Рекомендовані аргументи для віддаленого вузла:", - "Remote": "Віддалено", - "Remote Connection:": "Віддалене підключення:", - "Remote p2p Node Configuration": "Віддалена конфігурація вузла P2P", - "Removes security restrictions, allows for single-letter passwords": "Знімає обмеження на безпеку, дозволяє використовувати однолітерні паролі", - "Reset Settings": "Скинути налаштування", - "Reset VSPC": "Скинути VSPC", - "Resident Memory": "Резидентна пам'ять", - "Resources": "Ресурси", - "Resulting daemon arguments:": "Результати аргументів демона:", - "Rust Wallet SDK": "Rust Wallet SDK", - "Rusty Kaspa on GitHub": "Rusty Kaspa на GitHub", - "Secret is too weak": "Секрет занадто слабкий", - "Secret score:": "Оцінка секрету:", - "Select Account": "Вибрати обліковий запис", - "Select Available Server": "Вибрати доступний сервер", - "Select Private Key Type": "Оберіть тип приватного ключа", - "Select Public Node": "Вибрати публічний вузол", - "Select Wallet": "Вибрати гаманець", - "Select a wallet to unlock": "Виберіть гаманець для розблокування", - "Send": "Надіслати", - "Services": "Сервіси", - "Settings": "Налаштування", - "Show DAA": "Показати DAA", - "Show Grid": "Показати сітку", - "Show VSPC": "Показати VSPC", - "Show balances in alternate currencies for testnet coins": "Показувати баланси в альтернативних валютах для монет тестової мережі", - "Show password": "Показати пароль", - "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Показує баланси в інших валютах (BTC, USD) при використанні монет тестової мережі, якщо ви в основній мережі", - "Skip": "Пропустити", - "Small (10 BPS)": "Малий (10 BPS)", - "Spread": "Поширення", - "Stage": "Етап", - "Starting...": "Запуск...", - "Statistics": "Статистика", - "Stor Read": "Читання з сховища", - "Stor Write": "Запис у сховище", - "Storage": "Сховище", - "Storage Read": "Читання з сховища", - "Storage Read/s": "Операції читання зі сховища", - "Storage Write": "Запис у сховище", - "Storage Write/s": "Операції запису до сховища", - "Submitted Blocks": "Надіслані блоки", - "Supporting Kaspa NG development": "Підтримка розвитку Kaspa NG", - "Syncing Cryptographic Proof...": "Синхронізація криптографічного доказу...", - "Syncing DAG Blocks...": "Синхронізація блоків DAG...", - "Syncing Headers...": "Синхронізація заголовків...", - "Syncing UTXO entries...": "Синхронізація записів UTXO...", - "Syncing...": "Синхронізація...", - "System": "Система", - "TPS": "Транзакцій/сек. TPS", - "Testnet 10": "Тестова мережа 10", - "Testnet 10 (1 BPS)": "Тестова мережа 10 (1 BPS)", - "Testnet 11": "Тестова мережа 11", - "Testnet 11 (10 BPS)": "Тестова мережа 11 (10 BPS)", - "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Тестова мережа 11 ще не активована для публічного тестування. Однак ви можете налаштувати вузол для підключення до приватної тестової мережі розробника в панелі Налаштування.", - "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "Програмне забезпечення Kaspa NG є результатом постійних зусиль, спрямованих на створення передової програмної платформи, присвяченої криптовалютній мережі Kaspa BlockDAG. Ідеологічне за своєю суттю, це програмне забезпечення має сильний акцент на безпеці, конфіденційності, продуктивності та децентралізації.", - "The balance may be out of date during node sync": "Баланс може бути застарілим під час синхронізації вузла", - "The following will guide you through the process of creating or importing a wallet.": "Далі ви дізнаєтеся, як створити або імпортувати гаманець.", - "The node is currently syncing with the Kaspa p2p network.": "Вузол в даний час синхронізується з P2P мережею Kaspa.", - "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "Наразі вузол синхронізується з P2P мережею Kaspa. Баланси облікових записів можуть бути застарілими.", - "The node is spawned as a child daemon process (recommended).": "Вузол створюється як дочірній демон (рекомендовано).", - "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "Вузол працює як частина процесу додатку Kaspa-NG. Це зменшує накладні витрати на зв'язок (експериментально).", - "Theme Color": "Колір теми", - "Theme Color:": "Колір теми:", - "Theme Style": "Стиль теми", - "Theme Style:": "Стиль теми:", - "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Цей гаманець ніколи не запитає вас про цю мнемонічну фразу, якщо ви не ініціюєте відновлення приватного ключа вручну.", - "Threshold": "Поріг", - "Time Offset:": "Зсув часу:", - "Tip Hashes": "Хеші вершин", - "Tools ⏷": "Інструменти", - "Total Rx": "Загалом отримань", - "Total Rx/s": "Загалом отримань/сек.", - "Total Tx": "Загалом відправлень", - "Total Tx/s": "Загалом відправлень/сек.", - "Track in the background": "Відстеження в фоновому режимі", - "Transactions": "Транзакції", - "Transactions:": "Транзакції:", - "Type": "Тип", - "UTXO Manager": "Менеджер UTXO", + "Main Kaspa network": "Main Kaspa network", + "Mainnet": "Mainnet", + "Mainnet (Main Kaspa network)": "Mainnet (Main Kaspa network)", + "Managed by the Rusty Kaspa daemon": "Managed by the Rusty Kaspa daemon", + "Market": "Market", + "Market Cap": "Market Cap", + "Market Monitor": "Market Monitor", + "Mass Processed": "Mass Processed", + "Maximize window": "Maximize window", + "Medium Narrow": "Medium Narrow", + "Medium Wide": "Medium Wide", + "Memory": "Memory", + "Mempool": "Mempool", + "Mempool Size": "Mempool Size", + "Metrics": "Metrics", + "Metrics are not currently available": "Metrics are not currently available", + "Minimize the window": "Minimize the window", + "Mnemonic Import": "Mnemonic Import", + "NPM Modules for NodeJS": "NPM Modules for NodeJS", + "Network": "Network", + "Network Difficulty": "Network Difficulty", + "Network Fees:": "Network Fees:", + "Network Interface": "Network Interface", + "Network Peers": "Network Peers", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", + "No peers": "No peers", + "No public node selected - please select a public node": "No public node selected - please select a public node", + "No transactions": "No transactions", + "No wallets found, please create a new wallet": "No wallets found, please create a new wallet", + "Node": "Node", + "Node Status": "Node Status", + "Noise": "Noise", + "None": "None", + "Not Connected": "Not Connected", + "Not connected": "Not connected", + "Notifications": "Notifications", + "Open Data Folder": "Open Data Folder", + "Opening wallet:": "Opening wallet:", + "Optional": "Optional", + "Other operations": "Other operations", + "Outbound": "Outbound", + "Overview": "Overview", + "Parents": "Parents", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", + "Past Median Time": "Past Median Time", + "Payment & Recovery Password": "Payment & Recovery Password", + "Payment Request": "Payment Request", + "Peers": "Peers", + "Performance": "Performance", + "Phishing Hint": "Phishing Hint", + "Ping:": "Ping:", + "Please Confirm Deletion": "Please Confirm Deletion", + "Please configure your Kaspa NG settings": "Please configure your Kaspa NG settings", + "Please connect to Kaspa p2p node": "Please connect to Kaspa p2p node", + "Please create a stronger password": "Please create a stronger password", + "Please enter": "Please enter", + "Please enter KAS amount to send": "Please enter KAS amount to send", + "Please enter additional": "Please enter additional", + "Please enter an amount": "Please enter an amount", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", + "Please enter the account name": "Please enter the account name", + "Please enter the wallet secret": "Please enter the wallet secret", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.", + "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.", + "Please select an account type": "Please select an account type", + "Please select the private key to export": "Please select the private key to export", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", + "Please set node to 'Disabled' to delete the data folder": "Please set node to 'Disabled' to delete the data folder", + "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.", + "Please specify the name of the new wallet": "Please specify the name of the new wallet", + "Please specify the private key type for the new wallet": "Please specify the private key type for the new wallet", + "Please wait for the node to sync or connect to a remote node.": "Please wait for the node to sync or connect to a remote node.", + "Please wait for the node to sync...": "Please wait for the node to sync...", + "Please wait...": "Please wait...", + "Presets": "Presets", + "Price": "Price", + "Private Key Mnemonic": "Private Key Mnemonic", + "Processed Bodies": "Processed Bodies", + "Processed Dependencies": "Processed Dependencies", + "Processed Headers": "Processed Headers", + "Processed Mass Counts": "Processed Mass Counts", + "Processed Transactions": "Processed Transactions", + "Protocol:": "Protocol:", + "Public Node": "Public Node", + "Public Nodes": "Public Nodes", + "Public Server": "Public Server", + "Public p2p Nodes for": "Public p2p Nodes for", + "Random Public Node": "Random Public Node", + "Range:": "Range:", + "Receive Address": "Receive Address", + "Recommended arguments for the remote node: ": "Recommended arguments for the remote node: ", + "Redistributables": "Redistributables", + "Remote": "Remote", + "Remote Connection:": "Remote Connection:", + "Remote p2p Node Configuration": "Remote p2p Node Configuration", + "Removes security restrictions, allows for single-letter passwords": "Removes security restrictions, allows for single-letter passwords", + "Reset Settings": "Reset Settings", + "Reset VSPC": "Reset VSPC", + "Resident Memory": "Resident Memory", + "Resources": "Resources", + "Resulting daemon arguments:": "Resulting daemon arguments:", + "Rust Wallet SDK": "Rust Wallet SDK", + "Rusty Kaspa on GitHub": "Rusty Kaspa on GitHub", + "Secret is too weak": "Secret is too weak", + "Secret score:": "Secret score:", + "Select Account": "Select Account", + "Select Available Server": "Select Available Server", + "Select Private Key Type": "Select Private Key Type", + "Select Public Node": "Select Public Node", + "Select Wallet": "Select Wallet", + "Select a wallet to unlock": "Select a wallet to unlock", + "Select this option if your wallet was created": "Select this option if your wallet was created", + "Send": "Send", + "Services": "Services", + "Settings": "Settings", + "Show DAA": "Show DAA", + "Show Grid": "Show Grid", + "Show VSPC": "Show VSPC", + "Show balances in alternate currencies for testnet coins": "Show balances in alternate currencies for testnet coins", + "Show passphrase": "Show passphrase", + "Show password": "Show password", + "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet", + "Skip": "Skip", + "Small (10 BPS)": "Small (10 BPS)", + "Spread": "Spread", + "Stage": "Stage", + "Starting...": "Starting...", + "Statistics": "Statistics", + "Stor Read": "Stor Read", + "Stor Write": "Stor Write", + "Storage": "Storage", + "Storage Read": "Storage Read", + "Storage Read/s": "Storage Read/s", + "Storage Write": "Storage Write", + "Storage Write/s": "Storage Write/s", + "Strong": "Strong", + "Submitted Blocks": "Submitted Blocks", + "Supporting Kaspa NG development": "Supporting Kaspa NG development", + "Syncing Cryptographic Proof...": "Syncing Cryptographic Proof...", + "Syncing DAG Blocks...": "Syncing DAG Blocks...", + "Syncing Headers...": "Syncing Headers...", + "Syncing UTXO entries...": "Syncing UTXO entries...", + "Syncing...": "Syncing...", + "System": "System", + "TPS": "TPS", + "Testnet 10": "Testnet 10", + "Testnet 10 (1 BPS)": "Testnet 10 (1 BPS)", + "Testnet 11": "Testnet 11", + "Testnet 11 (10 BPS)": "Testnet 11 (10 BPS)", + "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.": "Testnet 11 is not yet enabled for public testing. You can, however, configure the node to connect to the private developer testnet in the Settings panel.", + "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.": "The Kaspa NG software represents an ongoing effort focused on building a state-of-the-art software platform dedicated to the Kaspa BlockDAG cryptocurrency network. Ideological at its core, this software prioritizes security, privacy, performance, and decentralization.", + "The balance may be out of date during node sync": "The balance may be out of date during node sync", + "The following will guide you through the process of creating or importing a wallet.": "The following will guide you through the process of creating or importing a wallet.", + "The node is currently syncing with the Kaspa p2p network.": "The node is currently syncing with the Kaspa p2p network.", + "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.", + "The node is spawned as a child daemon process (recommended).": "The node is spawned as a child daemon process (recommended).", + "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", + "Theme Color": "Theme Color", + "Theme Color:": "Theme Color:", + "Theme Style": "Theme Style", + "Theme Style:": "Theme Style:", + "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Threshold": "Threshold", + "Time Offset:": "Time Offset:", + "Tip Hashes": "Tip Hashes", + "Tools ⏷": "Tools ⏷", + "Total Rx": "Total Rx", + "Total Rx/s": "Total Rx/s", + "Total Tx": "Total Tx", + "Total Tx/s": "Total Tx/s", + "Track in the background": "Track in the background", + "Transactions": "Transactions", + "Transactions:": "Transactions:", + "Type": "Type", + "UTXO Manager": "UTXO Manager", "UTXOs": "UTXOs", "UTXOs:": "UTXOs:", - "Unable to change node settings until the problem is resolved": "Неможливо змінити налаштування вузла, доки проблема не буде вирішена", - "Unlock": "Розблокувати", - "Unlock Wallet": "Розблокувати гаманець", - "Unlocking": "Розблокування", - "Update Available to version": "Доступне оновлення до версії", - "Updating...": "Оновлення...", - "Uptime:": "Час роботи:", - "Use 50%-75% of available system memory": "Використовувати 50%-75% від доступної пам'яті системи", - "Use all available system memory": "Використовувати весь доступний обсяг оперативної пам'яті системи", - "User Agent": "Агент користувача", - "User Interface": "Інтерфейс користувача", - "Very dangerous (may be cracked within few seconds)": "Дуже небезпечно (може бути зламаний за кілька секунд)", - "Virt Parents": "Віртуальні батьки", - "Virtual DAA Score": "Віртуальний показник DAA", - "Virtual Memory": "Віртуальна пам'ять", - "Virtual Parent Hashes": "Віртуальні хеші батьків", - "Volume": "Об'єм", - "WASM SDK for JavaScript and TypeScript": "WASM SDK для JavaScript та TypeScript", - "Wallet": "Гаманець", - "Wallet Created": "Гаманець створено", - "Wallet Encryption Password": "Пароль шифрування гаманця", - "Wallet Name": "Назва гаманця", - "Wallet Secret": "Секрет гаманця", - "Wallet password is used to encrypt your wallet data.": "Пароль гаманця використовується для шифрування даних вашого гаманця.", - "Wallet:": "Гаманець:", - "We greatly appreciate your help in backing our efforts.": "Ми високо цінуємо вашу допомогу в підтримці наших зусиль.", - "Welcome to Kaspa NG": "Ласкаво просимо до Kaspa NG", - "Xpub Keys": "Ключі Xpub", - "You are currently not connected to the Kaspa node.": "Зараз ви не підключені до вузла Kaspa.", - "You can configure remote connection in Settings": "Ви можете налаштувати віддалене підключення в Налаштуваннях", - "You can create multiple wallets, but only one wallet can be open at a time.": "Ви можете створити кілька гаманців, але одночасно може бути відкритий лише один гаманець.", - "You must be connected to a node...": "Ви повинні бути підключені до вузла...", - "Your default wallet private key mnemonic is:": "Ваш мнемонічний приватний ключ для даного гаманця:", - "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Ваша мнемонічна фраза дозволяє повторно створити ваш приватний ключ. Особа, яка має доступ до цієї мнемонічної фрази, матиме повний контроль над Kaspa, що зберігається у ньому. Зберігайте вашу мнемонічну фразу в безпеці. Запишіть її та зберігайте у сейфі, бажано у вогнетривкому місці. Не зберігайте мнемонічну фразу на цьому комп'ютері або мобільному пристрої. Цей гаманець ніколи не запитає вас про цю мнемонічну фразу, якщо ви не ініціюєте відновлення приватного ключа вручну.", - "Your private key mnemonic is:": "Мнемоніка вашого приватного ключа:", - "Your wallet has been created and is ready to use.": "Ваш гаманець створено і він готовий до використання.", - "Zoom": "Масштаб", - "amount to send": "сума для відправки", - "bye!": "до побачення!", - "gRPC Network Interface & Port": "Інтерфейс та порт мережі gRPC", - "gRPC Rx": "gRPC отримань", - "gRPC Rx/s": "gRPC отримань/сек.", - "gRPC Tx": "gRPC відправлень", - "gRPC Tx/s": "gRPC відправлень/сек.", - "of": "з", - "p2p RPC": "P2P RPC", - "p2p Rx": "P2P отримань", - "p2p Rx/s": "P2P отримань/сек.", - "p2p Tx": "P2P відправлень", - "p2p Tx/s": "P2P відправлень/сек.", - "peer": "пір", - "peers": "піри", - "wRPC Borsh Rx": "wRPC Borsh отримань", - "wRPC Borsh Rx/s": "wRPC Borsh отримань/сек.", - "wRPC Borsh Tx": "wRPC Borsh відправлень", - "wRPC Borsh Tx/s": "wRPC Borsh отримань/сек.", - "wRPC Connection Settings": "Налаштування підключення wRPC", - "wRPC Encoding:": "Кодування wRPC:", - "wRPC JSON Rx": "wRPC JSON отримань", - "wRPC JSON Rx/s": "wRPC JSON отримань/сек.", - "wRPC JSON Tx": "wRPC JSON відправлень", - "wRPC JSON Tx/s": "wRPC JSON відправлень/сек.", - "wRPC URL:": "wRPC URL:" + "Unable to change node settings until the problem is resolved": "Unable to change node settings until the problem is resolved", + "Unlock": "Unlock", + "Unlock Wallet": "Unlock Wallet", + "Unlocking": "Unlocking", + "Update Available to version": "Update Available to version", + "Updating...": "Updating...", + "Uptime:": "Uptime:", + "Use 50%-75% of available system memory": "Use 50%-75% of available system memory", + "Use all available system memory": "Use all available system memory", + "User Agent": "User Agent", + "User Interface": "User Interface", + "Very dangerous (may be cracked within few seconds)": "Very dangerous (may be cracked within few seconds)", + "Very weak": "Very weak", + "Virt Parents": "Virt Parents", + "Virtual DAA Score": "Virtual DAA Score", + "Virtual Memory": "Virtual Memory", + "Virtual Parent Hashes": "Virtual Parent Hashes", + "Volume": "Volume", + "WASM SDK for JavaScript and TypeScript": "WASM SDK for JavaScript and TypeScript", + "Wallet": "Wallet", + "Wallet Created": "Wallet Created", + "Wallet Encryption Password": "Wallet Encryption Password", + "Wallet Name": "Wallet Name", + "Wallet Secret": "Wallet Secret", + "Wallet password is used to encrypt your wallet data.": "Wallet password is used to encrypt your wallet data.", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "Wallet:", + "We greatly appreciate your help in backing our efforts.": "We greatly appreciate your help in backing our efforts.", + "Weak": "Weak", + "Welcome to Kaspa NG": "Welcome to Kaspa NG", + "Xpub Keys": "Xpub Keys", + "You are currently not connected to the Kaspa node.": "You are currently not connected to the Kaspa node.", + "You can configure remote connection in Settings": "You can configure remote connection in Settings", + "You can create multiple wallets, but only one wallet can be open at a time.": "You can create multiple wallets, but only one wallet can be open at a time.", + "You must be connected to a node...": "You must be connected to a node...", + "Your default wallet private key mnemonic is:": "Your default wallet private key mnemonic is:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.", + "Your private key mnemonic is:": "Your private key mnemonic is:", + "Your wallet has been created and is ready to use.": "Your wallet has been created and is ready to use.", + "Zoom": "Zoom", + "amount to send": "amount to send", + "bye!": "bye!", + "gRPC Network Interface & Port": "gRPC Network Interface & Port", + "gRPC Rx": "gRPC Rx", + "gRPC Rx/s": "gRPC Rx/s", + "gRPC Tx": "gRPC Tx", + "gRPC Tx/s": "gRPC Tx/s", + "of": "of", + "p2p RPC": "p2p RPC", + "p2p Rx": "p2p Rx", + "p2p Rx/s": "p2p Rx/s", + "p2p Tx": "p2p Tx", + "p2p Tx/s": "p2p Tx/s", + "peer": "peer", + "peers": "peers", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh Rx", + "wRPC Borsh Rx/s": "wRPC Borsh Rx/s", + "wRPC Borsh Tx": "wRPC Borsh Tx", + "wRPC Borsh Tx/s": "wRPC Borsh Tx/s", + "wRPC Connection Settings": "wRPC Connection Settings", + "wRPC Encoding:": "wRPC Encoding:", + "wRPC JSON Rx": "wRPC JSON Rx", + "wRPC JSON Rx/s": "wRPC JSON Rx/s", + "wRPC JSON Tx": "wRPC JSON Tx", + "wRPC JSON Tx/s": "wRPC JSON Tx/s", + "wRPC URL:": "wRPC URL:", + "words": "words" }, - "ur": {}, - "vi": {}, "zh": { + "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).": "'Phishing hint' is a secret word or a phrase that is displayed when you open your wallet. If you do not see the hint when opening your wallet, you may be accessing a fake wallet designed to steal your funds. If this occurs, stop using the wallet immediately, check the browser URL domain name and seek help on social networks (Kaspa Discord or Telegram).", "1 BPS test network": "1 BPS 测试网", "10 BPS test network": "10 BPS 测试网", "12 word mnemonic": "12 词助记词", "24 word mnemonic": "24 词助记词", - "24h Change": "24 小时变化", + "24h Change": "24 小时价格变化", "A binary at another location is spawned a child process (experimental, for development purposes only).": "在另一个位置的二进制文件生成了一个子进程(实验性功能,仅用于开发目的)。", "A random node will be selected on startup": "启动时将随机选择一个节点", "A wallet is stored in a file on your computer.": "钱包存储在您电脑上的一个文件中。", @@ -5952,13 +15547,15 @@ "Activate custom daemon arguments": "激活自定义守护进程参数", "Active p2p Peers": "活跃 P2P 对等节点", "Address derivation scan": "地址派生扫描", - "Address:": "钱包地址:", + "Address:": "钱包地址:", "Advanced": "高级", + "Advanced Options": "Advanced Options", "All": "全部", + "Allow clipboard copy": "Allow clipboard copy", "Allow custom arguments for the Rusty Kaspa daemon": "允许对 Rusty Kaspa 守护程序使用自定义参数", "Allows you to take screenshots from within the application": "允许您从应用程序内截取屏幕截图", "Apply": "应用", - "Balance: N/A": "余额:N/A", + "Balance: N/A": "无余额", "Bandwidth": "带宽", "Because of its focus on security and performance, this software is entirely developed in Rust, demanding significantly more time and effort compared to other traditional modern web-driven software.": "由于该软件注重安全性和性能,因此完全使用 Rust 开发,与其他传统的现代 Web 驱动软件相比,需要更多的时间和精力。", "Bezier Curves": "贝塞尔曲线", @@ -5973,7 +15570,7 @@ "CONNECTED": "已连接", "CPU": "CPU", "Cache Memory Size": "缓存内存大小", - "Cache Memory Size:": "缓存内存大小:", + "Cache Memory Size:": "缓存内存大小:", "Cancel": "取消", "Cannot delete data folder while the node is running": "不支持在节点运行过程中删除数据目录", "Capture a screenshot": "截屏", @@ -5986,6 +15583,8 @@ "Click to try another server...": "点击尝试另外一个服务器...", "Client RPC": "客户端 RPC", "Close": "关闭", + "Close the window": "关闭窗口", + "Confirm BIP39 passphrase": "Confirm BIP39 passphrase", "Confirm wallet password": "确认钱包密码", "Connect to a local node (localhost)": "连接到一个本地节点 (localhost)", "Connecting to": "正在连接到", @@ -6000,18 +15599,20 @@ "Copy logs to clipboard": "拷贝日志到剪贴板", "Create New Account": "创建新账户", "Create New Wallet": "创建新钱包", + "Create Wallet": "Create Wallet", "Create new wallet": "创建新钱包", "Creating Account": "创建账户", "Creating Wallet": "创建钱包", "Custom": "自定义", "Custom Public Node": "定制公共节点", - "Custom arguments:": "自定义参数:", + "Custom arguments:": "自定义参数:", "Custom data storage folder": "自定义数据存储目录", "DAA": "DAA", "DAA Offset": "DAA 偏移量", "DAA Range": "DAA 区间", - "DB Blocks": "数据库区块", - "DB Headers": "数据库区块头", + "DB Blocks": "DB 区块", + "DB Headers": "DB 区块头", + "Dangerous": "Dangerous", "Data Storage": "数据存储", "Database Blocks": "数据库区块", "Database Headers": "数据库区块头", @@ -6027,7 +15628,7 @@ "Developer mode enables advanced and experimental features": "开发者模式启用高级和实验性功能", "Difficulty": "难度", "Dimensions": "维度", - "Disable password score restrictions": "禁用密码强度限制", + "Disable password safety rules": "禁用密码强度限制", "Disabled": "禁用", "Disables node connectivity (Offline Mode).": "关闭节点连接(离线模式)。", "Discord": "Discord", @@ -6043,8 +15644,10 @@ "Enable screen capture": "启用屏幕截屏", "Enables features currently in development": "启用目前正在开发中的功能", "Enter": "输入", + "Enter BIP39 passphrase": "Enter BIP39 passphrase", "Enter account name (optional)": "输入账户名称 (可选)", "Enter first account name": "输入第一个账户名称", + "Enter mnemonic": "Enter mnemonic", "Enter phishing hint": "输入防钓鱼提示", "Enter the amount": "输入金额", "Enter the password for your wallet": "输入您的钱包密码", @@ -6052,20 +15655,26 @@ "Enter wallet name": "输入钱包名称", "Enter wallet password": "输入钱包密码", "Enter your wallet secret": "输入您的钱包密钥", + "Exit Full Screen": "Exit Full Screen", "Explorer": "浏览器", "Export Wallet Data": "导出钱包数据", - "Faucet": "水龙头", + "Faucet": "代币水龙头", "File Handles": "文件句柄", - "Filename:": "文件名:", + "Filename:": "文件名:", "Final Amount:": "最终金额:", + "Full Screen": "全屏", "GitHub Release": "GitHub 发布版本", "Go to Settings": "前往设置", + "Good": "Good", "Handles": "句柄", "Headers": "区块头", + "I have a 12 word mnemonic legacy account": "I have a 12 word mnemonic legacy account", "IBD:": "IBD:", "If not specified, the account will be represented by the numeric id.": "如果没有指定,该账户将以数字 ID 形式展示", - "If you are running locally, use: ": "如果您在本地运行,请使用:", + "If you are running locally, use: ": "如果您在本地运行,请使用:", + "Import Existing Private Key": "Import Existing Private Key", "Import existing": "导入已有", + "Importing Wallet": "Importing Wallet", "Inbound": "入站", "Include QoS Priority Fees": "包含 QoS 优先级费用", "Integrated Daemon": "集成守护程序", @@ -6103,7 +15712,8 @@ "Market": "市场", "Market Cap": "市值", "Market Monitor": "市场监测", - "Mass Processed": "已处理质量", + "Mass Processed": "已处理质量计数", + "Maximize window": "最大化窗口", "Medium Narrow": "中等窄幅", "Medium Wide": "中等宽度", "Memory": "内存", @@ -6111,15 +15721,18 @@ "Mempool Size": "内存池大小", "Metrics": "指标", "Metrics are not currently available": "当前无法获取指标数据", + "Minimize the window": "最小化窗口", + "Mnemonic Import": "Mnemonic Import", "NPM Modules for NodeJS": "适用于 NodeJS 的 NPM 模块", "Network": "网络", "Network Difficulty": "网络难度", - "Network Fees:": "网络费用:", + "Network Fees:": "网络费用:", "Network Interface": "网络接口", "Network Peers": "网络对等节点", + "Never share your mnemonic with anyone!": "Never share your mnemonic with anyone!", "No peers": "没有对等节点", "No public node selected - please select a public node": "未选择公共节点,需选择一个公共节点", - "No transactions": "无转账交易", + "No transactions": "无交易", "No wallets found, please create a new wallet": "未找到钱包,请创建一个新钱包", "Node": "节点", "Node Status": "节点状态", @@ -6129,32 +15742,39 @@ "Not connected": "未连接", "Notifications": "通知", "Open Data Folder": "打开数据目录", - "Opening wallet:": "打开钱包中:", + "Opening wallet:": "钱包开启中:", "Optional": "可选", "Other operations": "其他操作", "Outbound": "出站", "Overview": "全局", "Parents": "父节点", + "Passphrase is too weak": "Passphrase is too weak", + "Passphrases do not match": "Passphrases do not match", + "Passwords do not match": "Passwords do not match", "Past Median Time": "过去的中位时间", "Payment & Recovery Password": "支付和恢复密码", "Payment Request": "付款请求", "Peers": "对等节点", "Performance": "性能", "Phishing Hint": "钓鱼提示", - "Ping:": "Ping:", + "Ping:": "Ping:", "Please Confirm Deletion": "请确认删除", "Please configure your Kaspa NG settings": "调整您的 Kaspa NG 设置", "Please connect to Kaspa p2p node": "请连接到 Kaspa P2P 节点", "Please create a stronger password": "创建一个更复杂的密码", "Please enter": "输入", "Please enter KAS amount to send": "请输入要发送的 KAS 金额", + "Please enter additional": "Please enter additional", "Please enter an amount": "输入金额", + "Please enter mnemonic comprised of 12 words": "Please enter mnemonic comprised of 12 words", + "Please enter mnemonic comprised of 24 words": "Please enter mnemonic comprised of 24 words", "Please enter the account name": "输入账户名称", "Please enter the wallet secret": "输入钱包密钥", - "Please note that this is a beta release. Until this message is removed, please avoid using the wallet with mainnet funds.": "请注意,这是一个 Beta 测试版本。在这条消息被移除之前,请避免使用该钱包处理主网资金。", + "Please note that this is an alpha release. Until this message is removed, please avoid using the wallet with mainnet funds.": "请注意,这是一个 Alpha 测试版本。在这条消息被移除之前,请避免使用该钱包处理主网资金。", "Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.": "请注意,复制到剪贴板可能会将您的助记词暴露给恶意软件。", "Please select an account type": "请选择账户类型", "Please select the private key to export": "选择您要导出的钱包私钥", + "Please select the private key type you would like to import in the new wallet": "Please select the private key type you would like to import in the new wallet", "Please set node to 'Disabled' to delete the data folder": "请将节点设为「禁用」从而删除数据目录", "Please specify the name of the default account. The wallet will be created with a default account. Once created, you will be able to create additional accounts as you need.": "需指定默认账户的名称,创建钱包时将使用默认账户;创建后,您可以根据需要创建其他账户。", "Please specify the name of the new wallet": "为新钱包指定名称", @@ -6166,19 +15786,20 @@ "Price": "价格", "Private Key Mnemonic": "私钥助记词", "Processed Bodies": "已处理区块体", - "Processed Dependencies": "处理的依赖项", - "Processed Headers": "已处理的区块头", + "Processed Dependencies": "已处理依赖项", + "Processed Headers": "已处理区块头", "Processed Mass Counts": "已处理质量计数", - "Processed Transactions": "已处理的交易", - "Protocol:": "协议:", + "Processed Transactions": "已处理交易", + "Protocol:": "协议:", "Public Node": "公共节点", "Public Nodes": "公共节点", "Public Server": "公共服务器", "Public p2p Nodes for": "将公共 P2P 节点用于", "Random Public Node": "随机公共节点", - "Range:": "范围:", + "Range:": "范围:", "Receive Address": "接收地址", "Recommended arguments for the remote node: ": "远程节点的推荐参数:", + "Redistributables": "可下载复用", "Remote": "远程", "Remote Connection:": "远程连接: ", "Remote p2p Node Configuration": "远程 P2P 节点设置", @@ -6198,6 +15819,7 @@ "Select Public Node": "选择公共节点", "Select Wallet": "选择钱包", "Select a wallet to unlock": "选择一个钱包进行解锁", + "Select this option if your wallet was created": "Select this option if your wallet was created", "Send": "发送", "Services": "服务", "Settings": "设置", @@ -6205,27 +15827,29 @@ "Show Grid": "显示网格", "Show VSPC": "显示 VSPC", "Show balances in alternate currencies for testnet coins": "用其他货币单位展示测试网代币余额", + "Show passphrase": "Show passphrase", "Show password": "显示密码", "Shows balances in alternate currencies (BTC, USD) when using testnet coins as if you are on mainnet": "使用测试网代币时,像主网那样以其他货币单位(如 BTC,USD)进行展示", "Skip": "跳过", "Small (10 BPS)": "小 (10 BPS)", - "Spread": "差价", + "Spread": "价差", "Stage": "阶段", "Starting...": "启动中...", - "Statistics": "统计", + "Statistics": "统计数据", "Stor Read": "存储读取", "Stor Write": "存储写入", "Storage": "存储", "Storage Read": "存储读取", - "Storage Read/s": "存储读取/每秒", + "Storage Read/s": "每秒存储读取", "Storage Write": "存储写入", - "Storage Write/s": "存储写入/每秒", + "Storage Write/s": "每秒存储写入", + "Strong": "Strong", "Submitted Blocks": "已提交区块", "Supporting Kaspa NG development": "支持 Kaspa NG 开发", - "Syncing Cryptographic Proof...": "正在同步加密证明...", - "Syncing DAG Blocks...": "正在同步 DAG 区块...", - "Syncing Headers...": "正在同步区块头...", - "Syncing UTXO entries...": "同步 UTXO 条目中...", + "Syncing Cryptographic Proof...": "加密证明同步中...", + "Syncing DAG Blocks...": "DAG 区块同步中...", + "Syncing Headers...": "区块头同步中...", + "Syncing UTXO entries...": "UTXO 条目同步中...", "Syncing...": "同步中...", "System": "系统", "TPS": "TPS", @@ -6241,19 +15865,20 @@ "The node is currently syncing with the Kaspa p2p network. Account balances may be out of date.": "此节点正在与 Kaspa P2P 网络同步中,因此显示的账户余额可能不正确。", "The node is spawned as a child daemon process (recommended).": "生成一个用于子守护进程节点(推荐)。", "The node runs as a part of the Kaspa-NG application process. This reduces communication overhead (experimental).": "节点作为 Kaspa-NG 应用进程的一部分运行,有助于减少通信开销(实验性功能)。", + "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!": "The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.If you loose or forget this passphrase, you will not be able to use mnemonic to recover your wallet!", "Theme Color": "主题颜色", "Theme Color:": "主题颜色", "Theme Style": "主题风格", - "Theme Style:": "主题风格:", + "Theme Style:": "主题风格:", "This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "除非您手动输入私钥进行恢复操作,否则钱包不会向您询问密钥助记词", "Threshold": "阈值", "Time Offset:": "时间偏移量:", "Tip Hashes": "尖端哈希值", "Tools ⏷": "工具", - "Total Rx": "全部接收", - "Total Rx/s": "全部接收/每秒", - "Total Tx": "全部发送", - "Total Tx/s": "总发送/每秒", + "Total Rx": "总接收量", + "Total Rx/s": "每秒总接收量", + "Total Tx": "总发送量", + "Total Tx/s": "每秒总发送量", "Track in the background": "在后台追踪", "Transactions": "交易", "Transactions:": "交易:", @@ -6273,11 +15898,12 @@ "User Agent": "用户代理", "User Interface": "用户界面", "Very dangerous (may be cracked within few seconds)": "非常危险 (可在几秒钟内被破解)", + "Very weak": "Very weak", "Virt Parents": "虚拟父节点", "Virtual DAA Score": "虚拟 DAA 得分", "Virtual Memory": "虚拟内存", "Virtual Parent Hashes": "虚拟父哈希", - "Volume": "量级", + "Volume": "成交量", "WASM SDK for JavaScript and TypeScript": "适用于 JavaScript 和 TypeScript 的 WASM SDK", "Wallet": "钱包", "Wallet Created": "钱包已创建", @@ -6285,45 +15911,51 @@ "Wallet Name": "钱包名称", "Wallet Secret": "钱包密钥", "Wallet password is used to encrypt your wallet data.": "钱包密码会用于保护您的钱包数据", - "Wallet:": "钱包:", - "We greatly appreciate your help in backing our efforts.": "非常感谢您对我们的支持。", + "Wallet with this name already exists": "Wallet with this name already exists", + "Wallet:": "钱包:", + "We greatly appreciate your help in backing our efforts.": "非常感谢您的支持。", + "Weak": "Weak", "Welcome to Kaspa NG": "欢迎来到 Kaspa NG", "Xpub Keys": "Xpub Keys", "You are currently not connected to the Kaspa node.": "你当前未连接到 Kaspa 节点。", "You can configure remote connection in Settings": "您可以在设置中配置远程连接", "You can create multiple wallets, but only one wallet can be open at a time.": "您可以创建多个钱包,但每次只能打开一个钱包。", "You must be connected to a node...": "您必须连接至一个节点...", - "Your default wallet private key mnemonic is:": "您默认钱包的私钥助记词是:", - "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "您的助记词短语使您能够重新创建私钥。任何能够访问此助记词的人将完全控制其中存储的 Kaspa。请妥善保管您的助记词。将其写下来并存放在一个安全的地方,最好是防火的地点。不要在这台电脑或移动设备上存储您的助记词。除非您手动启动私钥恢复,否则此钱包永远不会要求您提供助记词短语。", - "Your private key mnemonic is:": "您的私钥助记词是:", + "Your default wallet private key mnemonic is:": "您默认钱包的私钥助记词是:", + "Your mnemonic is protected with a bip39 passphrase": "Your mnemonic is protected with a bip39 passphrase", + "Your mnemonic phrase allows you to re-create your private key. The person who has access to this mnemonic will have full control of the Kaspa stored in it. Keep your mnemonic safe. Write it down and store it in a safe, preferably in a fire-resistant location. Do not store your mnemonic on this computer or a mobile device. This wallet will never ask you for this mnemonic phrase unless you manually initiate a private key recovery.": "您的助记词短语使您能够重新创建私钥。任何得到此助记词的人将完全控制其中存储的 Kaspa。请妥善保管您的助记词。建议您将其炒录并存放在一个安全且防火的地方。请切勿在这台电脑或移动设备上存储您的助记词。除非您手动启动私钥恢复,否则此钱包永远不会要求您提供助记词短语。", + "Your private key mnemonic is:": "您的私钥助记词是:", "Your wallet has been created and is ready to use.": "您的钱包创建完成,已可以使用。", "Zoom": "缩放", "amount to send": "待发送金额", "bye!": "再见!", "gRPC Network Interface & Port": "gRPC 网络接口和端口", - "gRPC Rx": "gRPC 接收", - "gRPC Rx/s": " gRPC 接收/每秒", - "gRPC Tx": "gRPC 发送", - "gRPC Tx/s": "gRPC 发送/每秒", + "gRPC Rx": "gRPC 接收量", + "gRPC Rx/s": "每秒 gRPC 接收量", + "gRPC Tx": "gRPC 发送量", + "gRPC Tx/s": "每秒 gRPC 发送量", "of": "of", "p2p RPC": "P2P RPC", - "p2p Rx": "P2P 接收", - "p2p Rx/s": "P2P 接收/每秒", - "p2p Tx": "P2P 发送", - "p2p Tx/s": "P2P 发送/每秒", + "p2p Rx": "P2P 接收量", + "p2p Rx/s": "每秒 P2P 接收量", + "p2p Tx": "P2P 发送量", + "p2p Tx/s": "每秒 P2P 发送量", "peer": "对等节点", "peers": "对等节点", - "wRPC Borsh Rx": "wRPC Borsh 接收", - "wRPC Borsh Rx/s": "wRPC Borsh 接收/秒", - "wRPC Borsh Tx": "wRPC Borsh 发送", - "wRPC Borsh Tx/s": "wRPC Borsh 发送/每秒", + "secp256k1 keypair": "secp256k1 keypair", + "using KDX or kaspanet.io web wallet": "using KDX or kaspanet.io web wallet", + "wRPC Borsh Rx": "wRPC Borsh 接收量", + "wRPC Borsh Rx/s": "每秒 wRPC Borsh 接收量", + "wRPC Borsh Tx": "wRPC Borsh 发送量", + "wRPC Borsh Tx/s": "每秒 wRPC Borsh 发送量", "wRPC Connection Settings": "wRPC 连接设置", "wRPC Encoding:": "wRPC 编码:", - "wRPC JSON Rx": "wRPC JSON 接收", - "wRPC JSON Rx/s": "wRPC JSON 接收/每秒", - "wRPC JSON Tx": "wRPC JSON 发送", - "wRPC JSON Tx/s": "wRPC JSON 发送/每秒", - "wRPC URL:": "wRPC URL:" + "wRPC JSON Rx": "wRPC JSON 接收量", + "wRPC JSON Rx/s": "每秒 wRPC JSON 接收量", + "wRPC JSON Tx": "wRPC JSON 发送量", + "wRPC JSON Tx/s": "每秒 wRPC JSON 发送量", + "wRPC URL:": "wRPC URL:", + "words": "words" } } } \ No newline at end of file diff --git a/core/src/app.rs b/core/src/app.rs index 8cb9a24..c7ed5f0 100644 --- a/core/src/app.rs +++ b/core/src/app.rs @@ -1,7 +1,6 @@ use crate::events::ApplicationEventsChannel; use crate::interop::Adaptor; use crate::result::Result; -use crate::servers::parse_default_servers; use cfg_if::cfg_if; use kaspa_ng_core::runtime; use kaspa_ng_core::settings::Settings; @@ -104,7 +103,7 @@ cfg_if! { let cmd = Command::new("kaspa-ng") - .about(format!("kaspa-ng v{VERSION}-{GIT_DESCRIBE} (rusty-kaspa v{})", kaspa_wallet_core::version())) + .about(format!("kaspa-ng v{VERSION}-{GIT_DESCRIBE} (rusty-kaspa {})", kaspa_version())) .arg(arg!(--version "Display software version")) .arg(arg!(--disable "Disable node services when starting")) .arg(arg!(--daemon "Run as Rusty Kaspa p2p daemon")) @@ -216,15 +215,13 @@ cfg_if! { workflow_log::set_colors_enabled(true); - println!("kaspa-ng v{VERSION}-{GIT_DESCRIBE} (rusty-kaspa v{})", kaspa_wallet_core::version()); + println!("kaspa-ng v{VERSION}-{GIT_DESCRIBE} (rusty-kaspa {})", kaspa_version()); // Log to stderr (if you run with `RUST_LOG=debug`). env_logger::init(); set_log_level(LevelFilter::Info); - parse_default_servers(); - let mut settings = if reset_settings { println!("Resetting kaspa-ng settings on user request..."); Settings::default().store_sync()?.clone() @@ -257,14 +254,14 @@ cfg_if! { let runtime: Arc>> = Arc::new(Mutex::new(None)); let delegate = runtime.clone(); - let window_frame = true; + let window_frame = !settings.user_interface.disable_frame; let mut viewport = egui::ViewportBuilder::default() .with_resizable(true) .with_title(i18n("Kaspa NG")) .with_min_inner_size([400.0,320.0]) .with_inner_size([1000.0,600.0]) - .with_icon(svg_to_icon_data(KASPA_NG_ICON_SVG, FitTo::Size(256,256))); + .with_icon(svg_to_icon_data(KASPA_NG_ICON_SVG, Some(SizeHint::Size(256,256)))); if window_frame { viewport = viewport @@ -275,6 +272,7 @@ cfg_if! { let native_options = eframe::NativeOptions { persist_window : true, viewport, + follow_system_theme: false, ..Default::default() }; @@ -289,7 +287,7 @@ cfg_if! { runtime::signals::Signals::bind(&runtime); runtime.start(); - Box::new(kaspa_ng_core::Core::new(cc, runtime, settings, window_frame)) + Ok(Box::new(kaspa_ng_core::Core::new(cc, runtime, settings, window_frame))) }), )?; @@ -305,6 +303,7 @@ cfg_if! { // use crate::result::Result; // use crate::adaptor::Adaptor; + // use wasm_bindgen::JsCast; // pub async fn kaspa_ng_main(wallet_api : Option>, application_events : Option, adaptor: Option>) -> Result<()> { pub async fn kaspa_ng_main(application_context : ApplicationContext) -> Result<()> { @@ -327,12 +326,13 @@ cfg_if! { // Redirect `log` message to `console.log` and friends: eframe::WebLogger::init(log::LevelFilter::Debug).ok(); - let web_options = eframe::WebOptions::default(); + let web_options = eframe::WebOptions{ + follow_system_theme: false, + ..eframe::WebOptions::default() + }; kaspa_core::log::set_log_level(kaspa_core::log::LevelFilter::Info); - parse_default_servers(); - let settings = Settings::load().await.unwrap_or_else(|err| { log_error!("Unable to load settings: {err}"); Settings::default() @@ -342,7 +342,6 @@ cfg_if! { .with_static_json_data(I18N_EMBEDDED) .try_init()?; - // wasm_bindgen_futures::spawn_local(async { use workflow_log::*; log_info!("Welcome to Kaspa NG! Have a great day!"); @@ -352,6 +351,7 @@ cfg_if! { eframe::WebRunner::new() .start( + // will be used in >0.28.1 -> document().get_element_by_id("kaspa-ng").expect(" not found.").dyn_into::().unwrap(), "kaspa-ng", web_options, Box::new(move |cc| { @@ -371,14 +371,13 @@ cfg_if! { - Box::new(kaspa_ng_core::Core::new(cc, runtime, settings, false)) + Ok(Box::new(kaspa_ng_core::Core::new(cc, runtime, settings, false))) }), ) .await .expect("failed to start eframe"); - // log_info!("shutting down..."); - // }); + //log_info!("shutting down..."); Ok(()) } diff --git a/core/src/collection.rs b/core/src/collection.rs index 8360586..2eb5d2a 100644 --- a/core/src/collection.rs +++ b/core/src/collection.rs @@ -43,27 +43,31 @@ where self.list.push(v); } - pub fn replace_or_insert(&mut self, v: T) { + pub fn replace_or_insert(&mut self, v: T) -> Option { if self.map.insert(*v.id(), v.clone()).is_some() { let id = v.id(); let index = self.list.iter().position(|item| item.id() == id).unwrap_or_else(|| { panic!("Collection::replace_or_insert(): failed to find index for id: {} while inserting: {:?}", id.to_hex(), v) }); - let _ = std::mem::replace(&mut self.list[index], v); + let t = std::mem::replace(&mut self.list[index], v); + Some(t) } else { self.list.insert(0, v); + None } } - pub fn replace_or_push(&mut self, v: T) { + pub fn replace_or_push(&mut self, v: T) -> Option { if self.map.insert(*v.id(), v.clone()).is_some() { let id = v.id(); let index = self.list.iter().position(|item| item.id() == id).unwrap_or_else(|| { panic!("Collection::replace_or_insert(): failed to find index for id: {} while inserting: {:?}", id.to_hex(), v) }); - let _ = std::mem::replace(&mut self.list[index], v); + let t = std::mem::replace(&mut self.list[index], v); + Some(t) } else { self.list.push(v); + None } } @@ -75,6 +79,14 @@ where self.map.get(id) } + pub fn pop(&mut self) -> Option { + if let Some(item) = self.list.pop() { + self.map.remove(item.id()); + return Some(item); + } + None + } + pub fn list(&self) -> &Vec { &self.list } diff --git a/core/src/core.rs b/core/src/core.rs index dd331e5..f83334f 100644 --- a/core/src/core.rs +++ b/core/src/core.rs @@ -8,9 +8,14 @@ use kaspa_wallet_core::api::TransactionsDataGetResponse; use kaspa_wallet_core::events::Events as CoreWallet; use kaspa_wallet_core::storage::{Binding, Hint, PrvKeyDataInfo}; use std::borrow::Cow; +use std::future::IntoFuture; #[allow(unused_imports)] use workflow_i18n::*; use workflow_wasm::callback::CallbackMap; +pub const TRANSACTION_PAGE_SIZE: u64 = 20; +pub const MAINNET_EXPLORER: &str = "https://explorer.kaspa.org"; +pub const TESTNET10_EXPLORER: &str = "https://explorer-tn10.kaspa.org"; +pub const TESTNET11_EXPLORER: &str = "https://explorer-tn11.kaspa.org"; pub enum Exception { #[allow(dead_code)] @@ -54,6 +59,9 @@ pub struct Core { pub network_pressure: NetworkPressure, notifications: Notifications, pub storage: Storage, + // pub feerate : Option>, + pub feerate: Option, + pub node_info: Option>, } impl Core { @@ -215,6 +223,8 @@ impl Core { network_pressure: NetworkPressure::default(), notifications: Notifications::default(), storage, + feerate: None, + node_info: None, // daemon_storage_root: Mutex::new(daemon_storage_root), }; @@ -222,8 +232,6 @@ impl Core { module.init(&mut this); }); - load_public_servers(); - this.wallet_update_list(); cfg_if! { @@ -431,9 +439,10 @@ impl eframe::App for Core { pressed, modifiers, repeat, + physical_key, } = event { - self.handle_keyboard_events(*key, *pressed, modifiers, *repeat); + self.handle_keyboard_events(*key, *pressed, modifiers, *repeat, physical_key); } }); @@ -616,9 +625,9 @@ impl Core { sender .try_send(Events::Notify { - user_notification: UserNotification::success(format!( - "Capture saved to\n{}", - path.to_string_lossy() + user_notification: UserNotification::success(i18n_args( + "Capture saved to {path}", + &[("path", path.to_string_lossy())], )) .as_toast(), }) @@ -726,6 +735,17 @@ impl Core { self.network_pressure .update_mempool_size(mempool_size, &self.settings.node.network); } + Events::Feerate { feerate } => { + if let Some(feerate) = feerate { + if let Some(average) = self.feerate.as_mut() { + average.insert(feerate.as_ref()); + } else { + self.feerate = Some(FeerateEstimate::new(feerate.as_ref())); + } + } else { + self.feerate = None; + } + } Events::Exit => { cfg_if! { if #[cfg(not(target_arch = "wasm32"))] { @@ -765,6 +785,9 @@ impl Core { self.notifications.push(notification); } } + Events::NodeInfo { node_info } => { + self.node_info = node_info; + } Events::Close { .. } => {} Events::UnlockSuccess => {} Events::UnlockFailure { .. } => {} @@ -984,9 +1007,21 @@ impl Core { .as_ref() .and_then(|account_collection| { account_collection.get(&id).map(|account| { - account.transactions().replace_or_insert( - Transaction::new_confirmed(Arc::new(record)), - ); + if account + .transactions() + .replace_or_insert(Transaction::new_confirmed( + Arc::new(record), + )) + .is_none() + { + let mut binding = account.transactions(); + while binding.len() as u64 > TRANSACTION_PAGE_SIZE { + binding.pop(); + } + account.set_transaction_count( + account.transaction_count() + 1, + ); + } }) }); } @@ -1008,9 +1043,21 @@ impl Core { .as_ref() .and_then(|account_collection| { account_collection.get(&id).map(|account| { - account.transactions().replace_or_insert( - Transaction::new_confirmed(Arc::new(record)), - ); + if account + .transactions() + .replace_or_insert(Transaction::new_confirmed( + Arc::new(record), + )) + .is_none() + { + let mut binding = account.transactions(); + while binding.len() as u64 > TRANSACTION_PAGE_SIZE { + binding.pop(); + } + account.set_transaction_count( + account.transaction_count() + 1, + ); + } }) }); } @@ -1025,9 +1072,21 @@ impl Core { .as_ref() .and_then(|account_collection| { account_collection.get(&id).map(|account| { - account.transactions().replace_or_insert( - Transaction::new_processing(Arc::new(record)), - ); + if account + .transactions() + .replace_or_insert(Transaction::new_processing( + Arc::new(record), + )) + .is_none() + { + let mut binding = account.transactions(); + while binding.len() as u64 > TRANSACTION_PAGE_SIZE { + binding.pop(); + } + account.set_transaction_count( + account.transaction_count() + 1, + ); + } }) }); } @@ -1084,6 +1143,41 @@ impl Core { }); } + pub fn load_account_transactions_with_range( + &mut self, + account: &Account, + range: std::ops::Range, + ) -> Result<()> { + let account_id = account.id(); + let network_id = self + .state + .network_id + .unwrap_or(self.settings.node.network.into()); + let runtime = self.runtime.clone(); + let account = account.clone(); + spawn(async move { + let data = runtime + .wallet() + .transactions_data_get_range(account_id, network_id, range) + .into_future() + .await?; + + let TransactionsDataGetResponse { + account_id, + transactions, + start: _, + total, + } = data; + + if let Err(err) = account.load_transactions(transactions, total) { + log_error!("error loading transactions into account {account_id}: {err}"); + } + Ok(()) + }); + + Ok(()) + } + fn load_accounts( &mut self, network_id: NetworkId, @@ -1135,9 +1229,11 @@ impl Core { let futures = account_ids .into_iter() .map(|account_id| { - runtime - .wallet() - .transactions_data_get_range(account_id, network_id, 0..16384) + runtime.wallet().transactions_data_get_range( + account_id, + network_id, + 0..TRANSACTION_PAGE_SIZE, + ) }) .collect::>(); @@ -1190,17 +1286,6 @@ impl Core { .expect("account collection") .extend_unchecked(accounts.clone()); - if let Some(first) = accounts.first() { - let device = self.device().clone(); - let wallet = self.wallet(); - self.get_mut::().select( - wallet, - Some(first.clone()), - device, - true, - ); - } - let account_ids = accounts .iter() .map(|account| account.id()) @@ -1212,6 +1297,17 @@ impl Core { Ok(()) }); + if let Some(first) = accounts.first() { + let device = self.device().clone(); + let wallet = self.wallet(); + self.get_mut::().select( + wallet, + Some(first.clone()), + device, + true, + ); + } + accounts } @@ -1221,6 +1317,7 @@ impl Core { pressed: bool, modifiers: &Modifiers, _repeat: bool, + _physical_key: &Option, ) { if !pressed { return; diff --git a/core/src/egui/composite_button.rs b/core/src/egui/composite_button.rs index a3c9cc2..f357ffa 100644 --- a/core/src/egui/composite_button.rs +++ b/core/src/egui/composite_button.rs @@ -291,11 +291,26 @@ impl Widget for CompositeButton<'_> { secondary_text_style = TextStyle::Monospace; } - let text = text.map(|text| text.into_galley(ui, wrap, text_wrap_width, TextStyle::Button)); + let wrap_mode = wrap.map(|wrap| { + if wrap { + TextWrapMode::Wrap + } else { + TextWrapMode::Extend + } + }); + + let text = + text.map(|text| text.into_galley(ui, wrap_mode, text_wrap_width, TextStyle::Button)); let secondary_text = secondary_text - .map(|text| text.into_galley(ui, wrap, text_wrap_width, secondary_text_style)); - let shortcut_text = (!shortcut_text.is_empty()) - .then(|| shortcut_text.into_galley(ui, Some(false), f32::INFINITY, TextStyle::Button)); + .map(|text| text.into_galley(ui, wrap_mode, text_wrap_width, secondary_text_style)); + let shortcut_text = (!shortcut_text.is_empty()).then(|| { + shortcut_text.into_galley( + ui, + Some(TextWrapMode::Extend), + f32::INFINITY, + TextStyle::Button, + ) + }); let mut desired_size = Vec2::new(pulldown_padding, 0.0); //Vec2::ZERO; let mut img_plus_spacing_width = 0.0; @@ -340,7 +355,7 @@ impl Widget for CompositeButton<'_> { let (rect, mut response) = ui.allocate_at_least(desired_size, sense); response.widget_info(|| { if let Some(text) = &text { - WidgetInfo::labeled(WidgetType::Button, text.text()) + WidgetInfo::labeled(WidgetType::Button, true, text.text()) } else { WidgetInfo::new(WidgetType::Button) } @@ -397,21 +412,36 @@ impl Widget for CompositeButton<'_> { image.image_options(), ); - response = texture_load_result_response(image.source(), &tlr, response); + response = + texture_load_result_response(&image.source(ui.ctx()), &tlr, response); } Composite::Icon(icon) => { let galley = WidgetText::RichText(icon.clone().size(image_size.y)) - .into_galley(ui, wrap, text_wrap_width, TextStyle::Button); + .into_galley( + ui, + wrap.map(|wrap| { + if wrap { + TextWrapMode::Wrap + } else { + TextWrapMode::Extend + } + }), + text_wrap_width, + TextStyle::Button, + ); let image_rect = Rect::from_min_size( pos2(cursor_x, rect.center().y - 0.5 - (galley.size().y / 2.0)), galley.size(), ); cursor_x += galley.size().x; - galley.paint_with_fallback_color( - ui.painter(), - image_rect.min, - visuals.fg_stroke.color, - ); + // galley.paint_with_fallback_color( + // ui.painter(), + // image_rect.min, + // visuals.fg_stroke.color, + // ); + + ui.painter() + .galley(image_rect.min, galley, visuals.fg_stroke.color); } } } @@ -439,14 +469,17 @@ impl Widget for CompositeButton<'_> { .align_size_within_rect(text.size(), rect.shrink2(button_padding)) .min }; - text.paint_with_visuals(ui.painter(), text_pos, visuals); + //text.paint_with_visuals(ui.painter(), text_pos, visuals); + ui.painter().galley(text_pos, text, visuals.text_color()); } if let Some(secondary_text) = secondary_text { let y = text_max_y.unwrap_or_else(|| rect.center().y - 0.5 * secondary_text.size().y); let secondary_text_pos = pos2(cursor_x, y); - secondary_text.paint_with_visuals(ui.painter(), secondary_text_pos, visuals); + //secondary_text.paint_with_visuals(ui.painter(), secondary_text_pos, visuals); + ui.painter() + .galley(secondary_text_pos, secondary_text, visuals.text_color()); } if let Some(shortcut_text) = shortcut_text { @@ -454,17 +487,25 @@ impl Widget for CompositeButton<'_> { rect.max.x - button_padding.x - shortcut_text.size().x, rect.center().y - 0.5 * shortcut_text.size().y, ); - shortcut_text.paint_with_fallback_color( - ui.painter(), - shortcut_text_pos, - ui.visuals().weak_text_color(), - ); + // shortcut_text.paint_with_fallback_color( + // ui.painter(), + // shortcut_text_pos, + // ui.visuals().weak_text_color(), + // ); + ui.painter() + .galley(shortcut_text_pos, shortcut_text, visuals.text_color()); } if pulldown_selector { let galley = WidgetText::RichText(RichText::new("⏷").size(14.)).into_galley( ui, - wrap, + wrap.map(|wrap| { + if wrap { + TextWrapMode::Wrap + } else { + TextWrapMode::Extend + } + }), text_wrap_width, TextStyle::Button, ); @@ -476,11 +517,13 @@ impl Widget for CompositeButton<'_> { galley.size(), ); - galley.paint_with_fallback_color( - ui.painter(), - image_rect.min, - visuals.fg_stroke.color, - ); + // galley.paint_with_fallback_color( + // ui.painter(), + // image_rect.min, + // visuals.fg_stroke.color, + // ); + ui.painter() + .galley(image_rect.min, galley, visuals.fg_stroke.color); } } diff --git a/core/src/egui/composite_icon.rs b/core/src/egui/composite_icon.rs index 16f0698..e9bd21d 100644 --- a/core/src/egui/composite_icon.rs +++ b/core/src/egui/composite_icon.rs @@ -1,5 +1,34 @@ -use egui::widget_text::WidgetTextGalley; +//use egui::widget_text::WidgetTextGalley; use egui::*; +use std::sync::Arc; + +pub struct LayoutResult { + pos: Pos2, + text_pos: Pos2, + response: Response, + icon_text: Arc, + text: Option>, + secondary_text: Option>, +} +impl LayoutResult { + fn new( + pos: Pos2, + text_pos: Pos2, + response: Response, + icon_text: Arc, + text: Option>, + secondary_text: Option>, + ) -> Self { + Self { + pos, + text_pos, + response, + icon_text, + text, + secondary_text, + } + } +} /// Clickable button with text. /// @@ -155,17 +184,7 @@ impl CompositeIcon { } /// Do layout and position the galley in the ui, without painting it or adding widget info. - pub fn layout_in_ui( - &self, - ui: &mut Ui, - ) -> ( - Pos2, - Pos2, - Response, - WidgetTextGalley, - Option, - Option, - ) { + pub fn layout_in_ui(&self, ui: &mut Ui) -> LayoutResult { let sense = { // We only want to focus icon if the screen reader is on. if ui.memory(|mem| mem.options.screen_reader) { @@ -184,14 +203,22 @@ impl CompositeIcon { secondary_text_style = TextStyle::Body; } - let text = self - .text - .clone() - .map(|text| text.into_galley(ui, Some(true), text_wrap_width, TextStyle::Button)); - let secondary_text = self - .secondary_text - .clone() - .map(|text| text.into_galley(ui, Some(true), text_wrap_width, secondary_text_style)); + let text = self.text.clone().map(|text| { + text.into_galley( + ui, + Some(TextWrapMode::Wrap), + text_wrap_width, + TextStyle::Button, + ) + }); + let secondary_text = self.secondary_text.clone().map(|text| { + text.into_galley( + ui, + Some(TextWrapMode::Wrap), + text_wrap_width, + secondary_text_style, + ) + }); if let Some(text) = &text { text_size += text.size(); @@ -221,7 +248,7 @@ impl CompositeIcon { // h-center //pos.x = response.rect.left() + (response.rect.width() - icon_size.x)/2.0; - (pos, text_pos, response, text_galley, text, secondary_text) + LayoutResult::new(pos, text_pos, response, text_galley, text, secondary_text) }; // if let WidgetText::Galley(galley) = self.icon.clone() { @@ -245,14 +272,11 @@ impl CompositeIcon { // } let valign = ui.layout().vertical_align(); - let mut text_job = WidgetText::from(self.icon.clone().size(self.icon_size)).into_text_job( - ui.style(), - FontSelection::Default, - valign, - ); + let mut layout_job = WidgetText::from(self.icon.clone().size(self.icon_size)) + .into_layout_job(ui.style(), FontSelection::Default, valign); let truncate = true; - let wrap = !truncate && ui.wrap_text(); + let wrap = !truncate && ui.wrap_mode() == TextWrapMode::Wrap; let available_width = ui.available_width(); if wrap @@ -265,24 +289,21 @@ impl CompositeIcon { let cursor = ui.cursor(); let first_row_indentation = available_width - ui.available_size_before_wrap().x; - egui_assert!(first_row_indentation.is_finite()); + assert!(first_row_indentation.is_finite()); - text_job.job.wrap.max_width = available_width; - text_job.job.first_row_min_height = cursor.height(); - text_job.job.halign = Align::Min; - text_job.job.justify = false; - if let Some(first_section) = text_job.job.sections.first_mut() { + layout_job.wrap.max_width = available_width; + layout_job.first_row_min_height = cursor.height(); + layout_job.halign = Align::Min; + layout_job.justify = false; + if let Some(first_section) = layout_job.sections.first_mut() { first_section.leading_space = first_row_indentation; } - let text_galley = ui.fonts(|f| text_job.into_galley(f)); + let text_galley = ui.fonts(|fonts| fonts.layout_job(layout_job)); let pos = pos2(ui.max_rect().left(), ui.cursor().top()); - assert!( - !text_galley.galley.rows.is_empty(), - "Galleys are never empty" - ); + assert!(!text_galley.rows.is_empty(), "Galleys are never empty"); // collect a response from many rows: - let mut rect = text_galley.galley.rows[0].rect; + let mut rect = text_galley.rows[0].rect; let mut rect_size = rect.size(); let icon_size = rect_size; rect_size.x = text_size.x.max(rect_size.x) + padding.x * 2.0; @@ -292,7 +313,7 @@ impl CompositeIcon { let rect = rect.translate(vec2(pos.x, pos.y)); let mut response = ui.allocate_rect(rect, sense); - for row in text_galley.galley.rows.iter().skip(1) { + for row in text_galley.rows.iter().skip(1) { let rect = row.rect.translate(vec2(pos.x, pos.y)); response |= ui.allocate_rect(rect, sense); } @@ -300,19 +321,19 @@ impl CompositeIcon { create_result(pos, icon_size, response, text_galley, text, secondary_text) } else { if truncate { - text_job.job.wrap.max_width = available_width; - text_job.job.wrap.max_rows = 1; - text_job.job.wrap.break_anywhere = true; + layout_job.wrap.max_width = available_width; + layout_job.wrap.max_rows = 1; + layout_job.wrap.break_anywhere = true; } else if wrap { - text_job.job.wrap.max_width = available_width; + layout_job.wrap.max_width = available_width; } else { - text_job.job.wrap.max_width = f32::INFINITY; + layout_job.wrap.max_width = f32::INFINITY; }; - text_job.job.halign = Align::Center; - text_job.job.justify = ui.layout().horizontal_justify(); + layout_job.halign = Align::Center; + layout_job.justify = ui.layout().horizontal_justify(); - let text_galley = ui.fonts(|f| text_job.into_galley(f)); + let text_galley = ui.fonts(|fonts| fonts.layout_job(layout_job)); let mut size = text_galley.size(); let icon_size = size; @@ -320,7 +341,7 @@ impl CompositeIcon { size.y += text_size.y + padding.y * 2.0; let (rect, response) = ui.allocate_exact_size(size, sense); - let pos = match text_galley.galley.job.halign { + let pos = match text_galley.job.halign { Align::LEFT => rect.left_top(), Align::Center => rect.center_top(), Align::RIGHT => rect.right_top(), @@ -333,11 +354,18 @@ impl CompositeIcon { impl Widget for CompositeIcon { fn ui(self, ui: &mut Ui) -> Response { - let (pos, text_pos, response, icon_text, text, secondary_text) = self.layout_in_ui(ui); + let LayoutResult { + pos, + text_pos, + response, + icon_text, + text, + secondary_text, + } = self.layout_in_ui(ui); response.widget_info(|| { if let Some(text) = &self.text { - WidgetInfo::labeled(WidgetType::Button, text.text()) + WidgetInfo::labeled(WidgetType::Button, true, text.text()) } else { WidgetInfo::new(WidgetType::Button) } @@ -381,23 +409,28 @@ impl Widget for CompositeIcon { ); } - let override_text_color = if icon_text.galley_has_color { - None - } else { - Some( - ui.style() - .interact_selectable(&response, self.selected) - .text_color(), - ) - }; + // let override_text_color = if icon_text.job.galley_has_color { + // None + // } else { + // let override_text_color = Some( + // ui.style() + // .interact_selectable(&response, self.selected) + // .text_color(), + // ); + //}; let button_padding = self._padding(ui); ui.painter().add(epaint::TextShape { pos, - galley: icon_text.galley, - override_text_color, + galley: icon_text, + override_text_color: None, underline: Stroke::NONE, angle: 0.0, + fallback_color: ui + .style() + .interact_selectable(&response, self.selected) + .text_color(), + opacity_factor: 1.0, }); let mut cursor_y = text_pos.y + ui.spacing().item_spacing.y; @@ -410,7 +443,8 @@ impl Widget for CompositeIcon { pos.y = cursor_y; cursor_y += text.size().y + ui.spacing().item_spacing.y; - text.paint_with_visuals(ui.painter(), pos, visuals); + //text.paint_with_visuals(ui.painter(), pos, visuals); + ui.painter().galley(pos, text, visuals.text_color()); } if let Some(secondary_text) = secondary_text { @@ -420,7 +454,9 @@ impl Widget for CompositeIcon { .min; pos.y = cursor_y; - secondary_text.paint_with_visuals(ui.painter(), pos, visuals); + //secondary_text.paint_with_visuals(ui.painter(), pos, visuals); + ui.painter() + .galley(pos, secondary_text, visuals.text_color()); } } diff --git a/core/src/egui/extensions.rs b/core/src/egui/extensions.rs index 63ba0f4..cfa4e62 100644 --- a/core/src/egui/extensions.rs +++ b/core/src/egui/extensions.rs @@ -25,7 +25,16 @@ pub trait UiExtension { fn large_button(&mut self, text: impl Into) -> Response { self.large_button_enabled(true, text) } + fn large_selected_button(&mut self, selected: bool, text: impl Into) -> Response { + self.large_button_enabled_selected(true, selected, text) + } fn large_button_enabled(&mut self, enabled: bool, text: impl Into) -> Response; + fn large_button_enabled_selected( + &mut self, + enabled: bool, + selected: bool, + text: impl Into, + ) -> Response; fn confirm_medium( &mut self, align: Align, @@ -35,20 +44,104 @@ pub trait UiExtension { fn confirm_medium_apply_cancel(&mut self, align: Align) -> Option; fn confirm_medium_cancel(&mut self, align: Align) -> Option; fn sized_separator(&mut self, size: Vec2) -> Response; + fn widgets_rounding(&self) -> Rounding; + fn small_separator(&mut self) { + self.add_separator(self.create_separator(None, 0.5, None)); + } + fn medium_separator(&mut self) { + self.add_separator(self.create_separator(None, 0.3, None)); + } + fn large_separator(&mut self) { + self.add_separator(self.create_separator(None, 0.1, None)); + } + fn small_separator_with_direction_and_spacing(&mut self, spacing: f32, is_horizontal: bool) { + self.add_separator(self.create_separator(Some(spacing), 0.5, Some(is_horizontal))); + } + fn create_separator( + &self, + spacing: Option, + shrink: f32, + is_horizontal: Option, + ) -> Separator; + fn add_separator(&mut self, separator: Separator); } impl UiExtension for Ui { + fn create_separator( + &self, + spacing: Option, + shrink: f32, + is_horizontal: Option, + ) -> Separator { + let mut sep = Separator::default(); + if let Some(spacing) = spacing { + sep = sep.spacing(spacing) + } + if let Some(is_horizontal) = is_horizontal { + if is_horizontal { + sep = sep.horizontal(); + } else { + sep = sep.vertical(); + } + } + + //let sep = is_horizontal.map_or(sep, |is_horizontal| if is_horizontal{sep.horizontal()}else{sep.vertical()}); + + let is_horizontal_line = + is_horizontal.unwrap_or_else(|| !self.layout().main_dir().is_horizontal()); + + let available_space = self.available_size_before_wrap(); + + //log_info!("spacing:{spacing:?}, is_horizontal: {is_horizontal:?}, is_horizontal_line:{is_horizontal_line}"); + + let size = if is_horizontal_line { + available_space.x + } else { + available_space.y + }; + + let shrink = (size * shrink) / 2.0; + + sep.shrink(shrink) + } + fn add_separator(&mut self, separator: Separator) { + self.add(separator); + } + + fn widgets_rounding(&self) -> Rounding { + self.visuals().widgets.hovered.rounding + } + fn medium_button_enabled(&mut self, enabled: bool, text: impl Into) -> Response { self.add_enabled( enabled, - Button::new(text).min_size(theme_style().medium_button_size()), + Button::new(text) + .rounding(self.widgets_rounding()) + .min_size(theme_style().medium_button_size()), ) } fn large_button_enabled(&mut self, enabled: bool, text: impl Into) -> Response { self.add_enabled( enabled, - Button::new(text).min_size(theme_style().large_button_size()), + Button::new(text) + .rounding(self.widgets_rounding()) + .min_size(theme_style().large_button_size()), + ) + } + + fn large_button_enabled_selected( + &mut self, + enabled: bool, + selected: bool, + text: impl Into, + ) -> Response { + self.add_enabled( + enabled, + Button::new(text) + .rounding(self.widgets_rounding()) + .selected(selected) + .min_size(theme_style().large_button_size()), ) } @@ -140,6 +233,7 @@ pub struct LayoutJobBuilder { leading: f32, icon_font_id: Option, font_id: Option, + heading: Option<(f32, f32, String, Color32)>, } impl LayoutJobBuilder { @@ -147,7 +241,7 @@ impl LayoutJobBuilder { let job = LayoutJob { wrap: TextWrapping { max_width: width, - max_rows: 1, + max_rows: 4, break_anywhere: true, overflow_character: Some('…'), }, @@ -158,6 +252,7 @@ impl LayoutJobBuilder { job, leading, font_id, + heading: None, ..Default::default() } } @@ -209,8 +304,119 @@ impl LayoutJobBuilder { self } + pub fn heading(mut self, ui: &mut Ui, width: f32, text: &str, color: Color32) -> Self { + let galley = ui.painter().layout_no_wrap( + text.to_string(), + self.font_id.clone().unwrap_or_default(), + color, + ); + self.heading = Some((width, galley.size().y, text.to_string(), color)); + self + } + pub fn label(self, ui: &mut Ui) -> Response { - ui.label(self.job) + Self::render_label(ui, self.job, self.heading) + } + + fn render_label( + ui: &mut Ui, + job: LayoutJob, + heading: Option<(f32, f32, String, Color32)>, + ) -> Response { + if let Some((x, y, text, color)) = heading { + let desired_size = Vec2 { x, y }; + ui.horizontal(|ui| { + ui.allocate_ui_with_layout( + desired_size, + Layout::right_to_left(Align::Center), + |ui| ui.label(RichText::new(text).color(color).font(FontId::default())), + ); + ui.label(job) + }) + .inner + } else { + ui.label(job) + } + } + + pub fn hyperlink_with_clipboard_icon( + self, + ui: &mut Ui, + text: &str, + url: &str, + color: Color32, + clipboard_text: Option, + ) { + ui.horizontal(|ui| { + Self::render_label(ui, self.job, self.heading); + ui.hyperlink_to_tab( + RichText::new(text) + .font(self.font_id.unwrap_or_default()) + .color(color), + url, + ); + if let Some(text) = clipboard_text { + Self::clipboard_icon(ui, text); + } + }); + } + pub fn hyperlink(self, ui: &mut Ui, text: &str, url: &str, color: Color32) { + self.hyperlink_with_clipboard_icon(ui, text, url, color, None) + } + pub fn transaction_id( + self, + ui: &mut Ui, + txid: &str, + url: &str, + color: Color32, + range: Option, + ) { + self.hyperlink_with_clipboard_icon( + ui, + &format_partial_string(txid, range), + url, + color, + Some(txid.to_string()), + ) + } + pub fn script(self, ui: &mut Ui, script: &str, color: Color32, range: Option) { + let this = self.text(&format_partial_string(script, range), color); + ui.horizontal(|ui| { + Self::render_label(ui, this.job, this.heading); + Self::clipboard_icon(ui, script.to_string()); + }); + } + pub fn with_clipboard_icon(self, ui: &mut Ui, text: &str) { + ui.horizontal(|ui| { + Self::render_label(ui, self.job, self.heading); + Self::clipboard_icon(ui, text.to_string()); + }); + } + pub fn address( + self, + ui: &mut Ui, + address: &str, + url: &str, + color: Color32, + range: Option, + ) { + self.hyperlink_with_clipboard_icon( + ui, + &format_address_string(address, range), + url, + color, + Some(address.to_string()), + ) + } + + pub fn clipboard_icon(ui: &mut Ui, text: String) { + if ui + .add(Label::new(egui_phosphor::light::CLIPBOARD_TEXT).sense(Sense::click())) + .clicked() + { + ui.output_mut(|o| o.copied_text = text); + runtime().notify_clipboard(i18n("Copied to clipboard")); + } } } diff --git a/core/src/egui/mnemonic.rs b/core/src/egui/mnemonic.rs index 55b6810..618f6c4 100644 --- a/core/src/egui/mnemonic.rs +++ b/core/src/egui/mnemonic.rs @@ -43,7 +43,7 @@ impl<'render> MnemonicPresenter<'render> { pub fn render(&mut self, ui: &mut Ui, caption: Option>) { ui.vertical_centered(|ui| { ui.label( - RichText::new("Never share your mnemonic with anyone!") + RichText::new(i18n("Never share your mnemonic with anyone!")) .color(theme_color().alert_color), ); // ui.separator(); @@ -116,7 +116,7 @@ impl<'render> MnemonicPresenter<'render> { ui.vertical_centered(|ui| { ui.label(""); - ui.checkbox(&mut self.context.allow_clipboard, " Allow clipboard copy"); + ui.checkbox(&mut self.context.allow_clipboard, i18n("Allow clipboard copy")); if self.context.allow_clipboard { ui.label(""); ui.label(i18n("Please note, copying to clipboard carries a risk of exposing your mnemonic to malware.")); diff --git a/core/src/egui/mod.rs b/core/src/egui/mod.rs index 35f248f..557a64f 100644 --- a/core/src/egui/mod.rs +++ b/core/src/egui/mod.rs @@ -6,8 +6,10 @@ mod extensions; mod icon; mod mnemonic; mod network; +mod pagination; mod panel; mod popup; +mod selection_panels; mod theme; pub use collapsable::*; @@ -18,6 +20,8 @@ pub use extensions::*; pub use icon::IconSize; pub use mnemonic::*; pub use network::NetworkInterfaceEditor; +pub use pagination::*; pub use panel::Panel; pub use popup::PopupPanel; +pub use selection_panels::*; pub use theme::*; diff --git a/core/src/egui/pagination.rs b/core/src/egui/pagination.rs new file mode 100644 index 0000000..0e3876d --- /dev/null +++ b/core/src/egui/pagination.rs @@ -0,0 +1,234 @@ +use crate::imports::*; + +#[derive(Debug)] +pub struct PaginationPage { + pub page: u64, + pub skip: u64, + pub active: bool, +} + +#[derive(Clone, Debug)] +pub struct PaginationOptions { + pub first: String, + pub last: String, + pub prev: String, + pub next: String, +} +impl PaginationOptions { + pub fn new() -> Self { + Self { + ..Default::default() + } + } +} +impl Default for PaginationOptions { + fn default() -> Self { + Self { + first: i18n("FIRST").to_string(), + last: i18n("LAST").to_string(), + prev: i18n("PREV").to_string(), + next: i18n("NEXT").to_string(), + } + } +} + +pub struct Pagination { + // pub name: Option, + pub total_pages: u64, + pub active_page: u64, + pub is_last: bool, + pub is_first: bool, + pub prev: u64, + pub next: u64, + pub last: u64, + pub last_skip: u64, + pub prev_skip: u64, + pub next_skip: u64, + pub total: u64, + pub skip: u64, + pub limit: u64, + pub pages: Arc>, + pub max_pages: u64, + pub half: u64, + pub btn_size1: Vec2, + pub btn_size2: Vec2, + //pub callback: Arc>>, + pub options: Option, +} + +impl core::fmt::Debug for Pagination { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> { + f.debug_struct("Pagination") + // .field("name", &self.name) + .field("total_pages", &self.total_pages) + .field("active_page", &self.active_page) + .field("is_last", &self.is_last) + .field("is_first", &self.is_first) + .field("prev", &self.prev) + .field("next", &self.next) + .field("last", &self.last) + .field("last_skip", &self.last_skip) + .field("prev_skip", &self.prev_skip) + .field("next_skip", &self.next_skip) + .field("total", &self.total) + .field("skip", &self.skip) + .field("limit", &self.limit) + .field("pages", &self.pages) + .field("max_pages", &self.max_pages) + .field("half", &self.half) + .field("options", &self.options); + Ok(()) + } +} + +impl Pagination { + pub fn new(total: u64, skip: Option, limit: Option, max_pages: Option) -> Self { + let skip = skip.unwrap_or(0); + let limit = limit.unwrap_or(25); + let total_pages = (total as f32 / limit as f32).ceil() as u64; + let active_page = total_pages.min(((skip + 1) as f64 / limit as f64).ceil() as u64); + let max_pages = max_pages.unwrap_or(10).min(total_pages).min(10); + let half = (max_pages as f64 / 2.0).floor() as u64; + let prev = 1.max(active_page.saturating_sub(1)); + let next = total_pages.min(active_page + 1); + let mut page = 1; + // log_info!( + // "active_page: {active_page}, half:{half}, max_pages:{max_pages}, total_pages:{total_pages}" + // ); + if active_page > half { + page = active_page + half.min(total_pages - active_page) + 1 - max_pages; + } + + let mut pages = Vec::new(); + for _ in 0..max_pages { + pages.push(PaginationPage { + page, + skip: (page - 1) * limit, + active: active_page == page, + }); + page += 1; + } + Self { + //name: None, + total_pages, + active_page, + is_last: active_page == total_pages, + is_first: active_page < 2, + prev, + next, + last: total_pages, + last_skip: total_pages.saturating_sub(1) * limit, + prev_skip: prev.saturating_sub(1) * limit, + next_skip: next.saturating_sub(1) * limit, + total, + skip, + limit, + pages: Arc::new(pages), + max_pages, + half, + btn_size1: Vec2::new(30_f32, 30_f32), // numbers + btn_size2: Vec2::new(50_f32, 30_f32), // first,prev,next,last + options: None, + } + } + + pub fn with_options(mut self, options: PaginationOptions) -> Result { + self.options = Some(options); + Ok(self) + } + + fn calculate_padding(&self, ui: &mut Ui, options: &PaginationOptions) -> f32 { + let available_width = ui.available_width(); + let mut total_width = ui.spacing().item_spacing.x; + + let btns = vec![&options.first, &options.last, &options.last, &options.last]; + let btn_margin = ui.spacing().item_spacing.x; + let btn_padding = ui.spacing().button_padding.x * 2.0; + let pages = self.pages.clone(); + for p in pages.iter() { + let g = WidgetText::from(p.page.to_string()).into_galley( + ui, + None, + available_width, + TextStyle::Button, + ); + let button_width = (g.size().x + btn_padding).max(self.btn_size1.x); + total_width += button_width + btn_margin; + } + + for btn in btns { + let g = WidgetText::from(btn).into_galley(ui, None, available_width, TextStyle::Button); + let button_width = (g.size().x + btn_padding).max(self.btn_size2.x); + total_width += button_width + btn_margin; + } + + let padding = (available_width - total_width) / 2.0; + + padding.max(0.0) + } + + pub fn render(&self, ui: &mut Ui) -> Option { + let pages = self.pages.clone(); + let is_first = self.is_first; + let is_last = self.is_last; + let prev_skip = self.prev_skip; + let next_skip = self.next_skip; + let last_skip = self.last_skip; + let btn_size1 = self.btn_size1; + let btn_size2 = self.btn_size2; + // let name = self.name.clone().unwrap_or_else(|| "kng".to_string()); + + let options = self.options.clone().unwrap_or_default(); + let padding = self.calculate_padding(ui, &options); + + let first_text = options.first; + let last_text = options.last; + let prev_text = options.prev; + let next_text = options.next; + let mut start = None; + + //ui.with_layout(egui::Layout::top_down(egui::Align::Center), |ui| { + ui.horizontal(|ui| { + ui.add_space(padding); + + if add_btn(ui, !is_first, prev_text, btn_size2).clicked() { + start = Some(prev_skip); + } + + if add_btn(ui, !is_first, first_text, btn_size2).clicked() { + start = Some(0); + } + + for page in pages.iter() { + if add_num_btn(ui, page.active, page.page.to_string(), btn_size1).clicked() { + start = Some(page.skip); + } + } + + if add_btn(ui, !is_last, last_text, btn_size2).clicked() { + start = Some(last_skip); + } + + if add_btn(ui, !is_last, next_text, btn_size2).clicked() { + start = Some(next_skip); + } + }); + //}); + + start + } +} + +fn add_btn(ui: &mut Ui, enabled: bool, text: impl Into, min_size: Vec2) -> Response { + ui.add_enabled(enabled, Button::new(text).min_size(min_size)) +} + +fn add_num_btn(ui: &mut Ui, active: bool, text: impl Into, min_size: Vec2) -> Response { + ui.add_enabled( + !active, + Button::new(text) + .rounding(ui.visuals().widgets.hovered.rounding) + .selected(active) + .min_size(min_size), + ) +} diff --git a/core/src/egui/panel.rs b/core/src/egui/panel.rs index e3e0355..1f09d72 100644 --- a/core/src/egui/panel.rs +++ b/core/src/egui/panel.rs @@ -203,7 +203,10 @@ impl<'panel, Context> Panel<'panel, Context> { if let Some(handler) = self.handler { let text = self.handler_text.as_deref(); if ui - .large_button_enabled(self.handler_enabled, text.unwrap_or("Continue")) + .large_button_enabled( + self.handler_enabled, + text.unwrap_or(i18n("Continue")), + ) .clicked() { handler(self.this); diff --git a/core/src/egui/selection_panels.rs b/core/src/egui/selection_panels.rs new file mode 100644 index 0000000..d3445a8 --- /dev/null +++ b/core/src/egui/selection_panels.rs @@ -0,0 +1,403 @@ +use egui::*; +use std::hash::Hash; + +trait UILayoutExt { + //fn layout_with_max_rect(&mut self, max_rect:Rect, layout:Layout, add_contents: impl FnOnce(&mut Ui) -> R)->InnerResponse; + fn indent_with_size<'c, R>( + &mut self, + id_source: impl Hash, + indent: f32, + add_contents: Box R + 'c>, + ) -> InnerResponse; +} + +impl UILayoutExt for Ui { + // fn layout_with_max_rect(&mut self, max_rect:Rect, layout:Layout, add_contents: impl FnOnce(&mut Ui) -> R)->InnerResponse { + // let mut child_ui = self.child_ui(max_rect, layout); + // let inner = add_contents(&mut child_ui); + // let rect = child_ui.min_rect(); + // let id = self.advance_cursor_after_rect(rect); + + // InnerResponse::new(inner, self.interact(rect, id, Sense::hover())) + + // } + + fn indent_with_size<'c, R>( + &mut self, + id_source: impl Hash, + indent: f32, + add_contents: Box R + 'c>, + ) -> InnerResponse { + assert!( + self.layout().is_vertical(), + "You can only indent vertical layouts, found {:?}", + self.layout() + ); + + let mut child_rect = self.available_rect_before_wrap(); + child_rect.min.x += indent; + + let mut child_ui = + self.child_ui_with_id_source(child_rect, *self.layout(), id_source, None); + let ret = add_contents(&mut child_ui); + + // let left_vline = self.visuals().indent_has_left_vline; + // let end_with_horizontal_line = self.spacing().indent_ends_with_horizontal_line; + + // if left_vline || end_with_horizontal_line { + // if end_with_horizontal_line { + // child_ui.add_space(4.0); + // } + + // let stroke = self.visuals().widgets.noninteractive.bg_stroke; + // let left_top = child_rect.min - 0.5 * indent * Vec2::X; + // let left_top = self.painter().round_pos_to_pixels(left_top); + // let left_bottom = pos2(left_top.x, child_ui.min_rect().bottom() - 2.0); + // let left_bottom = self.painter().round_pos_to_pixels(left_bottom); + + // if left_vline { + // // draw a faint line on the left to mark the indented section + // self.painter.line_segment([left_top, left_bottom], stroke); + // } + + // if end_with_horizontal_line { + // let fudge = 2.0; // looks nicer with button rounding in collapsing headers + // let right_bottom = pos2(child_ui.min_rect().right() - fudge, left_bottom.y); + // self.painter + // .line_segment([left_bottom, right_bottom], stroke); + // } + // } + + let response = self.allocate_rect(child_ui.min_rect(), Sense::hover()); + InnerResponse::new(ret, response) + } +} + +type UiBuilderFn = Box; +// type FooterUiBuilderFn = Box; + +pub struct SelectionPanel { + pub title: WidgetText, + pub sub: WidgetText, + pub value: V, + pub build_heading: Option, + pub build_footer: Option, + pub icons: Option<(RichText, RichText)>, +} + +impl SelectionPanel { + pub fn new(value: Value, title: impl Into, sub: impl Into) -> Self { + Self { + title: title.into(), + sub: sub.into(), + value, + build_heading: None, + build_footer: None, + icons: Some(( + RichText::new(egui_phosphor::bold::CHECK).heading(), + RichText::new(egui_phosphor::bold::DOT_OUTLINE).heading(), + )), + } + } + pub fn heading(mut self, build_heading: impl FnOnce(&mut Ui) + 'static) -> Self { + self.build_heading = Some(Box::new(build_heading)); + self + } + pub fn footer(mut self, build_footer: impl FnOnce(&mut Ui) + 'static) -> Self { + self.build_footer = Some(Box::new(build_footer)); + self + } + pub fn icons(mut self, icons: Option<(impl Into, impl Into)>) -> Self { + self.icons = icons.map(|(a, b)| (a.into(), b.into())); + self + } + + pub fn render( + self, + ui: &mut Ui, + bg_color: Color32, + width: f32, + min_height: &mut f32, + current_value: &mut Value, + ) -> (Response, Option) { + let selected = *current_value == self.value; + let visuals = ui.visuals(); + let selected_bg = visuals.selection.bg_fill; + // let hover_stroke = Stroke::new(1.0, visuals.text_color()); //visuals.window_stroke; + let frame = Frame::none() + .stroke(Stroke::new(1.0, Color32::TRANSPARENT)) + .fill(if selected { selected_bg } else { bg_color }); + let mut prepared = frame.begin(ui); + + let add_contents = |ui: &mut Ui| { + ui.allocate_ui_with_layout( + egui::vec2(width, ui.available_height()), + Layout::top_down(Align::Center), + |ui| { + ui.label(" "); + ui.label(self.title.strong().heading()); + ui.label(self.sub); + if let Some(build) = self.build_heading { + (build)(ui); + } + if let Some((selected_icon, normal_icon)) = self.icons { + let icon = if selected { selected_icon } else { normal_icon }; + ui.label(icon); + } + if let Some(build) = self.build_footer { + //ui.visuals_mut().override_text_color = Some(Color32::WHITE); + (build)(ui); + } + ui.label(" "); + }, + ) + .response + }; + + let _res = add_contents(&mut prepared.content_ui); + *min_height = min_height.max(prepared.content_ui.min_rect().height()); + prepared.content_ui.set_min_height(*min_height); + let mut response = prepared.allocate_space(ui).interact(Sense::click()); + + // if !selected && response.hovered() { + // prepared.frame = prepared.frame.stroke(hover_stroke); + // } + // let stroke = None; + //if response.is_pointer_button_down_on() { + let visuals = ui.style().interact(&response); + //prepared.frame = prepared.frame.fill(selected_bg);//.stroke(visuals.bg_stroke); + prepared.frame = prepared.frame.fill(visuals.weak_bg_fill); + //stroke = Some(visuals.bg_stroke); + //} + + prepared.paint(ui); + + if response.clicked() && *current_value != self.value { + *current_value = self.value; + response.mark_changed(); + } + + (response, None) + } +} + +pub struct SelectionPanels { + // pub title: WidgetText, + pub panel_min_width: f32, + pub panel_max_width: f32, + pub panels: Vec>, + // pub build_footer: FooterUiBuilderFn, + pub panel_min_height: f32, + pub vertical: bool, + pub sep_ratio: f32, +} + +impl SelectionPanels { + pub fn new( + panel_min_width: f32, + panel_max_width: f32, + // title: impl Into, + // build_footer: impl FnOnce(&mut Ui, &mut Value) + 'static, + ) -> Self { + Self { + // title: title.into(), + panel_min_width, + panel_max_width, + // build_footer: Box::new(build_footer), + panels: vec![], + panel_min_height: 0., + vertical: false, + sep_ratio: 1.0, + } + } + pub fn add( + mut self, + value: Value, + title: impl Into, + sub: impl Into, + ) -> Self { + self.panels.push(SelectionPanel::new(value, title, sub)); + self + } + pub fn add_with_footer( + mut self, + value: Value, + title: impl Into, + sub: impl Into, + build_footer: impl FnOnce(&mut Ui) + 'static, + ) -> Self { + self.panels + .push(SelectionPanel::new(value, title, sub).footer(build_footer)); + self + } + pub fn add_icon_less( + mut self, + value: Value, + title: impl Into, + sub: impl Into, + build_footer: impl FnOnce(&mut Ui) + 'static, + ) -> Self { + self.panels.push( + SelectionPanel::new(value, title, sub) + .footer(build_footer) + .icons(None::<(RichText, RichText)>), + ); + self + } + pub fn panel_min_height(mut self, min_height: f32) -> Self { + self.panel_min_height = min_height; + self + } + + pub fn vertical(mut self, vertical: bool) -> Self { + self.vertical = vertical; + self + } + pub fn sep_ratio(mut self, sep_ratio: f32) -> Self { + self.sep_ratio = sep_ratio; + self + } + + pub fn render(self, ui: &mut Ui, current_value: &mut Value) -> Response { + // TODO @28 + let visuals = ui.visuals().clone(); + let sep_ratio = self.sep_ratio; + let text_color = visuals.text_color(); + let bg_color = visuals.code_bg_color; + let before_wrap_width = ui.available_rect_before_wrap().width(); + let mut panel_width = self.panel_min_width.max( + self.panel_max_width + .min(before_wrap_width / self.panels.len() as f32), + ); + let vertical = self.vertical || (before_wrap_width < (panel_width + 2.0) * 3.0); + let panels_width = if vertical { + panel_width = self + .panel_min_width + .max(self.panel_max_width.min(before_wrap_width - 10.0)); + panel_width + } else { + let mut width = 0.0; + let mut available_width = ui.available_rect_before_wrap().width(); + for _ in 0..self.panels.len() { + if (available_width - 2.0) < panel_width { + break; + } + available_width -= panel_width; + width += panel_width; + } + width + }; + + let indent = (before_wrap_width - panels_width) / 2.0; + + let add_contents = |ui: &mut Ui| { + let mut responce = ui.allocate_rect( + Rect::from_min_size(ui.cursor().min, [1.0, 1.0].into()), + Sense::click(), + ); + + // { + // let available_width = ui.available_width() - indent; + // let title = self.title.into_galley( + // ui, + // Some(TextWrapMode::Wrap), + // available_width, + // TextStyle::Heading, + // ); + // let text_indent = (available_width - title.size().x) / 2.0; + // let rect = ui.cursor().translate(Vec2::new(text_indent, 10.0)); + // ui.allocate_exact_size( + // title.size() + Vec2::new(text_indent, 10.0), + // Sense::focusable_noninteractive(), + // ); + // ui.painter().galley(rect.min, title, visuals.text_color()); + // } + + // ui.label(format!("before_wrap_width: {before_wrap_width}")); + // ui.label(format!("panel_width: {panel_width}")); + let _panels_res = ui.horizontal_wrapped(|ui| { + ui.spacing_mut().item_spacing = Vec2::new(1.0, 1.0); + let mut min_height = self.panel_min_height; + let mut first_row = true; + let mut row = 0; + let mut col = 0; + let mut pressed_cell = None; + let default_stroke = Stroke::new(1.0, text_color); + + for (index, panel) in self.panels.into_iter().enumerate() { + let rect = ui.available_rect_before_wrap(); + let mut row_first_item = index == 0; + if (index > 0 && vertical) || rect.width() - 2.0 < panel_width { + ui.end_row(); + row_first_item = true; + first_row = false; + row += 1; + col = 0; + } + // left separator + if !row_first_item { + let Pos2 { x, y } = ui.cursor().min; + let height = min_height * sep_ratio; + let m = (min_height - height) / 2.0; + let stroke = pressed_cell.map_or(default_stroke, |(row_, col_, stroke)| { + if row == row_ && col == col_ + 1 { + stroke + } else { + default_stroke + } + }); + ui.painter().vline(x, (y + m)..=(y + m + height), stroke); + } + + // top seperator + if !first_row { + let Pos2 { x, y } = ui.cursor().min; + let width = panel_width * sep_ratio; + let m = (panel_width - width) / 2.0; + let stroke = pressed_cell.map_or(default_stroke, |(row_, col_, stroke)| { + if row == row_ + 1 && col == col_ { + stroke + } else { + default_stroke + } + }); + ui.painter().hline((x + m)..=(x + m + width), y, stroke); + } + let (res, stroke) = + panel.render(ui, bg_color, panel_width, &mut min_height, current_value); + responce |= res; + + if let Some(stroke) = stroke { + pressed_cell = Some((row, col, stroke)); + } + + col += 1; + } + }); + + // let total_width = panels_res.response.rect.width(); + // ui.allocate_ui_with_layout( + // egui::vec2(total_width, ui.available_height()), + // Layout::top_down(Align::Center), + // |ui| { + // ui.set_width(total_width); + // (self.build_footer)(ui, current_value) + // } + // ); + + // ui.label(format!("bottom width {}", b.response.rect.width())); + // ui.label(format!("ui.min_rect().width() {}", ui.min_rect().width())); + responce + }; + + ui.indent_with_size("selection-panels", indent, Box::new(add_contents)) + .inner + // response |= ui + // .vertical_centered(|ui| (self.build_footer)(ui, current_value)) + // .response; + // ui.label(" "); + // ui.label(format!(" vertical: {vertical}")); + // ui.label(format!("panels_width {}", panels_width)); + // response + } +} diff --git a/core/src/egui/theme/color.rs b/core/src/egui/theme/color.rs index f8619c9..30f5c2b 100644 --- a/core/src/egui/theme/color.rs +++ b/core/src/egui/theme/color.rs @@ -101,8 +101,8 @@ impl ThemeColor { qr_background: Color32::from_rgba(0, 0, 0, 0), qr_foreground: Color32::WHITE, - selection_background_color: Color32::from_rgb(40, 153, 132), - selection_text_color: Color32::from_rgb(220, 220, 220), + selection_background_color: Color32::from_rgb(50, 50, 50), + selection_text_color: Color32::from_rgb(255, 255, 255), progress_color: Color32::from_rgb(71, 105, 97), transaction_incoming: Color32::from_rgb(162, 245, 187), diff --git a/core/src/egui/theme/mod.rs b/core/src/egui/theme/mod.rs index a56fe7f..b41340b 100644 --- a/core/src/egui/theme/mod.rs +++ b/core/src/egui/theme/mod.rs @@ -8,12 +8,12 @@ pub use style::*; use crate::imports::*; #[derive(Clone)] -pub struct Theme { +pub struct AppTheme { pub color: ThemeColor, pub style: ThemeStyle, } -impl Theme { +impl AppTheme { pub fn new(color: ThemeColor, style: ThemeStyle) -> Self { Self { color, style } } @@ -29,7 +29,7 @@ impl Theme { } } -impl Default for Theme { +impl Default for AppTheme { fn default() -> Self { Self { color: ThemeColor::dark(), @@ -38,8 +38,8 @@ impl Default for Theme { } } -impl From<&Theme> for Visuals { - fn from(theme: &Theme) -> Self { +impl From<&AppTheme> for Visuals { + fn from(theme: &AppTheme) -> Self { let mut visuals = if theme.color.dark_mode { Visuals::dark() } else { @@ -62,16 +62,16 @@ impl From<&Theme> for Visuals { } } -impl AsRef for Theme { +impl AsRef for AppTheme { fn as_ref(&self) -> &Self { self } } -static mut THEME: Option = None; +static mut THEME: Option = None; #[inline(always)] -pub fn theme() -> &'static Theme { - unsafe { THEME.get_or_insert_with(Theme::default) } +pub fn theme() -> &'static AppTheme { + unsafe { THEME.get_or_insert_with(AppTheme::default) } } #[inline(always)] @@ -107,7 +107,7 @@ pub fn apply_theme_by_name( ThemeStyle::default() }); - apply_theme(ctx, Theme::new(theme_color, theme_style)); + apply_theme(ctx, AppTheme::new(theme_color, theme_style)); } pub fn apply_theme_color_by_name(ctx: &Context, theme_color_name: impl Into) { @@ -120,7 +120,7 @@ pub fn apply_theme_color_by_name(ctx: &Context, theme_color_name: impl Into) { @@ -133,10 +133,10 @@ pub fn apply_theme_style_by_name(ctx: &Context, theme_style_name: impl Into>, + }, Error(Box), WalletList { wallet_list: Arc>, @@ -42,6 +45,9 @@ pub enum Events { Notify { user_notification: UserNotification, }, + NodeInfo { + node_info: Option>, + }, Close, Exit, } diff --git a/core/src/fonts.rs b/core/src/fonts.rs index 570105b..8a9a494 100644 --- a/core/src/fonts.rs +++ b/core/src/fonts.rs @@ -17,11 +17,29 @@ impl RegisterStaticFont for FontDefinitions { } } +use egui_phosphor::Variant; +pub fn add_to_fonts(fonts: &mut egui::FontDefinitions, variant: Variant) { + fonts + .font_data + .insert("phosphor".into(), variant.font_data()); + + if let Some(font_keys) = fonts.families.get_mut(&egui::FontFamily::Proportional) { + // font_keys.insert(0, "phosphor".into()); + font_keys.push("phosphor".into()); + } + + fonts + .families + .entry(egui::FontFamily::Name("phosphor".into())) + .or_default() + .insert(0, "phosphor".to_owned()); +} + pub fn init_fonts(cc: &eframe::CreationContext<'_>) { let mut fonts = FontDefinitions::default(); - egui_phosphor::add_to_fonts(&mut fonts, egui_phosphor::Variant::Bold); - egui_phosphor::add_to_fonts(&mut fonts, egui_phosphor::Variant::Regular); - egui_phosphor::add_to_fonts(&mut fonts, egui_phosphor::Variant::Light); + // add_to_fonts(&mut fonts, egui_phosphor::Variant::Bold); + // add_to_fonts(&mut fonts, egui_phosphor::Variant::Regular); + add_to_fonts(&mut fonts, egui_phosphor::Variant::Light); // --- diff --git a/core/src/frame.rs b/core/src/frame.rs index 5a558fd..6ca991e 100644 --- a/core/src/frame.rs +++ b/core/src/frame.rs @@ -70,7 +70,7 @@ pub fn window_frame( }; // .shrink(4.0); // .shrink2(vec2(8.0,4.0)); - let mut content_ui = ui.child_ui(content_rect, *ui.layout()); + let mut content_ui = ui.child_ui(content_rect, *ui.layout(), None); add_contents(&mut content_ui); // panel_frame.show(ui); @@ -86,7 +86,7 @@ pub fn window_frame( CentralPanel::default().frame(panel_frame).show(ctx, |ui| { let app_rect = ui.max_rect(); - let mut content_ui = ui.child_ui(app_rect, *ui.layout()); + let mut content_ui = ui.child_ui(app_rect, *ui.layout(), None); add_contents(&mut content_ui); }); } @@ -179,7 +179,7 @@ fn close_maximize_minimize(ui: &mut egui::Ui, is_fullscreen: bool, is_maximized: .add(Button::new( RichText::new(ARROWS_IN.to_string()).size(button_height), )) - .on_hover_text("Exit Full Screen"); + .on_hover_text(i18n("Exit Full Screen")); if fullscreen_response.clicked() { ui.ctx() .send_viewport_cmd(ViewportCommand::Fullscreen(false)); @@ -191,7 +191,7 @@ fn close_maximize_minimize(ui: &mut egui::Ui, is_fullscreen: bool, is_maximized: RichText::new(ARROWS_OUT.to_string()).size(button_height), )) // .add(Button::new(RichText::new(ARROWS_OUT.to_string()).size(button_height))) - .on_hover_text("Full Screen"); + .on_hover_text(i18n("Full Screen")); if fullscreen_response.clicked() { ui.ctx() .send_viewport_cmd(ViewportCommand::Fullscreen(true)); @@ -209,7 +209,7 @@ fn close_maximize_minimize(ui: &mut egui::Ui, is_fullscreen: bool, is_maximized: .add(Button::new( RichText::new(RECTANGLE.to_string()).size(button_height), )) - .on_hover_text("Restore window"); + .on_hover_text(i18n("Restore window")); if maximized_response.clicked() { ui.ctx() .send_viewport_cmd(ViewportCommand::Maximized(false)); @@ -221,7 +221,7 @@ fn close_maximize_minimize(ui: &mut egui::Ui, is_fullscreen: bool, is_maximized: RichText::new(SQUARE.to_string()).size(button_height), )) // .add(Button::new(RichText::new(ARROWS_OUT.to_string()).size(button_height))) - .on_hover_text("Maximize window"); + .on_hover_text(i18n("Maximize window")); if maximized_response.clicked() { ui.ctx().send_viewport_cmd(ViewportCommand::Maximized(true)); } @@ -234,7 +234,7 @@ fn close_maximize_minimize(ui: &mut egui::Ui, is_fullscreen: bool, is_maximized: .add(Button::new(RichText::new("🗕").size(button_height))) // .add(Button::new(RichText::new(ARROW_SQUARE_DOWN.to_string()).size(button_height))) // .add(Button::new(RichText::new(ARROW_LINE_DOWN.to_string()).size(button_height))) - .on_hover_text("Minimize the window"); + .on_hover_text(i18n("Minimize the window")); if minimized_response.clicked() { ui.ctx().send_viewport_cmd(ViewportCommand::Minimized(true)); } diff --git a/core/src/imports.rs b/core/src/imports.rs index 4bd303d..9af298a 100644 --- a/core/src/imports.rs +++ b/core/src/imports.rs @@ -5,6 +5,7 @@ pub use kaspa_consensus_core::network::{NetworkId, NetworkType}; pub use kaspa_consensus_core::Hash as KaspaHash; pub use kaspa_metrics_core::MetricsSnapshot; pub use kaspa_rpc_core::api::rpc::RpcApi; +pub use kaspa_rpc_core::{RpcFeeEstimate, RpcFeerateBucket}; pub use kaspa_utils::hex::{FromHex, ToHex}; pub use kaspa_utils::{hashmap::GroupExtension, networking::ContextualNetAddress}; pub use kaspa_wallet_core::prelude::{ @@ -42,11 +43,13 @@ pub use workflow_core::channel::{oneshot, Channel, Receiver, Sender}; pub use workflow_core::enums::Describe; pub use workflow_core::extensions::is_not_empty::*; pub use workflow_core::task; +pub use workflow_core::task::{sleep, yield_executor}; pub use workflow_core::time::{unixtime_as_millis_f64, Instant}; pub use workflow_dom::utils::*; pub use workflow_http as http; -pub use workflow_i18n::*; -pub use workflow_log::*; +pub use workflow_i18n::i18n_args; +pub use workflow_i18n::prelude::*; +pub use workflow_log::prelude::*; pub use ahash::{AHashMap, AHashSet}; pub use pad::{Alignment, PadStr}; @@ -63,6 +66,9 @@ pub use egui_plot::{PlotPoint, PlotPoints}; pub use crate::collection::Collection; pub use crate::core::Core; +pub use crate::core::MAINNET_EXPLORER; +pub use crate::core::TESTNET10_EXPLORER; +pub use crate::core::TESTNET11_EXPLORER; pub use crate::device::{Device, Orientation}; pub use crate::egui::*; pub use crate::error::Error; @@ -73,6 +79,7 @@ pub use crate::market::MarketData; pub use crate::menu::Menu; pub use crate::modules; pub use crate::modules::{Module, ModuleCaps, ModuleStyle, ModuleT}; +pub use crate::network::BASIC_TRANSACTION_MASS; pub use crate::network::{Network, NetworkPressure}; pub use crate::notifications::{Notifications, UserNotification, UserNotifyKind}; pub use crate::primitives::{ @@ -81,10 +88,10 @@ pub use crate::primitives::{ }; pub use crate::result::Result; pub use crate::runtime::{runtime, spawn, spawn_with_result, Payload, Runtime, Service}; -pub use crate::servers::{load_public_servers, public_servers, Server}; pub use crate::settings::{ - KaspadNodeKind, NetworkInterfaceConfig, NetworkInterfaceKind, NodeConnectionConfigKind, - NodeMemoryScale, NodeSettings, RpcConfig, RpcOptions, Settings, UserInterfaceSettings, + EstimatorMode, EstimatorSettings, KaspadNodeKind, NetworkInterfaceConfig, NetworkInterfaceKind, + NodeConnectionConfigKind, NodeMemoryScale, NodeSettings, RpcConfig, RpcOptions, Settings, + UserInterfaceSettings, }; pub use crate::state::State; pub use crate::status::Status; diff --git a/core/src/interop/adaptor.rs b/core/src/interop/adaptor.rs index 6dc4991..78b1d44 100644 --- a/core/src/interop/adaptor.rs +++ b/core/src/interop/adaptor.rs @@ -53,7 +53,10 @@ impl Adaptor { log_info!("Adaptor::init()"); let res = self .sender - .send_message(Target::Adaptor, ServerAction::PendingRequests.try_to_vec()?) + .send_message( + Target::Adaptor, + borsh::to_vec(&ServerAction::PendingRequests)?, + ) .await?; // log_info!("Adaptor:init res: {res:?}"); if !res.is_empty() { @@ -72,7 +75,7 @@ impl Adaptor { .sender .send_message( Target::Adaptor, - ServerAction::Response(sender_id, id, data).try_to_vec()?, + borsh::to_vec(&ServerAction::Response(sender_id, id, data))?, ) .await; if res.is_ok() { @@ -118,7 +121,7 @@ impl Adaptor { response: "xyz".into(), }; self.response - .try_send(response.try_to_vec().unwrap()) + .try_send(borsh::to_vec(&response).unwrap()) .unwrap(); // clear the action @@ -144,7 +147,7 @@ impl Adaptor { address: account.receive_address().to_string(), }; self.response - .try_send(response.try_to_vec().unwrap()) + .try_send(borsh::to_vec(&response).unwrap()) .unwrap(); self.clear(); } diff --git a/core/src/interop/transport.rs b/core/src/interop/transport.rs index cbb386e..b0e7ed5 100644 --- a/core/src/interop/transport.rs +++ b/core/src/interop/transport.rs @@ -4,6 +4,7 @@ use kaspa_wallet_core::result::Result; #[repr(u8)] #[derive(Debug, BorshSerialize, BorshDeserialize)] +#[borsh(use_discriminant = true)] pub enum Target { Wallet = 0, Runtime = 1, diff --git a/core/src/lib.rs b/core/src/lib.rs index 689dd0e..0cc494f 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -25,7 +25,6 @@ pub mod notifications; pub mod primitives; pub mod result; pub mod runtime; -pub mod servers; pub mod settings; pub mod state; pub mod status; diff --git a/core/src/modules/account_create.rs b/core/src/modules/account_create.rs index acd423a..dd77625 100644 --- a/core/src/modules/account_create.rs +++ b/core/src/modules/account_create.rs @@ -1,4 +1,8 @@ +use modules::wallet_create::WalletCreate; + use crate::imports::*; +use kaspa_wallet_core::storage::AssocPrvKeyDataIds; +use kaspa_wallet_core::deterministic::bip32::BIP32_ACCOUNT_KIND; #[derive(Clone)] pub enum CreateAccountKind { @@ -15,12 +19,18 @@ pub enum CreateAccountKind { #[derive(Clone)] pub enum State { Start, + KeySelection, + StartImport, + ImportMnemonic, + ImportMnemonicWithEditor, PrivateKeyCreate, PrivateKeyConfirm, AccountName, WalletSecret, PaymentSecret, - CreateAccount, + AddAccount, + //CreateAccount, + //ImportAccount, AccountError(Arc), PresentMnemonic(Arc), ConfirmMnemonic(Arc), @@ -50,6 +60,7 @@ enum Focus { AccountName, WalletSecret, PaymentSecret, + WalletMnemonic, } #[derive(Clone, Default)] @@ -63,6 +74,21 @@ struct Context { wallet_secret : String, payment_secret: String, // payment_secret_confirm: String, + word_count: WordCount, + import_mnemonic: bool, + import_legacy: bool, + import_with_bip39_passphrase: bool, + import_private_key_mnemonic: String, + prv_keys: Vec>, +} + +impl Zeroize for Context { + fn zeroize(&mut self) { + self.account_name.zeroize(); + self.wallet_secret.zeroize(); + self.payment_secret.zeroize(); + self.import_private_key_mnemonic.zeroize(); + } } pub struct AccountCreate { @@ -103,28 +129,81 @@ impl ModuleT for AccountCreate { ) { match self.state.clone() { State::Start => { + { + let account_list = core.account_collection().iter(); + let mut prv_keys = HashMap::new(); + if let Some(prv_key_data_map) = core.prv_key_data_map.clone(){ + account_list + .flat_map(|a|a.iter()) + .for_each(|account|{ + if account.account_kind() != &BIP32_ACCOUNT_KIND { + return; + } + if let AssocPrvKeyDataIds::Single(key_id) = account.descriptor().prv_key_data_ids { + if let Some(prv_key) = prv_key_data_map.get(&key_id){ + prv_keys.insert(*prv_key.id(), prv_key.clone()); + } + } + }); + } + self.context.prv_keys = prv_keys.into_values().collect(); + } + + Panel::new(self) + .with_caption("Add Account") + .with_back_enabled(core.has_stack(), |this| { + this.context.zeroize(); + core.back(); + }) + .with_close_enabled(false, |_|{ }) + .with_header(|_ctx,ui| { + // ui.add_space(64.); + ui.label(i18n("Add a new account by importing a mnemonic")); + ui.label(i18n("or by deriving an already imported BIP-44 private key.")); + ui.label(" "); + }) + .with_body(|this,ui|{ + let no_keys = this.context.prv_keys.is_empty(); + if ui.large_button_enabled(!no_keys, i18n("Create Account")).clicked(){ + this.state = State::KeySelection; + } + ui.label(i18n("Derive a private key to create a new account.")); + if no_keys { + ui.label(i18n("No BIP-44 private keys found")); + } + + ui.add(ui.create_separator(Some(32.0), 0.5, Some(true))); - let prv_key_data_map = core.prv_key_data_map.clone(); + if ui.large_button(i18n("Import Account")).clicked(){ + this.state = State::StartImport; + } + ui.label(i18n("Create an account by importing a private key.")); + + }) + .render(ui); + } + State::KeySelection => { + self.context.import_mnemonic = false; Panel::new(self) .with_caption("Create Account") - .with_back_enabled(core.has_stack(), |_this| { - core.back(); + .with_back_enabled(core.has_stack(), |this| { + this.state = State::Start; }) .with_close_enabled(false, |_|{ }) .with_header(|_ctx,ui| { // ui.add_space(64.); - ui.label(i18n("Please select an account type")); + ui.label(i18n("Please select private key")); ui.label(" "); }) .with_body(|this,ui|{ let margin = ui.available_width() * 0.5; - if let Some(prv_key_data_map) = prv_key_data_map { + if !this.context.prv_keys.is_empty() { - for (_, prv_key_data_info) in prv_key_data_map.into_iter() { + for prv_key_data_info in &this.context.prv_keys{ ui.add(Separator::default().horizontal().shrink(margin)); ui.add_space(16.); ui.label(format!("Private Key: {}", prv_key_data_info.name_or_id())); @@ -152,12 +231,63 @@ impl ModuleT for AccountCreate { }) .render(ui); } + State::StartImport => { + self.context.import_mnemonic = true; + self.context.import_private_key_mnemonic.zeroize(); + self.context.wallet_secret.zeroize(); + self.context.payment_secret.zeroize(); + self.context.prv_key_data_info = None; + + let submit = WalletCreate::import_selection::( + &mut self.state, + &mut self.context.word_count, + &mut self.context.import_legacy, + &mut self.context.import_with_bip39_passphrase, + ui, + Some(|state: &mut State|{ + *state = State::Start; + } + )); + if submit { + self.state = State::ImportMnemonic; + } + } + + State::ImportMnemonic => { + self.state = State::ImportMnemonicWithEditor; + self.focus.next(Focus::WalletMnemonic); + } + + State::ImportMnemonicWithEditor => { + let proceed = WalletCreate::import_mnemonic::( + &mut self.state, + &mut self.context.import_private_key_mnemonic, + &self.context.word_count, + &mut self.focus, + Focus::WalletMnemonic, + ui, + |m| { + *m = State::StartImport; + } + ); + + if proceed { + self.state = State::AccountName; + self.focus.clear(); + } + + } + State::AccountName => { Panel::new(self) .with_caption(i18n("Account Name")) .with_back(|this| { - this.state = State::Start; + if this.context.import_mnemonic{ + this.state = State::StartImport; + }else{ + this.state = State::Start; + } }) .with_close_enabled(false, |_|{ }) @@ -235,11 +365,11 @@ impl ModuleT for AccountCreate { .render(ui); if *submit.borrow() { - if self.context.prv_key_data_info.as_ref().map(|info| info.requires_bip39_passphrase()).unwrap_or(false) { + if self.context.import_with_bip39_passphrase || self.context.prv_key_data_info.as_ref().map(|info| info.requires_bip39_passphrase()).unwrap_or(false) { self.state = State::PaymentSecret; self.focus.next(Focus::PaymentSecret); } else { - self.state = State::CreateAccount; + self.state = State::AddAccount; } } } @@ -268,7 +398,7 @@ impl ModuleT for AccountCreate { }, ).submit(|text,focus| { if !text.is_empty() { - this.state = State::CreateAccount; + this.state = State::AddAccount; focus.clear() } }) @@ -277,7 +407,7 @@ impl ModuleT for AccountCreate { .with_footer(|this,ui| { let enabled = !this.context.payment_secret.is_empty(); if ui.large_button_enabled(enabled,i18n("Continue")).clicked() { - this.state = State::CreateAccount; + this.state = State::AddAccount; } }) .render(ui); @@ -289,19 +419,20 @@ impl ModuleT for AccountCreate { State::PrivateKeyConfirm => { } - State::CreateAccount => { + State::AddAccount => { + let caption = if self.context.import_mnemonic {i18n("Importing Account")}else{i18n("Creating Account")}; Panel::new(self) - .with_caption(i18n("Creating Account")) - .with_header(|_, ui|{ - ui.label(" "); - ui.label(i18n("Please wait...")); - ui.label(" "); - ui.label(" "); - ui.add_space(64.); - ui.add(egui::Spinner::new().size(92.)); - }) - .render(ui); + .with_caption(caption) + .with_header(|_, ui|{ + ui.label(" "); + ui.label(i18n("Please wait...")); + ui.label(" "); + ui.label(" "); + ui.add_space(64.); + ui.add(egui::Spinner::new().size(92.)); + }) + .render(ui); let args = self.context.clone(); self.context = Default::default(); @@ -311,20 +442,36 @@ impl ModuleT for AccountCreate { let wallet = self.runtime.wallet().clone(); spawn_with_result(&account_create_result, async move { - + sleep(Duration::from_secs(2)).await; let account_name = args.account_name.trim(); - let account_name = (!account_name.is_empty()).then_some(account_name.to_string()); + let account_name = account_name.is_not_empty().then_some(account_name.to_string()); let wallet_secret = Secret::from(args.wallet_secret); - let payment_secret = args.prv_key_data_info.as_ref().and_then(|secret| { - secret.requires_bip39_passphrase().then_some(Secret::from(args.payment_secret)) - }); - - let prv_key_data_id = *args.prv_key_data_info.as_ref().unwrap().id(); - - let prv_key_data_args = PrvKeyDataArgs { prv_key_data_id, payment_secret }; - let account_args = AccountCreateArgsBip32 { account_name, account_index: None }; - let account_create_args = AccountCreateArgs::Bip32 { prv_key_data_args, account_args }; + let payment_secret; + + let prv_key_data_id = if args.import_mnemonic { + let requires_bip39_passphrase = !args.import_legacy && args.import_with_bip39_passphrase; + payment_secret = requires_bip39_passphrase.then_some(Secret::from(args.payment_secret.as_str())); + let mnemonic = Secret::from(sanitize_mnemonic(args.import_private_key_mnemonic.as_str())); + let key_data_name = None; + let prv_key_data_args = PrvKeyDataCreateArgs::new( + key_data_name, + payment_secret.clone(), + mnemonic, + ); + wallet.clone().prv_key_data_create(wallet_secret.clone(), prv_key_data_args).await? + }else{ + payment_secret = args.prv_key_data_info.as_ref().and_then(|key| { + key.requires_bip39_passphrase().then_some(Secret::from(args.payment_secret)) + }); + *args.prv_key_data_info.as_ref().unwrap().id() + }; + + let account_create_args = if args.import_legacy { + AccountCreateArgs::new_legacy(prv_key_data_id, account_name) + }else{ + AccountCreateArgs::new_bip32(prv_key_data_id, payment_secret, account_name, None) + }; let account_descriptor = wallet.accounts_create(wallet_secret, account_create_args).await?; Ok(account_descriptor) }); @@ -338,7 +485,12 @@ impl ModuleT for AccountCreate { self.state = State::Start; } Err(err) => { - println!("Account creation error: {}", err); + if self.context.import_mnemonic{ + log_info!("Account import error: {}", err); + }else{ + log_info!("Account creation error: {}", err); + } + self.state = State::AccountError(Arc::new(err)); } } @@ -355,7 +507,11 @@ impl ModuleT for AccountCreate { ui.label(RichText::new(err.to_string()).color(egui::Color32::from_rgb(255, 120, 120))); if ui.large_button(i18n("Restart")).clicked() { - this.state = State::Start; + if this.context.import_mnemonic{ + this.state = State::StartImport; + }else{ + this.state = State::Start; + } } }) .render(ui); diff --git a/core/src/modules/account_manager/destination.rs b/core/src/modules/account_manager/destination.rs index 387da0d..6431ed1 100644 --- a/core/src/modules/account_manager/destination.rs +++ b/core/src/modules/account_manager/destination.rs @@ -20,7 +20,7 @@ impl<'context> Destination<'context> { Focus::Address, |ui, text| { ui.add_space(8.); - ui.label(RichText::new("Enter destination address").size(12.).raised()); + ui.label(RichText::new(i18n("Enter destination address")).size(12.).raised()); ui.add_sized(Overview::editor_size(ui), TextEdit::singleline(text) .vertical_align(Align::Center)) }, @@ -50,10 +50,10 @@ impl<'context> Destination<'context> { AddressStatus::Valid => {}, AddressStatus::None => {}, AddressStatus::NetworkMismatch(address_network_type) => { - ui.label(format!("This address if for the different\nnetwork ({address_network_type})")); + ui.label(i18n_args("This address if for the different network ({address_network_type})", &[("address_network_type", address_network_type.to_string())])); }, AddressStatus::Invalid(err) => { - ui.label(format!("Please enter a valid address\n{err}")); + ui.label(i18n_args("Please enter a valid address: {err}", &[("err", err)])); } } diff --git a/core/src/modules/account_manager/details.rs b/core/src/modules/account_manager/details.rs index 43122fd..60d08c1 100644 --- a/core/src/modules/account_manager/details.rs +++ b/core/src/modules/account_manager/details.rs @@ -16,7 +16,7 @@ impl Details { let descriptor = account.descriptor(); - descriptor.render(ui); + descriptor.render(ui, account.network()); ui.add_space(8.); let mut address_kind : Option = None; @@ -37,7 +37,7 @@ impl Details { .wallet() .accounts_create_new_address(account_id, address_kind) .await - .map_err(|err|Error::custom(format!("Failed to create new address\n{err}")))?; + .map_err(|err|Error::custom(i18n_args("Failed to create new address: {err}",&[("err",err.to_string())])))?; runtime().request_repaint(); diff --git a/core/src/modules/account_manager/estimator.rs b/core/src/modules/account_manager/estimator.rs index fda8113..4250f7f 100644 --- a/core/src/modules/account_manager/estimator.rs +++ b/core/src/modules/account_manager/estimator.rs @@ -16,6 +16,10 @@ impl<'context> Estimator<'context> { use egui_phosphor::light::{CHECK, X}; let RenderContext { network_type, .. } = rc; + let network_id = NetworkId::from(core.network()); + let network_type = *network_type; + let network_pressure = core.network_pressure.capacity(); + let network_below_capacity = core.network_pressure.below_capacity(); let mut request_send = false; let mut request_estimate = self.context.request_estimate.take().unwrap_or_default(); @@ -23,21 +27,36 @@ impl<'context> Estimator<'context> { match self.context.transaction_kind.as_ref().unwrap() { TransactionKind::Send => { Destination::new(self.context).render(core, ui, rc); - // self.render_address_input(core, ui, rc); } TransactionKind::Transfer => { Transfer::new(self.context).render(core, ui, rc); - // self.render_transfer_account_selector(core, ui, rc); } } + let (ready_to_send, actual_estimate, error) = match &*self.context.estimate.lock().unwrap() { + EstimatorStatus::GeneratorSummary(actual_estimate) => { + let ready_to_send = self.context.address_status == AddressStatus::Valid || (self.context.transaction_kind == Some(TransactionKind::Transfer) && self.context.transfer_to_account.is_some()); + (ready_to_send, actual_estimate.clone(), None) + } + EstimatorStatus::Error(error) => { + // ui.label(RichText::new(error.to_string()).color(theme_color().error_color)); + (false, GeneratorSummary::new(network_id),Some(RichText::new(error.to_string()).color(theme_color().error_color))) + } + EstimatorStatus::None => { + // ui.label(format!("{} {} {}", i18n("Please enter"), kaspa_suffix(&network_type), i18n("amount to send"))); + let err = i18n_args("Please enter {suffix} amount to send", &[("suffix", kaspa_suffix(&network_type))]); + (false, GeneratorSummary::new(network_id),Some(RichText::new(err).color(theme_color().error_color))) + } + }; + + let response = TextEditor::new( &mut self.context.send_amount_text, &mut self.context.focus, Focus::Amount, |ui, text| { ui.add_space(8.); - ui.label(RichText::new(format!("{} {} {}", i18n("Enter"), kaspa_suffix(network_type), i18n("amount to send"))).size(12.).raised()); + ui.label(RichText::new(format!("{} {} {}", i18n("Enter"), kaspa_suffix(&network_type), i18n("amount to send"))).size(12.).raised()); ui.add_sized(Overview::editor_size(ui), TextEdit::singleline(text) .vertical_align(Align::Center)) }, @@ -48,85 +67,153 @@ impl<'context> Estimator<'context> { .build(ui); if response.text_edit_submit(ui) { - if self.context.enable_priority_fees { - self.context.focus.next(Focus::Fees); - } else if self.update_user_args() { - request_send = true; - } + self.context.focus.next(Focus::Fees); } - // TODO - improve the logic - if core.network_pressure.is_high() { - ui.label(format!("{}: {}% {} {} {:0.3} {} {}", - i18n("The network is currently experiencing high load"), - core.network_pressure.capacity(), - i18n("of its capacity."), - i18n("It is recommended that you add a priority fee of at least"), - 0.001, - kaspa_suffix(network_type), - i18n("to ensure faster transaction acceptance."), - )); - } + // ui.add_space(8.); - ui.add_space(8.); - if ui - .checkbox(&mut self.context.enable_priority_fees,i18n("Include QoS Priority Fees")) - // .on_hover_text_at_pointer(i18n("Add priority fees to ensure faster confirmation.\nUseful only if the network is congested.")) - .changed() { - if self.context.enable_priority_fees { - self.context.focus.next(Focus::Fees); - } else { - self.context.focus.next(Focus::Amount); - } - } + TextEditor::new( + &mut self.context.priority_fees_text, + &mut self.context.focus, + Focus::Fees, + |ui, text| { + ui.add_space(8.); + ui.label(RichText::new(i18n("Enter priority fees")).size(12.).raised()); + ui.add_sized(Overview::editor_size(ui), TextEdit::singleline(text) + .vertical_align(Align::Center)) + }, + ) + .change(|_| { + request_estimate = true; + }) + .submit(|_,_|{ + request_send = true; + }) + .build(ui); - if self.context.enable_priority_fees { - TextEditor::new( - &mut self.context.priority_fees_text, - &mut self.context.focus, - Focus::Fees, - |ui, text| { - ui.add_space(8.); - ui.label(RichText::new("Enter priority fees").size(12.).raised()); - ui.add_sized(Overview::editor_size(ui), TextEdit::singleline(text) - .vertical_align(Align::Center)) - }, - ) - .change(|_| { - request_estimate = true; - }) - .submit(|_,_|{ - request_send = true; + core.apply_default_style(ui); + + // let (ready_to_send, actual_estimate) = match &*self.context.estimate.lock().unwrap() { + // EstimatorStatus::GeneratorSummary(actual_estimate) => { + // let ready_to_send = self.context.address_status == AddressStatus::Valid || (self.context.transaction_kind == Some(TransactionKind::Transfer) && self.context.transfer_to_account.is_some()); + // (ready_to_send, actual_estimate.clone()) + // } + // EstimatorStatus::Error(error) => { + // ui.label(RichText::new(error.to_string()).color(theme_color().error_color)); + // (false, GeneratorSummary::new(network_id)) + // } + // EstimatorStatus::None => { + // ui.label(format!("{} {} {}", i18n("Please enter"), kaspa_suffix(&network_type), i18n("amount to send"))); + // (false, GeneratorSummary::new(network_id)) + // } + // }; + + + let usd_rate = if core.settings.market_monitor { + core.market.as_ref().and_then(|market| { + market.price.as_ref().and_then(|price_list| { + price_list.get("usd").map(|market_data| market_data.price) + }) }) - .build(ui); - } + } else { None }; + + let aggregate_mass = actual_estimate.aggregate_mass; + let number_of_generated_stages = actual_estimate.number_of_generated_stages; + + let buckets = if let Some(fees) = core.feerate.as_ref() { + if network_below_capacity && core.settings.estimator.mode == EstimatorMode::NetworkPressure { + [ + Some(FeeMode::Low(FeerateBucket::new(1.0,5.0))), + Some(FeeMode::Economic(fees.low.value().with_seconds(3.0))), + Some(FeeMode::Priority(fees.economic.value().with_seconds(1.0))) + ] + } else { + [Some(FeeMode::Low(fees.low.value())), Some(FeeMode::Economic(fees.economic.value())), Some(FeeMode::Priority(fees.priority.value()))] + } + } else { [None, None, None] }; ui.add_space(8.); - let ready_to_send = match &*self.context.estimate.lock().unwrap() { - EstimatorStatus::GeneratorSummary(estimate) => { - if let Some(final_transaction_amount) = estimate.final_transaction_amount { - ui.label(format!("{} {}",i18n("Final Amount:"), sompi_to_kaspa_string_with_suffix(final_transaction_amount + estimate.aggregated_fees, network_type))); - } - let fee_title = if self.context.priority_fees_sompi != 0 { - i18n("Network and Priority Fees:") + ui.heading(i18n("Priority Fee Estimator")); + + let is_send_amount_zero = self.context.send_amount_sompi == 0; + + let mut fee_selection = SelectionPanels::new( + 120.0, + 150.0); + let fee_mode = self.context.fee_mode; + for mode in buckets.into_iter().flatten() { + let bucket = mode.bucket(); + let feerate = bucket.feerate; + let seconds = bucket.seconds.max(1.0) * number_of_generated_stages as f64; + let seconds = if is_send_amount_zero || error.is_some() { "---".to_string() } else { format_duration_estimate_i18n(seconds) }; + let total_kas = feerate * aggregate_mass as f64 * 1e-8; + let total_sompi = (feerate * aggregate_mass as f64) as u64; + let total_usd = usd_rate.map(|rate| total_kas * rate); + fee_selection = fee_selection.add_icon_less(mode, i18n(mode.to_string().as_str()), seconds, move |ui| { + // icon + let icon = if mode == fee_mode { + RichText::new(egui_phosphor::bold::CHECK).strong() } else { - i18n("Network Fees:") + RichText::new(egui_phosphor::bold::DOT_OUTLINE).strong() }; - ui.label(format!("{} {}", fee_title, sompi_to_kaspa_string_with_suffix(estimate.aggregated_fees, network_type))); - ui.label(format!("{} {} {} {}",i18n("Transactions:"), estimate.number_of_generated_transactions, i18n("UTXOs:"), estimate.aggregated_utxos)); + ui.label(icon); - self.context.address_status == AddressStatus::Valid || (self.context.transaction_kind == Some(TransactionKind::Transfer) && self.context.transfer_to_account.is_some()) - } - EstimatorStatus::Error(error) => { - ui.label(RichText::new(error.to_string()).color(theme_color().error_color)); - false - } - EstimatorStatus::None => { - ui.label(format!("{} {} {}", i18n("Please enter"), kaspa_suffix(network_type), i18n("amount to send"))); - false + ui.label(RichText::new(sompi_to_kaspa_string_with_suffix(total_sompi, &network_type)).strong()); + if let Some(usd) = total_usd { + let usd = format_currency(usd, 6); + ui.label(RichText::new(format!("~{} USD", usd)).strong()); + } + ui.label(format!("{} SOMPI/g", format_with_precision(feerate))); + }); + } + + if fee_selection.render(ui, &mut self.context.fee_mode).clicked() { + let bucket = self.context.fee_mode.bucket(); + // let priority_feerate = (bucket.feerate - 1.0).max(0.0); + // let priority_feerate = bucket.feerate; + // let total_fees_sompi = (priority_feerate * actual_estimate.aggregate_mass as f64) as u64; + let total_fees_sompi = (bucket.feerate * actual_estimate.aggregate_mass as f64) as u64; + // runtime().toast(UserNotification::success(format!("selection: {:?}", self.context.fee_mode)).short()); + let total_fee_kaspa = sompi_to_kaspa(total_fees_sompi); + self.context.priority_fees_text = format!("{}", total_fee_kaspa); + self.context.fee_mode = FeeMode::None; + request_estimate = true; + } + + + ui.vertical_centered(|ui| { + + ui.label(format!("{} • {} • {} • {}", + i18n_args("Transactions: {number}",&[("number", actual_estimate.number_of_generated_transactions.to_string())]), + i18n_args("UTXOs: {number}", &[("number", actual_estimate.aggregated_utxos.to_string())]), + i18n_args("Mass: {number}g", &[("number", actual_estimate.aggregate_mass.to_string())]), + i18n_args("Network Pressure: ~{number}%", &[("number", network_pressure.to_string())]), + )); + + ui.add_space(8.); + + if let Some(final_transaction_amount) = actual_estimate.final_transaction_amount { + ui.heading(RichText::new( + i18n_args("Final Amount: {amount}", + &[("amount",sompi_to_kaspa_string_with_suffix(final_transaction_amount + actual_estimate.aggregate_fees, &network_type))] + )).strong()); } - }; - ui.add_space(8.); + + }); + + if let Some(error) = error { + ui.label(error); + ui.add_space(16.); + } else if !network_below_capacity && self.context.priority_fees_sompi == 0 && self.context.send_amount_sompi != 0 { + ui.add_space(16.); + ui.label(RichText::new(i18n("The network is currently congested."))); + ui.label(RichText::new(i18n("Sending funds without priority fees will result in long transaction wait times."))); + ui.add_space(16.); + } else { + ui.add_space(16.); + } + + core.apply_mobile_style(ui); if request_send { if ready_to_send { @@ -154,6 +241,8 @@ impl<'context> Estimator<'context> { }); + ui.add_space(16.); + self.update_user_args() && request_estimate && matches!(self.context.action,Action::Estimating) @@ -199,4 +288,20 @@ impl<'context> Estimator<'context> { *self.context.estimate.lock().unwrap() = EstimatorStatus::Error(error.into()); } +} + + +fn format_duration_estimate_i18n(seconds: f64) -> String { + let minutes = (seconds / 60.0) as u64; + let seconds = seconds as u64; + + if seconds == 1 { + i18n_args("< {seconds} second", &[("seconds", seconds.to_string())]) + } else if seconds < 60 { + i18n_args("< {seconds} seconds", &[("seconds", seconds.to_string())]) + } else if minutes == 1 { + i18n_args("< {minutes} minute", &[("minutes", minutes.to_string())]) + } else { + i18n_args("< {minutes} minutes", &[("minutes", minutes.to_string())]) + } } \ No newline at end of file diff --git a/core/src/modules/account_manager/menus.rs b/core/src/modules/account_manager/menus.rs index 17af95d..5ed46d9 100644 --- a/core/src/modules/account_manager/menus.rs +++ b/core/src/modules/account_manager/menus.rs @@ -213,13 +213,12 @@ impl AccountMenu { ui.add_space(8.); if ui.add_sized(theme_style().large_button_size,CompositeButton::opt_image_and_text( Some(Composite::icon(LIST)), - Some(i18n("Create New Account").into()), + Some(i18n("Add Account").into()), None, )).clicked() { *close = true; core.select::(); } - }); }) diff --git a/core/src/modules/account_manager/mod.rs b/core/src/modules/account_manager/mod.rs index dfac97e..ac07af5 100644 --- a/core/src/modules/account_manager/mod.rs +++ b/core/src/modules/account_manager/mod.rs @@ -35,6 +35,7 @@ use qr::*; use secret::*; use transactions::*; use transfer::*; +#[allow(unused_imports)] use utxo::*; @@ -52,7 +53,7 @@ pub enum AccountManagerSection { Overview, Transactions, Details, - UtxoManager + // UtxoManager } // #[derive(Default, Debug, Clone, Copy, Eq, PartialEq)] @@ -94,7 +95,7 @@ enum Focus { PaymentSecret, } -#[derive(Default)] +#[derive(Default, Clone)] pub enum EstimatorStatus { #[default] None, @@ -111,6 +112,60 @@ enum AddressStatus { Invalid(String), } +#[derive(Default, Debug, Clone, Copy)] +pub enum FeeMode{ + #[default] + None, + Low(FeerateBucket), + // #[default] + Economic(FeerateBucket), + Priority(FeerateBucket), +} + +impl FeeMode { + pub fn bucket(&self) -> FeerateBucket { + match self { + FeeMode::Low(bucket) => *bucket, + FeeMode::Economic(bucket) => *bucket, + FeeMode::Priority(bucket) => *bucket, + FeeMode::None => FeerateBucket::default(), + } + } +} + +// impl Default for FeeMode { +// fn default() -> Self { +// // FeeMode::Economic(FeerateBucket::default()) +// FeeMode::None +// } +// } + +impl Eq for FeeMode {} + +impl PartialEq for FeeMode { + fn eq(&self, other: &Self) -> bool { + // match (self, other) { + // (FeeMode::None, FeeMode::None) => true, + // (FeeMode::Low(_), FeeMode::Low(_)) => true, + // (FeeMode::Economic(_), FeeMode::Economic(_)) => true, + // (FeeMode::Priority(_), FeeMode::Priority(_)) => true, + // _ => false, + // } + matches!((self, other), (FeeMode::None, FeeMode::None) | (FeeMode::Low(_), FeeMode::Low(_)) | (FeeMode::Economic(_), FeeMode::Economic(_)) | (FeeMode::Priority(_), FeeMode::Priority(_))) + } +} + +impl std::fmt::Display for FeeMode { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + FeeMode::None => write!(f, "N/A"), + FeeMode::Low(_) => write!(f, "Low"), + FeeMode::Economic(_) => write!(f, "Economic"), + FeeMode::Priority(_) => write!(f, "Priority"), + } + } +} + #[derive(Default)] pub struct ManagerContext { transfer_to_account : Option, @@ -120,6 +175,7 @@ pub struct ManagerContext { enable_priority_fees : bool, priority_fees_text : String, priority_fees_sompi : u64, + // priority_fee_rate : f64, estimate : Arc>, request_estimate : Option, address_status : AddressStatus, @@ -129,6 +185,7 @@ pub struct ManagerContext { wallet_secret : String, payment_secret : String, loading : bool, + fee_mode : FeeMode } impl ManagerContext { @@ -155,6 +212,7 @@ impl Zeroize for ManagerContext { self.enable_priority_fees = false; self.priority_fees_text = String::default(); self.priority_fees_sompi = 0; + // self.priority_fee_rate = 0.0; *self.estimate.lock().unwrap() = EstimatorStatus::None; self.address_status = AddressStatus::None; self.transaction_kind = None; @@ -164,8 +222,6 @@ impl Zeroize for ManagerContext { } } -// pub struct RenderContext<'render> { -// pub account : &'render Account, pub struct RenderContext { pub account : Account, pub context : Arc, @@ -173,29 +229,9 @@ pub struct RenderContext { pub current_daa_score : Option, } -// impl<'render> RenderContext<'render> { impl RenderContext { - // pub fn new(account : &'render Account, network_type : NetworkType, current_daa_score : Option) -> Result { - // pub fn new(account : Account, network_type : NetworkType, current_daa_score : Option) -> Result { - // pub fn new(account : Account, core: &Core) -> Result { pub fn new(account : Account, network_type : NetworkType, current_daa_score : Option) -> Result { - - // if let AccountManagerState::Overview { account } = &account_manager.state { - // let network_type = if let Some(network_id) = core.state().network_id() { - // network_id.network_type() - // } else { - // core.settings.node.network.into() - // }; - - // let current_daa_score = core.state().current_daa_score(); - - // Ok(RenderContext::new(account, network_type, current_daa_score)?) - // } else { - // Err(Error::custom("Account is missing context")) - // } - - let context = if let Some(context) = account.context() { context } else { @@ -275,9 +311,10 @@ impl AccountManager { account: account.clone(), }; - if device.orientation() == Orientation::Portrait { + if device.orientation() == Orientation::Portrait || Self::single_pane(&device){ self.section = AccountManagerSection::Overview; } else { + // self.section = AccountManagerSection::Details; self.section = AccountManagerSection::Transactions; } @@ -413,7 +450,7 @@ impl AccountManager { if core.device().mobile() { self.render_singular_layout(core,ui,&rc, self.section); - } else if core.device().single_pane() { + } else if core.device().single_pane() || Self::single_pane(core.device()) { self.render_menu(core,ui,&rc); @@ -430,6 +467,10 @@ impl AccountManager { Ok(()) } + fn single_pane(device: &Device)->bool{ + device.screen_size.x < 800. + } + pub fn account(&self) -> Option { if let AccountManagerState::Overview { account } = &self.state { Some(account.clone()) @@ -467,12 +508,12 @@ impl AccountManager { self.section = AccountManagerSection::Details; } - if core.device().desktop() { - ui.separator(); - if ui.add(Label::new(i18n("UTXOs")).sense(Sense::click())).clicked() { - self.section = AccountManagerSection::UtxoManager; - } - } + // if core.device().desktop() { + // ui.separator(); + // if ui.add(Label::new(i18n("UTXOs")).sense(Sense::click())).clicked() { + // self.section = AccountManagerSection::UtxoManager; + // } + // } }); @@ -496,12 +537,12 @@ impl AccountManager { ui.separator(); ToolsMenu::new().render(core,ui,self, rc, screen_rect_height * 0.8); - if core.device().desktop() { - ui.separator(); - if ui.add(Label::new(i18n("UTXOs")).sense(Sense::click())).clicked() { - self.section = AccountManagerSection::UtxoManager; - } - } + // if core.device().desktop() { + // ui.separator(); + // if ui.add(Label::new(i18n("UTXOs")).sense(Sense::click())).clicked() { + // self.section = AccountManagerSection::UtxoManager; + // } + // } ui.separator(); if ui.add(Label::new(i18n("Details")).sense(Sense::click())).clicked() { @@ -556,9 +597,9 @@ impl AccountManager { AccountManagerSection::Details => { Details::new().render(core,ui,rc); } - AccountManagerSection::UtxoManager => { - UtxoManager::new().render(core,ui,rc); - } + // AccountManagerSection::UtxoManager => { + // UtxoManager::new().render(core,ui,rc); + // } } }); @@ -577,9 +618,9 @@ impl AccountManager { AccountManagerSection::Details => { Details::new().render(core,ui,rc); } - AccountManagerSection::UtxoManager => { - UtxoManager::new().render(core,ui,rc); - } + // AccountManagerSection::UtxoManager => { + // UtxoManager::new().render(core,ui,rc); + // } } } diff --git a/core/src/modules/account_manager/overview.rs b/core/src/modules/account_manager/overview.rs index e8ce832..18aa751 100644 --- a/core/src/modules/account_manager/overview.rs +++ b/core/src/modules/account_manager/overview.rs @@ -54,7 +54,7 @@ impl<'manager> Overview<'manager> { ui.separator(); ui.add_space(16.); // TODO - copy to clipboard? - if ui.medium_button("Continue").clicked() { + if ui.medium_button(i18n("Continue")).clicked() { self.context.action = Action::None; } }); diff --git a/core/src/modules/account_manager/processor.rs b/core/src/modules/account_manager/processor.rs index 7885335..43f12c0 100644 --- a/core/src/modules/account_manager/processor.rs +++ b/core/src/modules/account_manager/processor.rs @@ -13,6 +13,7 @@ impl<'context> Processor<'context> { pub fn render(&mut self, core : &mut Core, ui: &mut Ui, rc : &RenderContext) { let RenderContext { account, network_type, .. } = rc; + let network_type = *network_type; ui.add_space(8.); match self.context.transaction_kind.as_ref().unwrap() { @@ -34,10 +35,6 @@ impl<'context> Processor<'context> { if request_estimate { - let priority_fees_sompi = if self.context.enable_priority_fees { - self.context.priority_fees_sompi - } else { 0 }; - let address = match network_type { NetworkType::Testnet => Address::try_from("kaspatest:qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqhqrxplya").unwrap(), NetworkType::Mainnet => Address::try_from("kaspa:qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx9awp4e").unwrap(), @@ -45,27 +42,37 @@ impl<'context> Processor<'context> { }; let account_id = account.id(); - let payment_output = PaymentOutput { - address, - amount: self.context.send_amount_sompi, - }; + + let priority_fee_sompi = self.context.priority_fees_sompi; + let send_amount_sompi = self.context.send_amount_sompi; let status = self.context.estimate.clone(); spawn(async move { - let request = AccountsEstimateRequest { + + let fee_rate = calculate_fee_rate(network_type, account_id, send_amount_sompi, priority_fee_sompi).await; + + let payment_output = PaymentOutput { + address, + amount: send_amount_sompi, + }; + + let actual_request = AccountsEstimateRequest { account_id, destination: payment_output.into(), - priority_fee_sompi: Fees::SenderPays(priority_fees_sompi), + priority_fee_sompi: Fees::SenderPays(0), + fee_rate: Some(fee_rate), payload: None, }; - match runtime().wallet().accounts_estimate_call(request).await { - Ok(response) => { - *status.lock().unwrap() = EstimatorStatus::GeneratorSummary(response.generator_summary); + let actual_result = runtime().wallet().accounts_estimate_call(actual_request).await; + + match actual_result { + Ok(actual_estimate_response) => { + *status.lock().unwrap() = EstimatorStatus::GeneratorSummary(actual_estimate_response.generator_summary); } Err(error) => { *status.lock().unwrap() = EstimatorStatus::Error(error.to_string()); - } + } } runtime().egui_ctx().request_repaint(); @@ -85,9 +92,9 @@ impl<'context> Processor<'context> { unreachable!("expecting only one of destination address or transfer to account"); } - let priority_fees_sompi = if self.context.enable_priority_fees { - self.context.priority_fees_sompi - } else { 0 }; + let priority_fee_sompi = self.context.priority_fees_sompi; + + // --- let wallet_secret = Secret::from(self.context.wallet_secret.clone()); let payment_secret = account.requires_bip39_passphrase(core).then_some(Secret::from(self.context.payment_secret.clone())); @@ -97,18 +104,23 @@ impl<'context> Processor<'context> { let address = Address::try_from(self.context.destination_address_string.as_str()).expect("invalid address"); let account_id = account.id(); + let send_amount_sompi = self.context.send_amount_sompi; let payment_output = PaymentOutput { address, - amount: self.context.send_amount_sompi, + amount: send_amount_sompi, }; spawn_with_result(&send_result, async move { + + let fee_rate = calculate_fee_rate(network_type, account_id, send_amount_sompi, priority_fee_sompi).await; + let request = AccountsSendRequest { account_id, destination: payment_output.into(), wallet_secret, payment_secret, - priority_fee_sompi: Fees::SenderPays(priority_fees_sompi), + fee_rate: Some(fee_rate), + priority_fee_sompi: Fees::SenderPays(0), payload: None, }; @@ -125,12 +137,15 @@ impl<'context> Processor<'context> { let transfer_amount_sompi = self.context.send_amount_sompi; spawn_with_result(&send_result, async move { + let fee_rate = calculate_fee_rate(network_type, source_account_id, transfer_amount_sompi, priority_fee_sompi).await; + let request = AccountsTransferRequest { source_account_id, destination_account_id, wallet_secret, payment_secret, - priority_fee_sompi: Some(Fees::SenderPays(priority_fees_sompi)), + fee_rate: Some(fee_rate), + priority_fee_sompi: Some(Fees::SenderPays(0)), transfer_amount_sompi, }; @@ -169,4 +184,38 @@ impl<'context> Processor<'context> { } } +} + +async fn calculate_fee_rate(network_type : NetworkType, account_id : AccountId, send_amount_sompi : u64, priority_fee_sompi : u64) -> f64 { + + let address = match network_type { + NetworkType::Testnet => Address::try_from("kaspatest:qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqhqrxplya").unwrap(), + NetworkType::Mainnet => Address::try_from("kaspa:qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkx9awp4e").unwrap(), + _ => panic!("Unsupported network"), + }; + + let payment_output = PaymentOutput { + address, + amount: send_amount_sompi, + }; + + + let base_request = AccountsEstimateRequest { + account_id, + destination: payment_output.clone().into(), + priority_fee_sompi: Fees::SenderPays(0), + fee_rate: Some(0.0), + payload: None, + }; + + let base_result = runtime().wallet().accounts_estimate_call(base_request).await; + + let base_mass = base_result.as_ref().map(|r| r.generator_summary.aggregate_mass).unwrap_or_default(); + + if base_mass == 0 { + 1.0 + } else { + // (priority_fee_sompi as f64 / base_mass as f64) + 1.0 + priority_fee_sompi as f64 / base_mass as f64 + } } \ No newline at end of file diff --git a/core/src/modules/account_manager/transactions.rs b/core/src/modules/account_manager/transactions.rs index 840bcf0..04ae95d 100644 --- a/core/src/modules/account_manager/transactions.rs +++ b/core/src/modules/account_manager/transactions.rs @@ -1,5 +1,6 @@ use crate::imports::*; use super::*; +use crate::core::TRANSACTION_PAGE_SIZE; pub struct Transactions { } @@ -8,10 +9,10 @@ impl Transactions { Self { } } - pub fn render(&mut self, ui: &mut Ui, _core : &mut Core, rc : &RenderContext) { + pub fn render(&mut self, ui: &mut Ui, core : &mut Core, rc : &RenderContext) { let RenderContext { account, network_type, current_daa_score, .. } = rc; - - egui::ScrollArea::vertical().auto_shrink([false,false]).show(ui, |ui| { + let max_height = ui.available_height() - (ui.fonts(|fonts|RichText::new("YWgy").font_height(fonts, ui.style())).at_least(ui.spacing().interact_size.y) * 2.0 + 5.0); + egui::ScrollArea::vertical().max_height(max_height).auto_shrink([false,false]).show(ui, |ui| { let transactions = account.transactions(); if transactions.is_empty() { ui.vertical_centered(|ui| { @@ -21,9 +22,21 @@ impl Transactions { } else { let total: u64 = transactions.iter().map(|transaction|transaction.aggregate_input_value()).sum(); transactions.iter().for_each(|transaction| { - transaction.render(ui, *network_type, *current_daa_score, true, Some(total)); + transaction.render(ui, *network_type, account.network(), *current_daa_score, true, Some(total)); }); } }); + + ui.add_space(4.); + let pagination = Pagination::new(account.transaction_count(), account.transaction_start().into(), Some(TRANSACTION_PAGE_SIZE), Some(5)); + if let Some(start) = pagination.render(ui){ + core.load_account_transactions_with_range(account, start..(start+TRANSACTION_PAGE_SIZE)) + .map_err(|err|{ + log_info!("Failed to load transactions\n{err:?}") + }).ok(); + + account.set_transaction_start(start); + runtime().request_repaint(); + } } } diff --git a/core/src/modules/account_manager/utxo.rs b/core/src/modules/account_manager/utxo.rs index 418832c..4934897 100644 --- a/core/src/modules/account_manager/utxo.rs +++ b/core/src/modules/account_manager/utxo.rs @@ -1,3 +1,5 @@ +#![allow(dead_code)] + use crate::imports::*; use super::*; diff --git a/core/src/modules/block_dag.rs b/core/src/modules/block_dag.rs index 4837653..1670dd4 100644 --- a/core/src/modules/block_dag.rs +++ b/core/src/modules/block_dag.rs @@ -88,13 +88,13 @@ impl BlockDag { let settings = BlockDagGraphSettings::new(preset.spread); runtime.block_dag_monitor_service().update_settings(settings.clone()); - Self { - runtime, - daa_cursor : 0.0, - last_daa_score : 0, - running : false, - plot_bounds : PlotBounds::NOTHING, - bezier : true, + Self { + runtime, + daa_cursor : 0.0, + last_daa_score : 0, + running : false, + plot_bounds : PlotBounds::NOTHING, + bezier : true, daa_offset : preset.daa_offset, daa_range : preset.daa_range, block_scale : preset.block_scale, @@ -294,7 +294,6 @@ impl ModuleT for BlockDag { runtime().block_dag_monitor_service().update_settings(self.settings.clone()); } - let mut reset_plot = false; let current_daa_score = core.state().current_daa_score().unwrap_or_default(); if self.last_daa_score != current_daa_score { @@ -308,6 +307,22 @@ impl ModuleT for BlockDag { self.last_daa_score = current_daa_score; } + // let mut reset_plot = false; + // let current_daa_score = core.state().current_daa_score().unwrap_or_default(); + // if self.last_daa_score != current_daa_score || current_daa_score==0 { + // if !self.running || current_daa_score==0{ + // if current_daa_score > 0{ + // self.running = true; + // }else{ + // self.running = false; + // } + // reset_plot = true; + // self.daa_cursor = current_daa_score as f64 - 1.0; + // } + + // self.last_daa_score = current_daa_score; + // } + let delta = 0.025; let daa_diff = current_daa_score as f64 - self.daa_cursor; let step = daa_diff * delta; @@ -329,14 +344,14 @@ impl ModuleT for BlockDag { .include_y(15.) .include_y(-15.) .data_aspect(0.2) - .y_axis_width(0) + .y_axis_min_width(0.0) .show_axes([self.settings.show_daa, false]) .show_grid(self.settings.show_grid) .allow_drag([true, true]) .allow_scroll(true) .allow_double_click_reset(true) - .x_axis_formatter(move |x, _size, _range| { - format!("{} DAA", x.trunc().separated_string()) + .x_axis_formatter(move |x, _range| { + format!("{} DAA", x.value.trunc().separated_string()) }) .x_grid_spacer( uniform_grid_spacer(move |input| { @@ -357,8 +372,10 @@ impl ModuleT for BlockDag { // kick it into gear when starting up if reset_plot { - plot = plot.auto_bounds_x().auto_bounds_y(); + plot = plot.auto_bounds([true, true].into()); plot = plot.reset(); + } else { + plot = plot.auto_bounds([false, false].into()); } let mut graph_settled = true; diff --git a/core/src/modules/export.rs b/core/src/modules/export.rs index 921db7f..a7bb235 100644 --- a/core/src/modules/export.rs +++ b/core/src/modules/export.rs @@ -119,7 +119,7 @@ impl ModuleT for Export { .with_body(|this,ui| { ui.vertical_centered(|ui| { - for kind in ExportKind::list() { + for kind in ExportKind::into_iter() { if kind == ExportKind::Transportable { continue; } @@ -130,7 +130,7 @@ impl ModuleT for Export { }) .with_footer(|_this,ui| { - if ui.large_button("Continue").clicked() { + if ui.large_button(i18n("Continue")).clicked() { submit = true; } }) @@ -243,7 +243,7 @@ impl ModuleT for Export { }) .with_footer(|this,ui| { let ok = this.context.wallet_secret.is_not_empty() && (!requires_bip39_passphrase || this.context.payment_secret.is_not_empty()); - if ui.large_button_enabled(ok, "Continue").clicked() { + if ui.large_button_enabled(ok, i18n("Continue")).clicked() { *submit.borrow_mut() = true; } }) @@ -350,7 +350,7 @@ impl ModuleT for Export { }) .with_footer(|this,ui| { - if ui.large_button("Continue").clicked() { + if ui.large_button(i18n("Continue")).clicked() { this.context.zeroize(); this.state = State::Select; core.select::(); diff --git a/core/src/modules/import.rs b/core/src/modules/import.rs index 33875a9..102fedd 100644 --- a/core/src/modules/import.rs +++ b/core/src/modules/import.rs @@ -81,7 +81,8 @@ impl ModuleT for Import { ui.add_sized( size, TextEdit::singleline(&mut this.word) - .hint_text(format!("Enter Word {}...", this.mnemonic.len()+1)) + // .hint_text(format!("Enter Word {}...", this.mnemonic.len()+1)) + .hint_text(i18n_args("Enter Word {number}...", &[("number", &(this.mnemonic.len() + 1).to_string())])) .horizontal_align(Align::Center) // .vertical_align(Align::Center), ); @@ -104,9 +105,9 @@ impl ModuleT for Import { }) // .with_footer(|_this,ui| { - // // if ui.add_sized(theme().large_button_size, egui::Button::new("Continue")).clicked() { + // // if ui.add_sized(theme().large_button_size, egui::Button::new(i18n("Continue"))).clicked() { // let size = theme().large_button_size; - // if ui.add_sized(size, egui::Button::new("Continue")).clicked() { + // if ui.add_sized(size, egui::Button::new(i18n("Continue"))).clicked() { // // this.state = State::WalletName; // } // }) @@ -182,15 +183,16 @@ impl ModuleT for Import { self.wallet_secret.zeroize(); let wallet = self.runtime.wallet().clone(); let wallet_name = self.selected_wallet.clone(); //.expect("Wallet name not set"); - + self.state = State::Unlocking; + spawn_with_result(&unlock_result, async move { - + sleep(Duration::from_secs(2)).await; wallet.wallet_open(wallet_secret, wallet_name, true, true).await?; // wallet.load(secret, wallet_name).await?; Ok(()) }); - self.state = State::Unlocking; + } ui.label(" "); diff --git a/core/src/modules/metrics.rs b/core/src/modules/metrics.rs index d0a9cf4..bb874f6 100644 --- a/core/src/modules/metrics.rs +++ b/core/src/modules/metrics.rs @@ -95,18 +95,18 @@ impl ModuleT for Metrics { } if ui.button(i18n("None")).clicked() { - core.settings.user_interface.metrics.disabled = Metric::list().into_iter().collect::>(); + core.settings.user_interface.metrics.disabled = Metric::into_iter().collect::>(); } if ui.button(i18n("Key Perf.")).clicked() { - core.settings.user_interface.metrics.disabled = Metric::list().into_iter().filter(|metric|!metric.is_key_performance_metric()).collect::>(); + core.settings.user_interface.metrics.disabled = Metric::into_iter().filter(|metric|!metric.is_key_performance_metric()).collect::>(); } }); ui.separator(); - for group in MetricGroup::list() { + for group in MetricGroup::iter() { CollapsingHeader::new(i18n(group.title())) .default_open(true) .show(ui, |ui| { @@ -215,7 +215,7 @@ impl ModuleT for Metrics { }; - let mut metric_iter = Metric::list().into_iter().filter(|metric| !core.settings.user_interface.metrics.disabled.contains(metric)); + let mut metric_iter = Metric::iter().filter(|metric| !core.settings.user_interface.metrics.disabled.contains(metric)); let mut draw = true; while draw { ui.horizontal(|ui| { @@ -223,7 +223,7 @@ impl ModuleT for Metrics { if let Some(metric) = metric_iter.next() { let range_from = core.settings.user_interface.metrics.graph_range_from; let range_to = core.settings.user_interface.metrics.graph_range_to; - self.render_metric(ui,metric,metrics,range_from..range_to,graph_width,graph_height); + self.render_metric(ui, *metric, metrics,range_from..range_to,graph_width,graph_height); } else { draw = false; } @@ -304,20 +304,24 @@ impl Metrics { .legend(Legend::default()) .width(graph_width) .height(graph_height) - .auto_bounds_x() - .auto_bounds_y() + .auto_bounds([true, true].into()) .set_margin_fraction(vec2(0.0,0.0) ) - .y_axis_width(4) + .y_axis_min_width(4.0 * 12.0) .show_axes(true) .show_grid(true) // .allow_drag([true, false]) .allow_drag([false, false]) .allow_scroll(false) - .y_axis_formatter(move |y,_size,_range|{ - metric.format(y, true, true) + .y_axis_formatter(move |grid, _range|{ + match metric { + Metric::NetworkPastMedianTime => { + String::default() + } + metric => metric.format(grid.value, true, true) + } }) - .x_axis_formatter(move |x, _size, _range| { - DateTime::::from_timestamp((x / 1000.0) as i64, 0) + .x_axis_formatter(move |grid, _range| { + DateTime::::from_timestamp((grid.value / 1000.0) as i64, 0) .expect("could not parse timestamp") .with_timezone(&chrono::Local) .format("%H:%M:%S") @@ -325,7 +329,6 @@ impl Metrics { }) .x_grid_spacer( uniform_grid_spacer(move |input| { - let (start_time,stop_time) = input.bounds; let range = stop_time - start_time; let base_step_size = range / graph_width as f64 * 64.; @@ -419,3 +422,4 @@ fn format_duration_unit(value: u64, unit: &str) -> String { format!("{} {}", value, unit) } } + diff --git a/core/src/modules/overview.rs b/core/src/modules/overview.rs index 4e4ebd0..b92be51 100644 --- a/core/src/modules/overview.rs +++ b/core/src/modules/overview.rs @@ -49,22 +49,23 @@ impl ModuleT for Overview { if #[cfg(not(feature = "lean"))] { let width = ui.available_width(); - + SidePanel::left("overview_left") - .exact_width(width*0.5) - .resizable(false) - .show_separator_line(true) - .show_inside(ui, |ui| { - egui::ScrollArea::vertical() - .id_source("overview_metrics") - .auto_shrink([false; 2]) - .show(ui, |ui| { - self.render_stats(core,ui); + .exact_width(width*0.5) + .resizable(false) + .show_separator_line(true) + .show_inside(ui, |ui| { + egui::ScrollArea::vertical() + .id_source("overview_metrics") + .auto_shrink([false; 2]) + .show(ui, |ui| { + self.render_stats(core,ui); + }); }); - }); SidePanel::right("overview_right") .exact_width(width*0.5) + .frame(Frame::default().fill(Color32::TRANSPARENT)) .resizable(false) .show_separator_line(false) .show_inside(ui, |ui| { @@ -84,16 +85,22 @@ impl Overview { #[cfg(not(feature = "lean"))] fn render_stats(&mut self, core: &mut Core, ui : &mut Ui) { - CollapsingHeader::new(i18n("Kaspa p2p Node")) - .default_open(true) - .show(ui, |ui| { + let node_info = if let Some(node_info) = &core.node_info { + format!(" - {}", node_info) + } else { + "".to_string() + }; - if core.state().is_connected() { - self.render_graphs(core,ui); - } else { - ui.label(i18n("Not connected")); - } - }); + CollapsingHeader::new(format!("{}{}",i18n("Kaspa p2p Node"), node_info)) + .default_open(true) + .show(ui, |ui| { + + if core.state().is_connected() { + self.render_graphs(core,ui); + } else { + ui.label(i18n("Not connected")); + } + }); ui.add_space(48.); } @@ -182,39 +189,82 @@ impl Overview { format!("• {CLOUD} {}",i18n("Kaspa NG online")), "https://kaspa-ng.org" ); - }); - - CollapsingHeader::new(i18n("Mainnet")) - .default_open(true) - .show(ui, |ui| { - #[allow(unused_imports)] - use egui_phosphor::light::{YOUTUBE_LOGO,DISCORD_LOGO,TELEGRAM_LOGO,REDDIT_LOGO,CHART_SCATTER,NEWSPAPER_CLIPPING,DATABASE}; - - ui.hyperlink_to_tab( - format!("• {DATABASE} {}",i18n("Explorer")), - "https://explorer.kaspa.org/", - ); - ui.hyperlink_to_tab( - format!("• {CHART_SCATTER} {}",i18n("Statistics")), - "https://kas.fyi", - ); - // ui.hyperlink_to_tab( - // format!("• {DISCORD_LOGO} {}",i18n("Discord")), - // "https://discord.com/invite/kS3SK5F36R", - // ); }); - if core.settings.node.network == Network::Testnet11 { - CollapsingHeader::new(i18n("Testnet 11")) - .default_open(true) - .show(ui, |ui| { - use egui_phosphor::light::HAND_COINS; - - ui.hyperlink_to_tab( - format!("• {HAND_COINS} {}",i18n("Faucet")), - "https://faucet-t11.kaspa.ws", - ); - }); + match core.settings.node.network { + Network::Mainnet => { + CollapsingHeader::new(i18n("Mainnet")) + .default_open(true) + .show(ui, |ui| { + CollapsingHeader::new(i18n("Resources")) + .default_open(true) + .show(ui, |ui| { + #[allow(unused_imports)] + use egui_phosphor::light::{YOUTUBE_LOGO,DISCORD_LOGO,TELEGRAM_LOGO,REDDIT_LOGO,CHART_SCATTER,NEWSPAPER_CLIPPING,DATABASE}; + + ui.hyperlink_to_tab( + format!("• {DATABASE} {}",i18n("Explorer")), + "https://explorer.kaspa.org/", + ); + ui.hyperlink_to_tab( + format!("• {CHART_SCATTER} {}",i18n("Statistics")), + "https://kas.fyi", + ); + // ui.hyperlink_to_tab( + // format!("• {DISCORD_LOGO} {}",i18n("Discord")), + // "https://discord.com/invite/kS3SK5F36R", + // ); + + }); + self.render_network_info(core, ui); + self.render_fee_rate(core, ui); + }); + } + Network::Testnet10 => { + CollapsingHeader::new(i18n("Testnet 10")) + .default_open(true) + .show(ui, |ui| { + CollapsingHeader::new(i18n("Resources")) + .default_open(true) + .show(ui, |ui| { + use egui_phosphor::light::{HAND_COINS,DATABASE}; + + ui.hyperlink_to_tab( + format!("• {DATABASE} {}",i18n("Explorer")), + "https://explorer-tn10.kaspa.org/", + ); + ui.hyperlink_to_tab( + format!("• {HAND_COINS} {}",i18n("Faucet")), + "https://faucet-testnet.kaspanet.io", + ); + + }); + self.render_network_info(core, ui); + self.render_fee_rate(core, ui); + }); + } + Network::Testnet11 => { + CollapsingHeader::new(i18n("Testnet 11")) + .default_open(true) + .show(ui, |ui| { + CollapsingHeader::new(i18n("Resources")) + .default_open(true) + .show(ui, |ui| { + use egui_phosphor::light::{HAND_COINS,DATABASE}; + + ui.hyperlink_to_tab( + format!("• {DATABASE} {}",i18n("Explorer")), + "https://explorer-tn11.kaspa.org/", + ); + ui.hyperlink_to_tab( + format!("• {HAND_COINS} {}",i18n("Faucet")), + "https://faucet-t11.kaspanet.io", + ); + }); + self.render_network_info(core, ui); + self.render_fee_rate(core, ui); + }); + } } CollapsingHeader::new(i18n("Developer Resources")) @@ -295,7 +345,7 @@ impl Overview { CollapsingHeader::new(i18n("Build")) .default_open(true) .show(ui, |ui| { - ui.add(Label::new(format!("Kaspa NG v{}-{} + Rusty Kaspa v{}", env!("CARGO_PKG_VERSION"),crate::app::GIT_DESCRIBE, kaspa_wallet_core::version()))); + ui.add(Label::new(format!("Kaspa NG v{}-{} + Rusty Kaspa {}", env!("CARGO_PKG_VERSION"),crate::app::GIT_DESCRIBE, kaspa_version()))); // if ui.add(Label::new(format!("Kaspa NG v{}-{} + Rusty Kaspa v{}", env!("CARGO_PKG_VERSION"),crate::app::GIT_DESCRIBE, kaspa_wallet_core::version())).sense(Sense::click())).clicked() { // core.select::(); // } @@ -358,13 +408,43 @@ impl Overview { CollapsingHeader::new(i18n("Donations")) .default_open(true) .show(ui, |ui| { - if ui.link(i18n("Supporting Kaspa NG development")).clicked() { + if ui.link(i18n("Please support Kaspa NG development")).clicked() { core.select::(); } }); }); } + fn render_network_info(&self, core: &Core, ui : &mut Ui) { + + CollapsingHeader::new(i18n("Statistics")) + .default_open(true) + .show(ui, |ui| { + ui.label(format!("Network Pressure: ~{}%", core.network_pressure.capacity())); + }); + } + + fn render_fee_rate(&self, core: &Core, ui : &mut Ui) { + + if let Some(fees) = core.feerate.as_ref() { + let (low,med,high) = if core.network_pressure.below_capacity() { + (1.0,1.0,1.0) + } else { + (fees.low.value().feerate, fees.economic.value().feerate, fees.priority.value().feerate) + }; + let low_kas = sompi_to_kaspa_string_with_suffix((low * BASIC_TRANSACTION_MASS as f64) as u64, &core.settings.node.network.into()); + let med_kas = sompi_to_kaspa_string_with_suffix((med * BASIC_TRANSACTION_MASS as f64) as u64, &core.settings.node.network.into()); + let high_kas = sompi_to_kaspa_string_with_suffix((high * BASIC_TRANSACTION_MASS as f64) as u64, &core.settings.node.network.into()); + CollapsingHeader::new(i18n("Fee Market")) + .default_open(true) + .show(ui, |ui| { + ui.label(format!("Low: {} SOMPI/g; ~{}/tx", format_with_precision(low), low_kas)); + ui.label(format!("Economic: {} SOMPI/g; ~{}/tx", format_with_precision(med),med_kas)); + ui.label(format!("Priority: {} SOMPI/g; ~{}/tx", format_with_precision(high),high_kas)); + }); + } + } + #[cfg(not(feature = "lean"))] fn render_graphs(&mut self, core: &mut Core, ui : &mut Ui) { @@ -372,10 +452,13 @@ impl Overview { if let Some(snapshot) = core.metrics() { let view_width = ui.available_width(); + if view_width < 200. { return; } - let graph_columns = ((view_width-48.) / 128.) as usize; + const GRAPH_WIDTH: f32 = 128.+6.+8.; + const GRAPH_VIEW_MARGIN: f32 = 48.; + let graph_columns = ((view_width-GRAPH_VIEW_MARGIN) / GRAPH_WIDTH) as usize; let mut draw = true; while draw { @@ -408,10 +491,26 @@ impl Overview { if available_samples < duration { duration = available_samples; } - let samples = if data.len() < duration { data.len() } else { duration }; - data[data.len()-samples..].to_vec() + let len = data.len(); + let samples = len.min(duration); + data[len-samples..].to_vec() + // let mut data = data[len-samples..].to_vec(); + // if data.len() == 1{ + // let mut last_clone = data[0].clone(); + // if last_clone.y > 100000000000.0{ + // last_clone.x += 0.1; + // last_clone.y += 100.0; + // data.push(last_clone); + // } + // } + // data }; + //skip rendering + if graph_data.len() < 2 { + return; + } + ui.vertical(|ui|{ let frame = @@ -430,8 +529,7 @@ impl Overview { .legend(Legend::default()) .width(128.) .height(32.) - .auto_bounds_x() - .auto_bounds_y() + .auto_bounds([true, true].into()) .set_margin_fraction(vec2(0.0,0.0) ) .show_axes(false) .show_grid(false) @@ -459,7 +557,7 @@ impl Overview { let text = format!("{} {}", i18n(metric.title().1).to_uppercase(), metric.format(value, true, true)); let rich_text_top = RichText::new(&text).size(10.).color(theme_color().raised_text_color); - let label_top = Label::new(rich_text_top).wrap(false); + let label_top = Label::new(rich_text_top).extend(); let mut rect_top = plot_result.response.rect; rect_top.set_bottom(rect_top.top() + 12.); @@ -468,7 +566,7 @@ impl Overview { vec2(1.0,1.0),vec2(1.0,-1.0),vec2(-1.0,1.0),vec2(-1.0,-1.0), ].iter().for_each(|offset| { let rich_text_back = RichText::new(&text).size(10.).color(theme_color().raised_text_shadow); - let label_back = Label::new(rich_text_back).wrap(false); + let label_back = Label::new(rich_text_back).extend(); let mut rect_back = rect_top; rect_back.set_center(rect_back.center()+*offset); ui.put(rect_back, label_back); diff --git a/core/src/modules/private_key_create.rs b/core/src/modules/private_key_create.rs index 92cc0ae..4e2a573 100644 --- a/core/src/modules/private_key_create.rs +++ b/core/src/modules/private_key_create.rs @@ -158,7 +158,7 @@ impl ModuleT for PrivateKeyCreate { // ui.label("A wallet is stored in a file on your computer. You can create multiple wallet."); }) .with_footer(|_this,ui| { - // if ui.add_sized(theme().large_button_size, egui::Button::new("Continue")).clicked() { + // if ui.add_sized(theme().large_button_size, egui::Button::new(i18n("Continue"))).clicked() { if ui.large_button(i18n("Continue")).clicked() { // this.state = State::WalletName; } @@ -403,7 +403,7 @@ impl ModuleT for PrivateKeyCreate { // }) // .with_footer(|this,ui| { - // if ui.add_sized(size, egui::Button::new("Continue")).clicked() { + // if ui.add_sized(size, egui::Button::new(i18n("Continue"))).clicked() { // this.state = State::ConfirmMnemonic(mnemonic); // } // }) diff --git a/core/src/modules/scanner.rs b/core/src/modules/scanner.rs index 0da7eb4..527b375 100644 --- a/core/src/modules/scanner.rs +++ b/core/src/modules/scanner.rs @@ -270,11 +270,10 @@ impl ModuleT for Scanner { let wallet_secret = Secret::from(self.context.wallet_secret.as_str()); let transfer_funds = self.context.transfer_funds; self.context.wallet_secret.zeroize(); - spawn(async move { - - if let Some(account) = wallet.get_account_by_id(&account.id()).await? { - + let binding = wallet.guard(); + let guard = binding.lock().await; + if let Some(account) = wallet.get_account_by_id(&account.id(),&guard).await? { account.as_derivation_capable()? .derivation_scan( wallet_secret, @@ -283,6 +282,7 @@ impl ModuleT for Scanner { usize::MAX, 64, transfer_funds, + None, &abortable, Some(Arc::new(move |index,utxo_count, balance, txid|{ if let Some(_txid) = txid { diff --git a/core/src/modules/settings/mod.rs b/core/src/modules/settings/mod.rs index 54e4357..11d7883 100644 --- a/core/src/modules/settings/mod.rs +++ b/core/src/modules/settings/mod.rs @@ -1,10 +1,11 @@ use crate::imports::*; -use crate::servers::render_public_server_selector; pub struct Settings { #[allow(dead_code)] runtime: Runtime, settings : crate::settings::Settings, + wrpc_borsh_network_interface : NetworkInterfaceEditor, + wrpc_json_network_interface : NetworkInterfaceEditor, grpc_network_interface : NetworkInterfaceEditor, reset_settings : bool, } @@ -14,6 +15,8 @@ impl Settings { Self { runtime, settings : crate::settings::Settings::default(), + wrpc_borsh_network_interface : NetworkInterfaceEditor::default(), + wrpc_json_network_interface : NetworkInterfaceEditor::default(), grpc_network_interface : NetworkInterfaceEditor::default(), reset_settings : false, } @@ -22,6 +25,8 @@ impl Settings { pub fn load(&mut self, settings : crate::settings::Settings) { self.settings = settings; + self.wrpc_borsh_network_interface = NetworkInterfaceEditor::from(&self.settings.node.wrpc_borsh_network_interface); + self.wrpc_json_network_interface = NetworkInterfaceEditor::from(&self.settings.node.wrpc_json_network_interface); self.grpc_network_interface = NetworkInterfaceEditor::from(&self.settings.node.grpc_network_interface); } @@ -29,7 +34,7 @@ impl Settings { self.settings.node.network = network; } - pub fn render_remote_settings(core: &mut Core, ui: &mut Ui, settings : &mut NodeSettings) -> Option<&'static str> { + pub fn render_remote_settings(_core: &mut Core, ui: &mut Ui, settings : &mut NodeSettings) -> Option<&'static str> { let mut node_settings_error = None; @@ -69,7 +74,7 @@ impl Settings { if let Err(err) = KaspaRpcClient::parse_url(settings.wrpc_url.clone(), settings.wrpc_encoding, settings.network.into()) { ui.label( - RichText::new(format!("{err}")) + RichText::new(err.to_string()) .color(theme_color().warning_color), ); node_settings_error = Some(i18n("Invalid wRPC URL")); @@ -90,13 +95,6 @@ impl Settings { }, NodeConnectionConfigKind::PublicServerCustom => { - CollapsingHeader::new(i18n("Public Node")) - .default_open(true) - .show(ui, |ui| { - if let Some(error) = render_public_server_selector(core, ui, settings) { - node_settings_error = Some(error); - } - }); }, NodeConnectionConfigKind::PublicServerRandom => { ui.label(i18n("A random node will be selected on startup")); @@ -353,16 +351,24 @@ impl Settings { .show(ui, |ui| { ui.vertical(|ui|{ + ui.checkbox(&mut self.settings.node.enable_wrpc_borsh, i18n("Public wRPC (Borsh)")); + + // ui.checkbox(&mut self.settings.node.enable_wrpc_json, i18n("Enable wRPC JSON")); + // if self.settings.node.enable_wrpc_json { + // CollapsingHeader::new(i18n("wRPC JSON Network Interface & Port")) + // .default_open(true) + // .show(ui, |ui| { + // self.wrpc_json_network_interface.ui(ui); + // }); + // } + ui.checkbox(&mut self.settings.node.enable_grpc, i18n("Enable gRPC")); if self.settings.node.enable_grpc { - CollapsingHeader::new(i18n("gRPC Network Interface & Port")) .default_open(true) .show(ui, |ui| { self.grpc_network_interface.ui(ui); }); - // - TODO - // ui.add(TextEdit::singleline(&mut self.settings.node.grpc_network_interface)); } }); @@ -446,89 +452,136 @@ impl Settings { CollapsingHeader::new(i18n("User Interface")) - .default_open(true) + .default_open(false) .show(ui, |ui| { - ui.label(i18n("Theme Color")); - ui.vertical(|ui| { - ui.horizontal(|ui| { - let current_theme_color_name = theme_color().name(); - ui.menu_button( - format!("{} ⏷", current_theme_color_name), - |ui| { - theme_colors().keys().for_each(|name| { - if name.as_str() != current_theme_color_name - && ui.button(name).clicked() - { - apply_theme_color_by_name( - ui.ctx(), - name, - ); - core - .settings - .user_interface - .theme_color = name.to_string(); - // core.store_settings(); - ui.close_menu(); - } - }); - }, - ); + CollapsingHeader::new(i18n("Theme Color")) + .default_open(true) + .show(ui, |ui| { + ui.vertical(|ui| { + ui.horizontal(|ui| { + let current_theme_color_name = theme_color().name(); + ui.menu_button( + format!("{} ⏷", current_theme_color_name), + |ui| { + theme_colors().keys().for_each(|name| { + if name.as_str() != current_theme_color_name + && ui.button(name).clicked() + { + apply_theme_color_by_name( + ui.ctx(), + name, + ); + core + .settings + .user_interface + .theme_color = name.to_string(); + // core.store_settings(); + ui.close_menu(); + } + }); + }, + ); + }); + }); + + ui.add_space(1.); }); - ui.add_space(1.); - }); - ui.label(i18n("Theme Style")); - ui.horizontal(|ui| { - let current_theme_style_name = theme_style().name(); - ui.menu_button( - format!("{} ⏷", current_theme_style_name), - |ui| { - theme_styles().keys().for_each(|name| { - if name.as_str() != current_theme_style_name - && ui.button(name).clicked() - { - apply_theme_style_by_name(ui.ctx(), name); - core - .settings - .user_interface - .theme_style = name.to_string(); - // core.store_settings(); - ui.close_menu(); - } + CollapsingHeader::new(i18n("Theme Style")) + .default_open(true) + .show(ui, |ui| { + ui.horizontal(|ui| { + let current_theme_style_name = theme_style().name(); + ui.menu_button( + format!("{} ⏷", current_theme_style_name), + |ui| { + theme_styles().keys().for_each(|name| { + if name.as_str() != current_theme_style_name + && ui.button(name).clicked() + { + apply_theme_style_by_name(ui.ctx(), name); + core + .settings + .user_interface + .theme_style = name.to_string(); + // core.store_settings(); + ui.close_menu(); + } + }); + }, + ); }); - }, - ); - }); + ui.add_space(1.); + }); - if workflow_core::runtime::is_native() { - ui.label(i18n("Zoom")); - ui.horizontal(|ui| { - let zoom_factor = ui.ctx().zoom_factor(); - if ui - .add_sized( - Vec2::splat(24.), - Button::new(RichText::new("-").size(18.)), - ) - .clicked() - { - ui.ctx().set_zoom_factor(zoom_factor - 0.1); - } - ui.label(format!("{:.0}%", zoom_factor * 100.0)); - if ui - .add_sized( - Vec2::splat(24.), - Button::new(RichText::new("+").size(18.)), - ) - .clicked() - { - ui.ctx().set_zoom_factor(zoom_factor + 0.1); + if workflow_core::runtime::is_native() { + CollapsingHeader::new(i18n("Zoom")) + .default_open(true) + .show(ui, |ui| { + ui.horizontal(|ui| { + let zoom_factor = ui.ctx().zoom_factor(); + if ui + .add_sized( + Vec2::splat(24.), + Button::new(RichText::new("-").size(18.)), + ) + .clicked() + { + ui.ctx().set_zoom_factor(zoom_factor - 0.1); + } + ui.label(format!("{:.0}%", zoom_factor * 100.0)); + if ui + .add_sized( + Vec2::splat(24.), + Button::new(RichText::new("+").size(18.)), + ) + .clicked() + { + ui.ctx().set_zoom_factor(zoom_factor + 0.1); + } + }); + + ui.add_space(1.); + }); } - }); - } - }); + if workflow_core::runtime::is_native() { + CollapsingHeader::new(i18n("Options")) + .default_open(true) + .show(ui, |ui| { + + ui.checkbox(&mut self.settings.user_interface.disable_frame, i18n("Disable Window Frame")); + if self.settings.user_interface.disable_frame != core.settings.user_interface.disable_frame { + ui.vertical(|ui| { + ui.add_space(4.); + ui.label(RichText::new(i18n("Application must be restarted for this setting to take effect.")).color(theme_color().warning_color)); + ui.label(RichText::new(i18n("Please select 'Apply' and restart the application.")).color(theme_color().warning_color)); + ui.add_space(4.); + }); + } + + ui.add_space(1.); + }); + + if self.settings.user_interface.disable_frame != core.settings.user_interface.disable_frame { + ui.add_space(16.); + if let Some(response) = ui.confirm_medium_apply_cancel(Align::Max) { + match response { + Confirm::Ack => { + core.settings.user_interface.disable_frame = self.settings.user_interface.disable_frame; + core.settings.store_sync().unwrap(); + }, + Confirm::Nack => { + self.settings.user_interface.disable_frame = core.settings.user_interface.disable_frame; + } + } + } + ui.separator(); + } + } + }); } @@ -568,6 +621,21 @@ impl Settings { }); }); + CollapsingHeader::new(i18n("Network Fee Estimator")) + .default_open(false) + .show(ui, |ui| { + ui.vertical(|ui|{ + EstimatorMode::iter().for_each(|kind| { + ui.radio_value(&mut self.settings.estimator.mode, *kind, i18n(kind.describe())); + }); + + if self.settings.estimator.mode != core.settings.estimator.mode { + core.settings.estimator.mode = self.settings.estimator.mode; + core.store_settings(); + } + }); + }); + #[cfg(not(target_arch = "wasm32"))] core.storage.clone().render_settings(core, ui); @@ -606,7 +674,7 @@ impl Settings { ui.checkbox( &mut self.settings.developer.disable_password_restrictions, - i18n("Disable password score restrictions") + i18n("Disable password safety rules") ).on_hover_text_at_pointer( i18n("Removes security restrictions, allows for single-letter passwords") ); diff --git a/core/src/modules/testing.rs b/core/src/modules/testing.rs index 4501b48..6a3a1d7 100644 --- a/core/src/modules/testing.rs +++ b/core/src/modules/testing.rs @@ -1,5 +1,4 @@ use kaspa_bip32::{Mnemonic,WordCount}; - use crate::imports::*; // use egui_plot::PlotPoint; @@ -12,9 +11,18 @@ pub enum State { Unlocking, } +#[derive(PartialEq, Debug)] +pub enum FeeMode{ + None, + LowPriority, + Economic, + Normal, +} + pub struct Testing { #[allow(dead_code)] runtime: Runtime, + fee_mode: FeeMode, // pub state: State, // pub message: Option, @@ -44,6 +52,7 @@ impl Testing { Self { runtime, + fee_mode: FeeMode::None, // state: State::Select, // message: None, // graph_data, @@ -75,6 +84,8 @@ impl ModuleT for Testing { _frame: &mut eframe::Frame, ui: &mut egui::Ui, ) { + ui.label(RichText::new("\u{E610}").size(32.).family(FontFamily::Name("phosphor".into()))); + ui.label(RichText::new("\u{E611}").size(32.)); if ui.large_button("notify regular").clicked() { runtime().notify(UserNotification::info("This is a regular notification").short()); @@ -95,6 +106,113 @@ impl ModuleT for Testing { if ui.large_button("notify info").clicked() { runtime().notify(UserNotification::info("Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, ").short()); } + + + let fee_selection = SelectionPanels::new( + 100.0, + 130.0) + // i18n("Miner Fee"), + // |ui, value|{ + // ui.label("1 in / 2 outputs, ~1.2 Kg"); + // ui.label(format!("Fee Mode: {:?}", value)); + // }) + //.panel_min_height(300.) + //.vertical(true) + //.add(FeeMode::LowPriority, i18n("Low-priority"), i18n("3 hours or more")) + .add_with_footer(FeeMode::LowPriority, i18n("Low-priority"), i18n("3 hours or more"), |ui|{ + ui.label("12.88716 µKAS"); + ui.label(RichText::new("~0.00000215 USD").strong()); + ui.label("9 SOMPI/G"); + }) + .add_with_footer(FeeMode::Economic, i18n("Economic"), i18n("~2 hours"), |ui|{ + ui.label("15.83525 µKAS"); + ui.label(RichText::new("~0.00000264 USD").strong()); + ui.label("10 SOMPI/G"); + }) + .add_with_footer(FeeMode::Normal, i18n("Normal"), i18n("~30 minutes"), |ui|{ + ui.label("20.78334 µKAS"); + ui.label(RichText::new("~0.00000347 USD").strong()); + ui.label("10 SOMPI/G"); + }) + .add_with_footer(FeeMode::LowPriority, i18n("Low-priority"), i18n("3 hours or more"), |ui|{ + ui.label("12.88716 µKAS"); + ui.label(RichText::new("~0.00000215 USD").strong()); + ui.label("9 SOMPI/G"); + }) + .add_with_footer(FeeMode::Economic, i18n("Economic"), i18n("~2 hours"), |ui|{ + ui.label("15.83525 µKAS"); + ui.label(RichText::new("~0.00000264 USD").strong()); + ui.label("10 SOMPI/G"); + }) + .add_with_footer(FeeMode::Normal, i18n("Normal"), i18n("~30 minutes"), |ui|{ + ui.label("20.78334 µKAS"); + ui.label(RichText::new("~0.00000347 USD").strong()); + ui.label("10 SOMPI/G"); + }); + // .add_with_footer(FeeMode::Economic, i18n("Economic"), i18n("~2 hours"), |ui|{ + // ui.label("13.83525 µKAS"); + // ui.label(RichText::new("~608.83 USD").strong()); + // ui.label("10 SOMPI/G"); + // }) + // .add_with_footer(FeeMode::Normal, i18n("Normal"), i18n("~30 minutes"), |ui|{ + // ui.label("14.78334 µKAS"); + // ui.label(RichText::new("~650.56 USD").strong()); + // ui.label("10 SOMPI/G"); + // }); + + + if fee_selection.render(ui, &mut self.fee_mode).clicked(){ + log_info!("clicked: self.fee_mode: {:?}", self.fee_mode); + runtime().toast(UserNotification::success(format!("selection: {:?}", self.fee_mode)).short()) + } + + let fee_selection = SelectionPanels::new( + 100.0, + 150.0, + // i18n("Miner Fee"), + // |ui, value|{ + // ui.label("1 in / 2 outputs, ~1.2 Kg"); + // ui.label(format!("Fee Mode: {:?}", value)); + // } + ) + //.panel_min_height(300.) + //.vertical(true) + //.add(FeeMode::LowPriority, i18n("Low-priority"), i18n("3 hours or more")) + .add_with_footer(FeeMode::LowPriority, i18n("Low-priority"), i18n("3 hours or more"), |ui|{ + ui.label("12.88716 µKAS"); + ui.label(RichText::new("~0.00000215 USD").strong()); + ui.label("9 SOMPI/G"); + }) + .add_with_footer(FeeMode::Economic, i18n("Economic"), i18n("~2 hours"), |ui|{ + ui.label("15.83525 µKAS"); + ui.label(RichText::new("~0.00000264 USD").strong()); + ui.label("10 SOMPI/G"); + }) + .add_with_footer(FeeMode::Normal, i18n("Normal"), i18n("~30 minutes"), |ui|{ + ui.label("20.78334 µKAS"); + ui.label(RichText::new("~0.00000347 USD").strong()); + ui.label("10 SOMPI/G"); + }) + .add_with_footer(FeeMode::LowPriority, i18n("Low-priority"), i18n("3 hours or more"), |ui|{ + ui.label("12.88716 µKAS"); + ui.label(RichText::new("~0.00000215 USD").strong()); + ui.label("9 SOMPI/G"); + }) + .add_with_footer(FeeMode::Economic, i18n("Economic"), i18n("~2 hours"), |ui|{ + ui.label("15.83525 µKAS"); + ui.label(RichText::new("~0.00000264 USD").strong()); + ui.label("10 SOMPI/G"); + }) + .add_with_footer(FeeMode::Normal, i18n("Normal"), i18n("~30 minutes"), |ui|{ + ui.label("20.78334 µKAS"); + ui.label(RichText::new("~0.00000347 USD").strong()); + ui.label("10 SOMPI/G"); + }); + + if fee_selection.sep_ratio(0.7).render(ui, &mut self.fee_mode).clicked(){ + log_info!("clicked: self.fee_mode: {:?}", self.fee_mode); + runtime().toast(UserNotification::success(format!("selection: {:?}", self.fee_mode)).short()) + } } } diff --git a/core/src/modules/wallet_create.rs b/core/src/modules/wallet_create.rs index 297761b..20ad893 100644 --- a/core/src/modules/wallet_create.rs +++ b/core/src/modules/wallet_create.rs @@ -16,6 +16,14 @@ enum Focus { PaymentSecret, PaymentSecretConfirm, WalletMnemonic, + DecryptWalletSecret, +} + +#[derive(Clone)] +pub enum KeyOperationKind { + Create, + ImportKey, + ImportFile, } #[derive(Clone)] @@ -26,7 +34,10 @@ pub enum State { ImportMnemonic, ImportMnemonicWithEditor, ImportMnemonicInteractive, + WalletFileSecret, + DecryptWalletFile, ImportWallet, + // WalletName { kind: KeyOperationKind }, WalletName, AccountName, PhishingHint, @@ -34,7 +45,7 @@ pub enum State { PaymentSecret, CreateWalletConfirm, CreateWallet, - WalletError(Arc), + WalletError(Arc, Arc), PresentMnemonic(String), ConfirmMnemonic(String), Finish, @@ -49,6 +60,7 @@ struct Context { enable_phishing_hint: bool, phishing_hint: String, wallet_secret: String, + decrypt_wallet_secret: String, wallet_secret_confirm: String, wallet_secret_show: bool, wallet_secret_score: Option, @@ -59,11 +71,13 @@ struct Context { payment_secret_score: Option, mnemonic_presenter_context : MnemonicPresenterContext, import_private_key : bool, + import_private_key_file: bool, import_private_key_mnemonic : String, import_private_key_mnemonic_error : Option, import_with_bip39_passphrase : bool, import_legacy : bool, import_advanced : bool, + wallet_file_data: Option } impl Zeroize for Context { @@ -82,6 +96,7 @@ impl Zeroize for Context { self.import_private_key_mnemonic.zeroize(); self.import_private_key_mnemonic_error.zeroize(); self.import_with_bip39_passphrase.zeroize(); + self.decrypt_wallet_secret.zeroize(); self.import_legacy.zeroize(); self.import_advanced.zeroize(); } @@ -106,8 +121,164 @@ impl WalletCreate { focus: FocusManager::default(), } } + + pub fn import_selection(context:&mut M, word_count: &mut WordCount, import_legacy: &mut bool, bip39_passphrase: &mut bool, ui: &mut Ui, back_callback:Option)->bool{ + let mut submit = false; + if *import_legacy { + *bip39_passphrase = false; + } + let mut panel = Panel::new(context) + .with_caption(i18n("Import Existing Private Key")) + .with_close_enabled(false, |_|{ + }) + .with_header(|_ctx,ui| { + ui.add_space(64.); + ui.label(i18n("Please select the private key type you would like to import in the new wallet")); + }) + .with_body(|_this,ui| { + // ui.label("(You can import additional private keys later, once the wallet has been created)"); + // let word_12_selected = !*import_legacy && *word_count == WordCount::Words12; + // if ui.large_selected_button(word_12_selected, i18n("12 word mnemonic")).clicked() { + if ui.large_button(i18n("12 word mnemonic")).clicked() { + *word_count = WordCount::Words12; + *import_legacy = false; + submit = true; + } + ui.label(""); + + // if ui.large_selected_button(*word_count == WordCount::Words24, i18n("24 word mnemonic")).clicked() { + if ui.large_button(i18n("24 word mnemonic")).clicked() { + *word_count = WordCount::Words24; + *import_legacy = false; + submit = true; + } + ui.label(""); + ui.add_enabled_ui(!*import_legacy, |ui|{ + ui.checkbox(bip39_passphrase, i18n("Your mnemonic is protected with a bip39 passphrase")); + }); + ui.label(""); + + ui.medium_separator(); + ui.label(""); + + ui.label(i18n("Select this option if your wallet was created")); + ui.label(i18n("using KDX or kaspanet.io web wallet")); + ui.label(""); + // if ui.large_selected_button(*import_legacy, format!(" {} ", i18n("Legacy 12 word mnemonic"))).clicked() { + if ui.large_button_enabled(!*bip39_passphrase,format!(" {} ", i18n("Legacy 12 word mnemonic"))).clicked() { + *word_count = WordCount::Words12; + *import_legacy = true; + *bip39_passphrase = false; + submit = true; + } + // ui.label(""); + + // ui.medium_separator(); + // ui.label(""); + + // if ui.large_button(i18n("Continue")).clicked() { + // submit = true; + // } + }) + .with_footer(|_this,_ui| { + }); + + if let Some(back_callback) = back_callback{ + panel = panel.with_back(back_callback) + } + + panel.render(ui); + submit + } + + pub fn import_mnemonic(context: &mut M, mnemonic_phrase: &mut String, word_count: &WordCount, focus_manager: &mut FocusManager, focus_value: F, ui: &mut Ui, back_callback: impl FnOnce(&mut M))->bool{ + let mnemonic_is_ok = Rc::new(RefCell::new(false)); + let proceed = Rc::new(RefCell::new(false)); + let needed = match word_count { + WordCount::Words12 => 12, + WordCount::Words24 => 24, + } as usize; + Panel::new(context) + .with_caption(i18n("Mnemonic Import")) + .with_back(back_callback) + .with_close_enabled(false, |_|{ + }) + .with_header(|_this,ui| { + ui.add_space(64.); + ui.label(i18n_args("Please enter mnemonic comprised of {number} words", &[("number", needed.to_string())])); + }) + .with_body(|_this,ui| { + let mut submit = false; + TextEditor::new( + mnemonic_phrase, + focus_manager, + focus_value, + |ui, text| { + // ui.add_space(8.); + ui.label(RichText::new(i18n("Enter mnemonic")).size(12.).raised()); + let mut available_width = ui.available_width(); + if available_width > 1024. { + available_width *= 0.5; + } else if available_width > 512. { + available_width *= 0.7; + } + ui.add_sized(vec2(available_width, 64.), TextEdit::multiline(text)) + }, + ) + .submit(|_text,_focus| { + submit = true; + }) + .build(ui); + + let phrase = mnemonic_phrase.as_str().split_ascii_whitespace().filter(|s| s.is_not_empty()).collect::>(); + // TODO - use comparison chain + #[allow(clippy::comparison_chain)] + if phrase.len() < needed { + ui.label(""); + // ui.label(format!("{} {} {}", i18n("Please enter additional"), needed - phrase.len(), i18n("words"))); + ui.label(i18n_args("Please enter additional {amount} words", &[("amount", (needed - phrase.len()).to_string())])); + ui.label(""); + } else if phrase.len() > needed { + ui.label(""); + // ui.colored_label(error_color(), format!("{} '{}' {}", i18n("Too many words in the"), phrase.len() - needed, i18n("word mnemonic"))); + ui.colored_label(error_color(), i18n_args("Too many words ({words}) in the {amount} word mnemonic", &[ + ("words",phrase.len().to_string()), + ("amount",(phrase.len() - needed).to_string()) + ])); + ui.label(""); + } else { + let mut phrase = phrase.join(" "); + match Mnemonic::new(phrase.as_str(), Language::default()) { + Ok(_) => { + *mnemonic_is_ok.borrow_mut() = true; + if submit { + *proceed.borrow_mut() = true; + } + }, + Err(err) => { + phrase.zeroize(); + ui.label(""); + ui.label(RichText::new(i18n_args("Error processing mnemonic: {err}",&[("err",err.to_string())])).color(error_color())); + if matches!(err,kaspa_bip32::Error::Bip39) { + ui.label(RichText::new(i18n("Your mnemonic phrase is invalid")).color(error_color())); + } + ui.label(""); + } + } + } + }) + .with_footer(|_this,ui| { + if ui.large_button_enabled(*mnemonic_is_ok.borrow(), i18n("Continue")).clicked() { + *proceed.borrow_mut() = true; + } + }) + .render(ui); + let proceed = *proceed.borrow(); + proceed + } } + impl ModuleT for WalletCreate { fn modal(&self) -> bool { true } @@ -130,7 +301,7 @@ impl ModuleT for WalletCreate { let mut back = false; Panel::new(self) - .with_caption("Create Wallet") + .with_caption(i18n("Create Wallet")) .with_back_enabled(core.has_stack(), |_|{ back = true; }) @@ -156,8 +327,10 @@ impl ModuleT for WalletCreate { } State::KeySelection => { - let mut submit = false; - let mut import = false; + self.context.import_with_bip39_passphrase = false; + self.context.import_legacy = false; + self.context.import_private_key = false; + self.context.import_private_key_file = false; Panel::new(self) .with_caption(i18n("Select Private Key Type")) @@ -171,7 +344,7 @@ impl ModuleT for WalletCreate { ui.label(i18n("Please specify the private key type for the new wallet")); }) .with_body(|this,ui| { - + let mut submit = false; if ui.large_button(i18n("12 word mnemonic")).clicked() { this.context.word_count = WordCount::Words12; submit = true; @@ -181,6 +354,12 @@ impl ModuleT for WalletCreate { this.context.word_count = WordCount::Words24; submit = true; } + + if submit { + // this.state = State::WalletName { kind : KeyOperationKind::Create }; + this.state = State::WalletName; + this.focus.next(Focus::WalletName); + } // ui.label(""); // if ui.large_button_enabled(false,"MultiSig account").clicked() { // } @@ -191,94 +370,40 @@ impl ModuleT for WalletCreate { ui.label(""); if ui.large_button(i18n("Import existing")).clicked() { - import = true; + this.state = State::ImportSelection; + this.focus.clear(); } ui.label(""); - }) - .with_footer(|_this,_ui| { - }) - .render(ui); - - if import { - self.state = State::ImportSelection; - self.focus.clear(); - - } else if submit { - self.state = State::WalletName; - self.focus.next(Focus::WalletName); - } - - } - - State::ImportSelection => { - - let mut submit = false; - Panel::new(self) - .with_caption(i18n("Import Existing Private Key")) - .with_back(|this| { - this.state = State::KeySelection; - }) - .with_close_enabled(false, |_|{ - }) - .with_header(|_ctx,ui| { - ui.add_space(64.); - ui.label(i18n("Please select the private key type you would like to import in the new wallet")); - }) - .with_body(|this,ui| { - // ui.label("(You can import additional private keys later, once the wallet has been created)"); - - if ui.large_button(i18n("12 word mnemonic")).clicked() { - this.context.word_count = WordCount::Words12; - submit = true; + if ui.large_button(i18n("Import existing file")).clicked() { + this.context.import_private_key_file = true; + this.state = State::ImportMnemonicInteractive; } - ui.label(""); - ui.checkbox(&mut this.context.import_legacy, i18n("I have a 12 word mnemonic legacy account")); - ui.label(i18n("Select this option if your wallet was created")); - ui.label(i18n("using KDX or kaspanet.io web wallet")); - ui.label(RichText::new("NOT SUPPORTED IN THIS BETA RELEASE").size(10.).color(warning_color())); - - if !this.context.import_legacy { - ui.label(""); - if ui.large_button(i18n("24 word mnemonic")).clicked() { - this.context.word_count = WordCount::Words24; - submit = true; - } - // ui.label(""); - // if ui.large_button("MultiSig account").clicked() { - // } - - ui.label(""); - ui.checkbox(&mut this.context.import_with_bip39_passphrase, i18n("Your mnemonic is protected with a bip39 passphrase")); - - ui.label(""); - ui.checkbox(&mut this.context.import_advanced, i18n("Advanced Options")); - if this.context.import_advanced { - ui.label(""); - if ui.large_button_enabled(false, i18n("secp256k1 keypair")).clicked() { - this.context.word_count = WordCount::Words12; - submit = true; - } - ui.label(RichText::new("NOT SUPPORTED IN THIS BETA RELEASE").size(10.).color(warning_color())); - } - } - - }) .with_footer(|_this,_ui| { }) .render(ui); - - if submit { - self.context.import_private_key = true; - self.state = State::WalletName; - self.focus.next(Focus::WalletName); - } } - - + State::ImportSelection => { + let submit = Self::import_selection::(&mut self.state, + &mut self.context.word_count, + &mut self.context.import_legacy, + &mut self.context.import_with_bip39_passphrase, + ui, + Some(|state : &mut State|{ + *state = State::KeySelection + }) + ); + if submit { + self.context.import_private_key = true; + // self.state = State::WalletName { kind : KeyOperationKind::ImportKey }; + self.state = State::WalletName; + self.focus.next(Focus::WalletName); + } + } + // State::WalletName { kind } => { State::WalletName => { let wallet_exists = Rc::new(RefCell::new(false)); @@ -286,6 +411,14 @@ impl ModuleT for WalletCreate { Panel::new(self) .with_caption(i18n("Wallet Name")) .with_back(|this| { + // match kind { + // KeyOperationKind::Create => { + // this.state = State::KeySelection; + // } + // KeyOperationKind::Import => { + // this.state = State::ImportSelection; + // } + // } this.state = State::KeySelection; }) .with_close_enabled(false, |_|{ @@ -388,7 +521,7 @@ impl ModuleT for WalletCreate { }) .with_footer(|this,ui| { - let text = if this.context.account_name.is_not_empty() { "Continue" } else { "Skip" }; + let text = if this.context.account_name.is_not_empty() { i18n("Continue") } else { "Skip" }; if ui.large_button(i18n(text)).clicked() { this.state = State::PhishingHint; this.focus.next(Focus::PhishingHint); @@ -409,14 +542,13 @@ impl ModuleT for WalletCreate { .with_header(|_ctx,ui| { ui.heading(i18n("Optional")); ui.label(" "); - // TODO i18n - ui.label("\ - \"Phishing hint\" is a secret word or a phrase that is displayed \ + ui.label(i18n("\ + 'Phishing hint' is a secret word or a phrase that is displayed \ when you open your wallet. If you do not see the hint when opening \ your wallet, you may be accessing a fake wallet designed to steal \ your funds. If this occurs, stop using the wallet immediately, \ check the browser URL domain name and seek help on social networks \ - (Kaspa Discord or Telegram)."); + (Kaspa Discord or Telegram).")); ui.label(" "); }) .with_body(|this,ui| { @@ -568,153 +700,157 @@ impl ModuleT for WalletCreate { } State::PaymentSecret => { - let mut proceed = self.context.import_private_key && !self.context.import_with_bip39_passphrase; + let mut proceed = self.context.import_legacy || (self.context.import_private_key && !self.context.import_with_bip39_passphrase); + if !self.context.import_legacy { + Panel::new(self) + .with_caption(i18n("Payment & Recovery Password")) + .with_back(|this| { + this.state = State::WalletSecret; + this.focus.next(Focus::WalletSecret); + }) + .with_close_enabled(false, |_|{ + }) + .with_header(|this,ui| { + if this.context.import_with_bip39_passphrase { - Panel::new(self) - .with_caption(i18n("Payment & Recovery Password")) - .with_back(|this| { - this.state = State::WalletSecret; - this.focus.next(Focus::WalletSecret); - }) - .with_close_enabled(false, |_|{ - }) - .with_header(|this,ui| { - if this.context.import_with_bip39_passphrase { + } else { + ui.heading(i18n("Optional")); + ui.label(" "); + ui.label(i18n("The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to \ + send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.\ + If you loose or forget this passphrase, you will not \ + be able to use mnemonic to recover your wallet!")); + } + }) + .with_body(|this,ui| { + let mut submit = false; + let mut change = false; + + + if !this.context.import_with_bip39_passphrase { + ui.checkbox(&mut this.context.enable_payment_secret, i18n("Enable optional BIP39 passphrase")); + } - } else { - ui.heading(i18n("Optional")); - ui.label(" "); - ui.label(i18n("The optional payment & mnemonic recovery passphrase, known as BIP39 passphrase, if provided, will be required to \ - send payments. This passphrase will also be required when recovering your wallet in addition to your mnemonic.\ - If you lose or forget this passphrase, you will not \ - be able to use mnemonic to recover your wallet!")); - } - }) - .with_body(|this,ui| { - let mut submit = false; - let mut change = false; - - - if !this.context.import_with_bip39_passphrase { - ui.checkbox(&mut this.context.enable_payment_secret, i18n("Enable optional BIP39 passphrase")); - } + if this.context.enable_payment_secret || this.context.import_with_bip39_passphrase { + + ui.label(""); - if this.context.enable_payment_secret || this.context.import_with_bip39_passphrase { - - ui.label(""); + TextEditor::new( + &mut this.context.payment_secret, + &mut this.focus, + Focus::PaymentSecret, + |ui, text| { + // ui.add_space(8.); + ui.label(RichText::new(i18n("Enter BIP39 passphrase")).size(12.).raised()); + ui.add_sized(editor_size, TextEdit::singleline(text) + .password(!this.context.payment_secret_show) + .vertical_align(Align::Center)) + }, + ) + .change(|_|{ + change = true; + }) + .submit(|text,focus| { + if text.is_not_empty() { + focus.next(Focus::PaymentSecretConfirm); + } else { + submit = true; + } + }) + .build(ui); - TextEditor::new( - &mut this.context.payment_secret, - &mut this.focus, - Focus::PaymentSecret, - |ui, text| { - // ui.add_space(8.); - ui.label(RichText::new(i18n("Enter BIP39 passphrase")).size(12.).raised()); - ui.add_sized(editor_size, TextEdit::singleline(text) - .password(!this.context.payment_secret_show) - .vertical_align(Align::Center)) - }, - ) - .change(|_|{ - change = true; - }) - .submit(|text,focus| { - if text.is_not_empty() { - focus.next(Focus::PaymentSecretConfirm); - } else { + ui.label(""); + TextEditor::new( + &mut this.context.payment_secret_confirm, + &mut this.focus, + Focus::PaymentSecretConfirm, + |ui, text| { + ui.label(RichText::new(i18n("Confirm BIP39 passphrase")).size(12.).raised()); + ui.add_sized(editor_size, TextEdit::singleline(text) + .password(!this.context.payment_secret_show) + .vertical_align(Align::Center)) + }, + ) + .submit(|_text,_focus| { submit = true; - } - }) - .build(ui); + }) + .build(ui); - ui.label(""); - TextEditor::new( - &mut this.context.payment_secret_confirm, - &mut this.focus, - Focus::PaymentSecretConfirm, - |ui, text| { - ui.label(RichText::new(i18n("Confirm BIP39 passphrase")).size(12.).raised()); - ui.add_sized(editor_size, TextEdit::singleline(text) - .password(!this.context.payment_secret_show) - .vertical_align(Align::Center)) - }, - ) - .submit(|_text,_focus| { - submit = true; - }) - .build(ui); - - ui.label(""); - ui.checkbox(&mut this.context.payment_secret_show, i18n("Show passphrase")); - ui.label(""); + ui.label(""); + ui.checkbox(&mut this.context.payment_secret_show, i18n("Show passphrase")); + ui.label(""); - if change { - let payment_secret = this - .context - .payment_secret - .is_not_empty() - .then_some(this.context.payment_secret.clone()) - .or(this.context - .payment_secret_confirm + if change { + let payment_secret = this + .context + .payment_secret .is_not_empty() - .then_some(this.context.wallet_secret_confirm.clone()) - ); - this.context.payment_secret_score = payment_secret.map(secret_score); - } + .then_some(this.context.payment_secret.clone()) + .or(this.context + .payment_secret_confirm + .is_not_empty() + .then_some(this.context.wallet_secret_confirm.clone()) + ); + this.context.payment_secret_score = payment_secret.map(secret_score); + } - if let Some(score) = this.context.payment_secret_score { - ui.label(""); - ui.label(secret_score_to_text(score)); - if score < 80.0 { + if let Some(score) = this.context.payment_secret_score { ui.label(""); - ui.label(RichText::new(i18n("Passphrase is too weak")).color(warning_color())); - // if !core.settings.developer.password_restrictions_disabled() { - // // submit = false; - // ui.label(RichText::new(i18n("Please create a stronger passphrase")).color(egui::Color32::from_rgb(255, 120, 120))); - // } + ui.label(secret_score_to_text(score)); + if score < 80.0 { + ui.label(""); + ui.label(RichText::new(i18n("Passphrase is too weak")).color(warning_color())); + // if !core.settings.developer.password_restrictions_disabled() { + // // submit = false; + // ui.label(RichText::new(i18n("Please create a stronger passphrase")).color(egui::Color32::from_rgb(255, 120, 120))); + // } + } } - } - ui.label(""); + ui.label(""); - if this.context.payment_secret_confirm.is_not_empty() && this.context.payment_secret != this.context.payment_secret_confirm { - ui.label(" "); - ui.label(RichText::new(i18n("Passphrases do not match")).color(egui::Color32::from_rgb(255, 120, 120))); - ui.label(" "); - submit = false; - } else { - ui.label(" "); - } + if this.context.payment_secret_confirm.is_not_empty() && this.context.payment_secret != this.context.payment_secret_confirm { + ui.label(" "); + ui.label(RichText::new(i18n("Passphrases do not match")).color(egui::Color32::from_rgb(255, 120, 120))); + ui.label(" "); + submit = false; + } else { + ui.label(" "); + } - if submit { - this.state = State::CreateWalletConfirm; - this.focus.clear(); + if submit { + this.state = State::CreateWalletConfirm; + this.focus.clear(); + } } - } - }) - .with_footer(|this,ui| { + }) + .with_footer(|this,ui| { - if this.context.enable_payment_secret { - let is_weak = !core.settings.developer.password_restrictions_disabled() && this.context.payment_secret_score.unwrap_or_default() < 80.0; - let enabled = this.context.wallet_secret == this.context.wallet_secret_confirm && this.context.wallet_secret.is_not_empty(); - if ui.large_button_enabled(enabled && !is_weak, i18n("Continue")).clicked() { + if this.context.enable_payment_secret { + let is_weak = !core.settings.developer.password_restrictions_disabled() && this.context.payment_secret_score.unwrap_or_default() < 80.0; + let enabled = this.context.wallet_secret == this.context.wallet_secret_confirm && this.context.wallet_secret.is_not_empty(); + if ui.large_button_enabled(enabled && !is_weak, i18n("Continue")).clicked() { + proceed = true; + } + } else if ui.large_button_enabled(true, i18n("Skip")).clicked() { proceed = true; } - } else if ui.large_button_enabled(true, i18n("Skip")).clicked() { - proceed = true; - } - }) - .render(ui); + }) + .render(ui); + } - if proceed { - if self.context.import_private_key { - self.state = State::ImportMnemonicWithEditor; - } else { - self.state = State::CreateWalletConfirm; - } + if proceed { + if self.context.import_private_key_file { + self.state = State::ImportWallet; self.focus.clear(); - + } else if self.context.import_private_key { + self.state = State::ImportMnemonic; + } else { + self.state = State::CreateWalletConfirm; } + self.focus.clear(); + + } } @@ -724,106 +860,247 @@ impl ModuleT for WalletCreate { } State::ImportMnemonicWithEditor => { + let proceed = Self::import_mnemonic::( + &mut self.state, + &mut self.context.import_private_key_mnemonic, + &self.context.word_count, + &mut self.focus, + Focus::WalletMnemonic, + ui, + |m|{ + *m = State::KeySelection; + } + ); - let mnemonic_is_ok = Rc::new(RefCell::new(false)); - let proceed = Rc::new(RefCell::new(false)); + if proceed { + self.state = State::ImportWallet; + self.focus.clear(); + } + + } + State::ImportMnemonicInteractive => { Panel::new(self) - .with_caption(i18n("Mnemonic Import")) - .with_back(|this| { - this.state = State::KeySelection; + .with_caption(i18n("Importing Wallet File")) + .with_header(|_, ui|{ + ui.label(" "); + ui.label(i18n("Select file...")); + ui.label(" "); + ui.label(" "); + ui.add_space(64.); + ui.add(egui::Spinner::new().size(92.)); }) - .with_close_enabled(false, |_|{ + .render(ui); + + let wallet_import_result = Payload::>>::new("wallet_import_file_dialog"); + if !wallet_import_result.is_pending() { + wallet_import_result.mark_pending(); + let import_result = wallet_import_result.clone(); + let file_handle = rfd::AsyncFileDialog::new() + .add_filter("LegacyWallet", &["kpk"]) + .add_filter("GolangWallet", &["json"]) + .set_directory("/") + .pick_file(); + #[cfg(target_arch="wasm32")] + wasm_bindgen_futures::spawn_local(async move { + if let Some(file_handle) = file_handle.await{ + let file_data = file_handle.read().await; + let json = String::from_utf8_lossy(&file_data.clone()).to_string(); + log_trace!("json: {json}"); + import_result.store(Ok(Some(json))); + }else{ + import_result.store(Ok(None)); + } + }); + #[cfg(not(target_arch="wasm32"))] + spawn_with_result(&import_result, async move { + if let Some(file_handle) = file_handle.await{ + let file_data = file_handle.read().await; + let json = String::from_utf8_lossy(&file_data.clone()).to_string(); + log_trace!("json: {json}"); + Ok(Some(json)) + }else{ + Ok(None) + } + }); + } + + if let Some(result) = wallet_import_result.take() { + match result { + Ok(json) => { + if let Some(json) = json{ + match parse_wallet_file(&json){ + Ok(data)=>{ + self.context.wallet_file_data = Some(data); + self.state = State::WalletFileSecret; + } + Err(err)=>{ + log_error!("{} {}",i18n("Wallet import error:"), err); + self.state = State::WalletError(Arc::new(err), State::ImportMnemonicInteractive.into()); + } + } + }else{ + self.state = State::KeySelection; + } + } + Err(err) => { + log_error!("{} {}",i18n("Wallet import error:"), err); + self.state = State::WalletError(Arc::new(err), State::ImportMnemonicInteractive.into()); + } + } + } + } + + State::WalletFileSecret =>{ + let data = self.context.wallet_file_data.as_ref().unwrap().clone(); + Panel::new(self) + .with_caption(i18n("Wallet File Secret")) + .with_back(|this|{ + this.state = State::ImportMnemonicInteractive; + }) + .with_header(move |_this,ui| { + ui.label(" "); + ui.label(i18n("For decrypting uploaded file please enter wallet secret.")); + ui.label(" "); + }) + .with_body(|this, ui|{ + if core.settings.developer.enable { + CollapsingHeader::new(i18n("File contents")) + .default_open(false) + .show_unindented(ui, |ui| { + ui.label(data.to_string()); + ui.label(" "); + }); + } + TextEditor::new( + &mut this.context.decrypt_wallet_secret, + &mut this.focus, + Focus::DecryptWalletSecret, + |ui, text| { + ui.label(RichText::new(i18n("Enter password to decrypt this wallet file")).size(12.).raised()); + ui.add_sized(editor_size, TextEdit::singleline(text).password(true) + .vertical_align(Align::Center)) + }, + ) + .submit(|text,focus| { + if text.is_not_empty(){ + this.state = State::DecryptWalletFile; + focus.clear(); + } }) - .with_header(|this,ui| { + .build(ui); + ui.label(" "); + if ui.large_button_enabled(this.context.decrypt_wallet_secret.is_not_empty(), i18n("Decrypt")).clicked(){ + this.state = State::DecryptWalletFile; + } + ui.label(" "); + if ui.large_button(i18n("Cancel")).clicked(){ + this.state = State::Start; + this.context.decrypt_wallet_secret.zeroize(); + this.context.wallet_file_data = None; + if core.has_stack() { + core.back(); + } + } + }) + .render(ui); + } + + State::DecryptWalletFile=>{ + Panel::new(self) + .with_caption(i18n("Decrypting Wallet File")) + .with_header(|_, ui|{ + ui.label(" "); + ui.label(i18n("Please wait...")); + ui.label(" "); + ui.label(" "); ui.add_space(64.); - match this.context.word_count { - WordCount::Words12 => { - ui.label(i18n("Please enter mnemonic comprised of 12 words")); + ui.add(egui::Spinner::new().size(92.)); + }) + .render(ui); + let wallet_file_data = self.context.wallet_file_data.as_ref().unwrap().clone(); + let import_secret = Secret::from(self.context.decrypt_wallet_secret.as_str()); + let wallet_decrypt_result = Payload::>::new("wallet_file_decrypt_result"); + if !wallet_decrypt_result.is_pending() { + //let wallet = self.runtime.wallet().clone(); + spawn_with_result(&wallet_decrypt_result, async move { + sleep(Duration::from_secs(2)).await; + + match wallet_file_data{ + WalletFileData::Legacy(data)=>{ + let key_data = kaspa_wallet_core::compat::gen0::get_v0_keydata(&data, &import_secret)?; + Ok(WalletFileDecryptedData::Legacy(key_data.mnemonic.clone())) } - WordCount::Words24 => { - ui.label(i18n("Please enter mnemonic comprised of 24 words")); + WalletFileData::GoWallet(data)=>{ + let mnemonic = match data { + WalletType::SingleV0(data)=>{ + kaspa_wallet_core::compat::gen1::decrypt_mnemonic( + data.num_threads, + data.encrypted_mnemonic, + import_secret.as_ref() + )? + } + }; + Ok(WalletFileDecryptedData::Core(mnemonic)) + } + WalletFileData::Core(_data)=>{ + Err(Error::custom("Core wallet import not supported yet.")) } } }) - .with_body(|this,ui| { - let mut submit = false; - TextEditor::new( - &mut this.context.import_private_key_mnemonic, - &mut this.focus, - Focus::WalletMnemonic, - |ui, text| { - // ui.add_space(8.); - ui.label(RichText::new(i18n("Enter mnemonic")).size(12.).raised()); - let mut available_width = ui.available_width(); - if available_width > 1024. { - available_width *= 0.5; - } else if available_width > 512. { - available_width *= 0.7; - } - ui.add_sized(vec2(available_width, 64.), TextEdit::multiline(text)) - }, - ) - .submit(|_text,_focus| { - submit = true; - }) - .build(ui); + } - let phrase = this.context.import_private_key_mnemonic.as_str().split_ascii_whitespace().filter(|s| s.is_not_empty()).collect::>(); - let needed = match this.context.word_count { - WordCount::Words12 => 12, - WordCount::Words24 => 24, - } as usize; - // TODO - use comparison chain - #[allow(clippy::comparison_chain)] - if phrase.len() < needed { - ui.label(""); - ui.label(format!("{} {} {}", i18n("Please enter additional"), needed - phrase.len(), i18n("words"))); - ui.label(""); - } else if phrase.len() > needed { - ui.label(""); - ui.colored_label(error_color(), format!("{} '{}' {}", i18n("Too many words in the"), phrase.len() - needed, i18n("word mnemonic"))); - ui.label(""); - } else { - let mut phrase = phrase.join(" "); - match Mnemonic::new(phrase.as_str(), Language::default()) { - Ok(_) => { - *mnemonic_is_ok.borrow_mut() = true; - if submit { - *proceed.borrow_mut() = true; + if let Some(result) = wallet_decrypt_result.take() { + self.context.decrypt_wallet_secret.zeroize(); + match result { + Ok(wallet_file_decrypted_data) => { + match wallet_file_decrypted_data{ + WalletFileDecryptedData::Legacy(mnemonic)=>{ + self.context.word_count = WordCount::Words12; + self.context.import_legacy = true; + self.context.import_with_bip39_passphrase = false; + self.context.import_private_key_mnemonic = mnemonic; + self.state = State::WalletName; + } + WalletFileDecryptedData::Core(mnemonic)=>{ + let size = mnemonic.trim().split(' ').collect::>().len(); + match size{ + 24|12=>{ + if size == 12 { + self.context.word_count = WordCount::Words12; + }else{ + self.context.word_count = WordCount::Words24; + } + self.context.import_legacy = false; + self.context.import_with_bip39_passphrase = false; + self.context.import_private_key_mnemonic = mnemonic; + self.state = State::WalletName; + } + _=>{ + self.state = State::WalletError(Arc::new(Error::Custom(format!("Invalid mnemonic count: {size}"))), State::ImportMnemonicInteractive.into()); + } } - }, - Err(err) => { - phrase.zeroize(); - ui.label(""); - ui.label(RichText::new(format!("Error processing mnemonic; {err}")).color(error_color())); - ui.label(""); + } } } - }) - .with_footer(|_this,ui| { - if ui.large_button_enabled(*mnemonic_is_ok.borrow(), i18n("Continue")).clicked() { - *proceed.borrow_mut() = true; + Err(err) => { + log_error!("{} {}",i18n("Wallet decrypting error:"), err); + self.state = State::WalletError(Arc::new(err), State::WalletFileSecret.into()); } - }) - .render(ui); - - if *proceed.borrow() { - self.state = State::ImportWallet; - self.focus.clear(); + } } - - } - - State::ImportMnemonicInteractive => { - // TODO } State::ImportWallet => { - + let import_legacy = self.context.import_legacy; + let caption = if import_legacy { + i18n("Importing Legacy Wallet") + }else{ + i18n("Importing Wallet") + }; Panel::new(self) - .with_caption(i18n("Importing Wallet")) + .with_caption(caption) .with_header(|_, ui|{ ui.label(" "); ui.label(i18n("Please wait...")); @@ -886,14 +1163,24 @@ impl ModuleT for WalletCreate { let prv_key_data_id = wallet.clone().prv_key_data_create(wallet_secret.clone(), prv_key_data_args).await?; let mut account_descriptors = Vec::with_capacity(number_of_accounts); - for account_index in 0..number_of_accounts { - let account_create_args = AccountCreateArgs::new_bip32( - prv_key_data_id, - payment_secret.clone(), - args.account_name.is_not_empty().then_some(args.account_name.clone()), - Some(account_index as u64), - ); - account_descriptors.push(wallet.clone().accounts_create(wallet_secret.clone(), account_create_args).await?); + if import_legacy{ + for _account_index in 0..number_of_accounts { + let account_create_args = AccountCreateArgs::new_legacy( + prv_key_data_id, + args.account_name.is_not_empty().then_some(args.account_name.clone()), + ); + account_descriptors.push(wallet.clone().accounts_create(wallet_secret.clone(), account_create_args).await?); + } + }else{ + for account_index in 0..number_of_accounts { + let account_create_args = AccountCreateArgs::new_bip32( + prv_key_data_id, + payment_secret.clone(), + args.account_name.is_not_empty().then_some(args.account_name.clone()), + Some(account_index as u64), + ); + account_descriptors.push(wallet.clone().accounts_create(wallet_secret.clone(), account_create_args).await?); + } } wallet.clone().flush(wallet_secret).await?; @@ -913,12 +1200,11 @@ impl ModuleT for WalletCreate { } Err(err) => { log_error!("{} {}",i18n("Wallet creation error:"), err); - self.state = State::WalletError(Arc::new(err)); + self.state = State::WalletError(Arc::new(err), State::Start.into()); } } } } - State::CreateWalletConfirm => { // - TODO: present summary information self.state = State::CreateWallet; @@ -1001,27 +1287,26 @@ impl ModuleT for WalletCreate { } Err(err) => { log_error!("{} {}",i18n("Wallet creation error:"), err); - self.state = State::WalletError(Arc::new(err)); + self.state = State::WalletError(Arc::new(err), State::Start.into()); } } } } - - State::WalletError(err) => { - + State::WalletError(err, back_state) => { + let msg = if self.context.import_private_key || self.context.import_private_key_file{i18n("Error importing a wallet")}else{i18n("Error creating a wallet")}; Panel::new(self) - .with_caption("Error") + .with_caption(i18n("Error")) .with_header(move |this,ui| { ui.label(" "); ui.label(" "); - ui.label(RichText::new(i18n("Error creating a wallet")).color(egui::Color32::from_rgb(255, 120, 120))); + ui.label(RichText::new(msg).color(egui::Color32::from_rgb(255, 120, 120))); ui.label(RichText::new(err.to_string()).color(egui::Color32::from_rgb(255, 120, 120))); ui.label(" "); ui.label(" "); if ui.large_button(i18n("Restart")).clicked() { - this.state = State::Start; + this.state = back_state.as_ref().clone(); } }) .render(ui); @@ -1047,7 +1332,7 @@ impl ModuleT for WalletCreate { ui.label(""); }) .with_footer(|_this,ui| { - if ui.large_button_enabled(true, "Continue").clicked() { + if ui.large_button_enabled(true, i18n("Continue")).clicked() { finish = true; } }) @@ -1074,7 +1359,7 @@ impl ModuleT for WalletCreate { // TODO }) .with_footer(move |this,ui| { - if ui.add_sized(editor_size, egui::Button::new("Continue")).clicked() { + if ui.add_sized(editor_size, egui::Button::new(i18n("Continue"))).clicked() { this.state = State::Finish; } }) diff --git a/core/src/modules/wallet_open.rs b/core/src/modules/wallet_open.rs index 81d3864..c272b0e 100644 --- a/core/src/modules/wallet_open.rs +++ b/core/src/modules/wallet_open.rs @@ -160,12 +160,12 @@ impl ModuleT for WalletOpen { self.wallet_secret.zeroize(); let wallet = self.runtime.wallet().clone(); let wallet_descriptor_delegate = wallet_descriptor.clone(); + self.state = State::Unlocking { wallet_descriptor }; spawn_with_result(&unlock_result, async move { + sleep(Duration::from_secs(1)).await; wallet.wallet_open(wallet_secret, Some(wallet_descriptor_delegate.filename), true, true).await?; Ok(()) }); - - self.state = State::Unlocking { wallet_descriptor }; } } diff --git a/core/src/modules/welcome.rs b/core/src/modules/welcome.rs index 2b5956f..55ad3ab 100644 --- a/core/src/modules/welcome.rs +++ b/core/src/modules/welcome.rs @@ -94,7 +94,7 @@ impl Welcome { egui::ComboBox::from_id_source("language_selector") .selected_text(language) .show_ui(ui, |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(TextWrapMode::Extend); ui.set_min_width(60.0); dictionary.enabled_languages().into_iter().for_each(|(code,lang)| { ui.selectable_value(&mut self.settings.language_code, code.to_string(), lang); @@ -108,7 +108,7 @@ impl Welcome { egui::ComboBox::from_id_source("theme_color_selector") .selected_text(theme_color.as_str()) .show_ui(ui, |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(TextWrapMode::Extend); ui.set_min_width(60.0); theme_colors().keys().for_each(|name| { ui.selectable_value(&mut theme_color, name.to_string(), name); @@ -127,7 +127,7 @@ impl Welcome { egui::ComboBox::from_id_source("theme_style_selector") .selected_text(theme_style.as_str()) .show_ui(ui, |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(TextWrapMode::Extend); ui.set_min_width(60.0); theme_styles().keys().for_each(|name| { ui.selectable_value(&mut theme_style, name.to_string(), name); diff --git a/core/src/network.rs b/core/src/network.rs index 57a7c4f..b51e989 100644 --- a/core/src/network.rs +++ b/core/src/network.rs @@ -1,8 +1,9 @@ use crate::imports::*; +use kaspa_addresses::Prefix as AddressPrefix; use kaspa_consensus_core::config::params::Params; use kaspa_wallet_core::utxo::NetworkParams; -const BASIC_TRANSACTION_MASS: u64 = 1281; +pub const BASIC_TRANSACTION_MASS: u64 = 2036; #[derive( Default, Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash, @@ -70,6 +71,18 @@ impl From for NetworkId { } } +impl From<&Network> for AddressPrefix { + fn from(network: &Network) -> Self { + NetworkType::from(network).into() + } +} + +impl From for AddressPrefix { + fn from(network: Network) -> Self { + NetworkType::from(network).into() + } +} + impl From<&Network> for NetworkId { fn from(network: &Network) -> Self { match network { @@ -108,15 +121,15 @@ impl From<&Network> for Params { } } -impl From for NetworkParams { +impl From for &'static NetworkParams { fn from(network: Network) -> Self { - NetworkId::from(network).into() + NetworkParams::from(NetworkId::from(network)) } } -impl From<&Network> for NetworkParams { +impl From<&Network> for &'static NetworkParams { fn from(network: &Network) -> Self { - NetworkId::from(network).into() + NetworkParams::from(NetworkId::from(network)) } } @@ -154,6 +167,7 @@ const NETWORK_PRESSURE_ALPHA_HIGH: f32 = 0.8; const NETWORK_PRESSURE_ALPHA_LOW: f32 = 0.5; const NETWORK_PRESSURE_THRESHOLD_HIGH: f32 = 0.4; const NETWORK_PRESSURE_THRESHOLD_LOW: f32 = 0.2; +const NETWORK_CAPACITY_THRESHOLD: usize = 90; #[derive(Default, Debug, Clone)] pub struct NetworkPressure { @@ -210,4 +224,12 @@ impl NetworkPressure { pub fn capacity(&self) -> usize { (self.pressure * 100.0).min(100.0) as usize } + + pub fn above_capacity(&self) -> bool { + self.capacity() > NETWORK_CAPACITY_THRESHOLD + } + + pub fn below_capacity(&self) -> bool { + self.capacity() <= NETWORK_CAPACITY_THRESHOLD + } } diff --git a/core/src/primitives/account.rs b/core/src/primitives/account.rs index 5534818..5d85f42 100644 --- a/core/src/primitives/account.rs +++ b/core/src/primitives/account.rs @@ -47,6 +47,7 @@ struct Inner { context: Mutex>>, transactions: Mutex, total_transaction_count: AtomicU64, + transaction_start: AtomicU64, is_loading: AtomicBool, network: Mutex, } @@ -62,6 +63,7 @@ impl Inner { context: Mutex::new(context), transactions: Mutex::new(TransactionCollection::default()), total_transaction_count: AtomicU64::new(0), + transaction_start: AtomicU64::new(0), is_loading: AtomicBool::new(true), network: Mutex::new(network), } @@ -164,6 +166,10 @@ impl Account { *self.inner.network.lock().unwrap() = network; } + pub fn network(&self) -> Network { + *self.inner.network.lock().unwrap() + } + pub fn set_loading(&self, is_loading: bool) { self.inner.is_loading.store(is_loading, Ordering::SeqCst); } @@ -182,15 +188,29 @@ impl Account { self.inner.total_transaction_count.load(Ordering::SeqCst) } + pub fn set_transaction_start(&self, start: u64) { + self.inner.transaction_start.store(start, Ordering::SeqCst); + } + + pub fn transaction_start(&self) -> u64 { + self.inner.transaction_start.load(Ordering::SeqCst) + } + pub fn load_transactions( &self, mut transactions: Vec>, total: u64, ) -> Result<()> { - // TODO - pagination self.transactions().clear(); - transactions.sort_by(|a, b| b.block_daa_score.cmp(&a.block_daa_score)); + transactions.sort_by(|a, b| { + if let Some(b_ts) = b.unixtime_msec { + if let Some(a_ts) = a.unixtime_msec { + return b_ts.cmp(&a_ts); + } + } + b.block_daa_score.cmp(&a.block_daa_score) + }); self.set_transaction_count(total); self.transactions() diff --git a/core/src/primitives/descriptor.rs b/core/src/primitives/descriptor.rs index 952509b..1e2d02d 100644 --- a/core/src/primitives/descriptor.rs +++ b/core/src/primitives/descriptor.rs @@ -1,64 +1,180 @@ use crate::imports::*; +use crate::primitives::transaction::paint_header_icon; use convert_case::{Case, Casing}; -fn grid(ui: &mut Ui, id: &AccountId, add_contents: impl FnOnce(&mut Ui)) { - CollapsingHeader::new(id.to_string()) - .default_open(true) - .show(ui, |ui| { - Grid::new("bip32_descriptor") - .num_columns(2) - .spacing([20.0, 4.0]) - .show(ui, |ui| { - add_contents(ui); - }); - }); -} +// fn grid(ui: &mut Ui, id: &AccountId, add_contents: impl FnOnce(&mut Ui)) { +// CollapsingHeader::new(id.to_string()) +// .default_open(true) +// .show(ui, |ui| { +// Grid::new("bip32_descriptor") +// .num_columns(3) +// .spacing([20.0, 4.0]) +// .show(ui, |ui| { +// add_contents(ui); +// }); +// }); +// } pub trait RenderAccountDescriptor { - fn render(&self, ui: &mut Ui); + fn render(&self, ui: &mut Ui, network: Network); } impl RenderAccountDescriptor for AccountDescriptor { - fn render(&self, ui: &mut Ui) { - grid(ui, &self.account_id, |ui| { - let color = strong_color(); + fn render(&self, ui: &mut Ui, network: Network) { + let collapsing_header = CollapsingHeader::new(self.account_id.to_string()) + .id_source("bip32_descriptor") + .icon(paint_header_icon) + .default_open(true); + + collapsing_header.show(ui, |ui| { + let default_color = theme_color().default_color; + let color = theme_color().strong_color; + + let explorer = match network { + Network::Mainnet => MAINNET_EXPLORER, + Network::Testnet10 => TESTNET10_EXPLORER, + Network::Testnet11 => TESTNET11_EXPLORER, + }; + let pixels_per_point = ui.ctx().pixels_per_point(); + let one_char_width = ui + .painter() + .layout_no_wrap('x'.to_string(), Default::default(), color) + .size() + .x; + let heading_width = one_char_width * 18.0; + let width = ui.available_width() / pixels_per_point; + let content = LayoutJobBuilderSettings::new(width, 8.0, None); + ljb(&content) + .heading(ui, heading_width, i18n("Account Name"), default_color) + .text( + self.account_name.as_ref().unwrap_or(&"...".to_string()), + color, + ) + .label(ui); + ljb(&content) + .heading(ui, heading_width, i18n("Type"), default_color) + .text( + &self.account_kind().as_ref().to_case(Case::UpperCamel), + color, + ) + .label(ui); - ui.label(i18n("Account Name")); - ui.colored_label( - color, - self.account_name.as_ref().unwrap_or(&"...".to_string()), - ); - ui.end_row(); - ui.label(i18n("Type")); - ui.colored_label( - color, - self.account_kind().as_ref().to_case(Case::UpperCamel), - ); - ui.end_row(); - ui.label(i18n("Receive Address")); - ui.colored_label( - color, - self.receive_address - .as_ref() - .map(String::from) - .unwrap_or("N/A".to_string()), - ); - ui.end_row(); - ui.label(i18n("Change Address")); - ui.colored_label( - color, - self.change_address - .as_ref() - .map(String::from) - .unwrap_or("N/A".to_string()), - ); - ui.end_row(); + let job = + ljb(&content).heading(ui, heading_width, i18n("Receive Address"), default_color); + match self.receive_address.as_ref() { + Some(address) => { + job.address( + ui, + &address.to_string(), + &format!("{explorer}/addresses/{address}"), + color, + Some(6), + ); + } + None => { + job.text("N/A", color).label(ui); + } + } + + let job = + ljb(&content).heading(ui, heading_width, i18n("Change Address"), default_color); + match self.change_address.as_ref() { + Some(address) => { + job.address( + ui, + &address.to_string(), + &format!("{explorer}/addresses/{address}"), + color, + Some(6), + ); + } + None => { + job.text("N/A", color).label(ui); + } + } for (prop, value) in self.properties.iter() { - ui.label(i18n(prop.to_string().as_str())); - ui.colored_label(color, value.to_string()); - ui.end_row(); + let text = value.to_string(); + let job = ljb(&content).heading( + ui, + heading_width, + i18n(prop.to_string().as_str()), + default_color, + ); + + if text.len() > 20 { + job.text(&format_partial_string(&text, Some(10)), color) + .with_clipboard_icon(ui, &text); + } else { + job.text(&text, color).label(ui); + } } + + //grid(ui, &self.account_id, |ui| { + + // ui.label(i18n("Account Name")); + // ui.colored_label( + // color, + // self.account_name.as_ref().unwrap_or(&"...".to_string()), + // ); + // ui.label(""); + // ui.end_row(); + // ui.label(i18n("Type")); + // ui.colored_label( + // color, + // self.account_kind().as_ref().to_case(Case::UpperCamel), + // ); + // ui.label(""); + // ui.end_row(); + //ui.label(i18n("Receive Address")); + + // match self.receive_address.as_ref(){ + // Some(address)=>{ + // ui.hyperlink_to_tab( + // RichText::new(format_address(address, None)) + // //.font(self.font_id.unwrap_or_default()) + // .color(color), + // &format!("{explorer}/addresses/{address}"), + // ); + // ui.label("xxxx"); + // //LayoutJobBuilder::clipboard_icon(&mut ui[1], address.to_string()); + // } + // None=>{ + // ui.colored_label( + // color, + // "N/A".to_string() + // ); + // } + // } + + // ui.end_row(); + // ui.label(i18n("Change Address")); + // match self.change_address.as_ref(){ + // Some(address)=>{ + // ui.hyperlink_to_tab( + // RichText::new(format_address(address, None)) + // //.font(self.font_id.unwrap_or_default()) + // .color(color), + // &format!("{explorer}/addresses/{address}"), + // ); + // LayoutJobBuilder::clipboard_icon(ui, address.to_string()); + // } + // None=>{ + // ui.colored_label( + // color, + // "N/A".to_string() + // ); + // } + // } + + // ui.end_row(); + + // for (prop, value) in self.properties.iter() { + // ui.label(i18n(prop.to_string().as_str())); + // ui.colored_label(color, value.to_string()); + // ui.label(""); + // ui.end_row(); + // } }); } } diff --git a/core/src/primitives/transaction.rs b/core/src/primitives/transaction.rs index f51d9bd..013d9cb 100644 --- a/core/src/primitives/transaction.rs +++ b/core/src/primitives/transaction.rs @@ -1,6 +1,7 @@ use crate::imports::*; use egui_phosphor::light::*; use kaspa_consensus_core::tx::{TransactionInput, TransactionOutpoint, TransactionOutput}; +use kaspa_txscript::standard::extract_script_pub_key_address; use kaspa_wallet_core::storage::{ transaction::{TransactionData, UtxoRecord}, TransactionKind, @@ -126,11 +127,17 @@ impl Transaction { &self, ui: &mut Ui, network_type: NetworkType, + network: Network, current_daa_score: Option, _include_utxos: bool, largest: Option, ) { let width = ui.available_width() / ui.ctx().pixels_per_point(); + let w_min = 250.0; + let w_span = 196.0; + let w_range = 32.0; + // println!("width: {} {} {}", width,((width - w_min) / w_span),(((width - w_min) / w_span) * w_range).max(16.0)); + let padding_range = Some((((width - w_min) / w_span) * w_range).max(16.0) as usize); let Context { record, maturity } = &*self.context(); @@ -161,6 +168,12 @@ impl Transaction { let is_transfer = record.is_transfer(); + let explorer = match network { + Network::Mainnet => MAINNET_EXPLORER, + Network::Testnet10 => TESTNET10_EXPLORER, + Network::Testnet11 => TESTNET11_EXPLORER, + }; + match record.transaction_data() { TransactionData::Reorg { utxo_entries, .. } | TransactionData::Stasis { utxo_entries, .. } @@ -256,8 +269,13 @@ impl Transaction { collapsing_header.show(ui, |ui| { ljb(&content) .padded(15, "Transaction id:", default_color) - .text(&transaction_id, default_color) - .label(ui); + .transaction_id( + ui, + &transaction_id, + &format!("{explorer}/txs/{transaction_id}"), + default_color, + padding_range, + ); ljb(&content) .padded(15, "Received at:", default_color) @@ -277,7 +295,13 @@ impl Transaction { .map(|addr| addr.to_string()) .unwrap_or_else(|| "n/a".to_string()); - ljb(&content).text(&address, default_color).label(ui); + ljb(&content).address( + ui, + &address, + &format!("{explorer}/addresses/{address}"), + default_color, + padding_range, + ); if *is_coinbase { ljb(&content) @@ -289,12 +313,19 @@ impl Transaction { .label(ui); } - ljb(&content) - .text( - &format!("Script: {}", script_public_key.script_as_hex()), - default_color, - ) - .label(ui); + ljb(&content).text("Script:", default_color).script( + ui, + &script_public_key.script_as_hex(), + default_color, + padding_range, + ); + + // ljb(&content) + // .text( + // &format!("Script: {}", script_public_key.script_as_hex()), + // default_color, + // ) + // .label(ui); }); }); } @@ -414,11 +445,14 @@ impl Transaction { } collapsing_header.show(ui, |ui| { ljb(&content) - .text( - &format!("{}: {}", "Transaction id", transaction_id), + .padded(15, "Transaction id:", default_color) + .transaction_id( + ui, + &transaction_id, + &format!("{explorer}/txs/{transaction_id}"), default_color, - ) - .label(ui); + padding_range, + ); ljb(&content) .padded(15, "Submitted at:", default_color) @@ -475,16 +509,16 @@ impl Transaction { transaction_id, index, } = previous_outpoint; - + let transaction_id = transaction_id.to_string(); ljb(&content) .text( &format!( " {sequence:>2}: {}:{index} SigOps: {sig_op_count}", - transaction_id + format_partial_string(&transaction_id, padding_range) ), default_color, ) - .label(ui); + .with_clipboard_icon(ui, &transaction_id); } ljb(&content) @@ -494,22 +528,53 @@ impl Transaction { ) .label(ui); + let address_prefix: kaspa_addresses::Prefix = network.into(); + for output in transaction.outputs.iter() { let TransactionOutput { value, - script_public_key, + .. + //script_public_key, } = output; ljb(&content) - .text( - &format!( - " {} {}", - ps2k(*value), - script_public_key.script_as_hex() - ), - default_color, - ) + .text(&format!(" {}", ps2k(*value)), default_color) .label(ui); + + // ljb(&content) + // .text(&format!(" {}", script_public_key.script_as_hex()), default_color) + // .label(ui); + + let address_info = extract_script_pub_key_address( + &output.script_public_key, + address_prefix, + ); + match address_info { + Ok(address) => { + let address = address.to_string(); + ljb(&content).padded(2, "", default_color).address( + ui, + &address, + &format!("{explorer}/addresses/{address}"), + default_color, + padding_range, + ); + } + Err(err) => { + log_info!("scriptpubkey to address error: {:?}", err) + } + } + + // ljb(&content) + // .text( + // &format!( + // " {} {}", + // ps2k(*value), + // script_public_key.script_as_hex() + // ), + // default_color, + // ) + // .label(ui); } }); } diff --git a/core/src/runtime/mod.rs b/core/src/runtime/mod.rs index 11a9eab..9929f93 100644 --- a/core/src/runtime/mod.rs +++ b/core/src/runtime/mod.rs @@ -35,6 +35,7 @@ pub struct Inner { kaspa: Arc, peer_monitor_service: Arc, + feerate_monitor_service: Arc, update_monitor_service: Arc, market_monitor_service: Arc, @@ -75,6 +76,10 @@ impl Runtime { application_events.clone(), settings, )); + let feerate_monitor_service = Arc::new(FeerateMonitorService::new( + application_events.clone(), + settings, + )); let market_monitor_service = Arc::new(MarketMonitorService::new( application_events.clone(), settings, @@ -104,6 +109,7 @@ impl Runtime { repaint_service.clone(), kaspa.clone(), peer_monitor_service.clone(), + feerate_monitor_service.clone(), market_monitor_service.clone(), update_monitor_service.clone(), // #[cfg(not(feature = "lean"))] @@ -118,6 +124,7 @@ impl Runtime { application_events, repaint_service, kaspa, + feerate_monitor_service, peer_monitor_service, market_monitor_service, update_monitor_service, @@ -227,6 +234,10 @@ impl Runtime { &self.inner.kaspa } + pub fn feerate_monitor_service(&self) -> &Arc { + &self.inner.feerate_monitor_service + } + pub fn peer_monitor_service(&self) -> &Arc { &self.inner.peer_monitor_service } diff --git a/core/src/runtime/panic.rs b/core/src/runtime/panic.rs index 45d3e05..17a8e83 100644 --- a/core/src/runtime/panic.rs +++ b/core/src/runtime/panic.rs @@ -1,17 +1,20 @@ +use std::backtrace::Backtrace; use std::fs; use std::panic; -use std::backtrace::Backtrace; +use workflow_core::dirs; pub fn init_graceful_panic_handler() { let default_hook = panic::take_hook(); panic::set_hook(Box::new(move |panic_info| { let backtrace = Backtrace::capture(); // println!("panic! \n{:#?}\n{:#?}", panic_info, backtrace); - let _ = fs::write("kaspa-ng.log", format!("{:#?}\n{:#?}", panic_info, backtrace)); - println!("An unexpected condition (panic) has occurred. Additional information has been written to `kaspa-ng.log`"); + let _ = fs::write( + dirs::home_dir().unwrap_or_default().join("kaspa-ng.log"), + format!("{:#?}\n{:#?}", panic_info, backtrace), + ); + println!("An unexpected condition (panic) has occurred. Additional information has been written to `~/kaspa-ng.log`"); default_hook(panic_info); crate::runtime::abort(); - })); } @@ -19,9 +22,14 @@ pub fn init_ungraceful_panic_handler() { let default_hook = panic::take_hook(); panic::set_hook(Box::new(move |panic_info| { let backtrace = Backtrace::capture(); - let _ = fs::write("kaspa-ng-service.log", format!("{:#?}\n{:#?}", panic_info, backtrace)); + let _ = fs::write( + dirs::home_dir() + .unwrap_or_default() + .join("kaspa-ng-service.log"), + format!("{:#?}\n{:#?}", panic_info, backtrace), + ); default_hook(panic_info); - println!("An unexpected condition (panic) has occurred. Additional information has been written to `kaspa-ng-service.log`"); + println!("An unexpected condition (panic) has occurred. Additional information has been written to `~/kaspa-ng-service.log`"); println!("Exiting..."); std::process::exit(1); })); diff --git a/core/src/runtime/services/feerate_monitor.rs b/core/src/runtime/services/feerate_monitor.rs new file mode 100644 index 0000000..56dcf23 --- /dev/null +++ b/core/src/runtime/services/feerate_monitor.rs @@ -0,0 +1,157 @@ +use crate::imports::*; + +// pub const FEERATE_POLLING_INTERVAL_SECONDS: u64 = 10; +pub const FEERATE_POLLING_INTERVAL_SECONDS: u64 = 3; + +pub enum FeerateMonitorEvents { + Enable, + Disable, + Fetch, + Exit, +} + +pub struct FeerateMonitorService { + pub application_events: ApplicationEventsChannel, + pub service_events: Channel, + pub task_ctl: Channel<()>, + pub rpc_api: Mutex>>, + // pub feerate: Mutex>>, + pub is_enabled: Arc, +} + +impl FeerateMonitorService { + pub fn new(application_events: ApplicationEventsChannel, _settings: &Settings) -> Self { + Self { + application_events, + service_events: Channel::unbounded(), + task_ctl: Channel::oneshot(), + rpc_api: Mutex::new(None), + // feerate: Mutex::new(None), + is_enabled: Arc::new(AtomicBool::new(true)), + } + } + + pub fn rpc_api(&self) -> Option> { + self.rpc_api.lock().unwrap().clone() + } + + // pub fn peer_info(&self) -> Option>> { + // self.peer_info.lock().unwrap().clone() + // } + + pub fn enable(&self) { + self.service_events + .sender + .try_send(FeerateMonitorEvents::Enable) + .unwrap(); + } + + pub fn disable(&self) { + self.service_events + .sender + .try_send(FeerateMonitorEvents::Disable) + .unwrap(); + } + + async fn fetch(self: &Arc) -> Result<()> { + if let Some(rpc_api) = self.rpc_api() { + if let Ok(resp) = rpc_api.get_fee_estimate().await { + // println!("{}",resp.priority_bucket.feerate); + // let feerate = Arc::new(resp); + // self.feerate.lock().unwrap().replace(feerate.clone()); + self.application_events + .send(Events::Feerate { + feerate: Some(Arc::new(resp)), + }) + .await + .unwrap(); + } + } + + Ok(()) + } + + async fn clear(&self) { + self.application_events + .send(Events::Feerate { feerate: None }) + .await + .unwrap(); + } +} + +#[async_trait] +impl Service for FeerateMonitorService { + fn name(&self) -> &'static str { + "feerate-monitor" + } + + async fn attach_rpc(self: Arc, rpc_api: &Arc) -> Result<()> { + self.rpc_api.lock().unwrap().replace(rpc_api.clone()); + Ok(()) + } + + async fn detach_rpc(self: Arc) -> Result<()> { + self.rpc_api.lock().unwrap().take(); + self.clear().await; + + Ok(()) + } + + async fn spawn(self: Arc) -> Result<()> { + // let this = self.clone(); + // let application_events_sender = self.application_events.sender.clone(); + + let interval = task::interval(Duration::from_secs(FEERATE_POLLING_INTERVAL_SECONDS)); + pin_mut!(interval); + + loop { + select! { + _ = interval.next().fuse() => { + if !self.is_enabled.load(Ordering::Relaxed) { + continue; + } + + self.fetch().await.unwrap(); + }, + msg = self.as_ref().service_events.receiver.recv().fuse() => { + if let Ok(event) = msg { + match event { + FeerateMonitorEvents::Fetch => { + self.fetch().await.unwrap(); + } + FeerateMonitorEvents::Enable => { + self.is_enabled.store(true, Ordering::Relaxed); + self.fetch().await.unwrap(); + } + FeerateMonitorEvents::Disable => { + self.is_enabled.store(false, Ordering::Relaxed); + // self.feerate.lock().unwrap().take(); + self.clear().await; + } + FeerateMonitorEvents::Exit => { + break; + } + } + } else { + break; + } + } + } + } + + self.task_ctl.send(()).await.unwrap(); + Ok(()) + } + + fn terminate(self: Arc) { + self.service_events + .sender + .try_send(FeerateMonitorEvents::Exit) + .unwrap(); + } + + async fn join(self: Arc) -> Result<()> { + self.task_ctl.recv().await.unwrap(); + Ok(()) + } +} diff --git a/core/src/runtime/services/kaspa/config.rs b/core/src/runtime/services/kaspa/config.rs index 7aa3b4a..4522f44 100644 --- a/core/src/runtime/services/kaspa/config.rs +++ b/core/src/runtime/services/kaspa/config.rs @@ -25,6 +25,9 @@ fn user_agent() -> String { pub struct Config { network: Network, enable_upnp: bool, + enable_wrpc_borsh: bool, + #[allow(dead_code)] + enable_wrpc_json: bool, enable_grpc: bool, grpc_network_interface: NetworkInterfaceConfig, kaspad_daemon_args_enable: bool, @@ -39,6 +42,8 @@ impl From for Config { Self { network: node_settings.network, enable_upnp: node_settings.enable_upnp, + enable_wrpc_borsh: node_settings.enable_wrpc_borsh, + enable_wrpc_json: node_settings.enable_wrpc_json, enable_grpc: node_settings.enable_grpc, grpc_network_interface: node_settings.grpc_network_interface, kaspad_daemon_args_enable: node_settings.kaspad_daemon_args_enable, @@ -125,7 +130,11 @@ cfg_if! { args.push("--nogrpc"); } - args.push("--rpclisten-borsh=default"); + if config.enable_wrpc_borsh { + args.push("--rpclisten-borsh=0.0.0.0"); + } else { + args.push("--rpclisten-borsh=127.0.0.1"); + } args.push(format!("--uacomment={}", user_agent_comment())); diff --git a/core/src/runtime/services/kaspa/mod.rs b/core/src/runtime/services/kaspa/mod.rs index e91ce51..559445f 100644 --- a/core/src/runtime/services/kaspa/mod.rs +++ b/core/src/runtime/services/kaspa/mod.rs @@ -7,6 +7,7 @@ use kaspa_wallet_core::events::Events as CoreWalletEvents; use kaspa_wallet_core::rpc::{ ConnectOptions, ConnectStrategy, NotificationMode, Rpc, RpcCtl, WrpcEncoding, }; +use kaspa_wrpc_client::Resolver; use workflow_core::runtime; const ENABLE_PREEMPTIVE_DISCONNECT: bool = true; @@ -43,6 +44,7 @@ cfg_if! { pub enum KaspadServiceEvents { StartInternalInProc { config: Config, network : Network }, StartInternalAsDaemon { config: Config, network : Network }, + StartInternalAsPassiveSync { config: Config, network : Network }, StartExternalAsDaemon { path: PathBuf, config: Config, network : Network }, StartRemoteConnection { rpc_config : RpcConfig, network : Network }, Stdout { line : String }, @@ -157,18 +159,35 @@ impl KaspaService { pub fn create_rpc_client(config: &RpcConfig, network: Network) -> Result { match config { - RpcConfig::Wrpc { url, encoding } => { - // log_warn!("create_rpc_client - RPC URL: {:?}", url); + RpcConfig::Wrpc { + url, + encoding, + resolver_urls, + } => { + let resolver_or_none = match url { + Some(_) => None, + None => { + if resolver_urls.is_none() { + Some(Resolver::default()) + } else { + Some(Resolver::new(resolver_urls.clone(), false)) + } + } + }; + let url = url.clone().unwrap_or_else(|| "127.0.0.1".to_string()); let url = KaspaRpcClient::parse_url(url, *encoding, NetworkId::from(network).into())?; let wrpc_client = Arc::new(KaspaRpcClient::new_with_args( *encoding, - Some(url.as_str()), - // TODO: introduce resolver for public node resolution - None, - None, + if resolver_or_none.is_some() { + None + } else { + Some(url.as_str()) + }, + resolver_or_none, + Some(NetworkId::from(network)), None, )?); let rpc_ctl = wrpc_client.ctl().clone(); @@ -366,6 +385,9 @@ impl KaspaService { .connect_call(ConnectRequest { url: None, network_id: network.into(), + retry_on_error: true, + block_async_connect: false, + require_sync: false, }) .await?; @@ -478,9 +500,33 @@ impl KaspaService { self.retain(kaspad.clone()); kaspad.clone().start(config).await.unwrap(); + let rpc_config = RpcConfig::Wrpc { + url: Some("127.0.0.1".to_string()), + encoding: WrpcEncoding::Borsh, + resolver_urls: None, + }; + + let rpc = Self::create_rpc_client(&rpc_config, network) + .expect("Kaspad Service - unable to create wRPC client"); + self.start_all_services(Some(rpc), network).await?; + self.connect_rpc_client().await?; + + self.update_storage(); + } + #[cfg(not(target_arch = "wasm32"))] + KaspadServiceEvents::StartInternalAsPassiveSync { config, network } => { + self.stop_all_services().await?; + + self.handle_network_change(network).await?; + + let kaspad = Arc::new(daemon::Daemon::new(None, &self.service_events)); + self.retain(kaspad.clone()); + kaspad.clone().start(config).await.unwrap(); + let rpc_config = RpcConfig::Wrpc { url: None, encoding: WrpcEncoding::Borsh, + resolver_urls: None, }; let rpc = Self::create_rpc_client(&rpc_config, network) @@ -508,6 +554,7 @@ impl KaspaService { let rpc_config = RpcConfig::Wrpc { url: None, encoding: WrpcEncoding::Borsh, + resolver_urls: None, }; let rpc = Self::create_rpc_client(&rpc_config, network) @@ -581,6 +628,8 @@ impl KaspaService { CoreWalletEvents::DaaScoreChange { .. } => {} CoreWalletEvents::Connect { .. } => { self.connect_all_services().await?; + + // self.wallet(). } CoreWalletEvents::Disconnect { .. } => { self.disconnect_all_services().await?; @@ -733,7 +782,7 @@ impl Service for KaspaService { // new instance - setup new context let context = Context {}; self.wallet() - .retain_context("kaspa-ng", Some(context.try_to_vec()?)) + .retain_context("kaspa-ng", Some(borsh::to_vec(&context)?)) .await?; } } else { @@ -838,6 +887,9 @@ impl KaspadServiceEvents { KaspadNodeKind::IntegratedAsDaemon => { Ok(KaspadServiceEvents::StartInternalAsDaemon { config : Config::from(node_settings.clone()), network : node_settings.network }) } + KaspadNodeKind::IntegratedAsPassiveSync => { + Ok(KaspadServiceEvents::StartInternalAsPassiveSync { config : Config::from(node_settings.clone()), network : node_settings.network }) + } KaspadNodeKind::ExternalAsDaemon => { let path = node_settings.kaspad_daemon_binary.clone(); Ok(KaspadServiceEvents::StartExternalAsDaemon { path : PathBuf::from(path), config : Config::from(node_settings.clone()), network : node_settings.network }) diff --git a/core/src/runtime/services/metrics_monitor.rs b/core/src/runtime/services/metrics_monitor.rs index 711d19a..0528667 100644 --- a/core/src/runtime/services/metrics_monitor.rs +++ b/core/src/runtime/services/metrics_monitor.rs @@ -2,6 +2,7 @@ use crate::imports::*; use crate::runtime::Service; pub use futures::{future::FutureExt, select, Future}; use kaspa_metrics_core::{Metric, Metrics, MetricsSnapshot}; +use kaspa_rpc_core::GetSystemInfoResponse; #[allow(unused_imports)] use kaspa_wallet_core::rpc::{NotificationMode, Rpc, RpcCtl, WrpcEncoding}; @@ -14,13 +15,13 @@ pub struct MetricsService { pub metrics: Arc, pub metrics_data: Mutex>>, pub samples_since_connection: Arc, + pub rpc_api: Mutex>>, } impl MetricsService { pub fn new(application_events: ApplicationEventsChannel, _settings: &Settings) -> Self { let metrics = Arc::new(Metrics::default()); - let metrics_data = Metric::list() - .into_iter() + let metrics_data = Metric::into_iter() .map(|metric| (metric, Vec::new())) .collect::>>(); @@ -30,9 +31,14 @@ impl MetricsService { metrics, metrics_data: Mutex::new(metrics_data), samples_since_connection: Arc::new(AtomicUsize::new(0)), + rpc_api: Mutex::new(None), } } + pub fn rpc_api(&self) -> Option> { + self.rpc_api.lock().unwrap().clone() + } + pub fn metrics_data(&self) -> MutexGuard<'_, HashMap>> { self.metrics_data.lock().unwrap() } @@ -43,7 +49,7 @@ impl MetricsService { pub fn reset_metrics_data(&self) -> Result<()> { let mut metrics_data = self.metrics_data.lock().unwrap(); - for metric in Metric::list().into_iter() { + for metric in Metric::into_iter() { metrics_data.insert(metric, Vec::with_capacity(MAX_METRICS_SAMPLES)); } Ok(()) @@ -52,9 +58,12 @@ impl MetricsService { pub fn ingest_metrics_snapshot(&self, snapshot: Box) -> Result<()> { let timestamp = snapshot.unixtime_millis; let mut metrics_data = self.metrics_data.lock().unwrap(); - for metric in Metric::list().into_iter() { + for metric in Metric::into_iter() { let dest = metrics_data.get_mut(&metric).unwrap(); if dest.is_empty() { + if snapshot.duration_millis < 0.0 { + continue; + } let y = snapshot.get(&metric); let mut timestamp = timestamp - MAX_METRICS_SAMPLES as f64 * 1000.0; for _ in 0..(MAX_METRICS_SAMPLES - 1) { @@ -66,10 +75,16 @@ impl MetricsService { if dest.len() > MAX_METRICS_SAMPLES { dest.drain(0..dest.len() - MAX_METRICS_SAMPLES); } - dest.push(PlotPoint { - x: timestamp, - y: snapshot.get(&metric), - }); + + let y = snapshot.get(&metric); + if y.is_finite() { + dest.push(PlotPoint { x: timestamp, y }); + } else { + dest.push(PlotPoint { + x: timestamp, + y: 0.0, + }); + } } if snapshot.node_cpu_cores > 0.0 { @@ -103,6 +118,8 @@ impl Service for MetricsService { } async fn attach_rpc(self: Arc, rpc_api: &Arc) -> Result<()> { + self.rpc_api.lock().unwrap().replace(rpc_api.clone()); + let this = self.clone(); self.metrics .register_sink(Arc::new(Box::new(move |snapshot: MetricsSnapshot| { @@ -118,6 +135,8 @@ impl Service for MetricsService { Ok(()) } async fn detach_rpc(self: Arc) -> Result<()> { + self.rpc_api.lock().unwrap().take(); + self.metrics.unregister_sink(); self.metrics.stop_task().await?; self.metrics.bind_rpc(None); @@ -127,6 +146,34 @@ impl Service for MetricsService { async fn connect_rpc(self: Arc) -> Result<()> { self.samples_since_connection.store(0, Ordering::SeqCst); + + if let Some(rpc_api) = self.rpc_api() { + if let Ok(system_info) = rpc_api.get_system_info().await { + let GetSystemInfoResponse { + version, system_id, .. + } = system_info; + + let system_id = system_id + .map(|id| format!(" - {}", id[0..8].to_vec().to_hex())) + .unwrap_or_else(|| "".to_string()); + + self.application_events + .sender + .try_send(crate::events::Events::NodeInfo { + node_info: Some(Box::new(format!("{}{}", version, system_id))), + }) + .unwrap(); + } + } + + Ok(()) + } + + async fn disconnect_rpc(self: Arc) -> Result<()> { + self.application_events + .sender + .try_send(crate::events::Events::NodeInfo { node_info: None }) + .unwrap(); Ok(()) } diff --git a/core/src/runtime/services/mod.rs b/core/src/runtime/services/mod.rs index 4b9e0e6..fdf871e 100644 --- a/core/src/runtime/services/mod.rs +++ b/core/src/runtime/services/mod.rs @@ -9,6 +9,9 @@ pub use kaspa::KaspaService; pub mod peer_monitor; pub use peer_monitor::PeerMonitorService; +pub mod feerate_monitor; +pub use feerate_monitor::FeerateMonitorService; + pub mod market_monitor; pub use market_monitor::MarketMonitorService; diff --git a/core/src/servers.rs b/core/src/servers.rs index 21248d1..2a08721 100644 --- a/core/src/servers.rs +++ b/core/src/servers.rs @@ -1,55 +1,49 @@ +use kaspa_wrpc_client::Resolver; + use crate::imports::*; type ServerCollection = Arc>>>>; pub fn public_server_config() -> &'static ServerCollection { static SERVERS: OnceLock = OnceLock::new(); - SERVERS.get_or_init(|| Arc::new(Mutex::new(parse_default_servers().clone()))) + SERVERS.get_or_init(|| Arc::new(Mutex::new(HashMap::new().into()))) } #[derive(Clone, Debug, Serialize, Deserialize)] pub struct Server { - pub name: Option, - pub ident: Option, - pub location: Option, - pub protocol: WrpcEncoding, - pub address: String, - pub enable: Option, - pub link: Option, + pub id: String, + pub url: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub provider_name: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub provider_url: Option, + pub encoding: WrpcEncoding, pub network: Network, - pub bias: Option, - pub manual: Option, - pub version: Option, + pub online: bool, + pub status: String, } impl Eq for Server {} impl PartialEq for Server { fn eq(&self, other: &Self) -> bool { - self.address == other.address + self.url == other.url } } impl std::fmt::Display for Server { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - let mut title = self.name.clone().unwrap_or(self.address.to_string()); - if let Some(ident) = self.ident.as_ref() { - title += format!(" ({ident})").as_str(); - } else if let Some(location) = self.location.as_ref() { - title += format!(" ({location})").as_str(); - } - - write!(f, "{}", title) + write!(f, "{} - {}", self.id, self.url) } } impl Server { pub fn address(&self) -> String { - self.address.clone() + self.url.clone() } pub fn wrpc_encoding(&self) -> WrpcEncoding { - self.protocol + self.encoding } } @@ -58,41 +52,6 @@ pub struct ServerConfig { server: Vec, } -fn try_parse_servers(toml: &str) -> Result>>> { - let servers: Vec = toml::from_str::(toml)? - .server - .into_iter() - .filter(|server| server.enable.unwrap_or(true)) - .collect::>(); - - let servers = HashMap::group_from(servers.into_iter().map(|server| (server.network, server))); - - Ok(servers.into()) -} - -// fn parse_servers(toml: &str) -> Arc> { -fn parse_servers(toml: &str) -> Arc>> { - match try_parse_servers(toml) { - Ok(servers) => servers, - Err(e) => { - cfg_if! { - if #[cfg(not(target_arch = "wasm32"))] { - println!(); - panic!("Error parsing Servers.toml: {}", e); - } else { - log_error!("Error parsing Servers.toml: {}", e); - HashMap::default().into() - } - } - } - } -} - -pub fn parse_default_servers() -> &'static Arc>> { - static EMBEDDED_SERVERS: OnceLock>>> = OnceLock::new(); - EMBEDDED_SERVERS.get_or_init(|| parse_servers(include_str!("../resources/Servers.toml"))) -} - pub fn update_public_servers() { spawn(async move { let servers = fetch_public_servers().await?; @@ -102,28 +61,33 @@ pub fn update_public_servers() { } pub fn load_public_servers() { - parse_default_servers(); update_public_servers(); } -async fn fetch_public_servers() -> Result>>> { - cfg_if! { - if #[cfg(all(target_arch = "wasm32", not(feature = "browser-extension")))] { - let href = location()?.href()?; - let location = if let Some(index) = href.find('#') { - let (location, _) = href.split_at(index); - location.to_string() - } else { - href - }; - let url = format!("{}/Servers.toml", location.trim_end_matches('/')); - let servers_toml = http::get(url).await?; - try_parse_servers(&servers_toml) - } else { - // TODO - parse local Servers.toml file - Ok(parse_default_servers().clone()) +async fn get_server_list() -> Result> { + // Get all resolver urls + if let Some(resolvers) = Resolver::default().urls() { + // Try to connect to each resolver + for resolver in resolvers { + // Retrieve server list + let server_list = + workflow_http::get_json::>(format!("{}/status", resolver)).await; + if server_list.is_ok() { + return Ok(server_list?); + } } } + + // If no resolver was able to connect, return an error + Err(Error::custom("Unable to connect to any resolver")) +} + +async fn fetch_public_servers() -> Result>>> { + // Get server list + let servers = get_server_list().await?; + // Group servers by network + let servers = HashMap::group_from(servers.into_iter().map(|server| (server.network, server))); + Ok(servers.into()) } pub fn tls() -> bool { @@ -145,73 +109,14 @@ pub fn public_servers(network: &Network) -> Vec { servers .iter() .filter(|server| { - server.enable.unwrap_or(true) + server.online && !(tls() - && !(server.address.starts_with("wss://") - || server.address.starts_with("wrpcs://"))) + && !(server.url.starts_with("wss://") || server.url.starts_with("wrpcs://"))) }) .cloned() .collect::>() } -pub fn random_public_server(network: &Network, options: Option) -> Option { - let servers = public_server_config().lock().unwrap().clone(); - - let RpcOptions { - force_server, - blacklist_servers, - } = options.unwrap_or_default(); - - if let Some(server) = force_server.clone() { - return Some(server); - } - - if let Some(servers) = servers.get(network) { - #[allow(clippy::nonminimal_bool)] - let mut servers = servers - .iter() - .filter(|server| { - server.enable.unwrap_or(true) - && !server.manual.unwrap_or(false) - && !server.address.contains("localhost") - && !server.address.contains("127.0.0.1") - && !(tls() - && !(server.address.starts_with("wss://") - || server.address.starts_with("wrpcs://"))) - && !blacklist_servers.contains(&server.address) - }) - .cloned() - .collect::>(); - - let max = servers - .iter() - .map(|server| server.bias.unwrap_or(1.)) - .max_by(|a, b| a.total_cmp(b)) - .unwrap_or(1.); - servers.iter_mut().for_each(|server| { - server.bias = Some(server.bias.unwrap_or(1.) / max); - }); - - if servers.is_empty() { - log_error!("Unable to select random public server: no servers available"); - None - } else { - let mut server = None; - while server.is_none() { - let selected = &servers[rand::thread_rng().gen::() % servers.len()]; - let f = rand::thread_rng().gen_range(0.0..1.0); - if f < selected.bias.unwrap_or(1.) { - server = Some(selected.clone()); - } - } - server - } - } else { - log_error!("Unable to select random public server: no servers available for this network"); - None - } -} - pub fn render_public_server_selector( core: &mut Core, ui: &mut egui::Ui, @@ -270,11 +175,9 @@ pub fn render_public_server_selector( *close = true; } - if let Some(link) = server.link.as_ref() { - ui.add_space(4.); - ui.hyperlink_url_to_tab(link); - ui.add_space(4.); - } + ui.add_space(4.); + ui.hyperlink_url_to_tab(server.url); + ui.add_space(4.); } }); }, diff --git a/core/src/settings.rs b/core/src/settings.rs index ae5376b..769e83e 100644 --- a/core/src/settings.rs +++ b/core/src/settings.rs @@ -1,4 +1,4 @@ -use crate::{imports::*, servers::random_public_server}; +use crate::imports::*; use kaspa_metrics_core::Metric; use kaspa_utils::networking::ContextualNetAddress; use kaspa_wallet_core::storage::local::storage::Storage; @@ -17,14 +17,16 @@ cfg_if! { IntegratedInProc, #[default] IntegratedAsDaemon, + IntegratedAsPassiveSync, ExternalAsDaemon, } - const KASPAD_NODE_KINDS: [KaspadNodeKind; 5] = [ + const KASPAD_NODE_KINDS: [KaspadNodeKind; 6] = [ KaspadNodeKind::Disable, KaspadNodeKind::Remote, KaspadNodeKind::IntegratedInProc, KaspadNodeKind::IntegratedAsDaemon, + KaspadNodeKind::IntegratedAsPassiveSync, KaspadNodeKind::ExternalAsDaemon, ]; @@ -35,6 +37,7 @@ cfg_if! { KaspadNodeKind::Remote => write!(f, "{}", i18n("Remote")), KaspadNodeKind::IntegratedInProc => write!(f, "{}", i18n("Integrated Node")), KaspadNodeKind::IntegratedAsDaemon => write!(f, "{}", i18n("Integrated Daemon")), + KaspadNodeKind::IntegratedAsPassiveSync => write!(f, "{}", i18n("Passive Sync")), KaspadNodeKind::ExternalAsDaemon => write!(f, "{}", i18n("External Daemon")), } } @@ -78,6 +81,8 @@ impl KaspadNodeKind { #[cfg(not(target_arch = "wasm32"))] KaspadNodeKind::IntegratedAsDaemon => i18n("The node is spawned as a child daemon process (recommended)."), #[cfg(not(target_arch = "wasm32"))] + KaspadNodeKind::IntegratedAsPassiveSync => i18n("The node synchronizes in the background while Kaspa-NG is connected to a public node. Once the node is synchronized, you can switch to the 'Integrated Daemon' mode."), + #[cfg(not(target_arch = "wasm32"))] KaspadNodeKind::ExternalAsDaemon => i18n("A binary at another location is spawned a child process (experimental, for development purposes only)."), } } @@ -91,6 +96,8 @@ impl KaspadNodeKind { #[cfg(not(target_arch = "wasm32"))] KaspadNodeKind::IntegratedAsDaemon => true, #[cfg(not(target_arch = "wasm32"))] + KaspadNodeKind::IntegratedAsPassiveSync => true, + #[cfg(not(target_arch = "wasm32"))] KaspadNodeKind::ExternalAsDaemon => true, } } @@ -104,6 +111,8 @@ impl KaspadNodeKind { #[cfg(not(target_arch = "wasm32"))] KaspadNodeKind::IntegratedAsDaemon => true, #[cfg(not(target_arch = "wasm32"))] + KaspadNodeKind::IntegratedAsPassiveSync => true, + #[cfg(not(target_arch = "wasm32"))] KaspadNodeKind::ExternalAsDaemon => true, } } @@ -112,7 +121,6 @@ impl KaspadNodeKind { #[derive(Default)] pub struct RpcOptions { pub blacklist_servers: Vec, - pub force_server: Option, } impl RpcOptions { @@ -124,11 +132,6 @@ impl RpcOptions { self.blacklist_servers.push(server); self } - - pub fn force(mut self, server: Server) -> Self { - self.force_server = Some(server); - self - } } #[derive(Default, Debug, Clone, Serialize, Deserialize, Eq, PartialEq)] @@ -144,6 +147,7 @@ pub enum RpcConfig { Wrpc { url: Option, encoding: WrpcEncoding, + resolver_urls: Option>>, }, Grpc { url: Option, @@ -163,6 +167,7 @@ impl Default for RpcConfig { RpcConfig::Wrpc { url: Some(url.to_string()), encoding: WrpcEncoding::Borsh, + resolver_urls: None, } } } @@ -238,7 +243,7 @@ impl NodeConnectionConfigKind { pub fn iter() -> impl Iterator { [ NodeConnectionConfigKind::PublicServerRandom, - NodeConnectionConfigKind::PublicServerCustom, + // NodeConnectionConfigKind::PublicServerCustom, NodeConnectionConfigKind::Custom, // NodeConnectionConfigKind::Local, ] @@ -355,9 +360,12 @@ impl NodeMemoryScale { #[serde(rename_all = "kebab-case")] pub struct NodeSettings { pub connection_config_kind: NodeConnectionConfigKind, - pub public_servers: HashMap, pub rpc_kind: RpcKind, pub wrpc_url: String, + #[serde(default)] + pub enable_wrpc_borsh: bool, + #[serde(default)] + pub wrpc_borsh_network_interface: NetworkInterfaceConfig, pub wrpc_encoding: WrpcEncoding, pub enable_wrpc_json: bool, pub wrpc_json_network_interface: NetworkInterfaceConfig, @@ -381,10 +389,11 @@ impl Default for NodeSettings { fn default() -> Self { Self { connection_config_kind: NodeConnectionConfigKind::default(), - public_servers: HashMap::default(), rpc_kind: RpcKind::Wrpc, wrpc_url: "127.0.0.1".to_string(), wrpc_encoding: WrpcEncoding::Borsh, + enable_wrpc_borsh: false, + wrpc_borsh_network_interface: NetworkInterfaceConfig::default(), enable_wrpc_json: false, wrpc_json_network_interface: NetworkInterfaceConfig::default(), enable_grpc: false, @@ -414,7 +423,6 @@ impl NodeSettings { } else if self.memory_scale != other.memory_scale { Some(true) } else if self.connection_config_kind != other.connection_config_kind - || (other.connection_config_kind == NodeConnectionConfigKind::PublicServerCustom && !self.public_servers.compare(&other.public_servers)) { Some(true) } else if self.kaspad_daemon_storage_folder_enable != other.kaspad_daemon_storage_folder_enable @@ -447,9 +455,7 @@ impl NodeSettings { Some(true) } else if self.node_kind != other.node_kind { Some(true) - } else if self.connection_config_kind != other.connection_config_kind - || (other.connection_config_kind == NodeConnectionConfigKind::PublicServerCustom && !self.public_servers.compare(&other.public_servers)) - { + } else if self.connection_config_kind != other.connection_config_kind { Some(true) } else if self.rpc_kind != other.rpc_kind || self.wrpc_url != other.wrpc_url @@ -466,37 +472,24 @@ impl NodeSettings { } impl RpcConfig { - pub fn from_node_settings(settings: &NodeSettings, options: Option) -> Self { + pub fn from_node_settings(settings: &NodeSettings, _options: Option) -> Self { match settings.connection_config_kind { NodeConnectionConfigKind::Custom => match settings.rpc_kind { RpcKind::Wrpc => RpcConfig::Wrpc { url: Some(settings.wrpc_url.clone()), encoding: settings.wrpc_encoding, + resolver_urls: None, }, RpcKind::Grpc => RpcConfig::Grpc { url: Some(settings.grpc_network_interface.clone()), }, }, - NodeConnectionConfigKind::PublicServerCustom => { - if let Some(public_server) = settings.public_servers.get(&settings.network) { - RpcConfig::Wrpc { - url: Some(public_server.address()), - encoding: public_server.wrpc_encoding(), - } - } else { - RpcConfig::default() - } - } - NodeConnectionConfigKind::PublicServerRandom => { - if let Some(public_server) = random_public_server(&settings.network, options) { - RpcConfig::Wrpc { - url: Some(public_server.address()), - encoding: public_server.wrpc_encoding(), - } - } else { - RpcConfig::default() - } - } + NodeConnectionConfigKind::PublicServerCustom + | NodeConnectionConfigKind::PublicServerRandom => RpcConfig::Wrpc { + url: None, + encoding: settings.wrpc_encoding, + resolver_urls: None, + }, } } } @@ -531,6 +524,8 @@ pub struct UserInterfaceSettings { pub scale: f32, pub metrics: MetricsSettings, pub balance_padding: bool, + #[serde(default)] + pub disable_frame: bool, } impl Default for UserInterfaceSettings { @@ -541,6 +536,7 @@ impl Default for UserInterfaceSettings { scale: 1.0, metrics: MetricsSettings::default(), balance_padding: true, + disable_frame: false, } } } @@ -587,6 +583,36 @@ impl DeveloperSettings { } } +#[derive(Describe, Default, Debug, Clone, Copy, Eq, PartialEq, Serialize, Deserialize)] +#[serde(rename_all = "kebab-case")] +pub enum EstimatorMode { + #[describe("Fee Market Only")] + FeeMarketOnly, + #[default] + #[describe("Fee Market & Network Pressure")] + NetworkPressure, +} + +#[derive(Debug, Eq, PartialEq, Clone, Serialize, Deserialize)] +#[serde(rename_all = "kebab-case")] +pub struct EstimatorSettings { + pub mode: EstimatorMode, +} + +impl Default for EstimatorSettings { + fn default() -> Self { + Self { + mode: EstimatorMode::NetworkPressure, + } + } +} + +impl EstimatorSettings { + pub fn track_network_load(&self) -> EstimatorMode { + self.mode + } +} + #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "kebab-case")] pub struct Settings { @@ -596,11 +622,15 @@ pub struct Settings { pub version: String, pub update: String, pub developer: DeveloperSettings, + #[serde(default)] + pub estimator: EstimatorSettings, pub node: NodeSettings, pub user_interface: UserInterfaceSettings, pub language_code: String, pub update_monitor: bool, pub market_monitor: bool, + // #[serde(default)] + // pub disable_frame: bool, } impl Default for Settings { @@ -613,11 +643,13 @@ impl Default for Settings { version: "0.0.0".to_string(), update: crate::app::VERSION.to_string(), developer: DeveloperSettings::default(), + estimator: EstimatorSettings::default(), node: NodeSettings::default(), user_interface: UserInterfaceSettings::default(), language_code: "en".to_string(), update_monitor: true, market_monitor: true, + // disable_frame: false, } } } @@ -658,10 +690,18 @@ impl Settings { let storage = storage()?; if storage.exists().await.unwrap_or(false) { match read_json::(storage.filename()).await { - Ok(settings) => { + Ok(mut settings) => { if settings.revision != SETTINGS_REVISION { Ok(Self::default()) } else { + if matches!( + settings.node.connection_config_kind, + NodeConnectionConfigKind::PublicServerCustom + ) { + settings.node.connection_config_kind = + NodeConnectionConfigKind::PublicServerRandom; + } + Ok(settings) } } diff --git a/core/src/status.rs b/core/src/status.rs index b0dec9d..76aac7e 100644 --- a/core/src/status.rs +++ b/core/src/status.rs @@ -117,8 +117,6 @@ impl<'core> Status<'core> { } fn render_connection_selector(&mut self, ui: &mut Ui) { - use egui_phosphor::light::CHECK; - let connection_selector = !self.core.module().modal() && self.core.settings.node.connection_config_kind.is_public(); @@ -131,13 +129,13 @@ impl<'core> Status<'core> { } }); } else { - let mut response = + let response = ui.add(Label::new(RichText::new(i18n("CONNECTED"))).sense(Sense::click())); let popup_id = PopupPanel::id(ui, "node_connection_selector_popup"); if !PopupPanel::is_open(ui, popup_id) { - response = response.on_hover_ui(|ui| { + response.on_hover_ui(|ui| { if let Some(wrpc_url) = runtime().kaspa_service().rpc_url() { ui.horizontal(|ui| { ui.label(wrpc_url); @@ -145,52 +143,6 @@ impl<'core> Status<'core> { } }); } - - PopupPanel::new( - popup_id, - |_ui| response, - |ui, close| { - set_menu_style(ui.style_mut()); - - let wrpc_url = runtime().kaspa_service().rpc_url(); - let public_servers = public_servers(&self.settings().node.network); - for server in public_servers.into_iter() { - let name = if Some(server.address()) == wrpc_url { - format!("{server} {CHECK}") - } else { - server.to_string() - }; - - if ui.button(name).clicked() { - *close = true; - - match self.core.settings.node.connection_config_kind { - NodeConnectionConfigKind::PublicServerCustom => { - self.core - .settings - .node - .public_servers - .insert(self.core.settings.node.network, server.clone()); - self.core.settings.store_sync().ok(); - runtime() - .kaspa_service() - .update_services(&self.core.settings.node, None); - } - NodeConnectionConfigKind::PublicServerRandom => { - let options = RpcOptions::new().force(server); - runtime() - .kaspa_service() - .update_services(&self.core.settings.node, Some(options)); - } - _ => {} - } - } - } - }, - ) - .with_min_width(140.0) - .with_above_or_below(AboveOrBelow::Above) - .build(ui); } } @@ -392,8 +344,10 @@ impl<'core> Status<'core> { } ui.label( + // "\u{E610}" RichText::new(icon) .size(status_icon_size) + .family(FontFamily::Name("phosphor".into())) .color(theme_color().icon_connected_color), ); } else { diff --git a/core/src/tests/transactions.rs b/core/src/tests/transactions.rs index 6a4372c..c0f9311 100644 --- a/core/src/tests/transactions.rs +++ b/core/src/tests/transactions.rs @@ -1,5 +1,6 @@ use crate::imports::*; use kaspa_wallet_core::tx::mass::MassCalculator; +use kaspa_wallet_core::utxo::NetworkParams; #[test] fn test_generic_transaction_mass() { @@ -60,8 +61,8 @@ fn test_generic_transaction_mass() { ); for network in Network::iter() { - let calc = MassCalculator::new(&network.into(), &network.into()); - let mass = calc.calc_mass_for_signed_transaction(&tx, 1); - println!("basic transaction mass for {} is {}", network, mass); + let calc = MassCalculator::new(&network.into(), NetworkParams::from(network.into())); + let mass = calc.calc_compute_mass_for_unsigned_consensus_transaction(&tx, 1); + println!("compute transaction mass for {} is {}", network, mass); } } diff --git a/core/src/utils/arglist.rs b/core/src/utils/arglist.rs index 0a6d6a5..97f3304 100644 --- a/core/src/utils/arglist.rs +++ b/core/src/utils/arglist.rs @@ -13,13 +13,10 @@ impl Arglist { impl From for Vec { fn from(arglist: Arglist) -> Self { - let mut unique_elements = AHashSet::new(); - let mut list = vec![]; + let mut args = AHashSet::new(); for arg in arglist.args.into_iter() { - if unique_elements.insert(arg.clone()) { - list.push(arg); - } + args.insert(arg); } - list + args.into_iter().collect() } } diff --git a/core/src/utils/average.rs b/core/src/utils/average.rs new file mode 100644 index 0000000..a27900b --- /dev/null +++ b/core/src/utils/average.rs @@ -0,0 +1,515 @@ +use crate::imports::*; + +const MAX_AVERAGE_SAMPLES: usize = 6; +const AVERAGE_ALPHA_HIGH: f64 = 0.8; +const AVERAGE_ALPHA_LOW: f64 = 0.5; + +#[derive(Default)] +pub struct FeerateEstimate { + pub low: FeerateBucketAverage, + pub economic: FeerateBucketAverage, + pub priority: FeerateBucketAverage, +} + +// impl Default for FeerateEstimate { +// fn default() -> Self { +// Self { +// low: FeerateBucketAverage::default(), +// economic: FeerateBucketAverage::default(), +// priority: FeerateBucketAverage::default(), +// } +// } +// } + +impl FeerateEstimate { + pub fn new(estimate: &RpcFeeEstimate) -> Self { + let mut feerate = Self { + low: FeerateBucketAverage::default(), + economic: FeerateBucketAverage::default(), + priority: FeerateBucketAverage::default(), + }; + feerate.insert(estimate); + feerate + } + + pub fn insert(&mut self, estimate: &RpcFeeEstimate) { + self.low.insert( + estimate + .low_buckets + .first() + .map(FeerateBucket::from) + .unwrap_or_default(), + ); + self.economic.insert( + estimate + .normal_buckets + .first() + .map(FeerateBucket::from) + .unwrap_or_default(), + ); + self.priority.insert(estimate.priority_bucket.into()); + } +} + +#[derive(Debug, Clone, Copy)] +pub struct FeerateBucket { + pub feerate: f64, + pub seconds: f64, +} + +impl FeerateBucket { + pub fn new(feerate: f64, seconds: f64) -> Self { + Self { feerate, seconds } + } + + pub fn with_seconds(self, seconds: f64) -> Self { + Self { + feerate: self.feerate, + seconds, + } + } +} + +impl std::cmp::PartialOrd for FeerateBucket { + fn partial_cmp(&self, other: &Self) -> Option { + self.feerate.partial_cmp(&other.feerate) + } +} + +impl std::cmp::PartialEq for FeerateBucket { + fn eq(&self, other: &Self) -> bool { + self.feerate == other.feerate + } +} + +impl std::ops::Add for FeerateBucket { + type Output = Self; + + fn add(self, other: Self) -> Self { + Self { + feerate: self.feerate + other.feerate, + seconds: self.seconds + other.seconds, + } + } +} + +impl Default for FeerateBucket { + fn default() -> Self { + Self { + feerate: 1.0, + seconds: 1.0, + } + } +} + +impl From<&RpcFeerateBucket> for FeerateBucket { + fn from(bucket: &RpcFeerateBucket) -> Self { + Self { + feerate: bucket.feerate, + seconds: bucket.estimated_seconds, + } + } +} + +impl From for FeerateBucket { + fn from(bucket: RpcFeerateBucket) -> Self { + Self { + feerate: bucket.feerate, + seconds: bucket.estimated_seconds, + } + } +} + +pub type FeerateBucketAverage = FeerateBucketAverageN; + +#[derive(Default, Debug, Clone)] +pub struct FeerateBucketAverageN { + pub samples: VecDeque, + pub average: FeerateBucket, +} + +impl FeerateBucketAverageN { + pub fn clear(&mut self) { + self.samples.clear(); + self.average = FeerateBucket::default(); + } + + fn insert(&mut self, value: FeerateBucket) { + if self.samples.is_empty() { + self.samples.push_back(value); + } else { + let delta = self.average; + + if value > self.value() { + let feerate = + AVERAGE_ALPHA_HIGH * value.feerate + (1.0 - AVERAGE_ALPHA_HIGH) * delta.feerate; + let seconds = + AVERAGE_ALPHA_HIGH * value.seconds + (1.0 - AVERAGE_ALPHA_HIGH) * delta.seconds; + self.samples.push_back(FeerateBucket::new(feerate, seconds)); + } else { + let feerate = + AVERAGE_ALPHA_LOW * value.feerate + (1.0 - AVERAGE_ALPHA_LOW) * delta.feerate; + let seconds = + AVERAGE_ALPHA_LOW * value.seconds + (1.0 - AVERAGE_ALPHA_LOW) * delta.seconds; + self.samples.push_back(FeerateBucket::new(feerate, seconds)); + } + } + + if self.samples.len() > SAMPLES { + self.samples.pop_front(); + } + self.update(); + } + + pub fn update(&mut self) { + let len = self.samples.len() as f64; + let sum = self + .samples + .iter() + .fold(FeerateBucket::default(), |a, b| a + *b); + self.average = FeerateBucket { + feerate: sum.feerate / len, + seconds: sum.seconds / len, + }; + } + + pub fn value(&self) -> FeerateBucket { + if let Some(value) = self.samples.back() { + *value + } else { + FeerateBucket::default() + } + } +} + +#[cfg(test)] +mod test { + use super::*; + + #[test] + fn test_average() { + let values = [ + 248155.3514557079, + 215263.2471686213, + 245860.5071433737, + 182878.35543534035, + 247603.8863732086, + 192076.06581364156, + 191832.4918487833, + 128304.96588496015, + 238531.64457851378, + 234273.18428987174, + 255773.0300519179, + 249093.50547463333, + 249987.27849438024, + 142243.6036012581, + 177387.34711973823, + 225326.88080792018, + 246519.9389768766, + 178864.37118321584, + 153275.66505913227, + 246842.79445636555, + 223232.92238098633, + 224018.9368980746, + 144846.07860895086, + 249044.80135444857, + 193644.7196123328, + 216569.54469648135, + 171501.87818606084, + 209143.00683348018, + 247766.34940556984, + 240134.74496231132, + 222067.39937692153, + 244959.2666668208, + 244778.55586060378, + 236770.12079389597, + 150160.29996444215, + 245368.49577914673, + 237944.53312366523, + 233158.65408234956, + 133382.8086967139, + 236848.24272788866, + 144236.5336527448, + 148653.23967874967, + 238307.96108361648, + 169613.28962313317, + 238433.97536641933, + 177764.92055346936, + 139490.52495366355, + 187191.81261710104, + 244475.82286127112, + 245749.91495551568, + 243281.21882477857, + 243326.62347613362, + 196588.33586232664, + 120549.67729575293, + 207835.44585471656, + 200133.85199050562, + 151756.37033541917, + 235157.25117139242, + 246507.34219541284, + 176741.3115867982, + 99382.172497149, + 187744.75694246456, + 232886.15175851452, + 175217.07336267238, + 236816.7528010096, + 139970.4400116053, + 159865.71770829588, + 136558.44865940727, + 195715.8517624622, + 247389.84374880078, + 239440.79812678922, + 135748.0474010845, + 210934.440126234, + 146065.89308193082, + 147800.1502998639, + 244894.88053721157, + 243994.97948386057, + 245393.49415038983, + 243058.58821456484, + 127735.35987305158, + 140369.60399027826, + 134043.303765809, + 193254.1420857881, + 190437.9472722749, + 244581.3539859155, + 245565.95352441736, + 146978.29638989634, + 245169.43506911577, + 244653.8568352576, + 219344.22021480868, + 237979.00370085222, + 187110.5903983477, + 241250.8277014743, + 233906.6233636831, + 233246.14065750796, + 233413.1716293142, + 233148.15345403645, + 235678.72315910575, + 229063.60353987105, + 240832.9716861154, + 247508.69135150572, + 168210.11234128906, + 210847.66573606082, + 246857.0640787107, + 246239.95443353, + 171438.46158665072, + 247079.0881248516, + 171697.12570214068, + 149564.49850670493, + 245807.68863258162, + 149489.9342934734, + 242506.84793606773, + 242075.0260494275, + 220151.7465220994, + 126044.54038402438, + 243012.56791447278, + 241111.42157753845, + 235986.34918704405, + 143356.96079931365, + 130424.4130526057, + 181255.2246665847, + 238256.8730829127, + 146452.11754679924, + 170026.6602172315, + 193312.99575573037, + 239332.9420721534, + 223632.38567019213, + 141671.20874054675, + 213208.87877292512, + 219982.01542181577, + 134341.80571515945, + 194831.33549576855, + 239883.47734007097, + 88967.05109533986, + 202053.81995419698, + 243547.28828147077, + 259553.12840624293, + 247677.92768900306, + 242653.40883194323, + 174398.6326048576, + 128285.83328560732, + 244399.46198033314, + 146487.26658813033, + 241494.59142860002, + 240616.70796003094, + 138833.95391005423, + 213584.339225704, + 239133.53643788848, + 237835.51801700686, + 237347.47389371862, + 234469.64315771483, + 152160.9061874391, + 237494.77127650633, + 173040.8121341394, + 130912.77797708409, + 241962.979458208, + 182373.4185260581, + 179541.5825536582, + 179029.96761306134, + 243205.50735454418, + 199721.08821708092, + 259852.2696898588, + 228419.10949632138, + 248855.05259311185, + 150812.03274903848, + 147457.01306234082, + 244726.97247294002, + 146187.5743984257, + 244823.66242046928, + 244862.57860557683, + 244955.87378775087, + 130421.35339233676, + 244445.4788989109, + 137780.17782492848, + 133758.41619601438, + 156704.98698541842, + 238910.814299598, + 240336.87067486043, + 214522.15232621093, + 130056.62527973427, + 178634.3844432882, + 244888.6989210272, + 217647.4456866496, + 244594.37186805526, + 228030.16662885746, + 214253.44980608378, + 209516.1694079057, + 244868.00533888358, + 233448.87699662437, + 257545.7255320017, + 249172.88737132723, + 232243.2726875817, + 136311.39666593345, + 249623.2939563043, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 215391.32088258484, + 67.52105424968201, + 242234.10627665027, + 168573.38189513536, + 231680.36189481552, + 207704.39080488606, + 248347.3469480634, + 211414.393660134, + 248765.77597833515, + 84283.68751575101, + 239052.37494681875, + 175256.67273241273, + 127825.05894308779, + 216616.31935138846, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 238537.57586429152, + 127547.14902881409, + 135879.29173228334, + 238302.0978156781, + 135926.23165511477, + 246619.3074482109, + 248641.3156527779, + 226314.28646016173, + 154861.34389305062, + 204459.3146002139, + 181339.61465791994, + 246846.6580346392, + 207506.03970416822, + 199709.8717643581, + 178158.12966541818, + 246227.38389916637, + 141832.6854908764, + 237995.89026512875, + 245124.70220074043, + 245836.33998509325, + 247250.12234223183, + 244902.619869532, + 251890.4761664218, + 252799.9852909657, + 253275.67723549923, + 241236.4859757893, + 238396.0150783782, + 183664.4147463932, + 242305.507166485, + 181229.56382171725, + 242067.5188488911, + 250022.01325817694, + 179025.21296337966, + 131457.8297950491, + 177872.42410698708, + 245104.4716619338, + 243458.21421007247, + 245401.3834330709, + 205715.71134339966, + 244804.82748832856, + 244561.01289969, + 157427.76485069326, + 186983.8334490723, + 231963.53189224305, + 172578.63845091636, + 245203.00423633948, + 151143.67479554564, + 245177.82270082034, + 246292.37314888765, + 68855.01652778508, + 246382.54972762943, + 245977.19630932037, + 245196.2241682157, + 194767.96677656696, + 245693.9823006708, + 242633.14689425754, + 242418.49831178205, + 242756.2666038934, + 243668.81635819998, + 0.0, + 245422.2838396944, + 244682.78711597863, + 244792.26394066506, + 152821.9161276334, + 249688.58018299768, + 249301.2771748242, + 181230.20839436172, + 257962.65317966897, + 248043.1062423161, + 258443.0871438949, + 224195.3353968486, + 161304.520674059, + 256466.31079941467, + 257594.97335507823, + 188122.8387603218, + 256452.86741962022, + 158010.11777856835, + 151733.4649294484, + 246619.54674299472, + 152716.32651794696, + ]; + + let mut average = FeerateBucketAverageN::<6>::default(); + for value in values.iter() { + average.insert(FeerateBucket::new(*value, 1.0)); + println!("{} -> {:?}", value, average.value()); + } + } +} diff --git a/core/src/utils/format.rs b/core/src/utils/format.rs index 0a3e865..6619fde 100644 --- a/core/src/utils/format.rs +++ b/core/src/utils/format.rs @@ -1,4 +1,5 @@ use crate::imports::*; +// use separator::{separated_float, separated_int, separated_uint_with_output, Separatable}; pub fn format_duration(millis: u64) -> String { let seconds = millis / 1000; @@ -26,14 +27,18 @@ pub fn format_address_string(address: impl Into, range: Option) - let prefix = parts[0]; let payload = parts[1]; let range = range.unwrap_or(6); - let start = range; - let finish = payload.len() - range; + if range >= payload.len() / 2 { + address + } else { + let start = range; + let finish = payload.len() - range; - let left = &payload[0..start]; - // let center = style(&payload[start..finish]).dim(); - let right = &payload[finish..]; + let left = &payload[0..start]; + // let center = style(&payload[start..finish]).dim(); + let right = &payload[finish..]; - format!("{prefix}:{left}....{right}") + format!("{prefix}:{left}....{right}") + } } pub fn format_address(address: &Address, range: Option) -> String { @@ -199,3 +204,35 @@ pub fn precision_from_symbol(symbol: &str) -> usize { _ => 6, } } + +// /// Format supplied value as a float with 2 decimal places. +// fn format_as_float(f: f64, short: bool) -> String { +// if short { +// if f < 1000.0 { +// format_with_precision(f) +// } else if f < 1000000.0 { +// format_with_precision(f / 1000.0) + " K" +// } else if f < 1000000000.0 { +// format_with_precision(f / 1000000.0) + " M" +// } else if f < 1000000000000.0 { +// format_with_precision(f / 1000000000.0) + " G" +// } else if f < 1000000000000000.0 { +// format_with_precision(f / 1000000000000.0) + " T" +// } else if f < 1000000000000000000.0 { +// format_with_precision(f / 1000000000000000.0) + " P" +// } else { +// format_with_precision(f / 1000000000000000000.0) + " E" +// } +// } else { +// f.separated_string() +// } +// } + +/// Format supplied value as a float with 2 decimal places. +pub fn format_with_precision(f: f64) -> String { + if f.fract() < 0.01 { + separated_float!(format!("{}", f.trunc())) + } else { + separated_float!(format!("{:.2}", f)) + } +} diff --git a/core/src/utils/image.rs b/core/src/utils/image.rs index 2420025..82f1edf 100644 --- a/core/src/utils/image.rs +++ b/core/src/utils/image.rs @@ -1,4 +1,5 @@ -pub use egui_extras::image::{load_svg_bytes, load_svg_bytes_with_size, FitTo}; +pub use egui::SizeHint; +pub use egui_extras::image::{load_svg_bytes, load_svg_bytes_with_size}; pub fn color_image_to_icon_data(image: epaint::ColorImage) -> egui::IconData { egui::IconData { @@ -8,7 +9,7 @@ pub fn color_image_to_icon_data(image: epaint::ColorImage) -> egui::IconData { } } -pub fn svg_to_icon_data(svg_bytes: &[u8], fit_to: FitTo) -> egui::IconData { - let image = load_svg_bytes_with_size(svg_bytes, fit_to).unwrap(); +pub fn svg_to_icon_data(svg_bytes: &[u8], size_hint: Option) -> egui::IconData { + let image = load_svg_bytes_with_size(svg_bytes, size_hint).unwrap(); color_image_to_icon_data(image) } diff --git a/core/src/utils/mod.rs b/core/src/utils/mod.rs index 9d8ff81..59bbae0 100644 --- a/core/src/utils/mod.rs +++ b/core/src/utils/mod.rs @@ -1,5 +1,7 @@ use crate::imports::*; +mod average; +pub use average::*; mod qr; pub use qr::*; mod i18n; @@ -23,6 +25,8 @@ mod secret; pub use secret::*; mod mnemonic; pub use mnemonic::*; +mod wallet; +pub use wallet::*; pub fn is_mobile() -> bool { use workflow_core::runtime::{is_android, is_ios}; diff --git a/core/src/utils/version.rs b/core/src/utils/version.rs index 5fc5e59..b0df771 100644 --- a/core/src/utils/version.rs +++ b/core/src/utils/version.rs @@ -1,6 +1,10 @@ use crate::imports::*; use workflow_http::Request; +pub fn kaspa_version() -> String { + kaspa_utils::git::version() +} + #[derive(Debug, Clone)] pub struct Asset { pub name: String, diff --git a/core/src/utils/wallet.rs b/core/src/utils/wallet.rs new file mode 100644 index 0000000..85e7c38 --- /dev/null +++ b/core/src/utils/wallet.rs @@ -0,0 +1,176 @@ +use crate::imports::*; +use kaspa_wallet_core::wallet::EncryptedMnemonic; +use std::fmt::Display; + +#[derive(Debug, Deserialize)] +struct LegacyWalletJSONInner { + mnemonic: String, +} + +#[derive(Debug, Deserialize)] +struct LegacyWalletJSON { + wallet: LegacyWalletJSONInner, +} + +// #[derive(Debug, Deserialize)] +// struct KNGWalletJSON { +// payload: String, +// } + +#[derive(Debug)] +pub struct SingleWalletFileV0 { + pub num_threads: u32, + pub encrypted_mnemonic: EncryptedMnemonic>, + pub xpublic_key: String, + pub ecdsa: bool, +} +impl Clone for SingleWalletFileV0 { + fn clone(&self) -> Self { + Self { + num_threads: self.num_threads, + encrypted_mnemonic: EncryptedMnemonic { + cipher: self.encrypted_mnemonic.cipher.clone(), + salt: self.encrypted_mnemonic.salt.clone(), + }, + xpublic_key: self.xpublic_key.clone(), + ecdsa: self.ecdsa, + } + } +} + +#[derive(Debug, Clone)] +pub enum WalletType { + SingleV0(SingleWalletFileV0), + // SingleV1(SingleWalletFileV1<'a, Vec>), + // MultiV0(MultisigWalletFileV0<'a, Vec>), + // MultiV1(MultisigWalletFileV1<'a, Vec>), +} + +#[derive(Debug, Default, Deserialize)] +struct EncryptedMnemonicIntermediate { + #[serde(with = "kaspa_utils::serde_bytes")] + cipher: Vec, + #[serde(with = "kaspa_utils::serde_bytes")] + salt: Vec, +} +impl From for EncryptedMnemonic> { + fn from(value: EncryptedMnemonicIntermediate) -> Self { + Self { + cipher: value.cipher, + salt: value.salt, + } + } +} + +//golang wallet file +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +struct UnifiedWalletIntermediate { + version: u32, + num_threads: Option, + encrypted_mnemonics: Vec, + public_keys: Vec, + //minimum_signatures: u16, + //cosigner_index: u8, + ecdsa: bool, +} + +impl UnifiedWalletIntermediate { + fn into_wallet_type(mut self) -> Result { + let single = self.encrypted_mnemonics.len() == 1 && self.public_keys.len() == 1; + let wallet = match (single, self.version) { + (true, 0) | (true, 1) => { + WalletType::SingleV0(SingleWalletFileV0 { + num_threads: self + .num_threads + .unwrap_or(8) + //.ok_or(Error::custom("num_threads must present in case of v0 wallet"))? + as u32, + encrypted_mnemonic: std::mem::take(&mut self.encrypted_mnemonics[0]).into(), + xpublic_key: self.public_keys[0].to_string(), + ecdsa: self.ecdsa, + }) + } + _ => return Err(Error::custom("Multisig wallet import is not supported.")), + }; + // (true, WalletVersion::One) => WalletType::SingleV1(SingleWalletFileV1 { + // num_threads: 8, + // encrypted_mnemonic: std::mem::take(&mut self.encrypted_mnemonics[0]).into(), + // xpublic_key: self.public_keys[0], + // ecdsa: self.ecdsa, + // }), + // (false, WalletVersion::Zero) => WalletType::MultiV0(MultisigWalletFileV0 { + // num_threads: self + // .num_threads + // .expect("num_threads must present in case of v0") + // as u32, + // encrypted_mnemonics: self + // .encrypted_mnemonics + // .into_iter() + // .map( + // |EncryptedMnemonicIntermediate { cipher, salt }| EncryptedMnemonic { + // cipher, + // salt, + // }, + // ) + // .collect(), + // xpublic_keys: self.public_keys, + // required_signatures: self.minimum_signatures, + // cosigner_index: self.cosigner_index, + // ecdsa: self.ecdsa, + // }), + // (false, WalletVersion::One) => WalletType::MultiV1(MultisigWalletFileV1 { + // encrypted_mnemonics: self + // .encrypted_mnemonics + // .into_iter() + // .map( + // |EncryptedMnemonicIntermediate { cipher, salt }| EncryptedMnemonic { + // cipher, + // salt, + // }, + // ) + // .collect(), + // xpublic_keys: self.public_keys, + // required_signatures: self.minimum_signatures, + // cosigner_index: self.cosigner_index, + // ecdsa: self.ecdsa, + // }), + + Ok(wallet) + } +} + +#[derive(Debug, Clone)] +pub enum WalletFileData { + Legacy(String), + GoWallet(WalletType), + Core(String), +} + +#[derive(Debug, Clone)] +pub enum WalletFileDecryptedData { + Legacy(String), + //GoWallet(WalletType), + Core(String), +} +impl Display for WalletFileData { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Self::Legacy(data) => f.write_str(&format!("Legacy: {data}")), + Self::GoWallet(data) => f.write_str(&format!("Go Wallet: {data:?}")), + Self::Core(data) => f.write_str(&format!("Core BIP-44: {data}")), + } + } +} + +pub fn parse_wallet_file(contents: &str) -> Result { + if let Ok(data) = serde_json::from_str::(contents) { + Ok(WalletFileData::Legacy(data.wallet.mnemonic)) + } else if let Ok(data) = serde_json::from_str::(contents) { + Ok(WalletFileData::Legacy(data.mnemonic)) + } else if let Ok(data) = serde_json::from_str::(contents) { + Ok(WalletFileData::GoWallet(data.into_wallet_type()?)) + } else { + Err(Error::Custom("Unable to parse wallet file".into())) + } +} diff --git a/extensions/chrome/Cargo.toml b/extensions/chrome/Cargo.toml index 4b6f588..1c924bc 100644 --- a/extensions/chrome/Cargo.toml +++ b/extensions/chrome/Cargo.toml @@ -9,8 +9,8 @@ repository.workspace = true [features] browser-extension = ["kaspa-ng-core/browser-extension"] -# default = [] -default = ["browser-extension"] +default = [] +# default = ["browser-extension"] [lib] crate-type = ["cdylib", "lib"] diff --git a/extensions/chrome/src/server.rs b/extensions/chrome/src/server.rs index 3fc9b1c..04ca884 100644 --- a/extensions/chrome/src/server.rs +++ b/extensions/chrome/src/server.rs @@ -50,7 +50,7 @@ pub struct Server { unsafe impl Send for Server {} unsafe impl Sync for Server {} -#[derive(Debug, Describe)] +#[derive(Debug, Describe, Clone)] enum ExtensionActions { InjectPageScript, Connect, @@ -431,7 +431,7 @@ impl Server { *self.waiting_response.lock().unwrap() = Some((a.sender_id, id)); } - a.try_to_vec().unwrap() + borsh::to_vec(&a).unwrap() }); let res = resp_to_jsv(Target::Adaptor, Ok(pending_request)); @@ -460,7 +460,7 @@ impl Server { }); } ServerAction::CloseWindow => { - let req = Request::CloseWindow.try_to_vec().unwrap(); + let req = borsh::to_vec(&Request::CloseWindow).unwrap(); spawn_local(async move { // log_info!("[SERVER] sending CloseWindow notification"); if let Err(err) = @@ -508,7 +508,7 @@ impl EventHandler for ServerEventHandler { async fn handle_event(&self, event: &Events) { // log_info!("EVENT HANDLER - POSTING NOTIFICATION! {event:?}"); - let data = event.try_to_vec().unwrap(); + let data = borsh::to_vec(&event).unwrap(); spawn_local(async move { let data = notify_to_jsv(Target::Wallet, &data); // log_info!("EVENT HANDLER - SENDING MESSAGE!"); diff --git a/extensions/chrome/src/transport.rs b/extensions/chrome/src/transport.rs index 5bfd958..d08f53f 100644 --- a/extensions/chrome/src/transport.rs +++ b/extensions/chrome/src/transport.rs @@ -43,7 +43,7 @@ impl BorshCodec for ClientSender { Ok(self .send_message( Target::Wallet, - WalletMessage::new(op, data).try_to_vec().unwrap(), + borsh::to_vec(&WalletMessage::new(op, data)).unwrap(), ) .await?) } @@ -51,6 +51,7 @@ impl BorshCodec for ClientSender { #[repr(u8)] #[derive(Debug, BorshSerialize, BorshDeserialize)] +#[borsh(use_discriminant = true)] enum ServerMessageKind { Success = 0, Error = 1, @@ -130,7 +131,7 @@ pub fn req_to_jsv(target: Target, src: &[u8]) -> JsValue { data: src.to_vec(), }; - let data = request.try_to_vec().unwrap(); + let data = borsh::to_vec(&request).unwrap(); JsValue::from(data.to_hex()) } @@ -161,7 +162,7 @@ pub fn resp_to_jsv(target: Target, response: Result>) -> JsValue { data: src, }; - let data = response.try_to_vec().unwrap(); + let data = borsh::to_vec(&response).unwrap(); JsValue::from(data.to_hex()) } @@ -172,7 +173,7 @@ pub fn resp_to_jsv(target: Target, response: Result>) -> JsValue { data: error.to_string().as_bytes().to_vec(), }; - let data = response.try_to_vec().unwrap(); + let data = borsh::to_vec(&response).unwrap(); JsValue::from(data.to_hex()) } } @@ -212,7 +213,7 @@ pub fn notify_to_jsv(target: Target, src: &[u8]) -> JsValue { data: src.to_vec(), }; - let data = notify.try_to_vec().unwrap(); + let data = borsh::to_vec(¬ify).unwrap(); JsValue::from(data.to_hex()) }