Merge branch '0.5.0.x' into 0.5.x
authorLuke Dashjr <luke-jr+git@utopios.org>
Wed, 8 Feb 2012 03:49:03 +0000 (22:49 -0500)
committerLuke Dashjr <luke-jr+git@utopios.org>
Wed, 8 Feb 2012 03:49:03 +0000 (22:49 -0500)
Conflicts:
src/qt/locale/bitcoin_ru.ts
src/qt/locale/bitcoin_zh_TW.ts

13 files changed:
1  2 
doc/README
doc/README_windows.txt
src/bitcoinrpc.cpp
src/qt/locale/bitcoin_da.ts
src/qt/locale/bitcoin_de.ts
src/qt/locale/bitcoin_es.ts
src/qt/locale/bitcoin_es_CL.ts
src/qt/locale/bitcoin_nb.ts
src/qt/locale/bitcoin_nl.ts
src/qt/locale/bitcoin_ru.ts
src/qt/locale/bitcoin_zh_TW.ts
src/serialize.h
src/util.h

diff --combined doc/README
@@@ -1,6 -1,6 +1,6 @@@
 -Bitcoin 0.5.0.4 BETA
 +Bitcoin 0.5.3 BETA
  
- Copyright (c) 2009-2011 Bitcoin Developers
+ Copyright (c) 2009-2012 Bitcoin Developers
  Distributed under the MIT/X11 software license, see the accompanying
  file license.txt or http://www.opensource.org/licenses/mit-license.php.
  This product includes software developed by the OpenSSL Project for use in
diff --combined doc/README_windows.txt
@@@ -1,6 -1,6 +1,6 @@@
 -Bitcoin 0.5.0.4 BETA\r
 +Bitcoin 0.5.3 BETA\r
  \r
- Copyright (c) 2009-2011 Bitcoin Developers\r
+ Copyright (c) 2009-2012 Bitcoin Developers\r
  Distributed under the MIT/X11 software license, see the accompanying\r
  file license.txt or http://www.opensource.org/licenses/mit-license.php.\r
  This product includes software developed by the OpenSSL Project for use in\r
diff --combined src/bitcoinrpc.cpp
@@@ -1,5 -1,5 +1,5 @@@
  // Copyright (c) 2010 Satoshi Nakamoto
- // Copyright (c) 2011 The Bitcoin developers
+ // Copyright (c) 2009-2012 The Bitcoin developers
  // Distributed under the MIT/X11 software license, see the accompanying
  // file license.txt or http://www.opensource.org/licenses/mit-license.php.
  
@@@ -36,8 -36,6 +36,8 @@@ void ThreadRPCServer2(void* parg)
  typedef Value(*rpcfn_type)(const Array& params, bool fHelp);
  extern map<string, rpcfn_type> mapCallTable;
  
 +static std::string strRPCUserColonPass;
 +
  static int64 nWalletUnlockTime;
  static CCriticalSection cs_nWalletUnlockTime;
  
@@@ -128,7 -126,6 +128,7 @@@ Value help(const Array& params, bool fH
          // We already filter duplicates, but these deprecated screw up the sort order
          if (strMethod == "getamountreceived" ||
              strMethod == "getallreceived" ||
 +            strMethod == "getblocknumber" || // deprecated
              (strMethod.find("label") != string::npos))
              continue;
          if (strCommand != "" && strMethod != strCommand)
@@@ -184,13 -181,12 +184,13 @@@ Value getblockcount(const Array& params
  }
  
  
 +// deprecated
  Value getblocknumber(const Array& params, bool fHelp)
  {
      if (fHelp || params.size() != 0)
          throw runtime_error(
              "getblocknumber\n"
 -            "Returns the block number of the latest block in the longest block chain.");
 +            "Deprecated.  Use getblockcount.");
  
      return nBestHeight;
  }
@@@ -1854,7 -1850,7 +1854,7 @@@ string pAllowInSafeMode[] 
      "help",
      "stop",
      "getblockcount",
 -    "getblocknumber",
 +    "getblocknumber",  // deprecated
      "getconnectioncount",
      "getdifficulty",
      "getgenerate",
@@@ -2025,7 -2021,12 +2025,7 @@@ bool HTTPAuthorized(map<string, string>
          return false;
      string strUserPass64 = strAuth.substr(6); boost::trim(strUserPass64);
      string strUserPass = DecodeBase64(strUserPass64);
 -    string::size_type nColon = strUserPass.find(":");
 -    if (nColon == string::npos)
 -        return false;
 -    string strUser = strUserPass.substr(0, nColon);
 -    string strPassword = strUserPass.substr(nColon+1);
 -    return (strUser == mapArgs["-rpcuser"] && strPassword == mapArgs["-rpcpassword"]);
 +    return strUserPass == strRPCUserColonPass;
  }
  
  //
@@@ -2158,19 -2159,25 +2158,26 @@@ void ThreadRPCServer2(void* parg
  {
      printf("ThreadRPCServer started\n");
  
 -    if (mapArgs["-rpcuser"] == "" && mapArgs["-rpcpassword"] == "")
 +    strRPCUserColonPass = mapArgs["-rpcuser"] + ":" + mapArgs["-rpcpassword"];
 +    if (strRPCUserColonPass == ":")
      {
+         unsigned char rand_pwd[32];
+         RAND_bytes(rand_pwd, 32);
          string strWhatAmI = "To use bitcoind";
          if (mapArgs.count("-server"))
              strWhatAmI = strprintf(_("To use the %s option"), "\"-server\"");
          else if (mapArgs.count("-daemon"))
              strWhatAmI = strprintf(_("To use the %s option"), "\"-daemon\"");
          PrintConsole(
-             _("Error: %s, you must set rpcpassword=<password>\nin the configuration file: %s\n"
+             _("Error: %s, you must set a rpcpassword in the configuration file:\n %s\n"
+               "It is recommended you use the following random password:\n"
+               "rpcuser=bitcoinrpc\n"
+               "rpcpassword=%s\n"
+               "(you do not need to remember this password)\n"
                "If the file does not exist, create it with owner-readable-only file permissions.\n"),
                  strWhatAmI.c_str(),
-                 GetConfigFile().c_str());
+                 GetConfigFile().c_str(),
+                 EncodeBase58(&rand_pwd[0],&rand_pwd[0]+32).c_str());
  #ifndef QT_GUI
          CreateThread(Shutdown, NULL);
  #endif
          }
          if (!HTTPAuthorized(mapHeaders))
          {
-             // Deter brute-forcing short passwords
-             if (mapArgs["-rpcpassword"].size() < 15)
-                 Sleep(50);
+             printf("ThreadRPCServer incorrect password attempt from %s\n",peer.address().to_string().c_str());
+             /* Deter brute-forcing short passwords.
+                If this results in a DOS the user really
+                shouldn't have their RPC port exposed.*/
+             if (mapArgs["-rpcpassword"].size() < 20)
+                 Sleep(250);
  
              stream << HTTPReply(401, "") << std::flush;
-             printf("ThreadRPCServer incorrect password attempt\n");
              continue;
          }
  
@@@ -23,11 -23,11 +23,11 @@@ Distributed under the MIT/X11 software 
  This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard.</source>
          <translation>Copyright © 2009-2011 Bitcoin Developers
  
 -Dette er eksperimentel software.
 +Dette program er ekperimentielt.
  
 -Distribueret under MIT/X11 softwarelicensen. Se den vedlagte fil, license.txt, eller http://www.opensource.org/licenses/mit-license.php.
 +Det er gjort tilgængeligt under MIT/X11 softwarelicensen. Se den tilhørende fil &quot;license.txt&quot; eller http://www.opensource.org/licenses/mit-license.php.
  
 -Dette produkt indeholder software udviklet af OpenSSL Project til brug i OpenSSL Toolkit (http://www.openssl.org/) og kryptografisk software skrevet af Eric Young (eay@cryptsoft.com) og UPnP software skrevet af Thomas Bernhard.</translation>
 +Produktet indeholder software som er udviklet af OpenSSL Project til brug i OpenSSL Toolkit (http://www.openssl.org/), kryptografisk software skrevet af Eric Young (eay@cryptsoft.com) og UPnP-software skrevet by Thomas Bernard.</translation>
      </message>
  </context>
  <context>
      <message>
          <location filename="../forms/addressbookpage.ui" line="20"/>
          <source>These are your Bitcoin addresses for receiving payments.  You may want to give a different one to each sender so you can keep track of who is paying you.</source>
 -        <translation>Dette er dine Bitcoinadresser for at modtage betalinger.  Du kan give en forskellig adresse til hver afsender, så du kan holde styr på hvem der betaler dig.</translation>
 +        <translation>Dette er dine Bitcoinadresser til at modtage betalinger med.  Du kan give en forskellig adresse til hver afsender, så du kan holde styr på hvem der betaler dig.</translation>
      </message>
      <message>
          <location filename="../forms/addressbookpage.ui" line="33"/>
          <source>Double-click to edit address or label</source>
 -        <translation>Dobbeltklik for at redigere adresse eller etiket</translation>
 +        <translation>Dobbeltklik for at redigere adresse eller mærkat</translation>
      </message>
      <message>
          <location filename="../forms/addressbookpage.ui" line="57"/>
@@@ -318,7 -318,7 +318,7 @@@ Er du sikker på at du ønsker at krypt
      <message>
          <location filename="../bitcoingui.cpp" line="200"/>
          <source>E&amp;xit</source>
 -        <translation type="unfinished"/>
 +        <translation>&amp;Luk</translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="201"/>
      <message>
          <location filename="../bitcoingui.cpp" line="204"/>
          <source>&amp;About %1</source>
 -        <translation type="unfinished"/>
 +        <translation>&amp;Om %1</translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="205"/>
@@@ -674,8 -674,8 +674,8 @@@ Adresse: %
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="217"/>
-         <source>Optional transaction fee per KB that helps make sure your transactions are processed quickly.  Most transactions are 1KB.  Fee 0.01 recommended.</source>
-         <translation>Valgfri transaktionsgebyr pr. KB, der hjælper dine transaktioner med at blive behandlet hurtigt.  De fleste transaktioner er på 1KB.  Gebyr på 0.01 anbefales.</translation>
+         <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly.  Most transactions are 1kB.  Fee 0.01 recommended.</source>
+         <translation>Valgfri transaktionsgebyr pr. kB, der hjælper dine transaktioner med at blive behandlet hurtigt.  De fleste transaktioner er på 1kB.  Gebyr på 0.01 anbefales.</translation>
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="223"/>
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="226"/>
-         <source>Optional transaction fee per KB that helps make sure your transactions are processed quickly. Most transactions are 1KB. Fee 0.01 recommended.</source>
-         <translation>Valgfri transaktionsgebyr pr. KB, der hjælper dine transaktioner med at blive behandlet hurtigt. De fleste transaktioner er på 1KB. Gebyr på 0.01 anbefales.</translation>
+         <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1kB. Fee 0.01 recommended.</source>
+         <translation>Valgfri transaktionsgebyr pr. kB, der hjælper dine transaktioner med at blive behandlet hurtigt. De fleste transaktioner er på 1kB. Gebyr på 0.01 anbefales.</translation>
      </message>
  </context>
  <context>
@@@ -764,7 -764,7 +764,7 @@@ p, li { white-space: pre-wrap; 
      <message>
          <location filename="../overviewpage.cpp" line="103"/>
          <source>Your current balance</source>
 -        <translation>Din aktuelle saldo</translation>
 +        <translation>Din nuværende saldo</translation>
      </message>
      <message>
          <location filename="../overviewpage.cpp" line="108"/>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="23"/>
-         <source>Fee per KB to add to transactions you send
+         <source>Fee per kB to add to transactions you send
  </source>
-         <translation>Gebyr pr. KB, som skal tilføjes til transaktioner du sender
+         <translation>Gebyr pr. kB, som skal tilføjes til transaktioner du sender
  </translation>
      </message>
      <message>
@@@ -1915,415 -1915,411 +1915,415 @@@ Husk at kryptere din tegnebog ikke fuld
      <message>
          <location filename="../bitcoinstrings.cpp" line="116"/>
          <source>Wallet is unencrypted, please encrypt it first.</source>
 -        <translation type="unfinished"/>
 +        <translation>Tegnebogen er ikke krypteret. Kryptér den venligst først.</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="117"/>
          <source>Enter the new passphrase for the wallet.</source>
 -        <translation type="unfinished"/>
 +        <translation>Indtast den nye adgangskode til tegnebogen.</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="118"/>
          <source>Re-enter the new passphrase for the wallet.</source>
 -        <translation type="unfinished"/>
 +        <translation>Genindtast den nye adgangskode til tegnebogen.</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="119"/>
          <source>Wallet Passphrase Changed.</source>
 -        <translation type="unfinished"/>
 +        <translation>Adgangskode til tegnebog ændret.</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="120"/>
          <source>New Receiving Address</source>
 -        <translation type="unfinished"/>
 +        <translation>Ny modtageradresse</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="121"/>
          <source>You should use a new address for each payment you receive.
  
  Label</source>
 -        <translation type="unfinished"/>
 +        <translation>Du bør bruge en ny adresse for hver betaling du modtager.
 +
 +Mærkat</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="125"/>
          <source>&lt;b&gt;Status:&lt;/b&gt; </source>
 -        <translation type="unfinished"/>
 +        <translation>&lt;b&gt;Status:&lt;/b&gt; </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="126"/>
          <source>, has not been successfully broadcast yet</source>
 -        <translation type="unfinished"/>
 +        <translation>, er ikke blevet transmitteret endnu</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="127"/>
          <source>, broadcast through %d node</source>
 -        <translation type="unfinished"/>
 +        <translation>, spredt gennem %d knudepunkt</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="128"/>
          <source>, broadcast through %d nodes</source>
 -        <translation type="unfinished"/>
 +        <translation>, spredt gennem %d knudepunkter</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="129"/>
          <source>&lt;b&gt;Date:&lt;/b&gt; </source>
 -        <translation type="unfinished"/>
 +        <translation>&lt;b&gt;Dato:&lt;/b&gt; </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="130"/>
          <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
 -        <translation type="unfinished"/>
 +        <translation>&lt;b&gt;Kilde:&lt;/b&gt; Genereret&lt;br&gt;</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="131"/>
          <source>&lt;b&gt;From:&lt;/b&gt; </source>
 -        <translation type="unfinished"/>
 +        <translation>&lt;b&gt;Fra:&lt;/b&gt; </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="132"/>
          <source>unknown</source>
 -        <translation type="unfinished"/>
 +        <translation>ukendt</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="133"/>
          <source>&lt;b&gt;To:&lt;/b&gt; </source>
 -        <translation type="unfinished"/>
 +        <translation>&lt;b&gt;Til:&lt;/b&gt;</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="134"/>
          <source> (yours, label: </source>
 -        <translation type="unfinished"/>
 +        <translation> (din, etiket:</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="135"/>
          <source> (yours)</source>
 -        <translation type="unfinished"/>
 +        <translation> (din)</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="136"/>
          <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
 -        <translation type="unfinished"/>
 +        <translation>&lt;b&gt;Kredit:&lt;/b&gt; </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="137"/>
          <source>(%s matures in %d more blocks)</source>
 -        <translation type="unfinished"/>
 +        <translation>(%s bliver moden om %d blokke)</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="138"/>
          <source>(not accepted)</source>
 -        <translation type="unfinished"/>
 +        <translation>(ikke accepteret)</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="139"/>
          <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
 -        <translation type="unfinished"/>
 +        <translation>&lt;b&gt;Debet:&lt;/b&gt;</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="140"/>
          <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
 -        <translation type="unfinished"/>
 +        <translation>&lt;b&gt;Transaktionsgebyr:&lt;/b&gt; </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="141"/>
          <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
 -        <translation type="unfinished"/>
 +        <translation>&lt;b&gt;Nettobeløb:&lt;/b&gt;</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="142"/>
          <source>Message:</source>
 -        <translation type="unfinished"/>
 +        <translation>Besked:</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="143"/>
          <source>Comment:</source>
 -        <translation type="unfinished"/>
 +        <translation>Kommentar:</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="144"/>
          <source>Generated coins must wait 120 blocks before they can be spent.  When you generated this block, it was broadcast to the network to be added to the block chain.  If it fails to get into the chain, it will change to &quot;not accepted&quot; and not be spendable.  This may occasionally happen if another node generates a block within a few seconds of yours.</source>
 -        <translation type="unfinished"/>
 +        <translation>Genererede coins skal vente 120 blokke, før de kan blive brugt.  Da du  genererede denne blok blev det transmitteret til netværket, for at blive føjet til blokkæden.  Hvis det mislykkes at komme ind i kæden, vil den skifte til &quot;ikke godkendt&quot;, og ikke blive kunne bruges.  Dette kan lejlighedsvis ske, hvis en anden node genererer en blok inden for få sekunder af din.</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="150"/>
          <source>Cannot write autostart/bitcoin.desktop file</source>
 -        <translation type="unfinished"/>
 +        <translation>Skrivning til filen autostart/bitcoin.desktop ikke mulig</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="151"/>
          <source>Main</source>
 -        <translation type="unfinished"/>
 +        <translation>Generelt</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="152"/>
          <source>&amp;Start Bitcoin on window system startup</source>
 -        <translation type="unfinished"/>
 +        <translation>&amp;Start Bitcoin når systemet startes</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="153"/>
          <source>&amp;Minimize on close</source>
 -        <translation type="unfinished"/>
 +        <translation>&amp;Minimér ved lukning</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="154"/>
          <source>version %s</source>
 -        <translation type="unfinished"/>
 +        <translation>version %s</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="155"/>
          <source>Error in amount  </source>
 -        <translation type="unfinished"/>
 +        <translation>Fejl i beløb  </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="156"/>
          <source>Send Coins</source>
 -        <translation type="unfinished"/>
 +        <translation>Send Coins</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="157"/>
          <source>Amount exceeds your balance  </source>
 -        <translation type="unfinished"/>
 +        <translation>Beløb overstiger saldo  </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="158"/>
          <source>Total exceeds your balance when the </source>
 -        <translation type="unfinished"/>
 +        <translation>Det samlede beløb overstiger saldoen når </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="159"/>
          <source> transaction fee is included  </source>
 -        <translation type="unfinished"/>
 +        <translation> transaktionsgebyret er inkluderet  </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="160"/>
          <source>Payment sent  </source>
 -        <translation type="unfinished"/>
 +        <translation>Betaling afsendt  </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="161"/>
          <source>Sending...</source>
 -        <translation type="unfinished"/>
 +        <translation>Sender...</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="162"/>
          <source>Invalid address  </source>
 -        <translation type="unfinished"/>
 +        <translation>Ugyldig adresse  </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="163"/>
          <source>Sending %s to %s</source>
 -        <translation type="unfinished"/>
 +        <translation>Sender %s til %s</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="164"/>
          <source>CANCELLED</source>
 -        <translation type="unfinished"/>
 +        <translation>ANNULLERET</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="165"/>
          <source>Cancelled</source>
 -        <translation type="unfinished"/>
 +        <translation>Annulleret</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="166"/>
          <source>Transfer cancelled  </source>
 -        <translation type="unfinished"/>
 +        <translation>Overførsel annulleret  </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="167"/>
          <source>Error: </source>
 -        <translation type="unfinished"/>
 +        <translation>Fejl: </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="168"/>
          <source>Insufficient funds</source>
 -        <translation type="unfinished"/>
 +        <translation>Du har ikke penge nok</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="169"/>
          <source>Connecting...</source>
 -        <translation type="unfinished"/>
 +        <translation>Forbinder...</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="170"/>
          <source>Unable to connect</source>
 -        <translation type="unfinished"/>
 +        <translation>Forbindelse mislykkedes</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="171"/>
          <source>Requesting public key...</source>
 -        <translation type="unfinished"/>
 +        <translation>Efterspørger offentlig nøgle...</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="172"/>
          <source>Received public key...</source>
 -        <translation type="unfinished"/>
 +        <translation>Modtog offentlig nøgle...</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="173"/>
          <source>Recipient is not accepting transactions sent by IP address</source>
 -        <translation type="unfinished"/>
 +        <translation>Modtageren accepterer ikke transaktioner sendt til en IP-adresse</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="174"/>
          <source>Transfer was not accepted</source>
 -        <translation type="unfinished"/>
 +        <translation>Overførsel ikke accepteret</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="175"/>
          <source>Invalid response received</source>
 -        <translation type="unfinished"/>
 +        <translation>Ugyldigt svar modtaget</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="176"/>
          <source>Creating transaction...</source>
 -        <translation type="unfinished"/>
 +        <translation>Opretter transaktion...</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="177"/>
          <source>This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds</source>
 -        <translation type="unfinished"/>
 +        <translation>Denne transaktion kræver at du betaler et transaktionsgebyr på mindst %s pga. af transaktionens størrelse, dens kompleksitet eller fordi den gør brug af nyligt modtagne penge</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="180"/>
          <source>Transaction creation failed</source>
 -        <translation type="unfinished"/>
 +        <translation>Opretning af transaktion mislykkedes</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="181"/>
          <source>Transaction aborted</source>
 -        <translation type="unfinished"/>
 +        <translation>Transaktion afbrudt</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="182"/>
          <source>Lost connection, transaction cancelled</source>
 -        <translation type="unfinished"/>
 +        <translation>Forbindelse afbrudt, transaktion annulleret</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="183"/>
          <source>Sending payment...</source>
 -        <translation type="unfinished"/>
 +        <translation>Sender betaling...</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="184"/>
          <source>The transaction was rejected.  This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here.</source>
 -        <translation type="unfinished"/>
 +        <translation>Transaktionen blev afvist.  Dette kan ske hvis nogle af pengene i din tegnebog allerede er brugt, for eksempel hvis du har brugt en kopi af din wallet.dat-fil og pengene er brugt i kopien af din tegnebog, men ikke blev markeret som brugte deri.</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="188"/>
          <source>Waiting for confirmation...</source>
 -        <translation type="unfinished"/>
 +        <translation>Afventer bekræftelse...</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="189"/>
          <source>The payment was sent, but the recipient was unable to verify it.
  The transaction is recorded and will credit to the recipient,
  but the comment information will be blank.</source>
 -        <translation type="unfinished"/>
 +        <translation>Betalingen blev afsendt, men modtageren var ikke i stand til at bekræfte den.
 +Transaktionen er oprettet og vil kreditere modtageren,
 +men kommentarfeltet vil være tomt.</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="193"/>
          <source>Payment was sent, but an invalid response was received</source>
 -        <translation type="unfinished"/>
 +        <translation>Betalingen blev afsendt, men et ugyldigt svar blev modtaget</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="194"/>
          <source>Payment completed</source>
 -        <translation type="unfinished"/>
 +        <translation>Betaling fuldført</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="195"/>
          <source>Name</source>
 -        <translation type="unfinished"/>
 +        <translation>Navn</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="196"/>
          <source>Address</source>
 -        <translation type="unfinished"/>
 +        <translation>Adresse</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="197"/>
          <source>Label</source>
 -        <translation type="unfinished"/>
 +        <translation>Etiket</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="198"/>
          <source>Bitcoin Address</source>
 -        <translation type="unfinished"/>
 +        <translation>Bitcoinadresse</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="199"/>
          <source>This is one of your own addresses for receiving payments and cannot be entered in the address book.  </source>
 -        <translation type="unfinished"/>
 +        <translation>Dette er en af dine egne adresser til at modtage betalinger med, og kan ikke indtastes i adressebogen.</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="202"/>
          <source>Edit Address</source>
 -        <translation type="unfinished"/>
 +        <translation>Rediger Adresse</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="203"/>
          <source>Edit Address Label</source>
 -        <translation type="unfinished"/>
 +        <translation>Redigér adressemærkat</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="204"/>
          <source>Add Address</source>
 -        <translation type="unfinished"/>
 +        <translation>Tilføj adresse</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="205"/>
          <source>Bitcoin</source>
 -        <translation type="unfinished"/>
 +        <translation>Bitcoin</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="206"/>
          <source>Bitcoin - Generating</source>
 -        <translation type="unfinished"/>
 +        <translation>Bitcoin - Genererer</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="207"/>
          <source>Bitcoin - (not connected)</source>
 -        <translation type="unfinished"/>
 +        <translation>Bitcoin - (ikke tilsluttet)</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="208"/>
          <source>&amp;Open Bitcoin</source>
 -        <translation type="unfinished"/>
 +        <translation>Å&amp;bn Bitcoin</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="209"/>
          <source>&amp;Send Bitcoins</source>
 -        <translation type="unfinished"/>
 +        <translation>&amp;Send Bitcoins</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="210"/>
          <source>O&amp;ptions...</source>
 -        <translation type="unfinished"/>
 +        <translation>&amp;Indstillinger...</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="211"/>
          <source>E&amp;xit</source>
 -        <translation type="unfinished"/>
 +        <translation>&amp;Luk</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="212"/>
          <source>Program has crashed and will terminate.  </source>
 -        <translation type="unfinished"/>
 +        <translation>Programmet er gået ned og vil afslutte.  </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="213"/>
          <source>Warning: Please check that your computer&apos;s date and time are correct.  If your clock is wrong Bitcoin will not work properly.</source>
 -        <translation type="unfinished"/>
 +        <translation>Advarsel: Undersøg venligst at din computers dato og klokkeslet er korrekt indstillet.   Hvis der er fejl i disse vil Bitcoin ikke fungere korrekt.</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="216"/>
          <source>beta</source>
 -        <translation type="unfinished"/>
 +        <translation>beta</translation>
      </message>
  </context>
  <context>
      <message>
          <location filename="../bitcoin.cpp" line="145"/>
          <source>Bitcoin Qt</source>
 -        <translation type="unfinished"/>
 +        <translation>Bitcoin Qt</translation>
      </message>
  </context>
  </TS>
@@@ -673,8 -673,8 +673,8 @@@ Adresse: %4</translation
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="217"/>
-         <source>Optional transaction fee per KB that helps make sure your transactions are processed quickly.  Most transactions are 1KB.  Fee 0.01 recommended.</source>
-         <translation>Zusätzliche Transaktionsgebühr pro KB, welche sicherstellt, dass Ihre Transaktionen schnell bearbeitet werden. Die meisten Transaktionen sind 1 KB groß. Eine Gebühr von 0.01 wird empfohlen.</translation>
+         <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly.  Most transactions are 1kB.  Fee 0.01 recommended.</source>
+         <translation>Zusätzliche Transaktionsgebühr pro kB, welche sicherstellt, dass Ihre Transaktionen schnell bearbeitet werden. Die meisten Transaktionen sind 1 kB groß. Eine Gebühr von 0.01 wird empfohlen.</translation>
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="223"/>
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="226"/>
-         <source>Optional transaction fee per KB that helps make sure your transactions are processed quickly. Most transactions are 1KB. Fee 0.01 recommended.</source>
-         <translation>Zusätzliche Transaktionsgebühr pro KB, welche sicherstellt, dass Ihre Transaktionen schnell bearbeitet werden. Die meisten Transaktionen sind 1 KB groß. Eine Gebühr von 0.01 wird empfohlen.</translation>
+         <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1kB. Fee 0.01 recommended.</source>
+         <translation>Zusätzliche Transaktionsgebühr pro kB, welche sicherstellt, dass Ihre Transaktionen schnell bearbeitet werden. Die meisten Transaktionen sind 1 kB groß. Eine Gebühr von 0.01 wird empfohlen.</translation>
      </message>
  </context>
  <context>
@@@ -1512,9 -1512,9 +1512,9 @@@ p, li { white-space: pre-wrap; 
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="23"/>
-         <source>Fee per KB to add to transactions you send
+         <source>Fee per kB to add to transactions you send
  </source>
-         <translation>Gebühr pro KB, die gesendeten Transaktionen hinzugefügt wird
+         <translation>Gebühr pro kB, die gesendeten Transaktionen hinzugefügt wird
  </translation>
      </message>
      <message>
@@@ -1928,12 -1928,12 +1928,12 @@@ Label</source
      <message>
          <location filename="../bitcoinstrings.cpp" line="125"/>
          <source>&lt;b&gt;Status:&lt;/b&gt; </source>
 -        <translation type="unfinished"/>
 +        <translation>&lt;b&gt;Status:&lt;/b&gt; </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="126"/>
          <source>, has not been successfully broadcast yet</source>
 -        <translation type="unfinished"/>
 +        <translation>; wurde noch nicht erfolgreich gesendet</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="127"/>
      <message>
          <location filename="../bitcoinstrings.cpp" line="130"/>
          <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
 -        <translation type="unfinished"/>
 +        <translation>&lt;b&gt;Quelle:&lt;/b&gt; Generiert&lt;br&gt;</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="131"/>
      <message>
          <location filename="../bitcoinstrings.cpp" line="132"/>
          <source>unknown</source>
 -        <translation type="unfinished"/>
 +        <translation>unbekannt</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="133"/>
          <source>&lt;b&gt;To:&lt;/b&gt; </source>
 -        <translation type="unfinished"/>
 +        <translation>&lt;b&gt;An:&lt;/b&gt; </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="134"/>
          <source> (yours, label: </source>
 -        <translation type="unfinished"/>
 +        <translation> (Ihre, Bezeichnung: </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="135"/>
          <source> (yours)</source>
 -        <translation type="unfinished"/>
 +        <translation> (Ihre)</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="136"/>
          <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
 -        <translation type="unfinished"/>
 +        <translation>&lt;b&gt;Gutschrift:&lt;/b&gt; </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="137"/>
      <message>
          <location filename="../bitcoinstrings.cpp" line="138"/>
          <source>(not accepted)</source>
 -        <translation type="unfinished"/>
 +        <translation>(nicht angenommen)</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="139"/>
          <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
 -        <translation type="unfinished"/>
 +        <translation>&lt;b&gt;Belastung:&lt;/b&gt; </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="140"/>
      <message>
          <location filename="../bitcoinstrings.cpp" line="141"/>
          <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
 -        <translation type="unfinished"/>
 +        <translation>&lt;b&gt;Nettobetrag:&lt;/b&gt; </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="142"/>
          <source>Message:</source>
 -        <translation type="unfinished"/>
 +        <translation>Nachricht:</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="143"/>
          <source>Comment:</source>
 -        <translation type="unfinished"/>
 +        <translation>Kommentar:</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="144"/>
          <source>Generated coins must wait 120 blocks before they can be spent.  When you generated this block, it was broadcast to the network to be added to the block chain.  If it fails to get into the chain, it will change to &quot;not accepted&quot; and not be spendable.  This may occasionally happen if another node generates a block within a few seconds of yours.</source>
 -        <translation type="unfinished"/>
 +        <translation>Generierte Bitcoins müssen 120 Blöcke lang warten, bevor sie ausgegeben werden können. Als Sie diesen Block generierten, wurde er an das Netzwerk gesendet, um ihn der Blockkette hinzuzufügen. Falls dies fehlschlägt wird der Status in &quot;nicht angenommen&quot; geändert und der Betrag wird nicht verfügbar werden. Das kann gelegentlich passieren, wenn ein anderer Knoten einen Block zur selben Zeit wie Sie generierte.</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="150"/>
      <message>
          <location filename="../bitcoinstrings.cpp" line="151"/>
          <source>Main</source>
 -        <translation type="unfinished"/>
 +        <translation>Haupt</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="152"/>
          <source>&amp;Start Bitcoin on window system startup</source>
 -        <translation type="unfinished"/>
 +        <translation>&amp;Bitcoin beim Systemstart ausführen</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="153"/>
      <message>
          <location filename="../bitcoinstrings.cpp" line="156"/>
          <source>Send Coins</source>
 -        <translation type="unfinished"/>
 +        <translation>Bitcoins überweisen</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="157"/>
@@@ -2220,12 -2220,12 +2220,12 @@@ but the comment information will be bla
      <message>
          <location filename="../bitcoinstrings.cpp" line="196"/>
          <source>Address</source>
 -        <translation type="unfinished"/>
 +        <translation>Adresse</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="197"/>
          <source>Label</source>
 -        <translation type="unfinished"/>
 +        <translation>Bezeichnung</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="198"/>
      <message>
          <location filename="../bitcoinstrings.cpp" line="202"/>
          <source>Edit Address</source>
 -        <translation type="unfinished"/>
 +        <translation>Adresse bearbeiten</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="203"/>
@@@ -1,4 -1,6 +1,4 @@@
 -<?xml version="1.0" encoding="utf-8"?>
 -<!DOCTYPE TS>
 -<TS version="2.0" language="es">
 +<?xml version="1.0" ?><!DOCTYPE TS><TS language="es" version="2.0">
  <defaultcodec>UTF-8</defaultcodec>
  <context>
      <name>AboutDialog</name>
@@@ -426,7 -428,10 +426,7 @@@ Are you sure you wish to encrypt your w
      <message numerus="yes">
          <location filename="../bitcoingui.cpp" line="396"/>
          <source>%n active connection(s) to Bitcoin network</source>
 -        <translation>
 -            <numerusform>%n conexión activa hacia la red Bitcoin</numerusform>
 -            <numerusform>%n conexiones activas hacia la red Bitcoin</numerusform>
 -        </translation>
 +        <translation><numerusform>%n conexión activa hacia la red Bitcoin</numerusform><numerusform>%n conexiones activas hacia la red Bitcoin</numerusform></translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="411"/>
      <message numerus="yes">
          <location filename="../bitcoingui.cpp" line="428"/>
          <source>%n second(s) ago</source>
 -        <translation>
 -            <numerusform>Hace %n segundo</numerusform>
 -            <numerusform>Hace %n segundos</numerusform>
 -        </translation>
 +        <translation><numerusform>Hace %n segundo</numerusform><numerusform>Hace %n segundos</numerusform></translation>
      </message>
      <message numerus="yes">
          <location filename="../bitcoingui.cpp" line="432"/>
          <source>%n minute(s) ago</source>
 -        <translation>
 -            <numerusform>Hace %n minuto</numerusform>
 -            <numerusform>Hace %n minutos</numerusform>
 -        </translation>
 +        <translation><numerusform>Hace %n minuto</numerusform><numerusform>Hace %n minutos</numerusform></translation>
      </message>
      <message numerus="yes">
          <location filename="../bitcoingui.cpp" line="436"/>
          <source>%n hour(s) ago</source>
 -        <translation>
 -            <numerusform>Hace %n hora</numerusform>
 -            <numerusform>Hace %n horas</numerusform>
 -        </translation>
 +        <translation><numerusform>Hace %n hora</numerusform><numerusform>Hace %n horas</numerusform></translation>
      </message>
      <message numerus="yes">
          <location filename="../bitcoingui.cpp" line="440"/>
          <source>%n day(s) ago</source>
 -        <translation>
 -            <numerusform>Hace %n día</numerusform>
 -            <numerusform>Hace %n días</numerusform>
 -        </translation>
 +        <translation><numerusform>Hace %n día</numerusform><numerusform>Hace %n días</numerusform></translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="446"/>
@@@ -676,8 -693,8 +676,8 @@@ Dirección: %4</translation
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="217"/>
-         <source>Optional transaction fee per KB that helps make sure your transactions are processed quickly.  Most transactions are 1KB.  Fee 0.01 recommended.</source>
-         <translation>Comisión opcional a las transacciones por KB que ayuda a asegurar que tus transacciones son procesadas rápidamente. La mayoría de las transacciones son de 1KB. Se recomienda una comisión de 0.01.</translation>
+         <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly.  Most transactions are 1kB.  Fee 0.01 recommended.</source>
+         <translation>Comisión opcional a las transacciones por kB que ayuda a asegurar que tus transacciones son procesadas rápidamente. La mayoría de las transacciones son de 1kB. Se recomienda una comisión de 0.01.</translation>
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="223"/>
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="226"/>
-         <source>Optional transaction fee per KB that helps make sure your transactions are processed quickly. Most transactions are 1KB. Fee 0.01 recommended.</source>
-         <translation>Comisión opcional a las transacciones por KB que ayuda a asegurar que tus transacciones son procesadas rápidamente. La mayoría de las transacciones son de 1KB. Se recomienda una comisión de 0.01.</translation>
+         <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1kB. Fee 0.01 recommended.</source>
+         <translation>Comisión opcional a las transacciones por kB que ayuda a asegurar que tus transacciones son procesadas rápidamente. La mayoría de las transacciones son de 1kB. Se recomienda una comisión de 0.01.</translation>
      </message>
  </context>
  <context>
          <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
  &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
  p, li { white-space: pre-wrap; }
 -&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Ubuntu&apos;; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
 +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
  &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Wallet&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
          <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
  &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
  p, li { white-space: pre-wrap; }
 -&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Ubuntu&apos;; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
 +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
  &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Cartera&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
      </message>
      <message>
      <message numerus="yes">
          <location filename="../transactiontablemodel.cpp" line="274"/>
          <source>Open for %n block(s)</source>
 -        <translation>
 -            <numerusform>Abierto por %n bloque</numerusform>
 -            <numerusform>Abierto por %n bloques</numerusform>
 -        </translation>
 +        <translation><numerusform>Abierto por %n bloque</numerusform><numerusform>Abierto por %n bloques</numerusform></translation>
      </message>
      <message>
          <location filename="../transactiontablemodel.cpp" line="277"/>
      <message numerus="yes">
          <location filename="../transactiontablemodel.cpp" line="295"/>
          <source>Mined balance will be available in %n more blocks</source>
 -        <translation>
 -            <numerusform>El balance minado estará disponible en %n bloque mas</numerusform>
 -            <numerusform>El balance minado estará disponible en %n bloques mas</numerusform>
 -        </translation>
 +        <translation><numerusform>El balance minado estará disponible en %n bloque mas</numerusform><numerusform>El balance minado estará disponible en %n bloques mas</numerusform></translation>
      </message>
      <message>
          <location filename="../transactiontablemodel.cpp" line="301"/>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="12"/>
 -        <source>Don&apos;t generate coins
 +        <source>Don't generate coins
  </source>
          <translation>No generar monedas
  </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="20"/>
 -        <source>Don&apos;t accept connections from outside
 +        <source>Don't accept connections from outside
  </source>
          <translation>No aceptar conexiones desde el exterior
  </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="21"/>
 -        <source>Don&apos;t attempt to use UPnP to map the listening port
 +        <source>Don't attempt to use UPnP to map the listening port
  </source>
          <translation>No intentar usar UPnP para mapear el puerto de entrada
  </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="23"/>
-         <source>Fee per KB to add to transactions you send
+         <source>Fee per kB to add to transactions you send
  </source>
-         <translation>Comisión por KB para agregar a las transacciones que envias
+         <translation>Comisión por kB para agregar a las transacciones que envias
  </translation>
      </message>
      <message>
@@@ -1,4 -1,6 +1,4 @@@
 -<?xml version="1.0" encoding="utf-8"?>
 -<!DOCTYPE TS>
 -<TS version="2.0" language="es_CL">
 +<?xml version="1.0" ?><!DOCTYPE TS><TS language="es_CL" version="2.0">
  <defaultcodec>UTF-8</defaultcodec>
  <context>
      <name>AboutDialog</name>
@@@ -426,7 -428,10 +426,7 @@@ Are you sure you wish to encrypt your w
      <message numerus="yes">
          <location filename="../bitcoingui.cpp" line="396"/>
          <source>%n active connection(s) to Bitcoin network</source>
 -        <translation>
 -            <numerusform>%n conexión activa hacia la red Bitcoin</numerusform>
 -            <numerusform>%n conexiones activas hacia la red Bitcoin</numerusform>
 -        </translation>
 +        <translation><numerusform>%n conexión activa hacia la red Bitcoin</numerusform><numerusform>%n conexiones activas hacia la red Bitcoin</numerusform></translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="411"/>
      <message numerus="yes">
          <location filename="../bitcoingui.cpp" line="428"/>
          <source>%n second(s) ago</source>
 -        <translation>
 -            <numerusform>Hace %n segundo</numerusform>
 -            <numerusform>Hace %n segundos</numerusform>
 -        </translation>
 +        <translation><numerusform>Hace %n segundo</numerusform><numerusform>Hace %n segundos</numerusform></translation>
      </message>
      <message numerus="yes">
          <location filename="../bitcoingui.cpp" line="432"/>
          <source>%n minute(s) ago</source>
 -        <translation>
 -            <numerusform>Hace %n minuto</numerusform>
 -            <numerusform>Hace %n minutos</numerusform>
 -        </translation>
 +        <translation><numerusform>Hace %n minuto</numerusform><numerusform>Hace %n minutos</numerusform></translation>
      </message>
      <message numerus="yes">
          <location filename="../bitcoingui.cpp" line="436"/>
          <source>%n hour(s) ago</source>
 -        <translation>
 -            <numerusform>Hace %n hora</numerusform>
 -            <numerusform>Hace %n horas</numerusform>
 -        </translation>
 +        <translation><numerusform>Hace %n hora</numerusform><numerusform>Hace %n horas</numerusform></translation>
      </message>
      <message numerus="yes">
          <location filename="../bitcoingui.cpp" line="440"/>
          <source>%n day(s) ago</source>
 -        <translation>
 -            <numerusform>Hace %n día</numerusform>
 -            <numerusform>Hace %n días</numerusform>
 -        </translation>
 +        <translation><numerusform>Hace %n día</numerusform><numerusform>Hace %n días</numerusform></translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="446"/>
@@@ -676,8 -693,8 +676,8 @@@ Dirección: %4</translation
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="217"/>
-         <source>Optional transaction fee per KB that helps make sure your transactions are processed quickly.  Most transactions are 1KB.  Fee 0.01 recommended.</source>
-         <translation>Comisión de operación opcional por KB que ayuda a asegurar que tus transacciones sean procesadas rápidamente. La mayoría de las transacciones son de 1KB. Se recomienda una comisión de 0.01.</translation>
+         <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly.  Most transactions are 1kB.  Fee 0.01 recommended.</source>
+         <translation>Comisión de operación opcional por kB que ayuda a asegurar que tus transacciones sean procesadas rápidamente. La mayoría de las transacciones son de 1kB. Se recomienda una comisión de 0.01.</translation>
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="223"/>
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="226"/>
-         <source>Optional transaction fee per KB that helps make sure your transactions are processed quickly. Most transactions are 1KB. Fee 0.01 recommended.</source>
-         <translation>Comisión de operación opcional por KB que ayuda a asegurar que tus transacciones sean procesadas rápidamente. La mayoría de las transacciones son de 1KB. Se recomienda una comisión de 0.01.</translation>
+         <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1kB. Fee 0.01 recommended.</source>
+         <translation>Comisión de operación opcional por kB que ayuda a asegurar que tus transacciones sean procesadas rápidamente. La mayoría de las transacciones son de 1kB. Se recomienda una comisión de 0.01.</translation>
      </message>
  </context>
  <context>
          <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
  &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
  p, li { white-space: pre-wrap; }
 -&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Ubuntu&apos;; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
 +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
  &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Wallet&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
          <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
  &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
  p, li { white-space: pre-wrap; }
 -&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Ubuntu&apos;; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
 +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
  &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Cartera&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
      </message>
      <message>
      <message numerus="yes">
          <location filename="../transactiontablemodel.cpp" line="274"/>
          <source>Open for %n block(s)</source>
 -        <translation>
 -            <numerusform>Abierto por %n bloque</numerusform>
 -            <numerusform>Abierto por %n bloques</numerusform>
 -        </translation>
 +        <translation><numerusform>Abierto por %n bloque</numerusform><numerusform>Abierto por %n bloques</numerusform></translation>
      </message>
      <message>
          <location filename="../transactiontablemodel.cpp" line="277"/>
      <message numerus="yes">
          <location filename="../transactiontablemodel.cpp" line="295"/>
          <source>Mined balance will be available in %n more blocks</source>
 -        <translation>
 -            <numerusform>El balance minado estará disponible en %n bloque mas</numerusform>
 -            <numerusform>El balance minado estará disponible en %n bloques mas</numerusform>
 -        </translation>
 +        <translation><numerusform>El balance minado estará disponible en %n bloque mas</numerusform><numerusform>El balance minado estará disponible en %n bloques mas</numerusform></translation>
      </message>
      <message>
          <location filename="../transactiontablemodel.cpp" line="301"/>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="12"/>
 -        <source>Don&apos;t generate coins
 +        <source>Don't generate coins
  </source>
          <translation>No generar monedas
  </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="20"/>
 -        <source>Don&apos;t accept connections from outside
 +        <source>Don't accept connections from outside
  </source>
          <translation>No aceptar conexiones desde el exterior
  </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="21"/>
 -        <source>Don&apos;t attempt to use UPnP to map the listening port
 +        <source>Don't attempt to use UPnP to map the listening port
  </source>
          <translation>No intentar usar UPnP para mapear el puerto de entrada
  </translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="23"/>
-         <source>Fee per KB to add to transactions you send
+         <source>Fee per kB to add to transactions you send
  </source>
-         <translation>Comisión por KB para agregar a las transacciones que envias
+         <translation>Comisión por kB para agregar a las transacciones que envias
  </translation>
      </message>
      <message>
@@@ -318,7 -318,7 +318,7 @@@ Er du sikker på at du vil kryptere lom
      <message>
          <location filename="../bitcoingui.cpp" line="200"/>
          <source>E&amp;xit</source>
 -        <translation type="unfinished"/>
 +        <translation>&amp;Avslutt</translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="201"/>
      <message>
          <location filename="../bitcoingui.cpp" line="204"/>
          <source>&amp;About %1</source>
 -        <translation type="unfinished"/>
 +        <translation> &amp;Om %1</translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="205"/>
@@@ -674,8 -674,8 +674,8 @@@ Adresse: %
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="217"/>
-         <source>Optional transaction fee per KB that helps make sure your transactions are processed quickly.  Most transactions are 1KB.  Fee 0.01 recommended.</source>
-         <translation>Valgfritt transaksjonsgebyr per KB som hjelper for å sikre at transaksjonene dine blir raskt prosessert.  De fleste transaksjoner er 1KB.  Et gebyr på 0.01 anbefales.</translation>
+         <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly.  Most transactions are 1kB.  Fee 0.01 recommended.</source>
+         <translation>Valgfritt transaksjonsgebyr per kB som hjelper for å sikre at transaksjonene dine blir raskt prosessert.  De fleste transaksjoner er 1kB.  Et gebyr på 0.01 anbefales.</translation>
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="223"/>
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="226"/>
-         <source>Optional transaction fee per KB that helps make sure your transactions are processed quickly. Most transactions are 1KB. Fee 0.01 recommended.</source>
-         <translation>Valgfritt transaksjonsgebyr per KB som hjelper for å sikre at transaksjonene dine blir raskt prosessert. De fleste transaksjoner er 1KB. Et gebyr på 0.01 anbefales.</translation>
+         <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1kB. Fee 0.01 recommended.</source>
+         <translation>Valgfritt transaksjonsgebyr per kB som hjelper for å sikre at transaksjonene dine blir raskt prosessert. De fleste transaksjoner er 1kB. Et gebyr på 0.01 anbefales.</translation>
      </message>
  </context>
  <context>
@@@ -1524,9 -1524,9 +1524,9 @@@ p, li { white-space: pre-wrap; 
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="23"/>
-         <source>Fee per KB to add to transactions you send
+         <source>Fee per kB to add to transactions you send
  </source>
-         <translation>Gebyr per KB som skal legges til transaksjoner du sender
+         <translation>Gebyr per kB som skal legges til transaksjoner du sender
  </translation>
      </message>
      <message>
@@@ -2332,7 -2332,7 +2332,7 @@@ men kommentaren vil bli blank.</transla
      <message>
          <location filename="../bitcoin.cpp" line="145"/>
          <source>Bitcoin Qt</source>
 -        <translation type="unfinished"/>
 +        <translation>Bitcoin Qt</translation>
      </message>
  </context>
  </TS>
@@@ -319,7 -319,7 +319,7 @@@ Bent u er zeker van uw dat u uw portemo
      <message>
          <location filename="../bitcoingui.cpp" line="200"/>
          <source>E&amp;xit</source>
 -        <translation type="unfinished"/>
 +        <translation>&amp;Afsluiten</translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="201"/>
      <message>
          <location filename="../bitcoingui.cpp" line="204"/>
          <source>&amp;About %1</source>
 -        <translation type="unfinished"/>
 +        <translation>&amp;Over %1</translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="205"/>
@@@ -675,8 -675,8 +675,8 @@@ Adres: %
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="217"/>
-         <source>Optional transaction fee per KB that helps make sure your transactions are processed quickly.  Most transactions are 1KB.  Fee 0.01 recommended.</source>
-         <translation>Optionele transactiekosten per KB die helpen ervoor te zorgen dat uw transacties snel verwerkt worden. De meeste transacties zijn 1KB. Transactiekosten van 0.01 wordt aangeraden.</translation>
+         <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly.  Most transactions are 1kB.  Fee 0.01 recommended.</source>
+         <translation>Optionele transactiekosten per kB die helpen ervoor te zorgen dat uw transacties snel verwerkt worden. De meeste transacties zijn 1kB. Transactiekosten van 0.01 wordt aangeraden.</translation>
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="223"/>
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="226"/>
-         <source>Optional transaction fee per KB that helps make sure your transactions are processed quickly. Most transactions are 1KB. Fee 0.01 recommended.</source>
-         <translation>Optionele transactiekosten per KB die helpen ervoor te zorgen dat uw transacties snel verwerkt worden. De meeste transacties zijn 1KB. Transactiekosten van 0.01 wordt aangeraden.</translation>
+         <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1kB. Fee 0.01 recommended.</source>
+         <translation>Optionele transactiekosten per kB die helpen ervoor te zorgen dat uw transacties snel verwerkt worden. De meeste transacties zijn 1kB. Transactiekosten van 0.01 wordt aangeraden.</translation>
      </message>
  </context>
  <context>
@@@ -1526,9 -1526,9 +1526,9 @@@ p, li { white-space: pre-wrap; 
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="23"/>
-         <source>Fee per KB to add to transactions you send
+         <source>Fee per kB to add to transactions you send
  </source>
-         <translation>Kosten per KB om aan transacties toe te voegen die u verstuurt
+         <translation>Kosten per kB om aan transacties toe te voegen die u verstuurt
  </translation>
      </message>
      <message>
@@@ -2331,7 -2331,7 +2331,7 @@@ maar het commentaarveld zal leeg zijn</
      <message>
          <location filename="../bitcoin.cpp" line="145"/>
          <source>Bitcoin Qt</source>
 -        <translation type="unfinished"/>
 +        <translation>Bitcoin Qt</translation>
      </message>
  </context>
  </TS>
@@@ -121,90 -121,89 +121,90 @@@ This product includes software develope
      <message>
          <location filename="../forms/askpassphrasedialog.ui" line="26"/>
          <source>Dialog</source>
 -        <translation type="unfinished"/>
 +        <translation>Dialog</translation>
      </message>
      <message>
          <location filename="../forms/askpassphrasedialog.ui" line="32"/>
          <source>TextLabel</source>
 -        <translation type="unfinished"/>
 +        <translation>TextLabel</translation>
      </message>
      <message>
          <location filename="../forms/askpassphrasedialog.ui" line="47"/>
          <source>Enter passphrase</source>
 -        <translation type="unfinished"/>
 +        <translation>Введите пароль</translation>
      </message>
      <message>
          <location filename="../forms/askpassphrasedialog.ui" line="61"/>
          <source>New passphrase</source>
 -        <translation type="unfinished"/>
 +        <translation>Новый пароль</translation>
      </message>
      <message>
          <location filename="../forms/askpassphrasedialog.ui" line="75"/>
          <source>Repeat new passphrase</source>
 -        <translation type="unfinished"/>
 +        <translation>Повторите новый пароль</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="26"/>
          <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
 -        <translation type="unfinished"/>
 +        <translation>Введите новый пароль для бумажника. &lt;br/&gt; Пожалуйста, используйте фразы из &lt;b&gt;10 или более случайных символов,&lt;/b&gt; или &lt;b&gt;восьми и более слов.&lt;/b&gt;</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="27"/>
          <source>Encrypt wallet</source>
 -        <translation type="unfinished"/>
 +        <translation>Зашифровать бумажник</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="30"/>
          <source>This operation needs your wallet passphrase to unlock the wallet.</source>
 -        <translation type="unfinished"/>
 +        <translation>Для выполнения операции требуется пароль вашего бумажника.</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="35"/>
          <source>Unlock wallet</source>
 -        <translation type="unfinished"/>
 +        <translation>Разблокировать бумажник</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="38"/>
          <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
 -        <translation type="unfinished"/>
 +        <translation>Для выполнения операции требуется пароль вашего бумажника.</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="43"/>
          <source>Decrypt wallet</source>
 -        <translation type="unfinished"/>
 +        <translation>Расшифровать бумажник</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="46"/>
          <source>Change passphrase</source>
 -        <translation type="unfinished"/>
 +        <translation>Сменить пароль</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="47"/>
          <source>Enter the old and new passphrase to the wallet.</source>
 -        <translation type="unfinished"/>
 +        <translation>Введите старый и новый пароль для бумажника.</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="91"/>
          <source>Confirm wallet encryption</source>
 -        <translation type="unfinished"/>
 +        <translation>Подтвердите шифрование бумажника</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="92"/>
          <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
  Are you sure you wish to encrypt your wallet?</source>
 -        <translation type="unfinished"/>
 +        <translation>ВНИМАНИЕ: Если вы зашифруете бумажник и потеряете свой \200b\200bпароль, вы &lt;b&gt;ПОТЕРЯЕТЕ ВСЕ ВАШИ БИТКОИНЫ!&lt;/b&gt;
 +Вы действительно хотите зашифровать ваш бумажник?</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="101"/>
          <location filename="../askpassphrasedialog.cpp" line="149"/>
          <source>Wallet encrypted</source>
 -        <translation type="unfinished"/>
 +        <translation>Бумажник зашифрован</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="102"/>
          <source>Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
 -        <translation type="unfinished"/>
 +        <translation>Помните, что шифрование вашего бумажника не может полностью защитить ваши биткоины от кражи вредоносными программами, заражающими компьютер.</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="106"/>
          <location filename="../askpassphrasedialog.cpp" line="155"/>
          <location filename="../askpassphrasedialog.cpp" line="161"/>
          <source>Wallet encryption failed</source>
 -        <translation type="unfinished"/>
 +        <translation>Не удалось зашифровать бумажник</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="107"/>
          <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
 -        <translation type="unfinished"/>
 +        <translation>Шифрование бумажника не удалось из-за внутренней ошибки. Ваш бумажник не был зашифрован.</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="114"/>
          <location filename="../askpassphrasedialog.cpp" line="162"/>
          <source>The supplied passphrases do not match.</source>
 -        <translation type="unfinished"/>
 +        <translation>Введённые пароли не совпадают.</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="125"/>
          <source>Wallet unlock failed</source>
 -        <translation type="unfinished"/>
 +        <translation>Разблокировка бумажника не удалась</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="126"/>
          <location filename="../askpassphrasedialog.cpp" line="137"/>
          <location filename="../askpassphrasedialog.cpp" line="156"/>
          <source>The passphrase entered for the wallet decryption was incorrect.</source>
 -        <translation type="unfinished"/>
 +        <translation>Указанный пароль не подходит.</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="136"/>
          <source>Wallet decryption failed</source>
 -        <translation type="unfinished"/>
 +        <translation>Расшифрование бумажника не удалось</translation>
      </message>
      <message>
          <location filename="../askpassphrasedialog.cpp" line="150"/>
          <source>Wallet passphrase was succesfully changed.</source>
 -        <translation type="unfinished"/>
 +        <translation>Пароль бумажника успешно изменён.</translation>
      </message>
  </context>
  <context>
      <message>
          <location filename="../bitcoingui.cpp" line="200"/>
          <source>E&amp;xit</source>
 -        <translation type="unfinished"/>
 +        <translation>В&amp;ыход</translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="201"/>
      <message>
          <location filename="../bitcoingui.cpp" line="204"/>
          <source>&amp;About %1</source>
 -        <translation type="unfinished"/>
 +        <translation>&amp;О %1</translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="205"/>
      <message>
          <location filename="../bitcoingui.cpp" line="214"/>
          <source>&amp;Encrypt Wallet</source>
 -        <translation type="unfinished"/>
 +        <translation>&amp;Зашифровать бумажник</translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="215"/>
          <source>Encrypt or decrypt wallet</source>
 -        <translation type="unfinished"/>
 +        <translation>Зашифровать или расшифровать бумажник</translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="217"/>
          <source>&amp;Change Passphrase</source>
 -        <translation type="unfinished"/>
 +        <translation>&amp;Изменить пароль</translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="218"/>
          <source>Change the passphrase used for wallet encryption</source>
 -        <translation type="unfinished"/>
 +        <translation>Изменить пароль шифрования бумажника</translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="239"/>
      <message>
          <location filename="../bitcoingui.cpp" line="355"/>
          <source>bitcoin-qt</source>
 -        <translation type="unfinished"/>
 +        <translation>bitcoin-qt</translation>
      </message>
      <message numerus="yes">
          <location filename="../bitcoingui.cpp" line="396"/>
@@@ -497,21 -496,17 +497,21 @@@ Amount: %
  Type: %3
  Address: %4
  </source>
 -        <translation type="unfinished"/>
 +        <translation>Дата: %1
 +Количество: %2
 +Тип: %3
 +Адрес: %4
 +</translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="639"/>
          <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
 -        <translation type="unfinished"/>
 +        <translation>Бумажник &lt;b&gt;зашифрован&lt;/b&gt; и в настоящее время &lt;b&gt;разблокирован&lt;/b&gt;</translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="647"/>
          <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
 -        <translation type="unfinished"/>
 +        <translation>Бумажник &lt;b&gt;зашифрован&lt;/b&gt; и в настоящее время &lt;b&gt;заблокирован&lt;/b&gt;</translation>
      </message>
  </context>
  <context>
      <message>
          <location filename="../editaddressdialog.cpp" line="97"/>
          <source>Could not unlock wallet.</source>
 -        <translation type="unfinished"/>
 +        <translation>Не удается разблокировать бумажник.</translation>
      </message>
      <message>
          <location filename="../editaddressdialog.cpp" line="102"/>
          <source>New key generation failed.</source>
 -        <translation type="unfinished"/>
 +        <translation>Генерация нового ключа не удалась.</translation>
      </message>
  </context>
  <context>
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="217"/>
-         <source>Optional transaction fee per KB that helps make sure your transactions are processed quickly.  Most transactions are 1KB.  Fee 0.01 recommended.</source>
-         <translation>Опциональная комиссия за кадый KB транзакции, которое позволяет быть уверенным, что Ваша транзакция будет обработана быстро.  Большинство транзакций занимают 1 KB.  Рекомендованная комиссия: 0.01 BTC.</translation>
+         <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly.  Most transactions are 1kB.  Fee 0.01 recommended.</source>
 -        <translation>Опциональная комиссия за кадый kB транзакции, которое позволяет быть уверенным, что Ваша транзакция будет обработана быстро.  Большинство транщакций занимают 1 kB.  Рекомендованная комиссия: 0.01 BTC.</translation>
++        <translation>Опциональная комиссия за кадый kB транзакции, которое позволяет быть уверенным, что Ваша транзакция будет обработана быстро.  Большинство транзакций занимают 1 kB.  Рекомендованная комиссия: 0.01 BTC.</translation>
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="223"/>
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="226"/>
-         <source>Optional transaction fee per KB that helps make sure your transactions are processed quickly. Most transactions are 1KB. Fee 0.01 recommended.</source>
-         <translation>Опциональная комиссия за кадый KB транзакции, которая позволяет быть уверенным, что Ваша транзакция будет обработана быстро.  Большинство транзакций занимают 1 KB.  Рекомендованная комиссия: 0.01 BTC.</translation>
+         <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1kB. Fee 0.01 recommended.</source>
+         <translation>Опциональная комиссия за кадый kB транзакции, которая позволяет быть уверенным, что Ваша транзакция будет обработана быстро.  Большинство транзакций занимают 1 kB.  Рекомендованная комиссия: 0.01 BTC.</translation>
      </message>
  </context>
  <context>
@@@ -804,17 -799,17 +804,17 @@@ p, li { white-space: pre-wrap; 
      <message>
          <location filename="../forms/sendcoinsdialog.ui" line="84"/>
          <source>Clear all</source>
 -        <translation type="unfinished"/>
 +        <translation>Очистить всё</translation>
      </message>
      <message>
          <location filename="../forms/sendcoinsdialog.ui" line="103"/>
          <source>Balance:</source>
 -        <translation type="unfinished"/>
 +        <translation>Баланс:</translation>
      </message>
      <message>
          <location filename="../forms/sendcoinsdialog.ui" line="110"/>
          <source>123.456 BTC</source>
 -        <translation type="unfinished"/>
 +        <translation>123.456 BTC</translation>
      </message>
      <message>
          <location filename="../forms/sendcoinsdialog.ui" line="141"/>
      <message>
          <location filename="../forms/sendcoinsentry.ui" line="113"/>
          <source>Alt+A</source>
 -        <translation type="unfinished"/>
 +        <translation>Alt+A</translation>
      </message>
      <message>
          <location filename="../forms/sendcoinsentry.ui" line="120"/>
      <message>
          <location filename="../forms/sendcoinsentry.ui" line="130"/>
          <source>Alt+P</source>
 -        <translation type="unfinished"/>
 +        <translation>Alt+P</translation>
      </message>
      <message>
          <location filename="../forms/sendcoinsentry.ui" line="137"/>
      <message>
          <location filename="../transactiondesc.cpp" line="34"/>
          <source>Open for %1 blocks</source>
 -        <translation type="unfinished"/>
 +        <translation>Открыто до получения %1 блоков</translation>
      </message>
      <message>
          <location filename="../transactiondesc.cpp" line="36"/>
          <source>Open until %1</source>
 -        <translation type="unfinished"/>
 +        <translation>Открыто до %1</translation>
      </message>
      <message>
          <location filename="../transactiondesc.cpp" line="42"/>
      <message>
          <location filename="../transactiondesc.cpp" line="149"/>
          <source>(%1 matures in %2 more blocks)</source>
 -        <translation type="unfinished"/>
 +        <translation>(%1 станет доступно через %2 блоков)</translation>
      </message>
      <message>
          <location filename="../transactiondesc.cpp" line="153"/>
      <message>
          <location filename="../transactiondesc.cpp" line="238"/>
          <source>Generated coins must wait 120 blocks before they can be spent.  When you generated this block, it was broadcast to the network to be added to the block chain.  If it fails to get into the chain, it will change to &quot;not accepted&quot; and not be spendable.  This may occasionally happen if another node generates a block within a few seconds of yours.</source>
 -        <translation type="unfinished"/>
 +        <translation>Сгенерированные монеты должны подождать 120 блоков прежде, чем они смогут быть отправлены.  Когда Вы сгенерировали этот блок он был отправлен в сеть, чтобы он был добавлен к цепочке блоков.  Если данная процедура не удастся, статус изменится на «не подтверждено» и монеты будут непередаваемыми.  Такое может случайно происходить в случае, если другой узел сгенерирует блок на несколько секунд раньше.</translation>
      </message>
  </context>
  <context>
      <message numerus="yes">
          <location filename="../transactiontablemodel.cpp" line="274"/>
          <source>Open for %n block(s)</source>
 -        <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
 +        <translation><numerusform>Открыто для %n блока</numerusform><numerusform>Открыто для %n блоков</numerusform><numerusform>Открыто для %n блоков</numerusform></translation>
      </message>
      <message>
          <location filename="../transactiontablemodel.cpp" line="277"/>
          <source>Open until %1</source>
 -        <translation type="unfinished"/>
 +        <translation>Открыто до %1</translation>
      </message>
      <message>
          <location filename="../transactiontablemodel.cpp" line="280"/>
      <message>
          <location filename="../transactionview.cpp" line="277"/>
          <source>ID</source>
 -        <translation type="unfinished"/>
 +        <translation>ID</translation>
      </message>
      <message>
          <location filename="../transactionview.cpp" line="281"/>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="23"/>
-         <source>Fee per KB to add to transactions you send
+         <source>Fee per kB to add to transactions you send
  </source>
-         <translation>Комиссия (за каждый KB транзакции)
+         <translation>Комиссия (за каждый kB транзакции)
  </translation>
      </message>
      <message>
@@@ -2278,7 -2273,7 +2278,7 @@@ but the comment information will be bla
      <message>
          <location filename="../bitcoinstrings.cpp" line="205"/>
          <source>Bitcoin</source>
 -        <translation type="unfinished"/>
 +        <translation>Биткоин</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="206"/>
      <message>
          <location filename="../bitcoin.cpp" line="145"/>
          <source>Bitcoin Qt</source>
 -        <translation type="unfinished"/>
 +        <translation>Bitcoin Qt</translation>
      </message>
  </context>
  </TS>
@@@ -318,7 -318,7 +318,7 @@@ Are you sure you wish to encrypt your w
      <message>
          <location filename="../bitcoingui.cpp" line="200"/>
          <source>E&amp;xit</source>
 -        <translation type="unfinished"/>
 +        <translation>結束</translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="201"/>
      <message>
          <location filename="../bitcoingui.cpp" line="204"/>
          <source>&amp;About %1</source>
 -        <translation type="unfinished"/>
 +        <translation>關於%1</translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="205"/>
      <message>
          <location filename="../bitcoingui.cpp" line="508"/>
          <source>This transaction is over the size limit.  You can still send it for a fee of %1, which goes to the nodes that process your transaction and helps to support the network.  Do you want to pay the fee?</source>
 -        <translation>這筆交易的資料大小超過限制了. 你還是可以付出 %1 元的費用來傳送. 這項費用會付給處理該筆交易的節點, 並幫助維持整個網路. 你願意支付這項費用嗎?</translation>
 +        <translation>這筆交易的資料大小超過限制了. 你還是可以付出 %1 的費用來傳送. 這筆費用會付給處理該筆交易的節點, 並幫助維持整個網路. 你願意支付這項費用嗎?</translation>
      </message>
      <message>
          <location filename="../bitcoingui.cpp" line="513"/>
@@@ -673,8 -673,8 +673,8 @@@ Address: %
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="217"/>
-         <source>Optional transaction fee per KB that helps make sure your transactions are processed quickly.  Most transactions are 1KB.  Fee 0.01 recommended.</source>
-         <translation>非必要的交易手續費, 有助於縮短你的交易處理時間. 以 KB 為計費單位, 而大部份交易的大小是 1KB. 建議設定為 0.01 元.</translation>
+         <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly.  Most transactions are 1kB.  Fee 0.01 recommended.</source>
 -        <translation>非必要的交易手續費, 有助於縮短你的交易處理時間. 以 kB 為計費單位, 而大部份交易的大小是 1kB. 建議設定為 0.01 位元幣.</translation>
++        <translation>非必要的交易手續費, 有助於縮短你的交易處理時間. 以 kB 為計費單位, 而大部份交易的大小是 1kB. 建議設定為 0.01 元.</translation>
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="223"/>
      </message>
      <message>
          <location filename="../optionsdialog.cpp" line="226"/>
-         <source>Optional transaction fee per KB that helps make sure your transactions are processed quickly. Most transactions are 1KB. Fee 0.01 recommended.</source>
-         <translation>非必要的交易手續費, 有助於縮短你的交易處理時間. 以 KB 為計費單位, 而大部份交易的大小是 1KB. 建議設定為 0.01 元.</translation>
+         <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1kB. Fee 0.01 recommended.</source>
 -        <translation>非必要的交易手續費, 有助於縮短你的交易處理時間. 以 kB 為計費單位, 而大部份交易的大小是 1kB. 建議設定為 0.01 位元幣.</translation>
++        <translation>非必要的交易手續費, 有助於縮短你的交易處理時間. 以 kB 為計費單位, 而大部份交易的大小是 1kB. 建議設定為 0.01 元.</translation>
      </message>
  </context>
  <context>
      <message>
          <location filename="../forms/overviewpage.ui" line="47"/>
          <source>123.456 BTC</source>
 -        <translation>123.456 位元幣</translation>
 +        <translation>123.456 BTC</translation>
      </message>
      <message>
          <location filename="../forms/overviewpage.ui" line="54"/>
      <message>
          <location filename="../forms/overviewpage.ui" line="75"/>
          <source>0 BTC</source>
 -        <translation>0 位元幣</translation>
 +        <translation>0 BTC</translation>
      </message>
      <message>
          <location filename="../forms/overviewpage.ui" line="82"/>
@@@ -813,7 -813,7 +813,7 @@@ p, li { white-space: pre-wrap; 
      <message>
          <location filename="../forms/sendcoinsdialog.ui" line="110"/>
          <source>123.456 BTC</source>
 -        <translation>123.456 位元幣</translation>
 +        <translation>123.456 BTC</translation>
      </message>
      <message>
          <location filename="../forms/sendcoinsdialog.ui" line="141"/>
      <message>
          <location filename="../sendcoinsdialog.cpp" line="85"/>
          <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
 -        <translation>&lt;b&gt;%1&lt;/b&gt; 元給 %2 (%3)</translation>
 +        <translation>&lt;b&gt;%1&lt;/b&gt; 給 %2 (%3)</translation>
      </message>
      <message>
          <location filename="../sendcoinsdialog.cpp" line="88"/>
      <message>
          <location filename="../sendcoinsdialog.cpp" line="89"/>
          <source>Are you sure you want to send %1?</source>
 -        <translation>確定要付出 %1 元嗎?</translation>
 +        <translation>確定要付出 %1 嗎?</translation>
      </message>
      <message>
          <location filename="../sendcoinsdialog.cpp" line="89"/>
      <message>
          <location filename="../sendcoinsdialog.cpp" line="125"/>
          <source>Total exceeds your balance when the %1 transaction fee is included</source>
 -        <translation>加上交易手續費  %1 元後的總金額超過了你的餘額</translation>
 +        <translation>加上交易手續費  %1 後的總金額超過了你的餘額</translation>
      </message>
      <message>
          <location filename="../sendcoinsdialog.cpp" line="131"/>
          <source>Duplicate address found, can only send to each address once in one send operation</source>
 -        <translation>發現了重複的位址; 在一次付款作業中, 一個位址只能付給它一次</translation>
 +        <translation>發現了重複的位址; 在一次付款作業中, 只能付給每個位址一次</translation>
      </message>
      <message>
          <location filename="../sendcoinsdialog.cpp" line="136"/>
      <message>
          <location filename="../transactiondesc.cpp" line="149"/>
          <source>(%1 matures in %2 more blocks)</source>
 -        <translation>(%1 元將在 %2 個區塊產出後熟成)</translation>
 +        <translation>(%1 將在 %2 個區塊產出後熟成)</translation>
      </message>
      <message>
          <location filename="../transactiondesc.cpp" line="153"/>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="23"/>
-         <source>Fee per KB to add to transactions you send
+         <source>Fee per kB to add to transactions you send
  </source>
-         <translation>交易付款時每 KB 的交易手續費
+         <translation>交易付款時每 kB 的交易手續費
  </translation>
      </message>
      <message>
@@@ -1735,7 -1735,7 +1735,7 @@@ SSL 選項: (SSL 設定程序請見 Bit
      <message>
          <location filename="../bitcoinstrings.cpp" line="68"/>
          <source>This transaction is over the size limit.  You can still send it for a fee of %s, which goes to the nodes that process your transaction and helps to support the network.  Do you want to pay the fee?</source>
 -        <translation>這筆交易的資料大小超過限制了. 你還是可以付出 %s 元的費用來傳送. 這項費用會付給處理該筆交易的節點, 並幫助維持整個網路. 你願意支付這項費用嗎?</translation>
 +        <translation>這筆交易的資料大小超過限制了. 你還是可以付出 %s 的費用來傳送. 這項費用會付給處理該筆交易的節點, 並幫助維持整個網路. 你願意支付這項費用嗎?</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="72"/>
      <message>
          <location filename="../bitcoinstrings.cpp" line="87"/>
          <source>Generated (%s matures in %d more blocks)</source>
 -        <translation>已產出 (%s 元將在 %d 個區塊產出後熟成)</translation>
 +        <translation>已產出 (%s 將在 %d 個區塊產出後熟成)</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="88"/>
@@@ -2005,7 -2005,7 +2005,7 @@@ Label</source
      <message>
          <location filename="../bitcoinstrings.cpp" line="137"/>
          <source>(%s matures in %d more blocks)</source>
 -        <translation>(%s 元將在 %d 個區塊產出後熟成)</translation>
 +        <translation>(%s 將在 %d 個區塊產出後熟成)</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="138"/>
      <message>
          <location filename="../bitcoinstrings.cpp" line="163"/>
          <source>Sending %s to %s</source>
 -        <translation>付出 %s 元給 %s</translation>
 +        <translation>付出 %s 給 %s</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="164"/>
      <message>
          <location filename="../bitcoinstrings.cpp" line="177"/>
          <source>This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds</source>
 -        <translation>這筆交易因為金額或複雜度或最近累積收款的關係, 需要至少 %s 元的手續費</translation>
 +        <translation>這筆交易因為金額或複雜度或最近累積收款的關係, 需要至少 %s 的手續費</translation>
      </message>
      <message>
          <location filename="../bitcoinstrings.cpp" line="180"/>
@@@ -2327,7 -2327,7 +2327,7 @@@ but the comment information will be bla
      <message>
          <location filename="../bitcoin.cpp" line="145"/>
          <source>Bitcoin Qt</source>
 -        <translation type="unfinished"/>
 +        <translation>位元幣Qt版</translation>
      </message>
  </context>
  </TS>
diff --combined src/serialize.h
@@@ -1,5 -1,5 +1,5 @@@
  // Copyright (c) 2009-2010 Satoshi Nakamoto
- // Copyright (c) 2011 The Bitcoin developers
+ // Copyright (c) 2009-2012 The Bitcoin developers
  // Distributed under the MIT/X11 software license, see the accompanying
  // file license.txt or http://www.opensource.org/licenses/mit-license.php.
  #ifndef BITCOIN_SERIALIZE_H
@@@ -60,7 -60,7 +60,7 @@@ class CDataStream
  class CAutoFile;
  static const unsigned int MAX_SIZE = 0x02000000;
  
 -static const int VERSION = 50004;
 +static const int VERSION = 50300;
  static const char* pszSubVer = "";
  static const bool VERSION_IS_BETA = true;
  
diff --combined src/util.h
@@@ -1,5 -1,5 +1,5 @@@
  // Copyright (c) 2009-2010 Satoshi Nakamoto
- // Copyright (c) 2011 The Bitcoin developers
+ // Copyright (c) 2009-2012 The Bitcoin developers
  // Distributed under the MIT/X11 software license, see the accompanying
  // file license.txt or http://www.opensource.org/licenses/mit-license.php.
  #ifndef BITCOIN_UTIL_H
@@@ -243,20 -243,19 +243,20 @@@ public
          pcs = &csIn;
          pcs->Enter(pszName, pszFile, nLine);
      }
 +
 +    operator bool() const
 +    {
 +        return true;
 +    }
 +
      ~CCriticalBlock()
      {
          pcs->Leave();
      }
  };
  
 -// WARNING: This will catch continue and break!
 -// break is caught with an assertion, but there's no way to detect continue.
 -// I'd rather be careful than suffer the other more error prone syntax.
 -// The compiler will optimise away all this loop junk.
  #define CRITICAL_BLOCK(cs)     \
 -    for (bool fcriticalblockonce=true; fcriticalblockonce; assert(("break caught by CRITICAL_BLOCK!" && !fcriticalblockonce)), fcriticalblockonce=false) \
 -        for (CCriticalBlock criticalblock(cs, #cs, __FILE__, __LINE__); fcriticalblockonce; fcriticalblockonce=false)
 +    if (CCriticalBlock criticalblock = CCriticalBlock(cs, #cs, __FILE__, __LINE__))
  
  class CTryCriticalBlock
  {
@@@ -268,12 -267,6 +268,12 @@@ public
      {
          pcs = (csIn.TryEnter(pszName, pszFile, nLine) ? &csIn : NULL);
      }
 +
 +    operator bool() const
 +    {
 +        return Entered();
 +    }
 +
      ~CTryCriticalBlock()
      {
          if (pcs)
              pcs->Leave();
          }
      }
 -    bool Entered() { return pcs != NULL; }
 +    bool Entered() const { return pcs != NULL; }
  };
  
  #define TRY_CRITICAL_BLOCK(cs)     \
 -    for (bool fcriticalblockonce=true; fcriticalblockonce; assert(("break caught by TRY_CRITICAL_BLOCK!" && !fcriticalblockonce)), fcriticalblockonce=false) \
 -        for (CTryCriticalBlock criticalblock(cs, #cs, __FILE__, __LINE__); fcriticalblockonce && (fcriticalblockonce = criticalblock.Entered()); fcriticalblockonce=false)
 +    if (CTryCriticalBlock criticalblock = CTryCriticalBlock(cs, #cs, __FILE__, __LINE__))
 +
  
  
  
  
  
 +// This is exactly like std::string, but with a custom allocator.
 +// (secure_allocator<> is defined in serialize.h)
 +typedef std::basic_string<char, std::char_traits<char>, secure_allocator<char> > SecureString;
  
  // This is exactly like std::string, but with a custom allocator.
  // (secure_allocator<> is defined in serialize.h)