add russian translation and add unicode compatibility (merges pull request #20)
authorMisbakh-Soloviev Vadim A <mva@mva.name>
Sun, 28 Aug 2011 12:12:26 +0000 (14:12 +0200)
committerWladimir J. van der Laan <laanwj@gmail.com>
Sun, 28 Aug 2011 12:14:29 +0000 (14:14 +0200)
.gitignore
bitcoin-qt.pro
scripts/extract_strings_qt.py
src/init.cpp
src/qt/bitcoin.cpp
src/qt/bitcoingui.cpp
src/qt/bitcoinstrings.cpp
src/qt/locale/bitcoin_ru.ts
src/qt/transactionview.cpp

index aeeef17..537064d 100644 (file)
@@ -3,3 +3,12 @@ src/bitcoin
 src/bitcoind
 .*.swp
 *.*~*
+#compilation and Qt preprocessor part
+*.o
+ui_*.h
+*.qm
+moc_*
+Makefile
+bitcoin-qt
+#resources cpp
+qrc_*.cpp
\ No newline at end of file
index c1493f6..e3dea66 100644 (file)
@@ -152,4 +152,3 @@ CODECFORTR = UTF-8
 # for lrelease/lupdate
 TRANSLATIONS = src/qt/locale/bitcoin_nl.ts src/qt/locale/bitcoin_de.ts \
                src/qt/locale/bitcoin_ru.ts
-
index 56f4765..6627de4 100755 (executable)
@@ -44,7 +44,7 @@ def parse_po(text):
 
     return messages
 
-files = ['src/base58.h', 'src/bignum.h', 'src/db.cpp', 'src/db.h', 'src/externui.h', 'src/headers.h', 'src/init.cpp', 'src/init.h', 'src/irc.cpp', 'src/irc.h', 'src/key.h', 'src/main.cpp', 'src/main.h', 'src/net.cpp', 'src/net.h', 'src/noui.h', 'src/rpc.cpp', 'src/rpc.h', 'src/script.cpp', 'src/script.h', 'src/serialize.h', 'src/strlcpy.h', 'src/uint256.h', 'src/util.cpp', 'src/util.h']
+files = ['src/base58.h', 'src/bignum.h', 'src/db.cpp', 'src/db.h', 'src/headers.h', 'src/init.cpp', 'src/init.h', 'src/irc.cpp', 'src/irc.h', 'src/key.h', 'src/main.cpp', 'src/main.h', 'src/net.cpp', 'src/net.h', 'src/noui.h', 'src/script.cpp', 'src/script.h', 'src/serialize.h', 'src/strlcpy.h', 'src/uint256.h', 'src/util.cpp', 'src/util.h']
 
 # xgettext -n --keyword=_ $FILES
 child = Popen(['xgettext','--output=-','-n','--keyword=_'] + files, stdout=PIPE)
index c565a92..7d2a14f 100644 (file)
@@ -372,21 +372,21 @@ bool AppInit2(int argc, char* argv[])
     strErrors = "";
     int64 nStart;
 
-    InitMessage("Loading addresses...");
+    InitMessage(_("Loading addresses..."));
     printf("Loading addresses...\n");
     nStart = GetTimeMillis();
     if (!LoadAddresses())
         strErrors += _("Error loading addr.dat      \n");
     printf(" addresses   %15"PRI64d"ms\n", GetTimeMillis() - nStart);
 
-    InitMessage("Loading block index...");
+    InitMessage(_("Loading block index..."));
     printf("Loading block index...\n");
     nStart = GetTimeMillis();
     if (!LoadBlockIndex())
         strErrors += _("Error loading blkindex.dat      \n");
     printf(" block index %15"PRI64d"ms\n", GetTimeMillis() - nStart);
 
-    InitMessage("Loading wallet...");
+    InitMessage(_("Loading wallet..."));
     printf("Loading wallet...\n");
     nStart = GetTimeMillis();
     bool fFirstRun;
@@ -417,14 +417,14 @@ bool AppInit2(int argc, char* argv[])
     }
     if (pindexBest != pindexRescan)
     {
-        InitMessage("Rescanning...");
+        InitMessage(_("Rescanning..."));
         printf("Rescanning last %i blocks (from block %i)...\n", pindexBest->nHeight - pindexRescan->nHeight, pindexRescan->nHeight);
         nStart = GetTimeMillis();
         pwalletMain->ScanForWalletTransactions(pindexRescan, true);
         printf(" rescan      %15"PRI64d"ms\n", GetTimeMillis() - nStart);
     }
 
-    InitMessage("Done loading");
+    InitMessage(_("Done loading"));
     printf("Done loading\n");
 
         //// debug print
@@ -547,7 +547,7 @@ bool AppInit2(int argc, char* argv[])
     RandAddSeedPerfmon();
 
     if (!CreateThread(StartNode, NULL))
-        wxMessageBox("Error: CreateThread(StartNode) failed", "Bitcoin");
+        wxMessageBox(_("Error: CreateThread(StartNode) failed"), "Bitcoin");
 
     if (fServer)
         CreateThread(ThreadRPCServer, NULL);
index 9b4d88d..6f48157 100644 (file)
@@ -13,6 +13,7 @@
 #include <QApplication>
 #include <QMessageBox>
 #include <QThread>
+#include <QTextCodec>
 #include <QLocale>
 #include <QTranslator>
 #include <QSplashScreen>
@@ -111,6 +112,9 @@ std::string _(const char* psz)
 
 int main(int argc, char *argv[])
 {
+    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
+    QTextCodec::setCodecForCStrings(QTextCodec::codecForTr());
+
     Q_INIT_RESOURCE(bitcoin);
     QApplication app(argc, argv);
 
@@ -148,7 +152,7 @@ int main(int argc, char *argv[])
 
                 if (QtWin::isCompositionEnabled())
                 {
-#ifdef Q_WS_WIN32
+#ifdef Q_OS_WIN
                     // Windows-specific customization
                     window.setAttribute(Qt::WA_TranslucentBackground);
                     window.setAttribute(Qt::WA_NoSystemBackground, false);
index 2298726..6aa14dc 100644 (file)
@@ -59,16 +59,16 @@ BitcoinGUI::BitcoinGUI(QWidget *parent):
     createActions();
 
     // Menus
-    QMenu *file = menuBar()->addMenu("&File");
+    QMenu *file = menuBar()->addMenu(tr("&File"));
     file->addAction(sendCoinsAction);
     file->addAction(receiveCoinsAction);
     file->addSeparator();
     file->addAction(quitAction);
     
-    QMenu *settings = menuBar()->addMenu("&Settings");
+    QMenu *settings = menuBar()->addMenu(tr("&Settings"));
     settings->addAction(optionsAction);
 
-    QMenu *help = menuBar()->addMenu("&Help");
+    QMenu *help = menuBar()->addMenu(tr("&Help"));
     help->addAction(aboutAction);
     
     // Toolbars
@@ -106,7 +106,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent):
     centralWidget->addWidget(receiveCoinsPage);
     centralWidget->addWidget(sendCoinsPage);
     setCentralWidget(centralWidget);
-    
+
     // Create status bar
     statusBar();
 
index 2fa8de0..45aadd4 100644 (file)
@@ -44,43 +44,174 @@ QT_TRANSLATE_NOOP("bitcoin-core", "This help message\n"),
 QT_TRANSLATE_NOOP("bitcoin-core", ""
 "Cannot obtain a lock on data directory %s.  Bitcoin is probably already "
 "running."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Loading addresses..."),
 QT_TRANSLATE_NOOP("bitcoin-core", "Error loading addr.dat      \n"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Loading block index..."),
 QT_TRANSLATE_NOOP("bitcoin-core", "Error loading blkindex.dat      \n"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Loading wallet..."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Error loading wallet.dat: Wallet corrupted      \n"),
+QT_TRANSLATE_NOOP("bitcoin-core", ""
+"Error loading wallet.dat: Wallet requires newer version of Bitcoin      \n"),
 QT_TRANSLATE_NOOP("bitcoin-core", "Error loading wallet.dat      \n"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Rescanning..."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Done loading"),
 QT_TRANSLATE_NOOP("bitcoin-core", "Invalid -proxy address"),
 QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount for -paytxfee=<amount>"),
 QT_TRANSLATE_NOOP("bitcoin-core", ""
 "Warning: -paytxfee is set very high.  This is the transaction fee you will "
 "pay if you send a transaction."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Error: CreateThread(StartNode) failed"),
 QT_TRANSLATE_NOOP("bitcoin-core", "Warning: Disk space is low  "),
 QT_TRANSLATE_NOOP("bitcoin-core", ""
-"Error: This transaction requires a transaction fee of at least %s because of "
-"its amount, complexity, or use of recently received funds  "),
-QT_TRANSLATE_NOOP("bitcoin-core", "Error: Transaction creation failed  "),
-QT_TRANSLATE_NOOP("bitcoin-core", "Sending..."),
+"Unable to bind to port %d on this computer.  Bitcoin is probably already "
+"running."),
+QT_TRANSLATE_NOOP("bitcoin-core", ""
+"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?"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Enter the current passphrase to the wallet."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Passphrase"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Please supply the current wallet decryption passphrase."),
+QT_TRANSLATE_NOOP("bitcoin-core", "The passphrase entered for the wallet decryption was incorrect."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Status"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Date"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Description"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Debit"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Credit"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Open for %d blocks"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Open until %s"),
+QT_TRANSLATE_NOOP("bitcoin-core", "%d/offline?"),
+QT_TRANSLATE_NOOP("bitcoin-core", "%d/unconfirmed"),
+QT_TRANSLATE_NOOP("bitcoin-core", "%d confirmations"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Generated"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Generated (%s matures in %d more blocks)"),
+QT_TRANSLATE_NOOP("bitcoin-core", ""
+"Generated - Warning: This block was not received by any other nodes and will "
+"probably not be accepted!"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Generated (not accepted)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "From: "),
+QT_TRANSLATE_NOOP("bitcoin-core", "Received with: "),
+QT_TRANSLATE_NOOP("bitcoin-core", "Payment to yourself"),
+QT_TRANSLATE_NOOP("bitcoin-core", "To: "),
+QT_TRANSLATE_NOOP("bitcoin-core", "    Generating"),
+QT_TRANSLATE_NOOP("bitcoin-core", "(not connected)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "     %d connections     %d blocks     %d transactions"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Wallet already encrypted."),
+QT_TRANSLATE_NOOP("bitcoin-core", ""
+"Enter the new passphrase to the wallet.\n"
+"Please use a passphrase of 10 or more random characters, or eight or more "
+"words."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Error: The supplied passphrase was too short."),
+QT_TRANSLATE_NOOP("bitcoin-core", ""
+"WARNING: If you encrypt your wallet and lose your passphrase, you will LOSE "
+"ALL OF YOUR BITCOINS!\n"
+"Are you sure you wish to encrypt your wallet?"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Please re-enter your new wallet passphrase."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Error: the supplied passphrases didn't match."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Wallet encryption failed."),
 QT_TRANSLATE_NOOP("bitcoin-core", ""
-"Error: 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."),
-QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount"),
+"Wallet Encrypted.\n"
+"Remember that encrypting your wallet cannot fully protect your bitcoins from "
+"being stolen by malware infecting your computer."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Wallet is unencrypted, please encrypt it first."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Enter the new passphrase for the wallet."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Re-enter the new passphrase for the wallet."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Wallet Passphrase Changed."),
+QT_TRANSLATE_NOOP("bitcoin-core", "New Receiving Address"),
+QT_TRANSLATE_NOOP("bitcoin-core", ""
+"You should use a new address for each payment you receive.\n"
+"\n"
+"Label"),
+QT_TRANSLATE_NOOP("bitcoin-core", "<b>Status:</b> "),
+QT_TRANSLATE_NOOP("bitcoin-core", ", has not been successfully broadcast yet"),
+QT_TRANSLATE_NOOP("bitcoin-core", ", broadcast through %d node"),
+QT_TRANSLATE_NOOP("bitcoin-core", ", broadcast through %d nodes"),
+QT_TRANSLATE_NOOP("bitcoin-core", "<b>Date:</b> "),
+QT_TRANSLATE_NOOP("bitcoin-core", "<b>Source:</b> Generated<br>"),
+QT_TRANSLATE_NOOP("bitcoin-core", "<b>From:</b> "),
+QT_TRANSLATE_NOOP("bitcoin-core", "unknown"),
+QT_TRANSLATE_NOOP("bitcoin-core", "<b>To:</b> "),
+QT_TRANSLATE_NOOP("bitcoin-core", " (yours, label: "),
+QT_TRANSLATE_NOOP("bitcoin-core", " (yours)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "<b>Credit:</b> "),
+QT_TRANSLATE_NOOP("bitcoin-core", "(%s matures in %d more blocks)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "(not accepted)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "<b>Debit:</b> "),
+QT_TRANSLATE_NOOP("bitcoin-core", "<b>Transaction fee:</b> "),
+QT_TRANSLATE_NOOP("bitcoin-core", "<b>Net amount:</b> "),
+QT_TRANSLATE_NOOP("bitcoin-core", "Message:"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Comment:"),
+QT_TRANSLATE_NOOP("bitcoin-core", ""
+"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 \"not "
+"accepted\" and not be spendable.  This may occasionally happen if another "
+"node generates a block within a few seconds of yours."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Cannot write autostart/bitcoin.desktop file"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Main"),
+QT_TRANSLATE_NOOP("bitcoin-core", "&Start Bitcoin on window system startup"),
+QT_TRANSLATE_NOOP("bitcoin-core", "&Minimize on close"),
+QT_TRANSLATE_NOOP("bitcoin-core", "version %s"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Error in amount  "),
+QT_TRANSLATE_NOOP("bitcoin-core", "Send Coins"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Amount exceeds your balance  "),
+QT_TRANSLATE_NOOP("bitcoin-core", "Total exceeds your balance when the "),
+QT_TRANSLATE_NOOP("bitcoin-core", " transaction fee is included  "),
+QT_TRANSLATE_NOOP("bitcoin-core", "Payment sent  "),
+QT_TRANSLATE_NOOP("bitcoin-core", "Sending..."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Invalid address  "),
+QT_TRANSLATE_NOOP("bitcoin-core", "Sending %s to %s"),
+QT_TRANSLATE_NOOP("bitcoin-core", "CANCELLED"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Cancelled"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Transfer cancelled  "),
+QT_TRANSLATE_NOOP("bitcoin-core", "Error: "),
 QT_TRANSLATE_NOOP("bitcoin-core", "Insufficient funds"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Invalid bitcoin address"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Connecting..."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Unable to connect"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Requesting public key..."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Received public key..."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Recipient is not accepting transactions sent by IP address"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Transfer was not accepted"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Invalid response received"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Creating transaction..."),
 QT_TRANSLATE_NOOP("bitcoin-core", ""
-"Unable to bind to port %d on this computer.  Bitcoin is probably already "
-"running."),
-QT_TRANSLATE_NOOP("bitcoin-core", "To use the %s option"),
+"This transaction requires a transaction fee of at least %s because of its "
+"amount, complexity, or use of recently received funds"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Transaction creation failed"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Transaction aborted"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Lost connection, transaction cancelled"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Sending payment..."),
+QT_TRANSLATE_NOOP("bitcoin-core", ""
+"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."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Waiting for confirmation..."),
 QT_TRANSLATE_NOOP("bitcoin-core", ""
-"Warning: %s, you must set rpcpassword=<password>\n"
-"in the configuration file: %s\n"
-"If the file does not exist, create it with owner-readable-only file "
-"permissions.\n"),
+"The payment was sent, but the recipient was unable to verify it.\n"
+"The transaction is recorded and will credit to the recipient,\n"
+"but the comment information will be blank."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Payment was sent, but an invalid response was received"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Payment completed"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Name"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Address"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Label"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Bitcoin Address"),
 QT_TRANSLATE_NOOP("bitcoin-core", ""
-"You must set rpcpassword=<password> in the configuration file:\n"
-"%s\n"
-"If the file does not exist, create it with owner-readable-only file "
-"permissions."),
+"This is one of your own addresses for receiving payments and cannot be "
+"entered in the address book.  "),
+QT_TRANSLATE_NOOP("bitcoin-core", "Edit Address"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Edit Address Label"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Add Address"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Bitcoin"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Bitcoin - Generating"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Bitcoin - (not connected)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "&Open Bitcoin"),
+QT_TRANSLATE_NOOP("bitcoin-core", "&Send Bitcoins"),
+QT_TRANSLATE_NOOP("bitcoin-core", "O&ptions..."),
+QT_TRANSLATE_NOOP("bitcoin-core", "E&xit"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Program has crashed and will terminate.  "),
 QT_TRANSLATE_NOOP("bitcoin-core", ""
 "Warning: Please check that your computer's date and time are correct.  If "
 "your clock is wrong Bitcoin will not work properly."),
-QT_TRANSLATE_NOOP("bitcoin-core", "-beta"),
+QT_TRANSLATE_NOOP("bitcoin-core", "beta"),
 };
\ No newline at end of file
index df9a259..6085602 100644 (file)
@@ -125,6 +125,21 @@ This product includes software developed by the OpenSSL Project for use in the O
         <translation>Bitcoin-бумажник</translation>
     </message>
     <message>
+        <location filename="../bitcoingui.cpp" line="61"/>
+        <source>&amp;File</source>
+        <translation>&amp;Файл</translation>
+    </message>
+    <message>
+        <location filename="../bitcoingui.cpp" line="67"/>
+        <source>&amp;Settings</source>
+        <translation>&amp;Настройки</translation>
+    </message>
+    <message>
+        <location filename="../bitcoingui.cpp" line="70"/>
+        <source>&amp;Help</source>
+        <translation>&amp;Помощь</translation>
+    </message>
+    <message>
         <location filename="../bitcoingui.cpp" line="74"/>
         <source>Tabs toolbar</source>
         <translation>Панель вкладок</translation>
@@ -772,12 +787,12 @@ p, li { white-space: pre-wrap; }
     <message>
         <location filename="../transactiondesc.cpp" line="34"/>
         <source>Open for %1 blocks</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Открыто до получения %1 блоков</translation>
     </message>
     <message>
         <location filename="../transactiondesc.cpp" line="36"/>
         <source>Open until %1</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Открыто до %1</translation>
     </message>
     <message>
         <location filename="../transactiondesc.cpp" line="42"/>
@@ -942,15 +957,15 @@ p, li { white-space: pre-wrap; }
         <location filename="../transactiontablemodel.cpp" line="274"/>
         <source>Open for %n block(s)</source>
         <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+            <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>
+        <translation type="unfinished">Открыто до %1</translation>
     </message>
     <message>
         <location filename="../transactiontablemodel.cpp" line="280"/>
@@ -970,7 +985,7 @@ p, li { white-space: pre-wrap; }
     <message numerus="yes">
         <location filename="../transactiontablemodel.cpp" line="295"/>
         <source>Mined balance will be available in %n more blocks</source>
-        <translation type="unfinished">
+        <translation>
             <numerusform>Добытыми монетами можно будет воспользоваться через %n блок</numerusform>
             <numerusform>Добытыми монетами можно будет воспользоваться через %n блока</numerusform>
             <numerusform>Добытыми монетами можно будет воспользоваться через %n блоков</numerusform>
@@ -1111,6 +1126,36 @@ p, li { white-space: pre-wrap; }
         <translation>Другое</translation>
     </message>
     <message>
+        <location filename="../transactionview.cpp" line="74"/>
+        <source>Enter address or label to search</source>
+        <translation>Введите адрес или метку для поиска</translation>
+    </message>
+    <message>
+        <location filename="../transactionview.cpp" line="80"/>
+        <source>Min amount</source>
+        <translation>Мин. сумма</translation>
+    </message>
+    <message>
+        <location filename="../transactionview.cpp" line="108"/>
+        <source>Copy address</source>
+        <translation>Копировать адрес</translation>
+    </message>
+    <message>
+        <location filename="../transactionview.cpp" line="109"/>
+        <source>Copy label</source>
+        <translation>Копировать метку</translation>
+    </message>
+    <message>
+        <location filename="../transactionview.cpp" line="110"/>
+        <source>Edit label</source>
+        <translation>Изменить метку</translation>
+    </message>
+    <message>
+        <location filename="../transactionview.cpp" line="111"/>
+        <source>Show details...</source>
+        <translation>Показать детали...</translation>
+    </message>
+    <message>
         <location filename="../transactionview.cpp" line="244"/>
         <source>Export Transaction Data</source>
         <translation>Экспортировать данные транзакций</translation>
@@ -1121,6 +1166,41 @@ p, li { white-space: pre-wrap; }
         <translation>Текс, разделённый запятыми (*.csv)</translation>
     </message>
     <message>
+        <location filename="../transactionview.cpp" line="254"/>
+        <source>Confirmed</source>
+        <translation>Подтверждено</translation>
+    </message>
+    <message>
+        <location filename="../transactionview.cpp" line="255"/>
+        <source>Date</source>
+        <translation>Дата</translation>
+    </message>
+    <message>
+        <location filename="../transactionview.cpp" line="256"/>
+        <source>Type</source>
+        <translation>Тип</translation>
+    </message>
+    <message>
+        <location filename="../transactionview.cpp" line="257"/>
+        <source>Label</source>
+        <translation>Метка</translation>
+    </message>
+    <message>
+        <location filename="../transactionview.cpp" line="258"/>
+        <source>Address</source>
+        <translation>Адрес</translation>
+    </message>
+    <message>
+        <location filename="../transactionview.cpp" line="259"/>
+        <source>Amount</source>
+        <translation>Количество</translation>
+    </message>
+    <message>
+        <location filename="../transactionview.cpp" line="260"/>
+        <source>ID</source>
+        <translation></translation>
+    </message>
+    <message>
         <location filename="../transactionview.cpp" line="264"/>
         <source>Error exporting</source>
         <translation>Ошибка экспорта</translation>
@@ -1130,6 +1210,16 @@ p, li { white-space: pre-wrap; }
         <source>Could not write to file %1.</source>
         <translation>Невозможно записать в файл %1.</translation>
     </message>
+    <message>
+        <location filename="../transactionview.cpp" line="352"/>
+        <source>Range:</source>
+        <translation>Промежуток от:</translation>
+    </message>
+    <message>
+        <location filename="../transactionview.cpp" line="360"/>
+        <source>to</source>
+        <translation>до</translation>
+    </message>
 </context>
 <context>
     <name>WalletModel</name>
@@ -1144,336 +1234,940 @@ p, li { white-space: pre-wrap; }
     <message>
         <location filename="../bitcoinstrings.cpp" line="3"/>
         <source>Bitcoin version</source>
-        <translation type="unfinished"></translation>
+        <translation>Версия</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="4"/>
         <source>Usage:</source>
-        <translation type="unfinished"></translation>
+        <translation>Использование:</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="5"/>
         <source>Send command to -server or bitcoind
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Отправить команду на сервер ( -server ) или демону
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="6"/>
         <source>List commands
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Список команд
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="7"/>
         <source>Get help for a command
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Получить помощь по команде</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="8"/>
         <source>Options:
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Опции:
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="9"/>
         <source>Specify configuration file (default: bitcoin.conf)
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Указать конфигурационный файл вместо используемого по умолчанию (bitcoin.conf)
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="10"/>
         <source>Specify pid file (default: bitcoind.pid)
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Указать pid-файл вместо используемого по умолчанию (bitcoin.pid)
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="11"/>
         <source>Generate coins
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Включить добычу монет
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="12"/>
         <source>Don&apos;t generate coins
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Выключить добычу монет
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="13"/>
         <source>Start minimized
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Запускать минимизированным
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="14"/>
         <source>Specify data directory
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Указать рабочую директорию
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="15"/>
         <source>Specify connection timeout (in milliseconds)
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Указать таймаут соединения (в миллисекундах)
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="16"/>
         <source>Connect through socks4 proxy
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Соединяться через socks4-прокси
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="17"/>
         <source>Allow DNS lookups for addnode and connect
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Разрешить поиск в DNS для комманд &quot;addnode&quot; и &quot;connect&quot;
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="18"/>
         <source>Add a node to connect to
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Добавить узел для соединения
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="19"/>
         <source>Connect only to the specified node
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Соединяться только с указанным узлом
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="20"/>
         <source>Don&apos;t accept connections from outside
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Не принимать внешние соединения
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="21"/>
         <source>Don&apos;t attempt to use UPnP to map the listening port
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Не пытаться использовать UPnP
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="22"/>
         <source>Attempt to use UPnP to map the listening port
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Попытаться использовать UPnP для проброса прослушиваемого порта на роутере
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="23"/>
         <source>Fee per KB to add to transactions you send
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Комиссия (за каждый KB транзакции)
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="24"/>
         <source>Accept command line and JSON-RPC commands
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Принимать команды из командной строки и через JSON-RPC
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="25"/>
         <source>Run in the background as a daemon and accept commands
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Запустить в бекграунде (как демон) и принимать команды
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="26"/>
         <source>Use the test network
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Использовать тестовую сеть
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="27"/>
         <source>Username for JSON-RPC connections
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Имя пользователя для JSON-RPC соединений
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="28"/>
         <source>Password for JSON-RPC connections
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Пароль для JSON-RPC соединений
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="29"/>
         <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Слушать &lt;порт&gt; для JSON-RPC соединений (по умолчанию: 8332)
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="30"/>
         <source>Allow JSON-RPC connections from specified IP address
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Разрешить JSON-RPC соединения с указанного адреса
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="31"/>
         <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Отправлять команды на узел,запущенный на &lt;IP&gt; (по умолчанию: 127.0.0.1)
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="32"/>
         <source>Set key pool size to &lt;n&gt; (default: 100)
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Установить размер key pool&apos;а в &lt;n&gt; (по умолчанию: 100)
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="33"/>
         <source>Rescan the block chain for missing wallet transactions
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Просканировать цепочку блоков в поисках пропущенных транзакций для бумажника
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="34"/>
         <source>
 SSL options: (see the Bitcoin Wiki for SSL setup instructions)
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Опции SSL: (см. Bitcoin Wiki для инструкций)
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="37"/>
         <source>Use OpenSSL (https) for JSON-RPC connections
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Использовать OpenSSL (https) для JSON-RPC соединений
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="38"/>
         <source>Server certificate file (default: server.cert)
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Сертификат (публичный ключ) сервера (по умолчанию: server.cert)
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="39"/>
         <source>Server private key (default: server.pem)
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Закрытый ключ сервера (по умолчанию: server.pem)
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="40"/>
         <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Допустимые Cipher&apos;ы для сервера (по умолчанию: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="43"/>
         <source>This help message
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Данная справка
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="44"/>
         <source>Cannot obtain a lock on data directory %s.  Bitcoin is probably already running.</source>
-        <translation type="unfinished"></translation>
+        <translation>Невозможно установить блокировку на рабочую директорию %s.  Возможно, бумажник уже запущен.</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="47"/>
-        <source>Error loading addr.dat      
-</source>
-        <translation type="unfinished"></translation>
+        <source>Loading addresses...</source>
+        <translation>Загрузка адресов...</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="48"/>
-        <source>Error loading blkindex.dat      
+        <source>Error loading addr.dat      
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Ошибка при загрузке addr.dat      
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="49"/>
-        <source>Error loading wallet.dat      
-</source>
-        <translation type="unfinished"></translation>
+        <source>Loading block index...</source>
+        <translation>Загрузка индекса блоков...</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="50"/>
-        <source>Invalid -proxy address</source>
-        <translation type="unfinished"></translation>
+        <source>Error loading blkindex.dat      
+</source>
+        <translation>Ошибка при загрузке blkindex.dat      
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="51"/>
-        <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
-        <translation type="unfinished"></translation>
+        <source>Loading wallet...</source>
+        <translation>Загрузка бумажника...</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="52"/>
-        <source>Warning: -paytxfee is set very high.  This is the transaction fee you will pay if you send a transaction.</source>
-        <translation type="unfinished"></translation>
+        <source>Error loading wallet.dat: Wallet corrupted      
+</source>
+        <translation>Ошибка загрузки wallet.dat: Бумажник повреждён</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="53"/>
+        <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin      
+</source>
+        <translation>Ошибка загрузки wallet.dat: Для данного бумажника требуется более новая версия Bitcoin      
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="55"/>
-        <source>Warning: Disk space is low  </source>
-        <translation type="unfinished"></translation>
+        <source>Error loading wallet.dat      
+</source>
+        <translation>Ошибка при загрузке wallet.dat      
+</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="56"/>
-        <source>Error: 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>
+        <source>Rescanning...</source>
+        <translation>Сканирование...</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="57"/>
+        <source>Done loading</source>
+        <translation>Загрузка завершена</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="58"/>
+        <source>Invalid -proxy address</source>
+        <translation>Ошибка в адресе прокси</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="59"/>
-        <source>Error: Transaction creation failed  </source>
-        <translation type="unfinished"></translation>
+        <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
+        <translation>Ошибка в сумме комиссии</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="60"/>
-        <source>Sending...</source>
-        <translation type="unfinished"></translation>
+        <source>Warning: -paytxfee is set very high.  This is the transaction fee you will pay if you send a transaction.</source>
+        <translation>ВНИМАНИЕ: Установлена слишком большая комиссия (-paytxfee=).  Данный параметр отвечает за комиссию, которую Вы будете добавлять к сумме при осуществлении транзакций.</translation>
     </message>
     <message>
-        <location filename="../bitcoinstrings.cpp" line="61"/>
-        <source>Error: 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>
+        <location filename="../bitcoinstrings.cpp" line="63"/>
+        <source>Error: CreateThread(StartNode) failed</source>
+        <translation>Ошибка: Созданиние потока (запуск узла) не удался</translation>
     </message>
     <message>
-        <location filename="../bitcoinstrings.cpp" line="65"/>
-        <source>Invalid amount</source>
-        <translation type="unfinished"></translation>
+        <location filename="../bitcoinstrings.cpp" line="64"/>
+        <source>Warning: Disk space is low  </source>
+        <translation>ВНИМАНИЕ: На диске заканчивается свободное пространство  </translation>
     </message>
     <message>
-        <location filename="../bitcoinstrings.cpp" line="66"/>
-        <source>Insufficient funds</source>
-        <translation type="unfinished"></translation>
+        <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>
     </message>
     <message>
-        <location filename="../bitcoinstrings.cpp" line="67"/>
-        <source>Invalid bitcoin address</source>
-        <translation type="unfinished"></translation>
+        <location filename="../bitcoinstrings.cpp" line="72"/>
+        <source>Enter the current passphrase to the wallet.</source>
+        <translation>Введите текущий пароль от бумажника.</translation>
     </message>
     <message>
-        <location filename="../bitcoinstrings.cpp" line="68"/>
-        <source>Unable to bind to port %d on this computer.  Bitcoin is probably already running.</source>
-        <translation type="unfinished"></translation>
+        <location filename="../bitcoinstrings.cpp" line="73"/>
+        <source>Passphrase</source>
+        <translation>Пароль</translation>
     </message>
     <message>
-        <location filename="../bitcoinstrings.cpp" line="71"/>
-        <source>To use the %s option</source>
-        <translation type="unfinished"></translation>
+        <location filename="../bitcoinstrings.cpp" line="74"/>
+        <source>Please supply the current wallet decryption passphrase.</source>
+        <translation>Пожалуйста, укажите текущий пароль для расшифровки бумажника.</translation>
     </message>
     <message>
-        <location filename="../bitcoinstrings.cpp" line="72"/>
-        <source>Warning: %s, you must set rpcpassword=&lt;password&gt;
-in the configuration file: %s
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
-        <translation type="unfinished"></translation>
+        <location filename="../bitcoinstrings.cpp" line="75"/>
+        <source>The passphrase entered for the wallet decryption was incorrect.</source>
+        <translation>Указанный пароль не подходит.</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="76"/>
+        <source>Status</source>
+        <translation>Статус</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="77"/>
-        <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
-        <translation type="unfinished"></translation>
+        <source>Date</source>
+        <translation>Дата</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="78"/>
+        <source>Description</source>
+        <translation>Описание</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="79"/>
+        <source>Debit</source>
+        <translation>Дебет</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="80"/>
+        <source>Credit</source>
+        <translation>Кредит</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="81"/>
+        <source>Open for %d blocks</source>
+        <translation>Открыто до получения %d блоков</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="82"/>
-        <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>
+        <source>Open until %s</source>
+        <translation>Открыто до %s</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="83"/>
+        <source>%d/offline?</source>
+        <translation>%d/оффлайн?</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="84"/>
+        <source>%d/unconfirmed</source>
+        <translation>%d/не подтверждено</translation>
     </message>
     <message>
         <location filename="../bitcoinstrings.cpp" line="85"/>
-        <source>-beta</source>
-        <translation type="unfinished"></translation>
+        <source>%d confirmations</source>
+        <translation>%d подтверждений</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="86"/>
+        <source>Generated</source>
+        <translation>Сгенерированно</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="87"/>
+        <source>Generated (%s matures in %d more blocks)</source>
+        <translation>Сгенерированно (%s «созреет» через %d блоков)</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="88"/>
+        <source>Generated - Warning: This block was not received by any other nodes and will probably not be accepted!</source>
+        <translation>Сгенерированно - ВНИМАНИЕ: Данный блок не был получен ни одним другим узлом и, возможно, не будет подтверждён!</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="91"/>
+        <source>Generated (not accepted)</source>
+        <translation>Сгенерированно (не подтверждено)</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="92"/>
+        <source>From: </source>
+        <translation>Отправитель: </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="93"/>
+        <source>Received with: </source>
+        <translation>Получатель: </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="94"/>
+        <source>Payment to yourself</source>
+        <translation>Отправлено себе</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="95"/>
+        <source>To: </source>
+        <translation>Получатель: </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="96"/>
+        <source>    Generating</source>
+        <translation>    Генерация</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="97"/>
+        <source>(not connected)</source>
+        <translation>(не подключено)</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="98"/>
+        <source>     %d connections     %d blocks     %d transactions</source>
+        <translation>     %d подключений     %d блоков     %d транзакций</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="99"/>
+        <source>Wallet already encrypted.</source>
+        <translation>Бумажник уже зашифрован.</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="100"/>
+        <source>Enter the new passphrase to the wallet.
+Please use a passphrase of 10 or more random characters, or eight or more words.</source>
+        <translation>Введите новый пароль для бумажника.
+Пожалуйста, используейте пароль из 10 и более случайных символов или из 8 и более слов.</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="104"/>
+        <source>Error: The supplied passphrase was too short.</source>
+        <translation>ОШИБКА: Указанный пароль слишком короткий.</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="105"/>
+        <source>WARNING: If you encrypt your wallet and lose your passphrase, you will LOSE ALL OF YOUR BITCOINS!
+Are you sure you wish to encrypt your wallet?</source>
+        <translation>ВНИМАНИЕ: Если Вы зашифруете Ваш бумажник и потеряете Ваш пароль — Вы ПОТЕРЯЕТЕ ВСЕ ВАШИ БИТКОИНЫ!!!
+Вы уверены, что хотите зашифровать бумажник?</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="109"/>
+        <source>Please re-enter your new wallet passphrase.</source>
+        <translation>Пожалуйста, повторите ввод нового пароля.</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="110"/>
+        <source>Error: the supplied passphrases didn&apos;t match.</source>
+        <translation>ОШИБКА: указанные пароли не совпадают.</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="111"/>
+        <source>Wallet encryption failed.</source>
+        <translation>Шифрование бумажника не удалось.</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="112"/>
+        <source>Wallet Encrypted.
+Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source>
+        <translation>Бумажник зашифрован.
+Запомните, что шифрование Вашего бумажника не может ПОЛНОСТЬЮ гарантировать защиту Ваших биткоинов от того, чтобы быть украденными с помощью шпионского ПО на Вашем компьютере. Пожалуйста, следите за безопасностью Вашего компьютера самостоятельно.</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="116"/>
+        <source>Wallet is unencrypted, please encrypt it first.</source>
+        <translation>Бумажник не зашифрован. Сначала зашифруйте его.</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="117"/>
+        <source>Enter the new passphrase for the wallet.</source>
+        <translation>Введите новый пароль для бумажника.</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="118"/>
+        <source>Re-enter the new passphrase for the wallet.</source>
+        <translation>Пожалуйста, повторите ввод нового пароля.</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="119"/>
+        <source>Wallet Passphrase Changed.</source>
+        <translation>Пароль от бумажника изменён.</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="120"/>
+        <source>New Receiving Address</source>
+        <translation>Новый адрес для получения</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="121"/>
+        <source>You should use a new address for each payment you receive.
+
+Label</source>
+        <translation>Вы должны использовать новый адрес для каждого платежа, который Вы получаете.
+
+Метка</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="125"/>
+        <source>&lt;b&gt;Status:&lt;/b&gt; </source>
+        <translation>&lt;b&gt;Статус:&lt;/b&gt; </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="126"/>
+        <source>, has not been successfully broadcast yet</source>
+        <translation>, ещё не было успешно разослано</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="127"/>
+        <source>, broadcast through %d node</source>
+        <translation>, разослано через %d узел</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="128"/>
+        <source>, broadcast through %d nodes</source>
+        <translation>, разослано через %d узлов</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="129"/>
+        <source>&lt;b&gt;Date:&lt;/b&gt; </source>
+        <translation>&lt;b&gt;Дата:&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>&lt;b&gt;Источник:&lt;/b&gt; [сгенерированно]&lt;br&gt;</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="131"/>
+        <source>&lt;b&gt;From:&lt;/b&gt; </source>
+        <translation>&lt;b&gt;Отправитель:&lt;/b&gt; </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="132"/>
+        <source>unknown</source>
+        <translation>неизвестно</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="133"/>
+        <source>&lt;b&gt;To:&lt;/b&gt; </source>
+        <translation>&lt;b&gt;Получатель:&lt;/b&gt; </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="134"/>
+        <source> (yours, label: </source>
+        <translation> (Ваш, метка: </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="135"/>
+        <source> (yours)</source>
+        <translation> (ваш)</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="136"/>
+        <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
+        <translation>&lt;b&gt;Кредит:&lt;/b&gt; </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="137"/>
+        <source>(%s matures in %d more blocks)</source>
+        <translation>(%s «созреет» через %d блоков)</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="138"/>
+        <source>(not accepted)</source>
+        <translation>(не принято)</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="139"/>
+        <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
+        <translation>&lt;b&gt;Дебет:&lt;/b&gt; </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="140"/>
+        <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
+        <translation>&lt;b&gt;Комиссия:&lt;/b&gt; </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="141"/>
+        <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
+        <translation>&lt;b&gt;Общая сумма:&lt;/b&gt; </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="142"/>
+        <source>Message:</source>
+        <translation>Сообщение:</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="143"/>
+        <source>Comment:</source>
+        <translation>Комментарий:</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>Сгенерированные монеты должны подождать 120 блоков прежде, чем они смогут быть отправлены.  Когда Вы сгенерировали этот блок он был отправлен в сеть, чтобы он был добавлен к цепочке блоков.  Если данная процедура не удастся, статус изменится на «не подтверждено» и монеты будут непередаваемыми.  Такое может случайно происходить в случае, если другой узел сгенерирует блок на несколько секунд раньше.</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="150"/>
+        <source>Cannot write autostart/bitcoin.desktop file</source>
+        <translation>Не возможно записать файл autostart/bitcoin.desktop</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="151"/>
+        <source>Main</source>
+        <translation>Основное</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="152"/>
+        <source>&amp;Start Bitcoin on window system startup</source>
+        <translation>&amp;Запускать бумажник при входе в систему</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="153"/>
+        <source>&amp;Minimize on close</source>
+        <translation>С&amp;ворачивать вместо закрытия</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="154"/>
+        <source>version %s</source>
+        <translation>версия %s</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="155"/>
+        <source>Error in amount  </source>
+        <translation>Ошибка в количестве  </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="156"/>
+        <source>Send Coins</source>
+        <translation>Отправка</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="157"/>
+        <source>Amount exceeds your balance  </source>
+        <translation>Сумма превышает Ваш баланс  </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="158"/>
+        <source>Total exceeds your balance when the </source>
+        <translation>Общая сумма превысит Ваш баланс, если к транзакции будет добавлено ещё</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="159"/>
+        <source> transaction fee is included  </source>
+        <translation>в качестве комиссии  </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="160"/>
+        <source>Payment sent  </source>
+        <translation>Платёж отправлен</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="162"/>
+        <source>Invalid address  </source>
+        <translation>Ошибочный адрес  </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="163"/>
+        <source>Sending %s to %s</source>
+        <translation>Отправка %s адресату %s</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="164"/>
+        <source>CANCELLED</source>
+        <translation>ОТМЕНЕНО</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="165"/>
+        <source>Cancelled</source>
+        <translation>Отменено</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="166"/>
+        <source>Transfer cancelled  </source>
+        <translation>Транзакция отменена  </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="167"/>
+        <source>Error: </source>
+        <translation>ОШИБКА: </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="169"/>
+        <source>Connecting...</source>
+        <translation>Подключение...</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="170"/>
+        <source>Unable to connect</source>
+        <translation>Невозможно подключиться</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="171"/>
+        <source>Requesting public key...</source>
+        <translation>Запрашивается открытый ключ...</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="172"/>
+        <source>Received public key...</source>
+        <translation>Получается публичный ключ...</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="173"/>
+        <source>Recipient is not accepting transactions sent by IP address</source>
+        <translation>Получатель не принимает транзакции, отправленные на IP адрес</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="174"/>
+        <source>Transfer was not accepted</source>
+        <translation>Передача была отвергнута</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="175"/>
+        <source>Invalid response received</source>
+        <translation>Получен неверный ответ</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="176"/>
+        <source>Creating transaction...</source>
+        <translation>Создание транзакции...</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>Данная транзакция требует добавления комиссии (по крайней мере в %s) из-за её размера, сложности, или из-за использования недавно полученных монет</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="180"/>
+        <source>Transaction creation failed</source>
+        <translation>Создание транзакции провалилось</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="181"/>
+        <source>Transaction aborted</source>
+        <translation>Транзакция отменена</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="182"/>
+        <source>Lost connection, transaction cancelled</source>
+        <translation>Потеряно соединение, транзакция отменена</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="183"/>
+        <source>Sending payment...</source>
+        <translation>Отправка платежа...</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>В транзакции отказано.  Такое может произойти, если некоторые монеты уже были потрачены, например, если Вы используете одну копию бумажника (wallet.dat), а монеты были потрачены из другой копии, но не были отмечены как потраченные в этой.  Или в случае кражи (компрометации) Вашего бумажника.</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="188"/>
+        <source>Waiting for confirmation...</source>
+        <translation>Ожидание подтверждения...</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>Платёж был отправлен, но получатель не смог подтвердить его.
+Транзакция записана и будет зачислена получателю,
+но комментарий к платежу будет пустым.</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="193"/>
+        <source>Payment was sent, but an invalid response was received</source>
+        <translation>Платёж был отправлен, но был получен неверный ответ</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="194"/>
+        <source>Payment completed</source>
+        <translation>Платёж завершён</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="195"/>
+        <source>Name</source>
+        <translation>Имя</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="196"/>
+        <source>Address</source>
+        <translation>Адрес</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="197"/>
+        <source>Label</source>
+        <translation>Метка</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="198"/>
+        <source>Bitcoin Address</source>
+        <translation>Bitcoin-адрес</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>Это один из Ваших личных адресов для получения платежей. Он не может быть добавлен в адресную книгу.  </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="202"/>
+        <source>Edit Address</source>
+        <translation>Изменить адрес</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="203"/>
+        <source>Edit Address Label</source>
+        <translation>Изменить метку</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="204"/>
+        <source>Add Address</source>
+        <translation>Добавить адрес</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="205"/>
+        <source>Bitcoin</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="206"/>
+        <source>Bitcoin - Generating</source>
+        <translation>Bitcoin - Генерация</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="207"/>
+        <source>Bitcoin - (not connected)</source>
+        <translation>Bitcoin - (нет связи)</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="208"/>
+        <source>&amp;Open Bitcoin</source>
+        <translation>&amp;Показать бумажник</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="209"/>
+        <source>&amp;Send Bitcoins</source>
+        <translation>Отп&amp;равка</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="210"/>
+        <source>O&amp;ptions...</source>
+        <translation>Оп&amp;ции...</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="211"/>
+        <source>E&amp;xit</source>
+        <translation>Вы&amp;ход</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="212"/>
+        <source>Program has crashed and will terminate.  </source>
+        <translation>Программа экстренно завершилась и будет уничтожена.  </translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="216"/>
+        <source>beta</source>
+        <translation>бета</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="161"/>
+        <source>Sending...</source>
+        <translation>Отправка...</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="168"/>
+        <source>Insufficient funds</source>
+        <translation>Недостаточно монет</translation>
+    </message>
+    <message>
+        <location filename="../bitcoinstrings.cpp" line="65"/>
+        <source>Unable to bind to port %d on this computer.  Bitcoin is probably already running.</source>
+        <translation>Невозможно забиндить порт %d на данном компьютере.  Возможно, бумажник ужк запущен.</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>ВНИМАНИЕ: Проверьте дату и время, установленные на Вашем компьютере. Если Ваши часы идут не правильно Bitcoin может наботать не корректно.</translation>
     </message>
 </context>
 </TS>
index 0b2a3e6..b2777b7 100644 (file)
@@ -71,13 +71,13 @@ TransactionView::TransactionView(QWidget *parent) :
 
     addressWidget = new QLineEdit(this);
 #if QT_VERSION >= 0x040700
-    addressWidget->setPlaceholderText("Enter address or label to search");
+    addressWidget->setPlaceholderText(tr("Enter address or label to search"));
 #endif
     hlayout->addWidget(addressWidget);
 
     amountWidget = new QLineEdit(this);
 #if QT_VERSION >= 0x040700
-    amountWidget->setPlaceholderText("Min amount");
+    amountWidget->setPlaceholderText(tr("Min amount"));
 #endif
     amountWidget->setMaximumWidth(100);
     amountWidget->setMinimumWidth(100);
@@ -105,10 +105,10 @@ TransactionView::TransactionView(QWidget *parent) :
     transactionView = view;
 
     // Actions
-    QAction *copyAddressAction = new QAction("Copy address", this);
-    QAction *copyLabelAction = new QAction("Copy label", this);
-    QAction *editLabelAction = new QAction("Edit label", this);
-    QAction *showDetailsAction = new QAction("Show details...", this);
+    QAction *copyAddressAction = new QAction(tr("Copy address"), this);
+    QAction *copyLabelAction = new QAction(tr("Copy label"), this);
+    QAction *editLabelAction = new QAction(tr("Edit label"), this);
+    QAction *showDetailsAction = new QAction(tr("Show details..."), this);
 
     contextMenu = new QMenu();
     contextMenu->addAction(copyAddressAction);
@@ -251,13 +251,13 @@ void TransactionView::exportClicked()
 
     // name, column, role
     writer.setModel(transactionProxyModel);
-    writer.addColumn("Confirmed", 0, TransactionTableModel::ConfirmedRole);
-    writer.addColumn("Date", 0, TransactionTableModel::DateRole);
-    writer.addColumn("Type", TransactionTableModel::Type, Qt::EditRole);
-    writer.addColumn("Label", 0, TransactionTableModel::LabelRole);
-    writer.addColumn("Address", 0, TransactionTableModel::AddressRole);
-    writer.addColumn("Amount", 0, TransactionTableModel::FormattedAmountRole);
-    writer.addColumn("ID", 0, TransactionTableModel::TxIDRole);
+    writer.addColumn(tr("Confirmed"), 0, TransactionTableModel::ConfirmedRole);
+    writer.addColumn(tr("Date"), 0, TransactionTableModel::DateRole);
+    writer.addColumn(tr("Type"), TransactionTableModel::Type, Qt::EditRole);
+    writer.addColumn(tr("Label"), 0, TransactionTableModel::LabelRole);
+    writer.addColumn(tr("Address"), 0, TransactionTableModel::AddressRole);
+    writer.addColumn(tr("Amount"), 0, TransactionTableModel::FormattedAmountRole);
+    writer.addColumn(tr("ID"), 0, TransactionTableModel::TxIDRole);
 
     if(!writer.write())
     {
@@ -349,7 +349,7 @@ QWidget *TransactionView::createDateRangeWidget()
     QHBoxLayout *layout = new QHBoxLayout(dateRangeWidget);
     layout->setContentsMargins(0,0,0,0);
     layout->addSpacing(23);
-    layout->addWidget(new QLabel("Range:"));
+    layout->addWidget(new QLabel(tr("Range:")));
 
     dateFrom = new QDateTimeEdit(this);
     dateFrom->setDisplayFormat("dd/MM/yy");
@@ -357,7 +357,7 @@ QWidget *TransactionView::createDateRangeWidget()
     dateFrom->setMinimumWidth(100);
     dateFrom->setDate(QDate::currentDate().addDays(-7));
     layout->addWidget(dateFrom);
-    layout->addWidget(new QLabel("to"));
+    layout->addWidget(new QLabel(tr("to")));
 
     dateTo = new QDateTimeEdit(this);
     dateTo->setDisplayFormat("dd/MM/yy");