This commit is contained in:
Vinícius Moreira
2020-04-13 11:49:28 -03:00
parent 83aab1ff55
commit 01a60ea686
165 changed files with 12778 additions and 6171 deletions

View File

@@ -2,7 +2,7 @@ import os
from pathlib import Path
from bauh.api.constants import DESKTOP_ENTRIES_DIR, CONFIG_PATH, TEMP_DIR
from bauh.commons import user
from bauh.commons import user, resource
ROOT_DIR = os.path.dirname(os.path.abspath(__file__))
WEB_PATH = '{}/.local/share/bauh/web'.format(Path.home())
@@ -15,7 +15,7 @@ NODE_BIN_PATH = '{}/bin/node'.format(NODE_DIR_PATH)
NPM_BIN_PATH = '{}/bin/npm'.format(NODE_DIR_PATH)
NODE_MODULES_PATH = '{}/node_modules'.format(ENV_PATH)
NATIVEFIER_BIN_PATH = '{}/.bin/nativefier'.format(NODE_MODULES_PATH)
ELECTRON_PATH = '{}/.cache/electron'.format(Path.home())
ELECTRON_PATH = '{}/.cache/electron'.format(str(Path.home()))
ELECTRON_DOWNLOAD_URL = 'https://github.com/electron/electron/releases/download/v{version}/electron-v{version}-linux-{arch}.zip'
ELECTRON_SHA256_URL = 'https://github.com/electron/electron/releases/download/v{version}/SHASUMS256.txt'
URL_ENVIRONMENT_SETTINGS = 'https://raw.githubusercontent.com/vinifmor/bauh-files/master/web/environment.yml'
@@ -29,3 +29,6 @@ SUGGESTIONS_CACHE_FILE = '{}/suggestions.txt'.format(TEMP_PATH)
CONFIG_FILE = '{}/web.yml'.format(CONFIG_PATH)
URL_NATIVEFIER = 'https://github.com/jiahaog/nativefier/archive/v{version}.tar.gz'
def get_icon_path() -> str:
return resource.get_path('img/web.svg', ROOT_DIR)

View File

@@ -17,10 +17,11 @@ from colorama import Fore
from requests import exceptions, Response
from bauh.api.abstract.context import ApplicationContext
from bauh.api.abstract.controller import SoftwareManager, SearchResult
from bauh.api.abstract.controller import SoftwareManager, SearchResult, UpgradeRequirements
from bauh.api.abstract.disk import DiskCacheLoader
from bauh.api.abstract.handler import ProcessWatcher
from bauh.api.abstract.model import SoftwarePackage, PackageAction, PackageSuggestion, PackageUpdate, PackageHistory, \
from bauh.api.abstract.handler import ProcessWatcher, TaskManager
from bauh.api.abstract.model import SoftwarePackage, CustomSoftwareAction, PackageSuggestion, PackageUpdate, \
PackageHistory, \
SuggestionPriority, PackageStatus
from bauh.api.abstract.view import MessageType, MultipleSelectComponent, InputOption, SingleSelectComponent, \
SelectViewType, TextInputComponent, FormComponent, FileChooserComponent, ViewComponent, PanelComponent
@@ -28,9 +29,9 @@ from bauh.api.constants import DESKTOP_ENTRIES_DIR
from bauh.commons import resource, user
from bauh.commons.config import save_config
from bauh.commons.html import bold
from bauh.commons.system import ProcessHandler, get_dir_size, get_human_size_str
from bauh.commons.system import ProcessHandler, get_dir_size, get_human_size_str, SimpleProcess
from bauh.gems.web import INSTALLED_PATH, nativefier, DESKTOP_ENTRY_PATH_PATTERN, URL_FIX_PATTERN, ENV_PATH, UA_CHROME, \
SEARCH_INDEX_FILE, SUGGESTIONS_CACHE_FILE, ROOT_DIR, CONFIG_FILE, TEMP_PATH, FIXES_PATH
SEARCH_INDEX_FILE, SUGGESTIONS_CACHE_FILE, ROOT_DIR, CONFIG_FILE, TEMP_PATH, FIXES_PATH, ELECTRON_PATH
from bauh.gems.web.config import read_config
from bauh.gems.web.environment import EnvironmentUpdater, EnvironmentComponent
from bauh.gems.web.model import WebApplication
@@ -68,7 +69,12 @@ class WebApplicationManager(SoftwareManager):
self.env_thread = None
self.suggestions_downloader = suggestions_downloader
self.suggestions = {}
self.custom_actions = [CustomSoftwareAction(i18_label_key='web.custom_action.clean_env',
i18n_status_key='web.custom_action.clean_env.status',
manager=self,
manager_method='clean_environment',
icon_path=resource.get_path('img/web.svg', ROOT_DIR),
requires_root=False)]
def _get_lang_header(self) -> str:
try:
system_locale = locale.getdefaultlocale()
@@ -76,6 +82,34 @@ class WebApplicationManager(SoftwareManager):
except:
return 'en_US'
def clean_environment(self, root_password: str, watcher: ProcessWatcher) -> bool:
handler = ProcessHandler(watcher)
success = True
for path in (ENV_PATH, ELECTRON_PATH):
self.logger.info("Checking path '{}'".format(path))
if os.path.exists(path):
try:
self.logger.info('Removing path {}'.format(path))
res, output = handler.handle_simple(SimpleProcess(['rm', '-rf', path]))
if not res:
success = False
except:
watcher.print(traceback.format_exc())
success = False
if success:
watcher.show_message(title=self.i18n['success'].capitalize(),
body=self.i18n['web.custom_action.clean_env.success'],
type_=MessageType.INFO)
else:
watcher.show_message(title=self.i18n['error'].capitalize(),
body=self.i18n['web.custom_action.clean_env.failed'],
type_=MessageType.ERROR)
return success
def _get_app_name(self, url_no_protocol: str, soup: "BeautifulSoup") -> str:
name_tag = soup.head.find('meta', attrs={'name': 'application-name'})
name = name_tag.get('content') if name_tag else None
@@ -304,7 +338,7 @@ class WebApplicationManager(SoftwareManager):
def downgrade(self, pkg: SoftwarePackage, root_password: str, handler: ProcessWatcher) -> bool:
pass
def update(self, pkg: SoftwarePackage, root_password: str, watcher: ProcessWatcher) -> bool:
def upgrade(self, requirements: UpgradeRequirements, root_password: str, watcher: ProcessWatcher) -> bool:
pass
def uninstall(self, pkg: WebApplication, root_password: str, watcher: ProcessWatcher) -> bool:
@@ -408,7 +442,7 @@ class WebApplicationManager(SoftwareManager):
inp_desc = TextInputComponent(label=self.i18n['description'], value=app.description)
cat_ops = [InputOption(label=self.i18n['web.install.option.category.none'].capitalize(), value=0)]
cat_ops.extend([InputOption(label=self.i18n[c.lower()].capitalize(), value=c) for c in self.context.default_categories])
cat_ops.extend([InputOption(label=self.i18n.get('category.{}'.format(c.lower()), c).capitalize(), value=c) for c in self.context.default_categories])
def_cat = cat_ops[0]
@@ -760,23 +794,24 @@ class WebApplicationManager(SoftwareManager):
def requires_root(self, action: str, pkg: SoftwarePackage):
return False
def _update_env_settings(self):
self.env_settings = self.env_updater.read_settings()
def _update_env_settings(self, task_manager: TaskManager = None):
self.env_settings = self.env_updater.read_settings(task_manager)
def _download_suggestions(self):
downloader = SuggestionsDownloader(logger=self.logger, http_client=self.http_client)
def _download_suggestions(self, taskman: TaskManager = None):
downloader = SuggestionsDownloader(logger=self.logger, http_client=self.http_client, i18n=self.i18n, taskman=taskman)
self.suggestions = downloader.download()
if self.suggestions:
index_gen = SearchIndexGenerator(logger=self.logger)
Thread(target=index_gen.generate_index, args=(self.suggestions,), daemon=True).start()
def prepare(self):
self.env_thread = Thread(target=self._update_env_settings, daemon=True)
self.env_thread.start()
def prepare(self, task_manager: TaskManager, root_password: str, internet_available: bool):
if internet_available:
self.env_thread = Thread(target=self._update_env_settings, args=(task_manager,), daemon=True)
self.env_thread.start()
self.suggestions_downloader = Thread(target=self._download_suggestions, daemon=True)
self.suggestions_downloader.start()
self.suggestions_downloader = Thread(target=self._download_suggestions, args=(task_manager,), daemon=True)
self.suggestions_downloader.start()
def list_updates(self, internet_available: bool) -> List[PackageUpdate]:
pass
@@ -850,7 +885,7 @@ class WebApplicationManager(SoftwareManager):
self.suggestions_downloader.join(5)
suggestions = self.suggestions
else:
suggestions = SuggestionsDownloader(logger=self.logger, http_client=self.http_client).download()
suggestions = SuggestionsDownloader(logger=self.logger, http_client=self.http_client, i18n=self.i18n).download()
# cleaning memory
self.suggestions_downloader = None
@@ -897,7 +932,7 @@ class WebApplicationManager(SoftwareManager):
return res
def execute_custom_action(self, action: PackageAction, pkg: SoftwarePackage, root_password: str, watcher: ProcessWatcher) -> bool:
def execute_custom_action(self, action: CustomSoftwareAction, pkg: SoftwarePackage, root_password: str, watcher: ProcessWatcher) -> bool:
pass
def is_default_enabled(self) -> bool:
@@ -970,3 +1005,6 @@ class WebApplicationManager(SoftwareManager):
return True, None
except:
return False, [traceback.format_exc()]
def get_custom_actions(self) -> List[CustomSoftwareAction]:
return self.custom_actions

View File

@@ -11,7 +11,7 @@ import requests
import yaml
from bauh.api.abstract.download import FileDownloader
from bauh.api.abstract.handler import ProcessWatcher
from bauh.api.abstract.handler import ProcessWatcher, TaskManager
from bauh.api.abstract.view import MessageType
from bauh.api.http import HttpClient
from bauh.commons import system
@@ -19,7 +19,7 @@ from bauh.commons.html import bold
from bauh.commons.system import SimpleProcess, ProcessHandler
from bauh.gems.web import ENV_PATH, NODE_DIR_PATH, NODE_BIN_PATH, NODE_MODULES_PATH, NATIVEFIER_BIN_PATH, \
ELECTRON_PATH, ELECTRON_DOWNLOAD_URL, ELECTRON_SHA256_URL, URL_ENVIRONMENT_SETTINGS, NPM_BIN_PATH, NODE_PATHS, \
nativefier, URL_NATIVEFIER
nativefier, URL_NATIVEFIER, get_icon_path
from bauh.gems.web.model import WebApplication
from bauh.view.util.translation import I18n
@@ -243,20 +243,33 @@ class EnvironmentUpdater:
return res
def read_settings(self) -> dict:
def _finish_task_download_settings(self, task_man: TaskManager):
if task_man:
task_man.update_progress('web_down_sets', 100, None)
task_man.finish_task('web_down_sets')
def read_settings(self, task_man: TaskManager = None) -> dict:
try:
if task_man:
task_man.register_task('web_down_sets', self.i18n['web.task.download_settings'], get_icon_path())
task_man.update_progress('web_down_sets', 10, None)
res = self.http_client.get(URL_ENVIRONMENT_SETTINGS)
if not res:
self.logger.warning('Could not retrieve the environments settings from the cloud')
self._finish_task_download_settings(task_man)
return
try:
self._finish_task_download_settings(task_man)
return yaml.safe_load(res.content)
except yaml.YAMLError:
self.logger.error('Could not parse environment settings: {}'.format(res.text))
self._finish_task_download_settings(task_man)
return
except requests.exceptions.ConnectionError:
self._finish_task_download_settings(task_man)
return
def _check_and_fill_electron(self, pkg: WebApplication, env: dict, local_config: dict, x86_x64: bool, output: List[EnvironmentComponent]):

View File

@@ -145,3 +145,6 @@ class WebApplication(SoftwarePackage):
if config_dirs:
return config_dirs[0]
def supports_backup(self) -> bool:
return False

View File

@@ -0,0 +1,75 @@
gem.web.info=It allows to install Web applications on the system through their addresses ( URLs )
gem.web.install.warning=This app it is not officially distributed by its domain owner
web.custom_action.clean_env.failed=An error occurred during the installation environment cleaning
web.custom_action.clean_env.status=Cleaning the installation environment
web.custom_action.clean_env.success=Installation environment cleaned
web.custom_action.clean_env=Clean installation environment
web.env.checking=Checking the Web installation environment
web.env.error=It seems there are issues with the Web installation environment. It wil not be possible to install {}.
web.environment.install=Installing {}
web.info.01_url=URL
web.info.02_description=description
web.info.03_version=version
web.info.04_categories=categories
web.info.05_installation_dir=installation dir
web.info.06_desktop_entry=shortcut
web.info.07_exec_file=executable
web.info.08_icon_path=icon
web.info.09_size=size
web.info.10_config_dir=configuration dir
web.install.env_update.body=The following files must be downloaded and installed
web.install.env_update.title=Environment update
web.install.error=An error has happened during the {} installation
web.install.global_nativefier.unavailable={n} seems not to be installed on your system. It will not be possible to install {app}
web.install.nativefier.error.inner_dir=The app installation directory was not found in {}
web.install.nativefier.error.unknown=Have a look at the {} to identify the reason
web.install.option.allow_urls.label=Allow internal URLs
web.install.option.allow_urls.tip=It allows the application to internally open addresses / URLs outside its domain. e.g: outlook.live.com would be able to open account.microsoft.com
web.install.option.category.none=none
web.install.option.fullscreen.label=Open in fullscreen
web.install.option.fullscreen.tip=If the app should always be opened in fullscreen ( the Alt key opens the upper menu )
web.install.option.icon.label=Custom icon
web.install.option.ignore_certificate.label=Ignore certificate errors
web.install.option.ignore_certificate.tip=Certificate related errors will be ignored by the app
web.install.option.insecure.label=Allow insecure content
web.install.option.insecure.tip=It allows the execution of insecure content within the application
web.install.option.max.label=Open maximized
web.install.option.max.tip=If the app should always be opened maximized
web.install.option.nocache.label=No cache
web.install.option.nocache.tip=Session data will not be stored after the app is closed
web.install.option.noframe.label=No frame
web.install.option.noframe.tip=If the app should not have a frame
web.install.option.single.label=Single run
web.install.option.single.tip=It will not allow the app to be opened again if it is already opened
web.install.option.tray.default.label=Open and attach
web.install.option.tray.default.tip=The app icon will be attached to the system tray after being opened
web.install.option.tray.label=Tray mode
web.install.option.tray.min.label=Start minimized
web.install.option.tray.min.tip=The app will be started minimized as an icon in the system tray
web.install.option.tray.off.label=Off
web.install.option.tray.off.tip=Off
web.install.option.wicon.deducted.label=Deducted
web.install.option.wicon.deducted.tip=The icon will be deducted by {} during the installation
web.install.option.wicon.displayed.label=Displayed
web.install.option.wicon.displayed.tip=The icon displayed on the table will be used for the installation
web.install.option.wicon.label=Icon
web.install.options.advanced=advanced
web.install.options.basic=basic
web.install.options_dialog.title=Installation options
web.install.substatus.call_nativefier=Running {}
web.install.substatus.checking_fixes=Checking if there are published fixes
web.install.substatus.options=Waiting for the installation options
web.install.substatus.shortcut=Generating a menu shortcut
web.settings.electron.version.label=Electron version
web.settings.electron.version.tooltip=Defines an alternative Electron version to render the new installed apps
web.settings.env.nativefier.system.not_installed={} seems not to be installed on your system
web.settings.nativefier.env.tooltip=The Nativefier version installed on the isolated {app} environment will be used to install applications
web.settings.nativefier.env=environment
web.settings.nativefier.system.tooltip=The Nativefier version installed on your system will be used to install applications
web.settings.nativefier.system=system
web.settings.nativefier.tip=Defines which Nativefier version should be used to generate the Web applications
web.task.download_settings=Updating environment settings
web.task.suggestions=Downloading applications suggestions list
web.uninstall.error.install_dir.not_found=The installation directory {} was not found
web.uninstall.error.remove_dir=It was not possible to remove {}
web.waiting.env_updater=Updating environment

View File

@@ -1,54 +1,12 @@
gem.web.info=It allows to install Web applications on the system through they addresses ( URLs )
gem.web.info=It allows to install Web applications on the system through their addresses ( URLs )
gem.web.install.warning=This app it is not officially distributed by its domain owner
web.environment.install=Installing {}
web.waiting.env_updater=Updating environment
web.custom_action.clean_env.failed=An error occurred during the installation environment cleaning
web.custom_action.clean_env.status=Cleaning the installation environment
web.custom_action.clean_env.success=Installation environment cleaned
web.custom_action.clean_env=Clean installation environment
web.env.checking=Checking the Web installation environment
web.env.error=It seems there are issues with the Web installation environment. It wil not be possible to install {}.
web.install.env_update.title=Environment update
web.install.env_update.body=The following files must be downloaded and installed
web.install.options.basic=basic
web.install.options.advanced=advanced
web.install.options_dialog.title=Installation options
web.install.error=An error has happened during the {} installation
web.install.nativefier.error.unknown=Have a look at the {} to identify the reason
web.install.nativefier.error.inner_dir=The app installation directory was not found in {}
web.install.substatus.call_nativefier=Running {}
web.install.substatus.shortcut=Generating a menu shortcut
web.install.substatus.options=Waiting for the installation options
web.install.substatus.checking_fixes=Checking if there are published fixes
web.install.option.single.label=Single run
web.install.option.single.tip=It will not allow the app to be opened again if it is already opened
web.install.option.max.label=Open maximized
web.install.option.max.tip=If the app should always be opened maximized
web.install.option.fullscreen.label=Open in fullscreen
web.install.option.fullscreen.tip=If the app should always be opened in fullscreen ( the Alt key opens the upper menu )
web.install.option.noframe.label=No frame
web.install.option.noframe.tip=If the app should not have a frame
web.install.option.nocache.label=No cache
web.install.option.nocache.tip=Session data will not be stored after the app is closed
web.install.option.insecure.label=Allow insecure content
web.install.option.insecure.tip=It allows the execution of insecure content within the application
web.install.option.ignore_certificate.label=Ignore certificate errors
web.install.option.ignore_certificate.tip=Certificate related errors will be ignored by the app
web.install.option.allow_urls.label=Allow internal URLs
web.install.option.allow_urls.tip=It allows the application to internally open addresses / URLs outside its domain. e.g: outlook.live.com would be able to open account.microsoft.com
web.install.option.tray.label=Tray mode
web.install.option.tray.off.label=Off
web.install.option.tray.off.tip=Off
web.install.option.tray.default.label=Open and attach
web.install.option.tray.default.tip=The app icon will be attached to the system tray after being opened
web.install.option.tray.min.label=Start minimized
web.install.option.tray.min.tip=The app will be started minimized as an icon in the system tray
web.install.option.category.none=none
web.install.option.icon.label=Custom icon
web.install.option.wicon.label=Icon
web.install.option.wicon.deducted.label=Deducted
web.install.option.wicon.deducted.tip=The icon will be deducted by {} during the installation
web.install.option.wicon.displayed.label=Displayed
web.install.option.wicon.displayed.tip=The icon displayed on the table will be used for the installation
web.install.global_nativefier.unavailable={n} seems not to be installed on your system. It will not be possible to install {app}
web.uninstall.error.install_dir.not_found=The installation directory {} was not found
web.uninstall.error.remove_dir=It was not possible to remove {}
web.environment.install=Installing {}
web.info.01_url=URL
web.info.02_description=description
web.info.03_version=version
@@ -59,11 +17,59 @@ web.info.07_exec_file=executable
web.info.08_icon_path=icon
web.info.09_size=size
web.info.10_config_dir=configuration dir
web.install.env_update.body=The following files must be downloaded and installed
web.install.env_update.title=Environment update
web.install.error=An error has happened during the {} installation
web.install.global_nativefier.unavailable={n} seems not to be installed on your system. It will not be possible to install {app}
web.install.nativefier.error.inner_dir=The app installation directory was not found in {}
web.install.nativefier.error.unknown=Have a look at the {} to identify the reason
web.install.option.allow_urls.label=Allow internal URLs
web.install.option.allow_urls.tip=It allows the application to internally open addresses / URLs outside its domain. e.g: outlook.live.com would be able to open account.microsoft.com
web.install.option.category.none=none
web.install.option.fullscreen.label=Open in fullscreen
web.install.option.fullscreen.tip=If the app should always be opened in fullscreen ( the Alt key opens the upper menu )
web.install.option.icon.label=Custom icon
web.install.option.ignore_certificate.label=Ignore certificate errors
web.install.option.ignore_certificate.tip=Certificate related errors will be ignored by the app
web.install.option.insecure.label=Allow insecure content
web.install.option.insecure.tip=It allows the execution of insecure content within the application
web.install.option.max.label=Open maximized
web.install.option.max.tip=If the app should always be opened maximized
web.install.option.nocache.label=No cache
web.install.option.nocache.tip=Session data will not be stored after the app is closed
web.install.option.noframe.label=No frame
web.install.option.noframe.tip=If the app should not have a frame
web.install.option.single.label=Single run
web.install.option.single.tip=It will not allow the app to be opened again if it is already opened
web.install.option.tray.default.label=Open and attach
web.install.option.tray.default.tip=The app icon will be attached to the system tray after being opened
web.install.option.tray.label=Tray mode
web.install.option.tray.min.label=Start minimized
web.install.option.tray.min.tip=The app will be started minimized as an icon in the system tray
web.install.option.tray.off.label=Off
web.install.option.tray.off.tip=Off
web.install.option.wicon.deducted.label=Deducted
web.install.option.wicon.deducted.tip=The icon will be deducted by {} during the installation
web.install.option.wicon.displayed.label=Displayed
web.install.option.wicon.displayed.tip=The icon displayed on the table will be used for the installation
web.install.option.wicon.label=Icon
web.install.options.advanced=advanced
web.install.options.basic=basic
web.install.options_dialog.title=Installation options
web.install.substatus.call_nativefier=Running {}
web.install.substatus.checking_fixes=Checking if there are published fixes
web.install.substatus.options=Waiting for the installation options
web.install.substatus.shortcut=Generating a menu shortcut
web.settings.electron.version.label=Electron version
web.settings.electron.version.tooltip=Defines an alternative Electron version to render the new installed apps
web.settings.nativefier.env=environment
web.settings.nativefier.system=system
web.settings.env.nativefier.system.not_installed={} seems not to be installed on your system
web.settings.nativefier.env.tooltip=The Nativefier version installed on the isolated {app} environment will be used to install applications
web.settings.nativefier.env=environment
web.settings.nativefier.system.tooltip=The Nativefier version installed on your system will be used to install applications
web.settings.nativefier.system=system
web.settings.nativefier.tip=Defines which Nativefier version should be used to generate the Web applications
web.settings.env.nativefier.system.not_installed={} seems not to be installed on your system
web.task.download_settings=Updating environment settings
web.task.suggestions=Downloading applications suggestions list
web.uninstall.error.install_dir.not_found=The installation directory {} was not found
web.uninstall.error.remove_dir=It was not possible to remove {}
web.waiting.env_updater=Updating environment

View File

@@ -1,54 +1,12 @@
gem.web.info=Le permite instalar aplicaciones web a través de sus direcciones (URLs)
gem.web.install.warning=Esta aplicación no es distribuida oficialmente por el propietario del dominio
web.environment.install=Instalando {}
web.waiting.env_updater=Actualizando el ambiente
web.custom_action.clean_env.failed=Se produjo un error durante la limpieza del ambiente de instalación
web.custom_action.clean_env.status=Limpiando el ambiente de instalación
web.custom_action.clean_env.success=Ambiente de instalación limpio
web.custom_action.clean_env=Limpiar ambiente de instalación
web.env.checking=Verificando el ambiente de instalación web
web.env.error=Parece que hay problemas con el ambiente de instalación web. No será posible instalar {}.
web.install.env_update.title=Actualización del ambiente
web.install.env_update.body=Los siguientes archivos deben descargarse e instalarse
web.install.options.basic=básicas
web.install.options.advanced=avanzadas
web.install.options_dialog.title=Opciones de instalación
web.install.error=Ha ocurrido un error durante la instalación de {}
web.install.nativefier.error.unknown=Mire el {} para identificar la razón
web.install.nativefier.error.inner_dir=El directorio de instalación de la aplicación no se encontró en {}
web.install.substatus.call_nativefier=Ejecutando {}
web.install.substatus.shortcut=Generando un atajo de menú
web.install.substatus.options=Esperando las opciones de instalación
web.install.substatus.checking_fixes=Verificando si hay correcciones publicadas
web.install.option.single.label=Ejecución única
web.install.option.single.tip=No permitirá que la aplicación se abra nuevamente si ya está abierta
web.install.option.max.label=Abrir maximizado
web.install.option.max.tip=Si la aplicación siempre debe abrirse maximizada
web.install.option.fullscreen.label=Abrir en pantalla completa
web.install.option.fullscreen.tip=Si la aplicación siempre debe abrirse en pantalla completa ( la tecla Alt abre el menú superior )
web.install.option.noframe.label=Sin marco
web.install.option.noframe.tip=Si la aplicación no debe tener un marco
web.install.option.nocache.label=Sin cache
web.install.option.nocache.tip=Los datos de la sesión no se almacenarán después de cerrar la aplicación
web.install.option.insecure.label=Permitir contenido inseguro
web.install.option.insecure.tip=Permite la ejecución de contenido inseguro dentro de la aplicación
web.install.option.ignore_certificate.label=Ignorar errores de certificado
web.install.option.ignore_certificate.tip=Los errores relacionados con certificados serán ignorados por la aplicación
web.install.option.allow_urls.label=Permitir URL internas
web.install.option.allow_urls.tip=Permite que la aplicación abra internamente direcciones / URLs fuera de su dominio. Por ejemplo: outlook.live.com podría abrir account.microsoft.com
web.install.option.tray.label=Modo bandeja
web.install.option.tray.off.label=Apagado
web.install.option.tray.off.tip=Apagado
web.install.option.tray.default.label=Abrir y adjuntar
web.install.option.tray.default.tip=El icono de la aplicación se adjuntará a la bandeja del sistema después de abrirlo
web.install.option.tray.min.label=Iniciar minimizado
web.install.option.tray.min.tip=La aplicación se iniciará minimizada como un ícono en la bandeja del sistema
web.install.option.category.none=ninguna
web.install.option.icon.label=Icono personalizado
web.install.option.wicon.label=Icono
web.install.option.wicon.deducted.label=Deducido
web.install.option.wicon.deducted.tip=El {} deducirá el icono durante la instalación
web.install.option.wicon.displayed.label=Mostrado
web.install.option.wicon.displayed.tip=El icono mostrado en la tabla será utilizado para la instalación
web.install.global_nativefier.unavailable={n} parece no estar instalado en su sistema. No será posible instalar {app}
web.uninstall.error.install_dir.not_found=No se encontró el directorio de instalación {}
web.uninstall.error.remove_dir=No fue posible eliminar {}
web.environment.install=Instalando {}
web.info.01_url=URL
web.info.02_description=descripción
web.info.03_version=versión
@@ -59,11 +17,59 @@ web.info.07_exec_file=ejecutable
web.info.08_icon_path=icono
web.info.09_size=tamaño
web.info.10_config_dir=directorio de configuración
web.install.env_update.body=Los siguientes archivos deben descargarse e instalarse
web.install.env_update.title=Actualización del ambiente
web.install.error=Ha ocurrido un error durante la instalación de {}
web.install.global_nativefier.unavailable={n} parece no estar instalado en su sistema. No será posible instalar {app}
web.install.nativefier.error.inner_dir=El directorio de instalación de la aplicación no se encontró en {}
web.install.nativefier.error.unknown=Mire el {} para identificar la razón
web.install.option.allow_urls.label=Permitir URL internas
web.install.option.allow_urls.tip=Permite que la aplicación abra internamente direcciones / URLs fuera de su dominio. Por ejemplo: outlook.live.com podría abrir account.microsoft.com
web.install.option.category.none=ninguna
web.install.option.fullscreen.label=Abrir en pantalla completa
web.install.option.fullscreen.tip=Si la aplicación siempre debe abrirse en pantalla completa ( la tecla Alt abre el menú superior )
web.install.option.icon.label=Icono personalizado
web.install.option.ignore_certificate.label=Ignorar errores de certificado
web.install.option.ignore_certificate.tip=Los errores relacionados con certificados serán ignorados por la aplicación
web.install.option.insecure.label=Permitir contenido inseguro
web.install.option.insecure.tip=Permite la ejecución de contenido inseguro dentro de la aplicación
web.install.option.max.label=Abrir maximizado
web.install.option.max.tip=Si la aplicación siempre debe abrirse maximizada
web.install.option.nocache.label=Sin cache
web.install.option.nocache.tip=Los datos de la sesión no se almacenarán después de cerrar la aplicación
web.install.option.noframe.label=Sin marco
web.install.option.noframe.tip=Si la aplicación no debe tener un marco
web.install.option.single.label=Ejecución única
web.install.option.single.tip=No permitirá que la aplicación se abra nuevamente si ya está abierta
web.install.option.tray.default.label=Abrir y adjuntar
web.install.option.tray.default.tip=El icono de la aplicación se adjuntará a la bandeja del sistema después de abrirlo
web.install.option.tray.label=Modo bandeja
web.install.option.tray.min.label=Iniciar minimizado
web.install.option.tray.min.tip=La aplicación se iniciará minimizada como un ícono en la bandeja del sistema
web.install.option.tray.off.label=Apagado
web.install.option.tray.off.tip=Apagado
web.install.option.wicon.deducted.label=Deducido
web.install.option.wicon.deducted.tip=El {} deducirá el icono durante la instalación
web.install.option.wicon.displayed.label=Mostrado
web.install.option.wicon.displayed.tip=El icono mostrado en la tabla será utilizado para la instalación
web.install.option.wicon.label=Icono
web.install.options.advanced=avanzadas
web.install.options.basic=básicas
web.install.options_dialog.title=Opciones de instalación
web.install.substatus.call_nativefier=Ejecutando {}
web.install.substatus.checking_fixes=Verificando si hay correcciones publicadas
web.install.substatus.options=Esperando las opciones de instalación
web.install.substatus.shortcut=Generando un atajo de menú
web.settings.electron.version.label=Versión del Electron
web.settings.electron.version.tooltip=Define una versión alternativa del Electron para renderizar las nuevas aplicaciones instaladas
web.settings.nativefier.env=ambiente
web.settings.nativefier.system=sistema
web.settings.env.nativefier.system.not_installed={} parece no estar instalado en su sistema
web.settings.nativefier.env.tooltip=Se utilizará la versión de Nativefier instalada en el ambiente aislado de {app} para instalar aplicaciones
web.settings.nativefier.env=ambiente
web.settings.nativefier.system.tooltip=Se utilizará la versión de Nativefier instalada en su sistema para instalar aplicaciones
web.settings.nativefier.system=sistema
web.settings.nativefier.tip=Define qué versión de Nativefier debe usarse para generar las aplicaciones Web
web.settings.env.nativefier.system.not_installed={} parece no estar instalado en su sistema
web.task.download_settings=Actualizando configuraciones de ambiente
web.task.suggestions=Descargando la lista de sugerencias de aplicaciones
web.uninstall.error.install_dir.not_found=No se encontró el directorio de instalación {}
web.uninstall.error.remove_dir=No fue posible eliminar {}
web.waiting.env_updater=Actualizando el ambiente

View File

@@ -0,0 +1,75 @@
gem.web.info=It allows to install Web applications on the system through their addresses ( URLs )
gem.web.install.warning=This app it is not officially distributed by its domain owner
web.custom_action.clean_env.failed=An error occurred during the installation environment cleaning
web.custom_action.clean_env.status=Cleaning the installation environment
web.custom_action.clean_env.success=Installation environment cleaned
web.custom_action.clean_env=Clean installation environment
web.env.checking=Checking the Web installation environment
web.env.error=It seems there are issues with the Web installation environment. It wil not be possible to install {}.
web.environment.install=Installing {}
web.info.01_url=URL
web.info.02_description=description
web.info.03_version=version
web.info.04_categories=categories
web.info.05_installation_dir=installation dir
web.info.06_desktop_entry=shortcut
web.info.07_exec_file=executable
web.info.08_icon_path=icon
web.info.09_size=size
web.info.10_config_dir=configuration dir
web.install.env_update.body=The following files must be downloaded and installed
web.install.env_update.title=Environment update
web.install.error=An error has happened during the {} installation
web.install.global_nativefier.unavailable={n} seems not to be installed on your system. It will not be possible to install {app}
web.install.nativefier.error.inner_dir=The app installation directory was not found in {}
web.install.nativefier.error.unknown=Have a look at the {} to identify the reason
web.install.option.allow_urls.label=Allow internal URLs
web.install.option.allow_urls.tip=It allows the application to internally open addresses / URLs outside its domain. e.g: outlook.live.com would be able to open account.microsoft.com
web.install.option.category.none=none
web.install.option.fullscreen.label=Open in fullscreen
web.install.option.fullscreen.tip=If the app should always be opened in fullscreen ( the Alt key opens the upper menu )
web.install.option.icon.label=Custom icon
web.install.option.ignore_certificate.label=Ignore certificate errors
web.install.option.ignore_certificate.tip=Certificate related errors will be ignored by the app
web.install.option.insecure.label=Allow insecure content
web.install.option.insecure.tip=It allows the execution of insecure content within the application
web.install.option.max.label=Open maximized
web.install.option.max.tip=If the app should always be opened maximized
web.install.option.nocache.label=No cache
web.install.option.nocache.tip=Session data will not be stored after the app is closed
web.install.option.noframe.label=No frame
web.install.option.noframe.tip=If the app should not have a frame
web.install.option.single.label=Single run
web.install.option.single.tip=It will not allow the app to be opened again if it is already opened
web.install.option.tray.default.label=Open and attach
web.install.option.tray.default.tip=The app icon will be attached to the system tray after being opened
web.install.option.tray.label=Tray mode
web.install.option.tray.min.label=Start minimized
web.install.option.tray.min.tip=The app will be started minimized as an icon in the system tray
web.install.option.tray.off.label=Off
web.install.option.tray.off.tip=Off
web.install.option.wicon.deducted.label=Deducted
web.install.option.wicon.deducted.tip=The icon will be deducted by {} during the installation
web.install.option.wicon.displayed.label=Displayed
web.install.option.wicon.displayed.tip=The icon displayed on the table will be used for the installation
web.install.option.wicon.label=Icon
web.install.options.advanced=advanced
web.install.options.basic=basic
web.install.options_dialog.title=Installation options
web.install.substatus.call_nativefier=Running {}
web.install.substatus.checking_fixes=Checking if there are published fixes
web.install.substatus.options=Waiting for the installation options
web.install.substatus.shortcut=Generating a menu shortcut
web.settings.electron.version.label=Electron version
web.settings.electron.version.tooltip=Defines an alternative Electron version to render the new installed apps
web.settings.env.nativefier.system.not_installed={} seems not to be installed on your system
web.settings.nativefier.env.tooltip=The Nativefier version installed on the isolated {app} environment will be used to install applications
web.settings.nativefier.env=environment
web.settings.nativefier.system.tooltip=The Nativefier version installed on your system will be used to install applications
web.settings.nativefier.system=system
web.settings.nativefier.tip=Defines which Nativefier version should be used to generate the Web applications
web.task.download_settings=Updating environment settings
web.task.suggestions=Downloading applications suggestions list
web.uninstall.error.install_dir.not_found=The installation directory {} was not found
web.uninstall.error.remove_dir=It was not possible to remove {}
web.waiting.env_updater=Updating environment

View File

@@ -1,54 +1,12 @@
gem.web.info=Permite instalar aplicações Web através dos seus endereços ( URLs )
gem.web.install.warning=Esse aplicativo não é oficialmente distribuído pelo proprietário do domínio
web.environment.nativefier=Instalando {}
web.waiting.env_updater=Atualizando ambiente
web.custom_action.clean_env.failed=Ocorreu um problema durante a limpeza do ambiente de instalação
web.custom_action.clean_env.status=Limpando ambiente de instalação
web.custom_action.clean_env.success=Ambiente de instalação limpo
web.custom_action.clean_env=Limpar ambiente de instalação
web.env.checking=Verificando o ambiente de instalação Web
web.env.error=Parce que existem problemas com o ambiente de instalação Web. Não será possível instalar {}.
web.install.env_update.title=Atualização de ambiente
web.install.env_update.body=Os seguintes arquivo precisam ser baixados e instalados
web.install.options.basic=básicas
web.install.options.advanced=avançadas
web.install.options_dialog.title=Opções de instalação
wen.install.error=Ocorreu um erro durante a instalação de {}
web.install.nativefier.error.unknown=Dê uma olhada em {} para identificar o motivo
web.install.nativefier.error.inner_dir=O diretório de instalação do aplicativo não foi encontrado em {}
web.install.substatus.call_nativefier=Executando {}
web.install.substatus.shortcut=Criando um atalho no menu
web.install.substatus.options=Aguardando as opções de instalação
web.install.substatus.checking_fixes=Verificando se há correções publicadas
web.install.option.single.label=Execução única
web.install.option.single.tip=Não permitirá que o aplicativo seja aberto novamente caso o mesmo já esteja
web.install.option.max.label=Abrir maximizado
web.install.option.max.tip=Se o aplicativo deve sempre ser aberto maximizado
web.install.option.fullscreen.label=Abrir em tela cheia
web.install.option.fullscreen.tip=Se o aplicativo sempre deve ser aberto em tela cheia ( a tecla Alt abre o menu superior )
web.install.option.noframe.label=Sem moldura
web.install.option.noframe.tip=Se o aplicativo não deve ter uma moldura
web.install.option.nocache.label=Sem cache
web.install.option.nocache.tip=Dados de sessão não serão armazenados após o aplicativo ser fechado
web.install.option.insecure.label=Permitir conteúdo não confiável
web.install.option.insecure.tip=Permite a execução de conteúdo não confiável dentro do aplicativo
web.install.option.ignore_certificate.label=Ignorar erros de certificado
web.install.option.ignore_certificate.tip=Erros associados a certificados serão ignorados pelo aplicativo
web.install.option.allow_urls.label=Permitir URLs internas
web.install.option.allow_urls.tip=Permite que o aplicativo abra internamente endereços / URLs fora do seu domínio. Exemplo: outlook.live.com conseguiria abrir account.microsoft.com
web.install.option.tray.label=Modo bandeja
web.install.option.tray.off.label=Desligado
web.install.option.tray.off.tip=Desligado
web.install.option.tray.default.label=Abrir e anexar
web.install.option.tray.default.tip=O ícone do aplicativo será anexado a bandeja do sistema após aberto
web.install.option.tray.min.label=Iniciar minimizado
web.install.option.tray.min.tip=O aplicativo será iniciado minimizado como um ícone da bandeja do sistema
web.install.option.category.none=nenhuma
web.install.option.icon.label=Ícone alternativo
web.install.option.wicon.label=Ícone
web.install.option.wicon.deducted.label=Deduzido
web.install.option.wicon.deducted.tip=O ícone será deduzido pelo {} durante a instalação
web.install.option.wicon.displayed.label=Exibido
web.install.option.wicon.displayed.tip=O ícone exibido na tabela será utilizado para a instalação
web.install.global_nativefier.unavailable={n} não parece estar instalado no seu sistema. Não será possível instalar {app}
web.uninstall.error.install_dir.not_found=O diretório de instalação {} não foi encontrado
web.uninstall.error.remove=Não foi possível remover {}
web.environment.nativefier=Instalando {}
web.info.01_url=URL
web.info.02_description=descrição
web.info.03_version=versão
@@ -59,11 +17,59 @@ web.info.07_exec_file=executável
web.info.08_icon_path=ícone
web.info.09_size=tamanho
web.info.10_config_dir=diretório de configuração
web.install.env_update.body=Os seguintes arquivo precisam ser baixados e instalados
web.install.env_update.title=Atualização de ambiente
web.install.global_nativefier.unavailable={n} não parece estar instalado no seu sistema. Não será possível instalar {app}
web.install.nativefier.error.inner_dir=O diretório de instalação do aplicativo não foi encontrado em {}
web.install.nativefier.error.unknown=Dê uma olhada em {} para identificar o motivo
web.install.option.allow_urls.label=Permitir URLs internas
web.install.option.allow_urls.tip=Permite que o aplicativo abra internamente endereços / URLs fora do seu domínio. Exemplo: outlook.live.com conseguiria abrir account.microsoft.com
web.install.option.category.none=nenhuma
web.install.option.fullscreen.label=Abrir em tela cheia
web.install.option.fullscreen.tip=Se o aplicativo sempre deve ser aberto em tela cheia ( a tecla Alt abre o menu superior )
web.install.option.icon.label=Ícone alternativo
web.install.option.ignore_certificate.label=Ignorar erros de certificado
web.install.option.ignore_certificate.tip=Erros associados a certificados serão ignorados pelo aplicativo
web.install.option.insecure.label=Permitir conteúdo não confiável
web.install.option.insecure.tip=Permite a execução de conteúdo não confiável dentro do aplicativo
web.install.option.max.label=Abrir maximizado
web.install.option.max.tip=Se o aplicativo deve sempre ser aberto maximizado
web.install.option.nocache.label=Sem cache
web.install.option.nocache.tip=Dados de sessão não serão armazenados após o aplicativo ser fechado
web.install.option.noframe.label=Sem moldura
web.install.option.noframe.tip=Se o aplicativo não deve ter uma moldura
web.install.option.single.label=Execução única
web.install.option.single.tip=Não permitirá que o aplicativo seja aberto novamente caso o mesmo já esteja
web.install.option.tray.default.label=Abrir e anexar
web.install.option.tray.default.tip=O ícone do aplicativo será anexado a bandeja do sistema após aberto
web.install.option.tray.label=Modo bandeja
web.install.option.tray.min.label=Iniciar minimizado
web.install.option.tray.min.tip=O aplicativo será iniciado minimizado como um ícone da bandeja do sistema
web.install.option.tray.off.label=Desligado
web.install.option.tray.off.tip=Desligado
web.install.option.wicon.deducted.label=Deduzido
web.install.option.wicon.deducted.tip=O ícone será deduzido pelo {} durante a instalação
web.install.option.wicon.displayed.label=Exibido
web.install.option.wicon.displayed.tip=O ícone exibido na tabela será utilizado para a instalação
web.install.option.wicon.label=Ícone
web.install.options.advanced=avançadas
web.install.options.basic=básicas
web.install.options_dialog.title=Opções de instalação
web.install.substatus.call_nativefier=Executando {}
web.install.substatus.checking_fixes=Verificando se há correções publicadas
web.install.substatus.options=Aguardando as opções de instalação
web.install.substatus.shortcut=Criando um atalho no menu
web.settings.electron.version.label=Versão do Electron
web.settings.electron.version.tooltip=Define uma versão alternativa do Electron para renderizar os novos aplicativos instalados
web.settings.nativefier.env=ambiente
web.settings.nativefier.system=sistema
web.settings.env.nativefier.system.not_installed={} não parece estar instalado no seu sistema
web.settings.nativefier.env.tooltip=A versão do Nativefier instalada no ambiente isolado do {app} será utilizada para instalar aplicativos
web.settings.nativefier.env=ambiente
web.settings.nativefier.system.tooltip=A versão do Nativefier instalada no seu sistema será utilizada para instalar aplicativos
web.settings.nativefier.system=sistema
web.settings.nativefier.tip=Define qual versão do Nativefier será utilizada para gerar os aplicativos Web
web.settings.env.nativefier.system.not_installed={} não parece estar instalado no seu sistema
web.task.download_settings=Atualizando configurações de ambiente
web.task.suggestions=Baixando lista de sugestões de aplicativos
web.uninstall.error.install_dir.not_found=O diretório de instalação {} não foi encontrado
web.uninstall.error.remove=Não foi possível remover {}
web.waiting.env_updater=Atualizando ambiente
wen.install.error=Ocorreu um erro durante a instalação de {}

View File

@@ -1,54 +1,12 @@
gem.web.info=Позволяет устанавливать веб-приложения
gem.web.info=Позволяет устанавливать веб-приложения
gem.web.install.warning=Это приложение официально не поддерживается владельцем домена
web.environment.install=Устанавливается {}
web.waiting.env_updater=Обнавляется Веб-среда
web.custom_action.clean_env=Очистка среды установки
web.custom_action.clean_env.failed=Произошла ошибка при очистке среды установки
web.custom_action.clean_env.status=Среда установки будет очищена
web.custom_action.clean_env.success=Среда установки очищена!
web.env.checking=Проверка Веб-среды
web.env.error=Проблемы с Веб-средой. Невозможно установить {}.
web.install.env_update.title=Обновление Веб-среды
web.install.env_update.body=Следующие файлы должны быть загружены и установлены
web.install.options.basic=базовые
web.install.options.advanced=расширенные
web.install.options_dialog.title=опции установки
web.install.error=Произошла ошибка во время установки {}
web.install.nativefier.error.unknown=Проверьте {} что-бы определить причину
web.install.nativefier.error.inner_dir=Каталог установки приложения не был найден в {}
web.install.substatus.call_nativefier=Работает {}
web.install.substatus.shortcut=Создается ярлык в меню
web.install.substatus.options=Ожидание опций установки
web.install.substatus.checking_fixes=Проверка опубликованных исправлений
web.install.option.single.label=НЕ запускать повтороно
web.install.option.single.tip=Эта опция не позволит приложению запуститься, если оно уже работает
web.install.option.max.label=Запускать развернутым
web.install.option.max.tip= Окно приложения запустится развернутым
web.install.option.fullscreen.label=Запускать во весь экран
web.install.option.fullscreen.tip=Приложение будет запущено во весь экран ( клавиша Alt открывает верхнее меню )
web.install.option.noframe.label=Без рамки
web.install.option.noframe.tip=Приложение будет запущено без рамки окна
web.install.option.nocache.label=без кэша
web.install.option.nocache.tip=Данные сессии не будут сохранены после того, как приложение будет закрыто
web.install.option.insecure.label=Разрешить небезопасное содержимое
web.install.option.insecure.tip=Позволяет выполнять незащищенное содержимое внутри приложения
web.install.option.ignore_certificate.label=Игнорировать ошибки сертификата
web.install.option.ignore_certificate.tip=Ошибки, связанные с сертификатами, будут игнорироваться
web.install.option.allow_urls.label=Разрешить внутренние URL-адреса
web.install.option.allow_urls.tip=Позволяет приложению открывать внешние адреса / URL-адреса за пределами своей области. например: outlook.live.com сможет открыть account.microsoft.com
web.install.option.tray.label=Режим лотка
web.install.option.tray.off.label=Выкл
web.install.option.tray.off.tip=Выкл
web.install.option.tray.default.label=Запустить и прикрепить
web.install.option.tray.default.tip=Значок приложения будет прикреплен к панели задач после запуска
web.install.option.tray.min.label=Запускать свернутым
web.install.option.tray.min.tip=Приложение будет запущено свернутым в значок системного лотка
web.install.option.category.none=нет
web.install.option.icon.label=Пользовательский значок
web.install.option.wicon.label=Значок
web.install.option.wicon.deducted.label=Значек приложения
web.install.option.wicon.deducted.tip=Значек будет взят из {} в процессе установки
web.install.option.wicon.displayed.label=Отображать
web.install.option.wicon.displayed.tip=Значок, отображаемый на столе, будет использоваться для установки
web.install.global_nativefier.unavailable={n} не установлен в вашей системе, что не позволит установить {app}
web.uninstall.error.install_dir.not_found=Каталог установки {} не найден
web.uninstall.error.remove_dir=Не удалось удалить {}
web.environment.install=Устанавливается {}
web.info.01_url=URL
web.info.02_description=описание
web.info.03_version=версия
@@ -56,14 +14,62 @@ web.info.04_categories=категории
web.info.05_installation_dir=каталог установки
web.info.06_desktop_entry=ярлык
web.info.07_exec_file=исполняемый
web.info.08_icon_path=значек
web.info.08_icon_path=значок
web.info.09_size=размер
web.info.10_config_dir=каталог конфигурационных файлов
web.install.env_update.body=Следующие файлы должны быть загружены и установлены
web.install.env_update.title=Обновление Веб-среды
web.install.error=Произошла ошибка во время установки {}
web.install.global_nativefier.unavailable={n} не установлен в вашей системе, что не позволит установить {app}
web.install.nativefier.error.inner_dir=Каталог установки приложения не был найден в {}
web.install.nativefier.error.unknown=Проверьте {} что-бы определить причину
web.install.option.allow_urls.label=Разрешить внутренние URL-адреса
web.install.option.allow_urls.tip=Позволяет приложению открывать внешние адреса / URL-адреса за пределами своей области. например: outlook.live.com сможет открыть account.microsoft.com
web.install.option.category.none=нет
web.install.option.fullscreen.label=Запускать во весь экран
web.install.option.fullscreen.tip=Приложение будет запущено во весь экран ( клавиша Alt открывает верхнее меню )
web.install.option.icon.label=Пользовательский значок
web.install.option.ignore_certificate.label=Игнорировать ошибки сертификата
web.install.option.ignore_certificate.tip=Ошибки, связанные с сертификатами, будут игнорироваться
web.install.option.insecure.label=Разрешить небезопасное содержимое
web.install.option.insecure.tip=Позволяет выполнять незащищенное содержимое внутри приложения
web.install.option.max.label=Запускать развернутым
web.install.option.max.tip=Окно приложения запустится развернутым
web.install.option.nocache.label=без кэша
web.install.option.nocache.tip=Данные сессии не будут сохранены после того, как приложение будет закрыто
web.install.option.noframe.label=Без рамки
web.install.option.noframe.tip=Приложение будет запущено без рамки окна
web.install.option.single.label=Не запускать повтороно
web.install.option.single.tip=Эта опция не позволит приложению запуститься, если оно уже работает
web.install.option.tray.default.label=Запустить и прикрепить
web.install.option.tray.default.tip=Значок приложения будет прикреплен к панели задач после запуска
web.install.option.tray.label=Режим лотка
web.install.option.tray.min.label=Запускать свернутым
web.install.option.tray.min.tip=Приложение будет запущено свернутым в значок системного лотка
web.install.option.tray.off.label=Выкл
web.install.option.tray.off.tip=Выкл
web.install.option.wicon.deducted.label=Значок приложения
web.install.option.wicon.deducted.tip=Значок будет взят из {} в процессе установки
web.install.option.wicon.displayed.label=Отображать
web.install.option.wicon.displayed.tip=Значок, отображаемый на столе, будет использоваться для установки
web.install.option.wicon.label=Значок
web.install.options.advanced=расширенные
web.install.options.basic=базовые
web.install.options_dialog.title=опции установки
web.install.substatus.call_nativefier=Работает {}
web.install.substatus.checking_fixes=Проверка опубликованных исправлений
web.install.substatus.options=Ожидание опций установки
web.install.substatus.shortcut=Создается ярлык в меню
web.settings.electron.version.label=версия Electron
web.settings.electron.version.tooltip=Указывает альтернативный вариант Electron для визуализации устанавливаемых приложений
web.settings.nativefier.env=из Веб-среды
web.settings.nativefier.system=Из системы
web.settings.nativefier.env.tooltip= Будет использоваться версия Nativefier установленная в изолированную Веб-среду {app}
web.settings.nativefier.system.tooltip= Будет использоваться версия Nativefier установленная в Вашей системе
web.settings.nativefier.tip=Определяет, какие Nativefier версии должны быдут использованы для установки веб-приложений
web.settings.env.nativefier.system.not_installed={} не установлен в Вашей системе
web.settings.nativefier.env=из Веб-среды
web.settings.nativefier.env.tooltip=Будет использоваться версия Nativefier установленная в изолированную Веб-среду {app}
web.settings.nativefier.system=Из системы
web.settings.nativefier.system.tooltip=Будет использоваться версия Nativefier установленная в Вашей системе
web.settings.nativefier.tip=Определяет, какие Nativefier версии должны быдут использованы для установки веб-приложений
web.task.download_settings=Updating environment settings
web.task.suggestions=Downloading applications suggestions list
web.uninstall.error.install_dir.not_found=Каталог установки {} не найден
web.uninstall.error.remove_dir=Не удалось удалить {}
web.waiting.env_updater=Обнавляется Веб-среда

View File

@@ -5,18 +5,31 @@ from pathlib import Path
import requests
import yaml
from bauh.api.abstract.handler import TaskManager
from bauh.api.http import HttpClient
from bauh.gems.web import URL_SUGGESTIONS, TEMP_PATH, SEARCH_INDEX_FILE, SUGGESTIONS_CACHE_FILE
from bauh.gems.web import URL_SUGGESTIONS, TEMP_PATH, SEARCH_INDEX_FILE, SUGGESTIONS_CACHE_FILE, get_icon_path
from bauh.view.util.translation import I18n
class SuggestionsDownloader:
def __init__(self, http_client: HttpClient, logger: logging.Logger):
def __init__(self, http_client: HttpClient, logger: logging.Logger, i18n: I18n, taskman: TaskManager = None):
super(SuggestionsDownloader, self).__init__()
self.http_client = http_client
self.logger = logger
self.taskman = taskman
self.i18n = i18n
def _finish_task(self):
if self.taskman:
self.taskman.update_progress('web_sugs', 100, None)
self.taskman.finish_task('web_sugs')
def download(self) -> dict:
if self.taskman:
self.taskman.register_task('web_sugs', self.i18n['web.task.suggestions'], get_icon_path())
self.taskman.update_progress('web_sugs', 10, None)
self.logger.info("Reading suggestions from {}".format(URL_SUGGESTIONS))
try:
suggestions = self.http_client.get_yaml(URL_SUGGESTIONS, session=False)
@@ -28,8 +41,10 @@ class SuggestionsDownloader:
except (requests.exceptions.ConnectionError, requests.exceptions.ConnectTimeout):
self.logger.warning("Internet seems to be off: it was not possible to retrieve the suggestions")
self._finish_task()
return {}
self._finish_task()
return suggestions