mirror of
https://github.com/monero-project/monero-gui.git
synced 2026-04-02 04:07:26 -04:00
Compare commits
42 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6f14fde89c | ||
|
|
d8ebafaec0 | ||
|
|
7340371cc9 | ||
|
|
cc17b75a54 | ||
|
|
8f73bac95c | ||
|
|
e4177bb365 | ||
|
|
80a058c954 | ||
|
|
ff1780aeaa | ||
|
|
f1b70d08c6 | ||
|
|
0ae04fde4b | ||
|
|
c64321ebe9 | ||
|
|
34e7eb4e6b | ||
|
|
b888396ab4 | ||
|
|
508546c7c8 | ||
|
|
80618c83fd | ||
|
|
0d991b3792 | ||
|
|
61e8ac5b95 | ||
|
|
aac7fc613a | ||
|
|
e0d99cb1bb | ||
|
|
188eb064f4 | ||
|
|
84d09c85de | ||
|
|
b853380db6 | ||
|
|
ea49e84215 | ||
|
|
23d1d4a958 | ||
|
|
f52990c8e4 | ||
|
|
d69519f0aa | ||
|
|
605f81314a | ||
|
|
8ba9b0e7c7 | ||
|
|
8b94bd80c9 | ||
|
|
1f1d51d8e1 | ||
|
|
11df558f8e | ||
|
|
3c46d6d1bd | ||
|
|
7941f88e53 | ||
|
|
8750cc2c13 | ||
|
|
f932d7a245 | ||
|
|
6d0847c39f | ||
|
|
ba9a99a4c6 | ||
|
|
b1675ab1cd | ||
|
|
327cbd086f | ||
|
|
a681878344 | ||
|
|
9b835599b8 | ||
|
|
5767ad9cd5 |
@@ -475,6 +475,14 @@ Rectangle {
|
||||
panel.settingsClicked()
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
visible: settingsButton.present
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.leftMargin: 16
|
||||
color: "#505050"
|
||||
height: 1
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,11 @@ Copyright (c) 2014-2017, The Monero Project
|
||||
- Github: [https://github.com/monero-project/monero-core](https://github.com/monero-project/monero-core)
|
||||
- IRC: [#monero-dev on Freenode](irc://chat.freenode.net/#monero-dev)
|
||||
|
||||
## Vulnerability Response
|
||||
|
||||
- Our [Vulnerability Response Process](https://github.com/monero-project/meta/blob/master/VULNERABILITY_RESPONSE_PROCESS.md) encourages responsible disclosure
|
||||
- We are also available via [HackerOne](https://hackerone.com/monero)
|
||||
|
||||
## Introduction
|
||||
|
||||
Monero is a private, secure, untraceable, decentralised digital currency. You are your bank, you control your funds, and nobody can trace your transfers unless you allow them to do so.
|
||||
@@ -56,7 +61,8 @@ See [LICENSE](LICENSE).
|
||||
|
||||
Packages are available for
|
||||
|
||||
* Arch Linux via AUR: [monero-core-git](https://aur.archlinux.org/packages/monero-core-git/)
|
||||
* Arch Linux via AUR: [monero-wallet-qt](https://aur.archlinux.org/packages/monero-wallet-qt/)
|
||||
* Void Linux: xbps-install -S monero-core
|
||||
|
||||
Packaging for your favorite distribution would be a welcome contribution!
|
||||
|
||||
|
||||
@@ -1,147 +0,0 @@
|
||||
# Monero GUI Vulnerability Response Process
|
||||
|
||||
## Preamble
|
||||
|
||||
Researchers/Hackers: while you research/hack, we ask that you please refrain from committing the following:
|
||||
- Denial of Service / Active exploiting against the network
|
||||
- Social Engineering of Monero staff or contractors
|
||||
- Any physical or electronic attacks against Monero community property and/or data centers
|
||||
|
||||
## I. Points of Contact for Security Issues
|
||||
|
||||
```
|
||||
ric@getmonero.org
|
||||
BDA6 BD70 42B7 21C4 67A9 759D 7455 C5E3 C0CD CEB9
|
||||
|
||||
luigi1111@getmonero.org
|
||||
8777 AB8F 778E E894 87A2 F8E7 F4AC A018 3641 E010
|
||||
|
||||
moneromooo.monero@gmail.com
|
||||
48B0 8161 FBDA DFE3 93AD FC3E 686F 0745 4D6C EFC3
|
||||
|
||||
jaquee.monero@gmail.com
|
||||
D21E 9CC1 2F51 C4FE A9E0 52FF 384E 52B0 9F45 DC39
|
||||
```
|
||||
|
||||
## II. Security Response Team
|
||||
|
||||
- fluffypony
|
||||
- luigi1111
|
||||
- moneromooo
|
||||
- Jaquee
|
||||
|
||||
## III. Incident Response
|
||||
|
||||
1. Researcher submits report via one or both of two methods:
|
||||
- a. Email
|
||||
- b. [HackerOne](https://hackerone.com/monero)
|
||||
|
||||
2. Response Team designates a Response Manager who is in charge of the particular report based on availability and/or knowledge-set
|
||||
|
||||
3. In no more than 3 working days, Response Team should gratefully respond to researcher using only encrypted, secure channels
|
||||
|
||||
4. Response Manager makes inquiries to satisfy any needed information to confirm if submission is indeed a vulnerability
|
||||
- a. If submission proves to be vulnerable, proceed to next step
|
||||
- b. If not vulnerable:
|
||||
- i. Response Manager responds with reasons why submission is not a vulnerability
|
||||
- ii. Response Manager moves discussion to a new or existing ticket on GitHub if necessary
|
||||
|
||||
5. If over email, Response Manager opens a HackerOne issue for new submission
|
||||
|
||||
6. Establish severity of vulnerability:
|
||||
- a. HIGH: impacts network as a whole, has potential to break entire network, results in the loss of monero, or is on a scale of great catastrophe
|
||||
- b. MEDIUM: impacts individual nodes, wallets, or must be carefully exploited
|
||||
- c. LOW: is not easily exploitable
|
||||
|
||||
7. Respond according to the severity of the vulnerability:
|
||||
- a. HIGH severities must be notified on website and reddit /r/Monero within 3 working days of classification
|
||||
- i. The notification should list appropriate steps for users to take, if any
|
||||
- ii. The notification must not include any details that could suggest an exploitation path
|
||||
- iii. The latter takes precedence over the former
|
||||
- b. MEDIUM and HIGH severities will require a Point Release
|
||||
- c. LOW severities will be addressed in the next Regular Release
|
||||
|
||||
8. Response Team applies appropriate patch(es)
|
||||
- a. Response Manager designates a PRIVATE git "hotfix branch" to work in
|
||||
- b. Patches are reviewed with the researcher
|
||||
- c. Any messages associated with PUBLIC commits during the time of review should not make reference to the security nature of the PRIVATE branch or its commits
|
||||
- d. Vulnerability announcement is drafted
|
||||
- i. Include the severity of the vulnerability
|
||||
- ii. Include all vulnerable systems/apps/code
|
||||
- iii. Include solutions (if any) if patch cannot be applied
|
||||
- e. Release date is discussed
|
||||
|
||||
9. At release date, Response Team coordinates with developers to finalize update:
|
||||
- a. Response Manager propagates the "hotfix branch" to trunk
|
||||
- b. Response Manager includes vulnerability announcement draft in release notes
|
||||
- c. Proceed with the Point or Regular Release
|
||||
|
||||
## IV. Post-release Disclosure Process
|
||||
|
||||
1. Response Team has 90 days to fulfill all points within section III
|
||||
|
||||
2. If the Incident Response process in section III is successfully completed:
|
||||
- a. Response Manager contacts researcher and asks if researcher wishes for credit
|
||||
- b. Finalize vulnerability announcement draft and include the following:
|
||||
- i. Project name and URL
|
||||
- ii. Versions known to be affected
|
||||
- iii. Versions known to be not affected (for example, the vulnerable code was introduced in a recent version, and older versions are therefore unaffected)
|
||||
- iv. Versions not checked
|
||||
- v. Type of vulnerability and its impact
|
||||
- vi. If already obtained or applicable, a CVE-ID
|
||||
- vii. The planned, coordinated release date
|
||||
- viii. Mitigating factors (for example, the vulnerability is only exposed in uncommon, non-default configurations)
|
||||
- ix. Workarounds (configuration changes users can make to reduce their exposure to the vulnerability)
|
||||
- x. If applicable, credits to the original reporter
|
||||
- c. Release finalized vulnerability announcement on website and reddit /r/Monero
|
||||
- d. For HIGH severities, release finalized vulnerability announcement on well-known mailing lists:
|
||||
- i. oss-security@lists.openwall.com
|
||||
- ii. bugtraq@securityfocus.com
|
||||
- e. If applicable, developers request a CVE-ID
|
||||
- i. The commit that applied the fix is made reference too in a future commit and includes a CVE-ID
|
||||
|
||||
3. If the Incident Response process in section III is *not* successfully completed:
|
||||
- a. Response Team and developers organize an IRC meeting to discuss why/what points in section III were not resolved and how the team can resolve them in the future
|
||||
- b. Any developer meetings immediately following the incident should include points made in section V
|
||||
- c. If disputes arise about whether or when to disclose information about a vulnerability, the Response Team will publicly discuss the issue via IRC and attempt to reach consensus
|
||||
- d. If consensus on a timely disclosure is not met (no later than 90 days), the researcher (after 90 days) has every right to expose the vulnerability to the public
|
||||
|
||||
## V. Incident Analysis
|
||||
|
||||
1. Isolate codebase
|
||||
- a. Response Team and developers should coordinate to work on the following:
|
||||
- i. Problematic implementation of classes/libraries/functions, etc.
|
||||
- ii. Focus on apps/distro packaging, etc.
|
||||
- iii. Operator/config error, etc.
|
||||
|
||||
2. Auditing
|
||||
- a. Response Team and developers should coordinate to work on the following:
|
||||
- i. Auditing of problem area(s) as discussed in point 1
|
||||
- ii. Generate internal reports and store for future reference
|
||||
- iii. If results are not sensitive, share with the public via IRC or GitHub
|
||||
|
||||
3. Response Team has 45 days following completion of section III to ensure completion of section V
|
||||
|
||||
## VI. Resolutions
|
||||
|
||||
Any further questions or resolutions regarding the incident(s) between the researcher and response + development team after public disclosure can be addressed via the following:
|
||||
|
||||
- [GitHub](https://github.com/monero-project/monero/issues/)
|
||||
- [HackerOne](https://hackerone.com/monero)
|
||||
- [Reddit /r/Monero](https://reddit.com/r/Monero/)
|
||||
- IRC
|
||||
- Email
|
||||
|
||||
## VII. Continuous Improvement
|
||||
|
||||
1. Response Team and developers should hold annual meetings to review the previous year's incidents
|
||||
|
||||
2. Response Team or designated person(s) should give a brief presentation, including:
|
||||
- a. Areas of Monero affected by the incidents
|
||||
- b. Any network downtime or monetary cost (if any) of the incidents
|
||||
- c. Ways in which the incidents could have been avoided (if any)
|
||||
- d. How effective this process was in dealing with the incidents
|
||||
|
||||
3. After the presentation, Response Team and developers should discuss:
|
||||
- a. Potential changes to development processes to reduce future incidents
|
||||
- b. Potential changes to this process to improve future responses
|
||||
2
build.sh
2
build.sh
@@ -54,7 +54,7 @@ if [[ $platform == *bsd* ]]; then
|
||||
fi
|
||||
|
||||
# build libwallet
|
||||
$SHELL get_libwallet_api.sh $BUILD_TYPE
|
||||
./get_libwallet_api.sh $BUILD_TYPE
|
||||
|
||||
# build zxcvbn
|
||||
$MAKE -C src/zxcvbn-c || exit
|
||||
|
||||
@@ -116,7 +116,7 @@ Item {
|
||||
|
||||
Row {
|
||||
id: row2
|
||||
spacing: ((bar.width - 8) / 2) / 4
|
||||
spacing: bar.width / 14
|
||||
|
||||
Repeater {
|
||||
model: 4
|
||||
@@ -125,7 +125,7 @@ Item {
|
||||
id: delegateItem2
|
||||
currentX: x + row2.x
|
||||
currentIndex: index
|
||||
mainTick: currentIndex === 0 || currentIndex === 3 || currentIndex === 13
|
||||
mainTick: currentIndex === 0
|
||||
Component.onCompleted: {
|
||||
row.positions[currentIndex] = delegateItem2
|
||||
}
|
||||
@@ -135,7 +135,7 @@ Item {
|
||||
|
||||
Row {
|
||||
id: row1
|
||||
spacing: ((bar.width - 8) / 2) / 10
|
||||
spacing: bar.width / 14
|
||||
|
||||
Repeater {
|
||||
model: 10
|
||||
@@ -144,7 +144,7 @@ Item {
|
||||
id: delegateItem1
|
||||
currentX: x + row1.x
|
||||
currentIndex: index + 4
|
||||
mainTick: currentIndex === 0 || currentIndex === 3 || currentIndex === 13
|
||||
mainTick: currentIndex === 13
|
||||
Component.onCompleted: {
|
||||
row.positions[currentIndex] = delegateItem1
|
||||
}
|
||||
|
||||
@@ -53,7 +53,6 @@ Item {
|
||||
color: "#4A4949"
|
||||
text: {
|
||||
if(currentIndex === 0) return qsTr("Normal") + translationManager.emptyString
|
||||
if(currentIndex === 3) return qsTr("Medium") + translationManager.emptyString
|
||||
if(currentIndex === 13) return qsTr("High") + translationManager.emptyString
|
||||
return ""
|
||||
}
|
||||
@@ -65,7 +64,7 @@ Item {
|
||||
anchors.topMargin: 14
|
||||
width: 1
|
||||
color: "#DBDBDB"
|
||||
height: currentIndex === 8 ? 16 : 8
|
||||
height: 8
|
||||
visible: !parent.mainTick
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 151 KiB After Width: | Height: | Size: 151 KiB |
@@ -1,10 +1,14 @@
|
||||
; Monero GUI Wallet Beta 2 Installer for Windows
|
||||
; Monero Helium Hydra GUI Wallet Installer for Windows
|
||||
; Copyright (c) 2014-2017, The Monero Project
|
||||
; See LICENSE
|
||||
|
||||
[Setup]
|
||||
AppName=Monero GUI Wallet
|
||||
AppVersion=0.10.3.1
|
||||
; For InnoSetup this is the property that uniquely identifies the application as such
|
||||
; Thus it's important to keep this stable over releases
|
||||
; With a different "AppName" InnoSetup would treat a mere update as a completely new application and thus mess up
|
||||
|
||||
AppVersion=0.11.1.0
|
||||
DefaultDirName={pf}\Monero GUI Wallet
|
||||
DefaultGroupName=Monero GUI Wallet
|
||||
UninstallDisplayIcon={app}\monero-wallet-gui.exe
|
||||
@@ -36,7 +40,7 @@ Source: "FinishImage.bmp"; Flags: dontcopy
|
||||
Source: "bin\monero-wallet-gui.exe"; DestDir: "{app}"; Flags: comparetimestamp
|
||||
|
||||
; Monero GUI wallet log file
|
||||
; Beta 2 does not have the "--log-file" command-line option of the CLI wallet and insists to put the .log beside the .exe
|
||||
; The GUI wallet does not have the "--log-file" command-line option of the CLI wallet and insists to put the .log beside the .exe
|
||||
; so pre-create the file and give the necessary permissions to the wallet to write into it
|
||||
Source: "monero-wallet-gui.log"; DestDir: "{app}"; Flags: comparetimestamp; Permissions: users-modify
|
||||
|
||||
@@ -55,7 +59,9 @@ Source: "monero-daemon.bat"; DestDir: "{app}"; Flags: comparetimestamp;
|
||||
; Monero blockchain utilities
|
||||
Source: "bin\monero-blockchain-export.exe"; DestDir: "{app}"; Flags: comparetimestamp
|
||||
Source: "bin\monero-blockchain-import.exe"; DestDir: "{app}"; Flags: comparetimestamp
|
||||
Source: "bin\monero-utils-deserialize.exe"; DestDir: "{app}"; Flags: comparetimestamp
|
||||
|
||||
; was present in 0.10.3.1, not present anymore in 0.11.1.0
|
||||
; Source: "bin\monero-utils-deserialize.exe"; DestDir: "{app}"; Flags: comparetimestamp
|
||||
|
||||
; Various .qm files for translating the wallet UI "on the fly" into all supported languages
|
||||
Source: "bin\translations\*"; DestDir: "{app}\translations"; Flags: recursesubdirs comparetimestamp
|
||||
@@ -161,7 +167,8 @@ Source: "bin\libicuuc57.dll"; DestDir: "{app}"; Flags: comparetimestamp
|
||||
Source: "bin\libintl-8.dll"; DestDir: "{app}"; Flags: comparetimestamp
|
||||
|
||||
; JasPer, support for JPEG-2000
|
||||
Source: "bin\libjasper-1.dll"; DestDir: "{app}"; Flags: comparetimestamp
|
||||
; was present in 0.10.3.1, not present anymore in 0.11.1.0
|
||||
; Source: "bin\libjasper-1.dll"; DestDir: "{app}"; Flags: comparetimestamp
|
||||
|
||||
; libjpeg, C library for reading and writing JPEG image files
|
||||
Source: "bin\libjpeg-8.dll"; DestDir: "{app}"; Flags: comparetimestamp
|
||||
@@ -228,7 +235,7 @@ begin
|
||||
// Additional wizard page for entering a special blockchain location
|
||||
blockChainDefaultDir := ExpandConstant('{commonappdata}\bitmonero');
|
||||
s := 'The default folder to store the Monero blockchain is ' + blockChainDefaultDir;
|
||||
s := s + '. As this will need up to 20 GB of free space, you may want to use a folder on a different drive.';
|
||||
s := s + '. As this will need more than 30 GB of free space, you may want to use a folder on a different drive.';
|
||||
s := s + ' If yes, specify that folder here.';
|
||||
|
||||
BlockChainDirPage := CreateInputDirPage(wpSelectDir,
|
||||
@@ -334,7 +341,10 @@ Name: "{group}\Uninstall GUI Wallet"; Filename: "{uninstallexe}"
|
||||
; and insists on displaying ALL icons on one single level
|
||||
Name: "{group}\Utilities\Monero Daemon"; Filename: "{app}\monerod.exe"; Parameters: {code:DaemonFlags}
|
||||
Name: "{group}\Utilities\Read Me"; Filename: "{app}\ReadMe.htm"
|
||||
Name: "{group}\Utilities\Textual (CLI) Wallet"; Filename: "{app}\monero-wallet-cli.exe"
|
||||
|
||||
; CLI wallet: Needs a working directory ("Start in:") set in the icon, because with no such directory set
|
||||
; it tries to create new wallets without a path given in the probably non-writable program folder and will abort with an error
|
||||
Name: "{group}\Utilities\Textual (CLI) Wallet"; Filename: "{app}\monero-wallet-cli.exe"; WorkingDir: "{userdocs}\Monero\wallets"
|
||||
|
||||
; Icons for troubleshooting problems / testing / debugging
|
||||
; To show that they are in some way different (not for everyday use), make them visually different
|
||||
|
||||
@@ -1,26 +1,28 @@
|
||||
# Monero GUI Wallet Beta 2 Windows Installer #
|
||||
# Monero GUI Wallet Windows Installer #
|
||||
|
||||
Copyright (c) 2014-2017, The Monero Project
|
||||
|
||||
## Introduction ##
|
||||
|
||||
This is a *Inno Setup* script `Monero.iss` plus some related files that
|
||||
allows you to build a standalone Windows installer (.exe) for the
|
||||
Monero GUI Wallet Beta 2.
|
||||
This is a *Inno Setup* script `Monero.iss` plus some related files
|
||||
that allows you to build a standalone Windows installer (.exe) for
|
||||
the GUI wallet that comes with the Helium Hydra release of Monero.
|
||||
|
||||
This turns the GUI Wallet into a more or less standard Windows program,
|
||||
This turns the GUI wallet into a more or less standard Windows program,
|
||||
by default installed into a subdirectory of `C:\Program Files`, a
|
||||
program group with some icons in the *Start* menu, and automatic
|
||||
uninstall support. It helps lower the "barrier to entry" somewhat,
|
||||
especially for less technically experienced users of Monero.
|
||||
uninstall support. It helps lowering the "barrier to entry"
|
||||
somewhat, especially for less technically experienced users of
|
||||
Monero.
|
||||
|
||||
As the setup script in file [Monero.iss](Monero.iss) has to list every
|
||||
single file of the GUI Wallet package to install by name, this version
|
||||
of the script only works with exactly the GUI Beta 2 that you find on
|
||||
single file of the GUI wallet package to install by name,
|
||||
this version of the script only works with exactly the GUI wallet
|
||||
for Monero release *Helium Hydra* that you find on
|
||||
[the official download page](https://getmonero.org/downloads/).
|
||||
|
||||
But of course it will be easy to modify the script for future versions
|
||||
of the GUI Wallet.
|
||||
But of course it will be easy to modify the script for future
|
||||
versions of the GUI wallet.
|
||||
|
||||
## License ##
|
||||
|
||||
@@ -28,14 +30,15 @@ See [LICENSE](LICENSE).
|
||||
|
||||
## Building ##
|
||||
|
||||
You can only build on Windows, and the result is always a Windows .exe
|
||||
file that can act as a standalone installer for the GUI Wallet Beta 2.
|
||||
You can only build on Windows, and the result is always a
|
||||
Windows .exe file that can act as a standalone installer for the
|
||||
Helium Hydra GUI wallet.
|
||||
|
||||
The build steps in detail:
|
||||
|
||||
1. Install *Inno Setup*. You can get it from [here](http://www.jrsoftware.org/isdl.php)
|
||||
2. Get the Inno Setup script plus related files by cloning the whole [monero-core](https://github.com/monero-project/monero-core) repository; you will only need the files in the installer directory `installers\windows` however
|
||||
3. The setup script is written to take the GUI Wallet files from a subdirectory named `bin`; so create `installers\windows\bin`, get the zip file of the GUI Wallet Beta 2 from [here](https://getmonero.org/downloads/), unpack it somewhere, and copy all the files and subdirectories in the `monero-gui-0.10.3.1-beta2` directory to this `bin` subdirectory
|
||||
4. Start Inno Setup, load `Monero.iss` and compile it.
|
||||
2. Get the Inno Setup script plus related files by cloning the whole [monero-core GitHub repository](https://github.com/monero-project/monero-core); you will only need the files in the installer directory `installers\windows` however
|
||||
3. The setup script is written to take the GUI wallet files from a subdirectory named `bin`; so create `installers\windows\bin`, get the zip file of the GUI wallet from [here](https://getmonero.org/downloads/), unpack it somewhere, and copy all the files and subdirectories in the `monero-gui-0.11.1.0` directory to this `bin` subdirectory
|
||||
4. Start Inno Setup, load `Monero.iss` and compile it
|
||||
5. The result i.e. the finished installer will be the file `mysetup.exe` in the `installers\windows\Output` subdirectory
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Monero GUI Wallet Beta 2</title>
|
||||
<title>Monero Helium Hydra GUI Wallet</title>
|
||||
</head>
|
||||
|
||||
<body style="font-family: Arial, Helvetica, sans-serif">
|
||||
<h1>Monero GUI Wallet Beta 2</h1>
|
||||
<h1>Monero Helium Hydra GUI Wallet</h1>
|
||||
|
||||
<p>Copyright (c) 2014-2017, The Monero Project<br>
|
||||
Date: June 28, 2017</p>
|
||||
Date: September 19, 2017</p>
|
||||
|
||||
<h2>Preface</h2>
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
|
||||
<h2>Content of the Package</h2>
|
||||
|
||||
<p>You just installed the Beta 2 of the <i>Monero GUI Wallet</i> for Windows, more exact version 0.10.3.1. The wallet
|
||||
enables you to send and receive moneroj in a secure and very private way.
|
||||
<p>You just installed the <i>Monero GUI wallet</i> for Windows, release Helium Hydra, more exact version 0.11.1.0.
|
||||
The wallet enables you to send and receive Moneroj in a secure and very private way.
|
||||
</p>
|
||||
|
||||
<p>Also included is the <i>Monero daemon</i>, so you have everything now to run a so-called <i>full node</i>
|
||||
@@ -33,7 +33,22 @@
|
||||
|
||||
<p>For checking whether there are already newer versions of this package you can go to the
|
||||
<a href="https://getmonero.org/downloads/">Downloads</a> page on <a href="https://getmonero.org/home">getmonero.org</a>,
|
||||
the official Monero site.</p>
|
||||
the official Monero site.</p>
|
||||
|
||||
<h2>Upgrading</h2>
|
||||
|
||||
<p>If you have already a release of the GUI wallet software on your computer that was installed with the help
|
||||
of this installer (in an earlier version), upgrading is easy: Just run the new installer; there is no need to
|
||||
uninstall the old Monero release first.</p>
|
||||
|
||||
<p>But if you run a release of the GUI wallet software that you downloaded as a .zip file and unzipped into a
|
||||
folder, if you "installed it manually" so to say, don't try to upgrade by pointing the installer to that folder,
|
||||
because this might lead to problems e.g. if you try to uninstall everything later.</p>
|
||||
|
||||
<p>It's better to let the installer put the software into another folder and then delete the old folder, either
|
||||
outright or after moving away any additional files that you may have stored there. (If you did not change
|
||||
default locations for wallets and the blockchain, you don't have to worry about them, they won't be in that
|
||||
particular folder, but elsewhere "in safety".)</p>
|
||||
|
||||
<h2>Access to the Blockchain</h2>
|
||||
|
||||
@@ -46,7 +61,7 @@
|
||||
provides the most security and privacy possible for you.</p>
|
||||
|
||||
<p>However if your Internet access makes it difficult to run a full node, or if you have simply no room to store
|
||||
the blockchain locally (over 17 GB in summer 2017, and of course growing), you can compromise and try to connect
|
||||
the blockchain locally (over 30 GB in fall 2017, and of course growing), you can compromise and try to connect
|
||||
to a remote node. One way of finding such a node is checking
|
||||
<a href="https://moneroworld.com/pages/nodes.html">this page</a>.
|
||||
</p>
|
||||
@@ -90,21 +105,13 @@
|
||||
|
||||
<h2>Troubleshooting</h2>
|
||||
|
||||
<p>The Monero software and especially the GUI wallet are "work in progress", as you can expect seeing the word
|
||||
<i>Beta</i> in the name of the package, and sometimes things go wrong.</p>
|
||||
<p>The Monero software and especially the GUI wallet are "work in progress", and sometimes things go wrong.</p>
|
||||
|
||||
<p>Please note that despite any technical problems that you may encounter your moneroj are almost always safe: You may
|
||||
not be able to move them or you even may not see how many you currently have, but you most probably won't loose any.
|
||||
But do remember that the seed needed to re-create the wallet <b>is</b> critical, however: <b>Never loose your
|
||||
seed!</b></p>
|
||||
|
||||
<p>There is a <b>bug</b> in this beta of the GUI wallet that triggers if it is installed in a path that contains spaces /
|
||||
blank characters, like the default location for Windows programs <i>C:\Program Files</i> unfortunately does.
|
||||
Symptoms are problems in the communication between the wallet and the daemon, e.g. the wallet not "seeing" the
|
||||
daemon and then not knowing whether it is "synchronized" with the network and thus ready to work or not. You can
|
||||
avoid these problems by starting the daemon yourself, with the help of the <i>Monero Daemon</i> icon in the
|
||||
<i>Utilities</i> sub-folder of the Monero program group.</p>
|
||||
|
||||
<p>In the <i>Utilities</i> sub-folder there are several more icons that may help you to solve problems.
|
||||
These are the icons with a <i>x</i> in front and the name <i>(in parenthesis)</i> to make them visually stand
|
||||
apart from the "normal" ones because you will probably only need them in case of trouble, but not during normal
|
||||
@@ -142,15 +149,15 @@
|
||||
<tr>
|
||||
<td><i>x (Check GUI Wallet Log)</i></td>
|
||||
<td>Open the log with status and error messages of the GUI wallet program in Notepad;
|
||||
experienced people have a chance to diagnose technical problems with the wallet by looking at the last few lines
|
||||
of this log</td>
|
||||
experienced people have a chance to diagnose technical problems with the wallet,
|
||||
usually by looking at the last few lines of this log</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><i>x (Check Daemon Log)</i></td>
|
||||
<td>
|
||||
Open the log with status and error messages of the daemon in Notepad; again, the last few
|
||||
lines of this (possible very long) log are the most important for troubleshooting
|
||||
lines of this (possible very long) log are usually the most important for troubleshooting
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 440 KiB After Width: | Height: | Size: 440 KiB |
BIN
lang/flags/romania.png
Normal file
BIN
lang/flags/romania.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.3 KiB |
@@ -37,4 +37,5 @@ List of available languages for your wallet's seed:
|
||||
<language display_name="繁體中文 (台灣)" locale="zh-tw_CN" wallet_language="English" flag="/lang/flags/taiwan.png" qs="none"/>
|
||||
<language display_name="עברית" locale="he_HE" wallet_language="English" flag="/lang/flags/israel.png" qs="none"/>
|
||||
<language display_name="한국어" locale="ko_KO" wallet_language="English" flag="/lang/flags/south_korea.png" qs="none"/>
|
||||
<language display_name="Română" locale="ro_RO" wallet_language="English" flag="/lang/flags/romania.png" qs="none"/>
|
||||
</languages>
|
||||
|
||||
37
main.qml
37
main.qml
@@ -880,7 +880,7 @@ ApplicationWindow {
|
||||
property bool allow_background_mining : false
|
||||
property bool miningIgnoreBattery : true
|
||||
property bool testnet: false
|
||||
property string daemon_address: "localhost:18081"
|
||||
property string daemon_address: testnet ? "localhost:28081" : "localhost:18081"
|
||||
property string payment_id
|
||||
property int restore_height : 0
|
||||
property bool is_recovering : false
|
||||
@@ -912,13 +912,25 @@ ApplicationWindow {
|
||||
id: transactionConfirmationPopup
|
||||
onAccepted: {
|
||||
close();
|
||||
|
||||
// Save transaction to file if view only wallet
|
||||
if(viewOnly) {
|
||||
saveTxDialog.open();
|
||||
return;
|
||||
} else
|
||||
handleTransactionConfirmed()
|
||||
transactionConfirmationPasswordDialog.onAcceptedCallback = function() {
|
||||
if(appWindow.password === transactionConfirmationPasswordDialog.password){
|
||||
// Save transaction to file if view only wallet
|
||||
if(viewOnly) {
|
||||
saveTxDialog.open();
|
||||
} else {
|
||||
handleTransactionConfirmed()
|
||||
}
|
||||
} else {
|
||||
informationPopup.title = qsTr("Error") + translationManager.emptyString;
|
||||
informationPopup.text = qsTr("Wrong password");
|
||||
informationPopup.open()
|
||||
informationPopup.onCloseCallback = function() {
|
||||
transactionConfirmationPasswordDialog.open()
|
||||
}
|
||||
}
|
||||
transactionConfirmationPasswordDialog.password = ""
|
||||
}
|
||||
transactionConfirmationPasswordDialog.open()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -968,6 +980,15 @@ ApplicationWindow {
|
||||
|
||||
}
|
||||
|
||||
PasswordDialog {
|
||||
id: transactionConfirmationPasswordDialog
|
||||
property var onAcceptedCallback
|
||||
onAccepted: {
|
||||
if (onAcceptedCallback())
|
||||
onAcceptedCallback();
|
||||
}
|
||||
}
|
||||
|
||||
DaemonManagerDialog {
|
||||
id: daemonManagerDialog
|
||||
onRejected: {
|
||||
|
||||
@@ -91,7 +91,8 @@ LIBS += -L$$WALLET_ROOT/lib \
|
||||
-lwallet_merged \
|
||||
-lepee \
|
||||
-lunbound \
|
||||
-leasylogging
|
||||
-leasylogging \
|
||||
-lreadline \
|
||||
}
|
||||
|
||||
|
||||
@@ -303,6 +304,7 @@ TRANSLATIONS = \ # English is default language, no explicit translation file
|
||||
$$PWD/translations/monero-core_zh-tw.ts \ # Chinese (Traditional-Taiwan)
|
||||
$$PWD/translations/monero-core_he.ts \ # Hebrew
|
||||
$$PWD/translations/monero-core_ko.ts \ # Korean
|
||||
$$PWD/translations/monero-core_ro.ts \ # Romanian
|
||||
|
||||
CONFIG(release, debug|release) {
|
||||
DESTDIR = release/bin
|
||||
|
||||
@@ -497,9 +497,76 @@ Rectangle {
|
||||
text: qsTr("Embedded Monero version: ") + Version.GUI_MONERO_VERSION + translationManager.emptyString
|
||||
}
|
||||
TextBlock {
|
||||
id: restoreHeightText
|
||||
Layout.fillWidth: true
|
||||
text: (typeof currentWallet == "undefined") ? "" : qsTr("Wallet creation height: ") + currentWallet.walletCreationHeight + translationManager.emptyString
|
||||
textFormat: Text.RichText
|
||||
property var txt: "<style type='text/css'>a {text-decoration: none; color: #FF6C3C}</style>" + qsTr("Wallet creation height: ") + currentWallet.walletCreationHeight + translationManager.emptyString
|
||||
property var linkTxt: qsTr(" <a href='#'>(Click to change)</a>") + translationManager.emptyString
|
||||
text: (typeof currentWallet == "undefined") ? "" : txt + linkTxt
|
||||
|
||||
onLinkActivated: {
|
||||
restoreHeightRow.visible = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
id: restoreHeightRow
|
||||
visible: false
|
||||
LineEdit {
|
||||
id: restoreHeight
|
||||
Layout.preferredWidth: 80
|
||||
Layout.fillWidth: true
|
||||
text: currentWallet.walletCreationHeight
|
||||
validator: IntValidator {
|
||||
bottom:0
|
||||
}
|
||||
}
|
||||
|
||||
StandardButton {
|
||||
id: restoreHeightSave
|
||||
Layout.fillWidth: false
|
||||
Layout.leftMargin: 30
|
||||
text: qsTr("Save") + translationManager.emptyString
|
||||
shadowReleasedColor: "#FF4304"
|
||||
shadowPressedColor: "#B32D00"
|
||||
releasedColor: "#FF6C3C"
|
||||
pressedColor: "#FF4304"
|
||||
|
||||
onClicked: {
|
||||
currentWallet.walletCreationHeight = restoreHeight.text
|
||||
// Restore height is saved in .keys file. Set password to trigger rewrite.
|
||||
currentWallet.setPassword(appWindow.password)
|
||||
restoreHeightRow.visible = false
|
||||
|
||||
// Show confirmation dialog
|
||||
confirmationDialog.title = qsTr("Rescan wallet cache") + translationManager.emptyString;
|
||||
confirmationDialog.text = qsTr("Are you sure you want to rebuild the wallet cache?\n"
|
||||
+ "The following information will be deleted\n"
|
||||
+ "- Recipient addresses\n"
|
||||
+ "- Tx keys\n"
|
||||
+ "- Tx descriptions\n\n"
|
||||
+ "The old wallet cache file will be renamed and can be restored later.\n"
|
||||
);
|
||||
confirmationDialog.icon = StandardIcon.Question
|
||||
confirmationDialog.cancelText = qsTr("Cancel")
|
||||
confirmationDialog.onAcceptedCallback = function() {
|
||||
walletManager.closeWallet();
|
||||
walletManager.clearWalletCache(persistentSettings.wallet_path);
|
||||
walletManager.openWalletAsync(persistentSettings.wallet_path, appWindow.password,
|
||||
persistentSettings.testnet);
|
||||
}
|
||||
|
||||
confirmationDialog.onRejectedCallback = null;
|
||||
|
||||
confirmationDialog.open()
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
TextBlock {
|
||||
Layout.fillWidth: true
|
||||
text: (typeof currentWallet == "undefined") ? "" : qsTr("Wallet log path: ") + currentWallet.walletLogPath + translationManager.emptyString
|
||||
|
||||
@@ -45,7 +45,7 @@ Rectangle {
|
||||
property bool showAdvanced: false
|
||||
|
||||
function scaleValueToMixinCount(scaleValue) {
|
||||
var scaleToMixinCount = [4,5,6,7,8,9,10,11,12,13,14,15,20,25];
|
||||
var scaleToMixinCount = [4,5,6,7,8,9,10,11,12,14,16,18,21,25];
|
||||
if (scaleValue < scaleToMixinCount.length) {
|
||||
return scaleToMixinCount[scaleValue];
|
||||
} else {
|
||||
|
||||
1
qml.qrc
1
qml.qrc
@@ -121,6 +121,7 @@
|
||||
<file>lang/flags/usa.png</file>
|
||||
<file>lang/flags/israel.png</file>
|
||||
<file>lang/flags/south_korea.png</file>
|
||||
<file>lang/flags/romania.png</file>
|
||||
<file>wizard/WizardManageWalletUI.qml</file>
|
||||
<file>wizard/WizardRecoveryWallet.qml</file>
|
||||
<file>wizard/WizardMemoTextInput.qml</file>
|
||||
|
||||
@@ -45,7 +45,7 @@ QList<TransactionInfo *> TransactionHistory::getAll() const
|
||||
if (ti->timestamp() <= firstDateTime) {
|
||||
firstDateTime = ti->timestamp();
|
||||
}
|
||||
quint64 requiredConfirmations = (ti->blockHeight() < ti->unlockTime()) ? ti->unlockTime() - ti->blockHeight() : 0;
|
||||
quint64 requiredConfirmations = (ti->blockHeight() < ti->unlockTime()) ? ti->unlockTime() - ti->blockHeight() : 10;
|
||||
// store last tx height
|
||||
if (ti->confirmations() < requiredConfirmations && ti->blockHeight() >= lastTxHeight) {
|
||||
lastTxHeight = ti->blockHeight();
|
||||
|
||||
@@ -207,6 +207,7 @@ void Wallet::initAsync(const QString &daemonAddress, quint64 upperTransactionLim
|
||||
QFuture<bool> future = watcher->future();
|
||||
watcher->deleteLater();
|
||||
if(future.result()){
|
||||
emit walletCreationHeightChanged();
|
||||
qDebug() << "init async finished - starting refresh";
|
||||
connected(true);
|
||||
m_walletImpl->startRefresh();
|
||||
@@ -599,6 +600,12 @@ bool Wallet::useForkRules(quint8 required_version, quint64 earlyBlocks) const
|
||||
}
|
||||
}
|
||||
|
||||
void Wallet::setWalletCreationHeight(quint64 height)
|
||||
{
|
||||
m_walletImpl->setRefreshFromBlockHeight(height);
|
||||
emit walletCreationHeightChanged();
|
||||
}
|
||||
|
||||
QString Wallet::getDaemonLogPath() const
|
||||
{
|
||||
return QString::fromStdString(m_walletImpl->getDefaultDataDir()) + "/bitmonero.log";
|
||||
|
||||
@@ -47,7 +47,7 @@ class Wallet : public QObject
|
||||
Q_PROPERTY(QString publicSpendKey READ getPublicSpendKey)
|
||||
Q_PROPERTY(QString daemonLogPath READ getDaemonLogPath CONSTANT)
|
||||
Q_PROPERTY(QString walletLogPath READ getWalletLogPath CONSTANT)
|
||||
Q_PROPERTY(quint64 walletCreationHeight READ getWalletCreationHeight CONSTANT)
|
||||
Q_PROPERTY(quint64 walletCreationHeight READ getWalletCreationHeight WRITE setWalletCreationHeight NOTIFY walletCreationHeightChanged)
|
||||
|
||||
public:
|
||||
|
||||
@@ -245,6 +245,8 @@ public:
|
||||
QString getPublicSpendKey() const {return QString::fromStdString(m_walletImpl->publicSpendKey());}
|
||||
|
||||
quint64 getWalletCreationHeight() const {return m_walletImpl->getRefreshFromBlockHeight();}
|
||||
void setWalletCreationHeight(quint64 height);
|
||||
|
||||
QString getDaemonLogPath() const;
|
||||
QString getWalletLogPath() const;
|
||||
|
||||
@@ -263,6 +265,7 @@ signals:
|
||||
void unconfirmedMoneyReceived(const QString &txId, quint64 amount);
|
||||
void newBlock(quint64 height, quint64 targetHeight);
|
||||
void historyModelChanged() const;
|
||||
void walletCreationHeightChanged();
|
||||
|
||||
// emitted when transaction is created async
|
||||
void transactionCreated(PendingTransaction * transaction, QString address, QString paymentId, quint32 mixinCount);
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "TransactionInfo.h"
|
||||
|
||||
#include <QDateTime>
|
||||
#include <QDebug>
|
||||
|
||||
|
||||
TransactionHistoryModel::TransactionHistoryModel(QObject *parent)
|
||||
@@ -86,7 +87,7 @@ QVariant TransactionHistoryModel::data(const QModelIndex &index, int role) const
|
||||
result = tInfo->confirmations();
|
||||
break;
|
||||
case TransactionConfirmationsRequiredRole:
|
||||
result = (tInfo->blockHeight() < tInfo->unlockTime()) ? tInfo->unlockTime() - tInfo->blockHeight() : 0;
|
||||
result = (tInfo->blockHeight() < tInfo->unlockTime()) ? tInfo->unlockTime() - tInfo->blockHeight() : 10;
|
||||
break;
|
||||
case TransactionHashRole:
|
||||
result = tInfo->hash();
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
<message>
|
||||
<location filename="../pages/AddressBook.qml" line="71"/>
|
||||
<source>QRCODE</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>QR koodi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/AddressBook.qml" line="93"/>
|
||||
<source>4...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>4...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/AddressBook.qml" line="102"/>
|
||||
@@ -31,37 +31,37 @@
|
||||
<message>
|
||||
<location filename="../pages/AddressBook.qml" line="114"/>
|
||||
<source>Paste 64 hexadecimal characters</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Liitä 64 heksadesimaalimerkkiä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/AddressBook.qml" line="123"/>
|
||||
<source>Description <font size='2'>(Optional)</font></source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Kuvaus <font size='2'>(Valinnainen)</font></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/AddressBook.qml" line="135"/>
|
||||
<source>Give this entry a name or description</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Anna tähän nimi tai kuvaus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/AddressBook.qml" line="151"/>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Lisää</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/AddressBook.qml" line="156"/>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished">Virhe</translation>
|
||||
<translation>Virhe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/AddressBook.qml" line="159"/>
|
||||
<source>Invalid address</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Virheellinen osoite</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/AddressBook.qml" line="163"/>
|
||||
<source>Can't create entry</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Ei voida lisätä merkintää</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -105,12 +105,12 @@
|
||||
<message>
|
||||
<location filename="../components/DaemonConsole.qml" line="117"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Sulje</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/DaemonConsole.qml" line="128"/>
|
||||
<source>command + enter (e.g help)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Käsky + enter (esim. help)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -118,17 +118,17 @@
|
||||
<message>
|
||||
<location filename="../components/DaemonManagerDialog.qml" line="93"/>
|
||||
<source>Starting Monero daemon in %1 seconds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Käynnistetään Monero taustaohjelma %1 sekunnin kuluttua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/DaemonManagerDialog.qml" line="115"/>
|
||||
<source>Start daemon (%1)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Käynnistä taustaohjelma (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/DaemonManagerDialog.qml" line="132"/>
|
||||
<source>Use custom settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Käytä omavalintaisia asetuksia</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -187,12 +187,12 @@
|
||||
<message>
|
||||
<location filename="../pages/History.qml" line="183"/>
|
||||
<source>Type for incremental search...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Kirjoita hakeaksesi...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/History.qml" line="276"/>
|
||||
<source>Filter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Filtteri</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/History.qml" line="223"/>
|
||||
@@ -248,7 +248,7 @@
|
||||
<message>
|
||||
<location filename="../components/HistoryTable.qml" line="52"/>
|
||||
<source>Destinations:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Kohteet:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/HistoryTable.qml" line="78"/>
|
||||
@@ -268,17 +268,17 @@
|
||||
<message>
|
||||
<location filename="../components/HistoryTable.qml" line="266"/>
|
||||
<source>(%1/10 confirmations)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>(%1/10 vahvistusta)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/HistoryTable.qml" line="270"/>
|
||||
<source>UNCONFIRMED</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>VAHVISTAMATON</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/HistoryTable.qml" line="271"/>
|
||||
<source>PENDING</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>VIREILLÄ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/HistoryTable.qml" line="300"/>
|
||||
@@ -336,47 +336,47 @@
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="93"/>
|
||||
<source>Testnet</source>
|
||||
<translation type="unfinished">Testnet</translation>
|
||||
<translation>Testnet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="304"/>
|
||||
<source>Address book</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Osoitekirja</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="305"/>
|
||||
<source>B</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>B</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="354"/>
|
||||
<source>H</source>
|
||||
<translation></translation>
|
||||
<translation>H</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="376"/>
|
||||
<source>Advanced</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Edistynyt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="377"/>
|
||||
<source>D</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>D</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="398"/>
|
||||
<source>Mining</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Louhinta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="399"/>
|
||||
<source>M</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>M</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="422"/>
|
||||
<source>Check payment</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Tarkista maksu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="446"/>
|
||||
@@ -386,17 +386,17 @@
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="470"/>
|
||||
<source>E</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>E</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="280"/>
|
||||
<source>S</source>
|
||||
<translation></translation>
|
||||
<translation>S</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="447"/>
|
||||
<source>I</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>I</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="469"/>
|
||||
@@ -409,12 +409,12 @@
|
||||
<message>
|
||||
<location filename="../MiddlePanel.qml" line="46"/>
|
||||
<source>Balance</source>
|
||||
<translation type="unfinished">Saldo</translation>
|
||||
<translation>Saldo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MiddlePanel.qml" line="48"/>
|
||||
<source>Unlocked Balance</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Lukittamaton Saldo</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -422,17 +422,17 @@
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="73"/>
|
||||
<source>Solo mining</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Soololouhinta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="80"/>
|
||||
<source>(only available for local daemons)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>(saatavilla vain paikallisille taustaohjelmille)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="86"/>
|
||||
<source>Mining with your computer helps strengthen the Monero network. The more that people mine, the harder it is for the network to be attacked, and every little bit helps.<br> <br>Mining also gives you a small chance to earn some Monero. Your computer will create hashes looking for block solutions. If you find a block, you will get the associated reward. Good luck!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Louhinta tietokoneellasi auttaa vahvistamaan Moneroverkkoa. Mitä enemmän ihmiset louhivat, sitä vaikeampaa on hyökätä verkkoon ja jokainen pieni osa auttaa.<br> <br>Louhinta myös antaa sinulle pienen mahdollisuuden ansaita vähän Moneroa. Tietokoneesi luo haketta etsien lohkon ratkaisuja. Jos löydät lohkon, saat siihen liittyvän palkinnon. Onnea!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="96"/>
|
||||
@@ -442,17 +442,17 @@
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="104"/>
|
||||
<source>(optional)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>(valinnainen)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="116"/>
|
||||
<source>Background mining (experimental)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Louhinta taustalla (kokeellinen)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="132"/>
|
||||
<source>Enable mining when running on battery</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Salli louhinta akkuvirralla</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="142"/>
|
||||
@@ -462,12 +462,12 @@
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="151"/>
|
||||
<source>Start mining</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Aloita louhinta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="161"/>
|
||||
<source>Error starting mining</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Virhe louhinnan aloittamisessa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="162"/>
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
<message>
|
||||
<location filename="../pages/AddressBook.qml" line="114"/>
|
||||
<source>Paste 64 hexadecimal characters</source>
|
||||
<translation>64 자리 16 진수 문자 붙여 넣기</translation>
|
||||
<translation> 16진수 문자 64자 붙여넣기</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/AddressBook.qml" line="123"/>
|
||||
@@ -74,7 +74,7 @@
|
||||
<message>
|
||||
<location filename="../components/AddressBookTable.qml" line="104"/>
|
||||
<source>Payment ID:</source>
|
||||
<translation>결제 신분증:</translation>
|
||||
<translation>결제 아이디:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -82,7 +82,7 @@
|
||||
<message>
|
||||
<location filename="../BasicPanel.qml" line="97"/>
|
||||
<source>Locked Balance:</source>
|
||||
<translation>잠김 된 잔액:</translation>
|
||||
<translation>잠금된 잔액:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../BasicPanel.qml" line="110"/>
|
||||
@@ -92,7 +92,7 @@
|
||||
<message>
|
||||
<location filename="../BasicPanel.qml" line="133"/>
|
||||
<source>Available Balance:</source>
|
||||
<translation>사용 가능한 잔액:</translation>
|
||||
<translation>사용가능한 잔액:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../BasicPanel.qml" line="146"/>
|
||||
@@ -110,7 +110,7 @@
|
||||
<message>
|
||||
<location filename="../components/DaemonConsole.qml" line="128"/>
|
||||
<source>command + enter (e.g help)</source>
|
||||
<translation>명령 + 들어가다 (예: 도움)</translation>
|
||||
<translation>커멘드 + 엔터 (예: 도움말)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -118,7 +118,7 @@
|
||||
<message>
|
||||
<location filename="../components/DaemonManagerDialog.qml" line="93"/>
|
||||
<source>Starting Monero daemon in %1 seconds</source>
|
||||
<translation>%1 초 내에 모네로 데몬 시작하기</translation>
|
||||
<translation>모네로 데몬이 %1 초 후 실행됩니다</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/DaemonManagerDialog.qml" line="115"/>
|
||||
@@ -177,17 +177,17 @@
|
||||
<message>
|
||||
<location filename="../pages/History.qml" line="70"/>
|
||||
<source> selected: </source>
|
||||
<translation> 선택된: </translation>
|
||||
<translation> 선택된 항목: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/History.qml" line="135"/>
|
||||
<source>Filter transaction history</source>
|
||||
<translation>거래 내역 정렬</translation>
|
||||
<translation>거래내역 정렬</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/History.qml" line="183"/>
|
||||
<source>Type for incremental search...</source>
|
||||
<translation>증분 검색 유형...</translation>
|
||||
<translation>자동완성 검색을 위해 검색어 입력...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/History.qml" line="276"/>
|
||||
@@ -218,7 +218,7 @@
|
||||
<message>
|
||||
<location filename="../pages/History.qml" line="370"/>
|
||||
<source>Amount from</source>
|
||||
<translation>부터금액</translation>
|
||||
<translation>부터 금액</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -226,23 +226,23 @@
|
||||
<message>
|
||||
<location filename="../components/HistoryTable.qml" line="48"/>
|
||||
<source>Tx ID:</source>
|
||||
<translation>거래 신분증:</translation>
|
||||
<translation>거래 아이디:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/HistoryTable.qml" line="49"/>
|
||||
<location filename="../components/HistoryTable.qml" line="203"/>
|
||||
<source>Payment ID:</source>
|
||||
<translation>결제 신분증:</translation>
|
||||
<translation>결제 아이디:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/HistoryTable.qml" line="50"/>
|
||||
<source>Tx key:</source>
|
||||
<translation>거래 건:</translation>
|
||||
<translation>거래 암호:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/HistoryTable.qml" line="51"/>
|
||||
<source>Tx note:</source>
|
||||
<translation>거래 참고</translation>
|
||||
<translation>거래 메모</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/HistoryTable.qml" line="52"/>
|
||||
@@ -257,17 +257,17 @@
|
||||
<message>
|
||||
<location filename="../components/HistoryTable.qml" line="110"/>
|
||||
<source>Details</source>
|
||||
<translation>명세</translation>
|
||||
<translation>상세 내용</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/HistoryTable.qml" line="251"/>
|
||||
<source>BlockHeight:</source>
|
||||
<translation>블록헤이트:</translation>
|
||||
<translation>블록하이트:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/HistoryTable.qml" line="266"/>
|
||||
<source>(%1/%2 confirmations)</source>
|
||||
<translation type="unfinished">(%1/10 확인) {1/%2 ?}</translation>
|
||||
<translation type="unfinished">(%1/%2의 컨퍼메이션}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/HistoryTable.qml" line="270"/>
|
||||
@@ -305,7 +305,7 @@
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="177"/>
|
||||
<source>Unlocked balance</source>
|
||||
<translation>잠겨 있지 않은 잔액</translation>
|
||||
<translation>잠금해제된 잔액</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="279"/>
|
||||
@@ -315,22 +315,22 @@
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="329"/>
|
||||
<source>Receive</source>
|
||||
<translation>받다</translation>
|
||||
<translation>수취</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="353"/>
|
||||
<source>History</source>
|
||||
<translation>연대기</translation>
|
||||
<translation>내역</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="93"/>
|
||||
<source>Testnet</source>
|
||||
<translation>테스트 넷</translation>
|
||||
<translation>테스트넷</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="280"/>
|
||||
<source>S</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">S</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="304"/>
|
||||
@@ -340,17 +340,17 @@
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="305"/>
|
||||
<source>B</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">B</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="330"/>
|
||||
<source>R</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">R</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="354"/>
|
||||
<source>H</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">H</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="376"/>
|
||||
@@ -360,7 +360,7 @@
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="377"/>
|
||||
<source>D</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">D</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="398"/>
|
||||
@@ -370,7 +370,7 @@
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="399"/>
|
||||
<source>M</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">M</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="422"/>
|
||||
@@ -380,7 +380,7 @@
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="423"/>
|
||||
<source>K</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">K</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="446"/>
|
||||
@@ -390,17 +390,17 @@
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="447"/>
|
||||
<source>I</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">I</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="469"/>
|
||||
<source>Settings</source>
|
||||
<translation>조정</translation>
|
||||
<translation>환경설정</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../LeftPanel.qml" line="470"/>
|
||||
<source>E</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation type="unfinished">E</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -413,7 +413,7 @@
|
||||
<message>
|
||||
<location filename="../MiddlePanel.qml" line="48"/>
|
||||
<source>Unlocked Balance</source>
|
||||
<translation>잠겨 있지 않은 잔액</translation>
|
||||
<translation>잠금해제된 잔액</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -421,7 +421,7 @@
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="73"/>
|
||||
<source>Solo mining</source>
|
||||
<translation>혼자 마이닝</translation>
|
||||
<translation>개별 마이닝</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="80"/>
|
||||
@@ -431,7 +431,7 @@
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="86"/>
|
||||
<source>Mining with your computer helps strengthen the Monero network. The more that people mine, the harder it is for the network to be attacked, and every little bit helps.<br> <br>Mining also gives you a small chance to earn some Monero. Your computer will create hashes looking for block solutions. If you find a block, you will get the associated reward. Good luck!</source>
|
||||
<translation>컴퓨터 마이닝은 모네로 네트워크를 강화합니다. 마이닝은 네트워크 공격을 더욱 어렵게 만들고 네트워크를 강화합니다. 마이닝은 약간의 모네로를 벌 수있는 작은 기회를 제공합니다. 컴퓨터가 블록 솔루션을 찾는 해시를 만듭니다. 블록을 찾으면 관련 보상을 받게됩니다. 행운을 빕니다!</translation>
|
||||
<translation>당신의 컴퓨터로 마이닝을 하면 모네로 네트워크가 강화됩니다. 더 많은 사람이 조금씩이라도 마이닝을 시행할수록 네트워크가 공격으로부터 안전해집니다. 또한 마이닝은 약간의 모네로를 벌 수있는 작은 기회를 제공합니다. 컴퓨터가 마이닝을 시행하면, 블록 솔루션을 찾는 해시를 만들고, 맞는 블록을 찾으면 해당하는 보상을 받게됩니다. 행운을 빕니다!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="96"/>
|
||||
@@ -446,12 +446,12 @@
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="116"/>
|
||||
<source>Background mining (experimental)</source>
|
||||
<translation>배경 마이닝 (실험적)</translation>
|
||||
<translation>백그라운드 마이닝 (실험적 기능)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="132"/>
|
||||
<source>Enable mining when running on battery</source>
|
||||
<translation>배터리로 실행할 때 마이닝 사용</translation>
|
||||
<translation>배터리로 구동시 마이닝 사용가능</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="142"/>
|
||||
@@ -491,7 +491,7 @@
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="203"/>
|
||||
<source>Mining at %1 H/s</source>
|
||||
<translation>마이닝 %1 H/s</translation>
|
||||
<translation> %1 H/s 로 마이닝 중</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Mining.qml" line="206"/>
|
||||
@@ -509,7 +509,7 @@
|
||||
<message>
|
||||
<location filename="../components/MobileHeader.qml" line="94"/>
|
||||
<source>Unlocked Balance:</source>
|
||||
<translation>잠겨 있지 않은 잔액</translation>
|
||||
<translation>잠금해제된 잔액</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -573,7 +573,7 @@
|
||||
<message>
|
||||
<location filename="../components/PrivacyLevelSmall.qml" line="100"/>
|
||||
<source>Low</source>
|
||||
<translation>낮은</translation>
|
||||
<translation>낮음</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/PrivacyLevelSmall.qml" line="109"/>
|
||||
@@ -583,7 +583,7 @@
|
||||
<message>
|
||||
<location filename="../components/PrivacyLevelSmall.qml" line="118"/>
|
||||
<source>High</source>
|
||||
<translation>높은</translation>
|
||||
<translation>높음</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -601,7 +601,7 @@
|
||||
<message>
|
||||
<location filename="../components/ProgressBar.qml" line="100"/>
|
||||
<source>Synchronizing blocks</source>
|
||||
<translation>블록 동기화</translation>
|
||||
<translation>블록 동기화 중</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -609,7 +609,7 @@
|
||||
<message>
|
||||
<location filename="../pages/Receive.qml" line="64"/>
|
||||
<source>Invalid payment ID</source>
|
||||
<translation>잘못된 결제 신분증</translation>
|
||||
<translation>잘못된 결제 아이디</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Receive.qml" line="107"/>
|
||||
@@ -619,7 +619,7 @@
|
||||
<message>
|
||||
<location filename="../pages/Receive.qml" line="129"/>
|
||||
<source>in the txpool: %1</source>
|
||||
<translation>트랜잭션 풀에서: %1</translation>
|
||||
<translation>트랜잭션풀에 포함: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Receive.qml" line="136"/>
|
||||
@@ -649,12 +649,12 @@
|
||||
<message>
|
||||
<location filename="../pages/Receive.qml" line="156"/>
|
||||
<source> with more money (%1)</source>
|
||||
<translation> 더 많은 돈으로 (%1)</translation>
|
||||
<translation> 더 많은 금액 (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Receive.qml" line="158"/>
|
||||
<source> with not enough money (%1)</source>
|
||||
<translation> 충분하지 않은 돈으로 (%1)</translation>
|
||||
<translation> 부족한 금액 (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Receive.qml" line="190"/>
|
||||
@@ -664,17 +664,17 @@
|
||||
<message>
|
||||
<location filename="../pages/Receive.qml" line="197"/>
|
||||
<source>ReadOnly wallet address displayed here</source>
|
||||
<translation>표시된 읽기 전용 월렛 주소</translation>
|
||||
<translation>읽기전용 지갑주소가 표기됨</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Receive.qml" line="230"/>
|
||||
<source>16 hexadecimal characters</source>
|
||||
<translation>16 자리 16 진수</translation>
|
||||
<translation>16진수 16자</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Receive.qml" line="266"/>
|
||||
<source>Clear</source>
|
||||
<translation>명확한</translation>
|
||||
<translation>지움</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Receive.qml" line="276"/>
|
||||
@@ -729,7 +729,7 @@
|
||||
<message>
|
||||
<location filename="../pages/Receive.qml" line="285"/>
|
||||
<source>Generate payment ID for integrated address</source>
|
||||
<translation>통합 주소에 대한 결제 신분증 생성</translation>
|
||||
<translation>통합주소를 위한 결제 아이디 생성</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Receive.qml" line="309"/>
|
||||
@@ -752,12 +752,12 @@
|
||||
<message>
|
||||
<location filename="../RightPanel.qml" line="63"/>
|
||||
<source>Help</source>
|
||||
<translation>도움</translation>
|
||||
<translation>도움말</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../RightPanel.qml" line="64"/>
|
||||
<source>About</source>
|
||||
<translation>통지</translation>
|
||||
<translation>소개</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -765,12 +765,12 @@
|
||||
<message>
|
||||
<location filename="../components/SearchInput.qml" line="69"/>
|
||||
<source>Search by...</source>
|
||||
<translation>로 검색...</translation>
|
||||
<translation>...로 검색</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/SearchInput.qml" line="228"/>
|
||||
<source>SEARCH</source>
|
||||
<translation>찾다</translation>
|
||||
<translation>검색</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -819,7 +819,7 @@
|
||||
<message>
|
||||
<location filename="../pages/Settings.qml" line="163"/>
|
||||
<source>Rescan wallet balance</source>
|
||||
<translation>지갑 금액 다시 스캔하기</translation>
|
||||
<translation>지갑 잔액 다시 스캔하기</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Settings.qml" line="172"/>
|
||||
@@ -834,7 +834,7 @@
|
||||
<message>
|
||||
<location filename="../pages/Settings.qml" line="178"/>
|
||||
<source>Sucessfully rescanned spent outputs</source>
|
||||
<translation>소비 된 출력물이 성공적으로 다시 스캔되었습니다.</translation>
|
||||
<translation>소비된 아웃풋이 성공적으로 다시 스캔되었습니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Settings.qml" line="257"/>
|
||||
@@ -884,7 +884,7 @@
|
||||
<message>
|
||||
<location filename="../pages/Settings.qml" line="415"/>
|
||||
<source>Custom decorations</source>
|
||||
<translation>맞춤 장식</translation>
|
||||
<translation>사용자 설정 디자인</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Settings.qml" line="426"/>
|
||||
@@ -929,12 +929,12 @@
|
||||
<message>
|
||||
<location filename="../pages/Settings.qml" line="585"/>
|
||||
<source>Error: Filesystem is read only</source>
|
||||
<translation>오류: 파일 시스템은 읽기 전용 임</translation>
|
||||
<translation>오류: 해당 파일시스템은 읽기전용입니다</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Settings.qml" line="589"/>
|
||||
<source>Warning: There's only %1 GB available on the device. Blockchain requires ~%2 GB of data.</source>
|
||||
<translation>경고 : 장치에 사용 가능한 공간은 %1 GB뿐입니다. 블록체인에는 ~ %2 GB의 데이터가 필요합니다.</translation>
|
||||
<translation>경고 : 해당장치에 사용 가능한 공간은 %1 GB뿐입니다. 블록체인에는 ~ %2 GB의 데이터가 필요합니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Settings.qml" line="591"/>
|
||||
@@ -965,22 +965,22 @@
|
||||
<message>
|
||||
<location filename="../pages/Settings.qml" line="527"/>
|
||||
<source>Secret view key</source>
|
||||
<translation>비밀보기 키</translation>
|
||||
<translation>비공개 키</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Settings.qml" line="528"/>
|
||||
<source>Public view key</source>
|
||||
<translation>공개보기 키</translation>
|
||||
<translation>공개 키</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Settings.qml" line="529"/>
|
||||
<source>Secret spend key</source>
|
||||
<translation>비밀 지급 키</translation>
|
||||
<translation>비공개 결제 키</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Settings.qml" line="530"/>
|
||||
<source>Public spend key</source>
|
||||
<translation>공개 지급 키</translation>
|
||||
<translation>공개 결제 키</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Settings.qml" line="540"/>
|
||||
@@ -1003,33 +1003,33 @@
|
||||
<message>
|
||||
<location filename="../pages/Sign.qml" line="68"/>
|
||||
<source>Good signature</source>
|
||||
<translation>좋은 서명</translation>
|
||||
<translation>올바른 서명</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Sign.qml" line="69"/>
|
||||
<source>This is a good signature</source>
|
||||
<translation>좋은 서명입니다</translation>
|
||||
<translation>올바른 서명입니다</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Sign.qml" line="73"/>
|
||||
<source>Bad signature</source>
|
||||
<translation>나쁜 서명</translation>
|
||||
<translation>잘못된 서명</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Sign.qml" line="74"/>
|
||||
<source>This signature did not verify</source>
|
||||
<translation>이 서명은 확인 되지 않았습니다.</translation>
|
||||
<translation>이 서명은 확인할 수 없습니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Sign.qml" line="111"/>
|
||||
<source>Sign a message or file contents with your address:</source>
|
||||
<translation>귀하의 주소로 메시지 또는 파일 내용와 함께 서명하십시오:</translation>
|
||||
<translation>귀하의 주소로 메시지 또는 파일 내용을 서명하십시오:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Sign.qml" line="122"/>
|
||||
<location filename="../pages/Sign.qml" line="294"/>
|
||||
<source>Either message:</source>
|
||||
<translation>어느 쪽이든 메시지:</translation>
|
||||
<translation>해당 메시지:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Sign.qml" line="137"/>
|
||||
@@ -1045,7 +1045,7 @@
|
||||
<message>
|
||||
<location filename="../pages/Sign.qml" line="184"/>
|
||||
<source>Please choose a file to sign</source>
|
||||
<translation>서명 할 파일을 선택하세요</translation>
|
||||
<translation>서명할 파일을 선택하세요</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Sign.qml" line="197"/>
|
||||
@@ -1067,7 +1067,7 @@
|
||||
<message>
|
||||
<location filename="../pages/Sign.qml" line="419"/>
|
||||
<source><style type='text/css'>a {text-decoration: none; color: #FF6C3C; font-size: 14px;}</style> Signing address <font size='2'> ( Paste in or select from </font> <a href='#'>Address book</a><font size='2'> )</font></source>
|
||||
<translation type="unfinished">서명할 주소 <font size='2'> (선택 또는 붙여 넣기 </font> <a href='#'>주소록</a><font size='2'> )</font></translation>
|
||||
<translation type="unfinished">서명할 주소 <font size='2'> (</font> <a href='#'>주소록</a><font size='2'>에서 붙여넣거나 선택하십시오 )</font></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Sign.qml" line="172"/>
|
||||
@@ -1078,7 +1078,7 @@
|
||||
<message>
|
||||
<location filename="../pages/Sign.qml" line="212"/>
|
||||
<source>Filename with message to sign</source>
|
||||
<translation>서명 할 메시지가있는 파일 이름</translation>
|
||||
<translation>서명할 메시지가 있는 파일 이름</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Sign.qml" line="251"/>
|
||||
@@ -1091,17 +1091,17 @@
|
||||
<message>
|
||||
<location filename="../pages/Sign.qml" line="282"/>
|
||||
<source>Verify a message or file signature from an address:</source>
|
||||
<translation>메시지 나 파일의 서명을 주소로부터 확인합니다</translation>
|
||||
<translation>메시지나 파일의 서명을 주소로부터 확인합니다</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Sign.qml" line="309"/>
|
||||
<source>Message to verify</source>
|
||||
<translation>확인을 위한 메시지</translation>
|
||||
<translation>확인할 메시지</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Sign.qml" line="383"/>
|
||||
<source>Filename with message to verify</source>
|
||||
<translation>확인할 메시지가있는 파일 이름</translation>
|
||||
<translation>확인할 메시지가 있는 파일 이름</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1132,27 +1132,27 @@
|
||||
<message>
|
||||
<location filename="../components/StandardDropdown.qml" line="199"/>
|
||||
<source>High (x166 fee)</source>
|
||||
<translation>높은 (x166 보상)</translation>
|
||||
<translation>높음 (x166 수수료)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/StandardDropdown.qml" line="200"/>
|
||||
<source>Slow (x0.25 fee)</source>
|
||||
<translation>느린 (x0.25 보상)</translation>
|
||||
<translation>느림 (x0.25 수수료)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/StandardDropdown.qml" line="201"/>
|
||||
<source>Default (x1 fee)</source>
|
||||
<translation>체납 (x1 보상)</translation>
|
||||
<translation>기본 (x1 수수료)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/StandardDropdown.qml" line="202"/>
|
||||
<source>Fast (x5 fee)</source>
|
||||
<translation>빠른 (x5 보상)</translation>
|
||||
<translation>빠름 (x5 수수료)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/StandardDropdown.qml" line="203"/>
|
||||
<source>Fastest (x41.5 fee)</source>
|
||||
<translation>가장 빠른 (x41.5 보상)</translation>
|
||||
<translation>가장 빠름 (x41.5 수수료)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/StandardDropdown.qml" line="204"/>
|
||||
@@ -1180,7 +1180,7 @@
|
||||
<message>
|
||||
<location filename="../components/TableDropdown.qml" line="183"/>
|
||||
<source><b>Send to this address</b></source>
|
||||
<translation><b>주소로 보내기</b></translation>
|
||||
<translation><b>이 주소로 보내기</b></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/TableDropdown.qml" line="184"/>
|
||||
@@ -1198,7 +1198,7 @@
|
||||
<message>
|
||||
<location filename="../components/TableHeader.qml" line="65"/>
|
||||
<source>Payment ID</source>
|
||||
<translation>결제 신분증</translation>
|
||||
<translation>결제 아이디</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/TableHeader.qml" line="66"/>
|
||||
@@ -1208,7 +1208,7 @@
|
||||
<message>
|
||||
<location filename="../components/TableHeader.qml" line="67"/>
|
||||
<source>Block height</source>
|
||||
<translation>블록헤이트</translation>
|
||||
<translation>블록 높이</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../components/TableHeader.qml" line="68"/>
|
||||
@@ -1231,7 +1231,7 @@
|
||||
<message>
|
||||
<location filename="../components/TickDelegate.qml" line="57"/>
|
||||
<source>High</source>
|
||||
<translation>높은</translation>
|
||||
<translation>높음</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1249,7 +1249,7 @@
|
||||
<message>
|
||||
<location filename="../pages/Transfer.qml" line="78"/>
|
||||
<source>Privacy level (ringsize %1)</source>
|
||||
<translation>개인 정보 보호 수준 (링 사이즈 %1)</translation>
|
||||
<translation>개인정보 보호 수준 (링 사이즈 %1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Transfer.qml" line="125"/>
|
||||
@@ -1259,7 +1259,7 @@
|
||||
<message>
|
||||
<location filename="../pages/Transfer.qml" line="135"/>
|
||||
<source>Transaction priority</source>
|
||||
<translation>거래 우선 순위</translation>
|
||||
<translation>거래 우선순위</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Transfer.qml" line="175"/>
|
||||
@@ -1269,17 +1269,17 @@
|
||||
<message>
|
||||
<location filename="../pages/Transfer.qml" line="197"/>
|
||||
<source>Low (x1 fee)</source>
|
||||
<translation>낮은 (x1 보상)</translation>
|
||||
<translation>낮음 (x1 수수료)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Transfer.qml" line="198"/>
|
||||
<source>Medium (x20 fee)</source>
|
||||
<translation>중간 (x20 보상)</translation>
|
||||
<translation>중간 (x20 수수료)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Transfer.qml" line="199"/>
|
||||
<source>High (x166 fee)</source>
|
||||
<translation>높은 (x166 보상)</translation>
|
||||
<translation>높음 (x166 수수료)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Transfer.qml" line="237"/>
|
||||
@@ -1294,7 +1294,7 @@
|
||||
<message>
|
||||
<location filename="../pages/Transfer.qml" line="285"/>
|
||||
<source>Resolve</source>
|
||||
<translation>해결</translation>
|
||||
<translation>문제해결</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Transfer.qml" line="303"/>
|
||||
@@ -1345,22 +1345,22 @@
|
||||
<message>
|
||||
<location filename="../pages/Transfer.qml" line="499"/>
|
||||
<source>Sweep Unmixable</source>
|
||||
<translation>혼합 할 수없는 쓸기</translation>
|
||||
<translation>혼합 불가능한 스윕</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Transfer.qml" line="513"/>
|
||||
<source>Create tx file</source>
|
||||
<translation>거래 서류철 만들기</translation>
|
||||
<translation>거래 파일 만들기</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Transfer.qml" line="535"/>
|
||||
<source>Sign tx file</source>
|
||||
<translation>거래 서류철 제출 서명해</translation>
|
||||
<translation>거래 파일 서명</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Transfer.qml" line="549"/>
|
||||
<source>Submit tx file</source>
|
||||
<translation>거래 서류철 제출</translation>
|
||||
<translation>거래 파일 제출</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Transfer.qml" line="582"/>
|
||||
@@ -1372,7 +1372,7 @@
|
||||
<location filename="../pages/Transfer.qml" line="590"/>
|
||||
<source>
|
||||
Number of transactions: </source>
|
||||
<translation>거래 수: </translation>
|
||||
<translation>거래 횟수: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/Transfer.qml" line="592"/>
|
||||
@@ -1539,12 +1539,12 @@ Please upgrade or connect to another daemon</source>
|
||||
<message>
|
||||
<location filename="../pages/TxKey.qml" line="152"/>
|
||||
<source>Transaction ID</source>
|
||||
<translation>거래 신분증</translation>
|
||||
<translation>거래 아이디</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/TxKey.qml" line="161"/>
|
||||
<source>Paste tx ID</source>
|
||||
<translation>붙여 넣기 거래 신분증</translation>
|
||||
<translation>거래 아이디 붙여넣기</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../pages/TxKey.qml" line="193"/>
|
||||
@@ -1575,27 +1575,27 @@ Please upgrade or connect to another daemon</source>
|
||||
<message>
|
||||
<location filename="../wizard/WizardConfigure.qml" line="79"/>
|
||||
<source>We’re almost there - let’s just configure some Monero preferences</source>
|
||||
<translation> 거의 다 왔습니다 - 선호하는 모네로 환경 설정을 구성 해 보세요.</translation>
|
||||
<translation> 거의 끝나갑니다 - 선호하는 모네로 환경설정을 구성해 보세요.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../wizard/WizardConfigure.qml" line="97"/>
|
||||
<source>Kickstart the Monero blockchain?</source>
|
||||
<translation>모네로 블록 체인을 시작하세요?</translation>
|
||||
<translation>모네로 블록체인 구동을 시작하겠습니까?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../wizard/WizardConfigure.qml" line="115"/>
|
||||
<source>It is very important to write it down as this is the only backup you will need for your wallet.</source>
|
||||
<translation>이것이 귀하의 지갑에 필요한 유일한 백업이기 때문에 적어 두는 것이 매우 중요합니다.</translation>
|
||||
<translation>이것이 귀하의 지갑의 유일한 백업이기 때문에 적어두는 것이 매우 중요합니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../wizard/WizardConfigure.qml" line="126"/>
|
||||
<source>Enable disk conservation mode?</source>
|
||||
<translation>디스크 절약 모드 사용?</translation>
|
||||
<translation>디스크 절약 기능을 활성화하겠습니까?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../wizard/WizardConfigure.qml" line="144"/>
|
||||
<source>Disk conservation mode uses substantially less disk-space, but the same amount of bandwidth as a regular Monero instance. However, storing the full blockchain is beneficial to the security of the Monero network. If you are on a device with limited disk space, then this option is appropriate for you.</source>
|
||||
<translation>디스크 절약 모드는 매우 적은 디스크 공간을 사용하지만 일반 모네로 인스턴스와 같은 양의 대역폭을 사용합니다. 그러나 전체 블록 체인을 저장하면 모네로 네트워크를 보호하는 데 도움이됩니다. 이 옵션은 디스크 공간이 제한적인 장치에 적합합니다.</translation>
|
||||
<translation>디스크 절약 모드는 매우 적은 디스크 공간을 사용하지만 일반 모네로 인스턴스와 같은 양의 데이터를 사용합니다. 하지만 블록체인 전체를 저장하는 것이 모네로 네트워크를 안전하게 하는데 도움이 됩니다. 이 옵션은 디스크 공간이 제한적인 장치에 적합합니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../wizard/WizardConfigure.qml" line="157"/>
|
||||
@@ -1629,32 +1629,32 @@ Please upgrade or connect to another daemon</source>
|
||||
<message>
|
||||
<location filename="../wizard/WizardDonation.qml" line="93"/>
|
||||
<source>Monero development is solely supported by donations</source>
|
||||
<translation>모네로 개발은 전적으로 기부금으로 지원됩니다</translation>
|
||||
<translation>모네로의 개발은 전적으로 기부금 지원으로 이루어집니다</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../wizard/WizardDonation.qml" line="113"/>
|
||||
<source>Enable auto-donations of?</source>
|
||||
<translation>자동으로 기부를 활성화 하시겠습니까?</translation>
|
||||
<translation>자동 기부를 활성화 하시겠습니까?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../wizard/WizardDonation.qml" line="153"/>
|
||||
<source>% of my fee added to each transaction</source>
|
||||
<translation>각 거래에 추가 된 수수료의 비율</translation>
|
||||
<translation>각 거래에 부과되는 수수료의 비율</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../wizard/WizardDonation.qml" line="164"/>
|
||||
<source>For every transaction, a small transaction fee is charged. This option lets you add an additional amount, as a percentage of that fee, to your transaction to support Monero development. For instance, a 50% autodonation take a transaction fee of 0.005 XMR and add a 0.0025 XMR to support Monero development.</source>
|
||||
<translation>모든 거래에 대해 작은 수수료가 부과됩니다. 이 옵션은 수수료 이외에 수수료의 몇 퍼센트를 모네로의 개발 팀에 기부금으로 결제하는 것을 허용합니다. 예를 들어, 자동 기부율이 50 %이고 거래 수수료가 0.005 XMR이면 0.0025 XMR이 개발 팀에 대한 기부로 거래에 추가됩니다.</translation>
|
||||
<translation>모든 거래에 대해 작은 수수료가 부과됩니다. 해당 옵션은 수수료 이외에 수수료의 일부에 해당하는 금액을 모네로 개발팀에 기부하는 것을 허용합니다. 예를 들어, 자동 기부율이 50%이고 거래 수수료가 0.005 XMR이면 0.0025 XMR이 개발팀에 대한 기부로 거래금액에 추가됩니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../wizard/WizardDonation.qml" line="176"/>
|
||||
<source>Allow background mining?</source>
|
||||
<translation>백그라운드에서 마이닝을 허용 하시겠습니까?</translation>
|
||||
<translation>백그라운드에서 마이닝을 허용하시겠습니까?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../wizard/WizardDonation.qml" line="194"/>
|
||||
<source>Mining secures the Monero network, and also pays a small reward for the work done. This option will let Monero mine when your computer is on mains power and is idle. It will stop mining when you continue working.</source>
|
||||
<translation>마이닝은 모네로 네트워크를 보호하고 수행 한 작업에 대해 작은 보상을 지불합니다. 이 옵션은 당신의 컴퓨터가 전원에 연결되어 있고 게다가 유휴 상태 일 때 자동으로 모네로의 채굴을 할 수 있도록합니다. 당신이 작업을 다시 시작하면 채굴은 중지됩니다.</translation>
|
||||
<translation>마이닝은 모네로 네트워크를 보호하고 수행한 작업에 대해 작은 보상을 지불합니다. 이 옵션은 당신의 컴퓨터가 전원에 연결되어 있고 IDLE 상태일때 자동으로 모네로를 채굴할 수 있도록합니다. 당신이 작업을 다시 시작하면 채굴은 중지됩니다.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1701,7 +1701,7 @@ Please upgrade or connect to another daemon</source>
|
||||
<message>
|
||||
<location filename="../wizard/WizardFinish.qml" line="68"/>
|
||||
<source>Testnet</source>
|
||||
<translation>테스트 넷</translation>
|
||||
<translation>테스트넷</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../wizard/WizardFinish.qml" line="70"/>
|
||||
@@ -1711,17 +1711,17 @@ Please upgrade or connect to another daemon</source>
|
||||
<message>
|
||||
<location filename="../wizard/WizardFinish.qml" line="78"/>
|
||||
<source>New wallet details:</source>
|
||||
<translation>새 지갑 세부 정보:</translation>
|
||||
<translation>새 지갑 세부정보:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../wizard/WizardFinish.qml" line="82"/>
|
||||
<source>Don't forget to write down your seed. You can view your seed and change your settings on settings page.</source>
|
||||
<translation>당신의 시드(seed)을 적어 두는 것을 잊지 마십시오. 시드를보고 설정 페이지에서 설정을 변경할 수 있습니다.</translation>
|
||||
<translation>당신의 시드(seed)를 적어두는 것을 잊지 마십시오. 환경설정 페이지에서 시드를 확인하고 설정을 변경할 수 있습니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../wizard/WizardFinish.qml" line="128"/>
|
||||
<source>You’re all set up!</source>
|
||||
<translation>모든 준비가되었습니다!</translation>
|
||||
<translation>이제 모든 준비를 끝마쳤습니다!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1729,7 +1729,7 @@ Please upgrade or connect to another daemon</source>
|
||||
<message>
|
||||
<location filename="../wizard/WizardMain.qml" line="176"/>
|
||||
<source>A wallet with same name already exists. Please change wallet name</source>
|
||||
<translation>동명의 지갑이 이미 존재합니다. 지갑 이름을 변경하세요.</translation>
|
||||
<translation>같은 이름의 지갑이 이미 존재합니다. 지갑 이름을 변경하세요.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../wizard/WizardMain.qml" line="184"/>
|
||||
@@ -1739,7 +1739,7 @@ Please upgrade or connect to another daemon</source>
|
||||
<message>
|
||||
<location filename="../wizard/WizardMain.qml" line="366"/>
|
||||
<source>USE MONERO</source>
|
||||
<translation>모네로를 사용</translation>
|
||||
<translation>모네로 사용하기</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../wizard/WizardMain.qml" line="383"/>
|
||||
@@ -1755,7 +1755,7 @@ Please upgrade or connect to another daemon</source>
|
||||
<location filename="../wizard/WizardMain.qml" line="394"/>
|
||||
<source>The view only wallet has been created. You can open it by closing this current wallet, clicking the "Open wallet from file" option, and selecting the view wallet in:
|
||||
%1</source>
|
||||
<translation>보기 전용 지갑이 생성되었습니다. 이것을 열려면 현재의 지갑을 닫고 "파일 옵션에서 지갑을 열고" 보기 전용 지갑을 선택하세요:
|
||||
<translation>보기 전용 지갑이 생성되었습니다. 해당 지갑을 열기 위해서는 현재 지갑을 닫고 "파일에서 지갑 열기"를 클릭한 후 보기 전용 지갑을 선택하십시오:
|
||||
%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -1799,7 +1799,7 @@ Please upgrade or connect to another daemon</source>
|
||||
<message>
|
||||
<location filename="../wizard/WizardManageWalletUI.qml" line="220"/>
|
||||
<source>Spend key (private)</source>
|
||||
<translation>지급 키 (비공개)</translation>
|
||||
<translation>결제 키 (비공개)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../wizard/WizardManageWalletUI.qml" line="232"/>
|
||||
@@ -1809,7 +1809,7 @@ Please upgrade or connect to another daemon</source>
|
||||
<message>
|
||||
<location filename="../wizard/WizardManageWalletUI.qml" line="245"/>
|
||||
<source>Your wallet is stored in</source>
|
||||
<translation>지갑이에 저장되어 위치</translation>
|
||||
<translation>당신의 지갑은 다음 위치에 저장되었습니다: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../wizard/WizardManageWalletUI.qml" line="271"/>
|
||||
@@ -1865,7 +1865,7 @@ Please upgrade or connect to another daemon</source>
|
||||
<message>
|
||||
<location filename="../wizard/WizardOptions.qml" line="295"/>
|
||||
<source>Testnet</source>
|
||||
<translation>테스트 넷</translation>
|
||||
<translation>테스트넷</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1881,7 +1881,7 @@ Please upgrade or connect to another daemon</source>
|
||||
<source> <br>Note: this password cannot be recovered. If you forget it then the wallet will have to be restored from its 25 word mnemonic seed.<br/><br/>
|
||||
<b>Enter a strong password</b> (using letters, numbers, and/or symbols):</source>
|
||||
<translation> <br>참고: 이 암호는 복구 될 수 없으며, 지갑분실시 25 단어 니모닉 시드에서 지갑을 복원해야합니다.<br/><br/>
|
||||
<b>강력한 비밀번호를 입력하세요</b> (문자, 숫자 및/또는 기호 사용):</translation>
|
||||
<b>강력한 비밀번호를 입력하세요</b> (문자, 숫자 및 기호 사용):</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -1942,27 +1942,27 @@ Please upgrade or connect to another daemon</source>
|
||||
<message>
|
||||
<location filename="../main.qml" line="361"/>
|
||||
<source>Unlocked balance (waiting for block)</source>
|
||||
<translation>잠금 해제 된 잔액 (블록 대기 중)</translation>
|
||||
<translation>잠금해제된 잔액 (블록 대기 중)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="361"/>
|
||||
<source>Unlocked balance (~%1 min)</source>
|
||||
<translation>잠금 해제 된 잔액 (~%1 분)</translation>
|
||||
<translation>잠금해제된 잔액 (~%1 분)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="361"/>
|
||||
<source>Unlocked balance</source>
|
||||
<translation>잠겨 있지 않은 잔액</translation>
|
||||
<translation>잠금해제된 잔액</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="413"/>
|
||||
<source>Waiting for daemon to start...</source>
|
||||
<translation>데몬이 시작될 때까지 기다리는 중...</translation>
|
||||
<translation>데몬 시작까지 기다리는 중...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="419"/>
|
||||
<source>Waiting for daemon to stop...</source>
|
||||
<translation>데몬이 멈출 때까지 기다리는 중...</translation>
|
||||
<translation>데몬 종료까지 기다리는 중...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="444"/>
|
||||
@@ -1989,7 +1989,7 @@ Please upgrade or connect to another daemon</source>
|
||||
<location filename="../main.qml" line="510"/>
|
||||
<location filename="../main.qml" line="623"/>
|
||||
<source>No unmixable outputs to sweep</source>
|
||||
<translation>스윕 할 비혼합 가능한 출력이 없습니다</translation>
|
||||
<translation>스윕처리할 비혼합 아웃풋 없습니다</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="522"/>
|
||||
@@ -2000,21 +2000,18 @@ Please upgrade or connect to another daemon</source>
|
||||
<message>
|
||||
<location filename="../main.qml" line="523"/>
|
||||
<location filename="../main.qml" line="636"/>
|
||||
<source>Please confirm transaction:
|
||||
</source>
|
||||
<source>Please confirm transaction: </source>
|
||||
<translation>거래 내용을 확인하세요:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="524"/>
|
||||
<source>
|
||||
Address: </source>
|
||||
<source> Address: </source>
|
||||
<translation>주소:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="525"/>
|
||||
<source>
|
||||
Payment ID: </source>
|
||||
<translation>결제 신분증: </translation>
|
||||
<source> Payment ID: </source>
|
||||
<translation>결제 아이디: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="526"/>
|
||||
@@ -2027,21 +2024,18 @@ Amount: </source>
|
||||
<message>
|
||||
<location filename="../main.qml" line="527"/>
|
||||
<location filename="../main.qml" line="638"/>
|
||||
<source>
|
||||
Fee: </source>
|
||||
<source> Fee: </source>
|
||||
<translation>수수료: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="528"/>
|
||||
<source>
|
||||
|
||||
Ringsize: </source>
|
||||
<translation>링사이즈: </translation>
|
||||
<source> Ringsize: </source>
|
||||
<translation> 링사이즈: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="734"/>
|
||||
<source>This address received %1 monero, with %2 confirmation(s).</source>
|
||||
<translation>이 주소로 % 1XMR을 받아, % 2 로 승인되었습니다.</translation>
|
||||
<translation>이 주소로 %1 XMR을 받아, %2 번의 컨펌을 받았습니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="1324"/>
|
||||
@@ -2065,15 +2059,12 @@ Ringsize: </source>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="529"/>
|
||||
<source>
|
||||
Number of transactions: </source>
|
||||
<source> Number of transactions: </source>
|
||||
<translation>거래 수: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="530"/>
|
||||
<source>
|
||||
|
||||
Description: </source>
|
||||
<source> Description: </source>
|
||||
<translation>설명: </translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -2084,7 +2075,7 @@ Description: </source>
|
||||
<message>
|
||||
<location filename="../main.qml" line="572"/>
|
||||
<source>Insufficient funds. Unlocked balance: %1</source>
|
||||
<translation>불충분 한 자금. 잠금 해제 된 잔액: %1</translation>
|
||||
<translation>잔액이 불충분합니다. 잠금해제 된 잔액: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="675"/>
|
||||
@@ -2099,7 +2090,7 @@ Description: </source>
|
||||
<message>
|
||||
<location filename="../main.qml" line="684"/>
|
||||
<source>Money sent successfully: %1 transaction(s) </source>
|
||||
<translation>송금 완료: %1 거래(들) </translation>
|
||||
<translation>송금 완료: %1 개의 거래 </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="684"/>
|
||||
@@ -2114,12 +2105,12 @@ Description: </source>
|
||||
<message>
|
||||
<location filename="../main.qml" line="729"/>
|
||||
<source>This address received %1 monero, but the transaction is not yet mined</source>
|
||||
<translation>이 주소는 % 1XMR을 받았지만, 거래는 아직 채굴되지 않습니다</translation>
|
||||
<translation>이 주소는 % 1XMR을 받았지만, 해당 거래가 아직 채굴에 포함되지 않았습니다</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="738"/>
|
||||
<source>This address received nothing</source>
|
||||
<translation>이 주소는 아무것도받지 못했습니다</translation>
|
||||
<translation>이 주소는 아무것도 받지 못했습니다</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../main.qml" line="750"/>
|
||||
@@ -2149,7 +2140,7 @@ Description: </source>
|
||||
<message>
|
||||
<location filename="../main.qml" line="1072"/>
|
||||
<source>send to the same destination</source>
|
||||
<translation>동일한 대상에 송금하기</translation>
|
||||
<translation>동일한 대상에게 송금하기</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
2166
translations/monero-core_ro.ts
Normal file
2166
translations/monero-core_ro.ts
Normal file
File diff suppressed because it is too large
Load Diff
@@ -17,13 +17,13 @@ fi
|
||||
|
||||
if [[ "$BUILD_TYPE" == "Release" ]]; then
|
||||
echo "Release build"
|
||||
ICU_FILES="libicuuc57.dll libicuin57.dll libicudt57.dll"
|
||||
ICU_FILES=(libicuuc57.dll libicuin57.dll libicudt57.dll)
|
||||
else
|
||||
echo "Debug build"
|
||||
ICU_FILES="libicuucd57.dll libicuind57.dll libicudtd57.dll"
|
||||
ICU_FILES=(libicuucd57.dll libicuind57.dll libicudtd57.dll)
|
||||
fi
|
||||
|
||||
FILES="zlib1.dll libwinpthread-1.dll libtiff-5.dll libstdc++-6.dll libpng16-16.dll libpcre16-0.dll libpcre-1.dll libmng-2.dll liblzma-5.dll liblcms2-2.dll libjpeg-8.dll libjasper-1.dll libintl-8.dll libiconv-2.dll libharfbuzz-0.dll libgraphite2.dll libglib-2.0-0.dll libfreetype-6.dll libbz2-1.dll"
|
||||
FILES=(zlib1.dll libwinpthread-1.dll libtiff-5.dll libstdc++-6.dll libpng16-16.dll libpcre16-0.dll libpcre-1.dll libmng-2.dll liblzma-5.dll liblcms2-2.dll libjpeg-8.dll libintl-8.dll libiconv-2.dll libharfbuzz-0.dll libgraphite2.dll libglib-2.0-0.dll libfreetype-6.dll libbz2-1.dll)
|
||||
|
||||
platform=$(get_platform)
|
||||
|
||||
@@ -33,10 +33,9 @@ elif [[ "$platform" == "mingw32" ]]; then
|
||||
PLATFORM_FILES="libgcc_s_dw2-1.dll"
|
||||
fi
|
||||
|
||||
for f in $FILES; do cp $MSYSTEM_PREFIX/bin/$f $TARGET; done
|
||||
for f in "${FILES[@]}"; do cp $MSYSTEM_PREFIX/bin/$f $TARGET || exit 1; done
|
||||
|
||||
for f in $ICU_FILES; do cp $MSYSTEM_PREFIX/bin/$f $TARGET; done
|
||||
|
||||
for f in $PLATFORM_FILES; do cp $MSYSTEM_PREFIX/bin/$f $TARGET; done
|
||||
for f in "${ICU_FILES[@]}"; do cp $MSYSTEM_PREFIX/bin/$f $TARGET || exit 1; done
|
||||
|
||||
for f in "${PLATFORM_FILES[@]}"; do cp $MSYSTEM_PREFIX/bin/$f $TARGET || exit 1; done
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ ColumnLayout {
|
||||
autoDonationAmount = wizard.settings["auto_donations_amount"] + " %",
|
||||
backgroundMiningEnabled = wizard.settings["allow_background_mining"] === true,
|
||||
backgroundMiningText = backgroundMiningEnabled ? qsTr("Enabled") : qsTr("Disabled"),
|
||||
testnetEnabled = wizard.settings['testnet'] === true,
|
||||
testnetEnabled = appWindow.persistentSettings.testnet,
|
||||
testnetText = testnetEnabled ? qsTr("Enabled") : qsTr("Disabled"),
|
||||
restoreHeightEnabled = wizard.settings['restore_height'] !== undefined;
|
||||
|
||||
@@ -64,7 +64,7 @@ ColumnLayout {
|
||||
// ? trStart + qsTr("Donation amount") + trMiddle + autoDonationAmount + trEnd
|
||||
// : "")
|
||||
// + trStart + qsTr("Background mining") + trMiddle + backgroundMiningText + trEnd
|
||||
+ trStart + qsTr("Daemon address") + trMiddle + wizard.settings["daemon_address"] + trEnd
|
||||
+ trStart + qsTr("Daemon address") + trMiddle + persistentSettings.daemon_address + trEnd
|
||||
+ trStart + qsTr("Testnet") + trMiddle + testnetText + trEnd
|
||||
+ (restoreHeightEnabled
|
||||
? trStart + qsTr("Restore height") + trMiddle + wizard.settings['restore_height'] + trEnd
|
||||
|
||||
@@ -233,11 +233,8 @@ ColumnLayout {
|
||||
appWindow.persistentSettings.allow_background_mining = false //settings.allow_background_mining
|
||||
appWindow.persistentSettings.auto_donations_enabled = false //settings.auto_donations_enabled
|
||||
appWindow.persistentSettings.auto_donations_amount = false //settings.auto_donations_amount
|
||||
appWindow.persistentSettings.daemon_address = settings.daemon_address
|
||||
appWindow.persistentSettings.testnet = settings.testnet
|
||||
appWindow.persistentSettings.restore_height = (isNaN(settings.restore_height))? 0 : settings.restore_height
|
||||
appWindow.persistentSettings.is_recovering = (settings.is_recovering === undefined)? false : settings.is_recovering
|
||||
|
||||
}
|
||||
|
||||
// reading settings from persistent storage
|
||||
|
||||
@@ -56,10 +56,10 @@ ColumnLayout {
|
||||
property int rowSpacing: 10
|
||||
|
||||
function checkFields(){
|
||||
var addressOK = walletManager.addressValid(addressLine.text, wizard.settings.testnet)
|
||||
var viewKeyOK = walletManager.keyValid(viewKeyLine.text, addressLine.text, true, wizard.settings.testnet)
|
||||
var addressOK = walletManager.addressValid(addressLine.text, persistentSettings.testnet)
|
||||
var viewKeyOK = walletManager.keyValid(viewKeyLine.text, addressLine.text, true, persistentSettings.testnet)
|
||||
// Spendkey is optional
|
||||
var spendKeyOK = (spendKeyLine.text.length > 0)? walletManager.keyValid(spendKeyLine.text, addressLine.text, false, wizard.settings.testnet) : true
|
||||
var spendKeyOK = (spendKeyLine.text.length > 0)? walletManager.keyValid(spendKeyLine.text, addressLine.text, false, persistentSettings.testnet) : true
|
||||
|
||||
addressLine.error = !addressOK && addressLine.text.length != 0
|
||||
viewKeyLine.error = !viewKeyOK && viewKeyLine.text.length != 0
|
||||
|
||||
@@ -44,25 +44,12 @@ ColumnLayout {
|
||||
function onPageClosed() {
|
||||
// Save settings used in open from file.
|
||||
// other wizard settings are saved on last page in applySettings()
|
||||
appWindow.persistentSettings.testnet = wizard.settings["testnet"]
|
||||
appWindow.persistentSettings.daemon_address = wizard.settings["daemon_address"]
|
||||
appWindow.persistentSettings.language = wizard.settings.language
|
||||
appWindow.persistentSettings.locale = wizard.settings.locale
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function saveDaemonAddress() {
|
||||
wizard.settings["daemon_address"] = daemonAddress.text
|
||||
wizard.settings["testnet"] = testNet.checked
|
||||
}
|
||||
|
||||
QtObject {
|
||||
id: d
|
||||
readonly property string daemonAddressTestnet : "localhost:38081"
|
||||
readonly property string daemonAddressMainnet : "localhost:18081"
|
||||
}
|
||||
|
||||
Behavior on opacity {
|
||||
NumberAnimation { duration: 100; easing.type: Easing.InQuad }
|
||||
}
|
||||
@@ -139,7 +126,6 @@ ColumnLayout {
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
onClicked: {
|
||||
page.saveDaemonAddress()
|
||||
page.createWalletClicked()
|
||||
}
|
||||
}
|
||||
@@ -182,7 +168,6 @@ ColumnLayout {
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
onClicked: {
|
||||
page.saveDaemonAddress()
|
||||
page.recoveryWalletClicked()
|
||||
}
|
||||
}
|
||||
@@ -226,7 +211,6 @@ ColumnLayout {
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
onClicked: {
|
||||
page.saveDaemonAddress()
|
||||
page.openWalletClicked()
|
||||
}
|
||||
}
|
||||
@@ -247,62 +231,30 @@ ColumnLayout {
|
||||
|
||||
}
|
||||
|
||||
// daemon select
|
||||
// TODO: Move to separate page
|
||||
|
||||
ColumnLayout {
|
||||
RowLayout {
|
||||
Layout.leftMargin: wizardLeftMargin
|
||||
Layout.rightMargin: wizardRightMargin
|
||||
Layout.topMargin: 30
|
||||
Layout.alignment: Qt.AlignCenter
|
||||
Layout.fillWidth: true
|
||||
|
||||
|
||||
Label {
|
||||
Layout.topMargin: 20
|
||||
fontSize: 14
|
||||
text: qsTr("Custom daemon address (optional)") + translationManager.emptyString
|
||||
+ translationManager.emptyString
|
||||
}
|
||||
|
||||
GridLayout {
|
||||
Layout.fillWidth: true
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
|
||||
columnSpacing: 20
|
||||
rowSpacing: 20
|
||||
flow: isMobile ? GridLayout.TopToBottom : GridLayout.LeftToRight
|
||||
|
||||
RowLayout {
|
||||
spacing: 20
|
||||
Layout.alignment: Qt.AlignCenter
|
||||
|
||||
LineEdit {
|
||||
id: daemonAddress
|
||||
Layout.alignment: Qt.AlignCenter
|
||||
width: 200
|
||||
fontSize: 14
|
||||
text: {
|
||||
if(appWindow.persistentSettings.daemon_address)
|
||||
return appWindow.persistentSettings.daemon_address;
|
||||
return testNet.checked ? d.daemonAddressTestnet : d.daemonAddressMainnet
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
CheckBox {
|
||||
id: testNet
|
||||
Layout.alignment: Qt.AlignCenter
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
text: qsTr("Testnet") + translationManager.emptyString
|
||||
background: "#FFFFFF"
|
||||
fontColor: "#4A4646"
|
||||
fontSize: 16
|
||||
checkedIcon: "../images/checkedVioletIcon.png"
|
||||
uncheckedIcon: "../images/uncheckedIcon.png"
|
||||
checked: appWindow.persistentSettings.testnet;
|
||||
Rectangle {
|
||||
width: 100
|
||||
CheckBox {
|
||||
id: testNet
|
||||
text: qsTr("Testnet") + translationManager.emptyString
|
||||
background: "#FFFFFF"
|
||||
fontColor: "#4A4646"
|
||||
fontSize: 16
|
||||
checkedIcon: "../images/checkedVioletIcon.png"
|
||||
uncheckedIcon: "../images/uncheckedIcon.png"
|
||||
checked: appWindow.persistentSettings.testnet;
|
||||
onClicked: {
|
||||
persistentSettings.testnet = testNet.checked
|
||||
console.log("testnet set to ", persistentSettings.testnet)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -39,12 +39,6 @@ ColumnLayout {
|
||||
NumberAnimation { duration: 100; easing.type: Easing.InQuad }
|
||||
}
|
||||
|
||||
QtObject {
|
||||
id: d
|
||||
readonly property string daemonAddressTestnet : "localhost:38018";
|
||||
readonly property string daemonAddressMainnet : "localhost:18018";
|
||||
}
|
||||
|
||||
onOpacityChanged: visible = opacity !== 0
|
||||
|
||||
function onPageClosed(settingsObject) {
|
||||
|
||||
Reference in New Issue
Block a user