Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Remove the old AppCafe2 directory from the projects tree, it has been…

… in the main pcbsd/src-qt4/pc-softwaremanager for a little while now
  • Loading branch information...
commit 37a11060e5154ac0cb87d537fc0dffc3cf252538 1 parent a7cca92
@beanpole135 beanpole135 authored
Showing with 0 additions and 31,290 deletions.
  1. +0 −25 AppCafe2/LICENSE
  2. +0 −3  AppCafe2/README
  3. +0 −40 AppCafe2/SoftwareManager.qrc
  4. BIN  AppCafe2/browserBackground.png
  5. +0 −254 AppCafe2/configDialog.cpp
  6. +0 −58 AppCafe2/configDialog.h
  7. +0 −375 AppCafe2/configDialog.ui
  8. +0 −60 AppCafe2/containers.cpp
  9. +0 −75 AppCafe2/containers.h
  10. +0 −153 AppCafe2/extras.h
  11. +0 −1,146 AppCafe2/i18n/SoftwareManager_af.ts
  12. +0 −1,077 AppCafe2/i18n/SoftwareManager_ar.ts
  13. +0 −1,146 AppCafe2/i18n/SoftwareManager_az.ts
  14. +0 −1,060 AppCafe2/i18n/SoftwareManager_bg.ts
  15. +0 −1,146 AppCafe2/i18n/SoftwareManager_bn.ts
  16. +0 −1,146 AppCafe2/i18n/SoftwareManager_bs.ts
  17. +0 −1,067 AppCafe2/i18n/SoftwareManager_ca.ts
  18. +0 −1,064 AppCafe2/i18n/SoftwareManager_cs.ts
  19. +0 −1,146 AppCafe2/i18n/SoftwareManager_cy.ts
  20. +0 −1,067 AppCafe2/i18n/SoftwareManager_da.ts
  21. +0 −1,016 AppCafe2/i18n/SoftwareManager_de.ts
  22. +0 −1,068 AppCafe2/i18n/SoftwareManager_el.ts
  23. +0 −1,016 AppCafe2/i18n/SoftwareManager_en_GB.ts
  24. +0 −1,016 AppCafe2/i18n/SoftwareManager_en_ZA.ts
  25. +0 −1,016 AppCafe2/i18n/SoftwareManager_es.ts
  26. +0 −1,016 AppCafe2/i18n/SoftwareManager_et.ts
  27. +0 −1,146 AppCafe2/i18n/SoftwareManager_eu.ts
  28. +0 −1,016 AppCafe2/i18n/SoftwareManager_fa.ts
  29. +0 −1,146 AppCafe2/i18n/SoftwareManager_fi.ts
  30. +0 −1,016 AppCafe2/i18n/SoftwareManager_fr.ts
  31. +0 −1,016 AppCafe2/i18n/SoftwareManager_fr_CA.ts
  32. +0 −1,146 AppCafe2/i18n/SoftwareManager_fur.ts
  33. +0 −1,146 AppCafe2/i18n/SoftwareManager_gl.ts
  34. +0 −1,113 AppCafe2/i18n/SoftwareManager_he.ts
  35. +0 −1,146 AppCafe2/i18n/SoftwareManager_hi.ts
  36. +0 −1,060 AppCafe2/i18n/SoftwareManager_hr.ts
  37. +0 −1,016 AppCafe2/i18n/SoftwareManager_hu.ts
  38. +0 −1,067 AppCafe2/i18n/SoftwareManager_id.ts
Sorry, we could not display the entire diff because it was too big.
View
25 AppCafe2/LICENSE
@@ -1,25 +0,0 @@
---------------------------------------------------------------------
-Copyright (c) 2009 PC-BSD Software
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
View
3  AppCafe2/README
@@ -1,3 +0,0 @@
-# Copyright (c) 2005 PC-BSD Software
-# http://www.pcbsd.org
-# For license information read file LICENSE
View
40 AppCafe2/SoftwareManager.qrc
@@ -1,40 +0,0 @@
-<RCC>
- <qresource>
- <file>icons/add-root.png</file>
- <file>icons/remove-root.png</file>
- <file>icons/export.png</file>
- <file>icons/import.png</file>
- <file>icons/arrow-down.png</file>
- <file>icons/arrow-up.png</file>
- <file>icons/app_upgrade-root.png</file>
- <file>icons/app_downgrade-root.png</file>
- <file>icons/app_download-root.png</file>
- <file>icons/appcafe.png</file>
- <file>icons/application.png</file>
- <file>icons/add.png</file>
- <file>icons/remove.png</file>
- <file>icons/dialog-ok.png</file>
- <file>icons/download.png</file>
- <file>icons/edit-find.png</file>
- <file>icons/view-refresh.png</file>
- <file>icons/dialog-cancel.png</file>
- <file>icons/window-close.png</file>
- <file>icons/preferences-system.png</file>
- <file>icons/go-next.png</file>
- <file>icons/go-previous.png</file>
- <file>icons/go-home.png</file>
- <file>icons/working.png</file>
- <file>icons/folder.png</file>
- <file>icons/NewLogoSmall.png</file>
- <file>icons/demo.png</file>
- <file>browserBackground.png</file>
- <file>icons/app_downgrade.png</file>
- <file>icons/app_download.png</file>
- <file>icons/app_needroot.png</file>
- <file>icons/app_upgrade.png</file>
- <file>icons/xdg_desktop.png</file>
- <file>icons/xdg_menu.png</file>
- <file>icons/xdg_mime.png</file>
- <file>icons/xdg_paths.png</file>
- </qresource>
-</RCC>
View
BIN  AppCafe2/browserBackground.png
Deleted file not rendered
View
254 AppCafe2/configDialog.cpp
@@ -1,254 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2011 - iXsystems *
- * kris@pcbsd.org *
- * tim@pcbsd.org *
- * ken@pcbsd.org *
- * *
- * Permission is hereby granted, free of charge, to any person obtaining *
- * a copy of this software and associated documentation files (the *
- * "Software"), to deal in the Software without restriction, including *
- * without limitation the rights to use, copy, modify, merge, publish, *
- * distribute, sublicense, and/or sell copies of the Software, and to *
- * permit persons to whom the Software is furnished to do so, subject to *
- * the following conditions: *
- * *
- * The above copyright notice and this permission notice shall be *
- * included in all copies or substantial portions of the Software. *
- * *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR *
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR *
- * OTHER DEALINGS IN THE SOFTWARE. *
- ***************************************************************************/
-#include "configDialog.h"
-#include "ui_configDialog.h" //Qt-designer file
-
-//Public input/output variables
-/* bool applyChanges;
- QStringList xdgOpts;
- bool keepDownloads;
- QString downloadDir;
- PBIDBAccess *DB; // Input only - current database access class
-*/
-ConfigDialog::ConfigDialog(QWidget* parent) : QDialog(parent), ui(new Ui::ConfigDialog){
- ui->setupUi(this); //load the Qt-Designer file
- applyChanges = FALSE;
-}
-
-ConfigDialog::~ConfigDialog(){
- delete ui;
-}
-
-void ConfigDialog::setupDone(){
- applyChanges = FALSE; //make sure no changes by default
- //Now load the info onto the GUI
- ui->check_desktop->setChecked( xdgOpts.contains("desktop") );
- ui->check_menu->setChecked( xdgOpts.contains("menu") );
- ui->check_mime->setChecked( xdgOpts.contains("mime") );
- ui->check_paths->setChecked( xdgOpts.contains("paths") );
- ui->group_download->setChecked( keepDownloads );
- ui->line_downloadDir->setText( downloadDir.replace(QDir::homePath(),"~") );
- //Get the repo information
- repoID = DB->currentRepo();
- refreshRepoTab();
-}
-
-void ConfigDialog::refreshRepoTab(){
- DB->reloadRepoList();
- QStringList repoList = DB->availableRepos();
- int index = repoList.indexOf(repoID);
- for(int i=0; i<repoList.length(); i++){
- QStringList info = DB->repoInfo(repoList[i]);
- repoList[i].append(" - "+info[0] );
- }
- //Now fill the repo tab
- ui->combo_repo->clear();
- ui->combo_repo->addItems( repoList );
- if(!repoList.isEmpty()){
- if(index != -1){
- ui->combo_repo->setCurrentIndex(index); //will call the slot automatically
- }else{
- ui->combo_repo->setCurrentIndex(0);
- }
- }
-}
-
-// === ButtonBox ===
-void ConfigDialog::on_buttonBox_accepted(){
- applyChanges = TRUE; //flag that changes are available
- //generate the xdg install Options
- xdgOpts.clear();
- if(ui->check_desktop->isChecked()){ xdgOpts << "desktop"; }
- if(ui->check_menu->isChecked()){ xdgOpts << "menu"; }
- if(ui->check_mime->isChecked()){ xdgOpts << "mime"; }
- if(ui->check_paths->isChecked()){ xdgOpts << "paths"; }
- //Download Directory settings
- keepDownloads = ui->group_download->isChecked();
- downloadDir = ui->line_downloadDir->text();
- downloadDir.replace("~",QDir::homePath());
- //Repo
- repoID = ui->combo_repo->currentText().section(" - ",0,0).simplified();
- DB->setRepo(repoID);
- //Now close the UI
- this->close();
-}
-
-void ConfigDialog::on_buttonBox_rejected(){
- applyChanges = FALSE;
- DB->setRepo(repoID); //just in case it was changed by the UI
- this->close();
-}
-
-// === Repo Tab ===
-void ConfigDialog::on_combo_repo_currentIndexChanged(){
- QString repoNum = ui->combo_repo->currentText().section(" - ",0,0);
- //Update the repo mirror list
- if(repoNum.isEmpty()){ //no repo selected
- ui->list_repomirrors->clear();
- ui->tool_repomirror_add->setEnabled(FALSE);
- ui->tool_repomirror_remove->setEnabled(FALSE);
- ui->tool_repomirror_up->setEnabled(FALSE);
- ui->tool_repomirror_down->setEnabled(FALSE);
- ui->tool_repo_remove->setEnabled(FALSE);
- }else{
- QStringList mirrors = DB->repoMirrors(repoNum);
- ui->list_repomirrors->clear();
- ui->list_repomirrors->addItems(mirrors);
- //Now enable the buttons
- ui->tool_repomirror_add->setEnabled(TRUE);
- ui->tool_repomirror_remove->setEnabled(TRUE);
- ui->tool_repomirror_up->setEnabled(TRUE);
- ui->tool_repomirror_down->setEnabled(TRUE);
- ui->tool_repo_remove->setEnabled(TRUE);
- }
-
-}
-
-void ConfigDialog::on_tool_repo_add_clicked(){
- QString rpofile = QFileDialog::getOpenFileName(this,tr("Add PBI Repository"), QDir::homePath(), tr("Repository File (*.rpo)") );
- if(rpofile.isEmpty()){ return; } //cancelled
- bool ok = DB->addRepoFile(rpofile);
- if(ok){
- QMessageBox::information(this,tr("Repo Successfully Added"), tr("This repo should be ready to use in a short time (depending on your internet connection speed).") );
- }else{
- QMessageBox::warning(this,tr("Repo Failure"), tr("This repo could not be added.")+"\n"+ QString(tr("Please run the command '%1' manually to see the full error message.")).arg("pbi_addrepo <rpo file>") );
- }
- refreshRepoTab();
-}
-
-void ConfigDialog::on_tool_repo_remove_clicked(){
- //Get the selected repo
- QString repoName = ui->combo_repo->currentText().section(" - ",1,50).simplified();
- QString repoNum = ui->combo_repo->currentText().section(" - ",0,0).simplified();
- //Verify the removal
- if( QMessageBox::Yes == QMessageBox::question(this,tr("Verify Removal"),repoName+"\n\n"+tr("Are you sure you wish to remove this PBI repository?"),QMessageBox::Yes | QMessageBox::Cancel, QMessageBox::Cancel) ){
- //remove the repo
- bool ok = DB->removeRepo(repoNum);
- if(!ok){
- QMessageBox::warning(this,tr("Repo Failure"), tr("This repo could not be removed.")+"\n"+ QString(tr("Please run the command '%1' manually to see the full error message.")).arg("pbi_deleterepo "+repoNum) );
- }
- refreshRepoTab();
- }
-}
-
-void ConfigDialog::on_tool_repomirror_add_clicked(){
- bool ok;
- QString newmirror = QInputDialog::getText(this,tr("New Mirror URL"), tr("Please enter the URL for the new repo mirror:"),QLineEdit::Normal, "", &ok);
- if( !ok || newmirror.isEmpty()){ return; } //cancelled
- QString repoNum = ui->combo_repo->currentText().section(" - ",0,0);
- QStringList mirrors;
- for(int i=0; i<ui->list_repomirrors->count(); i++){
- mirrors << ui->list_repomirrors->item(i)->text();
- }
- mirrors << newmirror; //add the new mirror to the end of the list
- //Now run the database command
- ok = DB->setRepoMirrors(repoNum, mirrors);
- if(!ok){
- QMessageBox::warning(this,tr("Mirror Change Error"), tr("The full error is displayed in the AppCafe terminal output."));
- }
- //Now update the display
- on_combo_repo_currentIndexChanged();
-}
-
-void ConfigDialog::on_tool_repomirror_remove_clicked(){
- if(ui->list_repomirrors->currentRow() == -1){ return; }
- QString repoNum = ui->combo_repo->currentText().section(" - ",0,0);
- QString rmMirror = ui->list_repomirrors->currentItem()->text();
- if(rmMirror.isEmpty()){ return; }
- QStringList mirrors;
- for(int i=0; i<ui->list_repomirrors->count(); i++){
- QString mir = ui->list_repomirrors->item(i)->text();
- if(mir != rmMirror){
- mirrors << mir;
- }
- }
- //Now run the database command
- bool ok = DB->setRepoMirrors(repoNum, mirrors);
- if(!ok){
- QMessageBox::warning(this,tr("Mirror Change Error"), tr("The full error is displayed in the AppCafe terminal output."));
- }
- //Now update the display
- on_combo_repo_currentIndexChanged();
-}
-
-void ConfigDialog::on_tool_repomirror_up_clicked(){
- if(ui->list_repomirrors->currentRow() == -1){ return; }
- QString repoNum = ui->combo_repo->currentText().section(" - ",0,0);
- QString upMirror = ui->list_repomirrors->currentItem()->text();
- if(upMirror.isEmpty()){ return; }
- QStringList mirrors;
- for(int i=0; i<ui->list_repomirrors->count(); i++){
- mirrors << ui->list_repomirrors->item(i)->text();
- }
- //Now move the mirror up
- int cIndex = mirrors.indexOf(upMirror);
- if( cIndex < 1 ){ return; }//make sure it is not already at the top of the list
- mirrors.move(cIndex, cIndex-1);
-
- //Now run the database command
- bool ok = DB->setRepoMirrors(repoNum, mirrors);
- if(!ok){
- QMessageBox::warning(this,tr("Mirror Change Error"), tr("The full error is displayed in the AppCafe terminal output."));
- }
- //Now update the display
- on_combo_repo_currentIndexChanged();
-}
-
-void ConfigDialog::on_tool_repomirror_down_clicked(){
- if(ui->list_repomirrors->currentRow() == -1){ return; }
- QString repoNum = ui->combo_repo->currentText().section(" - ",0,0);
- QString downMirror = ui->list_repomirrors->currentItem()->text();
- if(downMirror.isEmpty()){ return; }
- QStringList mirrors;
- for(int i=0; i<ui->list_repomirrors->count(); i++){
- mirrors << ui->list_repomirrors->item(i)->text();
- }
- //Now move the mirror up
- int cIndex = mirrors.indexOf(downMirror);
- if( cIndex == (mirrors.length()-1) ){ return; }//make sure the mirror is not already at the bottom
- mirrors.move(cIndex, cIndex+1);
-
- //Now run the database command
- bool ok = DB->setRepoMirrors(repoNum, mirrors);
- if(!ok){
- QMessageBox::warning(this,tr("Mirror Change Error"), tr("The full error is displayed in the AppCafe terminal output."));
- }
- //Now update the display
- on_combo_repo_currentIndexChanged();
-}
-
-// === Config Tab ===
-void ConfigDialog::on_group_download_toggled(bool checked){
- ui->frame_dldir->setVisible(checked);
-}
-
-void ConfigDialog::on_tool_getDownloadDir_clicked(){
- QString dirpath = QFileDialog::getExistingDirectory(this, tr("Select Download Directory"), QDir::homePath());
- if(dirpath.isEmpty()){return;} //not cancelled
- dirpath.replace(QDir::homePath(),"~");
- ui->line_downloadDir->setText(dirpath);
-}
-
View
58 AppCafe2/configDialog.h
@@ -1,58 +0,0 @@
-#ifndef _APPCAFE_CONFIG_DIALOG_H
-#define _APPCAFE_CONFIG_DIALOG_H
-
-#include <QDialog>
-#include <QWidget>
-#include <QString>
-#include <QFileDialog>
-#include <QMessageBox>
-#include <QInputDialog>
-
-#include "pbiDBAccess.h"
-
-namespace Ui {
- class ConfigDialog;
-}
-
-class ConfigDialog : public QDialog{
- Q_OBJECT
-
-public:
- explicit ConfigDialog(QWidget* parent = 0);
- virtual ~ConfigDialog();
-
- void setupDone(); //make sure the public variables below are set before running this
-
- //Data setup/retrieval variables
- bool applyChanges;
- QStringList xdgOpts;
- bool keepDownloads;
- QString downloadDir;
- PBIDBAccess *DB;
-
-private:
- Ui::ConfigDialog *ui;
- QString repoID;
-
-private slots:
- //Repo Tab
- void refreshRepoTab();
- void on_combo_repo_currentIndexChanged();
- void on_tool_repo_add_clicked();
- void on_tool_repo_remove_clicked();
- void on_tool_repomirror_add_clicked();
- void on_tool_repomirror_remove_clicked();
- void on_tool_repomirror_up_clicked();
- void on_tool_repomirror_down_clicked();
-
- //Config Tab
- void on_group_download_toggled(bool);
- void on_tool_getDownloadDir_clicked();
-
- //ButtonBox
- void on_buttonBox_accepted();
- void on_buttonBox_rejected();
-
-};
-
-#endif
View
375 AppCafe2/configDialog.ui
@@ -1,375 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>ConfigDialog</class>
- <widget class="QDialog" name="ConfigDialog">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>353</width>
- <height>337</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>AppCafe Configuration</string>
- </property>
- <property name="windowIcon">
- <iconset resource="SoftwareManager.qrc">
- <normaloff>:/icons/appcafe.png</normaloff>:/icons/appcafe.png</iconset>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <item>
- <widget class="QTabWidget" name="tabWidget">
- <property name="currentIndex">
- <number>0</number>
- </property>
- <widget class="QWidget" name="tab_config">
- <attribute name="icon">
- <iconset resource="SoftwareManager.qrc">
- <normaloff>:/icons/preferences-system.png</normaloff>:/icons/preferences-system.png</iconset>
- </attribute>
- <attribute name="title">
- <string>Configuration</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout_4">
- <item>
- <widget class="QGroupBox" name="group_install">
- <property name="title">
- <string>Post-Install Actions</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <item>
- <widget class="QFrame" name="frame">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_5">
- <item>
- <widget class="QCheckBox" name="check_desktop">
- <property name="text">
- <string>Create Desktop Icons</string>
- </property>
- <property name="icon">
- <iconset resource="SoftwareManager.qrc">
- <normaloff>:/icons/xdg_desktop.png</normaloff>:/icons/xdg_desktop.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="check_menu">
- <property name="text">
- <string>Create Menu Icons</string>
- </property>
- <property name="icon">
- <iconset resource="SoftwareManager.qrc">
- <normaloff>:/icons/xdg_menu.png</normaloff>:/icons/xdg_menu.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="check_mime">
- <property name="text">
- <string>Register File Associations</string>
- </property>
- <property name="icon">
- <iconset resource="SoftwareManager.qrc">
- <normaloff>:/icons/xdg_mime.png</normaloff>:/icons/xdg_mime.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="check_paths">
- <property name="text">
- <string>Create Path Links</string>
- </property>
- <property name="icon">
- <iconset resource="SoftwareManager.qrc">
- <normaloff>:/icons/xdg_paths.png</normaloff>:/icons/xdg_paths.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QGroupBox" name="group_download">
- <property name="title">
- <string>Keep Downloaded Files</string>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_3">
- <item>
- <widget class="QFrame" name="frame_dldir">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Download Dir</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="line_downloadDir"/>
- </item>
- <item>
- <widget class="QToolButton" name="tool_getDownloadDir">
- <property name="text">
- <string>Download Directory</string>
- </property>
- <property name="icon">
- <iconset resource="SoftwareManager.qrc">
- <normaloff>:/icons/folder.png</normaloff>:/icons/folder.png</iconset>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="tab_repos">
- <attribute name="icon">
- <iconset resource="SoftwareManager.qrc">
- <normaloff>:/icons/app_needroot.png</normaloff>:/icons/app_needroot.png</iconset>
- </attribute>
- <attribute name="title">
- <string>Repositories</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout_6">
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <item>
- <widget class="QComboBox" name="combo_repo"/>
- </item>
- <item>
- <widget class="QToolButton" name="tool_repo_add">
- <property name="text">
- <string>Add</string>
- </property>
- <property name="icon">
- <iconset resource="SoftwareManager.qrc">
- <normaloff>:/icons/add-root.png</normaloff>:/icons/add-root.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="tool_repo_remove">
- <property name="text">
- <string>...</string>
- </property>
- <property name="icon">
- <iconset resource="SoftwareManager.qrc">
- <normaloff>:/icons/remove-root.png</normaloff>:/icons/remove-root.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QGroupBox" name="group_repomirrors">
- <property name="title">
- <string>Repository Mirrors</string>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="2">
- <layout class="QVBoxLayout" name="verticalLayout_7">
- <item>
- <widget class="QToolButton" name="tool_repomirror_up">
- <property name="text">
- <string>Move Up</string>
- </property>
- <property name="icon">
- <iconset resource="SoftwareManager.qrc">
- <normaloff>:/icons/arrow-up.png</normaloff>:/icons/arrow-up.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="tool_repomirror_down">
- <property name="text">
- <string>Move Down</string>
- </property>
- <property name="icon">
- <iconset resource="SoftwareManager.qrc">
- <normaloff>:/icons/arrow-down.png</normaloff>:/icons/arrow-down.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer_2">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QToolButton" name="tool_repomirror_add">
- <property name="text">
- <string>Add</string>
- </property>
- <property name="icon">
- <iconset resource="SoftwareManager.qrc">
- <normaloff>:/icons/add-root.png</normaloff>:/icons/add-root.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="tool_repomirror_remove">
- <property name="text">
- <string>Remove</string>
- </property>
- <property name="icon">
- <iconset resource="SoftwareManager.qrc">
- <normaloff>:/icons/remove-root.png</normaloff>:/icons/remove-root.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="0" column="0">
- <widget class="QListWidget" name="list_repomirrors"/>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- <item>
- <widget class="QDialogButtonBox" name="buttonBox">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="standardButtons">
- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
- </property>
- <property name="centerButtons">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <resources>
- <include location="SoftwareManager.qrc"/>
- </resources>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>ConfigDialog</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel">
- <x>248</x>
- <y>254</y>
- </hint>
- <hint type="destinationlabel">
- <x>157</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>buttonBox</sender>
- <signal>rejected()</signal>
- <receiver>ConfigDialog</receiver>
- <slot>reject()</slot>
- <hints>
- <hint type="sourcelabel">
- <x>316</x>
- <y>260</y>
- </hint>
- <hint type="destinationlabel">
- <x>286</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
View
60 AppCafe2/containers.cpp
@@ -1,60 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2011 - iXsystems *
- * kris@pcbsd.org *
- * tim@pcbsd.org *
- * ken@pcbsd.org *
- * *
- * Permission is hereby granted, free of charge, to any person obtaining *
- * a copy of this software and associated documentation files (the *
- * "Software"), to deal in the Software without restriction, including *
- * without limitation the rights to use, copy, modify, merge, publish, *
- * distribute, sublicense, and/or sell copies of the Software, and to *
- * permit persons to whom the Software is furnished to do so, subject to *
- * the following conditions: *
- * *
- * The above copyright notice and this permission notice shall be *
- * included in all copies or substantial portions of the Software. *
- * *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR *
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR *
- * OTHER DEALINGS IN THE SOFTWARE. *
- ***************************************************************************/
-#include "containers.h"
-
-//Initialization functions for the container classes
-
-// --- INSTALLEDPBI ---
-InstalledPBI::InstalledPBI(){
- rootInstall=FALSE; autoUpdate=FALSE; desktopIcons=FALSE; menuIcons=FALSE;
- status = NONE;
-}
-
-void InstalledPBI::setStatus(PBISTATUS stat, QString addinfo){
- //addinfo: additional info (download statistics or update version available)
- status = stat;
- if(stat == DOWNLOADING){
- if(addinfo.isEmpty()){ statusString = QObject::tr("Downloading..."); }
- else{ statusString = QString(QObject::tr("Downloading: %1")).arg(addinfo); }
- }
- else if(stat == INSTALLING){ statusString = QObject::tr("Installing..."); }
- else if(stat == REMOVING){ statusString = QObject::tr("Removing..."); }
- else if(stat == UPDATING){
- if(addinfo.isEmpty()){ statusString = QObject::tr("Updating..."); }
- else{ statusString = QString(QObject::tr("Updating Downloading: %1 ")).arg(addinfo); }
- }
- else if(stat == PENDINGDOWNLOAD){ statusString = QObject::tr("Pending Download"); }
- else if(stat == PENDINGINSTALL){ statusString = QObject::tr("Pending Install"); }
- else if(stat == PENDINGREMOVAL){ statusString = QObject::tr("Pending Removal"); }
- else if(stat == PENDINGUPDATE){ statusString = QObject::tr("Pending Update"); }
- else if(stat == UPDATEAVAILABLE){
- if(addinfo.isEmpty()){ statusString = QObject::tr("Update Available!"); }
- else{ statusString = QString(QObject::tr("Version %1 Available")).arg(addinfo); }
- }
- else{ statusString = ""; }
- //qDebug() << "Status Update:" << name << status << statusString;
-}
-
View
75 AppCafe2/containers.h
@@ -1,75 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2011 - iXsystems *
- * kris@pcbsd.org *
- * tim@pcbsd.org *
- * ken@pcbsd.org *
- * *
- * Permission is hereby granted, free of charge, to any person obtaining *
- * a copy of this software and associated documentation files (the *
- * "Software"), to deal in the Software without restriction, including *
- * without limitation the rights to use, copy, modify, merge, publish, *
- * distribute, sublicense, and/or sell copies of the Software, and to *
- * permit persons to whom the Software is furnished to do so, subject to *
- * the following conditions: *
- * *
- * The above copyright notice and this permission notice shall be *
- * included in all copies or substantial portions of the Software. *
- * *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR *
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR *
- * OTHER DEALINGS IN THE SOFTWARE. *
- ***************************************************************************/
-#ifndef _APPCAFE_CONTAINERS_H
-#define _APPCAFE_CONTAINERS_H
-
-#include <QString>
-#include <QProcess>
-#include <QObject>
-#include <QDebug>
-
-// Info Container for Installed PBI's (pbi_info <pbi-name> data)
-class InstalledPBI{
-
- public:
- enum PBISTATUS{ NONE, DOWNLOADING, INSTALLING, REMOVING, UPDATING, PENDINGDOWNLOAD, PENDINGINSTALL, PENDINGREMOVAL, PENDINGUPDATE, UPDATEAVAILABLE, WORKING };
- QString name, version, author, website, arch, path, icon, license, mdate, metaID, statusString, downloadfile;
- PBISTATUS status;
- bool rootInstall, autoUpdate, desktopIcons, menuIcons;
-
- InstalledPBI();
- ~InstalledPBI(){}
- void setStatus(PBISTATUS stat, QString addInfo="");
-
-};
-
-// Info Container for PBI Meta information on a repo
-class MetaPBI{
-
- public:
- QString name, category, remoteIcon, localIcon, author, website, license, appType, description;
- QStringList tags;
- QString latestVersion, latestDatetime, latestArch, latestSizeK, latestFilename; //newest version in the index
- QString backupVersion, backupDatetime, backupArch, backupSizeK, backupFilename; //next-to-newest version in the index
- bool requiresroot;
-
- MetaPBI(){ requiresroot=FALSE; }
- ~MetaPBI(){}
-
-};
-
-// Info Container for Category Meta information on a repo
-class MetaCategory{
-
- public:
- QString name, remoteIcon, localIcon, description;
-
- MetaCategory(){}
- ~MetaCategory(){}
-
-};
-
-#endif
View
153 AppCafe2/extras.h
@@ -1,153 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2011 - iXsystems *
- * kris@pcbsd.org *
- * tim@pcbsd.org *
- * ken@pcbsd.org *
- * *
- * Permission is hereby granted, free of charge, to any person obtaining *
- * a copy of this software and associated documentation files (the *
- * "Software"), to deal in the Software without restriction, including *
- * without limitation the rights to use, copy, modify, merge, publish, *
- * distribute, sublicense, and/or sell copies of the Software, and to *
- * permit persons to whom the Software is furnished to do so, subject to *
- * the following conditions: *
- * *
- * The above copyright notice and this permission notice shall be *
- * included in all copies or substantial portions of the Software. *
- * *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR *
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR *
- * OTHER DEALINGS IN THE SOFTWARE. *
- ***************************************************************************/
-#ifndef _APPCAFE_EXTRAS_H
-#define _APPCAFE_EXTRAS_H
-
-#include <QString>
-#include <QFile>
-#include <QTextStream>
-#include <QDebug>
-#include <QProcessEnvironment>
-
-class Extras{
-
-public:
- static bool checkUser(bool wardenMode){
- QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
- QString logname;
- if(env.contains("LOGNAME")){ logname = env.value("LOGNAME"); }
- else if(env.contains("USERNAME")){ logname = env.value("USERNAME"); }
- else if(env.contains("USER")){ logname = env.value("USER"); }
- bool ok = FALSE;
- if( logname.isEmpty() ){}
- else if( wardenMode && (logname=="root") ){ ok = TRUE;}
- else if( !wardenMode && (logname!="root") ){ ok = TRUE; }
- return ok;
- }
-
- static QString bytesToHumanReadable(float bytes){
- QStringList suffix;
- suffix << "B" << "KB" << "MB" << "GB" << "TB" << "PB";
- int i = 0;
- while((bytes >= 1000) && ( i < (suffix.size() - 1 )) ){
- bytes = bytes / 1024; i++;
- }
- QString result = QString::number(bytes, 'f', 0);
- result += suffix[i];
- return result;
- }
-
- static QString getLineFromCommandOutput( QString command ){
- FILE *file = popen(command.toLatin1(),"r");
- char buffer[100];
- QString line = "";
- char firstChar;
- if ((firstChar = fgetc(file)) != -1){
- line += firstChar;
- line += fgets(buffer,100,file);
- }
- pclose(file);
- return line;
- }
-
- static QString getSystemArch(){
- return getLineFromCommandOutput("uname -m").simplified();
- }
-
- static QStringList readFile( QString filePath ){
- QFile file(filePath);
- QStringList output;
- if(file.open(QIODevice::ReadOnly | QIODevice::Text)){
- QTextStream in(&file);
- while(!in.atEnd()){
- QString line = in.readLine();
- if(!line.isEmpty()){ output << line; }
- }
- file.close();
- }
- return output;
- }
-
- static bool writeFile( QString filePath, QStringList contents ){
- QFile file(filePath);
- bool ok = FALSE;
- if(file.open(QIODevice::WriteOnly | QIODevice::Text)){
- QTextStream out(&file);
- for(int i=0; i<contents.length(); i++){
- out << contents[i] + "\n";
- }
- file.close();
- ok = TRUE;
- }
- return ok;
- }
-
- static QString nameToID(QString name){
- QString out = name.toLower();
- out.remove(" ");
- out.remove("\t");
- out.simplified();
- return out;
- }
-
- static bool newerDateTime(QString check, QString standard){
- //Returns true if the first input is a later date/time than the second
- double chkNum = check.remove(" ").toDouble();
- double stdNum = standard.remove(" ").toDouble();
- return (chkNum > stdNum);
- }
-
- static QString datetimeToString(QString datetime){
- //datetime format: "YYYYMMDD HHMMSS"
- //converts a database date/time string to human readable form
- QString date = datetime.section(" ",0,0,QString::SectionSkipEmpty);
- //date format: YYYYMMDD
- QString year = date.left(4);
- QString day = QString::number(date.right(2).toInt());
- date.chop(2); // remove the day
- QString month = QString::number(date.right(2).toInt());
-
- QString output = month+"/"+day+"/"+year;
- return output;
- }
-
- static QString sizeKToDisplay(QString sizeK){
- double num = sizeK.toDouble();
- QStringList lab; lab << "KB" << "MB" << "GB" << "TB" << "PB";
- int i=0;
- while( (i<lab.length()) && (num > 1024) ){
- num=num/1024; i++;
- }
- //Round to 2 decimel places
- num = int(num*100)/100.0;
- QString output = QString::number(num)+" "+lab[i];
- //qDebug() << "Size calculation:" << sizeK << output;
- return output;
- }
-
-};
-
-#endif
View
1,146 AppCafe2/i18n/SoftwareManager_af.ts
@@ -1,1146 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.0">
-<context>
- <name>ConfigDialog</name>
- <message>
- <source>AppCafe Configuration</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Configuration</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Post-Install Actions</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Create Desktop Icons</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Create Menu Icons</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Register File Associations</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Create Path Links</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Keep Downloaded Files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Download Dir</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Download Directory</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Repositories</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Add</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>...</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Repository Mirrors</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Move Up</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Move Down</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Remove</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Add PBI Repository</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Repository File (*.rpo)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Repo Successfully Added</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>This repo should be ready to use in a short time (depending on your internet connection speed).</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Repo Failure</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>This repo could not be added.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Please run the command &apos;%1&apos; manually to see the full error message.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Verify Removal</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Are you sure you wish to remove this PBI repository?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>This repo could not be removed.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>New Mirror URL</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Please enter the URL for the new repo mirror:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Mirror Change Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>The full error is displayed in the AppCafe terminal output.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Select Download Directory</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>MainUI</name>
- <message>
- <source>AppCafe</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Installed</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Program Name</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Version</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Status</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Toggle All</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Actions</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Show Application Details</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Version:</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Author:</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>License:</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Shortcuts:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Open Browser Page</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Auto-Update</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Browse For Apps</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Home</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Category</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>App</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Search Here</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Search</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>View Recent Additions</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Browse By Category</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Size:</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Application Information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Platform:</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Type:</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Show Similar Applications</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Best Matches</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Other Results</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Configure</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Import PBI List</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Export PBI List</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>&amp;Quit</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Repositories</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>AppCafe Settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Error!</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>The AppCafe must be run as root when in Warden compatibility mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>The AppCafe must be started with user permissions!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>The user must also be a part of the &quot;operator&quot; group</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>AppCafe Processes Running</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>The AppCafe currently has actions pending. Do you want to cancel all running processes and quit anyway?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Import PBI File List</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>PBI List (*.pbilist)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Import Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>There was an error importing the PBI list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Please make sure that the file has not been corrupted and try again</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Export PBI File List</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Export Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>There was an error exporting the PBI list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Please make sure that you have the proper directory permissions and try again</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Upgrade</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Desktop Icons</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Add</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Remove</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Menu Icons</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Add (All Users)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Path Links</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>File Associations</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Uninstall</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Cancel Actions</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Desktop/Menu</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Desktop</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Menu</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>None</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Verify PBI Removal</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Are you sure you wish to remove these applications?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Unknown</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Install Now!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Downgrade</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Searching the application database. Please Wait....</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>No Search Results Found for the term: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Installed: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Available: %2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>PBIBackend</name>
- <message>
- <source>Downloading</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Installing</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Removing</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Updating</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Pending Download</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Pending Install</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Pending Removal</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Pending Update</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>No applications to install from this list.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Results:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Unavailable Apps: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Currently Installed: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Import Results</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Are you sure you wish to install these applications?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>%1 Download Error:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>The PBI could not be downloaded, please try again later</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>%1 Update Error:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>%1 Installation Error:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>%1 Removal Error:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>%1 PBI Error:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Unknown</source>
- <translation type="unfinished">
- </translation>
- </message>
-</context>
-<context>
- <name>PBM</name>
- <message>
- <source>You currently have PBIs downloading! Exit anyway?</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Cancel this download?</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Remove this application?</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Error!</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>This program must be run as root!</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>...</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Program Name</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Status</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Update</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>&amp;Remove</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Checking for Updates...</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Pending Upgrade</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Update Manager</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>No software selected to update!</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Starting Download</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Download failed... Attempting to re-download...</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Installing...</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Online Update</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Uninstall</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Retry Download</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Pending Download...</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Install Software?</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Cancel Download</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>AppCafe</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Browse</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Search</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>&amp;Installed</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>&amp;File</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>&amp;Quit</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Confirm</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Please wait, removing:</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Please wait.. Loading repositories...</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Do you want to download and install</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>&amp;OK</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>&amp;Cancel</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>No PBIs for category:</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Invalid PBI selected:</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Installed</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Download</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Version:</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Platform:</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>License:</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>No applications found!</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>An error occurred while installing</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>View details</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Automatic Updating</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>&amp;Repositories</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Application Categories</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Latest Releases</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Configure Repository</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Install Desktop Icons</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Install Menu Icons</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Install Menu Icons (All Users)</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Select Repository</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Add Repository</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Requires Root:</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Installing applications has been disabled for this user. Please add the user to the operator group or restart as root.</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Warning!</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Missing meta-files for RepoID:</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>This is normally due to the internet connection being offline or mis-configured.</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Pending</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Download starting...</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Please check your network connection or mirror settings. </source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Invalid warden directory:</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>AppCafe - Warden</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Type:</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Size:</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Best Matches</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Other Matches</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Preferences</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Application name</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>TextLabel</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>1.20.19</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>New version available:</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>1.20.20</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>More...</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Author:</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>BSD</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Cancel</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Unknown</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Installed: </source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Available: </source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Updating</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Updating...</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Downloading: %1MB of %2MB (%3 %) at %4</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>%1MB of %2MB at %3</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Downloading...</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Installing</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Finalizing installation...</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Install PATH links</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Install PATH links (All Users)</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Update &amp;All</source>
- <translation type="obsolete">
- </translation>
- </message>
-</context>
-<context>
- <name>ProcessManager</name>
- <message>
- <source>%1 at %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Unknown Error</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QObject</name>
- <message>
- <source>Downloading...</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Downloading: %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Installing...</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Removing...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Updating...</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Updating Downloading: %1 </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Pending Download</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Pending Install</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Pending Removal</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Pending Update</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Update Available!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Version %1 Available</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>dialogPreferences</name>
- <message>
- <source>Preferences</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>AppCafe Preferences</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Create menu icons at install</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Create desktop icons at install</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>&amp;Ok</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>&amp;Cancel</source>
- <translation type="obsolete">
- </translation>
- </message>
-</context>
-<context>
- <name>softwareConfigWidget</name>
- <message>
- <source>&amp;Save</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>&amp;Cancel</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Repository Configuration</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Repository Mirrors</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>&amp;Add</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>&amp;Remove</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Add Mirror</source>
- <translation type="obsolete">
- </translation>
- </message>
- <message>
- <source>Mirror URL:</source>
- <translation type="obsolete">
- </translation>
- </message>
-</context>
-</TS>
View
1,077 AppCafe2/i18n/SoftwareManager_ar.ts
@@ -1,1077 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.0">
-<context>
- <name>ConfigDialog</name>
- <message>
- <source>AppCafe Configuration</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Configuration</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Post-Install Actions</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Create Desktop Icons</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Create Menu Icons</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Register File Associations</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Create Path Links</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Keep Downloaded Files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Download Dir</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Download Directory</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Repositories</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Add</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>...</source>
- <translation type="unfinished">...</translation>
- </message>
- <message>
- <source>Repository Mirrors</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Move Up</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Move Down</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Remove</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Add PBI Repository</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Repository File (*.rpo)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Repo Successfully Added</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>This repo should be ready to use in a short time (depending on your internet connection speed).</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Repo Failure</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>This repo could not be added.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Please run the command &apos;%1&apos; manually to see the full error message.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Verify Removal</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Are you sure you wish to remove this PBI repository?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>This repo could not be removed.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>New Mirror URL</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Please enter the URL for the new repo mirror:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Mirror Change Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>The full error is displayed in the AppCafe terminal output.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Select Download Directory</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>MainUI</name>
- <message>
- <source>AppCafe</source>
- <translation type="unfinished">AppCafe</translation>
- </message>
- <message>
- <source>Installed</source>
- <translation type="unfinished">تثبيت</translation>
- </message>
- <message>
- <source>Program Name</source>
- <translation type="unfinished">اسم البرنامج</translation>
- </message>
- <message>
- <source>Version</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Status</source>
- <translation type="unfinished">الحالة</translation>
- </message>
- <message>
- <source>Toggle All</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Actions</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Show Application Details</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Version:</source>
- <translation type="unfinished">الإصدار:</translation>
- </message>
- <message>
- <source>Author:</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>License:</source>
- <translation type="unfinished">الترخيص:</translation>
- </message>
- <message>
- <source>Shortcuts:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Open Browser Page</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Auto-Update</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Browse For Apps</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Home</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Category</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>App</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Search Here</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Search</source>
- <translation type="unfinished">بحث</translation>
- </message>
- <message>
- <source>View Recent Additions</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Browse By Category</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Size:</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Application Information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Platform:</source>
- <translation type="unfinished">المنصة:</translation>
- </message>
- <message>
- <source>Type:</source>
- <translation type="unfinished">
- </translation>
- </message>
- <message>
- <source>Show Similar Applications</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <source>Best Matches</source>