mirror of
https://github.com/aarnt/octopi.git
synced 2025-11-18 08:34:42 +01:00
Compare commits
93 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2cda92a291 | ||
|
|
2db3fbab65 | ||
|
|
bb36311dee | ||
|
|
ec34f2e310 | ||
|
|
63560a25d4 | ||
|
|
c36dbd80a4 | ||
|
|
2083e0ef92 | ||
|
|
a7c2dc19e7 | ||
|
|
0a46f47d53 | ||
|
|
8b81a019b2 | ||
|
|
f96c77b4dd | ||
|
|
fceed3f9e6 | ||
|
|
d12cc4c83e | ||
|
|
d846f0cb25 | ||
|
|
f0291a164c | ||
|
|
78e5eb7d1d | ||
|
|
b7d31f060d | ||
|
|
26a69191a0 | ||
|
|
c67efd002c | ||
|
|
58251a3bd5 | ||
|
|
6d063e6f7f | ||
|
|
3aaf4a9970 | ||
|
|
fedf3b3209 | ||
|
|
b0753af034 | ||
|
|
ab4a5e13fa | ||
|
|
f43d31877f | ||
|
|
cf061f2622 | ||
|
|
cd6e031a34 | ||
|
|
542a206d01 | ||
|
|
f97448429e | ||
|
|
95077c712b | ||
|
|
7aa6104e14 | ||
|
|
60902de817 | ||
|
|
1c851e1817 | ||
|
|
161d1cb6c9 | ||
|
|
3b90e3e6a2 | ||
|
|
86497ea2c8 | ||
|
|
2b8ed46a59 | ||
|
|
4aef1245c9 | ||
|
|
e37cb11343 | ||
|
|
26047e92a5 | ||
|
|
22586db454 | ||
|
|
3e224391fe | ||
|
|
beb6f9a114 | ||
|
|
2a84d8d728 | ||
|
|
bed9898498 | ||
|
|
4aa9a89ed5 | ||
|
|
181257ab9e | ||
|
|
680432877d | ||
|
|
4080d95306 | ||
|
|
d92a78c563 | ||
|
|
64618001f4 | ||
|
|
e8089a9f7d | ||
|
|
6821d6dca4 | ||
|
|
f266b18285 | ||
|
|
b1e966b6b6 | ||
|
|
e3d8e6fe3f | ||
|
|
4fa2a65db2 | ||
|
|
582a4ab7e4 | ||
|
|
f0c17ae27a | ||
|
|
db74213976 | ||
|
|
f55cca4827 | ||
|
|
0b53e96a71 | ||
|
|
f477ba4cf8 | ||
|
|
a24a187fe0 | ||
|
|
3da1929c70 | ||
|
|
f5e154d24a | ||
|
|
54bde33675 | ||
|
|
a771c37ca6 | ||
|
|
60c3b5fecb | ||
|
|
6d32f8ed06 | ||
|
|
40c53d073b | ||
|
|
31324ba240 | ||
|
|
c27e34da2c | ||
|
|
75a2aba102 | ||
|
|
cdcf75f60f | ||
|
|
8f0146812b | ||
|
|
e3e709f69b | ||
|
|
0db39e04dc | ||
|
|
eb77f8cbdd | ||
|
|
a471490e6e | ||
|
|
99e04027a6 | ||
|
|
52b6ab1aac | ||
|
|
f623438072 | ||
|
|
57e906c403 | ||
|
|
3e46942841 | ||
|
|
ee5d7640d2 | ||
|
|
d8d367986e | ||
|
|
343c80486e | ||
|
|
a8a486eb58 | ||
|
|
1cb131bff3 | ||
|
|
b0b2a5f1f8 | ||
|
|
bee7d84536 |
28
CHANGELOG
28
CHANGELOG
@@ -1,3 +1,31 @@
|
||||
0.2
|
||||
Splitted the project in "octopi" and "octopi-notifier".
|
||||
Yaourt no longer runs with root permissions.
|
||||
Added support for package multi selection in Yaourt mode.
|
||||
Added option to install local packages.
|
||||
Added support for "notify-send" in "octopi-notifier".
|
||||
Added hebrew translation.
|
||||
Added lithuanian translation.
|
||||
Added norwegian bokmål translation.
|
||||
Added servian latin translation.
|
||||
Added dutch translation.
|
||||
Added russian translation.
|
||||
Added uzbek translation.
|
||||
Added finnish translation.
|
||||
Added vietnamese translation.
|
||||
Updated all other translations.
|
||||
GTK native theme is used by default in Manjaro (while not in KDE).
|
||||
Added support for Xterm terminal.
|
||||
IgnorePkg option is now used to build outdated package list.
|
||||
BugFix: Empty pkg descriptions are now shown as empty.
|
||||
|
||||
0.1.9.1
|
||||
Important bugfixes to deal with multithreaded code.
|
||||
Added a "globals.h/.cpp" file to group QFutureWatcher globals.
|
||||
Updated style changing code in main.cpp.
|
||||
BugFix: when user cancelled a sysupgrade transaction inside a
|
||||
terminal, the package actions remained disabled.
|
||||
|
||||
0.1.9
|
||||
Added yaourt support.
|
||||
Updated most of the translations.
|
||||
|
||||
6
INSTALL
6
INSTALL
@@ -7,7 +7,11 @@ Assuming you have updated Qt4 libs installed in your system, just run:
|
||||
Wait for the compilation and then install the generated package (as
|
||||
root), using:
|
||||
|
||||
pacman -U --force <nameOfTheGeneratedOctopiPackage.tar.xz>
|
||||
pacman -U [--force] <nameOfTheGeneratedOctopiPackage.tar.xz>
|
||||
|
||||
You can also install the generated package notifier, using:
|
||||
|
||||
pacman -U [--force] <nameOfTheGeneratedOctopiNotifierPackage.tar.xz>
|
||||
|
||||
Octopi is located at the system utilities menu of your Desktop
|
||||
Environment.
|
||||
|
||||
27
PKGBUILD
27
PKGBUILD
@@ -1,5 +1,5 @@
|
||||
pkgname=octopi
|
||||
pkgver=0.1.9
|
||||
pkgname=('octopi' 'octopi-notifier')
|
||||
pkgver=0.2
|
||||
pkgrel=1
|
||||
pkgdesc="a powerful Pacman frontend using Qt libs"
|
||||
arch=('i686' 'x86_64')
|
||||
@@ -8,8 +8,12 @@ license=('GPL2')
|
||||
install=$pkgname.install
|
||||
makedepends=('git')
|
||||
depends=('qt4')
|
||||
optdepends=('kdesu: for KDE'
|
||||
'gksu: for XFCE, Gnome, LXDE, Cinnamon'
|
||||
'gnome-keyring: for password management'
|
||||
'yaourt: for AUR support'
|
||||
'octopi-notifier: for notifications')
|
||||
provides=('octopi')
|
||||
conflicts=('octopi')
|
||||
md5sums=()
|
||||
|
||||
build() {
|
||||
@@ -27,9 +31,14 @@ build() {
|
||||
msg "Building pacmanhelper..."
|
||||
qmake-qt4 pacmanhelper.pro
|
||||
make -j $jc
|
||||
|
||||
cd $startdir/notifier/octopi-notifier
|
||||
msg "Building octopi-notifier..."
|
||||
qmake-qt4 octopi-notifier.pro
|
||||
make -j $jc
|
||||
}
|
||||
|
||||
package() {
|
||||
package_octopi() {
|
||||
#Octopi main files
|
||||
install -D -m755 $startdir/bin/$pkgname ${pkgdir}/usr/bin/$pkgname
|
||||
install -D -m644 $startdir/$pkgname.desktop ${pkgdir}/usr/share/applications/$pkgname.desktop
|
||||
@@ -43,3 +52,13 @@ package() {
|
||||
install -D -m644 $startdir/notifier/pacmanhelper/polkit/org.octopi.pacmanhelper.xml ${pkgdir}/usr/share/dbus-1/interfaces/org.octopi.pacmanhelper.xml
|
||||
install -D -m644 $startdir/notifier/pacmanhelper/polkit/org.octopi.pacmanhelper.service ${pkgdir}/usr/share/dbus-1/system-services/org.octopi.pacmanhelper.service
|
||||
}
|
||||
|
||||
package_octopi-notifier() {
|
||||
pkgdesc="Notifier for Octopi"
|
||||
depends=('octopi' 'libnotify')
|
||||
optdepends=('xfce4-notifyd: for notifications in XFCE')
|
||||
|
||||
#Octopi-notifier file
|
||||
install -D -m755 $startdir/notifier/bin/octopi-notifier ${pkgdir}/usr/bin/octopi-notifier
|
||||
install -D -m644 $startdir/octopi-notifier.desktop ${pkgdir}/etc/xdg/autostart/octopi-notifier.desktop
|
||||
}
|
||||
|
||||
4
README
4
README
@@ -1,8 +1,8 @@
|
||||
This is Octopi, a powerful Pacman frontend using Qt libs.
|
||||
This is Octopi, a powerful Pacman/Yaourt frontend using Qt libs.
|
||||
|
||||
The project's source code is hosted at https://github.com/aarnt/octopi.
|
||||
|
||||
You'll need a privilege escalation tool to use it, once running it as
|
||||
You'll need a privilege escalation tool to use it, once running as
|
||||
root will not work. Octopi supports kdesu and gksu for that.
|
||||
|
||||
Enjoy!
|
||||
|
||||
6
THANKS
6
THANKS
@@ -1,13 +1,17 @@
|
||||
A very special thanks goes to:
|
||||
|
||||
- All Octopi translators listed in TRANSLATIONS file!
|
||||
- Alex Fredrich, for testing and suggestions
|
||||
- Bernardo M. Savone (Bersil), for testing and spreading the word
|
||||
- Edgar Aloísio Berger, for spreading the word by email
|
||||
- Jose Martinez (dsngjoe), for testing under Cinnamon
|
||||
- Manjaro community, for testing and suggestions
|
||||
- Manuel Tortosa, for testing, suggestions and code
|
||||
- Philip Müller, for testing, patches and suggestions
|
||||
- Philip Müller (philm), for testing, patches and suggestions
|
||||
- Riberti de Almeida Felisbino (Holmes), for spreading the word at Manjaro Linux
|
||||
Brasil
|
||||
- Ringo de kroon (ringo32), for testing and lots of suggestions
|
||||
- Sami Korkalainen (Sami-Perkele), for testing and suggestions
|
||||
- Valdir Rossi Belmonte Filho, for patching the site
|
||||
|
||||
Octopi has got much better with all your help!
|
||||
|
||||
11
TRANSLATIONS
11
TRANSLATIONS
@@ -4,13 +4,22 @@ Bulgarian: loot270 (Galin Iskrenov)
|
||||
Catalan: oriolfa (Oriol Fernandez)
|
||||
Czech: fri
|
||||
Danish: Snubbi (Carl Andersen)
|
||||
English (source language)
|
||||
Dutch: jsm (Jasper van der Marel)
|
||||
English: source language
|
||||
Finnish: Sami Korkalainen (Sami-Perkele)
|
||||
French: Loubrix (David Roux)
|
||||
German: Veraendert
|
||||
Greek: angel_solomos
|
||||
Hebrew: GenghisKhan
|
||||
Indonesian: Se7enTime (Mohamad Hasan Al Banna)
|
||||
Italian: bersil (Bernardo Miguel Savone)
|
||||
Lithuanian: liudas (Liudas Ališauskas)
|
||||
Norwegian Bokmål: viking60
|
||||
Polish: poker98face (Kuba Kaczmarzyk)
|
||||
Romanian: Ayceman (Alexandru Ianu)
|
||||
Russian: macbet (Daniil) and ualmasov (Umidjon Almasov)
|
||||
Servian-latin: GameBoyT (GameBoy)
|
||||
Spanish: tufadorin
|
||||
Turkish: yfdogan (Yusuf Faruk DOĞAN)
|
||||
Uzbek: ualmasov (Umidjon Almasov)
|
||||
Vietnamese: ppanhh (Anh Phan)
|
||||
|
||||
31
notifier/octopi-notifier/main.cpp
Normal file
31
notifier/octopi-notifier/main.cpp
Normal file
@@ -0,0 +1,31 @@
|
||||
#include "../../src/unixcommand.h"
|
||||
#include "../../src/wmhelper.h"
|
||||
#include "mainwindow.h"
|
||||
|
||||
#include <QtGui>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
if (UnixCommand::isAppRunning("octopi-notifier")) return (-1);
|
||||
|
||||
QApplication a(argc, argv);
|
||||
|
||||
QApplication::setGraphicsSystem(QLatin1String("raster"));
|
||||
|
||||
if(UnixCommand::getLinuxDistro() == ectn_MANJAROLINUX &&
|
||||
!WMHelper::isKDERunning())
|
||||
{
|
||||
qApp->setStyle(new QGtkStyle());
|
||||
}
|
||||
else
|
||||
qApp->setStyle(new QCleanlooksStyle);
|
||||
|
||||
QTranslator appTranslator;
|
||||
appTranslator.load(":/resources/translations/octopi_" +
|
||||
QLocale::system().name());
|
||||
a.installTranslator(&appTranslator);
|
||||
|
||||
MainWindow w;
|
||||
QResource::registerResource("./resources.qrc");
|
||||
return a.exec();
|
||||
}
|
||||
285
notifier/octopi-notifier/mainwindow.cpp
Normal file
285
notifier/octopi-notifier/mainwindow.cpp
Normal file
@@ -0,0 +1,285 @@
|
||||
#include "mainwindow.h"
|
||||
#include "../../src/strconstants.h"
|
||||
#include "../../src/uihelper.h"
|
||||
#include "../../src/package.h"
|
||||
#include "../../src/pacmanhelperclient.h"
|
||||
#include <QTimer>
|
||||
#include <QSystemTrayIcon>
|
||||
#include <QAction>
|
||||
#include <QMenu>
|
||||
#include <QProcess>
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent) :
|
||||
QMainWindow(parent)
|
||||
{
|
||||
m_pacmanDatabaseSystemWatcher =
|
||||
new QFileSystemWatcher(QStringList() << ctn_PACMAN_DATABASE_DIR, this);
|
||||
|
||||
initSystemTrayIcon();
|
||||
}
|
||||
|
||||
/*
|
||||
* Let's initialize the system tray object...
|
||||
*/
|
||||
void MainWindow::initSystemTrayIcon()
|
||||
{
|
||||
m_systemTrayIcon = new QSystemTrayIcon(this);
|
||||
m_systemTrayIcon->setObjectName("systemTrayIcon");
|
||||
|
||||
m_actionExit = new QAction(IconHelper::getIconExit(), tr("Exit"), this);
|
||||
connect(m_actionExit, SIGNAL(triggered()), this, SLOT(exitNotifier()));
|
||||
m_actionOctopi = new QAction(this);
|
||||
m_actionOctopi->setText("Octopi...");
|
||||
connect(m_actionOctopi, SIGNAL(triggered()), this, SLOT(runOctopi()));
|
||||
|
||||
refreshAppIcon();
|
||||
|
||||
if (m_numberOfOutdatedPackages == 0)
|
||||
{
|
||||
//m_systemTrayIcon->setToolTip(StrConstants::getApplicationName());
|
||||
}
|
||||
else if (m_numberOfOutdatedPackages > 0)
|
||||
{
|
||||
QString notification;
|
||||
|
||||
if (m_numberOfOutdatedPackages == 1)
|
||||
{
|
||||
notification = StrConstants::getOneNewUpdate();
|
||||
m_systemTrayIcon->setToolTip(notification);
|
||||
}
|
||||
else if (m_numberOfOutdatedPackages > 1)
|
||||
{
|
||||
notification = StrConstants::getNewUpdates().arg(m_numberOfOutdatedPackages);
|
||||
m_systemTrayIcon->setToolTip(notification);
|
||||
}
|
||||
}
|
||||
|
||||
m_systemTrayIcon->show();
|
||||
m_systemTrayIconMenu = new QMenu( this );
|
||||
m_systemTrayIconMenu->addAction(m_actionOctopi);
|
||||
m_systemTrayIconMenu->addSeparator();
|
||||
m_systemTrayIconMenu->addAction(m_actionExit);
|
||||
m_systemTrayIcon->setContextMenu(m_systemTrayIconMenu);
|
||||
|
||||
connect ( m_systemTrayIcon , SIGNAL( activated( QSystemTrayIcon::ActivationReason ) ),
|
||||
this, SLOT( execSystemTrayActivated ( QSystemTrayIcon::ActivationReason ) ) );
|
||||
|
||||
m_pacmanClient = new PacmanHelperClient("org.octopi.pacmanhelper", "/", QDBusConnection::systemBus(), 0);
|
||||
connect(m_pacmanClient, SIGNAL(syncdbcompleted()), this, SLOT(afterPacmanHelperSyncDatabase()));
|
||||
|
||||
m_pacmanHelperTimer = new QTimer();
|
||||
m_pacmanHelperTimer->setInterval(1000 * 5);
|
||||
m_pacmanHelperTimer->start();
|
||||
|
||||
connect(m_pacmanHelperTimer, SIGNAL(timeout()), this, SLOT(pacmanHelperTimerTimeout()));
|
||||
|
||||
connect(m_pacmanDatabaseSystemWatcher,
|
||||
SIGNAL(directoryChanged(QString)), this, SLOT(refreshAppIcon()));
|
||||
}
|
||||
|
||||
/*
|
||||
* Exec Octopi
|
||||
*/
|
||||
void MainWindow::runOctopi()
|
||||
{
|
||||
QProcess proc;
|
||||
|
||||
if(UnixCommand::getLinuxDistro() == ectn_MANJAROLINUX &&
|
||||
!WMHelper::isKDERunning())
|
||||
{
|
||||
if (m_icon.pixmap(QSize(22,22)).toImage() ==
|
||||
IconHelper::getIconOctopiRed().pixmap(QSize(22,22)).toImage())
|
||||
{
|
||||
proc.startDetached("octopi -sysupgrade -style gtk");
|
||||
}
|
||||
else
|
||||
{
|
||||
proc.startDetached("octopi -style gtk");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (m_icon.pixmap(QSize(22,22)).toImage() ==
|
||||
IconHelper::getIconOctopiRed().pixmap(QSize(22,22)).toImage())
|
||||
{
|
||||
proc.startDetached("octopi -sysupgrade");
|
||||
}
|
||||
else
|
||||
{
|
||||
proc.startDetached("octopi");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::hideOctopi()
|
||||
{
|
||||
QProcess proc;
|
||||
proc.startDetached("octopi -hide");
|
||||
}
|
||||
|
||||
/*
|
||||
* Whenever this timer ticks, we need to call the PacmanHelper DBus interface to sync Pacman's dbs
|
||||
*/
|
||||
void MainWindow::pacmanHelperTimerTimeout()
|
||||
{
|
||||
static bool firstTime=true;
|
||||
|
||||
if (firstTime)
|
||||
{
|
||||
m_pacmanHelperTimer->setInterval(1000 * 60 * 60);
|
||||
firstTime=false;
|
||||
}
|
||||
|
||||
m_pacmanClient->syncdb();
|
||||
}
|
||||
|
||||
/*
|
||||
* Called right after the PacmanHelper syncdb() method has finished!
|
||||
*/
|
||||
void MainWindow::afterPacmanHelperSyncDatabase()
|
||||
{
|
||||
disconnect(m_pacmanDatabaseSystemWatcher,
|
||||
SIGNAL(directoryChanged(QString)), this, SLOT(refreshAppIcon()));
|
||||
|
||||
int numberOfOutdatedPackages = m_numberOfOutdatedPackages;
|
||||
refreshAppIcon();
|
||||
|
||||
if (numberOfOutdatedPackages != m_numberOfOutdatedPackages)
|
||||
{
|
||||
if (m_numberOfOutdatedPackages > 0)
|
||||
{
|
||||
QString notification;
|
||||
|
||||
if (m_numberOfOutdatedPackages == 1)
|
||||
{
|
||||
notification = StrConstants::getOneNewUpdate();
|
||||
m_systemTrayIcon->setToolTip(notification);
|
||||
sendNotification(notification);
|
||||
}
|
||||
else if (m_numberOfOutdatedPackages > 1)
|
||||
{
|
||||
notification = StrConstants::getNewUpdates().arg(m_numberOfOutdatedPackages);
|
||||
m_systemTrayIcon->setToolTip(notification);
|
||||
sendNotification(notification);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
QString notification;
|
||||
|
||||
if (numberOfOutdatedPackages == 1)
|
||||
{
|
||||
notification = StrConstants::getOneNewUpdate();
|
||||
m_systemTrayIcon->setToolTip(notification);
|
||||
sendNotification(notification);
|
||||
}
|
||||
else if (numberOfOutdatedPackages > 1)
|
||||
{
|
||||
notification = StrConstants::getNewUpdates().arg(numberOfOutdatedPackages);
|
||||
m_systemTrayIcon->setToolTip(notification);
|
||||
sendNotification(notification);
|
||||
}
|
||||
}
|
||||
|
||||
connect(m_pacmanDatabaseSystemWatcher,
|
||||
SIGNAL(directoryChanged(QString)), this, SLOT(refreshAppIcon()));
|
||||
}
|
||||
|
||||
/*
|
||||
* Uses notify-send to send a notification to the systray area
|
||||
*/
|
||||
void MainWindow::sendNotification(const QString &msg)
|
||||
{
|
||||
if (WMHelper::isXFCERunning() || WMHelper::isLXDERunning() || WMHelper::isOPENBOXRunning())
|
||||
{
|
||||
QString processToExec("notify-send");
|
||||
if (UnixCommand::hasTheExecutable(processToExec))
|
||||
{
|
||||
QProcess *send = new QProcess();
|
||||
processToExec += " -i /usr/share/icons/octopi.png -t 30000 \"" + StrConstants::getApplicationName() +
|
||||
"\" \"" + msg + "\"";
|
||||
send->startDetached(processToExec);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* If we have some outdated packages, let's put an angry red face icon in this app!
|
||||
*/
|
||||
void MainWindow::refreshAppIcon()
|
||||
{
|
||||
disconnect(m_pacmanDatabaseSystemWatcher,
|
||||
SIGNAL(directoryChanged(QString)), this, SLOT(refreshAppIcon()));
|
||||
|
||||
m_outdatedPackageList = Package::getOutdatedPackageList();
|
||||
m_numberOfOutdatedPackages = m_outdatedPackageList->count();
|
||||
|
||||
if (m_numberOfOutdatedPackages == 0)
|
||||
{
|
||||
//m_systemTrayIcon->setToolTip(StrConstants::getApplicationName());
|
||||
m_actionOctopi->setText("Octopi...");
|
||||
}
|
||||
else if (m_numberOfOutdatedPackages > 0)
|
||||
{
|
||||
m_actionOctopi->setText(tr("System upgrade"));
|
||||
|
||||
if (m_numberOfOutdatedPackages == 1)
|
||||
{
|
||||
m_systemTrayIcon->setToolTip(StrConstants::getOneNewUpdate());
|
||||
}
|
||||
else if (m_numberOfOutdatedPackages > 1)
|
||||
{
|
||||
m_systemTrayIcon->setToolTip(StrConstants::getNewUpdates().arg(m_numberOfOutdatedPackages));
|
||||
}
|
||||
}
|
||||
|
||||
if(m_outdatedPackageList->count() > 0)
|
||||
{
|
||||
m_icon = (IconHelper::getIconOctopiRed());
|
||||
}
|
||||
else
|
||||
{
|
||||
m_icon = (IconHelper::getIconOctopiYellow());
|
||||
}
|
||||
|
||||
m_systemTrayIcon->setIcon(m_icon);
|
||||
m_systemTrayIcon->show();
|
||||
|
||||
connect(m_pacmanDatabaseSystemWatcher,
|
||||
SIGNAL(directoryChanged(QString)), this, SLOT(refreshAppIcon()));
|
||||
}
|
||||
|
||||
/*
|
||||
* Whenever the user clicks on the systemTray icon...
|
||||
*/
|
||||
void MainWindow::execSystemTrayActivated(QSystemTrayIcon::ActivationReason ar)
|
||||
{
|
||||
switch (ar)
|
||||
{
|
||||
case QSystemTrayIcon::DoubleClick:
|
||||
{
|
||||
runOctopi();
|
||||
break;
|
||||
}
|
||||
case QSystemTrayIcon::Trigger:
|
||||
{
|
||||
if (UnixCommand::isAppRunning("octopi", true)) hideOctopi();
|
||||
}
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* When the users quit this notifier...
|
||||
*/
|
||||
void MainWindow::exitNotifier()
|
||||
{
|
||||
if (UnixCommand::isAppRunning("octopi", true))
|
||||
{
|
||||
QProcess proc;
|
||||
proc.startDetached("octopi -close");
|
||||
}
|
||||
|
||||
close();
|
||||
}
|
||||
49
notifier/octopi-notifier/mainwindow.h
Normal file
49
notifier/octopi-notifier/mainwindow.h
Normal file
@@ -0,0 +1,49 @@
|
||||
#ifndef MAINWINDOW_H
|
||||
#define MAINWINDOW_H
|
||||
|
||||
#include <QString>
|
||||
#include <QMainWindow>
|
||||
#include <QSystemTrayIcon>
|
||||
|
||||
class QIcon;
|
||||
class QMenu;
|
||||
class QAction;
|
||||
class QFileSystemWatcher;
|
||||
class PacmanHelperClient;
|
||||
|
||||
class MainWindow : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit MainWindow(QWidget *parent = 0);
|
||||
|
||||
signals:
|
||||
|
||||
private slots:
|
||||
|
||||
void pacmanHelperTimerTimeout();
|
||||
void afterPacmanHelperSyncDatabase();
|
||||
void execSystemTrayActivated(QSystemTrayIcon::ActivationReason);
|
||||
void refreshAppIcon();
|
||||
void runOctopi();
|
||||
void hideOctopi();
|
||||
void exitNotifier();
|
||||
|
||||
private:
|
||||
|
||||
QAction *m_actionExit;
|
||||
QAction *m_actionOctopi;
|
||||
QIcon m_icon;
|
||||
QStringList *m_outdatedPackageList;
|
||||
QTimer *m_pacmanHelperTimer;
|
||||
QSystemTrayIcon *m_systemTrayIcon;
|
||||
QMenu *m_systemTrayIconMenu;
|
||||
QFileSystemWatcher *m_pacmanDatabaseSystemWatcher;
|
||||
PacmanHelperClient *m_pacmanClient;
|
||||
int m_numberOfOutdatedPackages;
|
||||
|
||||
void initSystemTrayIcon();
|
||||
void sendNotification(const QString &msg);
|
||||
};
|
||||
|
||||
#endif // MAINWINDOW_H
|
||||
41
notifier/octopi-notifier/octopi-notifier.pro
Normal file
41
notifier/octopi-notifier/octopi-notifier.pro
Normal file
@@ -0,0 +1,41 @@
|
||||
#-------------------------------------------------
|
||||
#
|
||||
# Project created by QtCreator 2013-07-20T16:15:14
|
||||
#
|
||||
#-------------------------------------------------
|
||||
|
||||
QT += core gui network dbus
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||
|
||||
CONFIG += qt console warn_on debug
|
||||
|
||||
TARGET = octopi-notifier
|
||||
TEMPLATE = app
|
||||
|
||||
DESTDIR += ../bin
|
||||
OBJECTS_DIR += ../build-octopi-notifier
|
||||
MOC_DIR += ../build-octopi-notifier
|
||||
UI_DIR += ../build-octopi-notifier
|
||||
|
||||
SOURCES += main.cpp \
|
||||
mainwindow.cpp \
|
||||
../../src/unixcommand.cpp \
|
||||
../../src/package.cpp \
|
||||
../../src/wmhelper.cpp \
|
||||
../../src/settingsmanager.cpp \
|
||||
../../src/pacmanhelperclient.cpp \
|
||||
../../src/utils/processwrapper.cpp
|
||||
|
||||
HEADERS += \
|
||||
mainwindow.h \
|
||||
../../src/uihelper.h \
|
||||
../../src/unixcommand.h \
|
||||
../../src/wmhelper.h \
|
||||
../../src/strconstants.h \
|
||||
../../src/package.h \
|
||||
../../src/pacmanhelperclient.h \
|
||||
../../src/utils/processwrapper.h
|
||||
|
||||
RESOURCES += \
|
||||
../../resources.qrc
|
||||
9
octopi-notifier.desktop
Normal file
9
octopi-notifier.desktop
Normal file
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Name=Octopi Notifier
|
||||
Icon=octopi
|
||||
Exec=octopi-notifier
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=GNOME;GTK;System;
|
||||
#NotShowIn=GNOME;XFCE;LXDE;KDE;
|
||||
StartupNotify=true
|
||||
19
octopi.pro
19
octopi.pro
@@ -36,7 +36,9 @@ HEADERS += src/QtSolutions/qtsingleapplication.h \
|
||||
src/treeviewpackagesitemdelegate.h \
|
||||
src/searchbar.h \
|
||||
src/transactiondialog.h \
|
||||
src/pacmanhelperclient.h
|
||||
src/pacmanhelperclient.h \
|
||||
src/globals.h \
|
||||
src/utils/processwrapper.h
|
||||
|
||||
SOURCES += src/QtSolutions/qtsingleapplication.cpp \
|
||||
src/QtSolutions/qtlocalpeer.cpp \
|
||||
@@ -63,7 +65,9 @@ SOURCES += src/QtSolutions/qtsingleapplication.cpp \
|
||||
src/transactiondialog.cpp \
|
||||
src/mainwindow_news.cpp \
|
||||
src/mainwindow_refresh.cpp \
|
||||
src/pacmanhelperclient.cpp
|
||||
src/pacmanhelperclient.cpp \
|
||||
src/globals.cpp \
|
||||
src/utils/processwrapper.cpp
|
||||
|
||||
FORMS += ui/mainwindow.ui \
|
||||
ui/transactiondialog.ui
|
||||
@@ -89,4 +93,13 @@ TRANSLATIONS += resources/translations/octopi_pt_BR.ts \
|
||||
resources/translations/octopi_pl.ts \
|
||||
resources/translations/octopi_id.ts \
|
||||
resources/translations/octopi_da.ts \
|
||||
resources/translations/octopi_cs.ts
|
||||
resources/translations/octopi_cs.ts \
|
||||
resources/translations/octopi_he.ts \
|
||||
resources/translations/octopi_lt.ts \
|
||||
resources/translations/octopi_nb.ts \
|
||||
resources/translations/octopi_sr@latin.ts \
|
||||
resources/translations/octopi_nl.ts \
|
||||
resources/translations/octopi_ru.ts \
|
||||
resources/translations/octopi_uz.ts \
|
||||
resources/translations/octopi_fi.ts \
|
||||
resources/translations/octopi_vi.ts
|
||||
|
||||
@@ -1,12 +1,5 @@
|
||||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>resources/images/octopi_red.png</file>
|
||||
<file>resources/images/octopi_yellow.png</file>
|
||||
<file>resources/images/esf-search.png</file>
|
||||
<file>resources/images/esf-clear-active.png</file>
|
||||
<file>resources/images/esf-clear-hover.png</file>
|
||||
<file>resources/images/esf-border.png</file>
|
||||
<file>resources/images/esf-clear.png</file>
|
||||
<file>resources/styles/branch-closed_BW.png</file>
|
||||
<file>resources/styles/branch-closed.png</file>
|
||||
<file>resources/styles/branch-end.png</file>
|
||||
@@ -14,6 +7,13 @@
|
||||
<file>resources/styles/branch-open_BW.png</file>
|
||||
<file>resources/styles/branch-open.png</file>
|
||||
<file>resources/styles/vline.png</file>
|
||||
<file>resources/images/octopi_red.png</file>
|
||||
<file>resources/images/octopi_yellow.png</file>
|
||||
<file>resources/images/esf-search.png</file>
|
||||
<file>resources/images/esf-clear-active.png</file>
|
||||
<file>resources/images/esf-clear-hover.png</file>
|
||||
<file>resources/images/esf-border.png</file>
|
||||
<file>resources/images/esf-clear.png</file>
|
||||
<file>resources/images/installed.png</file>
|
||||
<file>resources/images/noninstalled.png</file>
|
||||
<file>resources/images/toinstall.png</file>
|
||||
@@ -36,6 +36,7 @@
|
||||
<file>resources/images/install_item.png</file>
|
||||
<file>resources/images/remove_item.png</file>
|
||||
<file>resources/images/find.png</file>
|
||||
<file>resources/images/rss.png</file>
|
||||
<file>resources/translations/octopi_pt_BR.qm</file>
|
||||
<file>resources/translations/octopi_fr_FR.qm</file>
|
||||
<file>resources/translations/octopi_es_ES.qm</file>
|
||||
@@ -47,10 +48,18 @@
|
||||
<file>resources/translations/octopi_ar.qm</file>
|
||||
<file>resources/translations/octopi_ca.qm</file>
|
||||
<file>resources/translations/octopi_bg.qm</file>
|
||||
<file>resources/images/rss.png</file>
|
||||
<file>resources/translations/octopi_pl.qm</file>
|
||||
<file>resources/translations/octopi_id.qm</file>
|
||||
<file>resources/translations/octopi_da.qm</file>
|
||||
<file>resources/translations/octopi_cs.qm</file>
|
||||
<file>resources/translations/octopi_he.qm</file>
|
||||
<file>resources/translations/octopi_lt.qm</file>
|
||||
<file>resources/translations/octopi_nb.qm</file>
|
||||
<file>resources/translations/octopi_sr@latin.qm</file>
|
||||
<file>resources/translations/octopi_nl.qm</file>
|
||||
<file>resources/translations/octopi_ru.qm</file>
|
||||
<file>resources/translations/octopi_uz.qm</file>
|
||||
<file>resources/translations/octopi_fi.qm</file>
|
||||
<file>resources/translations/octopi_vi.qm</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
<h2>Octopi</h2>
|
||||
<h3><p>A Qt4-based Pacman frontend,
|
||||
licensed under the terms of <a style="color:'#4BC413'" href="http://www.gnu.org/licenses/gpl-2.0.html">GPL v2</a>.</p></h3>
|
||||
<h4><p>For more information, visit:
|
||||
<a style="color:'#4BC413'" href="http://octopiproject.wordpress.com">http://octopiproject.wordpress.com</a>.</p></h4>
|
||||
<br>
|
||||
Package classification:
|
||||
<ul type="square">
|
||||
<li><img height="16" width="16" src=":/resources/images/installed.png"> An installed package</li>
|
||||
<li><img height="16" width="16" src=":/resources/images/unrequired.png"> An installed package (not required by others)</li>
|
||||
<li><img height="16" width="16" src=":/resources/images/foreign.png"> A foreign package, installed from AUR</li>
|
||||
<li><img height="16" width="16" src=":/resources/images/noninstalled.png"> A non installed package</li>
|
||||
<li><img height="16" width="16" src=":/resources/images/outdated.png"> An outdated package</li>
|
||||
</ul>
|
||||
Basic usage help:
|
||||
<ul>
|
||||
<li>Position the mouse over a package to see its description</li>
|
||||
<li>Double click an installed package to see its contents</li>
|
||||
<li>Right click package to install/reinstall or remove it</li>
|
||||
</ul>
|
||||
Alt+key sequences:
|
||||
<ul>
|
||||
<li>Alt+1 to swtich to "Info" tab</li>
|
||||
<li>Alt+2 to swtich to "Files" tab</li>
|
||||
<li>Alt+3 to swtich to "Transaction" tab</li>
|
||||
<li>Alt+4 to swtich to "Output" tab</li>
|
||||
<li>Alt+5 to swtich to "News" tab</li>
|
||||
<li>Alt+6 or "F1" to show this help page</li>
|
||||
</ul>
|
||||
Control+key sequences:
|
||||
<ul>
|
||||
<li>Ctrl+D or "File/Sync database" to sync the local database with latest remote changes (pacman -Sy)</li>
|
||||
<li>Ctrl+U or "File/System upgrade" to make a full system upgrade (pacman -Su)</li>
|
||||
<li>Ctrl+L to find a package in the package list</li>
|
||||
<li>Ctrl+N or "View/Non installed" to show/hide non installed packages</li>
|
||||
<li>Ctrl+M or "Transaction/Commit" to start installation/removal of selected packages</li>
|
||||
<li>Ctrl+B or "Transaction/Rollback" to clear the selection of to be removed/installed packages</li>
|
||||
<li>Ctrl+G or "File/Get latest distro news" to retrieve the latest RSS based distro news</li>
|
||||
<li>Ctrl+Q or "File/Exit" to exit the application</li>
|
||||
</ul>
|
||||
Control+shift+key sequences:
|
||||
<ul>
|
||||
<li>Ctrl+Shift+C to clean local packages cache (pacman -Sc)</li>
|
||||
<li>Ctrl+Shift+G to display all package groups</li>
|
||||
</ul>
|
||||
F+key sequences:
|
||||
<ul>
|
||||
<li>F1 to show this help page</li>
|
||||
<li>F4 to open a Terminal within the selected directory at Files tab</li>
|
||||
<li>F6 to open a File Manager whitin the selected directory at Files tab</li>
|
||||
<li>F10 to maximize/demaximize package list view</li>
|
||||
<li>F12 to maximize/demaximize Tab's view</li>
|
||||
</ul>
|
||||
<p>
|
||||
<br>
|
||||
<i>Alexandre Albuquerque Arnt - Author</i>
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -181,6 +181,14 @@
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Инсталиране на налични пакети…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>За информация, посетете:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Qt4-зазиран Pacman интерфейс,</translation>
|
||||
@@ -189,10 +197,6 @@
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>Лицензиран според правилата на</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>За информация, посетете:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Категория на пакета:</translation>
|
||||
@@ -341,7 +345,7 @@
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi help usage:</source>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Octopi препоръчва:</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -381,8 +385,8 @@
|
||||
<translation>Тази Linux дистрибуция е несъвместима с Octopi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems anavailable!</source>
|
||||
<translation>Изглежда нямате Интернет!</translation>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Изглежда нямате интернет!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display all groups</source>
|
||||
@@ -728,6 +732,10 @@
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Тези промени искат рестартиране на приложението!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Изберете пакети за инсталиране</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
|
||||
Binary file not shown.
@@ -181,6 +181,14 @@
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Instal·la un paquet local...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Per més informació, visita:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Una interficie de Pacman basada en QT4,</translation>
|
||||
@@ -189,10 +197,6 @@
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>Llicenciat sote els termes de</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Per més informació, visita:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Classificació de paquets:</translation>
|
||||
@@ -341,7 +345,7 @@
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi help usage:</source>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Ajuda d'ús per Octopi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -381,8 +385,8 @@
|
||||
<translation>Aquesta distro Linux sembla incompatible amb Octopi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems anavailable!</source>
|
||||
<translation>Internet sembla no estar disponible!</translation>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Internet sembla no estar disponible</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display all groups</source>
|
||||
@@ -728,6 +732,10 @@
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Aquests canvis requereixen reiniciar l'aplicació per tenir efecte!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Sel·lecciona els paquets que vols instal·lar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
|
||||
Binary file not shown.
@@ -181,6 +181,14 @@
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Nainstalovat místní balíček...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Další informace najdete na:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Na Qt4 založené rozhraní pro Pacman,</translation>
|
||||
@@ -189,10 +197,6 @@
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>licencováno za podmínek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Další informace najdete na:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Zařazení balíčku:</translation>
|
||||
@@ -341,7 +345,7 @@
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi help usage:</source>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Nápověda k používání Octopi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -381,7 +385,7 @@
|
||||
<translation>Zdá se, že linuxová distribuce není slučitelná s Octopi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems anavailable!</source>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Zdá se, že internet není dostupný!</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -728,6 +732,10 @@
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Aby se tyto změny projevily, je potřeba program spustit znovu!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Vyberte balíček, jejž chcete nainstalovat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
|
||||
Binary file not shown.
@@ -181,6 +181,14 @@
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Installer lokal pakke...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>For mere information, besøg:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>En Qt4-baseret Pacman frontend,</translation>
|
||||
@@ -189,10 +197,6 @@
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>licentieret under betingelserne af</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>For mere information, besøg:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Pakkeklassifikation:</translation>
|
||||
@@ -341,7 +345,7 @@
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi help usage:</source>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Octopi hjælpesprogbrug:</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -381,7 +385,7 @@
|
||||
<translation>Denne Linux distro ser ud til at være uforenelig med Octopi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems anavailable!</source>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Internet virker virker åbenbart ikke!</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -732,6 +736,10 @@ Bekræft?</translation>
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Disse ændringer gør det nødvendigt at genstarte programmet for at det kan træde ikraft!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Vælg pakkerne du ønsker at installere</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
|
||||
Binary file not shown.
@@ -181,6 +181,14 @@
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Installiere lokales Paket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Für mehr Informationen besuchen Sie:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Ein Qt4-basiertes Frontend für Pacman,</translation>
|
||||
@@ -189,10 +197,6 @@
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>lizensiert unter den Bedingungen von</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Für mehr Informationen besuchen Sie:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Einordnung des Paketes:</translation>
|
||||
@@ -341,8 +345,8 @@
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi help usage:</source>
|
||||
<translation>Benutzung der Octopi-Hilfe:</translation>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Benutzung der Octopi-Hilfe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>show application version.</source>
|
||||
@@ -381,7 +385,7 @@
|
||||
<translation>Diese Linux-Distribution scheint mit Octopi nicht kompatibel zu sein !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems anavailable!</source>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Internet scheint nicht verfügbar zu sein !</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -728,6 +732,10 @@
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Diese Änderungen erfordern zum Wirksamwerden einen Neustart des Computers !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Wähle die zu installierenden Pakete aus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
|
||||
Binary file not shown.
@@ -181,6 +181,14 @@
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Εγκατάσταση πακέτου...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Για περισσότερες πληροφορίες, επισκεφτείτε:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Ένα Pacman frontend βασισμένο σε Qt4</translation>
|
||||
@@ -189,10 +197,6 @@
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>άδεια υπό τους όρους των </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Για περισσότερες πληροφορίες, επισκεφτείτε:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Κατηγοριοποίηση πακέτου:</translation>
|
||||
@@ -341,7 +345,7 @@
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi help usage:</source>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Βοήθεια χρήσης Octopi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -381,7 +385,7 @@
|
||||
<translation>Αυτή η διανομή Linux φαίνεται να μην είναι συμβατή με το Octopi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems anavailable!</source>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Δεν φαίνετε να υπάρχει σύνδεση στο διαδίκτυο!</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -728,6 +732,10 @@
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Η εφαρμογή χρειάζετε επανεκκίνηση για να εφαρμοστουν οι αλλαγες!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Επιλέξτε τα πακετα που θέλετε να εγκαταστήσετε</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
|
||||
Binary file not shown.
@@ -181,6 +181,14 @@
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Instalar paquete local</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Para más información, visite:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Una interfaz basada en Qt4 Pacman,</translation>
|
||||
@@ -189,10 +197,6 @@
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>licenciado bajo los términos de</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Para más información, visite:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Clasificación del paquete:</translation>
|
||||
@@ -341,7 +345,7 @@
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi help usage:</source>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Ayuda para usar Octopi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -381,7 +385,7 @@
|
||||
<translation>Esta distribución Linux parece ser incompatible con Octopi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems anavailable!</source>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Internet parece no disponible!</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -728,6 +732,10 @@
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Estos cambios requieren el reinicio de la aplicación para que tengan efecto!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Selecciona los paquetes que quieres instalar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
|
||||
BIN
resources/translations/octopi_fi.qm
Normal file
BIN
resources/translations/octopi_fi.qm
Normal file
Binary file not shown.
796
resources/translations/octopi_fi.ts
Normal file
796
resources/translations/octopi_fi.ts
Normal file
@@ -0,0 +1,796 @@
|
||||
<?xml version="1.0" ?><!DOCTYPE TS><TS language="fi" version="2.0">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<source>Octopi</source>
|
||||
<translation>Octopi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation>Tietoja</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files</source>
|
||||
<translation>Tiedostot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction</source>
|
||||
<translation>Toimenpide</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Ulostulo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Help</source>
|
||||
<translation>Apua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View</source>
|
||||
<translation>Näytä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File</source>
|
||||
<translation>Tiedosto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search</source>
|
||||
<translation>Etsi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>Tietoja</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non installed</source>
|
||||
<translation>Asentamattomat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+N</source>
|
||||
<translation>Ctrl+N</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Commit</source>
|
||||
<translation>Toteuta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+M</source>
|
||||
<translation>Ctrl+M</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rollback</source>
|
||||
<translation>Peruuta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+B</source>
|
||||
<translation>Ctrl+B</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sync database</source>
|
||||
<translation>Synkronoi tietokanta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+D</source>
|
||||
<translation>Ctrl+D</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exit</source>
|
||||
<translation>Lopeta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q</source>
|
||||
<translation>Ctrl+Q</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>System upgrade</source>
|
||||
<translation>Järjestelmäpäivitys</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+U</source>
|
||||
<translation>Ctrl+U</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install</source>
|
||||
<translation>Asenna</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove</source>
|
||||
<translation>Poista</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outdated packages</source>
|
||||
<translation>Vanhentuneet paketit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Get latest distro news</source>
|
||||
<translation>Hae viimeisimmät jakelu-uutiset</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+G</source>
|
||||
<translation>Ctrl+G</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove group</source>
|
||||
<translation>Poista ryhmä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install group</source>
|
||||
<translation>Asenna ryhmä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse item</source>
|
||||
<translation>Supista kohde</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand item</source>
|
||||
<translation>Laajenna kohde</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse all items</source>
|
||||
<translation>Laajenna kaikki</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand all items</source>
|
||||
<translation>Supista kaikki</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open file</source>
|
||||
<translation>Avaa tiedosto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit file</source>
|
||||
<translation>Muokkaa tiedostoa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open directory</source>
|
||||
<translation>Avaa kansio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open terminal here</source>
|
||||
<translation>Avaa päätteessä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove item</source>
|
||||
<translation>Poista kohde listalta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove items</source>
|
||||
<translation>Poista kohteet listalta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>By description</source>
|
||||
<translation>Kuvauksesta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>By name</source>
|
||||
<translation>Nimestä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find a file</source>
|
||||
<translation>Etsi tiedosto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open root terminal</source>
|
||||
<translation>Avaa root-pääte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Usage</source>
|
||||
<translation>Käyttö</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Asenna paikallinen paketti...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Saadaksesi lisätietoja, käy osoitteessa:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Qt4-pohjainen Pacman-käyttöliittymä, </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>lisenssi: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Paketin luokittelu:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An installed package</source>
|
||||
<translation>Asennettu paketti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An installed package (not required by others)</source>
|
||||
<translation>Asennettu paketti (ei muiden pakettien vaatima)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A foreign package, installed from</source>
|
||||
<translation>Vieras paketti, asennettu kohteesta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A non installed package</source>
|
||||
<translation>Asentamaton paketti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An outdated package</source>
|
||||
<translation>Vanhentunut paketti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Basic usage help:</source>
|
||||
<translation>Ohje peruskäyttöön:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Position the mouse over a package to see its description</source>
|
||||
<translation>Aseta kursori paketin yläpuolelle nähdäksesi sen kuvauksen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Double click an installed package to see its contents</source>
|
||||
<translation>Tuplaklikkaa pakettia nähdäksesi sen sisällön</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right click package to install/reinstall or remove it</source>
|
||||
<translation>Klikkaa pakettia hiiren oikealla (uudelleen)asentaaksesi tai poistaaksesi sen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+key sequences:</source>
|
||||
<translation>Alt+näppäin-yhdistelmät:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+1 to switch to 'Info' tab</source>
|
||||
<translation>Alt+1 vaihtaa Tiedot-välilehdelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+2 to switch to 'Files' tab</source>
|
||||
<translation>Alt+2 vaihtaa Tiedostot-välilehdelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+3 to switch to 'Transaction' tab</source>
|
||||
<translation>Alt+3 vaihtaa Toimenpide-välilehdelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+4 to switch to 'Output' tab</source>
|
||||
<translation>Alt+4 vaihtaa Ulostulo-välilehdelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+5 to switch to 'News' tab</source>
|
||||
<translation>Alt+5 vaihtaa Uutiset-välilehdelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+6 or 'F1' to show this help page</source>
|
||||
<translation>Alt+6 tai F1 näyttää tämän opastussivun</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Control+key sequences:</source>
|
||||
<translation>Ctrl+näppäin-yhdistelmät:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+D or 'File/Sync database' to sync the local database with latest remote changes (pacman -Sy)</source>
|
||||
<translation>Ctrl+D tai 'Tiedosto/Synkronoi tietokanta' synkronoidaksesi paikallisen tietokannan viimeisimpiin muutoksiin (pacman -Sy)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+U or 'File/System upgrade' to make a full system upgrade (pacman -Su)</source>
|
||||
<translation>Ctrl+U tai 'Tiedosto/Järjestelmäpäivitys' tehdäksesi täyden järjestelmäpäivityksen (pacman -Su)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+L to find a package in the package list</source>
|
||||
<translation>Ctrl+L etsiäksesi pakettia pakettilistalta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+F to search for text inside tab Files, News and Usage</source>
|
||||
<translation>Ctrl+F hakeaksesi tekstiä Tiedostot-, Uutiset- ja Käyttö-välilehdiltä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+N or 'View/Non installed' to show/hide non installed packages</source>
|
||||
<translation>Ctrl+N tai 'Näytä/Asentamattomat' näyttääksesi/piilottaaksesi asennetut paketit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+M or 'Transaction/Commit' to start installation/removal of selected packages</source>
|
||||
<translation>Ctrl+M tai 'Toimenpide/Toteuta' aloittaaksesi valittujen pakettien asennuksen/poiston</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+B or 'Transaction/Rollback' to clear the selection of to be removed/installed packages</source>
|
||||
<translation>Ctrl+B tai 'Toimenpide/Palauta' tyhjentääkesi asennettavien/poistettavien pakettien luettelot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+G or 'File/Get latest distro news' to retrieve the latest RSS based distro news</source>
|
||||
<translation>Ctrl+G tai 'Tiedosto/Hae viimeisimmät jakelu-uutiset' hakeaksesi viimeisimmät RSS-pohjaiset jakelu-uutiset</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q or 'File/Exit' to exit the application</source>
|
||||
<translation>Ctrl+Q tai 'Tiedosto/Lopeta' lopettaaksesi ohjelman</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Control+shift+key sequences:</source>
|
||||
<translation>Control+Shift+näppäin-yhdistelmät:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Shift+C to clean local packages cache (pacman -Sc)</source>
|
||||
<translation>Ctrl+Shift+C siistiäksesi pakettivaraston (pacman -Sc)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Shift+G to display all package groups</source>
|
||||
<translation>Ctrl+Shift+G nähdäksesi kaikki pakettiryhmät</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F+key sequences:</source>
|
||||
<translation>F-näppäimet:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F1 to show this help page</source>
|
||||
<translation>F1 nähdäksesi tämän opastussivun</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F4 to open a Terminal whitin the selected directory at Files tab</source>
|
||||
<translation>F4 avataksesi Tiedostot-välilehdellä valitun kansion päätteessä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F6 to open a File Manager whitin the selected directory at Files tab</source>
|
||||
<translation>F6 avataksesi Tiedostot-välilehdellä valitun kansion tiedostonhallinnassa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F10 to maximize/demaximize package list view</source>
|
||||
<translation>F10 maksimoidaksesi/palauttaaksesi pakettinäkymän</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F12 to maximize/demaximize Tab's view</source>
|
||||
<translation>F12 maksimoidaksesi/palauttaaksesi välilehtinäkymän</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Octopi-avun käyttö:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>show application version.</source>
|
||||
<translation>näytä ohjelman versio.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use a different Qt4 style (ex: -style gtk).</source>
|
||||
<translation>käytä erilaista Qt4-tyyliä (esim: -style gtk).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use a different remove command (ex: -removecmd R).</source>
|
||||
<translation>käytä erilaista poistokomentoa (esim: -removecmd R).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>force a system upgrade at startup.</source>
|
||||
<translation>pakota järjestelmäpäivitys käynnistyksen yhteydessä.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Arch Linux news</source>
|
||||
<translation>Arch Linux uutiset</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chakra news</source>
|
||||
<translation>Chakra uutiset</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Manjaro Linux news</source>
|
||||
<translation>Manjaro Linux uutiset</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No news could be found! Press Ctrl+G to download the latest news.</source>
|
||||
<translation>Uutisia ei löytynyt! Paina Ctrl+G ladataksesi viimeisimmät uutiset.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This Linux distro seems to be incompatible with Octopi!</source>
|
||||
<translation>Tämä Linux-jakelu vaikuttaa olevan yhteensopimaton Octopin kanssa!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Internetiin ei saada yhteyttä!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display all groups</source>
|
||||
<translation>Näytä kaikki ryhmät</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Usage</source>
|
||||
<translation>Käyttö</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>Tietoja</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation>Nimi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version</source>
|
||||
<translation>Versio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outdated version</source>
|
||||
<translation>Vanhentunut versio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available version</source>
|
||||
<translation>Saatavilla oleva versio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No description available.</source>
|
||||
<translation>Kuvausta ei saatavilla.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL</source>
|
||||
<translation>URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repository</source>
|
||||
<translation>Pakettilähde</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Licenses</source>
|
||||
<translation>Lisenssit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group</source>
|
||||
<translation>Ryhmät</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Groups</source>
|
||||
<translation>Ryhmät</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Provides</source>
|
||||
<translation>Tarjoaa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Depends On</source>
|
||||
<translation>Riippuvuudet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Optional Deps</source>
|
||||
<translation>Valinnaiset riippuvuudet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicts With</source>
|
||||
<translation>Ristiriidat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Replaces</source>
|
||||
<translation>Korvaa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Download Size</source>
|
||||
<translation>Latauksen koko</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installed Size</source>
|
||||
<translation>Asennuksen koko</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packager</source>
|
||||
<translation>Pakkaaja</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package</source>
|
||||
<translation>Paketti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packages</source>
|
||||
<translation>Paketit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Architecture</source>
|
||||
<translation>Arkkitehtuuri</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Date</source>
|
||||
<translation>Koontipäivämäärä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description</source>
|
||||
<translation>Kuvaus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Attention</source>
|
||||
<translation>Huomio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>automatic</source>
|
||||
<translation>automaattinen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>Salasana</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation>Tiedot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files</source>
|
||||
<translation>Tiedostot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction</source>
|
||||
<translation>Toimenpide</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Ulostulo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>News</source>
|
||||
<translation>Uutiset</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Contents of "%1"</source>
|
||||
<translation>Paketin %1 sisältö</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find</source>
|
||||
<translation>Hae</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Tyhjennä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> (outdated installed version is %1)</source>
|
||||
<translation> (vanhentunut, asennettu versio on %1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Building package list...</source>
|
||||
<translation>Kootaan pakettiluetteloa...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Searching for %1 latest news...</source>
|
||||
<translation>Etsitään uusimpia %1 uutisia...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is one outdated package in your system:</source>
|
||||
<translation>Järjestelmässä on yksi vanhentunut paketti:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are %1 outdated packages in your system:</source>
|
||||
<translation>Järjestelmässä on %1 vanhentunutta pakettia:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(version %1 is available)</source>
|
||||
<translation>(versio %1 on saatavilla)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 (%2) packages</source>
|
||||
<translation>%1 (%2) pakettia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 installed</source>
|
||||
<translation>%1 asennettu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 outdated</source>
|
||||
<translation>%1 vanhentunut</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 available</source>
|
||||
<translation>%1 saatavilla</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cleaning package cache...</source>
|
||||
<translation>Siistitään pakettivarastoa...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing</source>
|
||||
<translation>Synkronoidaan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Press any key to continue...</source>
|
||||
<translation>Paina mitä tahansa näppäintä jatkaaksesi...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing databases...</source>
|
||||
<translation>Synkronoidaan tietokantoja...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>is up to date</source>
|
||||
<translation>on ajan tasalla</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting full system upgrade...</source>
|
||||
<translation>Aloitetaan täysi järjestelmäpäivitys...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installing selected packages...</source>
|
||||
<translation>Asennetaan valittuja paketteja...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Removing selected packages...</source>
|
||||
<translation>Poistetaan valittuja paketteja...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Removing/installing selected packages...</source>
|
||||
<translation>Poistetaan/asennetaan valittuja paketteja...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Running command in terminal...</source>
|
||||
<translation>Suoritetaan komentoa terminaalissa...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished OK!</source>
|
||||
<translation>Komento suoritettiin onnistuneesti!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished with errors!</source>
|
||||
<translation>Komento päättyi virheisiin!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Retrieving %1</source>
|
||||
<translation>Noudetaan %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total download size: %1 KB</source>
|
||||
<translation>Latauksen koko yhteensä: %1 KB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following target needs to be retrieved</source>
|
||||
<translation>Seuraava kohde täytyy noutaa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following target will be removed</source>
|
||||
<translation>Seuraava kohde tullaan poistamaan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 targets need to be retrieved</source>
|
||||
<translation>Seuraavat %1 kohdetta täytyy noutaa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 targets will be removed</source>
|
||||
<translation>Seuraavat %1 kohdetta tullaan poistamaan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are forbidden packages in the removal list!</source>
|
||||
<translation>Poistolistalla on kiellettyjä paketteja!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no new updates available!</source>
|
||||
<translation>Uusia päivityksiä ei ole saatavilla!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is an update available!</source>
|
||||
<translation>Päivitys on saatavilla!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are %1 updates available!</source>
|
||||
<translation>%1 päivitystä on saatavilla!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm?</source>
|
||||
<translation>Hyväksytkö?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning!!!</source>
|
||||
<translation>Varoitus!!!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirmation</source>
|
||||
<translation>Varmennus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There has been a transaction error!</source>
|
||||
<translation>On sattunut toimenpidevirhe!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to execute this transaction in a Terminal?</source>
|
||||
<translation>Haluatko suorittaa tämän toimenpiteen Päätteessä?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to clean the package cache?</source>
|
||||
<translation>Oletko varma, että haluat tyhjentää pakettivaraston?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to rollback the transaction?</source>
|
||||
<translation>Oletko varma, että haluat peruuttaa toimenpiteen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, enter the administrator's password</source>
|
||||
<translation>Syötä järjestelmänvalvojan salasana</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no means to get administrator's credentials.</source>
|
||||
<translation>Ei ole keinoja saada järjestelmänvalvojan oikeuksia.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You'll need to install a su frontend like gksu or kdesu.</source>
|
||||
<translation>Sinun täytyy asentaa su-käyttöliittymä kuten gksu tai kdesu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You can not run Octopi with administrator's credentials.</source>
|
||||
<translation>Octopia ei voi suorittaa järjestelmänvalvojan oikeuksilla.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is a pending transaction</source>
|
||||
<translation>Toimenpide on vielä tekemättä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to quit?</source>
|
||||
<translation>Haluatko varmasti poistua?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Executing command</source>
|
||||
<translation>Suoritetaan komentoa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run in terminal</source>
|
||||
<translation>Suorita päätteessä</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Needs application restart to take effect</source>
|
||||
<translation>Vaatii ohjelman uudelleenkäynnistyksen tullakseen voimaan!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Nämä muutokset vaativat ohjelman uudelleenkäynnistyksen tullakseen voimaan!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Valitse paketit, jotka haluat asentaa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
<translation>Tämä tiedosto ei näytä olevan yksinkertaista tekstiä.\n
|
||||
Haluatko varmasti avata sen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To be installed</source>
|
||||
<translation>Asennettavat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To be removed</source>
|
||||
<translation>Poistettavat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>remove</source>
|
||||
<translation>poista</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>install</source>
|
||||
<translation>asenna</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove item</source>
|
||||
<translation>Poista kohde listalta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove items</source>
|
||||
<translation>Poista kohteet listalta</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SearchBar</name>
|
||||
<message>
|
||||
<source>Previous</source>
|
||||
<translation>Edellinen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Next</source>
|
||||
<translation>Seuraava</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Sulje</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDialog</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation>Muoto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run in terminal</source>
|
||||
<translation>Suorita päätteessä</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
Binary file not shown.
@@ -181,6 +181,14 @@
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Installer un paquet local...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Pour plus d'informations, visitez :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Une interface en Qt4 pour Pacman,</translation>
|
||||
@@ -189,10 +197,6 @@
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>publié sous la licence</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Pour plus d'informations, visitez :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Classement des paquets :</translation>
|
||||
@@ -341,7 +345,7 @@
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi help usage:</source>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Aide pour l'utilisation d'Octopi :</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -381,7 +385,7 @@
|
||||
<translation>Cette distribution Linux semble incompatible avec Octopi !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems anavailable!</source>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Internet semble indisponible !</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -728,6 +732,10 @@
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Ces changements nécessitent un redémarrage de l'application !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Sélectionnez les paquets que vous voulez installer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
|
||||
BIN
resources/translations/octopi_he.qm
Normal file
BIN
resources/translations/octopi_he.qm
Normal file
Binary file not shown.
796
resources/translations/octopi_he.ts
Normal file
796
resources/translations/octopi_he.ts
Normal file
@@ -0,0 +1,796 @@
|
||||
<?xml version="1.0" ?><!DOCTYPE TS><TS language="he" version="2.0">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<source>Octopi</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation>מידע</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files</source>
|
||||
<translation>קבצים</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction</source>
|
||||
<translation>טרנזקציה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>פלט</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Help</source>
|
||||
<translation>עזרה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View</source>
|
||||
<translation>תצוגה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File</source>
|
||||
<translation>קובץ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search</source>
|
||||
<translation>חיפוש</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>אודות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non installed</source>
|
||||
<translation>לא מותקנות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+N</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Commit</source>
|
||||
<translation>בצע</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+M</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rollback</source>
|
||||
<translation>נסיגה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+B</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sync database</source>
|
||||
<translation>סנכרן מסד נתונים</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+D</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exit</source>
|
||||
<translation>יציאה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>System upgrade</source>
|
||||
<translation>שדרוג מערכת</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+U</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install</source>
|
||||
<translation>התקן</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove</source>
|
||||
<translation>הסר</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outdated packages</source>
|
||||
<translation>חבילות מיושנות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Get latest distro news</source>
|
||||
<translation>השג חדשות הפצה אחרונות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+G</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove group</source>
|
||||
<translation>הסר קבוצה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install group</source>
|
||||
<translation>התקן קבוצה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse item</source>
|
||||
<translation>צמצם פריט</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand item</source>
|
||||
<translation>הרחב פריט</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse all items</source>
|
||||
<translation>צמצם את כל הפריטים</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand all items</source>
|
||||
<translation>הרחב את כל הפריטים</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open file</source>
|
||||
<translation>פתח קובץ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit file</source>
|
||||
<translation>ערוך קובץ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open directory</source>
|
||||
<translation>פתח ספרייה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open terminal here</source>
|
||||
<translation>פתח מסוף כאן</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove item</source>
|
||||
<translation>הסר פריט</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove items</source>
|
||||
<translation>הסר פריטים</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>By description</source>
|
||||
<translation>לפי תיאור</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>By name</source>
|
||||
<translation>לפי שם</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find a file</source>
|
||||
<translation>מצא קובץ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open root terminal</source>
|
||||
<translation>פתח מסוף שורש</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Usage</source>
|
||||
<translation>שימוש</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>התקנת חבילה מקומית...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>למידע נוסף, בקר:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>מגשר חזיתי Pacman מבוסס Qt4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>רשויה תחת התנאים של</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>סיווג חבילה:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An installed package</source>
|
||||
<translation>חבילה מותקנת</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An installed package (not required by others)</source>
|
||||
<translation>חבילה מותקנת (לא מחויבת על ידי אחרות)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A foreign package, installed from</source>
|
||||
<translation>חבילה זרה, הותקנה מן</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A non installed package</source>
|
||||
<translation>חבילה לא מותקנת</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An outdated package</source>
|
||||
<translation>חבילה מיושנת</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Basic usage help:</source>
|
||||
<translation>עזרת שימוש בסיסית:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Position the mouse over a package to see its description</source>
|
||||
<translation>מקם את העכבר על חבילה כדי לראות את תיאורה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Double click an installed package to see its contents</source>
|
||||
<translation>הקשה כפולה על חבילה מותקנת כדי לראות את תכולותיה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right click package to install/reinstall or remove it</source>
|
||||
<translation>הקשה ימנית על חבילה כדי להתקין/להתקין שוב או להסיר אותה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+key sequences:</source>
|
||||
<translation>רצפי Alt+מקש:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+1 to switch to 'Info' tab</source>
|
||||
<translation>Alt+1 כדי להחליף אל כרטיסיית 'מידע'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+2 to switch to 'Files' tab</source>
|
||||
<translation>Alt+2 כדי להחליף אל כרטיסיית 'קבצים'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+3 to switch to 'Transaction' tab</source>
|
||||
<translation>Alt+3 כדי להחליף אל כרטיסיית 'העברה'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+4 to switch to 'Output' tab</source>
|
||||
<translation>Alt+4 כדי להחליף אל כרטיסיית 'פלט'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+5 to switch to 'News' tab</source>
|
||||
<translation>Alt+5 כדי להחליף אל כרטיסיית 'חדשות'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+6 or 'F1' to show this help page</source>
|
||||
<translation>Alt+6 או 'F1' כדי להציג את עמוד עזרה זה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Control+key sequences:</source>
|
||||
<translation>רצפי Control+מקש:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+D or 'File/Sync database' to sync the local database with latest remote changes (pacman -Sy)</source>
|
||||
<translation>Ctrl+D או 'קובץ/סנכרן מסד נתונים' כדי לסנכרן את מסד הנתונים המקומי עם השינויים המרוחקים האחרונים (pacman -Sy)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+U or 'File/System upgrade' to make a full system upgrade (pacman -Su)</source>
|
||||
<translation>Ctrl+U או 'קובץ/שדרוג מערכת' כדי לקיים שדרוג מערכת מלא (pacman -Su)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+L to find a package in the package list</source>
|
||||
<translation>Ctrl+L כדי למצוא חבילה בתוך רשימת חבילה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+F to search for text inside tab Files, News and Usage</source>
|
||||
<translation>Ctrl+F כדי לחפש עבור תמליל בתוך כרטיסיית קבצים, חדשות וגם שימוש</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+N or 'View/Non installed' to show/hide non installed packages</source>
|
||||
<translation>Ctrl+N או 'תצוגה/לא מותקנות' כדי להציג/להסתיר חבילות לא מותקנות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+M or 'Transaction/Commit' to start installation/removal of selected packages</source>
|
||||
<translation>Ctrl+M או 'העברה/בצע' כדי להתחיל התקנה/הסרה של חבילות נבחרות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+B or 'Transaction/Rollback' to clear the selection of to be removed/installed packages</source>
|
||||
<translation>Ctrl+B או 'טרנזקציה/נסיגה' כדי לטהר את ההיבחרות של חבילות להסרה/להתקנה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+G or 'File/Get latest distro news' to retrieve the latest RSS based distro news</source>
|
||||
<translation>Ctrl+G או 'קובץ/השג חדשות הפצה אחרונות' כדי לאחזר חדשות הפצה אחרונות מבוססות RSS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q or 'File/Exit' to exit the application</source>
|
||||
<translation>Ctrl+Q או 'קובץ/יציאה' כדי לצאת מן היישום</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Control+shift+key sequences:</source>
|
||||
<translation>רצפי Control+shift+מקש:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Shift+C to clean local packages cache (pacman -Sc)</source>
|
||||
<translation>Ctrl+Shift+C כדי לנקות מטמון חבילות מקומי (pacman -Sc)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Shift+G to display all package groups</source>
|
||||
<translation>Ctrl+Shift+G כדי להציג כל קבוצת חבילה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F+key sequences:</source>
|
||||
<translation>רצפי F+מקש:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F1 to show this help page</source>
|
||||
<translation>F1 כדי להציג את עמוד עזרה זה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F4 to open a Terminal whitin the selected directory at Files tab</source>
|
||||
<translation>F4 כדי לפתוח מסוף בתוך המדור הנבחר בכרטיסיית קבצים</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F6 to open a File Manager whitin the selected directory at Files tab</source>
|
||||
<translation>F6 כדי לפתוח מנהל קבצים בתוך המדור הנבחר בכרטיסיית קבצים</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F10 to maximize/demaximize package list view</source>
|
||||
<translation>F10 כדי להגדיל/לשחזר תצוגת רשימת חבילה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F12 to maximize/demaximize Tab's view</source>
|
||||
<translation>F12 כדי להגדיל/לשחזר תצוגת כרטיסייה</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>עזרת שימוש Octopi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>show application version.</source>
|
||||
<translation>הצג גרסת יישום.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use a different Qt4 style (ex: -style gtk).</source>
|
||||
<translation>השתמש בסגנון Qt4 אחר (לדוגמא: -style gtk).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use a different remove command (ex: -removecmd R).</source>
|
||||
<translation>השתמש בפקודת הסרה אחרת (לדוגמא: -removecmd R).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>force a system upgrade at startup.</source>
|
||||
<translation>כפה שדרוג מערכת בעת הפעלה.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Arch Linux news</source>
|
||||
<translation>חדשות Arch Linux</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chakra news</source>
|
||||
<translation>חדשות Chakra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Manjaro Linux news</source>
|
||||
<translation>חדשות Manjaro Linux</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No news could be found! Press Ctrl+G to download the latest news.</source>
|
||||
<translation>לא היתה אפשרות למצוא חדשות! לחץ Ctrl+G כדי להוריד את החדשות האחרונות.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This Linux distro seems to be incompatible with Octopi!</source>
|
||||
<translation>נראה שהפצת Linux זו לא מתאימה עם Octopi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>נראה שאין אינטרנט זמין!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display all groups</source>
|
||||
<translation>הצג כל קבוצה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Usage</source>
|
||||
<translation>שימוש</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>אודות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation>שם</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version</source>
|
||||
<translation>גרסא</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outdated version</source>
|
||||
<translation>גרסא מיושנת</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available version</source>
|
||||
<translation>גרסא זמינה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No description available.</source>
|
||||
<translation>אין תיאור זמין.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL</source>
|
||||
<translation>URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repository</source>
|
||||
<translation>מאגר</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Licenses</source>
|
||||
<translation>רשיונות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group</source>
|
||||
<translation>קבוצה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Groups</source>
|
||||
<translation>קבוצות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Provides</source>
|
||||
<translation>מספקת</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Depends On</source>
|
||||
<translation>תלויה על</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Optional Deps</source>
|
||||
<translation>תלויות רשות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicts With</source>
|
||||
<translation>מתנגשת עם</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Replaces</source>
|
||||
<translation>מחליפה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Download Size</source>
|
||||
<translation>גודל הורדה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installed Size</source>
|
||||
<translation>גודל מותקן</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packager</source>
|
||||
<translation>אורז</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package</source>
|
||||
<translation>חבילה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packages</source>
|
||||
<translation>חבילות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Architecture</source>
|
||||
<translation>ארכיטקטורה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Date</source>
|
||||
<translation>זמן בניה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description</source>
|
||||
<translation>תיאור</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Attention</source>
|
||||
<translation>הקשב</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>automatic</source>
|
||||
<translation>אוטומטי</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>סיסמה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation>מידע</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files</source>
|
||||
<translation>קבצים</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction</source>
|
||||
<translation>טרנזקציה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>פלט</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>News</source>
|
||||
<translation>חדשות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Contents of "%1"</source>
|
||||
<translation>תכולות של "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find</source>
|
||||
<translation>מצא</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>טהר</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> (outdated installed version is %1)</source>
|
||||
<translation> (גרסא מיושנת מותקנת %1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Building package list...</source>
|
||||
<translation>בונה כעת רשימת חבילה...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Searching for %1 latest news...</source>
|
||||
<translation>מחפש כעת חדשות אחרונות של %1...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is one outdated package in your system:</source>
|
||||
<translation>קיימת חבילה מיושנת אחת במערכתך:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are %1 outdated packages in your system:</source>
|
||||
<translation>קיימות %1 חבילות מיושנות במערכתך:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(version %1 is available)</source>
|
||||
<translation>(גרסא %1 זמינה)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 (%2) packages</source>
|
||||
<translation>%1 (%2) חבילות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 installed</source>
|
||||
<translation>%1 מותקנות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 outdated</source>
|
||||
<translation>%1 מיושנות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 available</source>
|
||||
<translation>%1 זמינות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cleaning package cache...</source>
|
||||
<translation>מטהר כעת מטמון חבילה...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing</source>
|
||||
<translation>מסנכרן כעת</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Press any key to continue...</source>
|
||||
<translation>לחץ על כל מקש כדי להמשיך...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing databases...</source>
|
||||
<translation>מסנכרן כעת מסדי נתונים...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>is up to date</source>
|
||||
<translation>הינה עדכנית</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting full system upgrade...</source>
|
||||
<translation>מתחיל כעת שדרוג מערכת מלא...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installing selected packages...</source>
|
||||
<translation>מתקין כעת חבילות נבחרות...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Removing selected packages...</source>
|
||||
<translation>מסיר כעת חבילות נבחרות...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Removing/installing selected packages...</source>
|
||||
<translation>מסיר/מתקין כעת חבילות נבחרות...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Running command in terminal...</source>
|
||||
<translation>מריץ כעת פקודה בתוך מסוף...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished OK!</source>
|
||||
<translation>פקודה הסתיימה כשורה!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished with errors!</source>
|
||||
<translation>פקודה הסתיימה עם שגיאות!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Retrieving %1</source>
|
||||
<translation>מאחזר כעת את %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total download size: %1 KB</source>
|
||||
<translation>סך גודל הורדה: %1 KB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following target needs to be retrieved</source>
|
||||
<translation>היעד שלהלן צריך להתאחזר</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following target will be removed</source>
|
||||
<translation>היעד שלהלן יוסר</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 targets need to be retrieved</source>
|
||||
<translation>%1 היעדים שלהלן צריכים להתאחזר</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 targets will be removed</source>
|
||||
<translation>%1 היעדים שלהלן יוסרו</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are forbidden packages in the removal list!</source>
|
||||
<translation>קיימות חבילות אסורות ברשימת ההסרה!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no new updates available!</source>
|
||||
<translation>אין עדכונים זמינים!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is an update available!</source>
|
||||
<translation>יש עדכון זמין!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are %1 updates available!</source>
|
||||
<translation>קיימים %1 עדכונים זמינים!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm?</source>
|
||||
<translation>לאמת?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning!!!</source>
|
||||
<translation>אזהרה!!!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirmation</source>
|
||||
<translation>אימות</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There has been a transaction error!</source>
|
||||
<translation>התרחשה שגיאת טרנזקציה!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to execute this transaction in a Terminal?</source>
|
||||
<translation>האם ברצונך להוציא אל הפועל את טרנזקציה זו בתוך מסוף?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to clean the package cache?</source>
|
||||
<translation>האם אכן ברצונך לנקות את מטמון החבילה?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to rollback the transaction?</source>
|
||||
<translation>האם אכן ברצונך להסיג את הטרנזקציה?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, enter the administrator's password</source>
|
||||
<translation>בבקשה, הזן סיסמת מנהל</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no means to get administrator's credentials.</source>
|
||||
<translation>לא קיימים אמצעים להשיג נתוני התחברות של מנהל.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You'll need to install a su frontend like gksu or kdesu.</source>
|
||||
<translation>יהיה עליך להתקין מגשר חזיתי su כגון gksu או kdesu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You can not run Octopi with administrator's credentials.</source>
|
||||
<translation>אין ביכולתך להריץ את Octopi עם נתוני התחברות של מנהל.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is a pending transaction</source>
|
||||
<translation>קיימת טרנזקציה תלויה ועומדת</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to quit?</source>
|
||||
<translation>האם אכן ברצונך לצאת?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Executing command</source>
|
||||
<translation>מוציא לפועל כעת פקודה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run in terminal</source>
|
||||
<translation>הרץ בתוך מסוף</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Needs application restart to take effect</source>
|
||||
<translation>יש צורך באתחול יישום כדי להיכנס לתוקף</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>שינויים אלה מצריכים אתחול יישום על מנת להיכנס לתוקף!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>בחר את החבילה אשר ברצונך להתקין</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
<translation>קובץ זה לא נראה כקובץ טקסט פשוט.
|
||||
האם אכן ברצונך לפתוח אותו?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To be installed</source>
|
||||
<translation>להתקנה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To be removed</source>
|
||||
<translation>להסרה</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>remove</source>
|
||||
<translation>הסר</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>install</source>
|
||||
<translation>התקן</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove item</source>
|
||||
<translation>הסר פריט</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove items</source>
|
||||
<translation>הסר פריטים</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SearchBar</name>
|
||||
<message>
|
||||
<source>Previous</source>
|
||||
<translation>הקודם</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Next</source>
|
||||
<translation>הבא</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>סגור</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDialog</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation>טופס</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run in terminal</source>
|
||||
<translation>הרץ בתוך מסוף</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
Binary file not shown.
@@ -181,6 +181,14 @@
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Pasang paket lokal...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Untuk informasi selanjutnya, kunjungi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Antarmuka Pacman berbasis Qt4</translation>
|
||||
@@ -189,10 +197,6 @@
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>lisensi berdasarkan perjanjian</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Untuk informasi selanjutnya, kunjungi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Klasifikasi paket:</translation>
|
||||
@@ -341,7 +345,7 @@
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi help usage:</source>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Pertolongan penggunaan Octopi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -381,7 +385,7 @@
|
||||
<translation>Distro Linux ini kelihatannya tidak cocok dengan Octopi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems anavailable!</source>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Internet kelihatannya tidak tersedia!</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -728,6 +732,10 @@
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Perubahan ini membutuhkan penghidupan ulang aplikasi untuk mendapatkan efek!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Pilih paket yang ingin kamu pasang</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
|
||||
Binary file not shown.
@@ -181,6 +181,14 @@
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Installa pacchetto locale...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Per ulteriori informazioni, visita:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Una interfaccia grafica di Pacman in Qt4</translation>
|
||||
@@ -189,10 +197,6 @@
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>con licenza sotto i termini della</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Per ulteriori informazioni, visita:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Classificazione dei pacchetti:</translation>
|
||||
@@ -341,7 +345,7 @@
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi help usage:</source>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Aiuto per l'utilizzo di Octopi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -381,7 +385,7 @@
|
||||
<translation>Questa distro Linux sembra essere incompatibile con Octopi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems anavailable!</source>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Internet sembra non disponibile!</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -728,6 +732,10 @@
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Bisogna riavviare l'applicazione per rendere effettive queste modifiche!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Selezionare i pacchetti che si desidera installare</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
|
||||
BIN
resources/translations/octopi_lt.qm
Normal file
BIN
resources/translations/octopi_lt.qm
Normal file
Binary file not shown.
796
resources/translations/octopi_lt.ts
Normal file
796
resources/translations/octopi_lt.ts
Normal file
@@ -0,0 +1,796 @@
|
||||
<?xml version="1.0" ?><!DOCTYPE TS><TS language="lt" version="2.0">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<source>Octopi</source>
|
||||
<translation>Octopi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation>Informacija</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files</source>
|
||||
<translation>Failai</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction</source>
|
||||
<translation>Operacija</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Išvestis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Help</source>
|
||||
<translation>Pagalba</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View</source>
|
||||
<translation>Rodymas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File</source>
|
||||
<translation>Failas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search</source>
|
||||
<translation>Ieškoti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>Apie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non installed</source>
|
||||
<translation>Neįdiegtas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+N</source>
|
||||
<translation>Ctrl+N</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Commit</source>
|
||||
<translation>Atlikti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+M</source>
|
||||
<translation>Ctrl+M</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rollback</source>
|
||||
<translation>Atstatyti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+B</source>
|
||||
<translation>Ctrl+B</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sync database</source>
|
||||
<translation>Sinchronizuoti duomenų bazę</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+D</source>
|
||||
<translation>Ctrl+D</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exit</source>
|
||||
<translation>Išeiti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q</source>
|
||||
<translation>Ctrl+Q</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>System upgrade</source>
|
||||
<translation>Sistemos naujovinimas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+U</source>
|
||||
<translation>Ctrl+U</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install</source>
|
||||
<translation>Įdiegti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove</source>
|
||||
<translation>Pašalinti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outdated packages</source>
|
||||
<translation>Pasenę paketai</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Get latest distro news</source>
|
||||
<translation>Gauti naujausias naujienas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+G</source>
|
||||
<translation>Ctrl+G</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove group</source>
|
||||
<translation>Pašalinti grupę</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install group</source>
|
||||
<translation>Įdiegti grupę</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse item</source>
|
||||
<translation>Suskleisti elementą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand item</source>
|
||||
<translation>Išskleisti elementą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse all items</source>
|
||||
<translation>Suskleisti visus elementus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand all items</source>
|
||||
<translation>Išskleisti visus elementus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open file</source>
|
||||
<translation>Atverti failą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit file</source>
|
||||
<translation>Taisyti failą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open directory</source>
|
||||
<translation>Atverti aplanką</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open terminal here</source>
|
||||
<translation>Čia _atverti terminalą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove item</source>
|
||||
<translation>Pašalinti elementą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove items</source>
|
||||
<translation>Pašalinti elementus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>By description</source>
|
||||
<translation>Pagal aprašymą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>By name</source>
|
||||
<translation>Pagal pavadinimą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find a file</source>
|
||||
<translation>Rasti failą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open root terminal</source>
|
||||
<translation>Atverti root terminalą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Usage</source>
|
||||
<translation>Naudojimas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Įdiegti vietinį paketą...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Daugiau informacijos rasite:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Pacman naudotojo sąsaja sukurta su Qt4,</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>platinama sąlygomis, nurodytomis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Paketo klasifikacija:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An installed package</source>
|
||||
<translation>Įdiegtas paketas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An installed package (not required by others)</source>
|
||||
<translation>Įdiegtas paketas (nereikalingas kitiems)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A foreign package, installed from</source>
|
||||
<translation>Svetimas paketas, įdiegtas iš</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A non installed package</source>
|
||||
<translation>Neįdiegtas paketas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An outdated package</source>
|
||||
<translation>Pasenęs paketas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Basic usage help:</source>
|
||||
<translation>Pagrindinė naudojimo pagalba:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Position the mouse over a package to see its description</source>
|
||||
<translation>Užveskite pelę virš paketo, kad pamatyti jo aprašymą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Double click an installed package to see its contents</source>
|
||||
<translation>Du kartus spustelėkite įdiegtą paketą, kad pamatyti jo turinį</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right click package to install/reinstall or remove it</source>
|
||||
<translation>Spauskite dešinį pelės klavišą ant paketo, kad jį įdiegti/įdiegti iš naujo arba pašalinti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+key sequences:</source>
|
||||
<translation>Alt+klavišas sekos:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+1 to switch to 'Info' tab</source>
|
||||
<translation>Alt+1 pereiti į kortelę „Informacija“</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+2 to switch to 'Files' tab</source>
|
||||
<translation>Alt+2 pereiti į kortelę „Failai“</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+3 to switch to 'Transaction' tab</source>
|
||||
<translation>Alt+3 pereiti į kortelę „Operacija“</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+4 to switch to 'Output' tab</source>
|
||||
<translation>Alt+4 pereiti į kortelę „Išvestis“</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+5 to switch to 'News' tab</source>
|
||||
<translation>Alt+5 pereiti į kortelę „Naujienos“</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+6 or 'F1' to show this help page</source>
|
||||
<translation>Alt+6 arba „F1“, kad parodyti šį pagalbos puslapį</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Control+key sequences:</source>
|
||||
<translation>Ctrl+klavišas sekos:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+D or 'File/Sync database' to sync the local database with latest remote changes (pacman -Sy)</source>
|
||||
<translation>Ctrl+D arba „Failas/Sinchronizuoti duomenų bazę“, kad susinchronizuoti vietinę duomenų bazę su nuotoliniais pakeitimai (pacman -Sy)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+U or 'File/System upgrade' to make a full system upgrade (pacman -Su)</source>
|
||||
<translation>Ctrl+U arba „Failas/Sistemos naujovinimas, kad atlikti pilną sistemos atnaujinimą (pacman -Su)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+L to find a package in the package list</source>
|
||||
<translation>Ctrl+L, kad rasti paketą sąraše</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+F to search for text inside tab Files, News and Usage</source>
|
||||
<translation>Ctrl+F ieškoti teksto kortelėje „Failas“, „Naujienos“ ir “Naudojimas“</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+N or 'View/Non installed' to show/hide non installed packages</source>
|
||||
<translation>Ctrl+N arba „Rodymas/Neįdiegti“, kad rodyti/slėpti neįdiegtus paketus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+M or 'Transaction/Commit' to start installation/removal of selected packages</source>
|
||||
<translation>Ctrl+M arba „Operacija/Vykdyti“, kad pradėti pasirinktų paketų diegimą/šalinimą.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+B or 'Transaction/Rollback' to clear the selection of to be removed/installed packages</source>
|
||||
<translation>Ctrl+B arba „Operacija/Atstatyti“, kad išvalyti pasirinkimą įdiegtinų/šalintinų paketų.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+G or 'File/Get latest distro news' to retrieve the latest RSS based distro news</source>
|
||||
<translation>Ctrl+G arba „Failas/Gauti naujausias naujienas“, kad gauti vėliausias RSS pagrįstas distribucijos naujienas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q or 'File/Exit' to exit the application</source>
|
||||
<translation>Ctrl+Q arba „Failas/Išeiti, kad uždaryti programą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Control+shift+key sequences:</source>
|
||||
<translation>Ctrl+shift+klavišas sekos:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Shift+C to clean local packages cache (pacman -Sc)</source>
|
||||
<translation>Ctrl+Shift+C, kad išvalyti vietinį paketų podėlį (pacman -Sc)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Shift+G to display all package groups</source>
|
||||
<translation>Ctrl+Shift+G, kad rodyti visas paketų grupes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F+key sequences:</source>
|
||||
<translation>F+klavišas sekos:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F1 to show this help page</source>
|
||||
<translation>F1, kad parodyti šį pagalbos puslapį</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F4 to open a Terminal whitin the selected directory at Files tab</source>
|
||||
<translation>F4, kad atverti Terminalą „Failai“ kortelėje pažymėtame kataloge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F6 to open a File Manager whitin the selected directory at Files tab</source>
|
||||
<translation>F6, kad atverti failų tvarkyklę „Failai“ kortelėje pažymėtame kataloge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F10 to maximize/demaximize package list view</source>
|
||||
<translation>F10, kad išdidinti/sumažinti paketų sąrašo rodymą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F12 to maximize/demaximize Tab's view</source>
|
||||
<translation>F12, kad išdidinti/sumažinti kortelės rodymą</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Octopi pagalbos naudojimas:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>show application version.</source>
|
||||
<translation>rodyti programos versiją.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use a different Qt4 style (ex: -style gtk).</source>
|
||||
<translation>naudoti kitokį Qt4 stilių (pvz.: -style gtk).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use a different remove command (ex: -removecmd R).</source>
|
||||
<translation>naudoti kitokią pašalinimo komandą (pvz.: -removecmd R).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>force a system upgrade at startup.</source>
|
||||
<translation>versti sistemos naujovinimą paleidimo metu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Arch Linux news</source>
|
||||
<translation>Arch Linux naujienos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chakra news</source>
|
||||
<translation>Chakra naujienos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Manjaro Linux news</source>
|
||||
<translation>Manjaro Linux naujienos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No news could be found! Press Ctrl+G to download the latest news.</source>
|
||||
<translation>Nepavyko rasti naujienų! Spauskite Ctrl+G, kad atsisiųsti vėliausias naujienas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This Linux distro seems to be incompatible with Octopi!</source>
|
||||
<translation>Ši Linux distribucija atrodo nesuderinama su Octopi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Internetas atrodo nepasiekiamas!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display all groups</source>
|
||||
<translation>Rodyti visas grupes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Usage</source>
|
||||
<translation>Naudojimas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>Apie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation>Pavadinimas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version</source>
|
||||
<translation>Versija</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outdated version</source>
|
||||
<translation>Pasenusi versija</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available version</source>
|
||||
<translation>Pasiekiama versija</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No description available.</source>
|
||||
<translation>Nėra pasiekiamo aprašymo.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL</source>
|
||||
<translation>URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repository</source>
|
||||
<translation>Saugykla</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Licenses</source>
|
||||
<translation>Licencijos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group</source>
|
||||
<translation>Grupė</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Groups</source>
|
||||
<translation>Grupės</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Provides</source>
|
||||
<translation>Tiekia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Depends On</source>
|
||||
<translation>Priklauso nuo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Optional Deps</source>
|
||||
<translation>Pasirinktinės priklausomybės</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicts With</source>
|
||||
<translation>Konfliktuoja su</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Replaces</source>
|
||||
<translation>Pakeičia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Download Size</source>
|
||||
<translation>Atsiuntimo dydis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installed Size</source>
|
||||
<translation>Dydis įdiegus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packager</source>
|
||||
<translation>Pakuotojas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package</source>
|
||||
<translation>Paketas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packages</source>
|
||||
<translation>Paketai</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Architecture</source>
|
||||
<translation>Architektūra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Date</source>
|
||||
<translation>Kompiliavimo data</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description</source>
|
||||
<translation>Aprašymas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Attention</source>
|
||||
<translation>Dėmesio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>automatic</source>
|
||||
<translation>automatinis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>Slaptažodis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation>Informacija</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files</source>
|
||||
<translation>Failai</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction</source>
|
||||
<translation>Operacija</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Išvestis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>News</source>
|
||||
<translation>Naujienos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Contents of "%1"</source>
|
||||
<translation>„%1“ turinys</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find</source>
|
||||
<translation>Ieškoti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Išvalyti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> (outdated installed version is %1)</source>
|
||||
<translation> (Įdiegta pasenusi versija yra %1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Building package list...</source>
|
||||
<translation>Daromas paketų sąrašas...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Searching for %1 latest news...</source>
|
||||
<translation>Ieškoma %1 paskutinių naujienų...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is one outdated package in your system:</source>
|
||||
<translation>Yra vienas pasenęs paketas Jūsų sistemoje:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are %1 outdated packages in your system:</source>
|
||||
<translation>Yra %1 pasenusių paketų Jūsų sistemoje:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(version %1 is available)</source>
|
||||
<translation>(versija %1 yra prieinama)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 (%2) packages</source>
|
||||
<translation>%1 (%2) Paketai</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 installed</source>
|
||||
<translation>%1 Įdiegta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 outdated</source>
|
||||
<translation>%1 pasenęs</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 available</source>
|
||||
<translation>%1 galimas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cleaning package cache...</source>
|
||||
<translation>Valomas paketų podėlis...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing</source>
|
||||
<translation>Sinchronizuojama</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Press any key to continue...</source>
|
||||
<translation>Spauskite bet kurį klavišą tęsimui...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing databases...</source>
|
||||
<translation>Sinchronizuojamos duomenų bazės...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>is up to date</source>
|
||||
<translation>yra naujausias</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting full system upgrade...</source>
|
||||
<translation>Pradedamas pilnas sistemos naujovinimas...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installing selected packages...</source>
|
||||
<translation>Diegiami pasirinkti paketai...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Removing selected packages...</source>
|
||||
<translation>Šalinami pasirinkti paketai...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Removing/installing selected packages...</source>
|
||||
<translation>Diegiami/šalinami pasirinkti paketai...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Running command in terminal...</source>
|
||||
<translation>Vykdoma komanda terminale...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished OK!</source>
|
||||
<translation>Komanda baigta be klaidų!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished with errors!</source>
|
||||
<translation>Komanda baigta su klaidomis!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Retrieving %1</source>
|
||||
<translation>Gaunama %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total download size: %1 KB</source>
|
||||
<translation>Viso atsiuntimo dydis: %1 KB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following target needs to be retrieved</source>
|
||||
<translation>Reikia gauti sekantį objektą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following target will be removed</source>
|
||||
<translation>Sekantis objektas bus pašalintas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 targets need to be retrieved</source>
|
||||
<translation>Reikia gauti sekančius %1 objektus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 targets will be removed</source>
|
||||
<translation>Sekantys %1 objektai bus pašalinti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are forbidden packages in the removal list!</source>
|
||||
<translation>Yra uždraustų paketų šalinimo sąraše!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no new updates available!</source>
|
||||
<translation>Nėra pasiekimų atnaujinimų!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is an update available!</source>
|
||||
<translation>Yra pasiekiamas atnaujinimas!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are %1 updates available!</source>
|
||||
<translation>Yra pasiekiami %1 atnaujinimai!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm?</source>
|
||||
<translation>Patvirtinti?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning!!!</source>
|
||||
<translation>Dėmesio!!!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirmation</source>
|
||||
<translation>Patvirtinimas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There has been a transaction error!</source>
|
||||
<translation>Įvyko operacijos klaida!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to execute this transaction in a Terminal?</source>
|
||||
<translation>Ar norite vykdyti operaciją Terminale?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to clean the package cache?</source>
|
||||
<translation>Ar tikrai norite išvalyti paketų talpyklą?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to rollback the transaction?</source>
|
||||
<translation>Ar tikrai norite anuliuoti operaciją?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, enter the administrator's password</source>
|
||||
<translation>Prašome įvesti administratoriaus slaptažodį</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no means to get administrator's credentials.</source>
|
||||
<translation>Nėra priemonių gauti administratoriaus duomenų.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You'll need to install a su frontend like gksu or kdesu.</source>
|
||||
<translation>Jums reikia įdiegti su programą, tokią kaip gksu ar kdesu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You can not run Octopi with administrator's credentials.</source>
|
||||
<translation>Negalite paleisti Octopi kaip administratorius.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is a pending transaction</source>
|
||||
<translation>Yra laukianti operacija</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to quit?</source>
|
||||
<translation>Ar tikrai norite išeiti?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Executing command</source>
|
||||
<translation>Vykdoma komandą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run in terminal</source>
|
||||
<translation>Vykdyti terminale</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Needs application restart to take effect</source>
|
||||
<translation>Reikia paleisti programą iš naujo, kad pritaikyti pakeitimus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Šiems pakeitimams reikia paleisti programą iš naujo, kad pritaikyti pakeitimus!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Pasirinkite paketus, kuriuos norite įdiegti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
<translation>Atrodo, kad šis failas nėra paprastas tekstas.
|
||||
Ar tikrai norite jį atverti?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To be installed</source>
|
||||
<translation>Bus įdiegtas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To be removed</source>
|
||||
<translation>Bus pašalinta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>remove</source>
|
||||
<translation>pašalinti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>install</source>
|
||||
<translation>Įdiegti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove item</source>
|
||||
<translation>Pašalinti elementą</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove items</source>
|
||||
<translation>Pašalinti elementus</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SearchBar</name>
|
||||
<message>
|
||||
<source>Previous</source>
|
||||
<translation>Ankstesnis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Next</source>
|
||||
<translation>Kitas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Užverti</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDialog</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation>Forma</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run in terminal</source>
|
||||
<translation>Vykdyti terminale</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
BIN
resources/translations/octopi_nb.qm
Normal file
BIN
resources/translations/octopi_nb.qm
Normal file
Binary file not shown.
796
resources/translations/octopi_nb.ts
Normal file
796
resources/translations/octopi_nb.ts
Normal file
@@ -0,0 +1,796 @@
|
||||
<?xml version="1.0" ?><!DOCTYPE TS><TS language="nb" version="2.0">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<source>Octopi</source>
|
||||
<translation>Octopi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation>Info</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files</source>
|
||||
<translation>Filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction</source>
|
||||
<translation>Overførsel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Visning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Help</source>
|
||||
<translation>Hjelp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View</source>
|
||||
<translation>Vis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File</source>
|
||||
<translation>Fil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search</source>
|
||||
<translation>Søk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>Om</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non installed</source>
|
||||
<translation>Ikke installert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+N</source>
|
||||
<translation>Ctrl+N</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Commit</source>
|
||||
<translation>Utfør</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+M</source>
|
||||
<translation>Ctrl+M</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rollback</source>
|
||||
<translation>Rull tilbake</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+B</source>
|
||||
<translation>Ctrl+B</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sync database</source>
|
||||
<translation>Synkroniser database</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+D</source>
|
||||
<translation>Ctrl+D</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exit</source>
|
||||
<translation>Gå ut</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q</source>
|
||||
<translation>Ctrl+Q</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>System upgrade</source>
|
||||
<translation>Systemoppgradering</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+U</source>
|
||||
<translation>Ctrl+U</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install</source>
|
||||
<translation>Installer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove</source>
|
||||
<translation>Fjern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outdated packages</source>
|
||||
<translation>Utdaterte pakker</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Get latest distro news</source>
|
||||
<translation>Motta de siste distro-nyhetene</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+G</source>
|
||||
<translation>Ctrl+G</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove group</source>
|
||||
<translation>Fjern gruppe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install group</source>
|
||||
<translation>Installer gruppe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse item</source>
|
||||
<translation>Lukk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand item</source>
|
||||
<translation>Utvid</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse all items</source>
|
||||
<translation>Lukk alle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand all items</source>
|
||||
<translation>Utvid alle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open file</source>
|
||||
<translation>Åpne fil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit file</source>
|
||||
<translation>Rediger fil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open directory</source>
|
||||
<translation>Åpne mappe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open terminal here</source>
|
||||
<translation>Åpne terminalen her</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove item</source>
|
||||
<translation>Fjern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove items</source>
|
||||
<translation>Fjern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>By description</source>
|
||||
<translation>Etter beskrivelse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>By name</source>
|
||||
<translation>Etter navn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find a file</source>
|
||||
<translation>Finn en fil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open root terminal</source>
|
||||
<translation>Åpne en root-terminal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Usage</source>
|
||||
<translation>Bruk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Installer lokal pakke...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>For mer informasjon kan du besøke:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Et Qt4-basert Pacman-skall,</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>lisensiert under betingelsene i</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Pakkeklassifisering:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An installed package</source>
|
||||
<translation>En installert pakke</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An installed package (not required by others)</source>
|
||||
<translation>En installert pakke (som ingen andre trenger)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A foreign package, installed from</source>
|
||||
<translation>En fremmed pakke, installert fra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A non installed package</source>
|
||||
<translation>En ikke-installert pakke</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An outdated package</source>
|
||||
<translation>En utdatert pakke</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Basic usage help:</source>
|
||||
<translation>Hjelp til grunnlegende bruk:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Position the mouse over a package to see its description</source>
|
||||
<translation>Sett musepekeren over en pakke for å se beskrivelsen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Double click an installed package to see its contents</source>
|
||||
<translation>Dobbelklikk på en installert pakke for å se innholdet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right click package to install/reinstall or remove it</source>
|
||||
<translation>Høyreklikk pakke for å installere/fjerne den</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+key sequences:</source>
|
||||
<translation>Alt+tast sekvenser:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+1 to switch to 'Info' tab</source>
|
||||
<translation>Alt+1 for å bytte til 'Info' tab</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+2 to switch to 'Files' tab</source>
|
||||
<translation>Alt+2 for å bytte til 'Filer' </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+3 to switch to 'Transaction' tab</source>
|
||||
<translation>Alt+3 for å bytte til 'Overførsel' </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+4 to switch to 'Output' tab</source>
|
||||
<translation>Alt+4 for å bytte til 'Visning' </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+5 to switch to 'News' tab</source>
|
||||
<translation>Alt+5 for å bytte til 'Nyheter'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+6 or 'F1' to show this help page</source>
|
||||
<translation>Alt+6 eller 'F1' for å vise denne hjelpesiden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Control+key sequences:</source>
|
||||
<translation>Ctrl+tast sekvenser:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+D or 'File/Sync database' to sync the local database with latest remote changes (pacman -Sy)</source>
|
||||
<translation>Ctrl+D eller 'Fil/Synkroniser database' for å synkronisere den lokale databasen med de siste eksterne endringer (pacman -Sy)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+U or 'File/System upgrade' to make a full system upgrade (pacman -Su)</source>
|
||||
<translation>Ctrl+U eller 'Fil/Systemoppgradering' for å gjøre en fullstendig systemoppgradering (pacman -Su)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+L to find a package in the package list</source>
|
||||
<translation>Ctrl+L for å finne en pakke i pakkelisten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+F to search for text inside tab Files, News and Usage</source>
|
||||
<translation>Ctrl+F for å søke etter tekst inne i tabene Filer, Nyheter og Bruk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+N or 'View/Non installed' to show/hide non installed packages</source>
|
||||
<translation>Ctrl+N eller 'Vis/Ikke installert' for å vise/skjule ikke-installerte pakker</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+M or 'Transaction/Commit' to start installation/removal of selected packages</source>
|
||||
<translation>Ctrl+M eller 'Overførsel/Utfør' for å starte installasjon/fjerning av valgte pakker</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+B or 'Transaction/Rollback' to clear the selection of to be removed/installed packages</source>
|
||||
<translation>Ctrl+B eller 'Overførsel/Rull tilbake' for å nulstille utvalget av pakker som skal installeres/fjernes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+G or 'File/Get latest distro news' to retrieve the latest RSS based distro news</source>
|
||||
<translation>Ctrl+G eller 'Fil/Motta de siste distro-nyhetene'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q or 'File/Exit' to exit the application</source>
|
||||
<translation>Ctrl+Q eller 'Fil/Gå ut' for å gå ut av programmet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Control+shift+key sequences:</source>
|
||||
<translation>Ctrl+shift+tast sekvenser:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Shift+C to clean local packages cache (pacman -Sc)</source>
|
||||
<translation>Ctrl+Shift+C for å tømme den lokale pakke-cachen (pacman -Sc)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Shift+G to display all package groups</source>
|
||||
<translation>Ctrl+Shift+G for å vise alle pakkegruppene</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F+key sequences:</source>
|
||||
<translation>F+tast sekvenser:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F1 to show this help page</source>
|
||||
<translation>F1 for å vise denne hjelpesiden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F4 to open a Terminal whitin the selected directory at Files tab</source>
|
||||
<translation>F4 for å åpne en terminal i den valgte mappen under Filer taben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F6 to open a File Manager whitin the selected directory at Files tab</source>
|
||||
<translation>F6 for å åpne en filbehandler i den valgte mappen under Filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F10 to maximize/demaximize package list view</source>
|
||||
<translation>F10 for å maksimere/tilbakestille pakkelisten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F12 to maximize/demaximize Tab's view</source>
|
||||
<translation>F12 for å maksimere/tilbakestille taboversikten</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Bruk av Octopi hjelpen:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>show application version.</source>
|
||||
<translation>Vise applikasjonsversjon.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use a different Qt4 style (ex: -style gtk).</source>
|
||||
<translation>bruk en annen Qt4 stil (ex: -style gtk).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use a different remove command (ex: -removecmd R).</source>
|
||||
<translation>bruk en annen kommando for å fjerne (ex: -removecmd R).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>force a system upgrade at startup.</source>
|
||||
<translation>tving en systemoppgradering ved oppstart.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Arch Linux news</source>
|
||||
<translation>Arch Linux-nyheter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chakra news</source>
|
||||
<translation>Chakra-nyheter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Manjaro Linux news</source>
|
||||
<translation>Manjaro Linux-nyheter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No news could be found! Press Ctrl+G to download the latest news.</source>
|
||||
<translation>Fant ingen nyheter! Tast Ctrl+G for å laste ned siste nytt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This Linux distro seems to be incompatible with Octopi!</source>
|
||||
<translation>Denne Linuxdistribusjonen ser ikke ut til å være kompatibel med Otopi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Internettet ser ut til å være utilgjengelig!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display all groups</source>
|
||||
<translation>Vis alle grupper</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Usage</source>
|
||||
<translation>Bruk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>Om</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation>Navn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version</source>
|
||||
<translation>Versjon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outdated version</source>
|
||||
<translation>Utdatert versjon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available version</source>
|
||||
<translation>Tilgjengelig versjon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No description available.</source>
|
||||
<translation>Ingen beskrivelse er tilgjengelig.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL</source>
|
||||
<translation>URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repository</source>
|
||||
<translation>Pakkebrønn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Licenses</source>
|
||||
<translation>Lisenser</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group</source>
|
||||
<translation>Gruppe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Groups</source>
|
||||
<translation>Grupper</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Provides</source>
|
||||
<translation>Skaffer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Depends On</source>
|
||||
<translation>Avhenger av</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Optional Deps</source>
|
||||
<translation>Valgfrie/andre avhengigheter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicts With</source>
|
||||
<translation>I konflikt med</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Replaces</source>
|
||||
<translation>Erstatter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Download Size</source>
|
||||
<translation>Nedlastingstørrelse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installed Size</source>
|
||||
<translation>Installert størrelse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packager</source>
|
||||
<translation>Pakker</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package</source>
|
||||
<translation>Pakke</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packages</source>
|
||||
<translation>Pakker</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Architecture</source>
|
||||
<translation>Arkitektur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Date</source>
|
||||
<translation>Byggedato</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description</source>
|
||||
<translation>Beskrivelse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Attention</source>
|
||||
<translation>Obs</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>automatic</source>
|
||||
<translation>automatisk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>Passord</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation>Info</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files</source>
|
||||
<translation>Filer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction</source>
|
||||
<translation>Overførsel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Visning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>News</source>
|
||||
<translation>Nyheter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Contents of "%1"</source>
|
||||
<translation>Innhold i "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find</source>
|
||||
<translation>Finn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Tøm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> (outdated installed version is %1)</source>
|
||||
<translation>(utdatert installert versjon er %1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Building package list...</source>
|
||||
<translation>Bygger pakkelisten...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Searching for %1 latest news...</source>
|
||||
<translation>Leter etter %1 siste nytt...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is one outdated package in your system:</source>
|
||||
<translation>Det er en utdatert pakke i ditt system:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are %1 outdated packages in your system:</source>
|
||||
<translation>Det finnes %1 utdaterte pakker i systemet ditt:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(version %1 is available)</source>
|
||||
<translation>(versjon %1 foreligger)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 (%2) packages</source>
|
||||
<translation>%1 (%2) pakker</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 installed</source>
|
||||
<translation>%1 installert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 outdated</source>
|
||||
<translation>%1 utdatert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 available</source>
|
||||
<translation>%1 tilgjengelig </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cleaning package cache...</source>
|
||||
<translation>Tømmer pakke-cachen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing</source>
|
||||
<translation>Synkroniserer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Press any key to continue...</source>
|
||||
<translation>Trykk en tast for å fortsette...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing databases...</source>
|
||||
<translation>Synkroniserer databaser...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>is up to date</source>
|
||||
<translation>er oppdatert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting full system upgrade...</source>
|
||||
<translation>Starter full systemoppgradering...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installing selected packages...</source>
|
||||
<translation>Installerer valgte pakker...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Removing selected packages...</source>
|
||||
<translation>Fjerner valgte pakker...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Removing/installing selected packages...</source>
|
||||
<translation>Fjerner/installerer valgte pakker...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Running command in terminal...</source>
|
||||
<translation>Kjører kommandoen i terminal...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished OK!</source>
|
||||
<translation>Kommandoen er fullført OK! </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished with errors!</source>
|
||||
<translation>Det var feil i kommandoen!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Retrieving %1</source>
|
||||
<translation>Henter %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total download size: %1 KB</source>
|
||||
<translation>Total størrelse på nedlastingen %1 KB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following target needs to be retrieved</source>
|
||||
<translation>Det følgende målet må hentes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following target will be removed</source>
|
||||
<translation>Det følgende målet vil bli fjernet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 targets need to be retrieved</source>
|
||||
<translation>De følgende %1 målene må hentes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 targets will be removed</source>
|
||||
<translation>De følgende %1 målene vil bli fjernet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are forbidden packages in the removal list!</source>
|
||||
<translation>Det finnes forbudte pakker i fjernes-listen!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no new updates available!</source>
|
||||
<translation>Ingen nye oppdateringer!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is an update available!</source>
|
||||
<translation>Det finnes en oppdatering!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are %1 updates available!</source>
|
||||
<translation>Det finnes %1 oppdateringer!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm?</source>
|
||||
<translation>Bekreft?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning!!!</source>
|
||||
<translation>Advarsel!!!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirmation</source>
|
||||
<translation>Bekreftelse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There has been a transaction error!</source>
|
||||
<translation>Det har forekommet en feil ved overførselen!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to execute this transaction in a Terminal?</source>
|
||||
<translation>Ønsker du å foreta denne overførselen i en terminal?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to clean the package cache?</source>
|
||||
<translation>Er du sikker på at du vil fjerne pakke-cachen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to rollback the transaction?</source>
|
||||
<translation>Er du sikker på at du vil rulle tilbake transaksjonen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, enter the administrator's password</source>
|
||||
<translation>Tast inn administrator-passordet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no means to get administrator's credentials.</source>
|
||||
<translation>Det finnes ingen resurser for å få administratorrettigheter.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You'll need to install a su frontend like gksu or kdesu.</source>
|
||||
<translation>Du må installere et su skall som gksu eller kdesu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You can not run Octopi with administrator's credentials.</source>
|
||||
<translation>Du kan ikke kjøre Octopi med administratorrettigheter.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is a pending transaction</source>
|
||||
<translation>Det ligger en overførsel på vent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to quit?</source>
|
||||
<translation>Er du sikker på at du vil avslutte?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Executing command</source>
|
||||
<translation>Utfører kommando</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run in terminal</source>
|
||||
<translation>Kjør i terminal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Needs application restart to take effect</source>
|
||||
<translation>Omstart av applikasjonen er nødvendig </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Disse forandringene trenger omstart av applikasjonen!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Velg pakken du vil installere</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
<translation>Denne filen ser ikke ut til å være en enkel tekst.⏎
|
||||
Er du sikker på at du vil åpne den?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To be installed</source>
|
||||
<translation>Vil bli installert </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To be removed</source>
|
||||
<translation>Vil bli fjernet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>remove</source>
|
||||
<translation>fjern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>install</source>
|
||||
<translation>installer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove item</source>
|
||||
<translation>Fjern komponent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove items</source>
|
||||
<translation>Fjern komponenter</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SearchBar</name>
|
||||
<message>
|
||||
<source>Previous</source>
|
||||
<translation>Foregående</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Next</source>
|
||||
<translation>Neste</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Lukk</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDialog</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation>Skjema</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run in terminal</source>
|
||||
<translation>Kjør i terminal</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
BIN
resources/translations/octopi_nl.qm
Normal file
BIN
resources/translations/octopi_nl.qm
Normal file
Binary file not shown.
796
resources/translations/octopi_nl.ts
Normal file
796
resources/translations/octopi_nl.ts
Normal file
@@ -0,0 +1,796 @@
|
||||
<?xml version="1.0" ?><!DOCTYPE TS><TS language="nl" version="2.0">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<source>Octopi</source>
|
||||
<translation>Octopi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation>Informatie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files</source>
|
||||
<translation>Bestanden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction</source>
|
||||
<translation>Transactie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Uitvoer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Help</source>
|
||||
<translation>Help</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View</source>
|
||||
<translation>Bekijken</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File</source>
|
||||
<translation>Bestand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search</source>
|
||||
<translation>Zoeken</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>Over</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non installed</source>
|
||||
<translation>Niet geïnstalleerd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+N</source>
|
||||
<translation>Ctrl+N</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Commit</source>
|
||||
<translation>Uitvoeren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+M</source>
|
||||
<translation>Ctrl+M</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rollback</source>
|
||||
<translation>Terugdraaien </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+B</source>
|
||||
<translation>Ctrl+B</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sync database</source>
|
||||
<translation>Database synchroniseren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+D</source>
|
||||
<translation>Ctrl+D</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exit</source>
|
||||
<translation>Afsluiten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q</source>
|
||||
<translation>Ctrl+Q</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>System upgrade</source>
|
||||
<translation>Systeem opwaarderen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+U</source>
|
||||
<translation>Ctrl+U</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install</source>
|
||||
<translation>Installeren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove</source>
|
||||
<translation>Verwijderen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outdated packages</source>
|
||||
<translation>Verouderde pakketten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Get latest distro news</source>
|
||||
<translation>Het laatste distributie nieuws ophalen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+G</source>
|
||||
<translation>Ctrl+G</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove group</source>
|
||||
<translation>Verwijder groep</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install group</source>
|
||||
<translation>Installeer groep</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse item</source>
|
||||
<translation>Object invouwen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand item</source>
|
||||
<translation>Object uitklappen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse all items</source>
|
||||
<translation>Alle objecten invouwen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand all items</source>
|
||||
<translation>Alle objecten uitklappen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open file</source>
|
||||
<translation>Bestand openen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit file</source>
|
||||
<translation>Bestand bewerken</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open directory</source>
|
||||
<translation>Directory openen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open terminal here</source>
|
||||
<translation>Terminal hier openen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove item</source>
|
||||
<translation>Verwijder object</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove items</source>
|
||||
<translation>Verwijder objecten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>By description</source>
|
||||
<translation>Door omschrijving</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>By name</source>
|
||||
<translation>Door naam</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find a file</source>
|
||||
<translation>Zoek een bestand</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open root terminal</source>
|
||||
<translation>Open root terminal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Usage</source>
|
||||
<translation>Gebruik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Installeer lokaal pakket ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Voor meer informatie, bezoek:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Een op Qt4 gebaseerde Pacman frontend,</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>Onder de bepalingen van</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Pakket classificatie:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An installed package</source>
|
||||
<translation>Een geïnstalleerd pakket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An installed package (not required by others)</source>
|
||||
<translation>Een geïnstalleerd pakket(niet vereist door anderen)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A foreign package, installed from</source>
|
||||
<translation>Een vreemd pakket, geïnstalleerd vanaf</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A non installed package</source>
|
||||
<translation>Een niet geïnstalleerd pakket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An outdated package</source>
|
||||
<translation>Een verouderd pakket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Basic usage help:</source>
|
||||
<translation>Basisgebruik hulp:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Position the mouse over a package to see its description</source>
|
||||
<translation>Plaats de muis op een pakket om de beschrijving te zien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Double click an installed package to see its contents</source>
|
||||
<translation>Dubbelklik op een geïnstalleerd pakket om de inhoud te zien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right click package to install/reinstall or remove it</source>
|
||||
<translation>Klik met de rechtermuisknop op het pakket om te installeren / opnieuw te installeren of te verwijderen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+key sequences:</source>
|
||||
<translation>Alt+toets combinaties:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+1 to switch to 'Info' tab</source>
|
||||
<translation>Alt+1 om over schakelen naar het tabblad 'Info'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+2 to switch to 'Files' tab</source>
|
||||
<translation>Alt+2 om over schakelen naar het tabblad 'Bestanden'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+3 to switch to 'Transaction' tab</source>
|
||||
<translation>Alt+3 om over schakelen naar het tabblad 'Transactie'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+4 to switch to 'Output' tab</source>
|
||||
<translation>Alt+4 om over schakelen naar het tabblad 'Uitvoer'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+5 to switch to 'News' tab</source>
|
||||
<translation>Alt+5 om over schakelen naar het tabblad 'Nieuws'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+6 or 'F1' to show this help page</source>
|
||||
<translation>Alt+6 of 'F1' om deze help pagina te tonen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Control+key sequences:</source>
|
||||
<translation>Control+toets combinaties:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+D or 'File/Sync database' to sync the local database with latest remote changes (pacman -Sy)</source>
|
||||
<translation>Ctrl+D of 'Bestand/Synchroniseer databank' om de lokale database te synchroniseren met de nieuwste externe veranderingen (pacman -Sy)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+U or 'File/System upgrade' to make a full system upgrade (pacman -Su)</source>
|
||||
<translation>Ctrl+U of 'Bestand/Systeem opwaarderen' om het systeem volledig op te waarderen (pacman -Su)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+L to find a package in the package list</source>
|
||||
<translation>Ctrl+L om een pakket te vinden in de pakket lijst</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+F to search for text inside tab Files, News and Usage</source>
|
||||
<translation>Ctrl+F om te zoeken naar tekst binnen tabblad Bestanden, Nieuws en Gebruik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+N or 'View/Non installed' to show/hide non installed packages</source>
|
||||
<translation>Ctrl+N of 'Bekijk/Niet geïnstalleerd' om niet geïnstalleerde pakketten te tonen/verbergen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+M or 'Transaction/Commit' to start installation/removal of selected packages</source>
|
||||
<translation>Ctrl+M of 'Transactie/Uitvoeren' om de installatie/verwijdering van de geselecteerde pakketten te beginnen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+B or 'Transaction/Rollback' to clear the selection of to be removed/installed packages</source>
|
||||
<translation>Ctrl+B of 'Transactie/Terugdraaien' om de selectie van de te verwijderen/geïnstalleerde pakketten te wissen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+G or 'File/Get latest distro news' to retrieve the latest RSS based distro news</source>
|
||||
<translation>Ctrl+G of 'Bestand/Krijg het laatste distributie nieuws' om de nieuwste RSS gebaseerde distro nieuws te halen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q or 'File/Exit' to exit the application</source>
|
||||
<translation>Ctrl+Q of 'Bestand/Afsluiten' om applicatie af te sluiten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Control+shift+key sequences:</source>
|
||||
<translation>Control+shift+toets combinaties:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Shift+C to clean local packages cache (pacman -Sc)</source>
|
||||
<translation>Ctrl+Shift+C om de lokale pakkettencache te legen (pacman -Sc)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Shift+G to display all package groups</source>
|
||||
<translation>Ctrl+Shift+G om alle pakketgroepen te laten zien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F+key sequences:</source>
|
||||
<translation>F+toets combinaties:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F1 to show this help page</source>
|
||||
<translation>F1 om deze help pagina te tonen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F4 to open a Terminal whitin the selected directory at Files tab</source>
|
||||
<translation>F4 om een Terminal venster te openen in de geselecteerde directory onder het Bestanden venster</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F6 to open a File Manager whitin the selected directory at Files tab</source>
|
||||
<translation>F6 om een Bestandsmanager te openen in de geselecteerde directory in de Files tab</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F10 to maximize/demaximize package list view</source>
|
||||
<translation>F10 om de pakkettenlijst view te maximaliseren/minimaliseren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F12 to maximize/demaximize Tab's view</source>
|
||||
<translation>F12 om de Tab view te maximailseren/minimaliseren</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Octopi gebruikshulp:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>show application version.</source>
|
||||
<translation>Toon de toepassingsversie.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use a different Qt4 style (ex: -style gtk).</source>
|
||||
<translation>Gebruik een andere Qt4 stijl (bv: -style gtk).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use a different remove command (ex: -removecmd R).</source>
|
||||
<translation>Gebruik een andere opdracht om te verwijderen (bv: -removecmd R).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>force a system upgrade at startup.</source>
|
||||
<translation>Forceer een systeem upgrade tijdens het opstarten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Arch Linux news</source>
|
||||
<translation>Arch Linux nieuws</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chakra news</source>
|
||||
<translation>Chakra nieuws</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Manjaro Linux news</source>
|
||||
<translation>Manjaro Linux nieuws</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No news could be found! Press Ctrl+G to download the latest news.</source>
|
||||
<translation>Er is geen nieuws gevonden! Druk Ctrl+G om het laatste nieuws te downloaden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This Linux distro seems to be incompatible with Octopi!</source>
|
||||
<translation>Deze Linux distributie lijkt incompatibel te zijn met Octopi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Internet is niet beschikbaar!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display all groups</source>
|
||||
<translation>Toon alle groepen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Usage</source>
|
||||
<translation>Gebruik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>Over</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation>Naam</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version</source>
|
||||
<translation>Versie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outdated version</source>
|
||||
<translation>Verouderde versie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available version</source>
|
||||
<translation>Beschikbare versie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No description available.</source>
|
||||
<translation>Geen omschrijving beschikbaar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL</source>
|
||||
<translation>URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repository</source>
|
||||
<translation>Repository</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Licenses</source>
|
||||
<translation>Licenties</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group</source>
|
||||
<translation>Groep</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Groups</source>
|
||||
<translation>Groepen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Provides</source>
|
||||
<translation>Levert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Depends On</source>
|
||||
<translation>Hangt af van</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Optional Deps</source>
|
||||
<translation>Optionele afhankelijkheden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicts With</source>
|
||||
<translation>Confliteert met</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Replaces</source>
|
||||
<translation>Vervangt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Download Size</source>
|
||||
<translation>Download grootte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installed Size</source>
|
||||
<translation>Geinstalleerde grootte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packager</source>
|
||||
<translation>Packager</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package</source>
|
||||
<translation>Pakket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packages</source>
|
||||
<translation>Pakketten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Architecture</source>
|
||||
<translation>Architectuur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Date</source>
|
||||
<translation>Bouw datum</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description</source>
|
||||
<translation>Omschrijving</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Attention</source>
|
||||
<translation>Attentie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>automatic</source>
|
||||
<translation>automatisch</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>Wachtwoord</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation>Informatie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files</source>
|
||||
<translation>Bestanden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction</source>
|
||||
<translation>Transactie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Uitvoer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>News</source>
|
||||
<translation>Nieuws</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Contents of "%1"</source>
|
||||
<translation>Inhoud van "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find</source>
|
||||
<translation>Zoeken</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Schonen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> (outdated installed version is %1)</source>
|
||||
<translation>(geïnstalleerde versie %1 is verouderd)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Building package list...</source>
|
||||
<translation>Pakketlijst aan het opbouwen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Searching for %1 latest news...</source>
|
||||
<translation>Zoeken naar %1 laatste nieuws...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is one outdated package in your system:</source>
|
||||
<translation>Er is één verouderd pakket op uw systeem:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are %1 outdated packages in your system:</source>
|
||||
<translation>Er zijn %1 verouderde pakketten op uw systeem:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(version %1 is available)</source>
|
||||
<translation>(versie %1 is verkrijgbaar)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 (%2) packages</source>
|
||||
<translation>%1 (%2) pakketten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 installed</source>
|
||||
<translation>%1 geïnstalleerd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 outdated</source>
|
||||
<translation>%1 verouderd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 available</source>
|
||||
<translation>%1 verkrijgbaar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cleaning package cache...</source>
|
||||
<translation>Pakketcache aan het legen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing</source>
|
||||
<translation>Synchroniseren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Press any key to continue...</source>
|
||||
<translation>Druk op een toets om door te gaan...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing databases...</source>
|
||||
<translation>Databanken synchroniseren...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>is up to date</source>
|
||||
<translation>is up-to-date</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting full system upgrade...</source>
|
||||
<translation>Beginnen met volledige systeem opwaardering ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installing selected packages...</source>
|
||||
<translation>Installeren van geselecteerde pakketten...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Removing selected packages...</source>
|
||||
<translation>Verwijderen van geselecteerde pakketten...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Removing/installing selected packages...</source>
|
||||
<translation>Verwijderen/installeren van geselecteerde pakketten...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Running command in terminal...</source>
|
||||
<translation>Uitvoeren van opdracht in terminal...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished OK!</source>
|
||||
<translation>Opdracht klaar OK!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished with errors!</source>
|
||||
<translation>Opdracht beëindigd met fouten!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Retrieving %1</source>
|
||||
<translation>%1 ophalen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total download size: %1 KB</source>
|
||||
<translation>Totale download grootte: %1 KB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following target needs to be retrieved</source>
|
||||
<translation>Het volgende pakket moet worden opgehaald</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following target will be removed</source>
|
||||
<translation>Het volgende pakket wordt verwijderd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 targets need to be retrieved</source>
|
||||
<translation>De volgende %1 pakketten moeten worden opgehaald</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 targets will be removed</source>
|
||||
<translation>De volgende %1 pakketten zullen worden verwijderd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are forbidden packages in the removal list!</source>
|
||||
<translation>Er zijn verboden pakketten in de verwijder lijst!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no new updates available!</source>
|
||||
<translation>Er zijn geen nieuwe updates beschikbaar!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is an update available!</source>
|
||||
<translation>Er is een opwaardering beschikbaar!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are %1 updates available!</source>
|
||||
<translation>Er zijn %1 opwaarderingen beschikbaar!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm?</source>
|
||||
<translation>Bevestigen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning!!!</source>
|
||||
<translation>Waarschuwing!!!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirmation</source>
|
||||
<translation>Bevestiging</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There has been a transaction error!</source>
|
||||
<translation>Er is een transactie fout voorgekomen!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to execute this transaction in a Terminal?</source>
|
||||
<translation>Wilt u deze transactie uit te voeren in een terminal?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to clean the package cache?</source>
|
||||
<translation>Wilt u echt de pakket cache legen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to rollback the transaction?</source>
|
||||
<translation>Wilt u de transactie echt terugdraaien?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, enter the administrator's password</source>
|
||||
<translation>Voer aub het wachtwoord van de beheerder in</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no means to get administrator's credentials.</source>
|
||||
<translation>Er zijn geen middelen om de verificatiegegevens van de beheerder te krijgen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You'll need to install a su frontend like gksu or kdesu.</source>
|
||||
<translation>U moet een su frontend als gksu of kdesu installeren.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You can not run Octopi with administrator's credentials.</source>
|
||||
<translation>U kunt Octopi niet uitvoeren met de verificatiegegevens van de beheerder.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is a pending transaction</source>
|
||||
<translation>Er is een lopende transactie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to quit?</source>
|
||||
<translation>Wilt u echt stoppen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Executing command</source>
|
||||
<translation>Uitvoeren van opdracht</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run in terminal</source>
|
||||
<translation>Uitvoeren in terminal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Needs application restart to take effect</source>
|
||||
<translation>Moet de toepassing opnieuw starten om door te voeren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Deze veranderingen worden pas doorgevoerd als u de toepassing herstart!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Selecteer de pakketten die u wilt installeren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
<translation>Dit bestand lijkt niet een eenvoudige tekst te zijn.
|
||||
Weet u zeker dat u het wilt openen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To be installed</source>
|
||||
<translation>Wordt geïnstalleerd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To be removed</source>
|
||||
<translation>Wordt verwijderd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>remove</source>
|
||||
<translation>verwijderen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>install</source>
|
||||
<translation>installeren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove item</source>
|
||||
<translation>Verwijder object</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove items</source>
|
||||
<translation>Verwijder objecten</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SearchBar</name>
|
||||
<message>
|
||||
<source>Previous</source>
|
||||
<translation>Vorige</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Next</source>
|
||||
<translation>Volgende</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Sluiten</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDialog</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation>Formulier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run in terminal</source>
|
||||
<translation>Uitvoeren in terminal</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
Binary file not shown.
@@ -181,6 +181,14 @@
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>zainstalować pakiet lokalny ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Aby uzyskać więcej informacji, odwiedź stronę:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Frontend oparty na Qt4 Pacman,</translation>
|
||||
@@ -189,10 +197,6 @@
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>licencjonowany na warunkach</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Aby uzyskać więcej informacji, odwiedź stronę:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Klasyfikacja pakietów:</translation>
|
||||
@@ -341,7 +345,7 @@
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi help usage:</source>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Korzystanie z pomocy Octopi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -381,7 +385,7 @@
|
||||
<translation>Ta dystybucja Linux wydaje się być niezgodna z Octopi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems anavailable!</source>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Brak dostępu do Internetu!</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -728,6 +732,10 @@
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Zmiany te wymagają ponownego uruchomienia aplikacji!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Wybierz pakiety, które chcesz zainstalować</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
|
||||
Binary file not shown.
@@ -181,6 +181,14 @@
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Instalar pacote local...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Para maiores informações, visite:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Um frontend para o Pacman desenvolvido em Qt4,</translation>
|
||||
@@ -189,10 +197,6 @@
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>licenciado nos termos da</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Para maiores informações, visite:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Classificação do pacote:</translation>
|
||||
@@ -341,7 +345,7 @@
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi help usage:</source>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Ajuda do Octopi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -381,7 +385,7 @@
|
||||
<translation>Esta distro Linux parece ser incompatível com o Octopi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems anavailable!</source>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>A internet parece estar indisponível!</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -728,6 +732,10 @@
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Estas mudanças necessitam que a aplicação seja reiniciada para terem efeito!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Selecione os pacotes que deseja instalar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
|
||||
Binary file not shown.
@@ -181,6 +181,14 @@
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Instalează pachet local...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Pentru mai multe informații vizitați:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>O interfață Pacman bazată pe Qt4,</translation>
|
||||
@@ -189,10 +197,6 @@
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>licențiată în termenii</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Pentru mai multe informații vizitați:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Clasificarea pachetelor:</translation>
|
||||
@@ -341,7 +345,7 @@
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi help usage:</source>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Ajutor de utilizare Octopi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -381,7 +385,7 @@
|
||||
<translation>Această distribuție Linux pare incompatibilă cu Octopi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems anavailable!</source>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Internetul pare nedisponibil!</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -728,6 +732,10 @@
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Aceste schimbări au nevoie de repornirea aplicației pentru a avea efect!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Selectați pachetele pe care le vreți instalate</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
|
||||
BIN
resources/translations/octopi_ru.qm
Normal file
BIN
resources/translations/octopi_ru.qm
Normal file
Binary file not shown.
796
resources/translations/octopi_ru.ts
Normal file
796
resources/translations/octopi_ru.ts
Normal file
@@ -0,0 +1,796 @@
|
||||
<?xml version="1.0" ?><!DOCTYPE TS><TS language="ru" version="2.0">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<source>Octopi</source>
|
||||
<translation>Octopi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation>Информация</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files</source>
|
||||
<translation>Файлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction</source>
|
||||
<translation>Транзакция</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Вывод</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Help</source>
|
||||
<translation>Помощь</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View</source>
|
||||
<translation>Вид</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File</source>
|
||||
<translation>Файл</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search</source>
|
||||
<translation>Поиск</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>О программе</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non installed</source>
|
||||
<translation>Не установлено</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+N</source>
|
||||
<translation>Ctrl+N</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Commit</source>
|
||||
<translation>Совершить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+M</source>
|
||||
<translation>Ctrl+M</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rollback</source>
|
||||
<translation>Откат</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+B</source>
|
||||
<translation>Ctrl+B</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sync database</source>
|
||||
<translation>Синхронизация базы данных</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+D</source>
|
||||
<translation>Ctrl+D</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exit</source>
|
||||
<translation>Выход</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q</source>
|
||||
<translation>Ctrl+Q</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>System upgrade</source>
|
||||
<translation>Обновление системы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+U</source>
|
||||
<translation>Ctrl+U</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install</source>
|
||||
<translation>Установка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove</source>
|
||||
<translation>Удаление</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outdated packages</source>
|
||||
<translation>Устаревшие пакеты</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Get latest distro news</source>
|
||||
<translation>Получить последние новости о дистрибутиве</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+G</source>
|
||||
<translation>Ctrl+G</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove group</source>
|
||||
<translation>Удаление группы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install group</source>
|
||||
<translation>Установка группы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse item</source>
|
||||
<translation>Свернуть</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand item</source>
|
||||
<translation>Развернуть</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse all items</source>
|
||||
<translation>Свернуть все</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand all items</source>
|
||||
<translation>Развернуть все</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open file</source>
|
||||
<translation>Открыть файл</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit file</source>
|
||||
<translation>Редактировать файл</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open directory</source>
|
||||
<translation>Открыть директорию</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open terminal here</source>
|
||||
<translation>Открыть терминал здесь</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove item</source>
|
||||
<translation>Удалить элемент</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove items</source>
|
||||
<translation>Удалить элементы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>By description</source>
|
||||
<translation>По описанию</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>By name</source>
|
||||
<translation>По имени</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find a file</source>
|
||||
<translation>Поиск файла</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open root terminal</source>
|
||||
<translation>Открыть root-терминал</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Usage</source>
|
||||
<translation>Использование</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Установка локального пакета...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Для дополнительной информации посетите:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Фронт-энд Pacman, основанный на Qt4,</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>лицензированный на условиях</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Классификация пакетов:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An installed package</source>
|
||||
<translation>Установленый пакет</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An installed package (not required by others)</source>
|
||||
<translation>Установленный пакет (не требуемый другими)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A foreign package, installed from</source>
|
||||
<translation>Чужой пакет, установленный с</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A non installed package</source>
|
||||
<translation>Не установленный пакет</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An outdated package</source>
|
||||
<translation>Устаревший пакет</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Basic usage help:</source>
|
||||
<translation>Базовое использование помощи:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Position the mouse over a package to see its description</source>
|
||||
<translation>Переместите курсор на пакет, чтобы увидеть его описание</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Double click an installed package to see its contents</source>
|
||||
<translation>Дважды щелкните по установленому пакету, чтобы увидеть его содержимое</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right click package to install/reinstall or remove it</source>
|
||||
<translation>Щелкните правой кнопкой для установки / переустановки или удаление пакета</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+key sequences:</source>
|
||||
<translation>Комбинации Alt+key:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+1 to switch to 'Info' tab</source>
|
||||
<translation>Alt+1 переключение на кладку "информация"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+2 to switch to 'Files' tab</source>
|
||||
<translation>Alt+2 переключение на вкладку "Файлы"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+3 to switch to 'Transaction' tab</source>
|
||||
<translation>Alt+3 переключение на вкладку "Транзакции"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+4 to switch to 'Output' tab</source>
|
||||
<translation>Alt+4 переключение на вкладку "Вывод"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+5 to switch to 'News' tab</source>
|
||||
<translation>Alt+5 переключение на вкладку "Новости"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+6 or 'F1' to show this help page</source>
|
||||
<translation>Alt+6 или F1, чтобы показать эту страницу помощи</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Control+key sequences:</source>
|
||||
<translation>Комбинации Control+key:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+D or 'File/Sync database' to sync the local database with latest remote changes (pacman -Sy)</source>
|
||||
<translation>Ctrl+D или "Файл/Синхронизировать базу данных" синхронизирует локальную базу данных с репозиториями (pacman -Sy)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+U or 'File/System upgrade' to make a full system upgrade (pacman -Su)</source>
|
||||
<translation>Ctrl+U или "Файл/ Обновление Системы" для полного обновления системы (pacman -Su)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+L to find a package in the package list</source>
|
||||
<translation>Ctrl+L поиск пакета, в списке пакетов</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+F to search for text inside tab Files, News and Usage</source>
|
||||
<translation>Ctrl+F для поиска текста внутри вкладок Файлы, Новости и Использование</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+N or 'View/Non installed' to show/hide non installed packages</source>
|
||||
<translation>Ctrl+N или "Просмотр/Не установленные" показывает/скрывает не установленые пакеты</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+M or 'Transaction/Commit' to start installation/removal of selected packages</source>
|
||||
<translation>Ctrl+M или "Транзакция/Коммит" для начала установки/ удаления выбранных пакетов</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+B or 'Transaction/Rollback' to clear the selection of to be removed/installed packages</source>
|
||||
<translation>Ctrl+B или "Транзакция/Откат" для очистки выбора пакетов для установки/удаления </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+G or 'File/Get latest distro news' to retrieve the latest RSS based distro news</source>
|
||||
<translation>Ctrl+G или 'Файл/Получить последние новости о дистрибутиве' для получения последних RSS-новостей о дистрибутиве</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q or 'File/Exit' to exit the application</source>
|
||||
<translation>Ctrl+Q или 'Файл/Выход' для выхода из приложения</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Control+shift+key sequences:</source>
|
||||
<translation>Комбинации control+shift+key:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Shift+C to clean local packages cache (pacman -Sc)</source>
|
||||
<translation>Ctrl+Shift+C для очистки локального кэша пакетов (pacman -Sc)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Shift+G to display all package groups</source>
|
||||
<translation>Ctrl+Shift+G для отображения всех групп пакетов</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F+key sequences:</source>
|
||||
<translation>Комбинации F+key:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F1 to show this help page</source>
|
||||
<translation>F1 для показа данной страницы помощи</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F4 to open a Terminal whitin the selected directory at Files tab</source>
|
||||
<translation>F4 для открытия терминала внутри выбранного каталога вкладки Файлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F6 to open a File Manager whitin the selected directory at Files tab</source>
|
||||
<translation>F6 для открытия файлового менеджера внутри выбранного каталога вкладки Файлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F10 to maximize/demaximize package list view</source>
|
||||
<translation>F10 для разворачивания/сворачивания просмотра списка пакетов</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F12 to maximize/demaximize Tab's view</source>
|
||||
<translation>F12 для разворачивания/сворачивания просмотра вкладок</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Использование помощи Octopi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>show application version.</source>
|
||||
<translation>показать версию приложения.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use a different Qt4 style (ex: -style gtk).</source>
|
||||
<translation>использование другого стиля Qt4 (напр.: -style gtk).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use a different remove command (ex: -removecmd R).</source>
|
||||
<translation>используйте другую команду удаления (напр.: -removecmd R).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>force a system upgrade at startup.</source>
|
||||
<translation>форсировать обновление системы при запуске.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Arch Linux news</source>
|
||||
<translation>Новости Arch Linux</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chakra news</source>
|
||||
<translation>Новости Chakra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Manjaro Linux news</source>
|
||||
<translation>Новости Manjaro Linux</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No news could be found! Press Ctrl+G to download the latest news.</source>
|
||||
<translation>Новости не найдены! Для загрузки последних новостей нажмите Ctrl+G .</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This Linux distro seems to be incompatible with Octopi!</source>
|
||||
<translation>Похоже что данный дистрибутив Linux несовместим с Octopi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Похоже что интернет недоступен!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display all groups</source>
|
||||
<translation>Отобразить все группы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Usage</source>
|
||||
<translation>Использование</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>О программе</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation>Название</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version</source>
|
||||
<translation>Версия</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outdated version</source>
|
||||
<translation>Устаревшая версия</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available version</source>
|
||||
<translation>Доступная версия</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No description available.</source>
|
||||
<translation>Описание недоступно.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL</source>
|
||||
<translation>Ссылка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repository</source>
|
||||
<translation>Репозиторий</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Licenses</source>
|
||||
<translation>Лицензии</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group</source>
|
||||
<translation>Группа</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Groups</source>
|
||||
<translation>Группы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Provides</source>
|
||||
<translation>Предоставляет</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Depends On</source>
|
||||
<translation>Зависит от</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Optional Deps</source>
|
||||
<translation>Дополнительные зависимости</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicts With</source>
|
||||
<translation>Конфликтует с</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Replaces</source>
|
||||
<translation>Заменяет</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Download Size</source>
|
||||
<translation>Размер загрузки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installed Size</source>
|
||||
<translation>Размер установки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packager</source>
|
||||
<translation>Создатель пакета</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package</source>
|
||||
<translation>Пакет</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packages</source>
|
||||
<translation>Пакеты</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Architecture</source>
|
||||
<translation>Архитектура</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Date</source>
|
||||
<translation>Дата сборки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description</source>
|
||||
<translation>Описание</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Attention</source>
|
||||
<translation>Внимание</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>automatic</source>
|
||||
<translation>автоматически</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>Пароль</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation>Информация</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files</source>
|
||||
<translation>Файлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction</source>
|
||||
<translation>Транзакция</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Вывод</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>News</source>
|
||||
<translation>Новости</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Contents of "%1"</source>
|
||||
<translation>Содержимое "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find</source>
|
||||
<translation>Поиск</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Очистка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> (outdated installed version is %1)</source>
|
||||
<translation> (устаревшая установленная версия %1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Building package list...</source>
|
||||
<translation>Формируется список пакетов...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Searching for %1 latest news...</source>
|
||||
<translation>Поиск последних новостей %1...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is one outdated package in your system:</source>
|
||||
<translation>В системе имеется устаревший пакет:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are %1 outdated packages in your system:</source>
|
||||
<translation>В системе имеются %1 устаревших пакетов:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(version %1 is available)</source>
|
||||
<translation>(доступна версия %1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 (%2) packages</source>
|
||||
<translation>%1 (%2) пакетов</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 installed</source>
|
||||
<translation>%1 установлено</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 outdated</source>
|
||||
<translation>%1 устарело</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 available</source>
|
||||
<translation>%1 доступно</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cleaning package cache...</source>
|
||||
<translation>Очищается кэш пакетов...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing</source>
|
||||
<translation>Синхронизация</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Press any key to continue...</source>
|
||||
<translation>Нажмите любую клавишу для продолжения...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing databases...</source>
|
||||
<translation>Синхронизируется база данных...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>is up to date</source>
|
||||
<translation>в актуальном состоянии</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting full system upgrade...</source>
|
||||
<translation>Запускается полное обновление системы...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installing selected packages...</source>
|
||||
<translation>Устанавливаются выбранные пакеты...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Removing selected packages...</source>
|
||||
<translation>Удаляются выбранные пакеты...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Removing/installing selected packages...</source>
|
||||
<translation>Удаляются/устанавливаются выбранные пакеты...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Running command in terminal...</source>
|
||||
<translation>Запускается команда в терминале...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished OK!</source>
|
||||
<translation>Команда успешно завершена!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished with errors!</source>
|
||||
<translation>Команда выполнена без ошибок!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Retrieving %1</source>
|
||||
<translation>Получение %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total download size: %1 KB</source>
|
||||
<translation>Общий объем загрузки: %1 KB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following target needs to be retrieved</source>
|
||||
<translation>Следующая цель должна быть восстановлена</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following target will be removed</source>
|
||||
<translation>Следующая цель будет удалена</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 targets need to be retrieved</source>
|
||||
<translation>Следующие %1 цели будут получены</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 targets will be removed</source>
|
||||
<translation>Следующие цели %1 будут удалены </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are forbidden packages in the removal list!</source>
|
||||
<translation>В списке на удаление имеются запрещенные пакеты!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no new updates available!</source>
|
||||
<translation>Обновлений не имеется!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is an update available!</source>
|
||||
<translation>Имеется обновление!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are %1 updates available!</source>
|
||||
<translation>Имеются %1 обновлений!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm?</source>
|
||||
<translation>Подтвердить?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning!!!</source>
|
||||
<translation>Внимание!!!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirmation</source>
|
||||
<translation>Подтверждение</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There has been a transaction error!</source>
|
||||
<translation>Произошла ошибка транзакции!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to execute this transaction in a Terminal?</source>
|
||||
<translation>Вы хотите, выполнить эту транзакцию в терминале?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to clean the package cache?</source>
|
||||
<translation>Вы действительно хотите очистить кеш пакетов ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to rollback the transaction?</source>
|
||||
<translation>Вы действительно хотите отменить транзакцию?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, enter the administrator's password</source>
|
||||
<translation>Пожалуйста, введите пароль администратора</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no means to get administrator's credentials.</source>
|
||||
<translation>Невозможно получить полномочия администратора.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You'll need to install a su frontend like gksu or kdesu.</source>
|
||||
<translation>Вам нужно установить фронтэнд для su, такие как gksu или kdesu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You can not run Octopi with administrator's credentials.</source>
|
||||
<translation>Вы не можете запустить Octopi с правами администратора.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is a pending transaction</source>
|
||||
<translation>Имеется отложенная транзакция</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to quit?</source>
|
||||
<translation>Вы действительно хотите выйти ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Executing command</source>
|
||||
<translation>Выполнение команды</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run in terminal</source>
|
||||
<translation>Запустить в терминале </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Needs application restart to take effect</source>
|
||||
<translation>Для принятия изменений, требуется перезагрузка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>При повторном запуске приложения, данные изменения вступят в силу!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Выберите пакет для установки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
<translation>Похоже что данный файл не является простым текстом.\n
|
||||
Вы уверены в том, что хотите открыть его?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To be installed</source>
|
||||
<translation>Для установки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To be removed</source>
|
||||
<translation>Для удаления</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>remove</source>
|
||||
<translation>удалить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>install</source>
|
||||
<translation>установить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove item</source>
|
||||
<translation>Удалить элемент</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove items</source>
|
||||
<translation>Удалить элементы</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SearchBar</name>
|
||||
<message>
|
||||
<source>Previous</source>
|
||||
<translation>Предыдущий</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Next</source>
|
||||
<translation>Далее</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Закрыть</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDialog</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation>Форма</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run in terminal</source>
|
||||
<translation>Запустить в терминале</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
BIN
resources/translations/octopi_sr@latin.qm
Normal file
BIN
resources/translations/octopi_sr@latin.qm
Normal file
Binary file not shown.
796
resources/translations/octopi_sr@latin.ts
Normal file
796
resources/translations/octopi_sr@latin.ts
Normal file
@@ -0,0 +1,796 @@
|
||||
<?xml version="1.0" ?><!DOCTYPE TS><TS language="sr@latin" version="2.0">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<source>Octopi</source>
|
||||
<translation>Octopi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation>Informacije</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files</source>
|
||||
<translation>Datoteke</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction</source>
|
||||
<translation>Tranzakcija</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Izlaz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Help</source>
|
||||
<translation>Pomoć</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View</source>
|
||||
<translation>Pogledaj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File</source>
|
||||
<translation>Datoteka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search</source>
|
||||
<translation>Traži</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>O</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non installed</source>
|
||||
<translation>Nije instalirano</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+N</source>
|
||||
<translation>Ctrl+N</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Commit</source>
|
||||
<translation>Uradi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+M</source>
|
||||
<translation>Ctrl+M</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rollback</source>
|
||||
<translation>Poništiti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+B</source>
|
||||
<translation>Ctrl+B</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sync database</source>
|
||||
<translation>Sinhronizuj bazu podataka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+D</source>
|
||||
<translation>Ctrl+D</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exit</source>
|
||||
<translation>Izađi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q</source>
|
||||
<translation>Ctrl+Q</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>System upgrade</source>
|
||||
<translation>Nadogradnja sistema</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+U</source>
|
||||
<translation>Ctrl+U</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install</source>
|
||||
<translation>instaliraj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove</source>
|
||||
<translation>Ukloni</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outdated packages</source>
|
||||
<translation>Zastareli paketi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Get latest distro news</source>
|
||||
<translation>Preuzmi vjesti o distribuciji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+G</source>
|
||||
<translation>Ctrl+G</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove group</source>
|
||||
<translation>Ukloni grupu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install group</source>
|
||||
<translation>Instaliraj grupu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse item</source>
|
||||
<translation>Zatvori predmet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand item</source>
|
||||
<translation>Proširi predmet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse all items</source>
|
||||
<translation>Zatvori sve predmete</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand all items</source>
|
||||
<translation>Proširi sve predmete</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open file</source>
|
||||
<translation>Otvori datoteku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit file</source>
|
||||
<translation>Izmjeni datoteku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open directory</source>
|
||||
<translation>Otvori datoteku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open terminal here</source>
|
||||
<translation>Otvori terminal ovde</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove item</source>
|
||||
<translation>Ukloni predmet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove items</source>
|
||||
<translation>Ukloni predmete</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>By description</source>
|
||||
<translation>Po opisu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>By name</source>
|
||||
<translation>Po imenu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find a file</source>
|
||||
<translation>Nađi datoteku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open root terminal</source>
|
||||
<translation>Otvori terminal kao root</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Usage</source>
|
||||
<translation>Korištenje</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Instaliravam lokalne pakete...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Za više informacija posjetite:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Interfejs za Pacman napravljen u Qt4,</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>licensiran je pod uslovima</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Kategorizacija paketa:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An installed package</source>
|
||||
<translation>Instalirani paket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An installed package (not required by others)</source>
|
||||
<translation>Instalirani paket (nije potreban od strane drugih paketa)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A foreign package, installed from</source>
|
||||
<translation>Strani paket, instaliran iz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A non installed package</source>
|
||||
<translation>Ne instaliran paket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An outdated package</source>
|
||||
<translation>Zastareli paket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Basic usage help:</source>
|
||||
<translation>Osnovna upustva za korištenje:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Position the mouse over a package to see its description</source>
|
||||
<translation>Postavite miša na paket da bih ste vidjeli njegov opis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Double click an installed package to see its contents</source>
|
||||
<translation>Duplim klikom na instalirani paket možete pogledati njegov sadržaj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right click package to install/reinstall or remove it</source>
|
||||
<translation>Desni klik na paket da bih ste ga instalirali/reinstalirali ili uklonili</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+key sequences:</source>
|
||||
<translation>Alt+dugme komande:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+1 to switch to 'Info' tab</source>
|
||||
<translation>Alt+1 da bi ste se prebacili na karticu 'Info'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+2 to switch to 'Files' tab</source>
|
||||
<translation>Alt+2 da bi ste se prebacili na karticu 'Dokumenti'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+3 to switch to 'Transaction' tab</source>
|
||||
<translation>Alt+3 da bi ste se prebacili na karticu 'Tranzakcije'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+4 to switch to 'Output' tab</source>
|
||||
<translation>Alt+4 da bi ste se prebacili na karticu 'Izlaz'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+5 to switch to 'News' tab</source>
|
||||
<translation>Alt+5 da bi ste se prebacili na karticu 'Vjesti'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+6 or 'F1' to show this help page</source>
|
||||
<translation>Alt+6 ili 'F1' da bi ste vidjeli ovu stranicu za pomoć</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Control+key sequences:</source>
|
||||
<translation>CTRL+dugme komande:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+D or 'File/Sync database' to sync the local database with latest remote changes (pacman -Sy)</source>
|
||||
<translation>Ctrl+D ili 'Datoteka/Sinhronizuj bazu podataka' da bi ste sinhronizovali lokalnu bazu sa najnovijim promjenama (pacman -Sy)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+U or 'File/System upgrade' to make a full system upgrade (pacman -Su)</source>
|
||||
<translation>Ctrl+ ili 'Datoteka/Nadogradnja sistema' da bi ste nadogradili cjeli sistem (pacman -Su)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+L to find a package in the package list</source>
|
||||
<translation>Ctrl+L da bi ste nasli paket u listi paketa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+F to search for text inside tab Files, News and Usage</source>
|
||||
<translation>Ctrl+F za pretragu teksta u Dokumentima, Vjestima i Korištenje</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+N or 'View/Non installed' to show/hide non installed packages</source>
|
||||
<translation>Ctrl+N ili 'Pogledaj/Nije instalirano' da bi ste prikazali/sakrili neintalirane pakete</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+M or 'Transaction/Commit' to start installation/removal of selected packages</source>
|
||||
<translation>Ctrl+M ili 'Tranzakcije/Uradi' da bi ste instalirali/obrisali selektovane pakete</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+B or 'Transaction/Rollback' to clear the selection of to be removed/installed packages</source>
|
||||
<translation>Ctrl+B ili 'Tranzakcije/Poništiti' da bi ste poništili izabrane pakete za brisanje/instaliranje</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+G or 'File/Get latest distro news' to retrieve the latest RSS based distro news</source>
|
||||
<translation>Ctrl+G ili 'Datoteka/Preuzmite vjesti o distribuciji/ da bi ste preuzeli najnovije RSS vjesti o distribuciji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q or 'File/Exit' to exit the application</source>
|
||||
<translation>Ctrl+Q ili 'Datotka/Izađi' da bi ste izašli iz aplikacije</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Control+shift+key sequences:</source>
|
||||
<translation>CTRL+Shift+dugme komande:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Shift+C to clean local packages cache (pacman -Sc)</source>
|
||||
<translation>Ctrl+Shift+C da bi ste očistili lokalne keš pakete (pacman -Sc)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Shift+G to display all package groups</source>
|
||||
<translation>Ctrl+Shift+G da bi ste prikazali sve grupe paketa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F+key sequences:</source>
|
||||
<translation>F+dugme komande:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F1 to show this help page</source>
|
||||
<translation>F1 da bi ste prikazali ovu stranicu za pomoć</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F4 to open a Terminal whitin the selected directory at Files tab</source>
|
||||
<translation>F4 da bi ste otvorili Terminal u označenom direktoriju u kartici Datoteke</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F6 to open a File Manager whitin the selected directory at Files tab</source>
|
||||
<translation>F6 da bi ste otvorili Menadžer datoteka u označenom direktoriju u kartici Datoteke</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F10 to maximize/demaximize package list view</source>
|
||||
<translation>F10 da bi ste povećali/smanjili prozor liste paketa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F12 to maximize/demaximize Tab's view</source>
|
||||
<translation>F12 da bi ste povećali/smanjili prozor Kartice</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Octopi pomoć:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>show application version.</source>
|
||||
<translation>prikaži verziju aplikacije.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use a different Qt4 style (ex: -style gtk).</source>
|
||||
<translation>koristi drugačiji Qt4 still (npr: -style gtk).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use a different remove command (ex: -removecmd R).</source>
|
||||
<translation>koristi drugačiju komandu za brisanje (npr: -removecmd R).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>force a system upgrade at startup.</source>
|
||||
<translation>prisili nadogradnju sistema pri paljenju sistema.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Arch Linux news</source>
|
||||
<translation>Arch Linux vjesti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chakra news</source>
|
||||
<translation>Chakra vjesti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Manjaro Linux news</source>
|
||||
<translation>Manjaro Linux vjesti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No news could be found! Press Ctrl+G to download the latest news.</source>
|
||||
<translation>Vjesti nisu nađene! Pritisni Ctrl+G da skineš najnovije vjesti.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This Linux distro seems to be incompatible with Octopi!</source>
|
||||
<translation>Ova Linux distribucija nije kompabitilna sa Octopi-em!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Internet nije dustupan!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display all groups</source>
|
||||
<translation>Prikaži sve grupe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Usage</source>
|
||||
<translation>Korištenje</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>O</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation>Ime</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version</source>
|
||||
<translation>Verzija</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outdated version</source>
|
||||
<translation>Zastarela verzija</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available version</source>
|
||||
<translation>Dostupna verzija</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No description available.</source>
|
||||
<translation>Opis nije dostupan.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL</source>
|
||||
<translation>Stranica</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repository</source>
|
||||
<translation>Skladište</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Licenses</source>
|
||||
<translation>Licensa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group</source>
|
||||
<translation>Grupa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Groups</source>
|
||||
<translation>Grupe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Provides</source>
|
||||
<translation>Obezbeđuje</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Depends On</source>
|
||||
<translation>Zavisi od</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Optional Deps</source>
|
||||
<translation>Opcione zavisnosti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicts With</source>
|
||||
<translation>U sukobu sa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Replaces</source>
|
||||
<translation>Zamjeni</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Download Size</source>
|
||||
<translation>Veličina preuzimanja</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installed Size</source>
|
||||
<translation>Veličina nakon instaliranja</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packager</source>
|
||||
<translation>Paker</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package</source>
|
||||
<translation>Paket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packages</source>
|
||||
<translation>Paketi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Architecture</source>
|
||||
<translation>Arhitektura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Date</source>
|
||||
<translation>Datum izrade</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description</source>
|
||||
<translation>Opis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Attention</source>
|
||||
<translation>Pažnja</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>automatic</source>
|
||||
<translation>automatski</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>Lozinka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation>Informacije</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files</source>
|
||||
<translation>Datoteke</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction</source>
|
||||
<translation>Tranzakcija</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Izlaz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>News</source>
|
||||
<translation>Novosti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Contents of "%1"</source>
|
||||
<translation>Sadrzaj od "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find</source>
|
||||
<translation>Nadji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Ocisti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> (outdated installed version is %1)</source>
|
||||
<translation>(zastarjelo, istalirana verzija je %1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Building package list...</source>
|
||||
<translation>Pravim listu paketa...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Searching for %1 latest news...</source>
|
||||
<translation>Tražim najnovije vjesti za %1 ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is one outdated package in your system:</source>
|
||||
<translation>Postoji jedan zastarjeli paket u vašem sistemu:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are %1 outdated packages in your system:</source>
|
||||
<translation>Postoji %1 zastarjelih paketa u vasem sistemu:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(version %1 is available)</source>
|
||||
<translation>(verzija %1 je dostupna)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 (%2) packages</source>
|
||||
<translation>%1 (%2) paketi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 installed</source>
|
||||
<translation>%1 instalirano</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 outdated</source>
|
||||
<translation>%1 zastarjelo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 available</source>
|
||||
<translation>%1 dostupno</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cleaning package cache...</source>
|
||||
<translation>Čistim pakete u kešu...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing</source>
|
||||
<translation>Sinhronizujem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Press any key to continue...</source>
|
||||
<translation>Pritisni bilo koji taster za nastavak...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing databases...</source>
|
||||
<translation>Sinhronizujem bazu podataka...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>is up to date</source>
|
||||
<translation>ažurirano je</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting full system upgrade...</source>
|
||||
<translation>Počinje nadogradnja cjelog sistema...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installing selected packages...</source>
|
||||
<translation>Instaliravam označene pakete...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Removing selected packages...</source>
|
||||
<translation>Uklanjam označene pakete...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Removing/installing selected packages...</source>
|
||||
<translation>Uklanjam/instaliram označene pakete...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Running command in terminal...</source>
|
||||
<translation>Pokrećem komandu u terminalu...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished OK!</source>
|
||||
<translation>Komanda je završila uspješno!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished with errors!</source>
|
||||
<translation>Komanda je završila sa greskom!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Retrieving %1</source>
|
||||
<translation>Preuzimanje %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total download size: %1 KB</source>
|
||||
<translation>Ukupna veličina preuzimanja: %1 KB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following target needs to be retrieved</source>
|
||||
<translation>Sledeće stvari trebaju biti preuzete</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following target will be removed</source>
|
||||
<translation>Sledeće stvari trebaju biti uklonjene</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 targets need to be retrieved</source>
|
||||
<translation>Sledeće stvari %1 trebaju biti preuzete</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 targets will be removed</source>
|
||||
<translation>Sledeće stvari %1 će biti uklonjene</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are forbidden packages in the removal list!</source>
|
||||
<translation>Postoje zabranjeni paketi u listi za uklanjanje!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no new updates available!</source>
|
||||
<translation>Trenutno nema novih ažuriranja!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is an update available!</source>
|
||||
<translation>Nema dostupnih ažuriranja!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are %1 updates available!</source>
|
||||
<translation>Postoji %1 dostupni ažuriranja!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm?</source>
|
||||
<translation>Potvriditi?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning!!!</source>
|
||||
<translation>Upozorenje!!!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirmation</source>
|
||||
<translation>Potvrda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There has been a transaction error!</source>
|
||||
<translation>Doslo je do greške u tranzakciji!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to execute this transaction in a Terminal?</source>
|
||||
<translation>Da li želite izvršiti ovu tranzakciju u Terminalu?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to clean the package cache?</source>
|
||||
<translation>Da li stvarno želite da očistite keš pakete?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to rollback the transaction?</source>
|
||||
<translation>Da li zaista želite vratiti tranzakciju?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, enter the administrator's password</source>
|
||||
<translation>Molim, unesite administratorsku lozinku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no means to get administrator's credentials.</source>
|
||||
<translation>Nema načina da dobijemo administatorska prava.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You'll need to install a su frontend like gksu or kdesu.</source>
|
||||
<translation>Moraćete da instalirate Su interfejs kao gksu ili kdesu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You can not run Octopi with administrator's credentials.</source>
|
||||
<translation>Nemožete pokrenuti Octopi bez administratorski prava.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is a pending transaction</source>
|
||||
<translation>Postoji tranzakcija na čekanju</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to quit?</source>
|
||||
<translation>Da li stvarno želite da izađete?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Executing command</source>
|
||||
<translation>Izvršavanje komande</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run in terminal</source>
|
||||
<translation>Pokreni u terminalu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Needs application restart to take effect</source>
|
||||
<translation>Aplikacija treba restart da bi promjene stupile na snagu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Ove promjene zahtjevaju restart aplikacije da bi stupile na snagu!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Selektujte pakete koje želite da instalirate</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
<translation>Ova datoteka ne izgleda kao običan tekst.
|
||||
Da li ste sigurni da je želite otvoriti?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To be installed</source>
|
||||
<translation>Za instalaciju</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To be removed</source>
|
||||
<translation>Za uklanjanje</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>remove</source>
|
||||
<translation>ukloni</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>install</source>
|
||||
<translation>instaliraj</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove item</source>
|
||||
<translation>Ukloni predmet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove items</source>
|
||||
<translation>Ukloni predmete</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SearchBar</name>
|
||||
<message>
|
||||
<source>Previous</source>
|
||||
<translation>Prošli</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Next</source>
|
||||
<translation>Sledeći</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Zatvori</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDialog</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation>Obrazac</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run in terminal</source>
|
||||
<translation>Pokreni u terminalu</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
Binary file not shown.
@@ -181,6 +181,14 @@
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Yerel pakaet yükle...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Daha fazla bilgi için ziyaret edin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>QT4 temelli Pacman arayüzü</translation>
|
||||
@@ -189,10 +197,6 @@
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>hakları ile lisanslanmıştır</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Daha fazla bilgi için ziyaret edin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Paket sınıflandırması</translation>
|
||||
@@ -341,7 +345,7 @@
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi help usage:</source>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Octopi yardım kullanımı</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -381,7 +385,7 @@
|
||||
<translation>Bu Linux dağıtımı Octopi ile uyumsuz görünüyor.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems anavailable!</source>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>İnternet erişilemez durumda görünüyor.</translation>
|
||||
</message>
|
||||
<message>
|
||||
@@ -728,6 +732,10 @@
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Bu değişiklikler, efektlerin etkin olması için uygulamanın yeniden başlatılmasını gerektirir!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Yüklemek istediğiniz paketi seçin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
|
||||
BIN
resources/translations/octopi_uz.qm
Normal file
BIN
resources/translations/octopi_uz.qm
Normal file
Binary file not shown.
796
resources/translations/octopi_uz.ts
Normal file
796
resources/translations/octopi_uz.ts
Normal file
@@ -0,0 +1,796 @@
|
||||
<?xml version="1.0" ?><!DOCTYPE TS><TS language="uz" version="2.0">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<source>Octopi</source>
|
||||
<translation>Octopi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation>Ma'lumot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files</source>
|
||||
<translation>Fayllar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction</source>
|
||||
<translation>Tranzaksiya</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Natija</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Help</source>
|
||||
<translation>Yordam</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View</source>
|
||||
<translation>Ko'rish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File</source>
|
||||
<translation>Fayl</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search</source>
|
||||
<translation>Qidirish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>Dastur haqida</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non installed</source>
|
||||
<translation>O'rnatilmagan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+N</source>
|
||||
<translation>Ctrl+N</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Commit</source>
|
||||
<translation>Qo'llash</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+M</source>
|
||||
<translation>Ctrl+M</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rollback</source>
|
||||
<translation>Qaytarish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+B</source>
|
||||
<translation>Ctrl+B</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sync database</source>
|
||||
<translation>Ma'lumot bazasini sinxronlash</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+D</source>
|
||||
<translation>Ctrl+D</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exit</source>
|
||||
<translation>Chiqish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q</source>
|
||||
<translation>Ctrl+Q</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>System upgrade</source>
|
||||
<translation>Tizimni yangilash</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+U</source>
|
||||
<translation>Ctrl+U</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install</source>
|
||||
<translation>O'rnatish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove</source>
|
||||
<translation>O'chirish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outdated packages</source>
|
||||
<translation>Eskirgan paketlar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Get latest distro news</source>
|
||||
<translation>Distributiv so'nggi yangiliklarini olish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+G</source>
|
||||
<translation>Ctrl+G</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove group</source>
|
||||
<translation>Guruhni o'chirish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install group</source>
|
||||
<translation>Guruhni o'rnatish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse item</source>
|
||||
<translation>Bandni yopish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand item</source>
|
||||
<translation>Bandni ochish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse all items</source>
|
||||
<translation>Hamma bandlarni yopish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand all items</source>
|
||||
<translation>Hamma bandlarni ochish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open file</source>
|
||||
<translation>Faylni ochish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit file</source>
|
||||
<translation>Faylni tahrirlash</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open directory</source>
|
||||
<translation>Direktoriyani ochish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open terminal here</source>
|
||||
<translation>Terminalni shu joyda ochish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove item</source>
|
||||
<translation>Bandni o'chirish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove items</source>
|
||||
<translation>Bandlarni o'chirish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>By description</source>
|
||||
<translation>Ta'rifi bo'yicha</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>By name</source>
|
||||
<translation>Nomi bo'yicha</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find a file</source>
|
||||
<translation>Faylni topish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open root terminal</source>
|
||||
<translation>Root terminalini ochish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Usage</source>
|
||||
<translation>Ishlatilishi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Mahalliy paketni o'rnatish...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Qo'shimcha ma'lumot olish uchun tashrif buyuring:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Qt4-asosidagi Pacman frontendi,</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>quyidagi litsenziya shartlari asosida</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Paket klassifikatsiyasi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An installed package</source>
|
||||
<translation>O'rnatilgan paket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An installed package (not required by others)</source>
|
||||
<translation>O'rnatilgan paket (boshqalar tomonidan talab etilmagan)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A foreign package, installed from</source>
|
||||
<translation>Begona paket, o'rnatilish manbai</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A non installed package</source>
|
||||
<translation>O'rnatilmagan paket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An outdated package</source>
|
||||
<translation>Eskirgan paket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Basic usage help:</source>
|
||||
<translation>Umumiy foydalanish yordami:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Position the mouse over a package to see its description</source>
|
||||
<translation>Paket ta'rifini ko'rish uchun sichqonchani ustiga olib boring</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Double click an installed package to see its contents</source>
|
||||
<translation>O'rnatilgan paketning tarkibini ko'rish uchun ustidan ikki marta bosing</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right click package to install/reinstall or remove it</source>
|
||||
<translation>Paketni o'rnatish/qayta o'rnatish yoki o'chirish uchun ustidan sichqonchaning o'ng tugmasini bosing</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+key sequences:</source>
|
||||
<translation>Alt+tugma birikmalari:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+1 to switch to 'Info' tab</source>
|
||||
<translation>Alt+1 'Ma'lumot' tabiga o'tish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+2 to switch to 'Files' tab</source>
|
||||
<translation>Alt+2 'Fayllar' tabiga o'tish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+3 to switch to 'Transaction' tab</source>
|
||||
<translation>Alt+3 'Tranzaksiya' tabiga o'tish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+4 to switch to 'Output' tab</source>
|
||||
<translation>Alt+4 'Natija' tabiga o'tish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+5 to switch to 'News' tab</source>
|
||||
<translation>Alt+5 'Yangiliklar' tabiga o'tish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+6 or 'F1' to show this help page</source>
|
||||
<translation>Alt+6 yoki 'F1' ushbu yordam sahifasini ko'rsatish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Control+key sequences:</source>
|
||||
<translation>Control+tugma birikmalari:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+D or 'File/Sync database' to sync the local database with latest remote changes (pacman -Sy)</source>
|
||||
<translation>Ctrl+D yoki 'Fayl/Ma'lumot bazasini sinxronlash' mahalliy ma'lumot bazasini so'nggi masofadagi o'zgarishlar bilan sinxronlash (pacman -Sy)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+U or 'File/System upgrade' to make a full system upgrade (pacman -Su)</source>
|
||||
<translation>Ctrl+U yoki 'Fayl/Tizimni yangilash' butun tizimni yangilash (pacman -Su)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+L to find a package in the package list</source>
|
||||
<translation>Ctrl+L paketlar ro'yxatida paketni izlash</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+F to search for text inside tab Files, News and Usage</source>
|
||||
<translation>Ctrl+F Fayllar, Yangiliklar va Ishlatilishi tablari ichida matnni qidirish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+N or 'View/Non installed' to show/hide non installed packages</source>
|
||||
<translation>Ctrl+N yoki 'Ko'rish/O'rnatilmagan' o'rnatilmagan paketlarni ko'rsatish/bekitish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+M or 'Transaction/Commit' to start installation/removal of selected packages</source>
|
||||
<translation>Ctrl+M yoki 'Tranzaksiya/Qo'llash' tanlangan paketlarning o'rnatilishini/o'chirishini boshlash</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+B or 'Transaction/Rollback' to clear the selection of to be removed/installed packages</source>
|
||||
<translation>Ctrl+B yoki 'Tranzaksiya/Qaytarish' o'chiriladigan/o'rnatiladigan paketlarning tanlashini tozalash</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+G or 'File/Get latest distro news' to retrieve the latest RSS based distro news</source>
|
||||
<translation>Ctrl+G yoki 'Fayl/Diistributiv so'nggi yangiliklarni olish' RSS asosida so'nggi distributiv yangiliklarni olish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q or 'File/Exit' to exit the application</source>
|
||||
<translation>Ctrl+Q yoki 'Fayl/Chiqish' dasturdan chiqish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Control+shift+key sequences:</source>
|
||||
<translation>Control+shift+tugma birikmalari:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Shift+C to clean local packages cache (pacman -Sc)</source>
|
||||
<translation>Ctrl+Shift+C mahalliy paketlar keshini tozalash (pacman -Sc)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Shift+G to display all package groups</source>
|
||||
<translation>Ctrl+Shift+G hamma paket guruhlarini ko'rsatish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F+key sequences:</source>
|
||||
<translation>F+tugma birikmalari:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F1 to show this help page</source>
|
||||
<translation>F1 ushbu yordam sahifasini ko'rsatish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F4 to open a Terminal whitin the selected directory at Files tab</source>
|
||||
<translation>F4 Fayllar tabining tanlangan direktoriya ichida terminalni ochish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F6 to open a File Manager whitin the selected directory at Files tab</source>
|
||||
<translation>F6 Fayllar tabining tanlangan direktoriya ichida fayl boshqaruvchisini ochish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F10 to maximize/demaximize package list view</source>
|
||||
<translation>F10 paketlar ro'yxati ko'rinishini kattartirish/kichiktirish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F12 to maximize/demaximize Tab's view</source>
|
||||
<translation>F12 tablar ko'rinishini kattartirish/kichiktirish</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Octopi yordamidan foydalanish:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>show application version.</source>
|
||||
<translation>dastur versiyasini ko'rsatish.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use a different Qt4 style (ex: -style gtk).</source>
|
||||
<translation>boshqa Qt4 uslubini qo'llang (mas.: -style gtk).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use a different remove command (ex: -removecmd R).</source>
|
||||
<translation>boshqa o'chirish buyrug'idan foydalaning (mas.: -removecmd R).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>force a system upgrade at startup.</source>
|
||||
<translation>ishga tushganda tizimni yangilash.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Arch Linux news</source>
|
||||
<translation>Arch Linux yangiliklari</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chakra news</source>
|
||||
<translation>Chakra yangiliklari</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Manjaro Linux news</source>
|
||||
<translation>Manjaro Linux yangiliklari</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No news could be found! Press Ctrl+G to download the latest news.</source>
|
||||
<translation>Yangiliklar topilmadi! So'nggi yangiliklarni yuklash uchun Ctrl+G bosing.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This Linux distro seems to be incompatible with Octopi!</source>
|
||||
<translation>Ushbu Linux distributivi Octopi dasturiga mos kelmayotganga o'xshaydi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Internet mavjud bo'lmaganga o'xshaydi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display all groups</source>
|
||||
<translation>Hamma guruhlarni ko'rsatish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Usage</source>
|
||||
<translation>Ishlatilishi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>Dastur haqida</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation>Nomi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version</source>
|
||||
<translation>Versiyasi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outdated version</source>
|
||||
<translation>Eskirgan versiya</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available version</source>
|
||||
<translation>Mavjud versiya</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No description available.</source>
|
||||
<translation>Ta'rifi mavjud emas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL</source>
|
||||
<translation>URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repository</source>
|
||||
<translation>Repozitoriy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Licenses</source>
|
||||
<translation>Litsenziyalar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group</source>
|
||||
<translation>Guruh</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Groups</source>
|
||||
<translation>Guruhlar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Provides</source>
|
||||
<translation>Ta'minlaydi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Depends On</source>
|
||||
<translation>Bog'langan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Optional Deps</source>
|
||||
<translation>Qo'shimcha</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicts With</source>
|
||||
<translation>To'qnashuvga olib keladi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Replaces</source>
|
||||
<translation>O'rnini bosadi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Download Size</source>
|
||||
<translation>Yuklab olinadigan hajm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installed Size</source>
|
||||
<translation>O'rnatiladigan hajm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packager</source>
|
||||
<translation>Paket yaratuvchisi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package</source>
|
||||
<translation>Paket</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packages</source>
|
||||
<translation>Paketlar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Architecture</source>
|
||||
<translation>Arxitektura</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Date</source>
|
||||
<translation>Tuzish sanasi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description</source>
|
||||
<translation>Ta'rifi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Attention</source>
|
||||
<translation>Diqqat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>automatic</source>
|
||||
<translation>avtomatik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>Maxfiy so'z</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation>Ma'lumot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files</source>
|
||||
<translation>Fayllar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction</source>
|
||||
<translation>Tranzaksiya</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Natija</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>News</source>
|
||||
<translation>Yangiliklar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Contents of "%1"</source>
|
||||
<translation>"%1"'ning tarkibi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find</source>
|
||||
<translation>Topish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Tozalash</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> (outdated installed version is %1)</source>
|
||||
<translation> (eskirgan o'rnatilgan versiya %1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Building package list...</source>
|
||||
<translation>Paketlar ro'yxati tuzilmoqda...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Searching for %1 latest news...</source>
|
||||
<translation>%1 so'nggi yangiliklari qidirilmoqda...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is one outdated package in your system:</source>
|
||||
<translation>Tizimda eskirgan paket mavjud:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are %1 outdated packages in your system:</source>
|
||||
<translation>Tizimda %1 eskirgan paket mavjud:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(version %1 is available)</source>
|
||||
<translation>(%1 versiyasi mavjud)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 (%2) packages</source>
|
||||
<translation>%1 (%2) paketlar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 installed</source>
|
||||
<translation>%1 o'rnatilgan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 outdated</source>
|
||||
<translation>%1 eskirgan</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 available</source>
|
||||
<translation>%1 mavjud</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cleaning package cache...</source>
|
||||
<translation>Paketlar keshi tozalanmoqda...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing</source>
|
||||
<translation>Sinxronlanmoqda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Press any key to continue...</source>
|
||||
<translation>Davom etish uchun biror tugmani bosing...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing databases...</source>
|
||||
<translation>Ma'lumot bazalari sinxronlanmoqda...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>is up to date</source>
|
||||
<translation>so'nggi holatda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting full system upgrade...</source>
|
||||
<translation>Butun tizimning yangilanishi boshlanmoqda...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installing selected packages...</source>
|
||||
<translation>Tanlangan paketlar o'rnatilmoqda...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Removing selected packages...</source>
|
||||
<translation>Tanlangan paketlar o'chirilmoqda...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Removing/installing selected packages...</source>
|
||||
<translation>Tanlangan paketlar o'chirilmoqda/o'rnatilmoqda...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Running command in terminal...</source>
|
||||
<translation>Buyruq terminalda ishga tushirilmoqda...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished OK!</source>
|
||||
<translation>Buyruq muvaffaqiyatli bajarildi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished with errors!</source>
|
||||
<translation>Buyruq xatolar bilan bajarildi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Retrieving %1</source>
|
||||
<translation>%1 olinmoqda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total download size: %1 KB</source>
|
||||
<translation>Umumiy yuklab olinadigan hajm: %1 KB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following target needs to be retrieved</source>
|
||||
<translation>Quyidagi mo'ljalni olish lozim</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following target will be removed</source>
|
||||
<translation>Quyidagi mo'ljal o'chiriladi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 targets need to be retrieved</source>
|
||||
<translation>Quyidagi %1 mo'ljal olinish lozim</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 targets will be removed</source>
|
||||
<translation>Quyidagi %1 mo'ljal o'chiriladi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are forbidden packages in the removal list!</source>
|
||||
<translation>O'chirish ro'yxatida taqiqlangan paketlar mavjud!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no new updates available!</source>
|
||||
<translation>Yangilanishlar mavjud emas!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is an update available!</source>
|
||||
<translation>Yangilanish mavjud!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are %1 updates available!</source>
|
||||
<translation>%1 yangilanish mavjud!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm?</source>
|
||||
<translation>Tasdiqlaysizmi?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning!!!</source>
|
||||
<translation>Ogoh bo'ling!!!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirmation</source>
|
||||
<translation>Tasdiqlash</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There has been a transaction error!</source>
|
||||
<translation>Tranzaksiya xatosi ro'y berdi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to execute this transaction in a Terminal?</source>
|
||||
<translation>Ushbu tranzaksiyani terminalda ishga tushirishni istaysizmi?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to clean the package cache?</source>
|
||||
<translation>Rostdan paketlar keshini tosalashni istaysizmi?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to rollback the transaction?</source>
|
||||
<translation>Rostdan tranzaksiyani qaytarishni istaysizmi?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, enter the administrator's password</source>
|
||||
<translation>Ma'murning maxfiy so'zini kiriting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no means to get administrator's credentials.</source>
|
||||
<translation>Ma'muriy vakolatlarni olish imkoni yo'q.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You'll need to install a su frontend like gksu or kdesu.</source>
|
||||
<translation>gksu yoki kdesu kabi su frontendini o'rnatishingiz lozim.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You can not run Octopi with administrator's credentials.</source>
|
||||
<translation>Octopi dasturini ma'muriy vakolatlar bilan ishga tushirib bo'lmadi.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is a pending transaction</source>
|
||||
<translation>Qoldirilgan tranzaksiya mavjud</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to quit?</source>
|
||||
<translation>Rostdan chiqmoqchimisiz?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Executing command</source>
|
||||
<translation>Buyruq ishga tushirilmoqda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run in terminal</source>
|
||||
<translation>Terminalda ishga tushirish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Needs application restart to take effect</source>
|
||||
<translation>Kuchga kirish uchun dasturdan chiqib qayta kirish lozim!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Ushbu o'zgarishlar kuchga kirish uchun dasturdan chiqib qayta kirish lozim!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>O'rnatish uchun paketlarni tanlansh</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
<translation>Ushbu fayl oddiy matnli faylga o'xshamaydi.
|
||||
Uni ochishga ishonchingiz komilmi?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To be installed</source>
|
||||
<translation>O'rnatish uchun</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To be removed</source>
|
||||
<translation>O'chirish uchun</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>remove</source>
|
||||
<translation>o'chirish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>install</source>
|
||||
<translation>o'rnatish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove item</source>
|
||||
<translation>Bandni o'chirish</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove items</source>
|
||||
<translation>Bandlarni o'chirish</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SearchBar</name>
|
||||
<message>
|
||||
<source>Previous</source>
|
||||
<translation>Oldingi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Next</source>
|
||||
<translation>Keyingi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Yopish</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDialog</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation>Shakl</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run in terminal</source>
|
||||
<translation>Terminalda ishga tushirish</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
BIN
resources/translations/octopi_vi.qm
Normal file
BIN
resources/translations/octopi_vi.qm
Normal file
Binary file not shown.
796
resources/translations/octopi_vi.ts
Normal file
796
resources/translations/octopi_vi.ts
Normal file
@@ -0,0 +1,796 @@
|
||||
<?xml version="1.0" ?><!DOCTYPE TS><TS language="vi" version="2.0">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<source>Octopi</source>
|
||||
<translation>Octopi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation>Thông tin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files</source>
|
||||
<translation>Các tập tin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction</source>
|
||||
<translation>Tải nội dung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Xuất dữ liệu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Help</source>
|
||||
<translation>Trợ giúp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>View</source>
|
||||
<translation>Chế độ xem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File</source>
|
||||
<translation>Tập ti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search</source>
|
||||
<translation>Tìm kiếm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>Thông tin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non installed</source>
|
||||
<translation>Không được cài đặt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+N</source>
|
||||
<translation>Ctrl+N</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Commit</source>
|
||||
<translation>Đệ trình</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+M</source>
|
||||
<translation>Ctrl+M</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rollback</source>
|
||||
<translation>Hủy bỏ tiến trình</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+B</source>
|
||||
<translation>Ctrl+B</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sync database</source>
|
||||
<translation>Đồng bộ hóa cơ sở dữ liệu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+D</source>
|
||||
<translation>Ctrl+D</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Exit</source>
|
||||
<translation>Thoát</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q</source>
|
||||
<translation>Ctrl+Q</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>System upgrade</source>
|
||||
<translation>Nâng cấp hệ thống</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+U</source>
|
||||
<translation>Ctrl+U</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install</source>
|
||||
<translation>Cài đặt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove</source>
|
||||
<translation>Gỡ bỏ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outdated packages</source>
|
||||
<translation>Các gói cài đặt đã quá cũ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Get latest distro news</source>
|
||||
<translation>Nhận các tin tức về bản phân phối mới nhất</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+G</source>
|
||||
<translation>Ctrl+G</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove group</source>
|
||||
<translation>Gỡ bỏ nhóm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install group</source>
|
||||
<translation>Cài đặt nhóm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse item</source>
|
||||
<translation>Đóng lại các đối tượng</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand item</source>
|
||||
<translation>Mở rộng các đối tượng</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse all items</source>
|
||||
<translation>Đóng lại toàn bộ các đối tượng</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand all items</source>
|
||||
<translation>Mở rộng toàn bộ các đối tượng</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open file</source>
|
||||
<translation>Mở tập tin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit file</source>
|
||||
<translation>Chỉnh sửa tập tin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open directory</source>
|
||||
<translation>Mở thư mục</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open terminal here</source>
|
||||
<translation>Mở chế độ dòng lệnh tại đây</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove item</source>
|
||||
<translation>Gỡ bỏ đối tượng</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove items</source>
|
||||
<translation>Gỡ bỏ các đối tượng</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>By description</source>
|
||||
<translation>Bằng mô tả</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>By name</source>
|
||||
<translation>Bằng tên</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find a file</source>
|
||||
<translation>Tìm một tập tin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open root terminal</source>
|
||||
<translation>Mở chế độ dòng lệnh quyền root</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Usage</source>
|
||||
<translation>Cách dùng</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F1</source>
|
||||
<translation>F1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install local package...</source>
|
||||
<translation>Cài đặt gói cài dạng offline...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For more information, visit:</source>
|
||||
<translation>Để biết thêm thông tin, vui lòng truy cập:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A Qt4-based Pacman frontend,</source>
|
||||
<translation>Ứng dụng đầu cuối của Pacman dựa trên Qt4,</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>licensed under the terms of</source>
|
||||
<translation>được cấp giấy phép dựa theo điều khoản sử dụng của</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package classification:</source>
|
||||
<translation>Phân loại gói cài đặt:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An installed package</source>
|
||||
<translation>Một gói cài đã được cài đặt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An installed package (not required by others)</source>
|
||||
<translation>Một gói đã được cài đặt (không được yêu cầu bởi những người khác)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A foreign package, installed from</source>
|
||||
<translation>Một gói ngoại vi, được cài đặt từ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A non installed package</source>
|
||||
<translation>Không phải là một gói đã được cài đặt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An outdated package</source>
|
||||
<translation>Một gói cài đặt đã hết hạn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Basic usage help:</source>
|
||||
<translation>Trợ giúp cơ bản:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Position the mouse over a package to see its description</source>
|
||||
<translation>Vị trí của chuột khi lướt qua một gói cài đặt để xem các mô tả về gói đó</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Double click an installed package to see its contents</source>
|
||||
<translation>Click đúp chuột vào một gói cài đặt để xem nội dung của gói đó</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right click package to install/reinstall or remove it</source>
|
||||
<translation>Click phải chuột vào gói cài đặt để cài đặt/cài đặt lại hoặc gỡ bỏ gói đó</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+key sequences:</source>
|
||||
<translation>Chuỗi sự kiện khi bấm tổn hợp Alt+phím:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+1 to switch to 'Info' tab</source>
|
||||
<translation>Alt+1 chuyển sang tab 'Thông tin'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+2 to switch to 'Files' tab</source>
|
||||
<translation>Alt+2 để chuyển sang tab 'Tập tin'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+3 to switch to 'Transaction' tab</source>
|
||||
<translation>Alt+3 để chuyển sang tab 'Phần Tải Về'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+4 to switch to 'Output' tab</source>
|
||||
<translation>Alt+4 để chuyển sang tab 'Xuất dữ liệu'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+5 to switch to 'News' tab</source>
|
||||
<translation>Alt+5 để chuyển sang tab 'Tin tức'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alt+6 or 'F1' to show this help page</source>
|
||||
<translation>Alt+6 hoặc phím 'F1' để chuyển sang trang hiển thị nội dung trợ giúp này</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Control+key sequences:</source>
|
||||
<translation>Chuỗi sự kiện khi bấm tổn hợp Control+phím:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+D or 'File/Sync database' to sync the local database with latest remote changes (pacman -Sy)</source>
|
||||
<translation>Ctrl+D hoặc 'Tập tin/Đồng bộ hóa cơ sở dữ liệu' để tiến hành đồng bộ hóa cơ sở dữ liệu nội bộ với các thay đổi mới nhất từ hệ thống máy chủ của chương trình (pacman -Sy)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+U or 'File/System upgrade' to make a full system upgrade (pacman -Su)</source>
|
||||
<translation>Ctrl+U hoặc 'Tập tin/Nâng cấp hệ thống' để thực hiện việc nâng cấp hệ thống toàn diện (pacman -Su)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+L to find a package in the package list</source>
|
||||
<translation>Ctrl+L để tìm gói cài đặt trong danh sách cài đặt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+F to search for text inside tab Files, News and Usage</source>
|
||||
<translation>Ctrl+F để tìm kiếm nội dung văn bản bên trong tab Tập Tin, Tin Tức và Cách Dùng</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+N or 'View/Non installed' to show/hide non installed packages</source>
|
||||
<translation>Ctrl+N hoặc 'Xem/Chưa được cài đặt' để hiển thị/ẩn đị các gói cài đặt chưa được cài</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+M or 'Transaction/Commit' to start installation/removal of selected packages</source>
|
||||
<translation>Ctrl+M hoặc 'Phần tải về/Đệ trình' để bắt đầu tiến trình cài đặt/gỡ bỏ các gói cài đặt đã được chọn trước đó</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+B or 'Transaction/Rollback' to clear the selection of to be removed/installed packages</source>
|
||||
<translation>Ctrl+B hoặc 'Phần tải về/Hủy bỏ tiến trình' để hủy bỏ các thông tin về các gói cài đặt đã được gỡ bỏ/đã cài đặt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+G or 'File/Get latest distro news' to retrieve the latest RSS based distro news</source>
|
||||
<translation>Ctrl+G hoặc 'Tập tin/Nhận các tin tức về bản phân phối mới nhất' để nhận các tin tức về các bản phân phối mới nhất trên định dạng RSS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Q or 'File/Exit' to exit the application</source>
|
||||
<translation>Ctrl+Q hoặc 'Tập tin/Thoát' để thoát khỏi ứng dụng</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Control+shift+key sequences:</source>
|
||||
<translation>Chuỗi sự kiện khi bấm tổn hợp Control+shift+phím:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Shift+C to clean local packages cache (pacman -Sc)</source>
|
||||
<translation>Ctrl+Shift+C để xóa thông tin trong bộ nhớ đệm của gói cài đặt offline (pacman -Sc)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ctrl+Shift+G to display all package groups</source>
|
||||
<translation>Ctrl+Shift+G để hiển thị tất cả các nhóm cài đặt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F+key sequences:</source>
|
||||
<translation>Chuỗi sự kiện khi bấm tổn hợp F+phím:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F1 to show this help page</source>
|
||||
<translation>F1 để hiển thị trang về thông tin trợ giúp này</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F4 to open a Terminal whitin the selected directory at Files tab</source>
|
||||
<translation>F4 để mở một chế độ dòng lệnh truy cập thư mục được chọn trong tab Tập tin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F6 to open a File Manager whitin the selected directory at Files tab</source>
|
||||
<translation>F6 để mở một trình duyệt tập tin ngay tại thư mục được chọn trong tab Tập Tin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F10 to maximize/demaximize package list view</source>
|
||||
<translation>F10 để phóng to/tho nhỏ danh sách xem các gói cài đặt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>F12 to maximize/demaximize Tab's view</source>
|
||||
<translation>F12 để phóng to/thu nhỏ chế độ xem của Tab</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>Octopi usage help:</source>
|
||||
<translation>Trợ giúp sử dụng Octopi:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>show application version.</source>
|
||||
<translation>hiển thị phiên bản của ứng dụng.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use a different Qt4 style (ex: -style gtk).</source>
|
||||
<translation>sử dụng một giao diện Qt4 khác (ví dụ: -style gtk).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>use a different remove command (ex: -removecmd R).</source>
|
||||
<translation>sử dụng một lệnh khác để gỡ bỏ (ví dụ: removecmd R).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>force a system upgrade at startup.</source>
|
||||
<translation>buộc hệ thống phải nâng cấp khi mở hệ thống.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Arch Linux news</source>
|
||||
<translation>Tin tức về Arch Linux</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chakra news</source>
|
||||
<translation>Tin tức về Chakra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Manjaro Linux news</source>
|
||||
<translation>Tin tức về Manjaro Linux</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No news could be found! Press Ctrl+G to download the latest news.</source>
|
||||
<translation>Không tìm thấy tin tức nào! Nhấn tổ hợp phím Ctrl+G để tải về các tin tức mới nhất.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This Linux distro seems to be incompatible with Octopi!</source>
|
||||
<translation>Phiên bản phân phối Linux này dường như không tương thích với Octopi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Internet seems unavailable!</source>
|
||||
<translation>Kết nối đến Internet gặp trục trặc!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display all groups</source>
|
||||
<translation>Hiển thị tất cả các nhóm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Usage</source>
|
||||
<translation>Cách Dùng</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About</source>
|
||||
<translation>Thông tin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation>Tên</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version</source>
|
||||
<translation>Phiên bản</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Outdated version</source>
|
||||
<translation>Phiên bản đã quá cũ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Available version</source>
|
||||
<translation>Phiên bản hiện có</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No description available.</source>
|
||||
<translation>Không có mô tả nào hiện có.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL</source>
|
||||
<translation>Đường dẫn liên kết</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repository</source>
|
||||
<translation>Nơi chứa nội dung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Licenses</source>
|
||||
<translation>Giấy phép</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Group</source>
|
||||
<translation>Nhóm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Groups</source>
|
||||
<translation>Các nhóm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Provides</source>
|
||||
<translation>Cung cấp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Depends On</source>
|
||||
<translation>Phụ thuộc vào</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Optional Deps</source>
|
||||
<translation>Tùy chọn Deps</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Conflicts With</source>
|
||||
<translation>Xung đột với</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Replaces</source>
|
||||
<translation>Thay thế</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Download Size</source>
|
||||
<translation>Kích thước tải về</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installed Size</source>
|
||||
<translation>Kích thước đã cài đặt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packager</source>
|
||||
<translation>Trình quản lý gói cài đặt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package</source>
|
||||
<translation>Gói cài đặt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packages</source>
|
||||
<translation>Các gói cài đặt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Architecture</source>
|
||||
<translation>Kiến trúc</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build Date</source>
|
||||
<translation>Ngày build</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description</source>
|
||||
<translation>Mô tả</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Attention</source>
|
||||
<translation>Chú ý</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>automatic</source>
|
||||
<translation>tự động</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation>Mật khẩu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation>Thông tin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files</source>
|
||||
<translation>Các tập tin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transaction</source>
|
||||
<translation>Phần tải về</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Output</source>
|
||||
<translation>Xuất dữ liệu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>News</source>
|
||||
<translation>Tin tức</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Contents of "%1"</source>
|
||||
<translation>Nội dung của "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find</source>
|
||||
<translation>Tìm kiếm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
<translation>Xóa thông tin</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> (outdated installed version is %1)</source>
|
||||
<translation>(phiên bản đã hết hạn là %1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Building package list...</source>
|
||||
<translation>Đang xây dựng danh sách gói cài đặt...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Searching for %1 latest news...</source>
|
||||
<translation>Đang tìm kiếm về %1 tin tức mới nhất...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is one outdated package in your system:</source>
|
||||
<translation>Hiện chỉ có một gói cài đặt đã quá cũ trên hệ thống của bạn:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are %1 outdated packages in your system:</source>
|
||||
<translation>Hiện có khoảng %1 gói cài đặt đã quá cũ trên hệ thống của bạn:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(version %1 is available)</source>
|
||||
<translation>(hiện có phien bản %1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 (%2) packages</source>
|
||||
<translation>%1 (%2) gói cài đặt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 installed</source>
|
||||
<translation>%1 đã được cài đặt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 outdated</source>
|
||||
<translation>%1 đã quá cũ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 available</source>
|
||||
<translation>%1 hiện đang có</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cleaning package cache...</source>
|
||||
<translation>Đang xóa thông tin bộ nhớ đệm của gói cài đặt...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing</source>
|
||||
<translation>Đang đồng bộ hóa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Press any key to continue...</source>
|
||||
<translation>Nhấn bất kỳ phím gì để tiếp tục...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronizing databases...</source>
|
||||
<translation>Đang đồng bộ hóa cơ sở dữ liệu...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>is up to date</source>
|
||||
<translation>đã hết hạn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting full system upgrade...</source>
|
||||
<translation>Đang bắt đầu tiến trình nâng cấp toàn diện hệ thống...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installing selected packages...</source>
|
||||
<translation>Đang cài đặt các gói cài đã được chọn trước đó...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Removing selected packages...</source>
|
||||
<translation>Đang gỡ bỏ các gói cài đã được chọn trước đó...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Removing/installing selected packages...</source>
|
||||
<translation>Đang gỡ bỏ/cài đặt các gói cài đã được chọn trước đó...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Running command in terminal...</source>
|
||||
<translation>Chạy lệnh trong chế độ dòng lệnh...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished OK!</source>
|
||||
<translation>Đã hoàn tất việc thi hành lệnh!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished with errors!</source>
|
||||
<translation>Việc thi hành lệnh gặp lỗi!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Retrieving %1</source>
|
||||
<translation>Đang nhận %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total download size: %1 KB</source>
|
||||
<translation>Tổng kích thước đã tải về: %1 KB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following target needs to be retrieved</source>
|
||||
<translation>Mục tiêu tiếp theo cần được tiếp nhận</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following target will be removed</source>
|
||||
<translation>Mục tiêu tiếp theo cần được loại bỏ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 targets need to be retrieved</source>
|
||||
<translation>%1 mục tiêu tiếp theo cần được nhận</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The following %1 targets will be removed</source>
|
||||
<translation>%1 mục tiêu tiếp theo cần loại bỏ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are forbidden packages in the removal list!</source>
|
||||
<translation>Tồn tại các gói cài đặt bị cấm trong danh sách loại bỏ!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no new updates available!</source>
|
||||
<translation>Hiện không có bản cập nhật mới nào!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is an update available!</source>
|
||||
<translation>Hiện có một bản cập nhật mới!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are %1 updates available!</source>
|
||||
<translation>Có khoảng %1 bản cập nhật mới!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirm?</source>
|
||||
<translation>Xác nhận?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning!!!</source>
|
||||
<translation>Cảnh báo!!!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirmation</source>
|
||||
<translation>Xác nhận</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There has been a transaction error!</source>
|
||||
<translation>Xảy ra lỗi khi tải nội dung!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to execute this transaction in a Terminal?</source>
|
||||
<translation>Bạn có muốn thực hiện việc tải nội dung này trong chế độ dòng lệnh?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to clean the package cache?</source>
|
||||
<translation>Bạn có thực sự muốn xóa phần bộ nhớ đệm của gói cài đặt?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to rollback the transaction?</source>
|
||||
<translation>Bạn có thực sự muốn hủy bỏ mọi thao tác trong quá trình tải nội dung?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please, enter the administrator's password</source>
|
||||
<translation>Xin vui lòng điền vào mật khẩu của quản trị viên</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There are no means to get administrator's credentials.</source>
|
||||
<translation>Không cần thiết khi yêu cầu mật khẩu quản trị.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You'll need to install a su frontend like gksu or kdesu.</source>
|
||||
<translation>Bạn cần phải cài đặt một su đầu cuối tương tự như gksu hoặc kdesu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You can not run Octopi with administrator's credentials.</source>
|
||||
<translation>Bạn không thể chạy Octopi với thông tin cơ mật thuộc quản trị viên.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There is a pending transaction</source>
|
||||
<translation>Hiện đang có một phần tải về đang đợi xét</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to quit?</source>
|
||||
<translation>Bạn có thực sự muốn thoát?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Executing command</source>
|
||||
<translation>Đang thi hành lệnh</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run in terminal</source>
|
||||
<translation>Chạy trong chế độ dòng lệnh</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Needs application restart to take effect</source>
|
||||
<translation>Ứng dụng cần được khởi động lại để áp dụng thay đổi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>These changes need application restart to take effect!</source>
|
||||
<translation>Các thay đổi gần đây chỉ được áp dụng khi khởi động lại ứng dụng!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the packages you want to install</source>
|
||||
<translation>Chọn các gói cài mà bạn muốn cài đặt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This file does not appear to be a simple text.
|
||||
Are you sure you want to open it?</source>
|
||||
<translation>Tập tin này dường như chỉ là một tập tin văn bản thông thường.
|
||||
Bạn có chắc muốn mở tập tin này không?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To be installed</source>
|
||||
<translation>Để được cài đặt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To be removed</source>
|
||||
<translation>Để được gỡ bỏ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>remove</source>
|
||||
<translation>gỡ bỏ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>install</source>
|
||||
<translation>cài đặt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove item</source>
|
||||
<translation>Gỡ bỏ đối tượng</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove items</source>
|
||||
<translation>Gỡ bỏ các đối tượng</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SearchBar</name>
|
||||
<message>
|
||||
<source>Previous</source>
|
||||
<translation>Trước đó</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Next</source>
|
||||
<translation>Tiếp theo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Đóng lại</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TransactionDialog</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation>Mẫu đơn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run in terminal</source>
|
||||
<translation>Chạy trong chế độ dòng lệnh</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
@@ -37,12 +37,12 @@
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include "../mainwindow.h"
|
||||
|
||||
#include "qtsingleapplication.h"
|
||||
#include "qtlocalpeer.h"
|
||||
#include <QWidget>
|
||||
|
||||
|
||||
/*!
|
||||
\class QtSingleApplication qtsingleapplication.h
|
||||
\brief The QtSingleApplication class provides an API to detect and
|
||||
@@ -285,7 +285,7 @@ void QtSingleApplication::setActivationWindow(QWidget* aw, bool activateOnMessag
|
||||
{
|
||||
actWin = aw;
|
||||
if (activateOnMessage)
|
||||
connect(peer, SIGNAL(messageReceived(const QString&)), this, SLOT(activateWindow()));
|
||||
connect(peer, SIGNAL(messageReceived(const QString&)), this, SLOT(activateWindow(const QString&)));
|
||||
else
|
||||
disconnect(peer, SIGNAL(messageReceived(const QString&)), this, SLOT(activateWindow()));
|
||||
}
|
||||
@@ -317,9 +317,9 @@ QWidget* QtSingleApplication::activationWindow() const
|
||||
|
||||
\sa setActivationWindow(), messageReceived(), initialize()
|
||||
*/
|
||||
void QtSingleApplication::activateWindow()
|
||||
void QtSingleApplication::activateWindow(const QString &message)
|
||||
{
|
||||
if (actWin) {
|
||||
if (actWin && message == "RAISE") {
|
||||
actWin->setWindowState(actWin->windowState() & ~Qt::WindowMinimized);
|
||||
actWin->raise();
|
||||
if (actWin->isHidden())
|
||||
@@ -327,8 +327,70 @@ void QtSingleApplication::activateWindow()
|
||||
else
|
||||
actWin->activateWindow();
|
||||
}
|
||||
}
|
||||
else if (actWin && message == "HIDE") {
|
||||
if (!actWin->isHidden())
|
||||
actWin->hide();
|
||||
else
|
||||
{
|
||||
actWin->setWindowState(actWin->windowState() & ~Qt::WindowMinimized);
|
||||
actWin->raise();
|
||||
if (actWin->isHidden())
|
||||
actWin->show();
|
||||
}
|
||||
}
|
||||
else if (actWin && message == "SYSUPGRADE") {
|
||||
actWin->setWindowState(actWin->windowState() & ~Qt::WindowMinimized);
|
||||
actWin->raise();
|
||||
if (actWin->isHidden())
|
||||
actWin->show();
|
||||
else
|
||||
actWin->activateWindow();
|
||||
|
||||
MainWindow *mw = qobject_cast<MainWindow *>(actWin);
|
||||
|
||||
if (mw)
|
||||
{
|
||||
if (!mw->isExecutingCommand())
|
||||
{
|
||||
mw->doSystemUpgrade();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (actWin && message == "CLOSE") {
|
||||
if (!actWin->close())
|
||||
{
|
||||
if (actWin->isHidden())
|
||||
{
|
||||
actWin->setWindowState(actWin->windowState() & ~Qt::WindowMinimized);
|
||||
actWin->raise();
|
||||
if (actWin->isHidden())
|
||||
actWin->show();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (actWin && message.contains("pkg.tar.xz")) {
|
||||
actWin->setWindowState(actWin->windowState() & ~Qt::WindowMinimized);
|
||||
actWin->raise();
|
||||
if (actWin->isHidden())
|
||||
actWin->show();
|
||||
else
|
||||
actWin->activateWindow();
|
||||
|
||||
QStringList packagesToInstallList =
|
||||
message.split(",", QString::SkipEmptyParts);
|
||||
|
||||
MainWindow *mw = qobject_cast<MainWindow *>(actWin);
|
||||
|
||||
if (mw)
|
||||
{
|
||||
if (!mw->isExecutingCommand())
|
||||
{
|
||||
mw->setPackagesToInstallList(packagesToInstallList);
|
||||
mw->doInstallLocalPackages();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
\fn void QtSingleApplication::messageReceived(const QString& message)
|
||||
|
||||
@@ -86,7 +86,7 @@ public:
|
||||
|
||||
public Q_SLOTS:
|
||||
bool sendMessage(const QString &message, int timeout = 5000);
|
||||
void activateWindow();
|
||||
void activateWindow(const QString &message);
|
||||
|
||||
|
||||
Q_SIGNALS:
|
||||
|
||||
82
src/globals.cpp
Normal file
82
src/globals.cpp
Normal file
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
* This file is part of Octopi, an open-source GUI for pacman.
|
||||
* Copyright (C) 2013 Alexandre Albuquerque Arnt
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#include "globals.h"
|
||||
#include "mainwindow.h"
|
||||
|
||||
#include <QStandardItem>
|
||||
#include <QFutureWatcher>
|
||||
#include <QtConcurrentRun>
|
||||
|
||||
QFutureWatcher<QString> g_fwToolTip;
|
||||
QFutureWatcher<QList<PackageListData> *> g_fwPacman;
|
||||
QFutureWatcher<QList<QString> *> g_fwPacmanGroup;
|
||||
QFutureWatcher<QList<PackageListData> *> g_fwYaourt;
|
||||
QFutureWatcher<QList<PackageListData> *> g_fwYaourtMeta;
|
||||
|
||||
/*
|
||||
* Given a packageName, returns its description
|
||||
*/
|
||||
QString showPackageInfo(QString pkgName)
|
||||
{
|
||||
MainWindow *mw = MainWindow::returnMainWindow();
|
||||
QStandardItem * si = mw->getAvailablePackage(
|
||||
pkgName, ctn_PACKAGE_DESCRIPTION_COLUMN);
|
||||
|
||||
if (si == 0) return "";
|
||||
|
||||
QString description = si->text();
|
||||
if (description.trimmed().isEmpty()) return "";
|
||||
|
||||
int space = description.indexOf(" ");
|
||||
QString desc = description.mid(space+1);
|
||||
int size = desc.size();
|
||||
if (desc.size() > 120)
|
||||
{
|
||||
desc.chop(size - 120);
|
||||
desc = desc + " ...";
|
||||
}
|
||||
|
||||
return desc;
|
||||
}
|
||||
|
||||
/*
|
||||
* Starts the non blocking search for Pacman packages...
|
||||
*/
|
||||
QList<PackageListData> * searchPacmanPackages()
|
||||
{
|
||||
return Package::getPackageList();
|
||||
}
|
||||
|
||||
/*
|
||||
* Starts the non blocking search for Pacman packages...
|
||||
*/
|
||||
QList<QString> * searchPacmanPackagesFromGroup(QString groupName)
|
||||
{
|
||||
return Package::getPackagesOfGroup(groupName);
|
||||
}
|
||||
|
||||
/*
|
||||
* Starts the non blocking search for Yaourt packages...
|
||||
*/
|
||||
QList<PackageListData> * searchYaourtPackages(QString searchString)
|
||||
{
|
||||
return Package::getYaourtPackageList(searchString);
|
||||
}
|
||||
41
src/globals.h
Normal file
41
src/globals.h
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* This file is part of Octopi, an open-source GUI for pacman.
|
||||
* Copyright (C) 2013 Alexandre Albuquerque Arnt
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef MAINWINDOW_GLOBALS_H
|
||||
#define MAINWINDOW_GLOBALS_H
|
||||
|
||||
#include "strconstants.h"
|
||||
|
||||
#include <QStandardItem>
|
||||
#include <QFutureWatcher>
|
||||
#include <QtConcurrentRun>
|
||||
|
||||
extern QFutureWatcher<QString> g_fwToolTip;
|
||||
extern QFutureWatcher<QList<PackageListData> *> g_fwPacman;
|
||||
extern QFutureWatcher<QList<QString> *> g_fwPacmanGroup;
|
||||
extern QFutureWatcher<QList<PackageListData> *> g_fwYaourt;
|
||||
extern QFutureWatcher<QList<PackageListData> *> g_fwYaourtMeta;
|
||||
|
||||
QString showPackageInfo(QString pkgName);
|
||||
QList<PackageListData> * searchPacmanPackages();
|
||||
QList<QString> * searchPacmanPackagesFromGroup(QString groupName);
|
||||
QList<PackageListData> * searchYaourtPackages(QString searchString);
|
||||
|
||||
#endif // MAINWINDOW_GLOBALS_H
|
||||
63
src/main.cpp
63
src/main.cpp
@@ -29,23 +29,66 @@
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
bool cleanlooksStyle=false;
|
||||
|
||||
ArgumentList *argList = new ArgumentList(argc, argv);
|
||||
QApplication::setGraphicsSystem(QLatin1String("raster"));
|
||||
|
||||
if (!argList->getSwitch("-style"))
|
||||
{
|
||||
//if (!WMHelper::isKDERunning())
|
||||
cleanlooksStyle=true;
|
||||
qApp->setStyle(new QCleanlooksStyle());
|
||||
}
|
||||
else
|
||||
{
|
||||
if (argList->contains("cleanlooks", Qt::CaseInsensitive))
|
||||
{
|
||||
QApplication::setStyle(new QCleanlooksStyle());
|
||||
cleanlooksStyle=true;
|
||||
qApp->setStyle(new QCleanlooksStyle());
|
||||
}
|
||||
}
|
||||
|
||||
QString packagesToInstall;
|
||||
QString arg;
|
||||
for (int c=1; c<argc; c++)
|
||||
{
|
||||
arg = argv[c];
|
||||
if (arg.contains("pkg.tar.xz"))
|
||||
{
|
||||
packagesToInstall += arg + ",";
|
||||
}
|
||||
}
|
||||
|
||||
QtSingleApplication app( StrConstants::getApplicationName(), argc, argv );
|
||||
|
||||
//This sends a message just to awake the socket-based QtSinleApplication engine
|
||||
app.sendMessage("ping app...");
|
||||
if (app.isRunning())
|
||||
{
|
||||
if (argList->getSwitch("-sysupgrade"))
|
||||
{
|
||||
app.sendMessage("SYSUPGRADE");
|
||||
}
|
||||
else if (argList->getSwitch("-close"))
|
||||
{
|
||||
app.sendMessage("CLOSE");
|
||||
}
|
||||
else if (argList->getSwitch("-hide"))
|
||||
{
|
||||
app.sendMessage("HIDE");
|
||||
}
|
||||
else if (!packagesToInstall.isEmpty())
|
||||
{
|
||||
app.sendMessage(packagesToInstall);
|
||||
}
|
||||
else
|
||||
{
|
||||
app.sendMessage("RAISE");
|
||||
}
|
||||
|
||||
if (app.isRunning()) return 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
//This sends a message just to awake the socket-based QtSinleApplication engine
|
||||
app.sendMessage("RAISE");
|
||||
|
||||
QTranslator appTranslator;
|
||||
appTranslator.load(":/resources/translations/octopi_" +
|
||||
@@ -76,8 +119,16 @@ int main(int argc, char *argv[])
|
||||
w.setCallSystemUpgrade();
|
||||
}
|
||||
|
||||
w.setRemoveCommand(argList->getSwitchArg("-removecmd", "Rcs"));
|
||||
if (!packagesToInstall.isEmpty())
|
||||
{
|
||||
QStringList packagesToInstallList =
|
||||
packagesToInstall.split(",", QString::SkipEmptyParts);
|
||||
|
||||
w.setPackagesToInstallList(packagesToInstallList);
|
||||
}
|
||||
|
||||
w.setRemoveCommand(argList->getSwitchArg("-removecmd", "Rcs"));
|
||||
w.setCleanLooksStyle(cleanlooksStyle);
|
||||
w.show();
|
||||
|
||||
QResource::registerResource("./resources.qrc");
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
#include "treeviewpackagesitemdelegate.h"
|
||||
#include "searchbar.h"
|
||||
#include "packagecontroller.h"
|
||||
#include "pacmanhelperclient.h"
|
||||
#include <iostream>
|
||||
|
||||
#include <QSortFilterProxyModel>
|
||||
@@ -42,6 +41,7 @@
|
||||
#include <QComboBox>
|
||||
#include <QModelIndex>
|
||||
#include <QDesktopServices>
|
||||
#include <QFileDialog>
|
||||
|
||||
/*
|
||||
* MainWindow's constructor: basic UI init
|
||||
@@ -50,6 +50,8 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||
QMainWindow(parent),
|
||||
ui(new Ui::MainWindow)
|
||||
{
|
||||
//m_pacmanDatabaseSystemWatcher =
|
||||
// new QFileSystemWatcher(QStringList() << ctn_PACMAN_DATABASE_DIR, this);
|
||||
m_foundFilesInPkgFileList = new QList<QModelIndex>();
|
||||
m_indFoundFilesInPkgFileList = 0;
|
||||
m_callSystemUpgrade = false;
|
||||
@@ -57,7 +59,8 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||
m_cbGroups = 0;
|
||||
m_listOfPackages = 0;
|
||||
m_listOfPackagesFromGroup = 0;
|
||||
|
||||
m_systemUpgradeDialog = false;
|
||||
m_cic = 0;
|
||||
ui->setupUi(this);
|
||||
}
|
||||
|
||||
@@ -79,6 +82,9 @@ void MainWindow::show()
|
||||
{
|
||||
if(m_initializationCompleted == false)
|
||||
{
|
||||
|
||||
UnixCommand::getIgnorePkg();
|
||||
|
||||
loadSettings();
|
||||
restoreGeometry(SettingsManager::getWindowSize());
|
||||
|
||||
@@ -89,6 +95,17 @@ void MainWindow::show()
|
||||
setWindowTitle(StrConstants::getApplicationName());
|
||||
setMinimumSize(QSize(850, 600));
|
||||
|
||||
if (UnixCommand::getLinuxDistro() == ectn_MANJAROLINUX &&
|
||||
!WMHelper::isKDERunning())
|
||||
{
|
||||
//If we are in Manjaro and not in KDE, let's use a GTK style!
|
||||
if (!qApp->style()->inherits("QGtkStyle"))
|
||||
{
|
||||
qApp->setStyle(new QGtkStyle());
|
||||
setCleanLooksStyle(false);
|
||||
}
|
||||
}
|
||||
|
||||
initStatusBar();
|
||||
initTabOutput();
|
||||
initTabInfo();
|
||||
@@ -99,28 +116,19 @@ void MainWindow::show()
|
||||
initLineEditFilterPackages();
|
||||
initPackageTreeView();
|
||||
|
||||
//Let's watch for changes in the Pacman db dir!
|
||||
m_pacmanDatabaseSystemWatcher =
|
||||
new QFileSystemWatcher(QStringList() << ctn_PACMAN_DATABASE_DIR, this);
|
||||
connect(m_pacmanDatabaseSystemWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
|
||||
qApp->setStyleSheet(StrConstants::getMenuCSS());
|
||||
|
||||
loadPanelSettings();
|
||||
initActions();
|
||||
initAppIcon();
|
||||
initSystemTrayIcon();
|
||||
initToolBar();
|
||||
initTabWidgetPropertiesIndex();
|
||||
refreshDistroNews(false);
|
||||
|
||||
refreshComboBoxGroups();
|
||||
QMainWindow::show();
|
||||
|
||||
metaBuildPackageList();
|
||||
|
||||
m_pacmanHelperTimer = new QTimer();
|
||||
connect(m_pacmanHelperTimer, SIGNAL(timeout()), this, SLOT(pacmanHelperTimerTimeout()));
|
||||
m_pacmanHelperTimer->start(1000 * 60 * 5); //Five minutes after launching Octopi...
|
||||
metaBuildPackageList();
|
||||
}
|
||||
else
|
||||
QMainWindow::show();
|
||||
@@ -131,21 +139,13 @@ void MainWindow::show()
|
||||
*/
|
||||
void MainWindow::pacmanHelperTimerTimeout()
|
||||
{
|
||||
m_pacmanHelperTimer->setInterval(1000 * 60 * 60 * 1); //the last number stand for hours
|
||||
|
||||
//If Octopi is executing another task, let it finish it first!
|
||||
if(m_commandExecuting != ectn_NONE)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
m_pacmanHelperTimer->setInterval(1000 * 60 * 60 * 1); //the last number stand for hours
|
||||
|
||||
disconnect(m_pacmanDatabaseSystemWatcher,
|
||||
SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
|
||||
PacmanHelperClient *client =
|
||||
new PacmanHelperClient("org.octopi.pacmanhelper", "/", QDBusConnection::systemBus(), 0);
|
||||
QObject::connect(client, SIGNAL(syncdbcompleted()), this, SLOT(afterPacmanHelperSyncDatabase()));
|
||||
client->syncdb();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -153,8 +153,11 @@ void MainWindow::pacmanHelperTimerTimeout()
|
||||
*/
|
||||
void MainWindow::afterPacmanHelperSyncDatabase()
|
||||
{
|
||||
connect(m_pacmanDatabaseSystemWatcher,
|
||||
SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
//If Octopi is executing another task, let it finish it first!
|
||||
if(m_commandExecuting != ectn_NONE)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
refreshDistroNews();
|
||||
|
||||
@@ -167,7 +170,7 @@ void MainWindow::afterPacmanHelperSyncDatabase()
|
||||
|
||||
if (m_numberOfOutdatedPackages > 0)
|
||||
{
|
||||
if (m_numberOfAvailablePackages == 1)
|
||||
if (m_numberOfOutdatedPackages == 1)
|
||||
{
|
||||
m_systemTrayIcon->setToolTip(StrConstants::getOneNewUpdate());
|
||||
}
|
||||
@@ -984,7 +987,6 @@ void MainWindow::headerViewPackageListSortIndicatorClicked( int col, Qt::SortOrd
|
||||
{
|
||||
m_PackageListOrderedCol = col;
|
||||
m_PackageListSortOrder = order;
|
||||
|
||||
saveSettings(ectn_PackageList);
|
||||
}
|
||||
|
||||
@@ -1101,9 +1103,25 @@ void MainWindow::openDirectory(){
|
||||
*/
|
||||
void MainWindow::openRootTerminal()
|
||||
{
|
||||
//If there are no means to run the actions, we must warn!
|
||||
if (!_isSUAvailable()) return;
|
||||
|
||||
m_unixCommand->openRootTerminal();
|
||||
}
|
||||
|
||||
/*
|
||||
* Open a file chooser dialog for the user to select local packages to install (pacman -U)
|
||||
*/
|
||||
void MainWindow::installLocalPackage()
|
||||
{
|
||||
m_packagesToInstallList =
|
||||
QFileDialog::getOpenFileNames(this, StrConstants::getFileChooserTitle(),
|
||||
QDir::homePath(), "*pkg.tar.xz");
|
||||
|
||||
if (m_packagesToInstallList.count() > 0)
|
||||
doInstallLocalPackages();
|
||||
}
|
||||
|
||||
/*
|
||||
* Brings the user to the tab Files and position cursor inside searchBar
|
||||
* so he can find any file the selected package may have
|
||||
|
||||
@@ -36,7 +36,6 @@ class QStandardItemModel;
|
||||
class QStandardItem;
|
||||
class QModelIndex;
|
||||
class QTimer;
|
||||
class QFileSystemWatcher;
|
||||
class QLabel;
|
||||
class QComboBox;
|
||||
class QListView;
|
||||
@@ -91,6 +90,9 @@ private:
|
||||
QSortFilterProxyModel *m_proxyModelPackages;
|
||||
QFileSystemWatcher *m_pacmanDatabaseSystemWatcher;
|
||||
|
||||
//Controls if the dialog showing the packages to be upgraded is opened
|
||||
bool m_systemUpgradeDialog;
|
||||
|
||||
//Searches /etc/pacman.conf to see if ILoveCandy is there
|
||||
bool m_iLoveCandy;
|
||||
|
||||
@@ -100,6 +102,9 @@ private:
|
||||
//Controls if this Linux box has yaourt installed
|
||||
bool m_hasYaourt;
|
||||
|
||||
//Is Octopi using QCleanLooksStyle???
|
||||
bool m_cleanLooksStyle;
|
||||
|
||||
//Holds the remove command to be used: -Rcs/-R/-Rs or whichever the user has choosen
|
||||
QString m_removeCommand;
|
||||
|
||||
@@ -131,7 +136,8 @@ private:
|
||||
//This member holds the target list retrieved by the pacman command which will be executed
|
||||
QStringList *m_targets;
|
||||
|
||||
//This member is need to serialize access to some models by different threads
|
||||
//This member holds the list of packages to install with "pacman -U" command
|
||||
QStringList m_packagesToInstallList;
|
||||
|
||||
QSystemTrayIcon *m_systemTrayIcon;
|
||||
QMenu *m_systemTrayIconMenu;
|
||||
@@ -197,7 +203,6 @@ private:
|
||||
void initTabFiles();
|
||||
void initActions();
|
||||
void refreshStatusBar();
|
||||
|
||||
void clearStatusBar();
|
||||
|
||||
//Tab Transaction related methods
|
||||
@@ -255,6 +260,7 @@ private slots:
|
||||
void openDirectory();
|
||||
|
||||
void openRootTerminal();
|
||||
void installLocalPackage();
|
||||
|
||||
void findFileInPackage();
|
||||
|
||||
@@ -267,8 +273,9 @@ private slots:
|
||||
void _deleteStandardItemModel(QStandardItemModel * sim);
|
||||
|
||||
void buildPackagesFromGroupList();
|
||||
void buildPackageList();
|
||||
void buildPackageList(bool nonBlocking=true);
|
||||
void metaBuildPackageList();
|
||||
void onComboGroupsChanged();
|
||||
|
||||
void _cloneModelPackages();
|
||||
void preBuildPackageList();
|
||||
@@ -283,7 +290,6 @@ private slots:
|
||||
void execContextMenuPackages(QPoint point);
|
||||
void execContextMenuPkgFileList(QPoint point);
|
||||
void execContextMenuTransaction(QPoint point);
|
||||
|
||||
void execSystemTrayActivated(QSystemTrayIcon::ActivationReason);
|
||||
|
||||
//SearchLineEdit methods
|
||||
@@ -296,12 +302,11 @@ private slots:
|
||||
void changedTabIndex();
|
||||
void invalidateTabs(); //This method clears the current information showed on tab.
|
||||
|
||||
void doSyncDatabase();
|
||||
void doSystemUpgrade(bool syncDatabase = false);
|
||||
void doRemoveAndInstall();
|
||||
void doRemove();
|
||||
void doInstall();
|
||||
void doCleanCache();
|
||||
void doSyncDatabase();
|
||||
|
||||
void doInstallYaourtPackage();
|
||||
void doRemoveYaourtPackage();
|
||||
@@ -350,6 +355,9 @@ private slots:
|
||||
|
||||
void outputTextBrowserAnchorClicked(const QUrl & link);
|
||||
|
||||
public slots:
|
||||
void doSystemUpgrade(bool syncDatabase = false);
|
||||
|
||||
public:
|
||||
explicit MainWindow(QWidget *parent = 0);
|
||||
~MainWindow();
|
||||
@@ -368,10 +376,16 @@ public:
|
||||
|
||||
QStandardItemModel *getModelPackages(){ return m_modelPackages; }
|
||||
QStandardItem *getAvailablePackage(const QString &pkgName, const int index);
|
||||
|
||||
void setCallSystemUpgrade();
|
||||
void setRemoveCommand(const QString &removeCommand);
|
||||
//void mutexLock(){ m_mutex->lock(); }
|
||||
//void mutexUnlock(){ m_mutex->unlock(); }
|
||||
|
||||
void setCleanLooksStyle(bool value){ m_cleanLooksStyle = value; }
|
||||
void setPackagesToInstallList(QStringList pkgList){ m_packagesToInstallList = pkgList; }
|
||||
void doInstallLocalPackages();
|
||||
|
||||
bool isCleanLooksStyleEnabled(){ return m_cleanLooksStyle; }
|
||||
bool isExecutingCommand(){ return m_commandExecuting != ectn_NONE; }
|
||||
};
|
||||
|
||||
#endif // MAINWINDOW_H
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "wmhelper.h"
|
||||
#include "uihelper.h"
|
||||
#include "searchbar.h"
|
||||
#include "globals.h"
|
||||
|
||||
#include <QCloseEvent>
|
||||
#include <QMessageBox>
|
||||
@@ -40,11 +41,6 @@
|
||||
#include <QFutureWatcher>
|
||||
#include <QtConcurrentRun>
|
||||
|
||||
QFutureWatcher<QList<PackageListData> *> fwPacman;
|
||||
QFutureWatcher<QList<QString> *> fwPacmanGroup;
|
||||
QFutureWatcher<QList<PackageListData> *> fwYaourt;
|
||||
QFutureWatcher<QList<PackageListData> *> fwYaourtMeta;
|
||||
|
||||
using namespace QtConcurrent;
|
||||
|
||||
/*
|
||||
@@ -88,86 +84,6 @@ void MainWindow::closeEvent(QCloseEvent *event)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper method to deal with the QFutureWatcher result before calling
|
||||
* Yaourt package list building method
|
||||
*/
|
||||
void MainWindow::preBuildYaourtPackageList()
|
||||
{
|
||||
m_listOfYaourtPackages = fwYaourt.result();
|
||||
buildYaourtPackageList();
|
||||
|
||||
delete m_cic;
|
||||
|
||||
if (m_modelPackages->rowCount() == 0)
|
||||
{
|
||||
m_leFilterPackage->setFocus();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper method to deal with the QFutureWatcher result before calling
|
||||
* Yaourt package list building method
|
||||
*/
|
||||
void MainWindow::preBuildYaourtPackageListMeta()
|
||||
{
|
||||
m_listOfYaourtPackages = fwYaourtMeta.result();
|
||||
buildYaourtPackageList();
|
||||
|
||||
delete m_cic;
|
||||
|
||||
if (m_modelPackages->rowCount() == 0)
|
||||
{
|
||||
m_leFilterPackage->setFocus();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper method to deal with the QFutureWatcher result before calling
|
||||
* Pacman package list building method
|
||||
*/
|
||||
void MainWindow::preBuildPackageList()
|
||||
{
|
||||
if (m_listOfPackages) m_listOfPackages->clear();
|
||||
m_listOfPackages = fwPacman.result();
|
||||
buildPackageList();
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper method to deal with the QFutureWatcher result before calling
|
||||
* Pacman packages from group list building method
|
||||
*/
|
||||
void MainWindow::preBuildPackagesFromGroupList()
|
||||
{
|
||||
if (m_listOfPackagesFromGroup) m_listOfPackagesFromGroup->clear();
|
||||
m_listOfPackagesFromGroup = fwPacmanGroup.result();
|
||||
buildPackagesFromGroupList();
|
||||
}
|
||||
|
||||
/*
|
||||
* Starts the non blocking search for Pacman packages...
|
||||
*/
|
||||
QList<PackageListData> * searchPacmanPackages()
|
||||
{
|
||||
return Package::getPackageList();
|
||||
}
|
||||
|
||||
/*
|
||||
* Starts the non blocking search for Pacman packages...
|
||||
*/
|
||||
QList<QString> * searchPacmanPackagesFromGroup(QString groupName)
|
||||
{
|
||||
return Package::getPackagesOfGroup(groupName);
|
||||
}
|
||||
|
||||
/*
|
||||
* Starts the non blocking search for Yaourt packages...
|
||||
*/
|
||||
QList<PackageListData> * searchYaourtPackages(QString searchString)
|
||||
{
|
||||
return Package::getYaourtPackageList(searchString);
|
||||
}
|
||||
|
||||
/*
|
||||
* This Event method is called whenever the user presses a key
|
||||
*/
|
||||
@@ -175,14 +91,14 @@ void MainWindow::keyPressEvent(QKeyEvent* ke)
|
||||
{
|
||||
if (ke->key() == Qt::Key_Return)
|
||||
{
|
||||
if (m_cbGroups->currentText() == StrConstants::getYaourtGroup() && m_leFilterPackage->hasFocus())
|
||||
if (m_cbGroups->currentText() == StrConstants::getYaourtGroup() && m_leFilterPackage->hasFocus() && m_cic == 0)
|
||||
{
|
||||
QFuture<QList<PackageListData> *> f;
|
||||
disconnect(&fwYaourt, SIGNAL(finished()), this, SLOT(preBuildYaourtPackageList()));
|
||||
disconnect(&g_fwYaourt, SIGNAL(finished()), this, SLOT(preBuildYaourtPackageList()));
|
||||
m_cic = new CPUIntensiveComputing();
|
||||
f = run(searchYaourtPackages, m_leFilterPackage->text());
|
||||
fwYaourt.setFuture(f);
|
||||
connect(&fwYaourt, SIGNAL(finished()), this, SLOT(preBuildYaourtPackageList()));
|
||||
g_fwYaourt.setFuture(f);
|
||||
connect(&g_fwYaourt, SIGNAL(finished()), this, SLOT(preBuildYaourtPackageList()));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -315,8 +231,7 @@ void MainWindow::keyPressEvent(QKeyEvent* ke)
|
||||
}
|
||||
|
||||
/*
|
||||
* This Event method is called whenever the user releases a key
|
||||
* (useful to navigate in the packagelist)
|
||||
* This Event method is called whenever the user releases a key (useful to navigate in the packagelist)
|
||||
*/
|
||||
void MainWindow::keyReleaseEvent(QKeyEvent *ke)
|
||||
{
|
||||
@@ -364,48 +279,3 @@ void MainWindow::keyReleaseEvent(QKeyEvent *ke)
|
||||
|
||||
else ke->ignore();
|
||||
}
|
||||
|
||||
/*
|
||||
* Decides which SLOT to call: buildPackageList or buildPackagesFromGroupList
|
||||
*/
|
||||
void MainWindow::metaBuildPackageList()
|
||||
{
|
||||
if (m_cbGroups->count() == 0 || m_cbGroups->currentIndex() == 0)
|
||||
{
|
||||
ui->tvPackages->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
toggleSystemActions(true);
|
||||
connect(m_leFilterPackage, SIGNAL(textChanged(QString)), this, SLOT(reapplyPackageFilter()));
|
||||
reapplyPackageFilter();
|
||||
disconnect(&fwPacman, SIGNAL(finished()), this, SLOT(preBuildPackageList()));
|
||||
QFuture<QList<PackageListData> *> f;
|
||||
f = run(searchPacmanPackages);
|
||||
fwPacman.setFuture(f);
|
||||
connect(&fwPacman, SIGNAL(finished()), this, SLOT(preBuildPackageList()));
|
||||
}
|
||||
else if (m_cbGroups->currentText() == StrConstants::getYaourtGroup())
|
||||
{
|
||||
ui->tvPackages->setSelectionMode(QAbstractItemView::SingleSelection);
|
||||
toggleSystemActions(false);
|
||||
disconnect(m_leFilterPackage, SIGNAL(textChanged(QString)), this, SLOT(reapplyPackageFilter()));
|
||||
clearStatusBar();
|
||||
|
||||
m_cic = new CPUIntensiveComputing();
|
||||
disconnect(&fwYaourtMeta, SIGNAL(finished()), this, SLOT(preBuildYaourtPackageListMeta()));
|
||||
QFuture<QList<PackageListData> *> f;
|
||||
f = run(searchYaourtPackages, m_leFilterPackage->text());
|
||||
fwYaourtMeta.setFuture(f);
|
||||
connect(&fwYaourtMeta, SIGNAL(finished()), this, SLOT(preBuildYaourtPackageListMeta()));
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->tvPackages->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
toggleSystemActions(true);
|
||||
connect(m_leFilterPackage, SIGNAL(textChanged(QString)), this, SLOT(reapplyPackageFilter()));
|
||||
reapplyPackageFilter();
|
||||
disconnect(&fwPacmanGroup, SIGNAL(finished()), this, SLOT(preBuildPackagesFromGroupList()));
|
||||
QFuture<QList<QString> *> f;
|
||||
f = run(searchPacmanPackagesFromGroup, m_cbGroups->currentText());
|
||||
fwPacmanGroup.setFuture(f);
|
||||
connect(&fwPacmanGroup, SIGNAL(finished()), this, SLOT(preBuildPackagesFromGroupList()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,14 +52,28 @@ void MainWindow::initTabHelpUsage()
|
||||
|
||||
QString iconPath = "<img height=\"16\" width=\"16\" src=\":/resources/images/";
|
||||
|
||||
QString strForMoreInfo = tr("For more information, visit:");
|
||||
QString html =
|
||||
QString("<h2>Octopi</h2>") +
|
||||
QString("<h3><p>") + tr("A Qt4-based Pacman frontend,") + " " +
|
||||
tr("licensed under the terms of") + " " +
|
||||
QString("<a style=\"color:'#4BC413'\" href=\"http://www.gnu.org/licenses/gpl-2.0.html\">GPL v2</a>.</p></h3>") +
|
||||
QString("<h4><p>") + tr("For more information, visit:") + " " +
|
||||
QString("<a style=\"color:'#4BC413'\" href=\"http://octopiproject.wordpress.com\">http://octopiproject.wordpress.com</a>.</p></h4><br>") +
|
||||
tr("Package classification:") +
|
||||
tr("licensed under the terms of") + " ";
|
||||
|
||||
if (UnixCommand::getLinuxDistro() == ectn_MANJAROLINUX && !WMHelper::isKDERunning())
|
||||
{
|
||||
html +=
|
||||
QString("<a style=\"color:'#4BC413'\" href=\"http://www.gnu.org/licenses/gpl-2.0.html\">GPL v2</a>.</p></h3>") +
|
||||
QString("<h4><p>") + strForMoreInfo + " " +
|
||||
QString("<a style=\"color:'#4BC413'\" href=\"http://octopiproject.wordpress.com\">http://octopiproject.wordpress.com</a>.</p></h4><br>");
|
||||
}
|
||||
else
|
||||
{
|
||||
html +=
|
||||
QString("<a href=\"http://www.gnu.org/licenses/gpl-2.0.html\">GPL v2</a>.</p></h3>") +
|
||||
QString("<h4><p>") + strForMoreInfo + " " +
|
||||
QString("<a href=\"http://octopiproject.wordpress.com\">http://octopiproject.wordpress.com</a>.</p></h4><br>");
|
||||
}
|
||||
|
||||
html += tr("Package classification:") +
|
||||
|
||||
QString("<ul type=\"square\"><li>") + iconPath + "installed.png\"/> " +
|
||||
tr("An installed package") + QString("</li>") +
|
||||
|
||||
@@ -146,7 +146,6 @@ void MainWindow::initSystemTrayIcon()
|
||||
m_systemTrayIconMenu = new QMenu( this );
|
||||
m_systemTrayIconMenu->addAction(ui->actionHelpAbout);
|
||||
m_systemTrayIconMenu->addAction(ui->actionExit);
|
||||
//m_systemTrayIcon->setContextMenu(m_systemTrayIconMenu);
|
||||
|
||||
connect ( m_systemTrayIcon , SIGNAL( activated( QSystemTrayIcon::ActivationReason ) ),
|
||||
this, SLOT( execSystemTrayActivated ( QSystemTrayIcon::ActivationReason ) ) );
|
||||
@@ -191,11 +190,22 @@ void MainWindow::initComboBoxGroups()
|
||||
m_cbGroups->setMaxVisibleItems(15);
|
||||
m_cbGroups->setStyleSheet(StrConstants::getMenuCSS());
|
||||
|
||||
m_hasYaourt = UnixCommand::hasTheExecutable("yaourt");
|
||||
|
||||
connect(m_cbGroups, SIGNAL(currentIndexChanged(QString)), this, SLOT(onComboGroupsChanged()));
|
||||
connect(m_cbGroups, SIGNAL(currentIndexChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
}
|
||||
|
||||
/*
|
||||
* Whenever user changes the Groups combobox, this method will be triggered...
|
||||
*/
|
||||
void MainWindow::onComboGroupsChanged()
|
||||
{
|
||||
if (m_cbGroups->currentIndex() == 0)
|
||||
{
|
||||
ui->actionSearchByName->setChecked(true);
|
||||
tvPackagesSearchColumnChanged(ui->actionSearchByName);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Inits the toolbar, including taking that annoying default view action out of the game
|
||||
*/
|
||||
@@ -206,7 +216,6 @@ void MainWindow::initToolBar()
|
||||
ui->mainToolBar->addAction(ui->actionSyncPackages);
|
||||
ui->mainToolBar->addAction(ui->actionCommit);
|
||||
ui->mainToolBar->addAction(ui->actionRollback);
|
||||
|
||||
m_leFilterPackage->setMinimumHeight(24);
|
||||
ui->mainToolBar->addWidget(m_leFilterPackage);
|
||||
ui->mainToolBar->addWidget(m_cbGroups);
|
||||
@@ -355,9 +364,15 @@ void MainWindow::initPackageTreeView()
|
||||
m_modelInstalledPackages = new QStandardItemModel(this);
|
||||
m_modelPackagesFromGroup = new QStandardItemModel(this);
|
||||
m_modelInstalledPackagesFromGroup = new QStandardItemModel(this);
|
||||
|
||||
m_proxyModelPackages->setSourceModel(m_modelPackages);
|
||||
m_proxyModelPackages->setFilterKeyColumn(ctn_PACKAGE_NAME_COLUMN);
|
||||
|
||||
if (UnixCommand::getLinuxDistro() == ectn_MANJAROLINUX &&
|
||||
!WMHelper::isKDERunning())
|
||||
{
|
||||
ui->tvPackages->setAlternatingRowColors(true);
|
||||
}
|
||||
|
||||
ui->tvPackages->setItemDelegate(new TreeViewPackagesItemDelegate(ui->tvPackages));
|
||||
ui->tvPackages->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
ui->tvPackages->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
@@ -478,7 +493,6 @@ void MainWindow::initTabOutput()
|
||||
text->setObjectName("textOutputEdit");
|
||||
text->setReadOnly(true);
|
||||
text->setOpenLinks(false);
|
||||
//text->setOpenExternalLinks(true);
|
||||
text->setFrameShape(QFrame::NoFrame);
|
||||
text->setFrameShadow(QFrame::Plain);
|
||||
|
||||
@@ -511,11 +525,15 @@ void MainWindow::initActions()
|
||||
|
||||
connect(actionGroup, SIGNAL(triggered(QAction*)), this, SLOT(tvPackagesSearchColumnChanged(QAction*)));
|
||||
|
||||
ui->actionInstallLocalPackage->setIcon(IconHelper::getIconFolder());
|
||||
|
||||
ui->actionOpenDirectory->setIcon(IconHelper::getIconFolder());
|
||||
|
||||
connect(ui->tvPackages->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
|
||||
this, SLOT(invalidateTabs()));
|
||||
|
||||
connect(ui->actionInstallLocalPackage, SIGNAL(triggered()), this, SLOT(installLocalPackage()));
|
||||
|
||||
connect(ui->actionRemoveTransactionItem, SIGNAL(triggered()), this, SLOT(onPressDelete()));
|
||||
connect(ui->actionRemoveTransactionItems, SIGNAL(triggered()), this, SLOT(onPressDelete()));
|
||||
connect(ui->actionExit, SIGNAL(triggered()), this, SLOT(close()));
|
||||
|
||||
@@ -78,7 +78,7 @@ QString MainWindow::retrieveDistroNews(bool searchForLatestNews)
|
||||
curlCommand = curlCommand.arg(ctn_MANJARO_LINUX_RSS).arg(tmpRssPath);
|
||||
}
|
||||
|
||||
if (UnixCommand::runCurlCommand(curlCommand) == 0)
|
||||
if (UnixCommand::runCurlCommand(curlCommand).isEmpty())
|
||||
{
|
||||
QFile fileTmpRss(tmpRssPath);
|
||||
QFile fileRss(rssPath);
|
||||
|
||||
@@ -27,6 +27,9 @@
|
||||
#include "ui_mainwindow.h"
|
||||
#include "strconstants.h"
|
||||
#include "uihelper.h"
|
||||
#include <iostream>
|
||||
#include "globals.h"
|
||||
|
||||
#include <QTimer>
|
||||
#include <QLabel>
|
||||
#include <QProgressBar>
|
||||
@@ -34,6 +37,10 @@
|
||||
#include <QTextBrowser>
|
||||
#include <QStandardItem>
|
||||
#include <QSortFilterProxyModel>
|
||||
#include <QFutureWatcher>
|
||||
#include <QtConcurrentRun>
|
||||
|
||||
using namespace QtConcurrent;
|
||||
|
||||
/*
|
||||
* If we have some outdated packages, let's put an angry red face icon in this app!
|
||||
@@ -80,6 +87,7 @@ void MainWindow::refreshComboBoxGroups()
|
||||
|
||||
m_cbGroups->clear();
|
||||
m_cbGroups->addItem("<" + StrConstants::getAll() + ">");
|
||||
m_hasYaourt = UnixCommand::hasTheExecutable("yaourt");
|
||||
|
||||
if (m_hasYaourt)
|
||||
{
|
||||
@@ -119,7 +127,7 @@ void MainWindow::buildPackagesFromGroupList()
|
||||
m_proxyModelPackages->setSourceModel(m_modelInstalledPackages);
|
||||
}
|
||||
|
||||
/*if (m_leFilterPackage->text() != "")*/ reapplyPackageFilter();
|
||||
reapplyPackageFilter();
|
||||
|
||||
QModelIndex maux = m_proxyModelPackages->index(0, 0);
|
||||
ui->tvPackages->setCurrentIndex(maux);
|
||||
@@ -133,8 +141,8 @@ void MainWindow::buildPackagesFromGroupList()
|
||||
return;
|
||||
}
|
||||
|
||||
disconnect(m_pacmanDatabaseSystemWatcher,
|
||||
SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
//disconnect(m_pacmanDatabaseSystemWatcher,
|
||||
// SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
|
||||
m_modelPackagesFromGroup->clear();
|
||||
m_modelInstalledPackagesFromGroup->clear();
|
||||
@@ -157,7 +165,6 @@ void MainWindow::buildPackagesFromGroupList()
|
||||
while(it != list->end())
|
||||
{
|
||||
QString packageName = *it;
|
||||
|
||||
QStandardItem *siIcon = getAvailablePackage(packageName, ctn_PACKAGE_ICON_COLUMN);
|
||||
QStandardItem *siName = getAvailablePackage(packageName, ctn_PACKAGE_NAME_COLUMN);
|
||||
QStandardItem *siVersion = getAvailablePackage(packageName, ctn_PACKAGE_VERSION_COLUMN);
|
||||
@@ -240,8 +247,8 @@ void MainWindow::buildPackagesFromGroupList()
|
||||
refreshTabFiles();
|
||||
ui->tvPackages->setFocus();
|
||||
|
||||
connect(m_pacmanDatabaseSystemWatcher,
|
||||
SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
//connect(m_pacmanDatabaseSystemWatcher,
|
||||
// SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
|
||||
m_progressWidget->close();
|
||||
}
|
||||
@@ -258,24 +265,126 @@ void MainWindow::_deleteStandardItemModel(QStandardItemModel * sim)
|
||||
delete sim;
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper method to deal with the QFutureWatcher result before calling
|
||||
* Yaourt package list building method
|
||||
*/
|
||||
void MainWindow::preBuildYaourtPackageList()
|
||||
{
|
||||
m_listOfYaourtPackages = g_fwYaourt.result();
|
||||
buildYaourtPackageList();
|
||||
|
||||
delete m_cic;
|
||||
m_cic = 0;
|
||||
|
||||
if (m_modelPackages->rowCount() == 0)
|
||||
{
|
||||
m_leFilterPackage->setFocus();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper method to deal with the QFutureWatcher result before calling
|
||||
* Yaourt package list building method
|
||||
*/
|
||||
void MainWindow::preBuildYaourtPackageListMeta()
|
||||
{
|
||||
m_listOfYaourtPackages = g_fwYaourtMeta.result();
|
||||
buildYaourtPackageList();
|
||||
|
||||
delete m_cic;
|
||||
m_cic = 0;
|
||||
|
||||
if (m_modelPackages->rowCount() == 0)
|
||||
{
|
||||
m_leFilterPackage->setFocus();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper method to deal with the QFutureWatcher result before calling
|
||||
* Pacman package list building method
|
||||
*/
|
||||
void MainWindow::preBuildPackageList()
|
||||
{
|
||||
if (m_listOfPackages) m_listOfPackages->clear();
|
||||
m_listOfPackages = g_fwPacman.result();
|
||||
buildPackageList();
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper method to deal with the QFutureWatcher result before calling
|
||||
* Pacman packages from group list building method
|
||||
*/
|
||||
void MainWindow::preBuildPackagesFromGroupList()
|
||||
{
|
||||
if (m_listOfPackagesFromGroup) m_listOfPackagesFromGroup->clear();
|
||||
m_listOfPackagesFromGroup = g_fwPacmanGroup.result();
|
||||
buildPackagesFromGroupList();
|
||||
}
|
||||
|
||||
/*
|
||||
* Decides which SLOT to call: buildPackageList or buildPackagesFromGroupList
|
||||
*/
|
||||
void MainWindow::metaBuildPackageList()
|
||||
{
|
||||
if (m_cbGroups->count() == 0 || m_cbGroups->currentIndex() == 0)
|
||||
{
|
||||
//ui->tvPackages->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
//disconnect(m_pacmanDatabaseSystemWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
toggleSystemActions(true);
|
||||
connect(m_leFilterPackage, SIGNAL(textChanged(QString)), this, SLOT(reapplyPackageFilter()));
|
||||
reapplyPackageFilter();
|
||||
disconnect(&g_fwPacman, SIGNAL(finished()), this, SLOT(preBuildPackageList()));
|
||||
QFuture<QList<PackageListData> *> f;
|
||||
f = run(searchPacmanPackages);
|
||||
g_fwPacman.setFuture(f);
|
||||
connect(&g_fwPacman, SIGNAL(finished()), this, SLOT(preBuildPackageList()));
|
||||
}
|
||||
else if (m_cbGroups->currentText() == StrConstants::getYaourtGroup())
|
||||
{
|
||||
//ui->tvPackages->setSelectionMode(QAbstractItemView::SingleSelection);
|
||||
//connect(m_pacmanDatabaseSystemWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
ui->tvPackages->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
toggleSystemActions(false);
|
||||
disconnect(m_leFilterPackage, SIGNAL(textChanged(QString)), this, SLOT(reapplyPackageFilter()));
|
||||
clearStatusBar();
|
||||
|
||||
m_cic = new CPUIntensiveComputing();
|
||||
disconnect(&g_fwYaourtMeta, SIGNAL(finished()), this, SLOT(preBuildYaourtPackageListMeta()));
|
||||
QFuture<QList<PackageListData> *> f;
|
||||
f = run(searchYaourtPackages, m_leFilterPackage->text());
|
||||
g_fwYaourtMeta.setFuture(f);
|
||||
connect(&g_fwYaourtMeta, SIGNAL(finished()), this, SLOT(preBuildYaourtPackageListMeta()));
|
||||
}
|
||||
else
|
||||
{
|
||||
//ui->tvPackages->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
//disconnect(m_pacmanDatabaseSystemWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
toggleSystemActions(true);
|
||||
connect(m_leFilterPackage, SIGNAL(textChanged(QString)), this, SLOT(reapplyPackageFilter()));
|
||||
reapplyPackageFilter();
|
||||
disconnect(&g_fwPacmanGroup, SIGNAL(finished()), this, SLOT(preBuildPackagesFromGroupList()));
|
||||
QFuture<QList<QString> *> f;
|
||||
f = run(searchPacmanPackagesFromGroup, m_cbGroups->currentText());
|
||||
g_fwPacmanGroup.setFuture(f);
|
||||
connect(&g_fwPacmanGroup, SIGNAL(finished()), this, SLOT(preBuildPackagesFromGroupList()));
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Populates the list of available packages (installed [+ non-installed])
|
||||
*
|
||||
* It's called Only: when the selected group is <All> !
|
||||
*/
|
||||
void MainWindow::buildPackageList()
|
||||
void MainWindow::buildPackageList(bool nonBlocking)
|
||||
{
|
||||
//This variable counts how many octopi* packages we have installed :-)
|
||||
CPUIntensiveComputing cic;
|
||||
|
||||
int countOctopi=0;
|
||||
//m_progressWidget->show();
|
||||
disconnect(m_pacmanDatabaseSystemWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
|
||||
static bool firstTime = true;
|
||||
|
||||
//Refresh the list of Group names
|
||||
refreshComboBoxGroups();
|
||||
if (!firstTime) refreshComboBoxGroups();
|
||||
|
||||
_deleteStandardItemModel(m_modelPackages);
|
||||
_deleteStandardItemModel(m_modelPackagesFromGroup);
|
||||
@@ -308,8 +417,14 @@ void MainWindow::buildPackageList()
|
||||
|
||||
qApp->processEvents();
|
||||
QStringList *unrequiredPackageList = Package::getUnrequiredPackageList();
|
||||
//QList<PackageListData> *list = Package::getPackageList();
|
||||
QList<PackageListData> *list = m_listOfPackages;
|
||||
|
||||
QList<PackageListData> *list;
|
||||
|
||||
if(nonBlocking)
|
||||
list = m_listOfPackages;
|
||||
else
|
||||
list = Package::getPackageList();
|
||||
|
||||
QList<PackageListData> *listForeign = Package::getForeignPackageList();
|
||||
qApp->processEvents();
|
||||
QList<PackageListData>::const_iterator itForeign = listForeign->begin();
|
||||
@@ -320,8 +435,6 @@ void MainWindow::buildPackageList()
|
||||
int counter=0;
|
||||
while (itForeign != listForeign->end())
|
||||
{
|
||||
//counter++;
|
||||
//m_progressWidget->setValue(counter);
|
||||
PackageListData pld = PackageListData(
|
||||
itForeign->name, itForeign->repository, itForeign->version,
|
||||
itForeign->name + " " + Package::getInformationDescription(itForeign->name, true),
|
||||
@@ -338,19 +451,11 @@ void MainWindow::buildPackageList()
|
||||
QList<QStandardItem*> lIcons, lNames, lVersions, lRepositories, lDescriptions;
|
||||
QList<QStandardItem*> lIcons2, lNames2, lVersions2, lRepositories2, lDescriptions2;
|
||||
|
||||
qApp->processEvents();
|
||||
while(it != list->end())
|
||||
{
|
||||
qApp->processEvents();
|
||||
//qApp->processEvents();
|
||||
PackageListData pld = *it;
|
||||
|
||||
if (pld.name == "octopi")
|
||||
{
|
||||
it++;
|
||||
countOctopi++;
|
||||
continue;
|
||||
}
|
||||
|
||||
//If this is an installed package, it can be also outdated!
|
||||
switch (pld.status)
|
||||
{
|
||||
@@ -408,6 +513,7 @@ void MainWindow::buildPackageList()
|
||||
it++;
|
||||
}
|
||||
|
||||
m_progressWidget->setValue(list->count());
|
||||
parentItem->insertColumn(0, lIcons);
|
||||
parentItem->insertColumn(1, lNames);
|
||||
parentItem->insertColumn(2, lVersions);
|
||||
@@ -457,21 +563,14 @@ void MainWindow::buildPackageList()
|
||||
m_numberOfInstalledPackages = m_modelInstalledPackages->invisibleRootItem()->rowCount();
|
||||
m_numberOfAvailablePackages = m_modelPackages->invisibleRootItem()->rowCount() - m_numberOfInstalledPackages;
|
||||
|
||||
m_numberOfInstalledPackages += countOctopi;
|
||||
|
||||
//Refresh statusbar widget
|
||||
refreshStatusBar();
|
||||
|
||||
//Refresh application icon
|
||||
refreshAppIcon();
|
||||
|
||||
//Refresh SystemTray icon
|
||||
refreshSystemTrayIcon();
|
||||
|
||||
connect(m_pacmanDatabaseSystemWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
|
||||
//counter = list->count() + listForeign->count();
|
||||
//m_progressWidget->setValue(counter);
|
||||
_cloneModelPackages();
|
||||
m_progressWidget->close();
|
||||
|
||||
if (firstTime)
|
||||
{
|
||||
@@ -485,14 +584,17 @@ void MainWindow::buildPackageList()
|
||||
|
||||
if (m_callSystemUpgrade)
|
||||
{
|
||||
doSystemUpgrade(true);
|
||||
//First, let us throw away that 'wainting cursor'...
|
||||
QApplication::restoreOverrideCursor();
|
||||
doSystemUpgrade();
|
||||
}
|
||||
else if (m_packagesToInstallList.count() > 0)
|
||||
{
|
||||
//First, let us throw away that 'wainting cursor'...
|
||||
QApplication::restoreOverrideCursor();
|
||||
doInstallLocalPackages();
|
||||
}
|
||||
|
||||
m_systemTrayIcon->setContextMenu(m_systemTrayIconMenu);
|
||||
}
|
||||
|
||||
_cloneModelPackages();
|
||||
m_progressWidget->close();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -533,7 +635,6 @@ void MainWindow::buildYaourtPackageList()
|
||||
tvPackagesSearchColumnChanged(ui->actionSearchByDescription);
|
||||
|
||||
m_progressWidget->show();
|
||||
disconnect(m_pacmanDatabaseSystemWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
|
||||
_deleteStandardItemModel(m_modelPackages);
|
||||
_deleteStandardItemModel(m_modelPackagesFromGroup);
|
||||
@@ -679,13 +780,8 @@ void MainWindow::buildYaourtPackageList()
|
||||
//Refresh application icon
|
||||
refreshAppIcon();
|
||||
|
||||
//Refresh SystemTray icon
|
||||
refreshSystemTrayIcon();
|
||||
|
||||
reapplyPackageFilter();
|
||||
|
||||
connect(m_pacmanDatabaseSystemWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
|
||||
counter = list->count();
|
||||
m_progressWidget->setValue(counter);
|
||||
m_progressWidget->close();
|
||||
@@ -698,7 +794,8 @@ void MainWindow::refreshStatusBar()
|
||||
{
|
||||
QString text;
|
||||
|
||||
if(m_numberOfOutdatedPackages > 0 && m_numberOfInstalledPackages > 0)
|
||||
if(m_numberOfOutdatedPackages > 0 && m_numberOfInstalledPackages > 0 &&
|
||||
m_cbGroups->currentText() != StrConstants::getYaourtGroup())
|
||||
{
|
||||
text = " | " + StrConstants::getNumberInstalledPackages().arg(m_numberOfInstalledPackages) +
|
||||
" | <b><font color=\"#E55451\"><a href=\"dummy\" style=\"color:\'#E55451\'\">" +
|
||||
@@ -811,7 +908,6 @@ void MainWindow::refreshTabInfo(bool clearContents, bool neverQuit)
|
||||
{
|
||||
siDescription = getAvailablePackage(pkgName, ctn_PACKAGE_DESCRIPTION_COLUMN);
|
||||
QString pkgDescription = siDescription->text();
|
||||
//pkgDescription = pkgDescription.fromUtf8(pkgDescription.toAscii().data());
|
||||
QString version = StrConstants::getVersion();
|
||||
|
||||
QTextBrowser *text = ui->twProperties->widget(
|
||||
@@ -830,9 +926,7 @@ void MainWindow::refreshTabInfo(bool clearContents, bool neverQuit)
|
||||
html += "<a style=\"font-size:16px;\">" + pkgDescription + "</a>";
|
||||
|
||||
html += "<table border=\"0\">";
|
||||
|
||||
html += "<tr><th width=\"20%\"></th><th width=\"80%\"></th></tr>";
|
||||
//html += "<tr><td>" + url + "</td><td style=\"font-size:14px;\">" + pid.url + "</td></tr>";
|
||||
|
||||
int mark = siIcon->text().indexOf('^');
|
||||
if (mark >= 0)
|
||||
@@ -939,7 +1033,9 @@ void MainWindow::refreshTabInfo(bool clearContents, bool neverQuit)
|
||||
if(! pid.optDepends.contains("None"))
|
||||
html += "<tr><td>" + optionalDeps + "</td><td>" + pid.optDepends + "</td></tr>";
|
||||
if(! pid.conflictsWith.contains("None"))
|
||||
html += "<tr><td><b>" + conflictsWith + "</b></td><td><b>" + pid.conflictsWith + "</b></font></td></tr>";
|
||||
html += "<tr><td><b>" + conflictsWith + "</b></td><td><b>" + pid.conflictsWith +
|
||||
"</b></font></td></tr>";
|
||||
|
||||
if(! pid.replaces.contains("None"))
|
||||
html += "<tr><td>" + replaces + "</td><td>" + pid.replaces + "</td></tr>";
|
||||
|
||||
@@ -1069,7 +1165,9 @@ void MainWindow::refreshTabFiles(bool clearContents, bool neverQuit)
|
||||
mi.row(), ctn_PACKAGE_ICON_COLUMN)->text() == "_NonInstalled"));
|
||||
}
|
||||
|
||||
QTreeView *tvPkgFileList = ui->twProperties->widget(ctn_TABINDEX_FILES)->findChild<QTreeView*>("tvPkgFileList");
|
||||
QTreeView *tvPkgFileList =
|
||||
ui->twProperties->widget(ctn_TABINDEX_FILES)->findChild<QTreeView*>("tvPkgFileList");
|
||||
|
||||
if (tvPkgFileList)
|
||||
{
|
||||
QString pkgName = siName->text();
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "strconstants.h"
|
||||
#include "transactiondialog.h"
|
||||
#include <iostream>
|
||||
|
||||
#include <QComboBox>
|
||||
#include <QProgressBar>
|
||||
#include <QMessageBox>
|
||||
@@ -112,7 +113,6 @@ void MainWindow::insertRemovePackageIntoTransaction(const QString &pkgName)
|
||||
QStandardItem * siInstallParent = getInstallTransactionParentItem();
|
||||
QStandardItem * siPackageToRemove = new QStandardItem(IconHelper::getIconRemoveItem(), pkgName);
|
||||
QStandardItemModel *sim = qobject_cast<QStandardItemModel *>(siRemoveParent->model());
|
||||
|
||||
QList<QStandardItem *> foundItems = sim->findItems(pkgName, Qt::MatchRecursive | Qt::MatchExactly);
|
||||
|
||||
int slash = pkgName.indexOf("/");
|
||||
@@ -510,6 +510,18 @@ void MainWindow::doSyncDatabase()
|
||||
*/
|
||||
void MainWindow::doSystemUpgrade(bool syncDatabase)
|
||||
{
|
||||
if (m_systemUpgradeDialog) return;
|
||||
|
||||
if(m_callSystemUpgrade && m_numberOfOutdatedPackages == 0)
|
||||
{
|
||||
m_callSystemUpgrade = false;
|
||||
return;
|
||||
}
|
||||
/*else if(m_callSystemUpgrade)
|
||||
{
|
||||
refreshDistroNews(true, false);
|
||||
}*/
|
||||
|
||||
qApp->processEvents();
|
||||
|
||||
if(syncDatabase)
|
||||
@@ -523,15 +535,23 @@ void MainWindow::doSystemUpgrade(bool syncDatabase)
|
||||
QList<PackageListData> * targets = Package::getTargetUpgradeList();
|
||||
|
||||
//There are no new updates to install!
|
||||
if (targets->count() == 0)
|
||||
if (targets->count() == 0 && m_outdatedPackageList->count() == 0)
|
||||
{
|
||||
clearTabOutput();
|
||||
writeToTabOutputExt("<b>" + StrConstants::getNoNewUpdatesAvailable() + "</b>");
|
||||
return;
|
||||
}
|
||||
else if (targets->count() == 0 && m_outdatedPackageList->count() > 0)
|
||||
{
|
||||
//This is a bug and should be shown to the user!
|
||||
clearTabOutput();
|
||||
writeToTabOutputExt(UnixCommand::getTargetUpgradeList());
|
||||
return;
|
||||
}
|
||||
|
||||
QString list;
|
||||
double totalDownloadSize = 0;
|
||||
|
||||
foreach(PackageListData target, *targets)
|
||||
{
|
||||
totalDownloadSize += target.downloadSize;
|
||||
@@ -556,10 +576,14 @@ void MainWindow::doSystemUpgrade(bool syncDatabase)
|
||||
question.setWindowTitle(StrConstants::getConfirmation());
|
||||
question.setInformativeText(StrConstants::getConfirmationQuestion());
|
||||
question.setDetailedText(list);
|
||||
|
||||
m_systemUpgradeDialog = true;
|
||||
int result = question.exec();
|
||||
|
||||
if(result == QDialogButtonBox::Yes || result == QDialogButtonBox::AcceptRole)
|
||||
{
|
||||
m_systemUpgradeDialog = false;
|
||||
|
||||
//If there are no means to run the actions, we must warn!
|
||||
if (!_isSUAvailable()) return;
|
||||
|
||||
@@ -594,8 +618,14 @@ void MainWindow::doSystemUpgrade(bool syncDatabase)
|
||||
{
|
||||
m_commandExecuting = ectn_RUN_SYSTEM_UPGRADE_IN_TERMINAL;
|
||||
m_unixCommand->runCommandInTerminal(m_lastCommandList);
|
||||
m_commandQueued = ectn_NONE;
|
||||
}
|
||||
}
|
||||
else if (result == QDialogButtonBox::No)
|
||||
{
|
||||
m_systemUpgradeDialog = false;
|
||||
enableTransactionActions();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -809,8 +839,13 @@ void MainWindow::doInstallYaourtPackage()
|
||||
//If there are no means to run the actions, we must warn!
|
||||
if (!_isSUAvailable()) return;
|
||||
|
||||
QString listOfTargets =
|
||||
m_modelPackages->item(ui->tvPackages->currentIndex().row(), ctn_PACKAGE_NAME_COLUMN)->text();
|
||||
QString listOfTargets;
|
||||
for (int c=0; c<ui->tvPackages->selectionModel()->selectedRows().count(); c++)
|
||||
{
|
||||
listOfTargets +=
|
||||
_getCurrentSelectedModel()->item(ui->tvPackages->selectionModel()->selectedRows().at(c).row(),
|
||||
ctn_PACKAGE_NAME_COLUMN)->text() + " ";
|
||||
}
|
||||
|
||||
m_lastCommandList.clear();
|
||||
m_lastCommandList.append("yaourt -S " + listOfTargets + ";");
|
||||
@@ -820,16 +855,12 @@ void MainWindow::doInstallYaourtPackage()
|
||||
disableTransactionActions();
|
||||
m_unixCommand = new UnixCommand(this);
|
||||
|
||||
QObject::connect(m_unixCommand, SIGNAL( started() ), this, SLOT( actionsProcessStarted()));
|
||||
QObject::connect(m_unixCommand, SIGNAL( readyReadStandardOutput()),
|
||||
this, SLOT( actionsProcessReadOutput() ));
|
||||
QObject::connect(m_unixCommand, SIGNAL( finished ( int, QProcess::ExitStatus )),
|
||||
QObject::connect(m_unixCommand, SIGNAL( startedTerminal() ), this, SLOT( actionsProcessStarted()));
|
||||
QObject::connect(m_unixCommand, SIGNAL( finishedTerminal ( int, QProcess::ExitStatus )),
|
||||
this, SLOT( actionsProcessFinished(int, QProcess::ExitStatus) ));
|
||||
QObject::connect(m_unixCommand, SIGNAL( readyReadStandardError() ),
|
||||
this, SLOT( actionsProcessRaisedError() ));
|
||||
|
||||
m_commandExecuting = ectn_RUN_IN_TERMINAL;
|
||||
m_unixCommand->runCommandInTerminal(m_lastCommandList);
|
||||
m_unixCommand->runCommandInTerminalAsNormalUser(m_lastCommandList);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -840,11 +871,16 @@ void MainWindow::doRemoveYaourtPackage()
|
||||
//If there are no means to run the actions, we must warn!
|
||||
if (!_isSUAvailable()) return;
|
||||
|
||||
QString listOfTargets =
|
||||
m_modelPackages->item(ui->tvPackages->currentIndex().row(), ctn_PACKAGE_NAME_COLUMN)->text();
|
||||
QString listOfTargets;
|
||||
for (int c=0; c<ui->tvPackages->selectionModel()->selectedRows().count(); c++)
|
||||
{
|
||||
listOfTargets +=
|
||||
_getCurrentSelectedModel()->item(ui->tvPackages->selectionModel()->selectedRows().at(c).row(),
|
||||
ctn_PACKAGE_NAME_COLUMN)->text() + " ";
|
||||
}
|
||||
|
||||
m_lastCommandList.clear();
|
||||
m_lastCommandList.append("yaourt -Rcs " + listOfTargets + ";");
|
||||
m_lastCommandList.append("yaourt -" + m_removeCommand + " " + listOfTargets + ";");
|
||||
m_lastCommandList.append("echo -e;");
|
||||
m_lastCommandList.append("read -n1 -p \"" + StrConstants::getPressAnyKey() + "\"");
|
||||
|
||||
@@ -948,6 +984,41 @@ void MainWindow::doInstall()
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Installs ALL the packages manually selected by the user with "pacman -U (INCLUDING DEPENDENCIES)" !
|
||||
*/
|
||||
void MainWindow::doInstallLocalPackages()
|
||||
{
|
||||
//If there are no means to run the actions, we must warn!
|
||||
if (!_isSUAvailable()) return;
|
||||
|
||||
QString listOfTargets;
|
||||
|
||||
foreach(QString pkgToInstall, m_packagesToInstallList)
|
||||
{
|
||||
listOfTargets += pkgToInstall + " ";
|
||||
}
|
||||
|
||||
m_lastCommandList.clear();
|
||||
m_lastCommandList.append("pacman -U " + listOfTargets + ";");
|
||||
m_lastCommandList.append("echo -e;");
|
||||
m_lastCommandList.append("read -n1 -p \"" + StrConstants::getPressAnyKey() + "\"");
|
||||
|
||||
disableTransactionActions();
|
||||
m_unixCommand = new UnixCommand(this);
|
||||
|
||||
QObject::connect(m_unixCommand, SIGNAL( started() ), this, SLOT( actionsProcessStarted()));
|
||||
QObject::connect(m_unixCommand, SIGNAL( readyReadStandardOutput()),
|
||||
this, SLOT( actionsProcessReadOutput() ));
|
||||
QObject::connect(m_unixCommand, SIGNAL( finished ( int, QProcess::ExitStatus )),
|
||||
this, SLOT( actionsProcessFinished(int, QProcess::ExitStatus) ));
|
||||
QObject::connect(m_unixCommand, SIGNAL( readyReadStandardError() ),
|
||||
this, SLOT( actionsProcessRaisedError() ));
|
||||
|
||||
m_commandExecuting = ectn_RUN_IN_TERMINAL;
|
||||
m_unixCommand->runCommandInTerminal(m_lastCommandList);
|
||||
}
|
||||
|
||||
/*
|
||||
* Clears the local package cache using "pacman -Sc"
|
||||
*/
|
||||
@@ -962,7 +1033,7 @@ void MainWindow::doCleanCache()
|
||||
|
||||
if (res == QMessageBox::Yes)
|
||||
{
|
||||
disconnect(m_pacmanDatabaseSystemWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
//disconnect(m_pacmanDatabaseSystemWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
clearTabOutput();
|
||||
writeToTabOutputExt("<b>" + StrConstants::getCleaningPackageCache() + "</b>");
|
||||
qApp->processEvents();
|
||||
@@ -1018,23 +1089,12 @@ void MainWindow::toggleTransactionActions(const bool value)
|
||||
ui->actionInstall->setEnabled(value);
|
||||
ui->actionRemove->setEnabled(value);
|
||||
ui->actionSyncPackages->setEnabled(value);
|
||||
|
||||
/*if (value == false)
|
||||
{
|
||||
ui->actionSystemUpgrade->setEnabled(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Let's see if we can enable system upgrade
|
||||
QList<PackageListData> * targets = Package::getTargetUpgradeList();
|
||||
if (targets->count() == 0)
|
||||
ui->actionSystemUpgrade->setEnabled(false);
|
||||
else
|
||||
ui->actionSystemUpgrade->setEnabled(true);
|
||||
}*/
|
||||
|
||||
ui->actionSystemUpgrade->setEnabled(value);
|
||||
ui->actionGetNews->setEnabled(value);
|
||||
ui->actionInstallLocalPackage->setEnabled(value);
|
||||
|
||||
//We have to toggle the combobox groups as well
|
||||
if (m_initializationCompleted) m_cbGroups->setEnabled(value);
|
||||
}
|
||||
|
||||
void MainWindow::toggleSystemActions(const bool value)
|
||||
@@ -1089,7 +1149,7 @@ void MainWindow::actionsProcessStarted()
|
||||
m_progressWidget->setMaximum(100);
|
||||
m_iLoveCandy = UnixCommand::isILoveCandyEnabled();
|
||||
|
||||
disconnect(m_pacmanDatabaseSystemWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
//disconnect(m_pacmanDatabaseSystemWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
|
||||
clearTabOutput();
|
||||
|
||||
@@ -1160,7 +1220,7 @@ void MainWindow::actionsProcessFinished(int exitCode, QProcess::ExitStatus)
|
||||
|
||||
if (oldIndex == 0)
|
||||
{
|
||||
metaBuildPackageList();
|
||||
metaBuildPackageList();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1175,7 +1235,8 @@ void MainWindow::actionsProcessFinished(int exitCode, QProcess::ExitStatus)
|
||||
if (m_commandExecuting == ectn_SYNC_DATABASE)
|
||||
{
|
||||
//Did it synchronize any repo? If so, let's refresh some things...
|
||||
if (_textInTabOutput(StrConstants::getSyncing()))
|
||||
if (UnixCommand::isAppRunning("octopi-notifier", true) ||
|
||||
_textInTabOutput(StrConstants::getSyncing()))
|
||||
{
|
||||
int oldIndex = m_cbGroups->currentIndex();
|
||||
m_cbGroups->setCurrentIndex(0);
|
||||
@@ -1191,12 +1252,17 @@ void MainWindow::actionsProcessFinished(int exitCode, QProcess::ExitStatus)
|
||||
{
|
||||
buildYaourtPackageList();
|
||||
}*/
|
||||
else if (m_commandExecuting == ectn_SYSTEM_UPGRADE ||
|
||||
m_commandExecuting == ectn_RUN_SYSTEM_UPGRADE_IN_TERMINAL)
|
||||
{
|
||||
buildPackageList(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
metaBuildPackageList();
|
||||
}
|
||||
|
||||
connect(m_pacmanDatabaseSystemWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
//connect(m_pacmanDatabaseSystemWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
clearTransactionTreeView();
|
||||
|
||||
//Does it still need to upgrade another packages due to SyncFirst issues???
|
||||
@@ -1211,8 +1277,8 @@ void MainWindow::actionsProcessFinished(int exitCode, QProcess::ExitStatus)
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
connect(m_pacmanDatabaseSystemWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
//else
|
||||
// connect(m_pacmanDatabaseSystemWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(metaBuildPackageList()));
|
||||
}
|
||||
|
||||
if (exitCode != 0 && (_textInTabOutput("conflict"))) //|| _textInTabOutput("could not satisfy dependencies")))
|
||||
@@ -1228,6 +1294,8 @@ void MainWindow::actionsProcessFinished(int exitCode, QProcess::ExitStatus)
|
||||
}
|
||||
}
|
||||
|
||||
//TODO: We have to wait until metaBuildPackageList() returns...
|
||||
|
||||
enableTransactionActions();
|
||||
if (m_cbGroups->currentText() == StrConstants::getYaourtGroup())
|
||||
{
|
||||
@@ -1435,7 +1503,7 @@ void MainWindow::_treatProcessOutput(const QString &pMsg)
|
||||
msg.remove(QRegExp("Connecting to deprecated signal.+"));
|
||||
msg.remove(QRegExp("QVariant.+"));
|
||||
msg.remove(QRegExp("gksu-run.+"));
|
||||
msg.remove(QRegExp("Do you want.+"));
|
||||
msg.remove(QRegExp(":: Do you want.+"));
|
||||
|
||||
msg = msg.trimmed();
|
||||
|
||||
|
||||
@@ -56,7 +56,6 @@ QString Package::getBaseName( const QString& p )
|
||||
QString Package::makeURLClickable( const QString &s )
|
||||
{
|
||||
QString sb = s;
|
||||
|
||||
QRegExp rx("((ht|f)tp(s?))://(\\S)+[^\"|)|(|.|\\s|\\n]");
|
||||
QRegExp rx1("^|[\\s]+(www\\.)(\\S)+[^\"|)|(|.|\\s|\\n]");
|
||||
rx.setCaseSensitivity( Qt::CaseInsensitive );
|
||||
@@ -204,12 +203,14 @@ QStringList *Package::getOutdatedPackageList()
|
||||
QString outPkgList = UnixCommand::getOutdatedPackageList();
|
||||
QStringList packageTuples = outPkgList.split(QRegExp("\\n"), QString::SkipEmptyParts);
|
||||
QStringList * res = new QStringList();
|
||||
QStringList ignorePkgList = UnixCommand::getIgnorePkg();
|
||||
|
||||
foreach(QString packageTuple, packageTuples)
|
||||
{
|
||||
QStringList parts = packageTuple.split(' ');
|
||||
{
|
||||
if (!parts[0].contains("octopi"))
|
||||
//Let's ignore the "IgnorePkg" list of packages...
|
||||
if (!ignorePkgList.contains(parts[0]))
|
||||
{
|
||||
res->append(parts[0]); //We only need the package name!
|
||||
}
|
||||
@@ -406,7 +407,7 @@ QList<PackageListData> * Package::getPackageList()
|
||||
if (!packageTuple.trimmed().isEmpty())
|
||||
pkgDescription += packageTuple.trimmed();
|
||||
else
|
||||
pkgDescription += StrConstants::getNoDescriptionAvailabe();
|
||||
pkgDescription += " "; //StrConstants::getNoDescriptionAvailabe();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -510,7 +511,9 @@ QList<PackageListData> * Package::getYaourtPackageList(const QString& searchStri
|
||||
if (!packageTuple.trimmed().isEmpty())
|
||||
pkgDescription += packageTuple.trimmed();
|
||||
else
|
||||
pkgDescription += StrConstants::getNoDescriptionAvailabe();
|
||||
{
|
||||
pkgDescription += " "; //StrConstants::getNoDescriptionAvailabe();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -21,11 +21,19 @@
|
||||
#include <iostream>
|
||||
#include "packagecontroller.h"
|
||||
#include "package.h"
|
||||
|
||||
#include <QDirIterator>
|
||||
#include <QStandardItemModel>
|
||||
#include <QStandardItem>
|
||||
#include <QCoreApplication>
|
||||
|
||||
/*
|
||||
* This is a controller class that provides search services, using Package methods.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Returns the full path of a tree view item (normaly a file in a directory tree)
|
||||
*/
|
||||
QString PackageController::showFullPathOfItem( const QModelIndex &index ){
|
||||
QString str;
|
||||
if (!index.isValid()) return str;
|
||||
@@ -51,96 +59,10 @@ QString PackageController::showFullPathOfItem( const QModelIndex &index ){
|
||||
return str;
|
||||
}
|
||||
|
||||
QMap<QString, QStringList> PackageController::findFile( const QString& name ){
|
||||
FILE *file;
|
||||
char linebuf[1024];
|
||||
QString st;
|
||||
QString fn, dr = ctn_INSTALLED_PACKAGES_DIR;
|
||||
QMap<QString, QStringList> m;
|
||||
|
||||
QDir d(ctn_INSTALLED_PACKAGES_DIR);
|
||||
if ( d.exists() ){
|
||||
|
||||
QStringList slAux;
|
||||
const QFileInfoList list = d.entryInfoList();
|
||||
foreach ( QFileInfo fi, list ) {
|
||||
QCoreApplication::processEvents();
|
||||
|
||||
if ( !fi.isDir() && fi.isReadable() ){
|
||||
fn = dr + fi.fileName();
|
||||
file = fopen ( QFile::encodeName ( fn ),"r" );
|
||||
if ( file ){
|
||||
QStringList sl;
|
||||
while ( fgets ( linebuf,sizeof ( linebuf ),file ) ){
|
||||
if ( !strcmp ( linebuf, ctn_FILELIST ) ){
|
||||
break;
|
||||
}
|
||||
}
|
||||
while ( fgets ( linebuf,sizeof ( linebuf ),file ) ){
|
||||
QString fileName = QString::fromLocal8Bit ( linebuf );
|
||||
QFileInfo f(fileName);
|
||||
if (f.fileName().simplified().indexOf(QRegExp(name, Qt::CaseInsensitive) ) != -1){
|
||||
st = "/";
|
||||
st += linebuf;
|
||||
st.truncate ( st.length() -1 );
|
||||
if ( st.left ( 8 ) != "/install" ){
|
||||
if (m.contains(fi.fileName())){
|
||||
slAux = m.value(fi.fileName());
|
||||
slAux.append(st);
|
||||
m.insert(fi.fileName(), slAux);
|
||||
}
|
||||
else
|
||||
m.insert(fi.fileName(), sl << st);
|
||||
|
||||
sl.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
fclose ( file );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
QMap<QString, QStringList> PackageController::findFile( const QString& name, const QStandardItemModel *sim){
|
||||
QMap<QString, QStringList> m;
|
||||
QList<QStandardItem *> foundItems;
|
||||
QString fileName;
|
||||
QStringList listAux;
|
||||
|
||||
if (sim->rowCount() == 0) return m;
|
||||
|
||||
foundItems = sim->findItems(name, Qt::MatchRegExp|Qt::MatchRecursive, 0);
|
||||
QString fullPath;
|
||||
|
||||
foreach(QStandardItem *item, foundItems){
|
||||
QCoreApplication::processEvents();
|
||||
|
||||
if (item->accessibleDescription().contains("directory")) continue;
|
||||
if (item->parent()){
|
||||
fileName = item->text();
|
||||
fullPath = showFullPathOfItem(item->parent()->index());
|
||||
}
|
||||
if (item->parent() && item->parent()->hasChildren() &&
|
||||
item->parent() != item->model()->invisibleRootItem() &&
|
||||
m.contains(fullPath)){
|
||||
|
||||
listAux = m.value(fullPath);
|
||||
listAux << fileName;
|
||||
m.insert(fullPath, listAux);
|
||||
}
|
||||
else if (item->parent() && item->parent() != item->model()->invisibleRootItem())
|
||||
m.insert(fullPath, listAux << fileName);
|
||||
|
||||
listAux.clear();
|
||||
}
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
/*
|
||||
* Given a filename 'name', searches for it inside a QStandard item model
|
||||
* Result is a list containing all QModelIndex occurencies
|
||||
*/
|
||||
QList<QModelIndex> * PackageController::findFileEx( const QString& name, const QStandardItemModel *sim)
|
||||
{
|
||||
QList<QModelIndex> * res = new QList<QModelIndex>();
|
||||
@@ -154,8 +76,6 @@ QList<QModelIndex> * PackageController::findFileEx( const QString& name, const Q
|
||||
foundItems = sim->findItems(Package::parseSearchString(name), Qt::MatchRegExp|Qt::MatchRecursive);
|
||||
foreach(QStandardItem *item, foundItems)
|
||||
{
|
||||
//QCoreApplication::processEvents();
|
||||
|
||||
if (item->accessibleDescription().contains("directory")) continue;
|
||||
|
||||
res->append(item->index());
|
||||
@@ -163,55 +83,3 @@ QList<QModelIndex> * PackageController::findFileEx( const QString& name, const Q
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
/*QMap<QString, QStringList> PackageController::findPackage( const QString& name, const QString& searchDir ){
|
||||
QMap<QString, QStringList> m;
|
||||
|
||||
QStringList nameFilters;
|
||||
nameFilters << "*" + ctn_TGZ_PACKAGE_EXTENSION <<
|
||||
"*" + ctn_TXZ_PACKAGE_EXTENSION <<
|
||||
"*" + ctn_RPM_PACKAGE_EXTENSION;
|
||||
|
||||
QDirIterator *targetDir = new QDirIterator(searchDir, nameFilters,
|
||||
QDir::AllEntries,
|
||||
QDirIterator::Subdirectories);
|
||||
QString res;
|
||||
QString dir;
|
||||
QStringList fileNames, slAux;
|
||||
|
||||
while (targetDir->hasNext()){
|
||||
QCoreApplication::processEvents();
|
||||
targetDir->next();
|
||||
res = targetDir->fileName();
|
||||
QFileInfo fi = targetDir->fileInfo();
|
||||
dir = fi.absolutePath();
|
||||
|
||||
if (res.indexOf( QRegExp(name, Qt::CaseInsensitive)) != -1){
|
||||
fileNames << res;
|
||||
if (m.contains(dir)){
|
||||
slAux = m.value(dir);
|
||||
slAux.append(res);
|
||||
m.insert(dir, slAux);
|
||||
}
|
||||
else m.insert(dir, fileNames);
|
||||
|
||||
fileNames.clear();
|
||||
}
|
||||
}
|
||||
|
||||
delete targetDir;
|
||||
return m;
|
||||
}*/
|
||||
|
||||
void PackageController::testSearchInDir(){
|
||||
/*QMap<QString, QStringList> map = findPackage("qt-", "/home/arnt/Packages");
|
||||
|
||||
foreach (QString k, map.keys()){
|
||||
foreach( QStringList sl, map.values(k) ){
|
||||
for ( int c=0; c<sl.count(); c++ ){
|
||||
QString found(sl[c]);
|
||||
std::cout << "Found!" << k.toAscii().data() << "/" << found.toAscii().data() << std::endl;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
@@ -29,13 +29,7 @@ class PackageController
|
||||
{
|
||||
public:
|
||||
static QString showFullPathOfItem( const QModelIndex &index );
|
||||
static QMap<QString, QStringList> findFile( const QString& name );
|
||||
static QMap<QString, QStringList> findFile( const QString& name, const QStandardItemModel *sim);
|
||||
static QMap<QString, QStringList> findPackage( const QString& name, const QString& searchDir );
|
||||
|
||||
static QList<QModelIndex> * findFileEx( const QString& name, const QStandardItemModel *sim);
|
||||
|
||||
static void testSearchInDir();
|
||||
};
|
||||
|
||||
#endif // PACKAGECONTROLLER_H
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
|
||||
#include "searchlineedit.h"
|
||||
#include "strconstants.h"
|
||||
#include "mainwindow.h"
|
||||
|
||||
#include <QApplication>
|
||||
#include <QToolButton>
|
||||
#include <QStyle>
|
||||
|
||||
@@ -37,7 +40,15 @@ void SearchLineEdit::resizeEvent(QResizeEvent *event)
|
||||
{
|
||||
Q_UNUSED(event);
|
||||
QSize size = this->mSearchButton->sizeHint();
|
||||
this->mSearchButton->move(5, (this->rect().bottom() + 10 - size.height()) / 2);
|
||||
|
||||
if (MainWindow::returnMainWindow()->isCleanLooksStyleEnabled() || WMHelper::isXFCERunning())
|
||||
{
|
||||
this->mSearchButton->move(5, (this->rect().bottom() + 10 - size.height()) / 2);
|
||||
}
|
||||
else if (!MainWindow::returnMainWindow()->isCleanLooksStyleEnabled())
|
||||
{
|
||||
this->mSearchButton->move(5, (this->rect().bottom() /*+ 10*/ - size.height()) / 2);
|
||||
}
|
||||
}
|
||||
|
||||
void SearchLineEdit::updateSearchButton(const QString &text)
|
||||
@@ -119,7 +130,6 @@ QString SearchLineEdit::buttonStyleSheetForCurrentState() const
|
||||
|
||||
if (!this->text().isEmpty())
|
||||
{
|
||||
//style += "QToolButton:hover { background-image: url(:/resources/images/esf-clear-hover.png); }";
|
||||
style += "QToolButton:pressed { background-image: url(:/resources/images/esf-clear-active.png); }";
|
||||
this->mSearchButton->setToolTip(StrConstants::getClear());
|
||||
}
|
||||
|
||||
@@ -25,6 +25,9 @@
|
||||
#include "wmhelper.h"
|
||||
#include "unixcommand.h"
|
||||
|
||||
#include <QGtkStyle>
|
||||
#include <QApplication>
|
||||
|
||||
class StrConstants{
|
||||
public:
|
||||
|
||||
@@ -33,12 +36,12 @@ public:
|
||||
}
|
||||
|
||||
static QString getApplicationVersion(){
|
||||
return "0.1.9";
|
||||
return "0.2";
|
||||
}
|
||||
|
||||
static QString getApplicationCliHelp(){
|
||||
QString str =
|
||||
"\n" + QObject::tr("Octopi help usage:") + "\n\n" +
|
||||
"\n" + QObject::tr("Octopi usage help:") + "\n\n" +
|
||||
"-version: " + QObject::tr("show application version.") + "\n" +
|
||||
"-style <Qt4-style>: " + QObject::tr("use a different Qt4 style (ex: -style gtk).") + "\n" +
|
||||
"-removecmd <Remove-command>: " + QObject::tr("use a different remove command (ex: -removecmd R).") + "\n" +
|
||||
@@ -72,7 +75,7 @@ public:
|
||||
}
|
||||
|
||||
static QString getInternetUnavailableError(){
|
||||
return QObject::tr("Internet seems anavailable!");
|
||||
return QObject::tr("Internet seems unavailable!");
|
||||
}
|
||||
|
||||
static QString getAll(){
|
||||
@@ -425,11 +428,9 @@ public:
|
||||
return QObject::tr("These changes need application restart to take effect!");
|
||||
}
|
||||
|
||||
/*static QString getForMoreInformation(){
|
||||
return "<small>" + QObject::tr("For more information about QTGZManager visit:") +
|
||||
" <a href=\"http://qtgzmanager.wordpress.com\" target=\"_blank\">" +
|
||||
"http://qtgzmanager.wordpress.com</a></small>";
|
||||
}*/
|
||||
static QString getFileChooserTitle(){
|
||||
return QObject::tr("Select the packages you want to install");
|
||||
}
|
||||
|
||||
static QString getThisIsNotATextFile(){
|
||||
return QObject::tr("This file does not appear to be a simple text.\n"
|
||||
@@ -582,16 +583,15 @@ public:
|
||||
|
||||
if (UnixCommand::getLinuxDistro() == ectn_MANJAROLINUX && !WMHelper::isKDERunning())
|
||||
{
|
||||
res = "QMenu::item { padding: 2px 25px 2px 20px; }"
|
||||
res = "";
|
||||
|
||||
/*"QMenu::item { padding: 2px 25px 2px 20px; }"
|
||||
"QListView::item:selected { background: #81ac44; color: #ffffff; }"
|
||||
"QMenu::item:selected, QMenuBar::item:selected, QMenu::selected {"
|
||||
"background: #81ac44; color: #ffffff;}"
|
||||
" QTabBar::tab { /* The tab widget frame */"
|
||||
//"background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,"
|
||||
// "stop: 0 #E1E1E1, stop: 0.4 #DDDDDD,"
|
||||
// "stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3);"
|
||||
" QTabBar::tab { "
|
||||
"border: 1px solid #C4C4C3;"
|
||||
"border-bottom-color: #C2C7CB; /* same as the pane color */"
|
||||
"border-bottom-color: #C2C7CB;
|
||||
"border-top-left-radius: 4px;"
|
||||
"border-top-right-radius: 4px;"
|
||||
"min-width: 8ex;"
|
||||
@@ -608,7 +608,7 @@ public:
|
||||
//"width: 20px;}";
|
||||
"QProgressBar {"
|
||||
"text-align: center;"
|
||||
"border: 2px;}";
|
||||
"border: 2px;}";*/
|
||||
}
|
||||
|
||||
else res = "";
|
||||
@@ -619,8 +619,12 @@ public:
|
||||
static QString getTreeViewCSS(){
|
||||
QString res;
|
||||
|
||||
if (UnixCommand::getLinuxDistro() == ectn_MANJAROLINUX && !WMHelper::isKDERunning())
|
||||
if (qApp->style()->inherits("QGtkStyle") && UnixCommand::getLinuxDistro() == ectn_MANJAROLINUX && !WMHelper::isKDERunning())
|
||||
{
|
||||
/*QGtkStyle qgtkStyle;
|
||||
QPalette palette = qgtkStyle.standardPalette();
|
||||
QColor color = palette.color(QPalette::Highlight);*/
|
||||
|
||||
res = "QTreeView::branch:has-siblings:!adjoins-item {"
|
||||
" border-image: url(:/resources/styles/vline.png) 0;}"
|
||||
"QTreeView::branch:has-siblings:adjoins-item {"
|
||||
@@ -634,31 +638,19 @@ public:
|
||||
"QTreeView::branch:open:has-children:!has-siblings,"
|
||||
"QTreeView::branch:open:has-children:has-siblings {"
|
||||
" border-image: none;"
|
||||
" image: url(:/resources/styles/branch-open_BW.png);}"
|
||||
"QTreeView {"
|
||||
"selection-background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #81ac44, stop: 1 #6b9039);"
|
||||
"show-decoration-selected: 1;"
|
||||
"}"
|
||||
"QTreeView::item {"
|
||||
"border: 1px solid #d9d9d9;"
|
||||
"border-top-color: transparent;"
|
||||
"border-bottom-color: transparent;"
|
||||
"}"
|
||||
"QTreeView::item:hover {"
|
||||
"background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #a7c976, stop: 1 #9bc264);"
|
||||
"border: 1px solid #95be5a;"
|
||||
"color: #191919;"
|
||||
"}"
|
||||
"QTreeView::item:selected {"
|
||||
"border: 1px solid #6d9039;"
|
||||
" image: url(:/resources/styles/branch-open_BW.png);}";
|
||||
|
||||
/*"QTreeView {"
|
||||
"selection-background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 " + color.name() + ", stop: 1 " + color.name() + ");"
|
||||
"show-decoration-selected: 1;"
|
||||
"}"
|
||||
"QTreeView::item:selected:active{"
|
||||
"background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #81ac44, stop: 1 #6b9039)"
|
||||
"}"
|
||||
"background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 " + color.name() + ", stop: 1 " + color.name() + ");}"
|
||||
"QTreeView::item:selected:!active {"
|
||||
"background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #81ac44, stop: 1 #6c9039);"
|
||||
"color: #ebebeb;"
|
||||
"}";
|
||||
" background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 " + color.name() + ", stop: 1 " + color.name() + ");}"
|
||||
"QTreeView::item:selected {"
|
||||
"border: 1px solid " + color.name() +";"
|
||||
"}"*/
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
*/
|
||||
|
||||
#include "treeviewpackagesitemdelegate.h"
|
||||
#include "globals.h"
|
||||
#include "package.h"
|
||||
#include "mainwindow.h"
|
||||
#include "strconstants.h"
|
||||
@@ -29,36 +30,16 @@
|
||||
#include <iostream>
|
||||
|
||||
QPoint gPoint;
|
||||
QFutureWatcher<QString> fw;
|
||||
using namespace QtConcurrent;
|
||||
|
||||
QString showPackageInfo(QString pkgName)
|
||||
{
|
||||
MainWindow *mw = MainWindow::returnMainWindow();
|
||||
QStandardItem * si = mw->getAvailablePackage(
|
||||
pkgName, ctn_PACKAGE_DESCRIPTION_COLUMN);
|
||||
|
||||
if (si == 0) return "";
|
||||
|
||||
QString description = si->text();
|
||||
|
||||
int space = description.indexOf(" ");
|
||||
QString desc = description.mid(space+1);
|
||||
int size = desc.size();
|
||||
if (desc.size() > 120)
|
||||
{
|
||||
desc.chop(size - 120);
|
||||
desc = desc + " ...";
|
||||
}
|
||||
|
||||
return desc;
|
||||
}
|
||||
|
||||
TreeViewPackagesItemDelegate::TreeViewPackagesItemDelegate(QObject *parent):
|
||||
QStyledItemDelegate(parent)
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
* Called every time user positions mouse over package's treeview items
|
||||
*/
|
||||
bool TreeViewPackagesItemDelegate::helpEvent ( QHelpEvent *event, QAbstractItemView*,
|
||||
const QStyleOptionViewItem&, const QModelIndex &index )
|
||||
{
|
||||
@@ -85,10 +66,10 @@ bool TreeViewPackagesItemDelegate::helpEvent ( QHelpEvent *event, QAbstractItemV
|
||||
QPoint p;
|
||||
gPoint = tvPackages->mapToGlobal(event->pos());
|
||||
QFuture<QString> f;
|
||||
disconnect(&fw, SIGNAL(finished()), this, SLOT(execToolTip()));
|
||||
disconnect(&g_fwToolTip, SIGNAL(finished()), this, SLOT(execToolTip()));
|
||||
f = run(showPackageInfo, si->text());
|
||||
fw.setFuture(f);
|
||||
connect(&fw, SIGNAL(finished()), this, SLOT(execToolTip()));
|
||||
g_fwToolTip.setFuture(f);
|
||||
connect(&g_fwToolTip, SIGNAL(finished()), this, SLOT(execToolTip()));
|
||||
}
|
||||
else return false;
|
||||
}
|
||||
@@ -129,10 +110,10 @@ bool TreeViewPackagesItemDelegate::helpEvent ( QHelpEvent *event, QAbstractItemV
|
||||
QPoint p;
|
||||
gPoint = tvTransaction->mapToGlobal(event->pos());
|
||||
QFuture<QString> f;
|
||||
disconnect(&fw, SIGNAL(finished()), this, SLOT(execToolTip()));
|
||||
disconnect(&g_fwToolTip, SIGNAL(finished()), this, SLOT(execToolTip()));
|
||||
f = run(showPackageInfo, siFound->text());
|
||||
fw.setFuture(f);
|
||||
connect(&fw, SIGNAL(finished()), this, SLOT(execToolTip()));
|
||||
g_fwToolTip.setFuture(f);
|
||||
connect(&g_fwToolTip, SIGNAL(finished()), this, SLOT(execToolTip()));
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -145,13 +126,16 @@ bool TreeViewPackagesItemDelegate::helpEvent ( QHelpEvent *event, QAbstractItemV
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* When the tooltip QFuture method is finished, we show the selected tooltip to the user
|
||||
*/
|
||||
void TreeViewPackagesItemDelegate::execToolTip()
|
||||
{
|
||||
if (fw.result().isEmpty())
|
||||
if (g_fwToolTip.result().trimmed().isEmpty())
|
||||
return;
|
||||
|
||||
gPoint.setX(gPoint.x() + 25);
|
||||
gPoint.setY(gPoint.y() + 25);
|
||||
|
||||
QToolTip::showText(gPoint, fw.result());
|
||||
QToolTip::showText(gPoint, g_fwToolTip.result());
|
||||
}
|
||||
|
||||
@@ -21,13 +21,14 @@
|
||||
#include "unixcommand.h"
|
||||
#include "strconstants.h"
|
||||
#include "wmhelper.h"
|
||||
#include <iostream>
|
||||
|
||||
#include <QProcess>
|
||||
#include <QFile>
|
||||
#include <QFileInfo>
|
||||
#include <QByteArray>
|
||||
#include <QTextStream>
|
||||
#include <QtNetwork/QNetworkInterface>
|
||||
#include "iostream"
|
||||
|
||||
QFile *UnixCommand::m_temporaryFile = 0;
|
||||
|
||||
@@ -37,12 +38,12 @@ QFile *UnixCommand::m_temporaryFile = 0;
|
||||
QString UnixCommand::runCommand(const QString& commandToRun)
|
||||
{
|
||||
QProcess proc;
|
||||
|
||||
#if QT_VERSION >= 0x040600
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
env.insert("LANG", "us_EN");
|
||||
env.remove("LANG");
|
||||
env.remove("LC_MESSAGES");
|
||||
env.insert("LANG", "C");
|
||||
env.insert("LC_MESSAGES", "C");
|
||||
proc.setProcessEnvironment(env);
|
||||
#endif
|
||||
|
||||
proc.start(commandToRun);
|
||||
proc.waitForStarted();
|
||||
@@ -58,11 +59,10 @@ QString UnixCommand::runCommand(const QString& commandToRun)
|
||||
QString UnixCommand::runCurlCommand(const QString& commandToRun){
|
||||
QProcess proc;
|
||||
|
||||
#if QT_VERSION >= 0x040600
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
env.insert("LANG", "us_EN");
|
||||
env.insert("LANG", "C");
|
||||
env.insert("LC_MESSAGES", "C");
|
||||
proc.setProcessEnvironment(env);
|
||||
#endif
|
||||
|
||||
proc.start(commandToRun);
|
||||
proc.waitForStarted();
|
||||
@@ -82,11 +82,10 @@ QString UnixCommand::runCurlCommand(const QString& commandToRun){
|
||||
QString UnixCommand::discoverBinaryPath(const QString& binary){
|
||||
QProcess *proc = new QProcess;
|
||||
|
||||
#if QT_VERSION >= 0x040600
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
env.insert("LANG", "us_EN");
|
||||
env.insert("LANG", "C");
|
||||
env.insert("LC_MESSAGES", "C");
|
||||
proc->setProcessEnvironment(env);
|
||||
#endif
|
||||
|
||||
proc->start("/bin/sh -c \"which " + binary + "\"");
|
||||
proc->waitForFinished();
|
||||
@@ -115,7 +114,8 @@ bool UnixCommand::cleanPacmanCache()
|
||||
{
|
||||
QProcess pacman;
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
env.insert("LANG", "us_EN");
|
||||
env.insert("LANG", "C");
|
||||
env.insert("LC_MESSAGES", "C");
|
||||
pacman.setProcessEnvironment(env);
|
||||
|
||||
QString commandStr = "\"yes | pacman -Scc\"";
|
||||
@@ -136,7 +136,8 @@ QByteArray UnixCommand::performQuery(const QStringList args)
|
||||
QProcess pacman;
|
||||
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
env.insert("LANG", "us_EN");
|
||||
env.insert("LANG", "C");
|
||||
env.insert("LC_MESSAGES", "C");
|
||||
pacman.setProcessEnvironment(env);
|
||||
|
||||
pacman.start("pacman", args);
|
||||
@@ -156,7 +157,8 @@ QByteArray UnixCommand::performQuery(const QString &args)
|
||||
QProcess pacman;
|
||||
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
env.insert("LANG", "us_EN");
|
||||
env.insert("LANG", "C");
|
||||
env.insert("LC_MESSAGES", "C");
|
||||
pacman.setProcessEnvironment(env);
|
||||
|
||||
pacman.start("pacman " + args);
|
||||
@@ -175,7 +177,8 @@ QByteArray UnixCommand::performYaourtCommand(const QString &args)
|
||||
QProcess yaourt;
|
||||
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
env.insert("LANG", "us_EN");
|
||||
env.insert("LANG", "C");
|
||||
env.insert("LC_MESSAGES", "C");
|
||||
yaourt.setProcessEnvironment(env);
|
||||
|
||||
yaourt.start("yaourt " + args);
|
||||
@@ -195,7 +198,8 @@ QByteArray UnixCommand::getYaourtPackageList(const QString &searchString)
|
||||
QProcess kill;
|
||||
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
env.insert("LANG", "us_EN");
|
||||
env.insert("LANG", "C");
|
||||
env.insert("LC_MESSAGES", "C");
|
||||
yaourt.setProcessEnvironment(env);
|
||||
|
||||
kill.setStandardOutputProcess(&yaourt);
|
||||
@@ -339,11 +343,10 @@ QString UnixCommand::getSystemArchitecture()
|
||||
QStringList slParam;
|
||||
QProcess proc;
|
||||
|
||||
#if QT_VERSION >= 0x040600
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
env.insert("LANG", "us_EN");
|
||||
env.insert("LANG", "C");
|
||||
env.insert("LC_MESSAGES", "C");
|
||||
proc.setProcessEnvironment(env);
|
||||
#endif
|
||||
|
||||
slParam << "-m";
|
||||
proc.start("uname", slParam);
|
||||
@@ -397,12 +400,10 @@ bool UnixCommand::hasInternetConnection()
|
||||
bool UnixCommand::doInternetPingTest()
|
||||
{
|
||||
QProcess ping;
|
||||
|
||||
#if QT_VERSION >= 0x040600
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
env.insert("LANG", "us_EN");
|
||||
env.insert("LANG", "C");
|
||||
env.insert("LC_MESSAGES", "C");
|
||||
ping.setProcessEnvironment(env);
|
||||
#endif
|
||||
|
||||
ping.start("ping -c 1 -W 3 www.google.com");
|
||||
ping.waitForFinished();
|
||||
@@ -420,11 +421,10 @@ bool UnixCommand::isKtsussVersionOK()
|
||||
{
|
||||
QProcess proc;
|
||||
|
||||
#if QT_VERSION >= 0x040600
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
env.insert("LANG", "us_EN");
|
||||
env.insert("LANG", "C");
|
||||
env.insert("LC_MESSAGES", "C");
|
||||
proc.setProcessEnvironment(env);
|
||||
#endif
|
||||
|
||||
QStringList slParam("-v");
|
||||
proc.start("ktsuss", slParam );
|
||||
@@ -495,7 +495,8 @@ bool UnixCommand::isTextFile(const QString& fileName)
|
||||
{
|
||||
QProcess *p = new QProcess();
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
env.insert("LANG", "us_EN");
|
||||
env.insert("LANG", "C");
|
||||
env.insert("LC_MESSAGES", "C");
|
||||
p->setProcessEnvironment(env);
|
||||
|
||||
QStringList s(fileName);
|
||||
@@ -546,6 +547,11 @@ void UnixCommand::openRootTerminal(){
|
||||
QString cmd = WMHelper::getSUCommand() + " \"" + ctn_LXDE_TERMINAL + "\"";
|
||||
m_process->startDetached(cmd);
|
||||
}
|
||||
else if (UnixCommand::hasTheExecutable(ctn_XTERM)){
|
||||
QString cmd = WMHelper::getSUCommand() + " \"" + ctn_XTERM +
|
||||
" -fn \"*-fixed-*-*-*-18-*\" -fg White -bg Black -title xterm \"";
|
||||
m_process->startDetached(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -561,34 +567,103 @@ void UnixCommand::runCommandInTerminal(const QStringList& commandList){
|
||||
out.flush();
|
||||
ftemp->close();
|
||||
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
env.remove("LANG");
|
||||
env.remove("LC_MESSAGES");
|
||||
env.insert("LANG", QLocale::system().name() + ".UTF-8");
|
||||
env.insert("LC_MESSAGES", QLocale::system().name() + ".UTF-8");
|
||||
m_process->setProcessEnvironment(env);
|
||||
|
||||
QString suCommand = WMHelper::getSUCommand();
|
||||
|
||||
if(WMHelper::isXFCERunning() && UnixCommand::hasTheExecutable(ctn_XFCE_TERMINAL)){
|
||||
QString cmd = WMHelper::getSUCommand() + " \"" + ctn_XFCE_TERMINAL + " -e \'bash -c " + ftemp->fileName() + "'\"";
|
||||
QString cmd = suCommand + " \"" + ctn_XFCE_TERMINAL + " -e \'bash -c " + ftemp->fileName() + "'\"";
|
||||
m_process->start(cmd);
|
||||
}
|
||||
else if (WMHelper::isKDERunning() && UnixCommand::hasTheExecutable(ctn_KDE_TERMINAL)){
|
||||
QString cmd = WMHelper::getSUCommand() + " \"" + ctn_KDE_TERMINAL + " --nofork -e bash -c " + ftemp->fileName() + "\"";
|
||||
QString cmd = suCommand + " \"" + ctn_KDE_TERMINAL + " --nofork -e bash -c " + ftemp->fileName() + "\"";
|
||||
m_process->start(cmd);
|
||||
}
|
||||
else if (WMHelper::isTDERunning() && UnixCommand::hasTheExecutable(ctn_TDE_TERMINAL)){
|
||||
QString cmd = WMHelper::getSUCommand() + " \"" + ctn_TDE_TERMINAL + " --nofork -e bash -c " + ftemp->fileName() + "\"";
|
||||
QString cmd = suCommand + " \"" + ctn_TDE_TERMINAL + " --nofork -e bash -c " + ftemp->fileName() + "\"";
|
||||
m_process->start(cmd);
|
||||
}
|
||||
else if (WMHelper::isLXDERunning() && UnixCommand::hasTheExecutable(ctn_LXDE_TERMINAL)){
|
||||
QString cmd = WMHelper::getSUCommand() + " \"" + ctn_LXDE_TERMINAL + " -e \'bash -c " + ftemp->fileName() + "'\"";
|
||||
QString cmd = suCommand + " \"" + ctn_LXDE_TERMINAL + " -e \'bash -c " + ftemp->fileName() + "'\"";
|
||||
m_process->start(cmd);
|
||||
}
|
||||
else if (WMHelper::isMATERunning() && UnixCommand::hasTheExecutable(ctn_MATE_TERMINAL)){
|
||||
QString cmd = WMHelper::getSUCommand() + " \"" + ctn_MATE_TERMINAL + " -e \'bash -c " + ftemp->fileName() + "'\"";
|
||||
QString cmd = suCommand + " \"" + ctn_MATE_TERMINAL + " -e \'bash -c " + ftemp->fileName() + "'\"";
|
||||
m_process->start(cmd);
|
||||
}
|
||||
else if (UnixCommand::hasTheExecutable(ctn_XFCE_TERMINAL)){
|
||||
QString cmd = WMHelper::getSUCommand() + " \"" + ctn_XFCE_TERMINAL + " -e \'bash -c " + ftemp->fileName() + "'\"";
|
||||
QString cmd = suCommand + " \"" + ctn_XFCE_TERMINAL + " -e \'bash -c " + ftemp->fileName() + "'\"";
|
||||
m_process->start(cmd);
|
||||
}
|
||||
else if (UnixCommand::hasTheExecutable(ctn_LXDE_TERMINAL)){
|
||||
QString cmd = WMHelper::getSUCommand() + " \"" + ctn_LXDE_TERMINAL + " -e \'bash -c " + ftemp->fileName() + "'\"";
|
||||
QString cmd = suCommand + " \"" + ctn_LXDE_TERMINAL + " -e \'bash -c " + ftemp->fileName() + "'\"";
|
||||
m_process->start(cmd);
|
||||
}
|
||||
else if (UnixCommand::hasTheExecutable(ctn_XTERM)){
|
||||
QString cmd = suCommand + " \"" + ctn_XTERM +
|
||||
" -fn \"*-fixed-*-*-*-18-*\" -fg White -bg Black -title xterm -e \'bash -c " + ftemp->fileName() + "'\"";
|
||||
m_process->start(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Executes given commandToRun inside a terminal, as the current user!
|
||||
*/
|
||||
void UnixCommand::runCommandInTerminalAsNormalUser(const QStringList &commandList)
|
||||
{
|
||||
QFile *ftemp = getTemporaryFile();
|
||||
QTextStream out(ftemp);
|
||||
|
||||
foreach(QString line, commandList)
|
||||
out << line;
|
||||
|
||||
out.flush();
|
||||
ftemp->close();
|
||||
|
||||
QString suCommand = WMHelper::getSUCommand();
|
||||
QString loggedUser = QDir::homePath();
|
||||
QFileInfo fi(loggedUser);
|
||||
loggedUser = fi.fileName();
|
||||
suCommand.replace("root", loggedUser);
|
||||
|
||||
if(WMHelper::isXFCERunning() && UnixCommand::hasTheExecutable(ctn_XFCE_TERMINAL)){
|
||||
QString cmd = ctn_XFCE_TERMINAL + " -e " + ftemp->fileName();
|
||||
m_processWrapper->executeCommand(cmd);
|
||||
}
|
||||
else if (WMHelper::isKDERunning() && UnixCommand::hasTheExecutable(ctn_KDE_TERMINAL)){
|
||||
QString cmd = ctn_KDE_TERMINAL + " --nofork -e " + ftemp->fileName();
|
||||
m_processWrapper->executeCommand(cmd);
|
||||
}
|
||||
else if (WMHelper::isTDERunning() && UnixCommand::hasTheExecutable(ctn_TDE_TERMINAL)){
|
||||
QString cmd = ctn_TDE_TERMINAL + " --nofork -e " + ftemp->fileName();
|
||||
m_processWrapper->executeCommand(cmd);
|
||||
}
|
||||
if (WMHelper::isLXDERunning() && UnixCommand::hasTheExecutable(ctn_LXDE_TERMINAL)){
|
||||
QString cmd = ctn_LXDE_TERMINAL + " -e " + ftemp->fileName();
|
||||
m_processWrapper->executeCommand(cmd);
|
||||
}
|
||||
else if (WMHelper::isMATERunning() && UnixCommand::hasTheExecutable(ctn_MATE_TERMINAL)){
|
||||
QString cmd = ctn_MATE_TERMINAL + " -e " + ftemp->fileName();
|
||||
m_processWrapper->executeCommand(cmd);
|
||||
}
|
||||
else if (UnixCommand::hasTheExecutable(ctn_XFCE_TERMINAL)){
|
||||
QString cmd = ctn_XFCE_TERMINAL + " -e " + ftemp->fileName();
|
||||
m_processWrapper->executeCommand(cmd);
|
||||
}
|
||||
else if (UnixCommand::hasTheExecutable(ctn_LXDE_TERMINAL)){
|
||||
QString cmd = ctn_LXDE_TERMINAL + " -e " + ftemp->fileName();
|
||||
m_processWrapper->executeCommand(cmd);
|
||||
}
|
||||
else if (UnixCommand::hasTheExecutable(ctn_XTERM)){
|
||||
QString cmd = ctn_XTERM +
|
||||
" -fn \"*-fixed-*-*-*-18-*\" -fg White -bg Black -title xterm -e " + ftemp->fileName();
|
||||
m_processWrapper->executeCommand(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -617,6 +692,10 @@ void UnixCommand::executePackageActions( const QStringList& commandList )
|
||||
|
||||
QString command = WMHelper::getSUCommand() + " " + ftemp->fileName();
|
||||
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
env.insert("LANG", "C");
|
||||
env.insert("LC_MESSAGES", "C");
|
||||
m_process->setProcessEnvironment(env);
|
||||
m_process->start(command);
|
||||
}
|
||||
|
||||
@@ -667,12 +746,12 @@ QString UnixCommand::errorString()
|
||||
UnixCommand::UnixCommand(QObject *parent): QObject()
|
||||
{
|
||||
m_process = new QProcess(parent);
|
||||
m_processWrapper = new ProcessWrapper(parent);
|
||||
|
||||
#if QT_VERSION >= 0x040600
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
env.insert("LANG", "us_EN");
|
||||
env.insert("LANG", "C");
|
||||
env.insert("LC_MESSAGES", "C");
|
||||
m_process->setProcessEnvironment(env);
|
||||
#endif
|
||||
|
||||
QObject::connect(m_process, SIGNAL( started() ), this,
|
||||
SIGNAL( started() ));
|
||||
@@ -693,6 +772,44 @@ UnixCommand::UnixCommand(QObject *parent): QObject()
|
||||
SIGNAL( readyReadStandardError() ));
|
||||
QObject::connect(this, SIGNAL( readyReadStandardError() ), this,
|
||||
SLOT( processReadyReadStandardError() ));
|
||||
|
||||
//ProcessWrapper signals
|
||||
QObject::connect(m_processWrapper, SIGNAL( startedTerminal()), this,
|
||||
SIGNAL( startedTerminal()));
|
||||
QObject::connect(m_processWrapper, SIGNAL( finishedTerminal(int,QProcess::ExitStatus)), this,
|
||||
SIGNAL( finishedTerminal(int,QProcess::ExitStatus)));
|
||||
}
|
||||
|
||||
/*
|
||||
* If justOneInstance = false (default), returns TRUE if one instance of the app is ALREADY running
|
||||
* Otherwise, it returns TRUE if the given app is running.
|
||||
*/
|
||||
bool UnixCommand::isAppRunning(const QString &appName, bool justOneInstance)
|
||||
{
|
||||
QStringList slParam;
|
||||
QProcess proc;
|
||||
|
||||
slParam << "-C";
|
||||
slParam << appName;
|
||||
proc.start("ps", slParam);
|
||||
proc.waitForFinished();
|
||||
QString out = proc.readAll();
|
||||
proc.close();
|
||||
|
||||
if (justOneInstance)
|
||||
{
|
||||
if (out.count(appName)>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (out.count(appName)>1)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -727,37 +844,94 @@ bool UnixCommand::isILoveCandyEnabled()
|
||||
return res;
|
||||
}
|
||||
|
||||
/*
|
||||
* Searches "/etc/pacman.conf" to retrive IgnorePkg items (if any)
|
||||
*/
|
||||
QStringList UnixCommand::getIgnorePkg()
|
||||
{
|
||||
QStringList res;
|
||||
QFile file("/etc/pacman.conf");
|
||||
|
||||
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||
return res;
|
||||
|
||||
QString contents = file.readAll();
|
||||
int from = 0;
|
||||
do
|
||||
{
|
||||
int end = contents.indexOf("IgnorePkg", from, Qt::CaseInsensitive);
|
||||
int start=0;
|
||||
|
||||
if (end != -1)
|
||||
{
|
||||
//Does it contains a # before it???
|
||||
start = end;
|
||||
do{
|
||||
start--;
|
||||
}while (contents.at(start) != '\n');
|
||||
|
||||
QString str = contents.mid(start+1, (end-start-1)).trimmed();
|
||||
|
||||
if (str.isEmpty())
|
||||
{
|
||||
QString ignorePkg = contents.mid(end);
|
||||
int equal = ignorePkg.indexOf("=");
|
||||
int newLine = ignorePkg.indexOf("\n");
|
||||
|
||||
ignorePkg = ignorePkg.mid(equal+1, newLine-(equal+1)).trimmed();
|
||||
res = ignorePkg.split(QRegExp("\\s+"), QString::SkipEmptyParts);
|
||||
break;
|
||||
}
|
||||
else from += end+9;
|
||||
}
|
||||
else break;
|
||||
}
|
||||
while(true);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
/*
|
||||
* Retrieves the LinuxDistro where Octopi is running on!
|
||||
* Reads file "/etc/os-release" and searchs for compatible Octopi distros
|
||||
*/
|
||||
LinuxDistro UnixCommand::getLinuxDistro()
|
||||
{
|
||||
QFile file("/etc/os-release");
|
||||
static LinuxDistro ret;
|
||||
static bool firstTime = true;
|
||||
|
||||
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||
return ectn_UNKNOWN;
|
||||
if (firstTime)
|
||||
{
|
||||
QFile file("/etc/os-release");
|
||||
|
||||
QString contents = file.readAll();
|
||||
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
|
||||
ret = ectn_UNKNOWN;
|
||||
|
||||
if (contents.contains(QRegExp("ArchBang")))
|
||||
{
|
||||
return ectn_ARCHBANGLINUX;
|
||||
}
|
||||
else if (contents.contains(QRegExp("Arch Linux")))
|
||||
{
|
||||
return ectn_ARCHLINUX;
|
||||
}
|
||||
else if (contents.contains(QRegExp("Chakra")))
|
||||
{
|
||||
return ectn_CHAKRA;
|
||||
}
|
||||
else if (contents.contains(QRegExp("Manjaro")))
|
||||
{
|
||||
return ectn_MANJAROLINUX;
|
||||
}
|
||||
else
|
||||
{
|
||||
return ectn_UNKNOWN;
|
||||
QString contents = file.readAll();
|
||||
|
||||
if (contents.contains(QRegExp("ArchBang")))
|
||||
{
|
||||
ret = ectn_ARCHBANGLINUX;
|
||||
}
|
||||
else if (contents.contains(QRegExp("Arch Linux")))
|
||||
{
|
||||
ret = ectn_ARCHLINUX;
|
||||
}
|
||||
else if (contents.contains(QRegExp("Chakra")))
|
||||
{
|
||||
ret = ectn_CHAKRA;
|
||||
}
|
||||
else if (contents.contains(QRegExp("Manjaro")))
|
||||
{
|
||||
ret = ectn_MANJAROLINUX;
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = ectn_UNKNOWN;
|
||||
}
|
||||
|
||||
firstTime = false;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -25,7 +25,9 @@
|
||||
#include <QProcess>
|
||||
#include <QTime>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "package.h"
|
||||
#include "utils/processwrapper.h"
|
||||
|
||||
const QString ctn_COMMAND_NOT_FOUND("command not found");
|
||||
const QString ctn_PACKAGES_WITH_SAME_CONTENT("The packages have the same content!");
|
||||
@@ -48,7 +50,10 @@ private:
|
||||
QString m_readAllStandardOutput;
|
||||
QString m_readAllStandardError;
|
||||
QString m_errorString;
|
||||
|
||||
QProcess *m_process;
|
||||
ProcessWrapper *m_processWrapper;
|
||||
|
||||
static QFile *m_temporaryFile;
|
||||
|
||||
public:
|
||||
@@ -59,6 +64,9 @@ public:
|
||||
//Returns true if ILoveCandy is enabled in "/etc/pacman.conf"
|
||||
static bool isILoveCandyEnabled();
|
||||
|
||||
//Returns the list of ignored packages in "/etc/pacman.conf"
|
||||
static QStringList getIgnorePkg();
|
||||
|
||||
//Returns the Linux Distro where Octopi is running on
|
||||
static LinuxDistro getLinuxDistro();
|
||||
|
||||
@@ -93,6 +101,8 @@ public:
|
||||
static bool isKtsussVersionOK();
|
||||
static bool hasTheExecutable( const QString& exeName );
|
||||
|
||||
static bool isAppRunning(const QString &appName, bool justOneInstance = false);
|
||||
|
||||
static bool isRootRunning(){
|
||||
int uid = geteuid();
|
||||
return (uid == 0); //Returns TRUE if root is running Octopi
|
||||
@@ -103,7 +113,7 @@ public:
|
||||
qsrand(time.minute() + time.second() + time.msec());
|
||||
m_temporaryFile = new QFile(ctn_TEMP_ACTIONS_FILE + QString::number(qrand()));
|
||||
m_temporaryFile->open(QIODevice::ReadWrite|QIODevice::Text);
|
||||
m_temporaryFile->setPermissions(QFile::Permissions(QFile::ExeOwner));
|
||||
m_temporaryFile->setPermissions(QFile::Permissions(QFile::ExeOwner|QFile::ReadOwner));
|
||||
|
||||
return m_temporaryFile;
|
||||
}
|
||||
@@ -118,10 +128,10 @@ public:
|
||||
}
|
||||
|
||||
static void removeTemporaryFiles();
|
||||
|
||||
void openRootTerminal();
|
||||
|
||||
void runCommandInTerminal(const QStringList& commandList);
|
||||
void runCommandInTerminalAsNormalUser(const QStringList& commandList);
|
||||
|
||||
void executeCommand(const QString &pCommand);
|
||||
void executePackageActions(const QStringList& commandList);
|
||||
@@ -138,6 +148,10 @@ signals:
|
||||
void readyReadStandardOutput();
|
||||
void finished ( int, QProcess::ExitStatus );
|
||||
void readyReadStandardError();
|
||||
|
||||
//ProcessWrapper signals
|
||||
void startedTerminal();
|
||||
void finishedTerminal(int, QProcess::ExitStatus);
|
||||
};
|
||||
|
||||
#endif // UNIXCOMMAND_H
|
||||
|
||||
151
src/utils/processwrapper.cpp
Normal file
151
src/utils/processwrapper.cpp
Normal file
@@ -0,0 +1,151 @@
|
||||
/*
|
||||
* This file is part of Octopi, an open-source GUI for pacman.
|
||||
* Copyright (C) 2013 Alexandre Albuquerque Arnt
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* A wrapper for running a QProcess while providing feedback of its state
|
||||
*
|
||||
* IT ONLY WORKS with terminal commands that start other subcommands, with an "-e" option
|
||||
*/
|
||||
|
||||
#include "processwrapper.h"
|
||||
#include <iostream>
|
||||
|
||||
#include <QProcess>
|
||||
#include <QTimer>
|
||||
|
||||
/*
|
||||
* The needed constructor
|
||||
*/
|
||||
ProcessWrapper::ProcessWrapper(QObject *parent) :
|
||||
QObject(parent)
|
||||
{
|
||||
m_process = new QProcess(parent);
|
||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||
env.insert("LANG", "C");
|
||||
env.insert("LC_MESSAGES", "C");
|
||||
m_process->setProcessEnvironment(env);
|
||||
|
||||
m_timerSingleShot = new QTimer(parent);
|
||||
m_timerSingleShot->setSingleShot(true);
|
||||
m_timer = new QTimer(parent);
|
||||
m_timer->setInterval(1000);
|
||||
|
||||
connect(m_timerSingleShot, SIGNAL(timeout()), this, SLOT(onSingleShot()));
|
||||
connect(m_timer, SIGNAL(timeout()), this, SLOT(onTimer()));
|
||||
connect(m_process, SIGNAL(started()), SLOT(onProcessStarted()));
|
||||
}
|
||||
|
||||
/*
|
||||
* The method that is exposed to the world
|
||||
*/
|
||||
void ProcessWrapper::executeCommand(QString command)
|
||||
{
|
||||
m_process->start(command);
|
||||
}
|
||||
|
||||
/*
|
||||
* Only when m_process has started...
|
||||
*/
|
||||
void ProcessWrapper::onProcessStarted()
|
||||
{
|
||||
m_pidTerminal = m_process->pid();
|
||||
//std::cout << "First PID: " << m_pidTerminal << std::endl;
|
||||
m_timerSingleShot->start(2000);
|
||||
emit startedTerminal();
|
||||
}
|
||||
|
||||
/*
|
||||
* We need this to search for the SH process pid (which spaws yaourt)
|
||||
*/
|
||||
void ProcessWrapper::onSingleShot()
|
||||
{
|
||||
QProcess proc;
|
||||
QProcess pAux;
|
||||
QString saux;
|
||||
|
||||
proc.start("ps -o pid -C sh");
|
||||
proc.waitForFinished(-1);
|
||||
QString out = proc.readAll();
|
||||
proc.close();
|
||||
|
||||
QStringList list = out.split("\n", QString::SkipEmptyParts);
|
||||
QStringList slist;
|
||||
|
||||
for (int c=1; c<list.count(); c++)
|
||||
{
|
||||
int candidatePid = list.at(c).trimmed().toInt();
|
||||
|
||||
if (candidatePid < m_pidTerminal) continue;
|
||||
|
||||
QString cmd = QString("ps --ppid %1").arg(candidatePid);
|
||||
proc.start(cmd);
|
||||
proc.waitForFinished(-1);
|
||||
QString out = proc.readAll();
|
||||
|
||||
if (out.contains("yaourt", Qt::CaseInsensitive))
|
||||
{
|
||||
pAux.start("ps -o pid -C yaourt");
|
||||
pAux.waitForFinished(-1);
|
||||
saux = pAux.readAll();
|
||||
slist = saux.split("\n", QString::SkipEmptyParts);
|
||||
|
||||
for (int d=1; d<slist.count(); d++)
|
||||
{
|
||||
int candidatePid2 = slist.at(d).trimmed().toInt();
|
||||
|
||||
if (candidatePid < candidatePid2)
|
||||
{
|
||||
m_pidSH = candidatePid;
|
||||
m_pidYaourt = candidatePid2;
|
||||
m_timer->start();
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
emit finishedTerminal(0, QProcess::NormalExit);
|
||||
}
|
||||
|
||||
/*
|
||||
* Whenever the internal timer ticks, let's check if our process has finished
|
||||
*/
|
||||
void ProcessWrapper::onTimer()
|
||||
{
|
||||
QProcess proc;
|
||||
QString cmd = QString("ps -p %1 %2").arg(m_pidSH).arg(m_pidYaourt);
|
||||
|
||||
//std::cout << "PIDS: " << cmd.toAscii().data() << "\n" << std::endl;
|
||||
|
||||
proc.start(cmd);
|
||||
proc.waitForFinished(-1);
|
||||
|
||||
//If any of the processes have finished...
|
||||
QString out = proc.readAll();
|
||||
|
||||
//std::cout << "Output: " << out.toAscii().data() << "\n" << std::endl;
|
||||
|
||||
if (!out.contains(".qt_temp_", Qt::CaseInsensitive))
|
||||
{
|
||||
emit finishedTerminal(0, QProcess::NormalExit);
|
||||
m_timer->stop();
|
||||
}
|
||||
}
|
||||
55
src/utils/processwrapper.h
Normal file
55
src/utils/processwrapper.h
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* This file is part of Octopi, an open-source GUI for pacman.
|
||||
* Copyright (C) 2013 Alexandre Albuquerque Arnt
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef PROCESSWRAPPER_H
|
||||
#define PROCESSWRAPPER_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QProcess>
|
||||
|
||||
class QTimer;
|
||||
|
||||
class ProcessWrapper : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
private:
|
||||
int m_pidTerminal;
|
||||
int m_pidSH;
|
||||
int m_pidYaourt;
|
||||
QProcess *m_process;
|
||||
QTimer *m_timer;
|
||||
QTimer *m_timerSingleShot;
|
||||
|
||||
public:
|
||||
explicit ProcessWrapper(QObject *parent = 0);
|
||||
void executeCommand(QString command);
|
||||
|
||||
signals:
|
||||
void startedTerminal();
|
||||
void finishedTerminal(int, QProcess::ExitStatus);
|
||||
|
||||
private slots:
|
||||
void onSingleShot();
|
||||
void onTimer();
|
||||
void onProcessStarted();
|
||||
};
|
||||
|
||||
#endif // PROCESSWRAPPER_H
|
||||
160
src/wmhelper.cpp
160
src/wmhelper.cpp
@@ -23,29 +23,53 @@
|
||||
#include "strconstants.h"
|
||||
#include "settingsmanager.h"
|
||||
#include <iostream>
|
||||
|
||||
#include <QApplication>
|
||||
#include <QProcess>
|
||||
#include <QMessageBox>
|
||||
|
||||
/*
|
||||
* This class is a helper to abstract some Desktop Environments services for Octopi.
|
||||
* These include: open and edit a file, open a directory and a terminal.
|
||||
*
|
||||
* There's also a method to retrieve the available tool to obtain root privileges.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Checks if KDE is running
|
||||
*/
|
||||
bool WMHelper::isKDERunning(){
|
||||
QStringList slParam;
|
||||
QProcess proc;
|
||||
slParam << "-C";
|
||||
slParam << ctn_KDE_DESKTOP;
|
||||
static bool ret;
|
||||
static bool firstTime = true;
|
||||
|
||||
proc.start("ps", slParam);
|
||||
proc.waitForStarted();
|
||||
proc.waitForFinished();
|
||||
if (firstTime)
|
||||
{
|
||||
QStringList slParam;
|
||||
QProcess proc;
|
||||
slParam << "-C";
|
||||
slParam << ctn_KDE_DESKTOP;
|
||||
|
||||
QString out = proc.readAll();
|
||||
proc.close();
|
||||
proc.start("ps", slParam);
|
||||
proc.waitForStarted();
|
||||
proc.waitForFinished();
|
||||
|
||||
if (out.count(ctn_KDE_DESKTOP)>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
QString out = proc.readAll();
|
||||
proc.close();
|
||||
|
||||
if (out.count(ctn_KDE_DESKTOP)>0)
|
||||
ret = true;
|
||||
else
|
||||
ret = false;
|
||||
|
||||
firstTime = false;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* Checks if TDE is running
|
||||
*/
|
||||
bool WMHelper::isTDERunning(){
|
||||
QStringList slParam;
|
||||
QProcess proc;
|
||||
@@ -65,6 +89,9 @@ bool WMHelper::isTDERunning(){
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* Checks if XFCE is running
|
||||
*/
|
||||
bool WMHelper::isXFCERunning(){
|
||||
QStringList slParam;
|
||||
QProcess proc;
|
||||
@@ -83,6 +110,9 @@ bool WMHelper::isXFCERunning(){
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* Checks if LXDE is running
|
||||
*/
|
||||
bool WMHelper::isLXDERunning(){
|
||||
QStringList slParam;
|
||||
QProcess proc;
|
||||
@@ -101,6 +131,30 @@ bool WMHelper::isLXDERunning(){
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* Checks if OpenBox is running
|
||||
*/
|
||||
bool WMHelper::isOPENBOXRunning(){
|
||||
QStringList slParam;
|
||||
QProcess proc;
|
||||
slParam << "-C";
|
||||
slParam << ctn_OPENBOX_DESKTOP;
|
||||
|
||||
proc.start("ps", slParam);
|
||||
proc.waitForStarted();
|
||||
proc.waitForFinished();
|
||||
QString out = proc.readAll();
|
||||
proc.close();
|
||||
|
||||
if (out.count(ctn_OPENBOX_DESKTOP)>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* Checks if MATE is running
|
||||
*/
|
||||
bool WMHelper::isMATERunning(){
|
||||
QStringList slParam;
|
||||
QProcess proc;
|
||||
@@ -119,6 +173,30 @@ bool WMHelper::isMATERunning(){
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* Checks if Cinnamon is running
|
||||
*/
|
||||
bool WMHelper::isCinnamonRunning(){
|
||||
QStringList slParam;
|
||||
QProcess proc;
|
||||
slParam << "-C";
|
||||
slParam << ctn_CINNAMON_DESKTOP;
|
||||
|
||||
proc.start("ps", slParam);
|
||||
proc.waitForStarted();
|
||||
proc.waitForFinished();
|
||||
QString out = proc.readAll();
|
||||
proc.close();
|
||||
|
||||
if (out.count(ctn_CINNAMON_DESKTOP)>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* Retrieves the XFCE editor...
|
||||
*/
|
||||
QString WMHelper::getXFCEEditor(){
|
||||
if (UnixCommand::hasTheExecutable(ctn_XFCE_EDITOR))
|
||||
return ctn_XFCE_EDITOR;
|
||||
@@ -126,6 +204,9 @@ QString WMHelper::getXFCEEditor(){
|
||||
return ctn_XFCE_EDITOR_ALT;
|
||||
}
|
||||
|
||||
/*
|
||||
* Retrieves the KDESU command...
|
||||
*/
|
||||
QString WMHelper::getKDESUCommand(){
|
||||
QString result = ctn_KDESU;
|
||||
result += " -d ";
|
||||
@@ -136,6 +217,9 @@ QString WMHelper::getKDESUCommand(){
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Retrieves the TDESU command...
|
||||
*/
|
||||
QString WMHelper::getTDESUCommand(){
|
||||
QString result = ctn_TDESU;
|
||||
result += " -d ";
|
||||
@@ -145,6 +229,9 @@ QString WMHelper::getTDESUCommand(){
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Retrieves the KTSUSS command...
|
||||
*/
|
||||
QString WMHelper::getKTSUSSCommand(){
|
||||
QString result = ctn_KTSUSS;
|
||||
|
||||
@@ -154,6 +241,9 @@ QString WMHelper::getKTSUSSCommand(){
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Retrieves the GKSU command...
|
||||
*/
|
||||
QString WMHelper::getGKSUCommand(){
|
||||
QString result;
|
||||
result = UnixCommand::discoverBinaryPath(ctn_GKSU_2);
|
||||
@@ -162,6 +252,9 @@ QString WMHelper::getGKSUCommand(){
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* The generic SU get method. It retrieves the SU you have installed in your system!
|
||||
*/
|
||||
QString WMHelper::getSUCommand(){
|
||||
QString result(ctn_NO_SU_COMMAND);
|
||||
|
||||
@@ -203,15 +296,12 @@ QString WMHelper::getSUCommand(){
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Opens a file based on your DE
|
||||
*/
|
||||
void WMHelper::openFile(const QString& fileName){
|
||||
QString fileToOpen(fileName);
|
||||
|
||||
/*QProcess *p = new QProcess(qApp->activeWindow());
|
||||
QStringList s;
|
||||
|
||||
s << fileToOpen;
|
||||
p->startDetached("xdg-open", s );*/
|
||||
|
||||
if (!UnixCommand::isTextFile(fileToOpen)){
|
||||
int res = QMessageBox::question(qApp->activeWindow(), StrConstants::getConfirmation(),
|
||||
StrConstants::getThisIsNotATextFile(),
|
||||
@@ -249,6 +339,10 @@ void WMHelper::openFile(const QString& fileName){
|
||||
s << fileToOpen;
|
||||
p->startDetached( ctn_MATE_EDITOR, s );
|
||||
}
|
||||
else if (isCinnamonRunning() && UnixCommand::hasTheExecutable(ctn_CINNAMON_EDITOR)){
|
||||
s << fileToOpen;
|
||||
p->startDetached( ctn_CINNAMON_EDITOR, s );
|
||||
}
|
||||
else if (UnixCommand::hasTheExecutable(ctn_XFCE_FILE_MANAGER)){
|
||||
s << fileToOpen;
|
||||
p->startDetached( ctn_XFCE_FILE_MANAGER, s );
|
||||
@@ -259,6 +353,9 @@ void WMHelper::openFile(const QString& fileName){
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Edits a file based on your DE.
|
||||
*/
|
||||
void WMHelper::editFile( const QString& fileName ){
|
||||
QProcess *process = new QProcess(qApp->activeWindow());
|
||||
QStringList s;
|
||||
@@ -290,6 +387,10 @@ void WMHelper::editFile( const QString& fileName ){
|
||||
QString p = ctn_MATE_EDITOR + " " + fileName;
|
||||
process->startDetached(getSUCommand() + p);
|
||||
}
|
||||
else if (isCinnamonRunning() && UnixCommand::hasTheExecutable(ctn_CINNAMON_EDITOR)){
|
||||
QString p = ctn_CINNAMON_EDITOR + " " + fileName;
|
||||
process->startDetached(getSUCommand() + p);
|
||||
}
|
||||
else if (UnixCommand::hasTheExecutable(ctn_XFCE_EDITOR) || UnixCommand::hasTheExecutable(ctn_XFCE_EDITOR_ALT)){
|
||||
QString p = getXFCEEditor() + " " + fileName;
|
||||
process->startDetached(getSUCommand() + p);
|
||||
@@ -308,6 +409,9 @@ void WMHelper::editFile( const QString& fileName ){
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Opens a directory based on your DE.
|
||||
*/
|
||||
void WMHelper::openDirectory( const QString& dirName ){
|
||||
QProcess *p = new QProcess(qApp->activeWindow());
|
||||
QStringList s;
|
||||
@@ -362,6 +466,11 @@ void WMHelper::openDirectory( const QString& dirName ){
|
||||
s << dir;
|
||||
p->startDetached( ctn_MATE_FILE_MANAGER, s );
|
||||
}
|
||||
else if (isCinnamonRunning() && UnixCommand::hasTheExecutable(ctn_CINNAMON_FILE_MANAGER))
|
||||
{
|
||||
s << dir;
|
||||
p->startDetached( ctn_CINNAMON_FILE_MANAGER, s );
|
||||
}
|
||||
else if (UnixCommand::hasTheExecutable(ctn_XFCE_FILE_MANAGER))
|
||||
{
|
||||
s << dir;
|
||||
@@ -375,6 +484,9 @@ void WMHelper::openDirectory( const QString& dirName ){
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Opens a terminal based on your DE.
|
||||
*/
|
||||
void WMHelper::openTerminal(const QString& dirName){
|
||||
QProcess *p = new QProcess(qApp->activeWindow());
|
||||
QStringList s;
|
||||
@@ -403,6 +515,10 @@ void WMHelper::openTerminal(const QString& dirName){
|
||||
s << "--working-directory=" + dirName;
|
||||
p->startDetached( ctn_MATE_TERMINAL, s );
|
||||
}
|
||||
else if (isCinnamonRunning() && UnixCommand::hasTheExecutable(ctn_CINNAMON_TERMINAL)){
|
||||
s << "--working-directory=" + dirName;
|
||||
p->startDetached( ctn_CINNAMON_TERMINAL, s );
|
||||
}
|
||||
else if (UnixCommand::hasTheExecutable(ctn_XFCE_TERMINAL)){
|
||||
s << "--working-directory=" + dirName;
|
||||
p->startDetached( ctn_XFCE_TERMINAL, s );
|
||||
@@ -411,5 +527,11 @@ void WMHelper::openTerminal(const QString& dirName){
|
||||
s << "--working-directory=" + dirName;
|
||||
p->startDetached( ctn_LXDE_TERMINAL, s );
|
||||
}
|
||||
else if (UnixCommand::hasTheExecutable(ctn_XTERM)){
|
||||
QString cmd = ctn_XTERM +
|
||||
" -fn \"*-fixed-*-*-*-18-*\" -fg White -bg Black -title xterm -e \"" +
|
||||
"cd " + dirName + " && /bin/bash\"";
|
||||
p->startDetached( cmd );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
#include <QString>
|
||||
|
||||
const QString ctn_NO_SU_COMMAND("none");
|
||||
|
||||
const QString ctn_ROOT_SH("/bin/sh -c ");
|
||||
const QString ctn_KDESU("kdesu");
|
||||
const QString ctn_KDE_DESKTOP("kwin");
|
||||
@@ -52,6 +51,7 @@ const QString ctn_XFCE_EDITOR_ALT("leafpad");
|
||||
const QString ctn_XFCE_FILE_MANAGER("thunar");
|
||||
const QString ctn_XFCE_TERMINAL("xfce4-terminal");
|
||||
|
||||
const QString ctn_OPENBOX_DESKTOP("openbox");
|
||||
const QString ctn_LXDE_DESKTOP("lxsession");
|
||||
const QString ctn_LXDE_TERMINAL("lxterminal");
|
||||
const QString ctn_LXDE_FILE_MANAGER("pcmanfm");
|
||||
@@ -61,6 +61,13 @@ const QString ctn_MATE_EDITOR("mate-open");
|
||||
const QString ctn_MATE_FILE_MANAGER("caja");
|
||||
const QString ctn_MATE_TERMINAL("mate-terminal");
|
||||
|
||||
const QString ctn_CINNAMON_DESKTOP("gnome-session");
|
||||
const QString ctn_CINNAMON_EDITOR("gedit");
|
||||
const QString ctn_CINNAMON_FILE_MANAGER("nemo");
|
||||
const QString ctn_CINNAMON_TERMINAL("gnome-terminal");
|
||||
|
||||
const QString ctn_XTERM("xterm");
|
||||
|
||||
/* This class exposes some services of the underlying Window Manager being used */
|
||||
class WMHelper
|
||||
{
|
||||
@@ -68,8 +75,10 @@ public:
|
||||
static bool isKDERunning();
|
||||
static bool isTDERunning();
|
||||
static bool isXFCERunning();
|
||||
static bool isOPENBOXRunning();
|
||||
static bool isLXDERunning();
|
||||
static bool isMATERunning();
|
||||
static bool isCinnamonRunning();
|
||||
|
||||
static QString getKDESUCommand();
|
||||
static QString getTDESUCommand();
|
||||
@@ -77,11 +86,9 @@ public:
|
||||
static QString getGKSUCommand();
|
||||
static QString getXFCEEditor();
|
||||
static QString getSUCommand();
|
||||
|
||||
static void openFile(const QString& fileName); //fileName is Path + Name
|
||||
static void editFile( const QString& fileName ); //fileName is Path + Name
|
||||
static void openDirectory( const QString& dirName );
|
||||
static void runCommandInTerminal(const QString& commandToRun);
|
||||
static void openTerminal( const QString& dirName );
|
||||
};
|
||||
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>552</width>
|
||||
<height>22</height>
|
||||
<height>25</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="contextMenuPolicy">
|
||||
@@ -153,6 +153,7 @@
|
||||
<addaction name="actionSyncPackages"/>
|
||||
<addaction name="actionSystemUpgrade"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionInstallLocalPackage"/>
|
||||
<addaction name="actionOpenRootTerminal"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionExit"/>
|
||||
@@ -466,6 +467,11 @@
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionInstallLocalPackage">
|
||||
<property name="text">
|
||||
<string>Install local package...</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<tabstops>
|
||||
|
||||
Reference in New Issue
Block a user