# HG changeset patch # User Jacob Dawid # Date 1303078480 -7200 # Node ID 519ae5ea6bd4cefd69deb6ddaa6ed46d45c49a87 # Parent df787fd0a6e5531d62ba7b58a5cb46bddfa9c9ad Translated Quint to German. diff --git a/gui//Quint.pro b/gui//Quint.pro --- a/gui//Quint.pro +++ b/gui//Quint.pro @@ -93,3 +93,5 @@ #LIBS += $$LFLAGS -lutil QMAKE_LFLAGS += $$LFLAGS -lutil QMAKE_CXXFLAGS += $$INCFLAGS + +TRANSLATIONS += languages/german diff --git a/gui//src/FilesDockWidget.cpp b/gui//src/FilesDockWidget.cpp --- a/gui//src/FilesDockWidget.cpp +++ b/gui//src/FilesDockWidget.cpp @@ -6,7 +6,7 @@ FilesDockWidget::FilesDockWidget(QWidget *parent) : QDockWidget(parent) { setObjectName("FilesDockWidget"); - setWindowTitle("Current Folder"); + setWindowTitle(tr("Current Folder")); setWidget(new QWidget(this)); // Create a toolbar diff --git a/gui//src/HistoryDockWidget.cpp b/gui//src/HistoryDockWidget.cpp --- a/gui//src/HistoryDockWidget.cpp +++ b/gui//src/HistoryDockWidget.cpp @@ -38,7 +38,7 @@ m_historyListView->setEditTriggers(QAbstractItemView::NoEditTriggers); QHBoxLayout *layout = new QHBoxLayout(); - setWindowTitle("Command History"); + setWindowTitle(tr("Command History")); setWidget(new QWidget()); layout->addWidget(m_historyListView); @@ -50,12 +50,12 @@ void HistoryDockWidget::updateHistory(string_vector historyEntries) { QStringList stringList = m_historyListModel->stringList(); - for(size_t i = 0; i < historyEntries.length(); i++) { + for(int i = 0; i < historyEntries.length(); i++) { QString command(historyEntries[i].c_str()); if(!command.startsWith("#")) { stringList.push_front(command); } } m_historyListModel->setStringList(stringList); - emit information("History updated."); + emit information(tr("History updated.")); } diff --git a/gui//src/MainWindow.cpp b/gui//src/MainWindow.cpp --- a/gui//src/MainWindow.cpp +++ b/gui//src/MainWindow.cpp @@ -39,7 +39,7 @@ } void MainWindow::handleOpenFileRequest(QString fileName) { - reportStatusMessage("Opening file."); + reportStatusMessage(tr("Opening file.")); QPixmap pixmap; if(pixmap.load(fileName)) { ImageViewerMdiSubWindow *subWindow = new ImageViewerMdiSubWindow(pixmap, this); @@ -65,7 +65,7 @@ void MainWindow::handleSaveWorkspaceRequest() { QDesktopServices desktopServices; - QString selectedFile = QFileDialog::getSaveFileName(this, "Save Workspace", + QString selectedFile = QFileDialog::getSaveFileName(this, tr("Save Workspace"), desktopServices.storageLocation(QDesktopServices::HomeLocation) + "/.quint/workspace"); m_octaveTerminal->sendText(QString("save \'%1\'\n").arg(selectedFile)); m_octaveTerminal->setFocus(); @@ -73,7 +73,7 @@ void MainWindow::handleLoadWorkspaceRequest() { QDesktopServices desktopServices; - QString selectedFile = QFileDialog::getOpenFileName(this, "Load Workspace", + QString selectedFile = QFileDialog::getOpenFileName(this, tr("Load Workspace"), desktopServices.storageLocation(QDesktopServices::HomeLocation) + "/.quint/workspace"); m_octaveTerminal->sendText(QString("load \'%1\'\n").arg(selectedFile)); m_octaveTerminal->setFocus(); @@ -91,7 +91,7 @@ void MainWindow::closeEvent(QCloseEvent *closeEvent) { m_isRunning = false; - reportStatusMessage("Saving data and shutting down."); + reportStatusMessage(tr("Saving data and shutting down.")); writeSettings(); m_octaveCallbackThread->terminate(); @@ -116,7 +116,7 @@ void MainWindow::constructWindow() { QStyle *style = QApplication::style(); m_octaveTerminal = new OctaveTerminal(this); - m_generalPurposeToolbar = new QToolBar("Octave Toolbar", this); + m_generalPurposeToolbar = new QToolBar(tr("Octave Toolbar"), this); m_variablesDockWidget = new VariablesDockWidget(this); m_historyDockWidget = new HistoryDockWidget(this); m_filesDockWidget = new FilesDockWidget(this); @@ -125,10 +125,10 @@ m_browserWidget = new BrowserWidget(this); m_serviceWidget = new BrowserWidget(this); m_centralTabWidget = new QTabWidget(this); - m_centralTabWidget->addTab(m_octaveTerminal, "Command Window"); - m_centralTabWidget->addTab(m_openedFiles, "File Editor"); - m_centralTabWidget->addTab(m_browserWidget, "Documentation"); - m_centralTabWidget->addTab(m_serviceWidget, "Service"); + m_centralTabWidget->addTab(m_octaveTerminal, tr("Command Window")); + m_centralTabWidget->addTab(m_openedFiles, tr("File Editor")); + m_centralTabWidget->addTab(m_browserWidget, tr("Documentation")); + m_centralTabWidget->addTab(m_serviceWidget, tr("Service")); // TODO: Add meaningfull toolbar items. QAction *commandAction = new QAction(style->standardIcon(QStyle::SP_CommandLink), @@ -176,5 +176,5 @@ dup2 (fds, 1); dup2 (fds, 2); m_octaveTerminal->openTeletype(fdm); - reportStatusMessage("Established link to Octave."); + reportStatusMessage(tr("Established link to Octave.")); } diff --git a/gui//src/Quint.cpp b/gui//src/Quint.cpp --- a/gui//src/Quint.cpp +++ b/gui//src/Quint.cpp @@ -17,13 +17,25 @@ */ #include +#include +#include #include "MainWindow.h" int main(int argc, char *argv[]) { - QApplication a(argc, argv); + QApplication application(argc, argv); + + QDesktopServices desktopServices; + QSettings settings( + desktopServices.storageLocation(QDesktopServices::HomeLocation) + + "/.quint/settings.ini", QSettings::IniFormat); + + QTranslator translator; + translator.load(QString("../languages/%1.qm").arg(settings.value("application/language").toString())); + application.installTranslator(&translator); + MainWindow w; w.show(); - return a.exec(); + return application.exec(); } diff --git a/gui//src/VariablesDockWidget.cpp b/gui//src/VariablesDockWidget.cpp --- a/gui//src/VariablesDockWidget.cpp +++ b/gui//src/VariablesDockWidget.cpp @@ -12,13 +12,13 @@ void VariablesDockWidget::construct() { m_updateSemaphore = new QSemaphore(1); QStringList headerLabels; - headerLabels << "Name" << "Type" << "Value"; + headerLabels << tr("Name") << tr("Type") << tr("Value"); m_variablesTreeWidget = new QTreeWidget(this); m_variablesTreeWidget->setHeaderHidden(false); m_variablesTreeWidget->setHeaderLabels(headerLabels); QVBoxLayout *layout = new QVBoxLayout(); - setWindowTitle("Workspace"); + setWindowTitle(tr("Workspace")); setWidget(new QWidget()); layout->addWidget(m_variablesTreeWidget); @@ -26,9 +26,9 @@ layout->addWidget(buttonBar); QHBoxLayout *buttonBarLayout = new QHBoxLayout(); - QPushButton *saveWorkspaceButton = new QPushButton("Save", buttonBar); - QPushButton *loadWorkspaceButton = new QPushButton("Load", buttonBar); - QPushButton *clearWorkspaceButton = new QPushButton("Clear", buttonBar); + QPushButton *saveWorkspaceButton = new QPushButton(tr("Save"), buttonBar); + QPushButton *loadWorkspaceButton = new QPushButton(tr("Load"), buttonBar); + QPushButton *clearWorkspaceButton = new QPushButton(tr("Clear"), buttonBar); buttonBarLayout->addWidget(saveWorkspaceButton); buttonBarLayout->addWidget(loadWorkspaceButton); buttonBarLayout->addWidget(clearWorkspaceButton); @@ -43,19 +43,19 @@ connect(clearWorkspaceButton, SIGNAL(clicked()), this, SLOT(emitClearWorkspace())); QTreeWidgetItem *treeWidgetItem = new QTreeWidgetItem(); - treeWidgetItem->setData(0, 0, QString("Local")); + treeWidgetItem->setData(0, 0, QString(tr("Local"))); m_variablesTreeWidget->insertTopLevelItem(0, treeWidgetItem); treeWidgetItem = new QTreeWidgetItem(); - treeWidgetItem->setData(0, 0, QString("Global")); + treeWidgetItem->setData(0, 0, QString(tr("Global"))); m_variablesTreeWidget->insertTopLevelItem(1, treeWidgetItem); treeWidgetItem = new QTreeWidgetItem(); - treeWidgetItem->setData(0, 0, QString("Persistent")); + treeWidgetItem->setData(0, 0, QString(tr("Persistent"))); m_variablesTreeWidget->insertTopLevelItem(2, treeWidgetItem); treeWidgetItem = new QTreeWidgetItem(); - treeWidgetItem->setData(0, 0, QString("Hidden")); + treeWidgetItem->setData(0, 0, QString(tr("Hidden"))); m_variablesTreeWidget->insertTopLevelItem(3, treeWidgetItem); m_variablesTreeWidget->expandAll(); diff --git a/gui/languages/german b/gui/languages/german new file mode 100644 --- /dev/null +++ b/gui/languages/german @@ -0,0 +1,175 @@ + + + + + FilesDockWidget + + + Current Folder + Aktuelles Verzeichnis + + + + HistoryDockWidget + + + Command History + Befehlshistorie + + + + History updated. + Befehlshistorie aktualisiert. + + + + MainWindow + + + Opening file. + Öffne Datei. + + + + Save Workspace + Speichere Arbeitsumgebung + + + + Load Workspace + Lade Arbeitsumgebung + + + + Saving data and shutting down. + Speichere Daten und schließe. + + + + Octave Toolbar + Octave Werkzeugleiste + + + + Command Window + Konsolenfenster + + + + File Editor + Dateieditor + + + + Documentation + Dokumentation + + + + Service + Service + + + + Established link to Octave. + Verbindung zu Octave hergestellt. + + + + NumberBar + + + Stop Here + Stoppe hier + + + + Current Line + Aktuelle Zeile + + + + Error Line + Fehlerzeile + + + + NumberedCodeEdit + + + This file name is not valid. + Dieser Dateiname ist nicht gültig. + + + + Octave doesn't understand this file name: + + Octave versteht diesen Dateityp nicht: + + + + +Please, change it. + Do you want to save your changes? + Bitte ändern Sie dies. Möchten Sie Ihre Änderungen sichern? + + + + VariablesDockWidget + + + Name + Bezeichner + + + + Type + Typ + + + + Value + Wert + + + + Workspace + Arbeitsumgebung + + + + Save + Sichern + + + + Load + Laden + + + + Clear + Löschen + + + + Local + Lokal + + + + Global + Global + + + + Persistent + Persistent + + + + Hidden + Versteckt + + + diff --git a/gui/languages/german.qm b/gui/languages/german.qm new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..13cd427ba4fa69ba638a54f79dbb25ff3e02654c GIT binary patch literal 2753 zc$}41U1(fI6h52%Np_oTYAX^n#1Vu_4EqqMXpn~dHfq`gHY6%Ryt{Xjz3$za<=)v1 z2|g);2tJA6gFg5qh-fJ&Rk2oR!79ZE(Kq!$L8wYauoMyWo4GglZqnP0vh1DNxpThr zo$t&!vk#xMhrYP>`m0y&8UFO?H$VAqnuva<>~TfZdxf$K$BFtTDErzaj29?-fn)rO z9=-oLydR?S(o00y8&rPcS*)jN{rUHa@?)vX=UyPnY@~iWf&JtuVj9F9Cp3s%(b`AV|+PtBYy<@#`WRvMrn%bq^L!lTzokB#Ap?xM>}{rRHYgTjDDXc zlEb$+)ABqn6q}c>&AnbM4bD3*_h)6bzUJ7QT%|Pj2u%ZF1K%2ueLR5zUlQ03@d$5l zMm8Fju-Ss+E9q@(z}v$4KFEpgkf3gb;aGUD-#I1}MWx8y;Sid&nzp65UFza*gdPL7 z0FE@`2;*BApTO;qBn)BA5w_gYh=o&@BZ8j>>Q0&kNFCG~210?N0zJS-FavPkYCu{` zIZ`B{OozFtz*3M6G(npPdj~T{OURbSZ5t_SX6L5KsS5MkDa2iKzOpK=(ef%N!8~H&s(FI&DAT8wW80 zH#!Csg2nXt^=mDq%!=F+iBT2dRy%7O$FZorW$v||WU9kAbs0ua8tQHbLjP`GS#*Sf z$)9dDD%_j4yzumqDM< zwBv9BVsQm1+J=J6+zCO56A{hPu&`{&eQ`{&mcadhCWC{eYL0J8g$b*{CknTwHjB@$ zYj2Nhfmy@Q4Jx{m1cQcun+E4#7N79pl|7Cbeh8^p+j5^hu5_R<@hnE&9UCC1#mjwcJ*BqmlpE@bi0meIne8c+rze{R^V| BTj2lz