No more translations

This commit is contained in:
Alessio Sergi 2015-05-01 19:51:15 +02:00
parent bcdaa089bb
commit eaa8e39771
40 changed files with 251 additions and 2167 deletions

View File

@ -10,4 +10,3 @@ include glances/outputs/static/js/*.js
include man/glances.1
recursive-include docs images/*.png glances-doc.html
recursive-include glances *.py
recursive-include i18n *.mo

1
NEWS
View File

@ -13,6 +13,7 @@ Changes:
* The default key bindings have been changed to:
- 'u': sort processes by USER
- 'U': show cumulative network I/O
* No more translations
Enhancements and new features:

View File

@ -25,8 +25,6 @@ __author__ = 'Nicolas Hennion <nicolas@nicolargo.com>'
__license__ = 'LGPL'
# Import system lib
import gettext
import locale
import platform
import signal
import sys
@ -40,7 +38,6 @@ except ImportError:
# Import Glances libs
# Note: others Glances libs will be imported optionally
from glances.core.glances_globals import gettext_domain, locale_dir
from glances.core.glances_logging import logger
from glances.core.glances_main import GlancesMain
@ -97,18 +94,6 @@ def main():
platform.python_version(),
__psutil_version))
# Setup translations
try:
locale.setlocale(locale.LC_ALL, '')
except locale.Error:
# Issue #517
# Setting LC_ALL to '' should not generate an error unless LC_ALL is not
# defined in the user environment, which can be the case when used via SSH.
# So simply skip this error, as python will use the C locale by default.
logger.warning("No locale LC_ALL variable found. Use the default C locale.")
pass
gettext.install(gettext_domain, locale_dir)
# Share global var
global core, standalone, client, server, webserver
@ -175,7 +160,7 @@ def main():
server = GlancesServer(cached_time=core.cached_time,
config=core.get_config(),
args=args)
print(_("Glances server is running on {0}:{1}").format(args.bind_address, args.port))
print('Glances server is running on {0}:{1}'.format(args.bind_address, args.port))
# Set the server login/password (if -P/--password tag)
if args.password != "":

View File

@ -111,7 +111,7 @@ class GlancesClient(object):
# Fallback to SNMP
self.client_mode = 'snmp'
logger.error("Connection to Glances server failed: {0}".format(err))
fallbackmsg = _("No Glances server found. Trying fallback to SNMP...")
fallbackmsg = 'No Glances server found. Trying fallback to SNMP...'
if not self.return_to_browser:
print(fallbackmsg)
else:

View File

@ -160,13 +160,15 @@ class GlancesClientBrowser(object):
# Connection can take time
# Display a popup
self.screen.display_popup(_("Connect to %s:%s" % (v['name'], v['port'])), duration=1)
self.screen.display_popup(
'Connect to {0}:{1}'.format(v['name'], v['port']), duration=1)
# A password is needed to access to the server's stats
if self.get_servers_list()[self.screen.active_server]['password'] is None:
from hashlib import sha256
# Display a popup to enter password
clear_password = self.screen.display_popup(_("Password needed for %s: " % v['name']), is_input=True)
clear_password = self.screen.display_popup(
'Password needed for {0}: '.format(v['name']), is_input=True)
# Hash with SHA256
encoded_password = sha256(clear_password.encode('utf-8')).hexdigest()
# Store the password for the selected server
@ -188,7 +190,9 @@ class GlancesClientBrowser(object):
# Test if client and server are in the same major version
if not client.login():
self.screen.display_popup(_("Sorry, cannot connect to %s (see log file for additional information)" % v['name']))
self.screen.display_popup(
"Sorry, cannot connect to '{0}'\n"
"See 'glances.log' for more details".format(v['name']))
# Set the ONLINE status for the selected server
self.set_in_selected('status', 'OFFLINE')

View File

@ -51,14 +51,3 @@ exports_path = os.path.realpath(os.path.join(work_path, '..', 'exports'))
sys_path = sys.path[:]
sys.path.insert(1, plugins_path)
sys.path.insert(1, exports_path)
def get_locale_path(paths):
for path in paths:
if os.path.exists(path):
return path
# i18n
gettext_domain = appname
i18n_path = os.path.realpath(os.path.join(work_path, '..', '..', 'i18n'))
sys_i18n_path = os.path.join(sys_prefix, 'share', 'locale')
locale_dir = get_locale_path([i18n_path, sys_i18n_path])

View File

@ -96,101 +96,103 @@ Start the client browser (browser mode):\n\
parser.add_argument(
'-V', '--version', action='version', version=_version)
parser.add_argument('-d', '--debug', action='store_true', default=False,
dest='debug', help=_('Enable debug mode'))
dest='debug', help='enable debug mode')
parser.add_argument('-C', '--config', dest='conf_file',
help=_('path to the configuration file'))
help='path to the configuration file')
# Enable or disable option on startup
parser.add_argument('--disable-network', action='store_true', default=False,
dest='disable_network', help=_('disable network module'))
dest='disable_network', help='disable network module')
parser.add_argument('--disable-ip', action='store_true', default=False,
dest='disable_ip', help=_('disable IP module'))
dest='disable_ip', help='disable IP module')
parser.add_argument('--disable-diskio', action='store_true', default=False,
dest='disable_diskio', help=_('disable disk I/O module'))
dest='disable_diskio', help='disable disk I/O module')
parser.add_argument('--disable-fs', action='store_true', default=False,
dest='disable_fs', help=_('disable filesystem module'))
dest='disable_fs', help='disable filesystem module')
parser.add_argument('--disable-sensors', action='store_true', default=False,
dest='disable_sensors', help=_('disable sensors module'))
dest='disable_sensors', help='disable sensors module')
parser.add_argument('--disable-hddtemp', action='store_true', default=False,
dest='disable_hddtemp', help=_('disable HD Temperature module'))
dest='disable_hddtemp', help='disable HD temperature module')
parser.add_argument('--disable-raid', action='store_true', default=False,
dest='disable_raid', help=_('disable RAID module'))
dest='disable_raid', help='disable RAID module')
parser.add_argument('--disable-docker', action='store_true', default=False,
dest='disable_docker', help=_('disable Docker module'))
parser.add_argument('--disable-left-sidebar', action='store_true', default=False,
dest='disable_left_sidebar', help=_('disable network, disk io, FS and sensors modules (need Py3Sensors lib)'))
dest='disable_docker', help='disable Docker module')
parser.add_argument('--disable-left-sidebar', action='store_true',
default=False, dest='disable_left_sidebar',
help='disable network, disk I/O, FS and sensors modules (py3sensors needed)')
parser.add_argument('--disable-process', action='store_true', default=False,
dest='disable_process', help=_('disable process module'))
dest='disable_process', help='disable process module')
parser.add_argument('--disable-log', action='store_true', default=False,
dest='disable_log', help=_('disable log module'))
dest='disable_log', help='disable log module')
parser.add_argument('--disable-quicklook', action='store_true', default=False,
dest='disable_quicklook', help=_('disable quicklook module'))
dest='disable_quicklook', help='disable quick look module')
parser.add_argument('--disable-bold', action='store_false', default=True,
dest='disable_bold', help=_('disable bold mode in the terminal'))
dest='disable_bold', help='disable bold mode in the terminal')
parser.add_argument('--enable-process-extended', action='store_true', default=False,
dest='enable_process_extended', help=_('enable extended stats on top process'))
dest='enable_process_extended', help='enable extended stats on top process')
parser.add_argument('--enable-history', action='store_true', default=False,
dest='enable_history', help=_('enable the history mode (need MatPlotLib lib)'))
dest='enable_history', help='enable the history mode (matplotlib needed)')
parser.add_argument('--path-history', default=tempfile.gettempdir(),
dest='path_history', help=_('Set the export path for graph history'))
dest='path_history', help='set the export path for graph history')
# Export modules feature
parser.add_argument('--export-csv', default=None,
dest='export_csv', help=_('export stats to a CSV file'))
dest='export_csv', help='export stats to a CSV file')
parser.add_argument('--export-influxdb', action='store_true', default=False,
dest='export_influxdb', help=_('export stats to an InfluxDB server (need InfluDB lib)'))
dest='export_influxdb', help='export stats to an InfluxDB server (influxdb needed)')
parser.add_argument('--export-statsd', action='store_true', default=False,
dest='export_statsd', help=_('export stats to a Statsd server (need StatsD lib)'))
parser.add_argument('--export-rabbitmq', action='store_true', default=False, dest='export_rabbitmq', help=_('export stats to rabbitmq broker (need pika lib or python3-pika lib)'))
dest='export_statsd', help='export stats to a StatsD server (statsd needed)')
parser.add_argument('--export-rabbitmq', action='store_true', default=False,
dest='export_rabbitmq', help='export stats to rabbitmq broker (pika needed)')
# Client/Server option
parser.add_argument('-c', '--client', dest='client',
help=_('connect to a Glances server by IPv4/IPv6 address or hostname'))
help='connect to a Glances server by IPv4/IPv6 address or hostname')
parser.add_argument('-s', '--server', action='store_true', default=False,
dest='server', help=_('run Glances in server mode'))
dest='server', help='run Glances in server mode')
parser.add_argument('--browser', action='store_true', default=False,
dest='browser', help=_('start the client browser (list of servers)'))
dest='browser', help='start the client browser (list of servers)')
parser.add_argument('--disable-autodiscover', action='store_true', default=False,
dest='disable_autodiscover', help=_('disable autodiscover feature'))
dest='disable_autodiscover', help='disable autodiscover feature')
parser.add_argument('-p', '--port', default=None, type=int, dest='port',
help=_('define the client/server TCP port [default: {0}]').format(self.server_port))
help='define the client/server TCP port [default: {0}]'.format(self.server_port))
parser.add_argument('-B', '--bind', default='0.0.0.0', dest='bind_address',
help=_('bind server to the given IPv4/IPv6 address or hostname'))
help='bind server to the given IPv4/IPv6 address or hostname')
parser.add_argument('--password', action='store_true', default=False, dest='password_prompt',
help=_('define a client/server password'))
help='define a client/server password')
parser.add_argument('--snmp-community', default='public', dest='snmp_community',
help=_('SNMP community'))
help='SNMP community')
parser.add_argument('--snmp-port', default=161, type=int,
dest='snmp_port', help=_('SNMP port'))
dest='snmp_port', help='SNMP port')
parser.add_argument('--snmp-version', default='2c', dest='snmp_version',
help=_('SNMP version (1, 2c or 3)'))
help='SNMP version (1, 2c or 3)')
parser.add_argument('--snmp-user', default='private', dest='snmp_user',
help=_('SNMP username (only for SNMPv3)'))
help='SNMP username (only for SNMPv3)')
parser.add_argument('--snmp-auth', default='password', dest='snmp_auth',
help=_('SNMP authentication key (only for SNMPv3)'))
help='SNMP authentication key (only for SNMPv3)')
parser.add_argument('--snmp-force', action='store_true', default=False,
dest='snmp_force', help=_('force SNMP mode'))
dest='snmp_force', help='force SNMP mode')
parser.add_argument('-t', '--time', default=self.refresh_time, type=float,
dest='time', help=_('set refresh time in seconds [default: {0} sec]').format(self.refresh_time))
dest='time', help='set refresh time in seconds [default: {0} sec]'.format(self.refresh_time))
parser.add_argument('-w', '--webserver', action='store_true', default=False,
dest='webserver', help=_('run Glances in web server mode (need Bootle lib)'))
dest='webserver', help='run Glances in web server mode (bottle needed)')
# Display options
parser.add_argument('-q', '--quiet', default=False, action='store_true',
dest='quiet', help=_('Do not display the Curse interface'))
dest='quiet', help='do not display the curses interface')
parser.add_argument('-f', '--process-filter', default=None, type=str,
dest='process_filter', help=_('set the process filter pattern (regular expression)'))
dest='process_filter', help='set the process filter pattern (regular expression)')
parser.add_argument('--process-short-name', action='store_true', default=False,
dest='process_short_name', help=_('force short name for processes name'))
dest='process_short_name', help='force short name for processes name')
if not is_windows:
parser.add_argument('--hide-kernel-threads', action='store_true', default=False,
dest='no_kernel_threads', help=_('hide kernel threads in process list'))
dest='no_kernel_threads', help='hide kernel threads in process list')
parser.add_argument('--tree', action='store_true', default=False,
dest='process_tree', help=_('display processes as a tree'))
dest='process_tree', help='display processes as a tree')
parser.add_argument('-b', '--byte', action='store_true', default=False,
dest='byte', help=_('display network rate in byte per second'))
dest='byte', help='display network rate in byte per second')
parser.add_argument('-1', '--percpu', action='store_true', default=False,
dest='percpu', help=_('start Glances in per CPU mode'))
dest='percpu', help='start Glances in per CPU mode')
parser.add_argument('--fs-free-space', action='store_false', default=False,
dest='fs_free_space', help=_('display FS free space instead of used'))
dest='fs_free_space', help='display FS free space instead of used')
parser.add_argument('--theme-white', action='store_true', default=False,
dest='theme_white', help=_('optimize display colors for white background'))
dest='theme_white', help='optimize display colors for white background')
return parser
@ -228,12 +230,11 @@ Start the client browser (browser mode):\n\
# Interactive or file password
if args.server:
args.password = self.__get_password(
description=_(
"Define the password for the Glances server"),
description='Define the password for the Glances server',
confirm=True)
elif args.client:
args.password = self.__get_password(
description=_("Enter the Glances server password"),
description='Enter the Glances server password',
clear=True)
else:
# Default is no password

View File

@ -137,9 +137,9 @@ class MonitorList(object):
self.__monitor_list[i]['result'] = subprocess.check_output(self.command(i),
shell=True)
except subprocess.CalledProcessError:
self.__monitor_list[i]['result'] = _("Error: ") + self.command(i)
self.__monitor_list[i]['result'] = 'Error: ' + self.command(i)
except Exception:
self.__monitor_list[i]['result'] = _("Cannot execute command")
self.__monitor_list[i]['result'] = 'Cannot execute command'
if self.command(i) is None or self.__monitor_list[i]['result'] == '':
# If there is no command specified in the conf file

View File

@ -110,11 +110,11 @@ class GlancesPassword(object):
# password_plain is the plain SHA-256 password
# password_hashed is the salt + SHA-256 password
password_sha = hashlib.sha256(getpass.getpass(_("Password: ")).encode('utf-8')).hexdigest()
password_sha = hashlib.sha256(getpass.getpass('Password: ').encode('utf-8')).hexdigest()
password_hashed = self.hash_password(password_sha)
if confirm:
# password_confirm is the clear password (only used to compare)
password_confirm = hashlib.sha256(getpass.getpass(_("Password (confirm): ")).encode('utf-8')).hexdigest()
password_confirm = hashlib.sha256(getpass.getpass('Password (confirm): ').encode('utf-8')).hexdigest()
if not self.check_password(password_hashed, password_confirm):
logger.critical("Sorry, passwords do not match. Exit.")
@ -128,8 +128,8 @@ class GlancesPassword(object):
# Save the hashed password to the password file
if not clear:
save_input = input(_("Do you want to save the password? [Yes/No]: "))
if len(save_input) > 0 and save_input[0].upper() == _('Y'):
save_input = input('Do you want to save the password? [Yes/No]: ')
if len(save_input) > 0 and save_input[0].upper() == 'Y':
self.save_password(password_hashed)
return password

View File

@ -86,7 +86,7 @@ class GlancesBottle(object):
self.plugins_list = self.stats.getAllPlugins()
# Bind the Bottle TCP address/port
bindmsg = _("Glances web server started on http://{0}:{1}/").format(self.args.bind_address, self.args.port)
bindmsg = 'Glances web server started on http://{0}:{1}/'.format(self.args.bind_address, self.args.port)
logger.info(bindmsg)
print(bindmsg)
self._app.run(host=self.args.bind_address, port=self.args.port, quiet=not self.args.debug)

View File

@ -617,34 +617,34 @@ class _GlancesCurses(object):
# Generate history graph
if self.history_tag and self.args.enable_history:
self.display_popup(
_("Generate graphs history in %s\nPlease wait...") % self.glances_history.get_output_folder())
'Generate graphs history in {0}\nPlease wait...'.format(
self.glances_history.get_output_folder()))
self.display_popup(
_("Generate graphs history in %s\nDone: %s graphs generated") % (self.glances_history.get_output_folder(), self.glances_history.generate_graph(stats)))
'Generate graphs history in {0}\nDone: {1} graphs generated'.format(
self.glances_history.get_output_folder(),
self.glances_history.generate_graph(stats)))
elif self.reset_history_tag and self.args.enable_history:
self.display_popup(_("Reset history"))
self.display_popup('Reset history')
self.glances_history.reset(stats)
elif (self.history_tag or self.reset_history_tag) and not self.args.enable_history:
try:
self.glances_history.graph_enabled()
except Exception:
self.display_popup(
_("History disabled\nEnable it using --enable-history"))
self.display_popup('History disabled\nEnable it using --enable-history')
else:
self.display_popup(
_("History disabled\nPlease install MatPlotLib"))
self.display_popup('History disabled\nPlease install matplotlib')
self.history_tag = False
self.reset_history_tag = False
# Display edit filter popup
# Only in standalone mode (cs_status is None)
if self.edit_filter and cs_status is None:
new_filter = self.display_popup(_("Process filter pattern: "),
is_input=True,
input_value=glances_processes.process_filter)
new_filter = self.display_popup(
'Process filter pattern: ', is_input=True,
input_value=glances_processes.process_filter)
glances_processes.process_filter = new_filter
elif self.edit_filter and cs_status != 'None':
self.display_popup(
_("Process filter only available in standalone mode"))
self.display_popup('Process filter only available in standalone mode')
self.edit_filter = False
return True
@ -1053,17 +1053,16 @@ class GlancesCursesBrowser(_GlancesCurses):
# Display top header
if len(servers_list) == 0:
if self.first_scan and not self.args.disable_autodiscover:
msg = _("Glances is scanning your network (please wait)...")
msg = 'Glances is scanning your network. Please wait...'
self.first_scan = False
else:
msg = _("No Glances servers available")
msg = 'No Glances server available'
elif len(servers_list) == 1:
msg = _("One Glances server available")
msg = 'One Glances server available'
else:
msg = _("%d Glances servers available" %
len(servers_list))
msg = '{0} Glances servers available'.format(len(servers_list))
if self.args.disable_autodiscover:
msg += ' ' + _("(auto discover is disabled)")
msg += ' ' + '(auto discover is disabled)'
self.term_window.addnstr(y, x,
msg,
screen_x - x,
@ -1078,15 +1077,15 @@ class GlancesCursesBrowser(_GlancesCurses):
# Table of table
# Item description: [stats_id, column name, column size]
column_def = [
['name', _('Name'), 16],
['name', 'Name', 16],
['alias', None, None],
['load_min5', _('LOAD'), 6],
['cpu_percent', _('CPU%'), 5],
['mem_percent', _('MEM%'), 5],
['status', _('STATUS'), 8],
['ip', _('IP'), 15],
# ['port', _('PORT'), 5],
['hr_name', _('OS'), 16],
['load_min5', 'LOAD', 6],
['cpu_percent', 'CPU%', 5],
['mem_percent', 'MEM%', 5],
['status', 'STATUS', 8],
['ip', 'IP', 15],
# ['port', 'PORT', 5],
['hr_name', 'OS', 16],
]
y = 2

View File

@ -68,17 +68,17 @@ class Plugin(GlancesPlugin):
# Build the string message
# Header
if not self.stats:
msg = _("No warning or critical alert detected")
msg = 'No warning or critical alert detected'
ret.append(self.curse_add_line(msg, "TITLE"))
else:
# Header
msg = _("Warning or critical alerts")
msg = 'Warning or critical alerts'
ret.append(self.curse_add_line(msg, "TITLE"))
logs_len = glances_logs.len()
if logs_len > 1:
msg = _(" (lasts {0} entries)").format(logs_len)
msg = ' (lasts {0} entries)'.format(logs_len)
else:
msg = _(" (one entry)")
msg = ' (one entry)'
ret.append(self.curse_add_line(msg, "TITLE"))
# Loop over alerts
for alert in self.stats:
@ -90,15 +90,16 @@ class Plugin(GlancesPlugin):
# Duration
if alert[1] > 0:
# If finished display duration
msg = ' ({0})'.format(datetime.fromtimestamp(alert[1]) - datetime.fromtimestamp(alert[0]))
msg = ' ({0})'.format(datetime.fromtimestamp(alert[1]) -
datetime.fromtimestamp(alert[0]))
else:
msg = _(" (ongoing)")
msg = ' (ongoing)'
ret.append(self.curse_add_line(msg))
ret.append(self.curse_add_line(" - "))
# Infos
if alert[1] > 0:
# If finished do not display status
msg = _("{0} on {1}").format(alert[2], alert[3])
msg = '{0} on {1}'.format(alert[2], alert[3])
ret.append(self.curse_add_line(msg))
else:
msg = str(alert[3])
@ -107,11 +108,12 @@ class Plugin(GlancesPlugin):
if self.approx_equal(alert[6], alert[4], tolerance=0.1):
msg = ' ({0:.1f})'.format(alert[5])
else:
msg = _(" (Min:{0:.1f} Mean:{1:.1f} Max:{2:.1f})").format(alert[6], alert[5], alert[4])
msg = ' (Min:{0:.1f} Mean:{1:.1f} Max:{2:.1f})'.format(
alert[6], alert[5], alert[4])
ret.append(self.curse_add_line(msg))
# else:
# msg = _(" Running...")
# msg = ' Running...'
# ret.append(self.curse_add_line(msg))
# !!! Debug only

View File

@ -93,7 +93,10 @@ class GlancesGrabBat(object):
"""Update the stats."""
if self.initok:
self.bat.update()
self.bat_list = [{'label': _("Battery"), 'value': self.battery_percent, 'unit': '%'}]
self.bat_list = [{
'label': 'Battery',
'value': self.battery_percent,
'unit': '%'}]
else:
self.bat_list = []

View File

@ -173,7 +173,7 @@ class Plugin(GlancesPlugin):
# exemple on Windows OS)
idle_tag = 'user' not in self.stats
# Header
msg = '{0:8}'.format(_("CPU"))
msg = '{0:8}'.format('CPU')
ret.append(self.curse_add_line(msg, "TITLE"))
# Total CPU usage
msg = '{0:>5}%'.format(self.stats['total'])
@ -184,7 +184,7 @@ class Plugin(GlancesPlugin):
ret.append(self.curse_add_line(msg))
# Nice CPU
if 'nice' in self.stats:
msg = ' {0:8}'.format(_("nice:"))
msg = ' {0:8}'.format('nice:')
ret.append(self.curse_add_line(msg, optional=self.get_views(key='nice', option='optional')))
msg = '{0:>5}%'.format(self.stats['nice'])
ret.append(self.curse_add_line(msg, optional=self.get_views(key='nice', option='optional')))
@ -192,19 +192,19 @@ class Plugin(GlancesPlugin):
ret.append(self.curse_new_line())
# User CPU
if 'user' in self.stats:
msg = '{0:8}'.format(_("user:"))
msg = '{0:8}'.format('user:')
ret.append(self.curse_add_line(msg))
msg = '{0:>5}%'.format(self.stats['user'])
ret.append(self.curse_add_line(
msg, self.get_views(key='user', option='decoration')))
elif 'idle' in self.stats:
msg = '{0:8}'.format(_("idle:"))
msg = '{0:8}'.format('idle:')
ret.append(self.curse_add_line(msg))
msg = '{0:>5}%'.format(self.stats['idle'])
ret.append(self.curse_add_line(msg))
# IRQ CPU
if 'irq' in self.stats:
msg = ' {0:8}'.format(_("irq:"))
msg = ' {0:8}'.format('irq:')
ret.append(self.curse_add_line(msg, optional=self.get_views(key='irq', option='optional')))
msg = '{0:>5}%'.format(self.stats['irq'])
ret.append(self.curse_add_line(msg, optional=self.get_views(key='irq', option='optional')))
@ -212,19 +212,19 @@ class Plugin(GlancesPlugin):
ret.append(self.curse_new_line())
# System CPU
if 'system' in self.stats and not idle_tag:
msg = '{0:8}'.format(_("system:"))
msg = '{0:8}'.format('system:')
ret.append(self.curse_add_line(msg))
msg = '{0:>5}%'.format(self.stats['system'])
ret.append(self.curse_add_line(
msg, self.get_views(key='system', option='decoration')))
else:
msg = '{0:8}'.format(_("core:"))
msg = '{0:8}'.format('core:')
ret.append(self.curse_add_line(msg))
msg = '{0:>6}'.format(self.stats['nb_log_core'])
ret.append(self.curse_add_line(msg))
# IOWait CPU
if 'iowait' in self.stats:
msg = ' {0:8}'.format(_("iowait:"))
msg = ' {0:8}'.format('iowait:')
ret.append(self.curse_add_line(msg, optional=self.get_views(key='iowait', option='optional')))
msg = '{0:>5}%'.format(self.stats['iowait'])
ret.append(self.curse_add_line(
@ -234,13 +234,13 @@ class Plugin(GlancesPlugin):
ret.append(self.curse_new_line())
# Idle CPU
if 'idle' in self.stats and not idle_tag:
msg = '{0:8}'.format(_("idle:"))
msg = '{0:8}'.format('idle:')
ret.append(self.curse_add_line(msg))
msg = '{0:>5}%'.format(self.stats['idle'])
ret.append(self.curse_add_line(msg))
# Steal CPU usage
if 'steal' in self.stats:
msg = ' {0:8}'.format(_("steal:"))
msg = ' {0:8}'.format('steal:')
ret.append(self.curse_add_line(msg, optional=self.get_views(key='steal', option='optional')))
msg = '{0:>5}%'.format(self.stats['steal'])
ret.append(self.curse_add_line(

View File

@ -151,11 +151,11 @@ class Plugin(GlancesPlugin):
# Build the string message
# Header
msg = '{0:9}'.format(_("DISK I/O"))
msg = '{0:9}'.format('DISK I/O')
ret.append(self.curse_add_line(msg, "TITLE"))
msg = '{0:>7}'.format(_("R/s"))
msg = '{0:>7}'.format('R/s')
ret.append(self.curse_add_line(msg))
msg = '{0:>7}'.format(_("W/s"))
msg = '{0:>7}'.format('W/s')
ret.append(self.curse_add_line(msg))
# Disk list (sorted by name)
for i in sorted(self.stats, key=operator.itemgetter(self.get_key())):

View File

@ -362,31 +362,31 @@ class Plugin(GlancesPlugin):
# Build the string message
# Title
msg = '{0}'.format(_("CONTAINERS"))
msg = '{0}'.format('CONTAINERS')
ret.append(self.curse_add_line(msg, "TITLE"))
msg = ' {0}'.format(len(self.stats['containers']))
ret.append(self.curse_add_line(msg))
msg = ' ({0} {1})'.format(_("served by Docker"),
msg = ' ({0} {1})'.format('served by Docker',
self.stats['version']["Version"])
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
# Header
ret.append(self.curse_new_line())
msg = '{0:>14}'.format(_("Id"))
msg = '{0:>14}'.format('Id')
ret.append(self.curse_add_line(msg))
msg = ' {0:20}'.format(_("Name"))
msg = ' {0:20}'.format('Name')
ret.append(self.curse_add_line(msg))
msg = '{0:>26}'.format(_("Status"))
msg = '{0:>26}'.format('Status')
ret.append(self.curse_add_line(msg))
msg = '{0:>6}'.format(_("CPU%"))
msg = '{0:>6}'.format('CPU%')
ret.append(self.curse_add_line(msg))
msg = '{0:>7}'.format(_("MEM"))
msg = '{0:>7}'.format('MEM')
ret.append(self.curse_add_line(msg))
# msg = '{0:>6}'.format(_("Rx/s"))
# msg = '{0:>6}'.format('Rx/s')
# ret.append(self.curse_add_line(msg))
# msg = '{0:>6}'.format(_("Tx/s"))
# msg = '{0:>6}'.format('Tx/s')
# ret.append(self.curse_add_line(msg))
msg = ' {0:8}'.format(_("Command"))
msg = ' {0:8}'.format('Command')
ret.append(self.curse_add_line(msg))
# Data
for container in self.stats['containers']:

View File

@ -211,14 +211,14 @@ class Plugin(GlancesPlugin):
# Build the string message
# Header
msg = '{0:{width}}'.format(_("FILE SYS"), width=fsname_max_width)
msg = '{0:{width}}'.format('FILE SYS', width=fsname_max_width)
ret.append(self.curse_add_line(msg, "TITLE"))
if args.fs_free_space:
msg = '{0:>7}'.format(_("Free"))
msg = '{0:>7}'.format('Free')
else:
msg = '{0:>7}'.format(_("Used"))
msg = '{0:>7}'.format('Used')
ret.append(self.curse_add_line(msg))
msg = '{0:>7}'.format(_("Total"))
msg = '{0:>7}'.format('Total')
ret.append(self.curse_add_line(msg))
# Disk list (sorted by name)

View File

@ -55,13 +55,13 @@ class Plugin(GlancesPlugin):
# Header
msg = '{0} {1}'.format(appname.title(), version)
ret.append(self.curse_add_line(msg, "TITLE"))
msg = _(" with PSutil {0}").format(psutil_version)
msg = ' with PSutil {0}'.format(psutil_version)
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
# Configuration file path
try:
msg = '{0}: {1}'.format(_("Configuration file"), self.config.loaded_config_file)
msg = 'Configuration file: {0}'.format(self.config.loaded_config_file)
except AttributeError:
pass
else:
@ -74,83 +74,83 @@ class Plugin(GlancesPlugin):
msg_col2 = ' {0:1} {1:35}'
ret.append(self.curse_new_line())
msg = msg_col.format("a", _("Sort processes automatically"))
msg = msg_col.format('a', 'Sort processes automatically')
ret.append(self.curse_add_line(msg))
msg = msg_col2.format("b", _("Bytes or bits for network I/O"))
msg = msg_col2.format('b', 'Bytes or bits for network I/O')
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
msg = msg_col.format("c", _("Sort processes by CPU%"))
msg = msg_col.format('c', 'Sort processes by CPU%')
ret.append(self.curse_add_line(msg))
msg = msg_col2.format("l", _("Show/hide alert logs"))
msg = msg_col2.format('l', 'Show/hide alert logs')
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
msg = msg_col.format("m", _("Sort processes by MEM%"))
msg = msg_col.format('m', 'Sort processes by MEM%')
ret.append(self.curse_add_line(msg))
msg = msg_col2.format("w", _("Delete warning alerts"))
msg = msg_col2.format('w', 'Delete warning alerts')
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
msg = msg_col.format("u", _("Sort processes by USER"))
msg = msg_col.format('u', 'Sort processes by USER')
ret.append(self.curse_add_line(msg))
msg = msg_col2.format("x", _("Delete warning and critical alerts"))
msg = msg_col2.format('x', 'Delete warning and critical alerts')
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
msg = msg_col.format("p", _("Sort processes by name"))
msg = msg_col.format('p', 'Sort processes by name')
ret.append(self.curse_add_line(msg))
msg = msg_col2.format("1", _("Global CPU or per-CPU stats"))
msg = msg_col2.format('1', 'Global CPU or per-CPU stats')
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
msg = msg_col.format("i", _("Sort processes by I/O rate"))
msg = msg_col.format('i', 'Sort processes by I/O rate')
ret.append(self.curse_add_line(msg))
msg = msg_col2.format("D", _("Enable/disable Docker stats"))
msg = msg_col2.format('D', 'Enable/disable Docker stats')
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
msg = msg_col.format("t", _("Sort processes by TIME"))
msg = msg_col.format('t', 'Sort processes by TIME')
ret.append(self.curse_add_line(msg))
msg = msg_col2.format("T", _("View network I/O as combination"))
msg = msg_col2.format('T', 'View network I/O as combination')
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
msg = msg_col.format("d", _("Show/hide disk I/O stats"))
msg = msg_col.format('d', 'Show/hide disk I/O stats')
ret.append(self.curse_add_line(msg))
msg = msg_col2.format("U", _("View cumulative network I/O"))
msg = msg_col2.format('U', 'View cumulative network I/O')
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
msg = msg_col.format("f", _("Show/hide filesystem stats"))
msg = msg_col.format('f', 'Show/hide filesystem stats')
ret.append(self.curse_add_line(msg))
msg = msg_col2.format("F", _("Show filesystem free space"))
msg = msg_col2.format('F', 'Show filesystem free space')
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
msg = msg_col.format("n", _("Show/hide network stats"))
msg = msg_col.format('n', 'Show/hide network stats')
ret.append(self.curse_add_line(msg))
msg = msg_col2.format("g", _("Generate graphs for current history"))
msg = msg_col2.format('g', 'Generate graphs for current history')
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
msg = msg_col.format("s", _("Show/hide sensors stats"))
msg = msg_col.format('s', 'Show/hide sensors stats')
ret.append(self.curse_add_line(msg))
msg = msg_col2.format("r", _("Reset history"))
msg = msg_col2.format('r', 'Reset history')
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
msg = msg_col.format("2", _("Show/hide left sidebar"))
msg = msg_col.format('2', 'Show/hide left sidebar')
ret.append(self.curse_add_line(msg))
msg = msg_col2.format("h", _("Show/hide this help screen"))
msg = msg_col2.format('h', 'Show/hide this help screen')
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
msg = msg_col.format("z", _("Enable/disable processes stats"))
msg = msg_col.format('z', 'Enable/disable processes stats')
ret.append(self.curse_add_line(msg))
msg = msg_col2.format("q", _("Quit (Esc and Ctrl-C also work)"))
msg = msg_col2.format('q', 'Quit (Esc or Ctrl-c also work)')
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
msg = msg_col.format("3", _("Enable/disable quick look plugin"))
msg = msg_col.format('3', 'Enable/disable quick look plugin')
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
msg = msg_col.format("e", _("Enable/disable top extended stats"))
msg = msg_col.format('e', 'Enable/disable top extended stats')
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
msg = msg_col.format("/", _("Enable/disable short processes name"))
msg = msg_col.format('/', 'Enable/disable short processes name')
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
ret.append(self.curse_new_line())
msg = '{0}: {1}'.format("ENTER", _("Edit the process filter pattern"))
msg = '{0}: {1}'.format('ENTER', 'Edit the process filter pattern')
ret.append(self.curse_add_line(msg))
# Return the message with decoration

View File

@ -106,9 +106,9 @@ class Plugin(GlancesPlugin):
return ret
# Build the string message
msg = _(' - ')
msg = ' - '
ret.append(self.curse_add_line(msg))
msg = _('IP ')
msg = 'IP '
ret.append(self.curse_add_line(msg, 'TITLE'))
msg = '{0:}/{1}'.format(self.stats['address'], self.stats['mask_cidr'])
ret.append(self.curse_add_line(msg))

View File

@ -142,23 +142,23 @@ class Plugin(GlancesPlugin):
# Build the string message
# Header
msg = '{0:8}'.format(_("LOAD"))
msg = '{0:8}'.format('LOAD')
ret.append(self.curse_add_line(msg, "TITLE"))
# Core number
if self.stats['cpucore'] > 0:
msg = _("{0:d}-core").format(int(self.stats['cpucore']), '>1')
msg = '{0}-core'.format(int(self.stats['cpucore']))
ret.append(self.curse_add_line(msg))
# New line
ret.append(self.curse_new_line())
# 1min load
msg = '{0:8}'.format(_("1 min:"))
msg = '{0:8}'.format('1 min:')
ret.append(self.curse_add_line(msg))
msg = '{0:>6.2f}'.format(self.stats['min1'])
ret.append(self.curse_add_line(msg))
# New line
ret.append(self.curse_new_line())
# 5min load
msg = '{0:8}'.format(_("5 min:"))
msg = '{0:8}'.format('5 min:')
ret.append(self.curse_add_line(msg))
msg = '{0:>6.2f}'.format(self.stats['min5'])
ret.append(self.curse_add_line(
@ -166,7 +166,7 @@ class Plugin(GlancesPlugin):
# New line
ret.append(self.curse_new_line())
# 15min load
msg = '{0:8}'.format(_("15 min:"))
msg = '{0:8}'.format('15 min:')
ret.append(self.curse_add_line(msg))
msg = '{0:>6.2f}'.format(self.stats['min15'])
ret.append(self.curse_add_line(

View File

@ -184,54 +184,54 @@ class Plugin(GlancesPlugin):
# Build the string message
# Header
msg = '{0:5} '.format(_("MEM"))
msg = '{0:5} '.format('MEM')
ret.append(self.curse_add_line(msg, "TITLE"))
# Percent memory usage
msg = '{0:>7.1%}'.format(self.stats['percent'] / 100)
ret.append(self.curse_add_line(msg))
# Active memory usage
if 'active' in self.stats:
msg = ' {0:9}'.format(_("active:"))
msg = ' {0:9}'.format('active:')
ret.append(self.curse_add_line(msg, optional=self.get_views(key='active', option='optional')))
msg = '{0:>7}'.format(self.auto_unit(self.stats['active']))
ret.append(self.curse_add_line(msg, optional=self.get_views(key='active', option='optional')))
# New line
ret.append(self.curse_new_line())
# Total memory usage
msg = '{0:6}'.format(_("total:"))
msg = '{0:6}'.format('total:')
ret.append(self.curse_add_line(msg))
msg = '{0:>7}'.format(self.auto_unit(self.stats['total']))
ret.append(self.curse_add_line(msg))
# Inactive memory usage
if 'inactive' in self.stats:
msg = ' {0:9}'.format(_("inactive:"))
msg = ' {0:9}'.format('inactive:')
ret.append(self.curse_add_line(msg, optional=self.get_views(key='inactive', option='optional')))
msg = '{0:>7}'.format(self.auto_unit(self.stats['inactive']))
ret.append(self.curse_add_line(msg, optional=self.get_views(key='inactive', option='optional')))
# New line
ret.append(self.curse_new_line())
# Used memory usage
msg = '{0:6}'.format(_("used:"))
msg = '{0:6}'.format('used:')
ret.append(self.curse_add_line(msg))
msg = '{0:>7}'.format(self.auto_unit(self.stats['used']))
ret.append(self.curse_add_line(
msg, self.get_views(key='used', option='decoration')))
# Buffers memory usage
if 'buffers' in self.stats:
msg = ' {0:9}'.format(_("buffers:"))
msg = ' {0:9}'.format('buffers:')
ret.append(self.curse_add_line(msg, optional=self.get_views(key='buffers', option='optional')))
msg = '{0:>7}'.format(self.auto_unit(self.stats['buffers']))
ret.append(self.curse_add_line(msg, optional=self.get_views(key='buffers', option='optional')))
# New line
ret.append(self.curse_new_line())
# Free memory usage
msg = '{0:6}'.format(_("free:"))
msg = '{0:6}'.format('free:')
ret.append(self.curse_add_line(msg))
msg = '{0:>7}'.format(self.auto_unit(self.stats['free']))
ret.append(self.curse_add_line(msg))
# Cached memory usage
if 'cached' in self.stats:
msg = ' {0:9}'.format(_("cached:"))
msg = ' {0:9}'.format('cached:')
ret.append(self.curse_add_line(msg, optional=self.get_views(key='cached', option='optional')))
msg = '{0:>7}'.format(self.auto_unit(self.stats['cached']))
ret.append(self.curse_add_line(msg, optional=self.get_views(key='cached', option='optional')))

View File

@ -155,7 +155,7 @@ class Plugin(GlancesPlugin):
# Build the string message
# Header
msg = '{0:7} '.format(_("SWAP"))
msg = '{0:7} '.format('SWAP')
ret.append(self.curse_add_line(msg, "TITLE"))
# Percent memory usage
msg = '{0:>6.1%}'.format(self.stats['percent'] / 100)
@ -163,14 +163,14 @@ class Plugin(GlancesPlugin):
# New line
ret.append(self.curse_new_line())
# Total memory usage
msg = '{0:8}'.format(_("total:"))
msg = '{0:8}'.format('total:')
ret.append(self.curse_add_line(msg))
msg = '{0:>6}'.format(self.auto_unit(self.stats['total']))
ret.append(self.curse_add_line(msg))
# New line
ret.append(self.curse_new_line())
# Used memory usage
msg = '{0:8}'.format(_("used:"))
msg = '{0:8}'.format('used:')
ret.append(self.curse_add_line(msg))
msg = '{0:>6}'.format(self.auto_unit(self.stats['used']))
ret.append(self.curse_add_line(
@ -178,7 +178,7 @@ class Plugin(GlancesPlugin):
# New line
ret.append(self.curse_new_line())
# Free memory usage
msg = '{0:8}'.format(_("free:"))
msg = '{0:8}'.format('free:')
ret.append(self.curse_add_line(msg))
msg = '{0:>6}'.format(self.auto_unit(self.stats['free']))
ret.append(self.curse_add_line(msg))

View File

@ -97,7 +97,7 @@ class Plugin(GlancesPlugin):
msg, self.get_alert(m['count'], m['countmin'], m['countmax'])))
msg = '{0:<3} '.format(m['count'] if m['count'] > 1 else '')
ret.append(self.curse_add_line(msg))
msg = '{0:13} '.format(_("RUNNING") if m['count'] >= 1 else _("NOT RUNNING"))
msg = '{0:13} '.format('RUNNING' if m['count'] >= 1 else 'NOT RUNNING')
ret.append(self.curse_add_line(msg))
# Decode to UTF8 (only for Python 3)
try:

View File

@ -226,30 +226,30 @@ class Plugin(GlancesPlugin):
# Build the string message
# Header
msg = '{0:{width}}'.format(_("NETWORK"), width=ifname_max_width)
msg = '{0:{width}}'.format('NETWORK', width=ifname_max_width)
ret.append(self.curse_add_line(msg, "TITLE"))
if args.network_cumul:
# Cumulative stats
if args.network_sum:
# Sum stats
msg = '{0:>14}'.format(_("Rx+Tx"))
msg = '{0:>14}'.format('Rx+Tx')
ret.append(self.curse_add_line(msg))
else:
# Rx/Tx stats
msg = '{0:>7}'.format(_("Rx"))
msg = '{0:>7}'.format('Rx')
ret.append(self.curse_add_line(msg))
msg = '{0:>7}'.format(_("Tx"))
msg = '{0:>7}'.format('Tx')
ret.append(self.curse_add_line(msg))
else:
# Bitrate stats
if args.network_sum:
# Sum stats
msg = '{0:>14}'.format(_("Rx+Tx/s"))
msg = '{0:>14}'.format('Rx+Tx/s')
ret.append(self.curse_add_line(msg))
else:
msg = '{0:>7}'.format(_("Rx/s"))
msg = '{0:>7}'.format('Rx/s')
ret.append(self.curse_add_line(msg))
msg = '{0:>7}'.format(_("Tx/s"))
msg = '{0:>7}'.format('Tx/s')
ret.append(self.curse_add_line(msg))
# Interface list (sorted by name)
for i in sorted(self.stats, key=operator.itemgetter(self.get_key())):

View File

@ -44,7 +44,7 @@ class Plugin(GlancesPlugin):
def update(self):
"""Update current date/time."""
# Had to convert it to string because datetime is not JSON serializable
self.stats = datetime.now().strftime(_("%Y-%m-%d %H:%M:%S"))
self.stats = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
return self.stats

View File

@ -99,13 +99,13 @@ class Plugin(GlancesPlugin):
# No per CPU stat ? Exit...
if not self.stats:
msg = _("PER CPU not available")
msg = 'PER CPU not available'
ret.append(self.curse_add_line(msg, "TITLE"))
return ret
# Build the string message
# Header
msg = '{0:8}'.format(_("PER CPU"))
msg = '{0:8}'.format('PER CPU')
ret.append(self.curse_add_line(msg, "TITLE"))
# Total per-CPU usage
@ -115,7 +115,7 @@ class Plugin(GlancesPlugin):
# User per-CPU
ret.append(self.curse_new_line())
msg = '{0:8}'.format(_("user:"))
msg = '{0:8}'.format('user:')
ret.append(self.curse_add_line(msg))
for cpu in self.stats:
msg = '{0:>6}%'.format(cpu['user'])
@ -123,7 +123,7 @@ class Plugin(GlancesPlugin):
# System per-CPU
ret.append(self.curse_new_line())
msg = '{0:8}'.format(_("system:"))
msg = '{0:8}'.format('system:')
ret.append(self.curse_add_line(msg))
for cpu in self.stats:
msg = '{0:>6}%'.format(cpu['system'])
@ -131,7 +131,7 @@ class Plugin(GlancesPlugin):
# Idle per-CPU
ret.append(self.curse_new_line())
msg = '{0:8}'.format(_("idle:"))
msg = '{0:8}'.format('idle:')
ret.append(self.curse_add_line(msg))
for cpu in self.stats:
msg = '{0:>6}%'.format(cpu['idle'])

View File

@ -73,7 +73,7 @@ class Plugin(GlancesPlugin):
# Only process if stats exist and display plugin enable...
if args.disable_process:
msg = _("PROCESSES DISABLED (press 'z' to display)")
msg = "PROCESSES DISABLED (press 'z' to display)"
ret.append(self.curse_add_line(msg))
return ret
@ -82,48 +82,48 @@ class Plugin(GlancesPlugin):
# Display the filter (if it exists)
if glances_processes.process_filter is not None:
msg = _("Processes filter:")
msg = 'Processes filter:'
ret.append(self.curse_add_line(msg, "TITLE"))
msg = _(" {0} ").format(glances_processes.process_filter)
msg = ' {0} '.format(glances_processes.process_filter)
ret.append(self.curse_add_line(msg, "FILTER"))
msg = _("(press ENTER to edit)")
msg = '(press ENTER to edit)'
ret.append(self.curse_add_line(msg))
ret.append(self.curse_new_line())
# Build the string message
# Header
msg = _("TASKS ")
msg = 'TASKS'
ret.append(self.curse_add_line(msg, "TITLE"))
# Compute processes
other = self.stats['total']
msg = str(self.stats['total'])
msg = '{0:>4}'.format(self.stats['total'])
ret.append(self.curse_add_line(msg))
if 'thread' in self.stats:
msg = _(" ({0} thr),").format(self.stats['thread'])
msg = ' ({0} thr),'.format(self.stats['thread'])
ret.append(self.curse_add_line(msg))
if 'running' in self.stats:
other -= self.stats['running']
msg = _(" {0} run,").format(self.stats['running'])
msg = ' {0} run,'.format(self.stats['running'])
ret.append(self.curse_add_line(msg))
if 'sleeping' in self.stats:
other -= self.stats['sleeping']
msg = _(" {0} slp,").format(self.stats['sleeping'])
msg = ' {0} slp,'.format(self.stats['sleeping'])
ret.append(self.curse_add_line(msg))
msg = _(" {0} oth ").format(other)
msg = ' {0} oth '.format(other)
ret.append(self.curse_add_line(msg))
# Display sort information
if glances_processes.auto_sort:
msg = _("sorted automatically")
msg = 'sorted automatically'
ret.append(self.curse_add_line(msg))
msg = _(" by {0}").format(glances_processes.sort_key)
msg = ' by {0}'.format(glances_processes.sort_key)
ret.append(self.curse_add_line(msg))
else:
msg = _("sorted by {0}").format(glances_processes.sort_key)
msg = 'sorted by {0}'.format(glances_processes.sort_key)
ret.append(self.curse_add_line(msg))
ret[-1]["msg"] += ", %s view" % ("tree" if glances_processes.is_tree_enabled() else "flat")

View File

@ -309,40 +309,40 @@ class Plugin(GlancesPlugin):
# First line is CPU affinity
if 'cpu_affinity' in p and p['cpu_affinity'] is not None:
ret.append(self.curse_new_line())
msg = xpad + _('CPU affinity: ') + str(len(p['cpu_affinity'])) + _(' cores')
msg = xpad + 'CPU affinity: ' + str(len(p['cpu_affinity'])) + ' cores'
ret.append(self.curse_add_line(msg, splittable=True))
# Second line is memory info
if 'memory_info_ex' in p and p['memory_info_ex'] is not None:
ret.append(self.curse_new_line())
msg = xpad + _('Memory info: ')
msg = xpad + 'Memory info: '
for k, v in p['memory_info_ex']._asdict().items():
# Ignore rss and vms (already displayed)
if k not in ['rss', 'vms'] and v is not None:
msg += k + ' ' + self.auto_unit(v, low_precision=False) + ' '
if 'memory_swap' in p and p['memory_swap'] is not None:
msg += _('swap ') + self.auto_unit(p['memory_swap'], low_precision=False)
msg += 'swap ' + self.auto_unit(p['memory_swap'], low_precision=False)
ret.append(self.curse_add_line(msg, splittable=True))
# Third line is for open files/network sessions
msg = ''
if 'num_threads' in p and p['num_threads'] is not None:
msg += _('threads ') + str(p['num_threads']) + ' '
msg += 'threads ' + str(p['num_threads']) + ' '
if 'num_fds' in p and p['num_fds'] is not None:
msg += _('files ') + str(p['num_fds']) + ' '
msg += 'files ' + str(p['num_fds']) + ' '
if 'num_handles' in p and p['num_handles'] is not None:
msg += _('handles ') + str(p['num_handles']) + ' '
msg += 'handles ' + str(p['num_handles']) + ' '
if 'tcp' in p and p['tcp'] is not None:
msg += _('TCP ') + str(p['tcp']) + ' '
msg += 'TCP ' + str(p['tcp']) + ' '
if 'udp' in p and p['udp'] is not None:
msg += _('UDP ') + str(p['udp']) + ' '
msg += 'UDP ' + str(p['udp']) + ' '
if msg != '':
ret.append(self.curse_new_line())
msg = xpad + _('Open: ') + msg
msg = xpad + 'Open: ' + msg
ret.append(self.curse_add_line(msg, splittable=True))
# Fouth line is IO nice level (only Linux and Windows OS)
if 'ionice' in p and p['ionice'] is not None:
ret.append(self.curse_new_line())
msg = xpad + _('IO nice: ')
k = _('Class is ')
msg = xpad + 'IO nice: '
k = 'Class is '
v = p['ionice'].ioclass
# Linux: The scheduling class. 0 for none, 1 for real time, 2 for best-effort, 3 for idle.
# Windows: On Windows only ioclass is used and it can be set to 2 (normal), 1 (low) or 0 (very low).
@ -352,12 +352,12 @@ class Plugin(GlancesPlugin):
elif v == 1:
msg += k + 'Low'
elif v == 2:
msg += _('No specific I/O priority')
msg += 'No specific I/O priority'
else:
msg += k + str(v)
else:
if v == 0:
msg += _('No specific I/O priority')
msg += 'No specific I/O priority'
elif v == 1:
msg += k + 'Real Time'
elif v == 2:
@ -369,7 +369,7 @@ class Plugin(GlancesPlugin):
# value is a number which goes from 0 to 7.
# The higher the value, the lower the I/O priority of the process.
if hasattr(p['ionice'], 'value') and p['ionice'].value != 0:
msg += _(' (value %s/7)') % str(p['ionice'].value)
msg += ' (value %s/7)' % str(p['ionice'].value)
ret.append(self.curse_add_line(msg, splittable=True))
return ret
@ -388,29 +388,29 @@ class Plugin(GlancesPlugin):
sort_style = 'SORT'
# Header
msg = '{0:>6}'.format(_("CPU%"))
msg = '{0:>6}'.format('CPU%')
ret.append(self.curse_add_line(msg, sort_style if process_sort_key == 'cpu_percent' else 'DEFAULT'))
msg = '{0:>6}'.format(_("MEM%"))
msg = '{0:>6}'.format('MEM%')
ret.append(self.curse_add_line(msg, sort_style if process_sort_key == 'memory_percent' else 'DEFAULT'))
msg = '{0:>6}'.format(_("VIRT"))
msg = '{0:>6}'.format('VIRT')
ret.append(self.curse_add_line(msg, optional=True))
msg = '{0:>6}'.format(_("RES"))
msg = '{0:>6}'.format('RES')
ret.append(self.curse_add_line(msg, optional=True))
msg = '{0:>6}'.format(_("PID"))
msg = '{0:>6}'.format('PID')
ret.append(self.curse_add_line(msg))
msg = ' {0:10}'.format(_("USER"))
msg = ' {0:10}'.format('USER')
ret.append(self.curse_add_line(msg, sort_style if process_sort_key == 'username' else 'DEFAULT'))
msg = '{0:>4}'.format(_("NI"))
msg = '{0:>4}'.format('NI')
ret.append(self.curse_add_line(msg))
msg = '{0:>2}'.format(_("S"))
msg = '{0:>2}'.format('S')
ret.append(self.curse_add_line(msg))
msg = '{0:>10}'.format(_("TIME+"))
msg = '{0:>10}'.format('TIME+')
ret.append(self.curse_add_line(msg, sort_style if process_sort_key == 'cpu_times' else 'DEFAULT', optional=True))
msg = '{0:>6}'.format(_("IOR/s"))
msg = '{0:>6}'.format('IOR/s')
ret.append(self.curse_add_line(msg, sort_style if process_sort_key == 'io_counters' else 'DEFAULT', optional=True, additional=True))
msg = '{0:>6}'.format(_("IOW/s"))
msg = '{0:>6}'.format('IOW/s')
ret.append(self.curse_add_line(msg, sort_style if process_sort_key == 'io_counters' else 'DEFAULT', optional=True, additional=True))
msg = ' {0:8}'.format(_("Command"))
msg = ' {0:8}'.format('Command')
ret.append(self.curse_add_line(msg))
if glances_processes.is_tree_enabled():

View File

@ -87,11 +87,11 @@ class Plugin(GlancesPlugin):
# Build the string message
# Header
msg = '{0:11}'.format(_('RAID disks'))
msg = '{0:11}'.format('RAID disks')
ret.append(self.curse_add_line(msg, "TITLE"))
msg = '{0:>6}'.format(_("Used"))
msg = '{0:>6}'.format('Used')
ret.append(self.curse_add_line(msg))
msg = '{0:>6}'.format(_("Avail"))
msg = '{0:>6}'.format('Avail')
ret.append(self.curse_add_line(msg))
# Data
arrays = self.stats.keys()
@ -102,7 +102,7 @@ class Plugin(GlancesPlugin):
# Display the current status
status = self.raid_alert(self.stats[array]['status'], self.stats[array]['used'], self.stats[array]['available'])
# Data: RAID type name | disk used | disk available
array_type = self.stats[array]['type'].upper() if self.stats[array]['type'] is not None else _('UNKNOWN')
array_type = self.stats[array]['type'].upper() if self.stats[array]['type'] is not None else 'UNKNOWN'
msg = '{0:<5}{1:>6}'.format(array_type, array)
ret.append(self.curse_add_line(msg))
if self.stats[array]['status'] == 'active':

View File

@ -34,10 +34,10 @@ from glances.plugins.glances_hddtemp import Plugin as HddTempPlugin
from glances.plugins.glances_plugin import GlancesPlugin
if is_py3:
SENSOR_TEMP_UNIT = _('°C')
SENSOR_TEMP_UNIT = '°C'
else:
SENSOR_TEMP_UNIT = _('°C ')
SENSOR_FAN_UNIT = _('RPM')
SENSOR_TEMP_UNIT = '°C '
SENSOR_FAN_UNIT = 'RPM'
class Plugin(GlancesPlugin):
@ -174,7 +174,7 @@ class Plugin(GlancesPlugin):
# Build the string message
# Header
msg = '{0:18}'.format(_("SENSORS"))
msg = '{0:18}'.format('SENSORS')
ret.append(self.curse_add_line(msg, "TITLE"))
for i in self.stats:

View File

@ -169,13 +169,13 @@ class Plugin(GlancesPlugin):
if args.client:
# Client mode
if args.cs_status.lower() == "connected":
msg = _("Connected to ")
msg = 'Connected to '
ret.append(self.curse_add_line(msg, 'OK'))
elif args.cs_status.lower() == "snmp":
msg = _("SNMP from ")
msg = 'SNMP from '
ret.append(self.curse_add_line(msg, 'OK'))
elif args.cs_status.lower() == "disconnected":
msg = _("Disconnected from ")
msg = 'Disconnected from '
ret.append(self.curse_add_line(msg, 'CRITICAL'))
# Hostname is mandatory

View File

@ -81,4 +81,4 @@ class Plugin(GlancesPlugin):
def msg_curse(self, args=None):
"""Return the string to display in the curse interface."""
return [self.curse_add_line(_("Uptime: {0}").format(self.stats))]
return [self.curse_add_line('Uptime: {0}'.format(self.stats))]

View File

@ -1,108 +0,0 @@
#!/bin/bash
#Calculates the direcory of the script in case it is run from another directory
ROOT="${0%%i18n-gen.sh}"
function usage() {
cat <<EOT
Usage: $0 <subcommand> language_code
Available subcommands:
init
creates a new folder for a new language
update
updates an existing language file with new Strings from the sources
gen
generates the parsed language file
update and gen also accept the wildcard language_code ALL
Suggested Workflows (with XX as language_code):
New Language
1. $0 init XX
2. translation of ${ROOT}i18n/XX/LC_MESSAGES/glances.po
3. $0 gen XX
Update Language
1. $0 update XX
2. update translations of ${ROOT}i18n/XX/LC_MESSAGES/glances.po
3. $0 gen XX
EOT
exit
}
function gen_pot() {
xgettext --language=Python --keyword=_ --output=${ROOT}i18n/glances.pot `find ${ROOT}glances/ -name "*.py"`
}
if [ $# != 2 ]; then
usage
fi
OPERATION="$1"
shift
case "$OPERATION" in
init)
# If there is already a language file for specified language there is no need to generate a new one
# doing so would result in a loss of all already translated strings for that language
if [ -f "${ROOT}i18n/$1/LC_MESSAGES/glances.po" ]; then
echo "Error:"
echo "Language file for language $1 already exists"
echo "Please run \"$0 help\" for more information"
exit 1
fi
# Actual generation
mkdir -p ${ROOT}i18n/$1/LC_MESSAGES/
gen_pot
msginit --locale="$1" --input=${ROOT}i18n/glances.pot --output=${ROOT}i18n/$1/LC_MESSAGES/glances.po
exit 0
;;
update)
# When the language code is ALL fetch all language codes and save them
# else test if the specified language code really exists
if [ "$1" = "ALL" ]; then
LANG_LIST="$(ls -d ${ROOT}i18n/*/ | awk -F / '{print $(NF-1)}')"
else
if [ ! -f "${ROOT}i18n/$1/LC_MESSAGES/glances.po" ]; then
echo "Error:"
echo "Language file for language $1 doesn't exists"
echo "Please run \"$0 help\" for more information"
exit 1
fi
LANG_LIST="$1"
fi
# regenerate the pot file so that it conatins the new strings and then update the language files accordingly
gen_pot
for i in $LANG_LIST; do
msgmerge --update --no-fuzzy-matching --backup=off ${ROOT}i18n/$i/LC_MESSAGES/glances.po ${ROOT}i18n/glances.pot
echo "Language file for language $i updated"
done
exit 0
;;
gen)
# When the language code is ALL fetch all language codes and save them
# else test if the specified language code really exists
if [ "$1" = "ALL" ]; then
LANG_LIST="$(ls -d ${ROOT}i18n/*/ | awk -F / '{print $(NF-1)}')"
else
if [ ! -f "${ROOT}i18n/$1/LC_MESSAGES/glances.po" ]; then
echo "Error:"
echo "Language file for language $1 doesn't exists"
echo "Please run \"$0 help\" for more information"
exit 1
fi
LANG_LIST="$1"
fi
# compile the language files
for i in $LANG_LIST; do
msgfmt ${ROOT}i18n/$i/LC_MESSAGES/glances.po --output-file ${ROOT}i18n/$i/LC_MESSAGES/glances.mo
echo "Compiled language file for language $i generated"
done
exit 0
;;
*)
# if anything other is entered as first argument print the usage overview
# so, the message to run "i18n-gen.sh help" is a LIE but who cares since the cake was a lie in the first place!
usage
;;
esac

Binary file not shown.

View File

@ -1,947 +0,0 @@
# German translations for GLANCES package.
# Copyright (C) 2014 THE GLANCES'S COPYRIGHT HOLDER
# This file is distributed under the same license as the GLANCES package.
# David Tiersch <d.tiersch@gmail.com>, 2014.
#
msgid ""
msgstr ""
"Project-Id-Version: GLANCES 2.0_RC4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-12-13 22:14+0100\n"
"PO-Revision-Date: 2014-06-03 16:33+0100\n"
"Last-Translator: David Tiersch <d.tiersch@gmail.com>\n"
"Language-Team: German\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-Basepath: ~/dev/glances\n"
#: glances/__init__.py:166
#, python-brace-format
msgid "Glances server is running on {0}:{1}"
msgstr "Glances-Server läuft auf {0}:{1}"
#: glances/plugins/glances_diskio.py:132
msgid "DISK I/O"
msgstr "DISK I/O"
#: glances/plugins/glances_diskio.py:134
msgid "R/s"
msgstr "R/s"
#: glances/plugins/glances_diskio.py:136
msgid "W/s"
msgstr "W/s"
#: glances/plugins/glances_memswap.py:146
msgid "SWAP"
msgstr "SWAP"
#: glances/plugins/glances_memswap.py:154 glances/plugins/glances_mem.py:185
msgid "total:"
msgstr "gesamt:"
#: glances/plugins/glances_memswap.py:161 glances/plugins/glances_mem.py:198
msgid "used:"
msgstr "benutzt:"
#: glances/plugins/glances_memswap.py:169 glances/plugins/glances_mem.py:212
msgid "free:"
msgstr "frei:"
#: glances/plugins/glances_batpercent.py:96
msgid "Battery (%)"
msgstr "Batterie (%)"
#: glances/plugins/glances_percpu.py:94
msgid "PER CPU not available"
msgstr "PRO-CPU nicht möglich"
#: glances/plugins/glances_percpu.py:100
msgid "PER CPU"
msgstr "PRO CPU"
#: glances/plugins/glances_percpu.py:110 glances/plugins/glances_cpu.py:159
msgid "user:"
msgstr "Benutzer:"
#: glances/plugins/glances_percpu.py:118 glances/plugins/glances_cpu.py:178
msgid "system:"
msgstr "System:"
#: glances/plugins/glances_percpu.py:126 glances/plugins/glances_cpu.py:164
#: glances/plugins/glances_cpu.py:197
msgid "idle:"
msgstr "Inaktiv:"
#: glances/plugins/glances_processcount.py:76
msgid "PROCESSES DISABLED (press 'z' to display)"
msgstr "PROZESS DEAKTIVIERT (drücke 'z' zum anzeigen)"
#: glances/plugins/glances_processcount.py:85
msgid "Processes filter:"
msgstr ""
#: glances/plugins/glances_processcount.py:87
#, python-brace-format
msgid " {0} "
msgstr ""
#: glances/plugins/glances_processcount.py:89
msgid "(press ENTER to edit)"
msgstr ""
#: glances/plugins/glances_processcount.py:95
msgid "TASKS "
msgstr "PROZESSE "
#: glances/plugins/glances_processcount.py:103
#, python-brace-format
msgid " ({0} thr),"
msgstr " ({0} thr),"
#: glances/plugins/glances_processcount.py:108
#, python-brace-format
msgid " {0} run,"
msgstr " {0} run,"
#: glances/plugins/glances_processcount.py:113
#, python-brace-format
msgid " {0} slp,"
msgstr " {0} slp,"
#: glances/plugins/glances_processcount.py:116
#, python-brace-format
msgid " {0} oth "
msgstr " {0} oth "
#: glances/plugins/glances_processcount.py:121
msgid "sorted automatically"
msgstr "automatisch sortiert"
#: glances/plugins/glances_processcount.py:123
#, python-brace-format
msgid " by {0}"
msgstr " nach {0}"
#: glances/plugins/glances_processcount.py:126
#, python-brace-format
msgid "sorted by {0}"
msgstr "sortiert nach {0}"
#: glances/plugins/glances_fs.py:175
msgid "FILE SYS"
msgstr "DATEISYSTEM"
#: glances/plugins/glances_fs.py:178
msgid "Free"
msgstr ""
#: glances/plugins/glances_fs.py:180
msgid "Used"
msgstr "Belegt"
#: glances/plugins/glances_fs.py:182
msgid "Total"
msgstr "Gesamt"
#: glances/plugins/glances_uptime.py:89
#, python-brace-format
msgid "Uptime: {0}"
msgstr "Betriebszeit: {0}"
#: glances/plugins/glances_sensors.py:133
msgid "SENSORS"
msgstr "SENSOREN"
#: glances/plugins/glances_sensors.py:136
#: glances/plugins/glances_sensors.py:138
msgid "°C"
msgstr "°C"
#: glances/plugins/glances_now.py:47
msgid "%Y-%m-%d %H:%M:%S"
msgstr "%d.%m.%Y %H:%M:%S"
#: glances/plugins/glances_processlist.py:288
msgid "CPU affinity: "
msgstr ""
#: glances/plugins/glances_processlist.py:288
msgid " cores"
msgstr ""
#: glances/plugins/glances_processlist.py:293
msgid "Memory info: "
msgstr ""
#: glances/plugins/glances_processlist.py:299
msgid "swap "
msgstr ""
#: glances/plugins/glances_processlist.py:304
msgid "threads "
msgstr ""
#: glances/plugins/glances_processlist.py:306
msgid "files "
msgstr ""
#: glances/plugins/glances_processlist.py:308
msgid "handles "
msgstr ""
#: glances/plugins/glances_processlist.py:310
msgid "TCP "
msgstr ""
#: glances/plugins/glances_processlist.py:312
msgid "UDP "
msgstr ""
#: glances/plugins/glances_processlist.py:315
msgid "Open: "
msgstr ""
#: glances/plugins/glances_processlist.py:320
msgid "IO nice: "
msgstr ""
#: glances/plugins/glances_processlist.py:321
msgid "Class is "
msgstr ""
#: glances/plugins/glances_processlist.py:331
#: glances/plugins/glances_processlist.py:336
msgid "No specific I/O priority"
msgstr ""
#: glances/plugins/glances_processlist.py:348
#, python-format
msgid " (value %s/7)"
msgstr ""
#: glances/plugins/glances_processlist.py:367
#: glances/outputs/glances_curses.py:1012
msgid "CPU%"
msgstr "CPU %"
#: glances/plugins/glances_processlist.py:369
#: glances/outputs/glances_curses.py:1013
msgid "MEM%"
msgstr "RAM%"
#: glances/plugins/glances_processlist.py:371
msgid "VIRT"
msgstr "VIRT"
#: glances/plugins/glances_processlist.py:373
msgid "RES"
msgstr "RES"
#: glances/plugins/glances_processlist.py:375
msgid "PID"
msgstr "PID"
#: glances/plugins/glances_processlist.py:377
msgid "USER"
msgstr "BENUTZER"
#: glances/plugins/glances_processlist.py:379
msgid "NI"
msgstr "NI"
#: glances/plugins/glances_processlist.py:381
msgid "S"
msgstr "S"
#: glances/plugins/glances_processlist.py:383
msgid "TIME+"
msgstr "ZEIT+"
#: glances/plugins/glances_processlist.py:385
msgid "IOR/s"
msgstr "IOR/s"
#: glances/plugins/glances_processlist.py:387
msgid "IOW/s"
msgstr "IOW/s"
#: glances/plugins/glances_processlist.py:389
msgid "Command"
msgstr "Befehl"
#: glances/plugins/glances_monitor.py:101
msgid "RUNNING"
msgstr "LAUFEND"
#: glances/plugins/glances_monitor.py:101
msgid "NOT RUNNING"
msgstr "NICHT LAUFEND"
#: glances/plugins/glances_network.py:201
msgid "NETWORK"
msgstr "NETZWERK"
#: glances/plugins/glances_network.py:207
msgid "Rx+Tx"
msgstr "Rx+Tx"
#: glances/plugins/glances_network.py:211
msgid "Rx"
msgstr "Rx"
#: glances/plugins/glances_network.py:213
msgid "Tx"
msgstr "Tx"
#: glances/plugins/glances_network.py:219
msgid "Rx+Tx/s"
msgstr "Rx+Tx/s"
#: glances/plugins/glances_network.py:222
msgid "Rx/s"
msgstr "Rx/s"
#: glances/plugins/glances_network.py:224
msgid "Tx/s"
msgstr "Tx/s"
#: glances/plugins/glances_alert.py:71
msgid "No warning or critical alert detected"
msgstr "Keine (kritische) Warnung entdeckt"
#: glances/plugins/glances_alert.py:75
msgid "Warning or critical alerts"
msgstr "(Kritische) Warnungen"
#: glances/plugins/glances_alert.py:79
#, python-brace-format
msgid " (lasts {0} entries)"
msgstr " (letzte {0} Einträge)"
#: glances/plugins/glances_alert.py:81
msgid " (one entry)"
msgstr " (ein Eintrag)"
#: glances/plugins/glances_alert.py:95
msgid " (ongoing)"
msgstr "(laufend)"
#: glances/plugins/glances_alert.py:101
#, python-brace-format
msgid "{0} on {1}"
msgstr "{0} auf {1}"
#: glances/plugins/glances_alert.py:110
#, python-brace-format
msgid " (Min:{0:.1f} Mean:{1:.1f} Max:{2:.1f})"
msgstr " (Min:{0:.1f} Mittel:{1:.1f} Max:{2:.1f})"
#: glances/plugins/glances_system.py:158
msgid "Connected to "
msgstr "Verbunden mit "
#: glances/plugins/glances_system.py:161
msgid "SNMP from "
msgstr "SNMP von "
#: glances/plugins/glances_system.py:164
msgid "Disconnected from "
msgstr "Getrennt von "
#: glances/plugins/glances_mem.py:171
msgid "MEM"
msgstr "RAM"
#: glances/plugins/glances_mem.py:178
msgid "active:"
msgstr "aktiv:"
#: glances/plugins/glances_mem.py:191
msgid "inactive:"
msgstr "inaktiv:"
#: glances/plugins/glances_mem.py:205
msgid "buffers:"
msgstr "Puffer:"
#: glances/plugins/glances_mem.py:218
msgid "cached:"
msgstr "cached:"
#: glances/plugins/glances_help.py:58
#, python-brace-format
msgid " with PSutil {0}"
msgstr ""
#: glances/plugins/glances_help.py:64
msgid "Configuration file"
msgstr ""
#: glances/plugins/glances_help.py:77
msgid "Sort processes automatically"
msgstr "Prozesse automatisch sortieren"
#: glances/plugins/glances_help.py:79
msgid "Bytes or bits for network I/O"
msgstr "Bytes oder Bits für Netzwerk I/O"
#: glances/plugins/glances_help.py:82
msgid "Sort processes by CPU%"
msgstr "Prozesse nach CPU% sortieren"
#: glances/plugins/glances_help.py:84
msgid "Show/hide alert logs"
msgstr ""
#: glances/plugins/glances_help.py:87
msgid "Sort processes by MEM%"
msgstr "Prozesse nach RAM% sortieren"
#: glances/plugins/glances_help.py:89
msgid "Delete warning alerts"
msgstr "Warnungen entfernen"
#: glances/plugins/glances_help.py:92
msgid "Sort processes by name"
msgstr "Prozesse nach Name sortieren"
#: glances/plugins/glances_help.py:94
msgid "Delete warning and critical alerts"
msgstr "(Kritische) Warnungen entfernen"
#: glances/plugins/glances_help.py:97
msgid "Sort processes by I/O rate"
msgstr "Prozesse nach I/O-Geschwindigkeit sortieren"
#: glances/plugins/glances_help.py:99
msgid "Global CPU or per-CPU stats"
msgstr "Globale oder pro-CPU-Daten"
#: glances/plugins/glances_help.py:102
msgid "Sort processes by CPU times"
msgstr ""
#: glances/plugins/glances_help.py:104
msgid "Show/hide this help screen"
msgstr "Diese Hilfe zeigen/verstecken"
#: glances/plugins/glances_help.py:107
msgid "Show/hide disk I/O stats"
msgstr "I/O-Daten zeigen/verstecken"
#: glances/plugins/glances_help.py:109
msgid "View network I/O as combination"
msgstr "Netzwerk-I/O kombiniert zeigen"
#: glances/plugins/glances_help.py:112
msgid "Show/hide filesystem stats"
msgstr ""
#: glances/plugins/glances_help.py:114
msgid "View cumulative network I/O"
msgstr "kumulative Netzwerk-I/O zeigen"
#: glances/plugins/glances_help.py:117
msgid "Show/hide network stats"
msgstr "Netzwerk-Daten zeigen/verstecken"
#: glances/plugins/glances_help.py:119
msgid "Show filesystem free space"
msgstr ""
#: glances/plugins/glances_help.py:122
msgid "Show/hide sensors stats"
msgstr "Sensor-Daten zeigen/verstecken"
#: glances/plugins/glances_help.py:124
msgid "Generate graphs for current history"
msgstr ""
#: glances/plugins/glances_help.py:127
msgid "Show/hide left sidebar"
msgstr ""
#: glances/plugins/glances_help.py:129 glances/outputs/glances_curses.py:550
msgid "Reset history"
msgstr ""
#: glances/plugins/glances_help.py:132
msgid "Enable/disable processes stats"
msgstr "Prozess-Daten aktivieren/deaktivieren"
#: glances/plugins/glances_help.py:134
msgid "Quit (Esc and Ctrl-C also work)"
msgstr "Beenden (auch Esc und Strg+C)"
#: glances/plugins/glances_help.py:137
msgid "Enable/disable top extended stats"
msgstr ""
#: glances/plugins/glances_help.py:140
msgid "Enable/disable short processes name"
msgstr ""
#: glances/plugins/glances_help.py:145
msgid "Edit the process filter pattern"
msgstr ""
#: glances/plugins/glances_load.py:127 glances/outputs/glances_curses.py:1011
msgid "LOAD"
msgstr "LAST"
#: glances/plugins/glances_load.py:131
#, python-brace-format
msgid "{0:d}-core"
msgstr ""
#: glances/plugins/glances_load.py:136
msgid "1 min:"
msgstr "1 Min:"
#: glances/plugins/glances_load.py:143
msgid "5 min:"
msgstr "5 Min:"
#: glances/plugins/glances_load.py:151
msgid "15 min:"
msgstr "15 Min:"
#: glances/plugins/glances_cpu.py:141
msgid "CPU"
msgstr "CPU"
#: glances/plugins/glances_cpu.py:151
msgid "nice:"
msgstr "nice:"
#: glances/plugins/glances_cpu.py:170
msgid "irq:"
msgstr "IRQ:"
#: glances/plugins/glances_cpu.py:183
msgid "core:"
msgstr ""
#: glances/plugins/glances_cpu.py:189
msgid "iowait:"
msgstr "IOWait:"
#: glances/plugins/glances_cpu.py:203
msgid "steal:"
msgstr "Steal:"
#: glances/outputs/glances_curses.py:546
#, python-format
msgid ""
"Generate graphs history in %s\n"
"Please wait..."
msgstr ""
#: glances/outputs/glances_curses.py:548
#, python-format
msgid ""
"Generate graphs history in %s\n"
"Done: %s graphs generated"
msgstr ""
#: glances/outputs/glances_curses.py:557
msgid ""
"History disabled\n"
"Enable it using --enable-history"
msgstr ""
#: glances/outputs/glances_curses.py:560
msgid ""
"History disabled\n"
"Please install MatPlotLib"
msgstr ""
#: glances/outputs/glances_curses.py:567
msgid "Process filter pattern: "
msgstr ""
#: glances/outputs/glances_curses.py:573
msgid "Process filter only available in standalone mode"
msgstr ""
#: glances/outputs/glances_curses.py:984
msgid "Glances is scanning your network (please wait)..."
msgstr ""
#: glances/outputs/glances_curses.py:987
msgid "No Glances servers available"
msgstr ""
#: glances/outputs/glances_curses.py:989
msgid "One Glances server available"
msgstr ""
#: glances/outputs/glances_curses.py:991
#, python-format
msgid "%d Glances servers available"
msgstr ""
#: glances/outputs/glances_curses.py:994
msgid "(auto discover is disabled)"
msgstr ""
#: glances/outputs/glances_curses.py:1009
msgid "Name"
msgstr ""
#: glances/outputs/glances_curses.py:1014
msgid "STATUS"
msgstr ""
#: glances/outputs/glances_curses.py:1015
msgid "IP"
msgstr ""
#: glances/outputs/glances_curses.py:1017
msgid "OS"
msgstr ""
#: glances/outputs/glances_bottle.py:34
msgid "Install it using pip: # pip install bottle"
msgstr ""
#: glances/outputs/glances_bottle.py:104
#, python-brace-format
msgid "Glances web server started on http://{0}:{1}/"
msgstr ""
#: glances/core/glances_password.py:119
msgid "Password: "
msgstr "Passwort:"
#: glances/core/glances_password.py:123
msgid "Password (confirm): "
msgstr "Passwort (wiederholen):"
#: glances/core/glances_password.py:137
msgid "Do you want to save the password? [Yes/No]: "
msgstr "Willst du das Passwort speichern? [Ja/Nein]"
#: glances/core/glances_password.py:138
msgid "Y"
msgstr "J"
#: glances/core/glances_monitor_list.py:146
msgid "Error: "
msgstr "Fehler: "
#: glances/core/glances_monitor_list.py:148
msgid "Cannot execute command"
msgstr "Kann Befehl nicht ausführen"
#: glances/core/glances_client_browser.py:158
#, python-format
msgid "Connect to %s:%s"
msgstr ""
#: glances/core/glances_client_browser.py:164
#, python-format
msgid "Password needed for %s: "
msgstr ""
#: glances/core/glances_client_browser.py:187
#, python-format
msgid "Sorry, cannot connect to %s (see log file for additional information)"
msgstr ""
#: glances/core/glances_client.py:116
msgid "Trying fallback to SNMP..."
msgstr ""
#: glances/core/glances_main.py:65
msgid "Enable debug mode"
msgstr ""
#: glances/core/glances_main.py:67
msgid "path to the configuration file"
msgstr "Pfad zur Konfigurationsdatei"
#: glances/core/glances_main.py:70
msgid "disable network module"
msgstr "Netzwerk-Modul deaktivieren"
#: glances/core/glances_main.py:72
msgid "disable disk I/O module"
msgstr "Disk-I/O-Modul deaktivieren"
#: glances/core/glances_main.py:74
msgid "disable filesystem module"
msgstr "Dateisystem-Modul deaktivieren"
#: glances/core/glances_main.py:76
msgid "disable sensors module"
msgstr "Sensor-Modul deaktivieren"
#: glances/core/glances_main.py:78
msgid "disable network, disk io, FS and sensors modules"
msgstr ""
#: glances/core/glances_main.py:80
msgid "disable process module"
msgstr "Prozess-Modul deaktivieren"
#: glances/core/glances_main.py:82
msgid "disable log module"
msgstr "Log-Modul deaktivieren"
#: glances/core/glances_main.py:84
msgid "disable bold mode in the terminal"
msgstr "Fett-Modus im Terminal deaktivieren"
#: glances/core/glances_main.py:86
msgid "enable extended stats on top process"
msgstr ""
#: glances/core/glances_main.py:88
msgid "enable the history mode"
msgstr ""
#: glances/core/glances_main.py:90
msgid "Set the export path for graph history"
msgstr ""
#: glances/core/glances_main.py:93
msgid "export stats to a CSV file"
msgstr "Exportiere Daten zu CSV-Datei"
#: glances/core/glances_main.py:96
msgid "connect to a Glances server by IPv4/IPv6 address or hostname"
msgstr "Zu einem Glances-Server mit IPv4/IPv6-Adresse oder Hostnamen verbinden"
#: glances/core/glances_main.py:98
msgid "run Glances in server mode"
msgstr "Glances im Server-Modus ausführen"
#: glances/core/glances_main.py:100
msgid "start the client browser (list of servers)"
msgstr ""
#: glances/core/glances_main.py:102
msgid "disable autodiscover feature"
msgstr ""
#: glances/core/glances_main.py:104
#, python-brace-format
msgid "define the client/server TCP port [default: {0}]"
msgstr "Client-/Server-TCP-Port festlegen [default: {0}]"
#: glances/core/glances_main.py:106
msgid "bind server to the given IPv4/IPv6 address or hostname"
msgstr "Server auf gegebene IPv4/IPv6-Adresse oder Hostnamen festlegen"
#: glances/core/glances_main.py:108
msgid "define password from the command line"
msgstr "Passwort auf Kommandozeile bestimmen"
#: glances/core/glances_main.py:110
msgid "define a client/server password from the prompt or file"
msgstr "Client-/Server-Passwort über Prompt oder Datei festlegen"
#: glances/core/glances_main.py:112
msgid "SNMP community"
msgstr "SNMP-Community"
#: glances/core/glances_main.py:114
msgid "SNMP port"
msgstr "SNMP-Port"
#: glances/core/glances_main.py:116
msgid "SNMP version (1, 2c or 3)"
msgstr "SNMP-Version (1, 2c oder 3)"
#: glances/core/glances_main.py:118
msgid "SNMP username (only for SNMPv3)"
msgstr "SNMP-Benutzername (nur für SNMPv3)"
#: glances/core/glances_main.py:120
msgid "SNMP authentication key (only for SNMPv3)"
msgstr "SNMP-Authentifizierungs-Schlüssel (nur für SNMPv3)"
#: glances/core/glances_main.py:122
msgid "force SNMP mode"
msgstr ""
#: glances/core/glances_main.py:124
#, python-brace-format
msgid "set refresh time in seconds [default: {0} sec]"
msgstr "Aktualisierungszeit in Sekunden [default: {0} Sek]"
#: glances/core/glances_main.py:126
msgid "run Glances in web server mode"
msgstr "Glances im Webserver-Modus starten"
#: glances/core/glances_main.py:129
msgid "set the process filter pattern (regular expression)"
msgstr ""
#: glances/core/glances_main.py:131
msgid "force short name for processes name"
msgstr ""
#: glances/core/glances_main.py:134
msgid "hide kernel threads in process list"
msgstr ""
#: glances/core/glances_main.py:136
msgid "display processes as a tree"
msgstr ""
#: glances/core/glances_main.py:138
msgid "display network rate in byte per second"
msgstr "Netzwerkgeschwindigkeit anzeigen in Byte/Sekunde"
#: glances/core/glances_main.py:140
msgid "start Glances in per CPU mode"
msgstr "Glances im pro-CPU-Modus starten"
#: glances/core/glances_main.py:142
msgid "display FS free space instead of used"
msgstr ""
#: glances/core/glances_main.py:144
msgid "optimize display for white background"
msgstr ""
#: glances/core/glances_main.py:188
msgid "Define the password for the Glances server"
msgstr "Passwort für Glances-Server festlegen"
#: glances/core/glances_main.py:192
msgid "Enter the Glances server password"
msgstr "Passwort für Glances-Server eingeben"
#~ msgid "Error: The server version is not compatible with the client"
#~ msgstr "Fehler: Die Server-Version ist mit dem Client nicht kompatibel"
#~ msgid "Error: Update {0} failed: {1}"
#~ msgstr "Fehler: Aktualisierung {0} ist fehlgeschlagen: {1}"
#~ msgid "Error: Couldn't create socket {0}: {1}"
#~ msgstr "Fehler: Konnte Socket {0} nicht erzeugen: {1}"
#~ msgid "Error: Connection to server failed: Bad password"
#~ msgstr "Fehler: Verbindung zum Server fehlgeschlagen: Falsches Passwort"
#~ msgid "Error: Connection to server failed: {0}"
#~ msgstr "Fehler: Verbindung zum Server fehlgeschlagen: {0}"
#~ msgid ""
#~ "Info: Connection to Glances server failed. Trying fallback to SNMP..."
#~ msgstr ""
#~ "Info: Verbindung zum Glances-Server fehlgeschlagen. Versuche Fallback zu "
#~ "SNMP..."
#~ msgid "Error: Connection to SNMP server failed"
#~ msgstr "Fehler: Verbindung zum SNMP-Server fehlgeschlagen"
#~ msgid "Error: Unknown server mode: {0}"
#~ msgstr "Fehler: Unbekannter Servers-Modus: {0}"
#~ msgid "Error: Cannot decode configuration file '{0}': {1}"
#~ msgstr "Fehler: Kann Konfigurationsdatei '{0}' nicht lesen: {1}"
#~ msgid "Error: Cannot read monitored list: {0}"
#~ msgstr "Fehler: Kann Überwachungs-Liste nicht lesen: {0}"
#~ msgid "Info: Read password from file: {0}"
#~ msgstr "Info: Passwort gelesen aus Datei {0}"
#~ msgid "Error: Sorry, but passwords did not match..."
#~ msgstr "Fehler: Passwörter stimmen nicht überein..."
#~ msgid "Warning: Cannot create Glances directory: {0}"
#~ msgstr "Warnung: Kann Glances-Ordner nicht erzeugen: {0}"
#~ msgid "Error: Couldn't open socket: {0}"
#~ msgstr "Fehler: Kann Socket nicht öffnen: {0}"
#~ msgid "Error: Cannot start Glances server: {0}"
#~ msgstr "Fehler: Kann Glances-Server nicht starten: {0}"
#~ msgid "Error: Cannot init the curses library.\n"
#~ msgstr "Fehler: Kann curses-Bibliothek nicht initialisieren.\n"
#~ msgid "Error: Cannot create the CSV file: {0}"
#~ msgstr "Fehler: Kann CSV-Datei nicht erzeugen: {0}"
#~ msgid "Stats dumped to CSV file: {0}"
#~ msgstr "Daten nach CSV-Datei gespeichert: {0}"
#~ msgid " with psutil {0}"
#~ msgstr " mit psutil {0}"
#~ msgid "a"
#~ msgstr "a"
#~ msgid "b"
#~ msgstr "b"
#~ msgid "c"
#~ msgstr "c"
#~ msgid "l"
#~ msgstr "l"
#~ msgid "Show/hide logs (alerts)"
#~ msgstr "Logs (Warnungen) zeigen/verstecken"
#~ msgid "m"
#~ msgstr "m"
#~ msgid "w"
#~ msgstr "w"
#~ msgid "p"
#~ msgstr "p"
#~ msgid "x"
#~ msgstr "x"
#~ msgid "i"
#~ msgstr "i"
#~ msgid "1"
#~ msgstr "1"
#~ msgid "d"
#~ msgstr "d"
#~ msgid "h"
#~ msgstr "h"
#~ msgid "f"
#~ msgstr "f"
#~ msgid "Show/hide file system stats"
#~ msgstr "Zeige/Verstecke Dateisystem-Daten"
#~ msgid "t"
#~ msgstr "t"
#~ msgid "n"
#~ msgstr "n"
#~ msgid "u"
#~ msgstr "u"
#~ msgid "s"
#~ msgstr "s"
#~ msgid "z"
#~ msgstr "z"
#~ msgid "q"
#~ msgstr "q"
#~ msgid "{0}-core"
#~ msgstr "{0}-Kern"

View File

@ -1,819 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-12-13 22:14+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: glances/__init__.py:166
#, python-brace-format
msgid "Glances server is running on {0}:{1}"
msgstr ""
#: glances/plugins/glances_diskio.py:132
msgid "DISK I/O"
msgstr ""
#: glances/plugins/glances_diskio.py:134
msgid "R/s"
msgstr ""
#: glances/plugins/glances_diskio.py:136
msgid "W/s"
msgstr ""
#: glances/plugins/glances_memswap.py:146
msgid "SWAP"
msgstr ""
#: glances/plugins/glances_memswap.py:154 glances/plugins/glances_mem.py:185
msgid "total:"
msgstr ""
#: glances/plugins/glances_memswap.py:161 glances/plugins/glances_mem.py:198
msgid "used:"
msgstr ""
#: glances/plugins/glances_memswap.py:169 glances/plugins/glances_mem.py:212
msgid "free:"
msgstr ""
#: glances/plugins/glances_batpercent.py:96
msgid "Battery (%)"
msgstr ""
#: glances/plugins/glances_percpu.py:94
msgid "PER CPU not available"
msgstr ""
#: glances/plugins/glances_percpu.py:100
msgid "PER CPU"
msgstr ""
#: glances/plugins/glances_percpu.py:110 glances/plugins/glances_cpu.py:159
msgid "user:"
msgstr ""
#: glances/plugins/glances_percpu.py:118 glances/plugins/glances_cpu.py:178
msgid "system:"
msgstr ""
#: glances/plugins/glances_percpu.py:126 glances/plugins/glances_cpu.py:164
#: glances/plugins/glances_cpu.py:197
msgid "idle:"
msgstr ""
#: glances/plugins/glances_processcount.py:76
msgid "PROCESSES DISABLED (press 'z' to display)"
msgstr ""
#: glances/plugins/glances_processcount.py:85
msgid "Processes filter:"
msgstr ""
#: glances/plugins/glances_processcount.py:87
#, python-brace-format
msgid " {0} "
msgstr ""
#: glances/plugins/glances_processcount.py:89
msgid "(press ENTER to edit)"
msgstr ""
#: glances/plugins/glances_processcount.py:95
msgid "TASKS "
msgstr ""
#: glances/plugins/glances_processcount.py:103
#, python-brace-format
msgid " ({0} thr),"
msgstr ""
#: glances/plugins/glances_processcount.py:108
#, python-brace-format
msgid " {0} run,"
msgstr ""
#: glances/plugins/glances_processcount.py:113
#, python-brace-format
msgid " {0} slp,"
msgstr ""
#: glances/plugins/glances_processcount.py:116
#, python-brace-format
msgid " {0} oth "
msgstr ""
#: glances/plugins/glances_processcount.py:121
msgid "sorted automatically"
msgstr ""
#: glances/plugins/glances_processcount.py:123
#, python-brace-format
msgid " by {0}"
msgstr ""
#: glances/plugins/glances_processcount.py:126
#, python-brace-format
msgid "sorted by {0}"
msgstr ""
#: glances/plugins/glances_fs.py:175
msgid "FILE SYS"
msgstr ""
#: glances/plugins/glances_fs.py:178
msgid "Free"
msgstr ""
#: glances/plugins/glances_fs.py:180
msgid "Used"
msgstr ""
#: glances/plugins/glances_fs.py:182
msgid "Total"
msgstr ""
#: glances/plugins/glances_uptime.py:89
#, python-brace-format
msgid "Uptime: {0}"
msgstr ""
#: glances/plugins/glances_sensors.py:133
msgid "SENSORS"
msgstr ""
#: glances/plugins/glances_sensors.py:136
#: glances/plugins/glances_sensors.py:138
msgid "°C"
msgstr ""
#: glances/plugins/glances_now.py:47
msgid "%Y-%m-%d %H:%M:%S"
msgstr ""
#: glances/plugins/glances_processlist.py:288
msgid "CPU affinity: "
msgstr ""
#: glances/plugins/glances_processlist.py:288
msgid " cores"
msgstr ""
#: glances/plugins/glances_processlist.py:293
msgid "Memory info: "
msgstr ""
#: glances/plugins/glances_processlist.py:299
msgid "swap "
msgstr ""
#: glances/plugins/glances_processlist.py:304
msgid "threads "
msgstr ""
#: glances/plugins/glances_processlist.py:306
msgid "files "
msgstr ""
#: glances/plugins/glances_processlist.py:308
msgid "handles "
msgstr ""
#: glances/plugins/glances_processlist.py:310
msgid "TCP "
msgstr ""
#: glances/plugins/glances_processlist.py:312
msgid "UDP "
msgstr ""
#: glances/plugins/glances_processlist.py:315
msgid "Open: "
msgstr ""
#: glances/plugins/glances_processlist.py:320
msgid "IO nice: "
msgstr ""
#: glances/plugins/glances_processlist.py:321
msgid "Class is "
msgstr ""
#: glances/plugins/glances_processlist.py:331
#: glances/plugins/glances_processlist.py:336
msgid "No specific I/O priority"
msgstr ""
#: glances/plugins/glances_processlist.py:348
#, python-format
msgid " (value %s/7)"
msgstr ""
#: glances/plugins/glances_processlist.py:367
#: glances/outputs/glances_curses.py:1012
msgid "CPU%"
msgstr ""
#: glances/plugins/glances_processlist.py:369
#: glances/outputs/glances_curses.py:1013
msgid "MEM%"
msgstr ""
#: glances/plugins/glances_processlist.py:371
msgid "VIRT"
msgstr ""
#: glances/plugins/glances_processlist.py:373
msgid "RES"
msgstr ""
#: glances/plugins/glances_processlist.py:375
msgid "PID"
msgstr ""
#: glances/plugins/glances_processlist.py:377
msgid "USER"
msgstr ""
#: glances/plugins/glances_processlist.py:379
msgid "NI"
msgstr ""
#: glances/plugins/glances_processlist.py:381
msgid "S"
msgstr ""
#: glances/plugins/glances_processlist.py:383
msgid "TIME+"
msgstr ""
#: glances/plugins/glances_processlist.py:385
msgid "IOR/s"
msgstr ""
#: glances/plugins/glances_processlist.py:387
msgid "IOW/s"
msgstr ""
#: glances/plugins/glances_processlist.py:389
msgid "Command"
msgstr ""
#: glances/plugins/glances_monitor.py:101
msgid "RUNNING"
msgstr ""
#: glances/plugins/glances_monitor.py:101
msgid "NOT RUNNING"
msgstr ""
#: glances/plugins/glances_network.py:201
msgid "NETWORK"
msgstr ""
#: glances/plugins/glances_network.py:207
msgid "Rx+Tx"
msgstr ""
#: glances/plugins/glances_network.py:211
msgid "Rx"
msgstr ""
#: glances/plugins/glances_network.py:213
msgid "Tx"
msgstr ""
#: glances/plugins/glances_network.py:219
msgid "Rx+Tx/s"
msgstr ""
#: glances/plugins/glances_network.py:222
msgid "Rx/s"
msgstr ""
#: glances/plugins/glances_network.py:224
msgid "Tx/s"
msgstr ""
#: glances/plugins/glances_alert.py:71
msgid "No warning or critical alert detected"
msgstr ""
#: glances/plugins/glances_alert.py:75
msgid "Warning or critical alerts"
msgstr ""
#: glances/plugins/glances_alert.py:79
#, python-brace-format
msgid " (lasts {0} entries)"
msgstr ""
#: glances/plugins/glances_alert.py:81
msgid " (one entry)"
msgstr ""
#: glances/plugins/glances_alert.py:95
msgid " (ongoing)"
msgstr ""
#: glances/plugins/glances_alert.py:101
#, python-brace-format
msgid "{0} on {1}"
msgstr ""
#: glances/plugins/glances_alert.py:110
#, python-brace-format
msgid " (Min:{0:.1f} Mean:{1:.1f} Max:{2:.1f})"
msgstr ""
#: glances/plugins/glances_system.py:158
msgid "Connected to "
msgstr ""
#: glances/plugins/glances_system.py:161
msgid "SNMP from "
msgstr ""
#: glances/plugins/glances_system.py:164
msgid "Disconnected from "
msgstr ""
#: glances/plugins/glances_mem.py:171
msgid "MEM"
msgstr ""
#: glances/plugins/glances_mem.py:178
msgid "active:"
msgstr ""
#: glances/plugins/glances_mem.py:191
msgid "inactive:"
msgstr ""
#: glances/plugins/glances_mem.py:205
msgid "buffers:"
msgstr ""
#: glances/plugins/glances_mem.py:218
msgid "cached:"
msgstr ""
#: glances/plugins/glances_help.py:58
#, python-brace-format
msgid " with PSutil {0}"
msgstr ""
#: glances/plugins/glances_help.py:64
msgid "Configuration file"
msgstr ""
#: glances/plugins/glances_help.py:77
msgid "Sort processes automatically"
msgstr ""
#: glances/plugins/glances_help.py:79
msgid "Bytes or bits for network I/O"
msgstr ""
#: glances/plugins/glances_help.py:82
msgid "Sort processes by CPU%"
msgstr ""
#: glances/plugins/glances_help.py:84
msgid "Show/hide alert logs"
msgstr ""
#: glances/plugins/glances_help.py:87
msgid "Sort processes by MEM%"
msgstr ""
#: glances/plugins/glances_help.py:89
msgid "Delete warning alerts"
msgstr ""
#: glances/plugins/glances_help.py:92
msgid "Sort processes by name"
msgstr ""
#: glances/plugins/glances_help.py:94
msgid "Delete warning and critical alerts"
msgstr ""
#: glances/plugins/glances_help.py:97
msgid "Sort processes by I/O rate"
msgstr ""
#: glances/plugins/glances_help.py:99
msgid "Global CPU or per-CPU stats"
msgstr ""
#: glances/plugins/glances_help.py:102
msgid "Sort processes by CPU times"
msgstr ""
#: glances/plugins/glances_help.py:104
msgid "Show/hide this help screen"
msgstr ""
#: glances/plugins/glances_help.py:107
msgid "Show/hide disk I/O stats"
msgstr ""
#: glances/plugins/glances_help.py:109
msgid "View network I/O as combination"
msgstr ""
#: glances/plugins/glances_help.py:112
msgid "Show/hide filesystem stats"
msgstr ""
#: glances/plugins/glances_help.py:114
msgid "View cumulative network I/O"
msgstr ""
#: glances/plugins/glances_help.py:117
msgid "Show/hide network stats"
msgstr ""
#: glances/plugins/glances_help.py:119
msgid "Show filesystem free space"
msgstr ""
#: glances/plugins/glances_help.py:122
msgid "Show/hide sensors stats"
msgstr ""
#: glances/plugins/glances_help.py:124
msgid "Generate graphs for current history"
msgstr ""
#: glances/plugins/glances_help.py:127
msgid "Show/hide left sidebar"
msgstr ""
#: glances/plugins/glances_help.py:129 glances/outputs/glances_curses.py:550
msgid "Reset history"
msgstr ""
#: glances/plugins/glances_help.py:132
msgid "Enable/disable processes stats"
msgstr ""
#: glances/plugins/glances_help.py:134
msgid "Quit (Esc and Ctrl-C also work)"
msgstr ""
#: glances/plugins/glances_help.py:137
msgid "Enable/disable top extended stats"
msgstr ""
#: glances/plugins/glances_help.py:140
msgid "Enable/disable short processes name"
msgstr ""
#: glances/plugins/glances_help.py:145
msgid "Edit the process filter pattern"
msgstr ""
#: glances/plugins/glances_load.py:127 glances/outputs/glances_curses.py:1011
msgid "LOAD"
msgstr ""
#: glances/plugins/glances_load.py:131
#, python-brace-format
msgid "{0:d}-core"
msgstr ""
#: glances/plugins/glances_load.py:136
msgid "1 min:"
msgstr ""
#: glances/plugins/glances_load.py:143
msgid "5 min:"
msgstr ""
#: glances/plugins/glances_load.py:151
msgid "15 min:"
msgstr ""
#: glances/plugins/glances_cpu.py:141
msgid "CPU"
msgstr ""
#: glances/plugins/glances_cpu.py:151
msgid "nice:"
msgstr ""
#: glances/plugins/glances_cpu.py:170
msgid "irq:"
msgstr ""
#: glances/plugins/glances_cpu.py:183
msgid "core:"
msgstr ""
#: glances/plugins/glances_cpu.py:189
msgid "iowait:"
msgstr ""
#: glances/plugins/glances_cpu.py:203
msgid "steal:"
msgstr ""
#: glances/outputs/glances_curses.py:546
#, python-format
msgid ""
"Generate graphs history in %s\n"
"Please wait..."
msgstr ""
#: glances/outputs/glances_curses.py:548
#, python-format
msgid ""
"Generate graphs history in %s\n"
"Done: %s graphs generated"
msgstr ""
#: glances/outputs/glances_curses.py:557
msgid ""
"History disabled\n"
"Enable it using --enable-history"
msgstr ""
#: glances/outputs/glances_curses.py:560
msgid ""
"History disabled\n"
"Please install MatPlotLib"
msgstr ""
#: glances/outputs/glances_curses.py:567
msgid "Process filter pattern: "
msgstr ""
#: glances/outputs/glances_curses.py:573
msgid "Process filter only available in standalone mode"
msgstr ""
#: glances/outputs/glances_curses.py:984
msgid "Glances is scanning your network (please wait)..."
msgstr ""
#: glances/outputs/glances_curses.py:987
msgid "No Glances servers available"
msgstr ""
#: glances/outputs/glances_curses.py:989
msgid "One Glances server available"
msgstr ""
#: glances/outputs/glances_curses.py:991
#, python-format
msgid "%d Glances servers available"
msgstr ""
#: glances/outputs/glances_curses.py:994
msgid "(auto discover is disabled)"
msgstr ""
#: glances/outputs/glances_curses.py:1009
msgid "Name"
msgstr ""
#: glances/outputs/glances_curses.py:1014
msgid "STATUS"
msgstr ""
#: glances/outputs/glances_curses.py:1015
msgid "IP"
msgstr ""
#: glances/outputs/glances_curses.py:1017
msgid "OS"
msgstr ""
#: glances/outputs/glances_bottle.py:34
msgid "Install it using pip: # pip install bottle"
msgstr ""
#: glances/outputs/glances_bottle.py:104
#, python-brace-format
msgid "Glances web server started on http://{0}:{1}/"
msgstr ""
#: glances/core/glances_password.py:119
msgid "Password: "
msgstr ""
#: glances/core/glances_password.py:123
msgid "Password (confirm): "
msgstr ""
#: glances/core/glances_password.py:137
msgid "Do you want to save the password? [Yes/No]: "
msgstr ""
#: glances/core/glances_password.py:138
msgid "Y"
msgstr ""
#: glances/core/glances_monitor_list.py:146
msgid "Error: "
msgstr ""
#: glances/core/glances_monitor_list.py:148
msgid "Cannot execute command"
msgstr ""
#: glances/core/glances_client_browser.py:158
#, python-format
msgid "Connect to %s:%s"
msgstr ""
#: glances/core/glances_client_browser.py:164
#, python-format
msgid "Password needed for %s: "
msgstr ""
#: glances/core/glances_client_browser.py:187
#, python-format
msgid "Sorry, cannot connect to %s (see log file for additional information)"
msgstr ""
#: glances/core/glances_client.py:116
msgid "Trying fallback to SNMP..."
msgstr ""
#: glances/core/glances_main.py:65
msgid "Enable debug mode"
msgstr ""
#: glances/core/glances_main.py:67
msgid "path to the configuration file"
msgstr ""
#: glances/core/glances_main.py:70
msgid "disable network module"
msgstr ""
#: glances/core/glances_main.py:72
msgid "disable disk I/O module"
msgstr ""
#: glances/core/glances_main.py:74
msgid "disable filesystem module"
msgstr ""
#: glances/core/glances_main.py:76
msgid "disable sensors module"
msgstr ""
#: glances/core/glances_main.py:78
msgid "disable network, disk io, FS and sensors modules"
msgstr ""
#: glances/core/glances_main.py:80
msgid "disable process module"
msgstr ""
#: glances/core/glances_main.py:82
msgid "disable log module"
msgstr ""
#: glances/core/glances_main.py:84
msgid "disable bold mode in the terminal"
msgstr ""
#: glances/core/glances_main.py:86
msgid "enable extended stats on top process"
msgstr ""
#: glances/core/glances_main.py:88
msgid "enable the history mode"
msgstr ""
#: glances/core/glances_main.py:90
msgid "Set the export path for graph history"
msgstr ""
#: glances/core/glances_main.py:93
msgid "export stats to a CSV file"
msgstr ""
#: glances/core/glances_main.py:96
msgid "connect to a Glances server by IPv4/IPv6 address or hostname"
msgstr ""
#: glances/core/glances_main.py:98
msgid "run Glances in server mode"
msgstr ""
#: glances/core/glances_main.py:100
msgid "start the client browser (list of servers)"
msgstr ""
#: glances/core/glances_main.py:102
msgid "disable autodiscover feature"
msgstr ""
#: glances/core/glances_main.py:104
#, python-brace-format
msgid "define the client/server TCP port [default: {0}]"
msgstr ""
#: glances/core/glances_main.py:106
msgid "bind server to the given IPv4/IPv6 address or hostname"
msgstr ""
#: glances/core/glances_main.py:108
msgid "define password from the command line"
msgstr ""
#: glances/core/glances_main.py:110
msgid "define a client/server password from the prompt or file"
msgstr ""
#: glances/core/glances_main.py:112
msgid "SNMP community"
msgstr ""
#: glances/core/glances_main.py:114
msgid "SNMP port"
msgstr ""
#: glances/core/glances_main.py:116
msgid "SNMP version (1, 2c or 3)"
msgstr ""
#: glances/core/glances_main.py:118
msgid "SNMP username (only for SNMPv3)"
msgstr ""
#: glances/core/glances_main.py:120
msgid "SNMP authentication key (only for SNMPv3)"
msgstr ""
#: glances/core/glances_main.py:122
msgid "force SNMP mode"
msgstr ""
#: glances/core/glances_main.py:124
#, python-brace-format
msgid "set refresh time in seconds [default: {0} sec]"
msgstr ""
#: glances/core/glances_main.py:126
msgid "run Glances in web server mode"
msgstr ""
#: glances/core/glances_main.py:129
msgid "set the process filter pattern (regular expression)"
msgstr ""
#: glances/core/glances_main.py:131
msgid "force short name for processes name"
msgstr ""
#: glances/core/glances_main.py:134
msgid "hide kernel threads in process list"
msgstr ""
#: glances/core/glances_main.py:136
msgid "display processes as a tree"
msgstr ""
#: glances/core/glances_main.py:138
msgid "display network rate in byte per second"
msgstr ""
#: glances/core/glances_main.py:140
msgid "start Glances in per CPU mode"
msgstr ""
#: glances/core/glances_main.py:142
msgid "display FS free space instead of used"
msgstr ""
#: glances/core/glances_main.py:144
msgid "optimize display for white background"
msgstr ""
#: glances/core/glances_main.py:188
msgid "Define the password for the Glances server"
msgstr ""
#: glances/core/glances_main.py:192
msgid "Enter the Glances server password"
msgstr ""

View File

@ -1,7 +1,6 @@
#!/usr/bin/env python
import glob
import os
import sys
from setuptools import setup
@ -20,9 +19,6 @@ def get_data_files():
('share/man/man1', ['man/glances.1'])
]
for mo in glob.glob('i18n/*/LC_MESSAGES/*.mo'):
data_files.append((os.path.dirname(mo).replace('i18n/', 'share/locale/'), [mo]))
return data_files

View File

@ -20,8 +20,6 @@
"""Glances unitary tests suite for the RESTFul API."""
import gettext
import locale
import sys
import time
import unittest
@ -52,11 +50,6 @@ if not is_linux:
else:
print('Unitary tests for {0} {1}'.format(appname, version))
# Import local settings
from glances.core.glances_globals import gettext_domain, locale_dir
locale.setlocale(locale.LC_ALL, '')
gettext.install(gettext_domain, locale_dir)
# Init Glances core
from glances.core.glances_main import GlancesMain
core = GlancesMain()

View File

@ -20,8 +20,6 @@
"""Glances unitary tests suite for the XML/RPC API."""
import gettext
import locale
import sys
import time
import unittest
@ -56,11 +54,6 @@ if not is_linux:
else:
print('Unitary tests for {0} {1}'.format(appname, version))
# Import local settings
from glances.core.glances_globals import gettext_domain, locale_dir
locale.setlocale(locale.LC_ALL, '')
gettext.install(gettext_domain, locale_dir)
# Init Glances core
from glances.core.glances_main import GlancesMain
core = GlancesMain()

View File

@ -20,8 +20,6 @@
"""Glances unitary tests suite."""
import gettext
import locale
import sys
import time
import unittest
@ -42,11 +40,6 @@ if not is_linux:
else:
print('Unitary tests for {0} {1}'.format(appname, version))
# Import local settings
from glances.core.glances_globals import gettext_domain, locale_dir
locale.setlocale(locale.LC_ALL, '')
gettext.install(gettext_domain, locale_dir)
# Init Glances core
from glances.core.glances_main import GlancesMain
core = GlancesMain()