summaryrefslogtreecommitdiffstats
path: root/dicts
diff options
context:
space:
mode:
authorSean E. Russell <ser@ser1.net>2021-02-03 14:27:46 -0600
committerSean E. Russell <ser@ser1.net>2021-02-03 14:27:46 -0600
commite5bf9851ff3fc8748a2c770415a13a7a0244ba55 (patch)
tree20cd5077dabeb3594e1a52ff9eb37aa09ad45acd /dicts
parent7b19606acc610929a24351bcdccc62c9cf4f8b09 (diff)
Go 1.16: embed and io/fs
Diffstat (limited to 'dicts')
-rw-r--r--dicts/de_DE.toml182
-rw-r--r--dicts/en_US.toml183
-rw-r--r--dicts/eo.toml184
-rw-r--r--dicts/tt_TT.toml181
-rw-r--r--dicts/zh_CN.toml182
5 files changed, 912 insertions, 0 deletions
diff --git a/dicts/de_DE.toml b/dicts/de_DE.toml
new file mode 100644
index 0000000..93138f1
--- /dev/null
+++ b/dicts/de_DE.toml
@@ -0,0 +1,182 @@
+configfile="Konfigurationsdatei"
+usage="Verwendung: {0} [optionen]\n\nOptionen:\n"
+total="Gesamt"
+
+
+[help]
+paths="Nach ladbaren Farbschemata und Layouts sowie der Konfigurationsdatei wird in der folgenden Reihenfolge gesucht:"
+log="Die Protokolldatei befindet sich in {0}"
+written="Konfiguration geschrieben auf {0}"
+help="""
+Beenden: q oder <C-c>
+
+Prozessnavigation:
+ - k und <Up>: oben
+ - j und <Down>: nieder
+ - <C-u>: halbe Seite nach oben
+ - <C-d>: halbe Seite nach unten
+ - <C-b>: ganze Seite nach oben
+ - <C-f>: ganze Seite nach unten
+ - gg und <Home>: nach oben springen
+ - G und <End>: nach unten springen
+
+Process actions:
+ - <Tab>: Prozessgruppierung umschalten
+ - dd: Beende einen ausgewählten Prozess oder eine Gruppe von Prozessen mit SIGTERM (15)
+ - d3: Beende einen ausgewählten Prozess oder eine Gruppe von Prozessen mit SIGQUIT (3)
+ - d9: töte einen ausgewählten Prozess oder eine Gruppe von Prozessen mit SIGKILL (9)
+
+Prozesssortierung:
+ - c: CPU
+ - m: Mem
+ - p: PID
+
+Prozessfilterung:
+ - /: Filter bearbeiten
+ - (während der Bearbeitung):
+ - <Enter>: Filter akzeptieren
+ - <C-c> und <Escape>: Filter löschen
+
+CPU- und Mem-Graph-Skalierung:
+ - h: skalieren in
+ - l: skalieren
+
+Netzwerk:
+ - b: Umschalten zwischen MBit / s und skalierten Bytes pro Sekunde
+"""
+# ÜBERSETZER: Bitte übersetzen Sie die Layout-**Namen** nicht
+layouts = """Eingebaute Layouts:
+ default
+ minimal
+ battery
+ kitchensink"""
+# ÜBERSETZER: Bitte übersetzen Sie die Farbschema-**Namen** nicht
+colorschemes = """Eingebaute Farbschemata:
+ default
+ default-dark (für weißen Hintergrund)
+ solarized
+ solarized16-dark
+ solarized16-light
+ monokai
+ vice
+ nord"""
+# ÜBERSETZER: Bitte übersetzen Sie die Widget-**Namen** nicht
+widgets = """Widgets, die in Layouts verwendet werden können:
+ cpu - CPU-Lastdiagramm
+ mem - Physische & Swap-Speicher verwenden Grafik
+ temp - Sensortemperaturen
+ disk - Verwendung der physischen Festplattenpartition
+ power - Eine Batteriestange
+ net - Netzwerklast
+ procs - Interaktive Prozessliste"""
+
+
+[args]
+help="Hilfetext anzeigen."
+color="Ein Farbschema feststellen."
+scale="Stellen den Skalierungsfaktor ein, >0"
+version="Zeigen die Version aus und beenden."
+percpu="Zeigen Sie jede CPU im CPU-Widget an."
+cpuavg="Durchschnittliche CPU im CPU-Widget anzeigen."
+temp="Temperaturen in Fahrenheit anzeigen."
+statusbar="Zeigen Sie eine Statusleiste mit der Uhrzeit an."
+rate="Frequenz aktualisieren. Die meisten Zeiteinheiten werden akzeptiert. \"1m\" = jede Minute aktualisieren. \"100 ms\" = alle 100 ms aktualisieren."
+layout="Name der Layoutspezifikationsdatei für die Benutzeroberfläche. Verwenden Sie \"-\", um zu leiten."
+net="Wählen Sie die Netzwerkschnittstelle. Mehrere Schnittstellen können mit durch Kommas getrennten Werten definiert werden. Schnittstellen können auch mit ignoriert werden \"!\""
+export="Aktivieren Sie Metriken für den Export auf dem angegebenen Port."
+mbps="Netzwerkrate als MBit / s anzeigen."
+test="Führt Tests aus und beendet das Programm mit Erfolgs- / Fehlercode."
+conffile="Konfigurationsdatei, die anstelle der Standardeinstellung verwendet werden soll (MUSS DAS ERSTE ARGUMENT SEIN)"
+list="""
+List <devices|layouts|colorschemes|paths|keys|langs>
+ devices: Druckt Gerätenamen für filterbare Widgets aus
+ layouts: Listet integrierte Layouts auf
+ colorschemes: Listet integrierte Farbschemata auf
+ paths: Listen Sie die Suchpfade für Konfigurationsdateien auf
+ widgets: Widgets, die in einem Layout verwendet werden können
+ keys: Zeigen Sie die Tastaturbindungen an.
+ langs: Unterstützte Sprachübersetzungen anzeigen."""
+write="Schreiben Sie eine Standardkonfigurationsdatei."
+
+
+[config.err]
+configsyntax="0| schlechte Syntax der Konfigurationsdatei; sollte KEY=VALUE sein, war {0}"
+deprecation="1| Zeile {0}: '{1}' ist veraltet. Ignoriert {1}={2}"
+line="2| Zeile #{0}: {1}"
+tempscale="3| ungültiger TempScale-Wert {0}"
+
+
+[error]
+configparse="4| Konfigurationsdatei konnte nicht analysiert werden: {0}"
+cliparse="5| Analysieren von CLI-Argumenten: {0}"
+logsetup="6| Protokolldatei konnte nicht eingerichtet werden: {0}"
+unknownopt="7| Unbekannte Option \"{0}\"; Probieren Sie layouts, colorschemes, keys, paths oder devices aus\n"
+writefail="8| Konfigurationsdatei konnte nicht geschrieben werden: {0}"
+checklog="9| aufgetretene Fehler; von {0}:"
+metricsetup="10| Fehler beim Einrichten von {0}-Metriken: {1}"
+nometrics="11| Keine Metriken für {0} {1}"
+fatalfetch="12| Schwerwiegender Fehler beim Abrufen von {0}-Informationen: {1}"
+recovfetch="13| behebbarer Fehler beim Abrufen von {0}-Informationen; überspringen {0}: {1}"
+nodevfound="14| Keine verwendbare {0} gefunden"
+setuperr="15| Fehler beim Einrichten {0}: {1}"
+colorschemefile="16| Farbschemadatei konnte nicht gefunden werden {0} in {1}"
+colorschemeread="17| Farbschemadatei konnte nicht gelesen werden {0}: {1}"
+colorschemeparse="18| Farbschemadatei konnte nicht analysiert werden: {0}"
+findlayout="19| Farbschemadatei konnte nicht gelesen werden {0}: {1}"
+logopen="20| Protokolldatei konnte nicht geöffnet werden {0}: {1}"
+table="21| Tabellen-Widget TopRow-Wert kleiner als 0. TopRow: {0}"
+nohostname="22| Hostname konnte nicht abgerufen werden: {0}"
+
+[layout.error]
+widget="23| Ungültiger Widget-Name {0}. Muss einer von sein {1}"
+format="24| Layoutfehler in Zeile {0}: Format muss {1} sein. Fehler beim Parsen von {2} als int. Das Wort war {3}. Verwenden Sie eine Zeilenhöhe von 1."
+slashes="25 | Layoutwarnung in Zeile {0}: zu viele '/' in Wort {1}; zusätzlichen Müll ignorieren."
+
+[widget.label]
+disk=" Festplattennutzung "
+cpu=" CPU auslastung "
+gauge=" Leistungspegel "
+battery=" Batteriestatus "
+batt=" Batterie "
+temp=" Temperaturen "
+net=" Netzwerknutzung "
+netint=" Netzwerknutzung: {0} "
+mem=" Speichernutzung "
+
+
+[widget.net.err]
+netactivity="26 | Netzwerkaktivität von gopsutil konnte nicht abgerufen werden: {0}"
+negvalrecv="27 | Fehler: negativer Wert für kürzlich empfangene Netzwerkdaten von gopsutil. RecentBytesRecv: {0}"
+negvalsent="28 | Fehler: negativer Wert für kürzlich gesendete Netzwerkdaten von gopsutil. RecentBytesSent: {0}"
+
+
+[widget.disk]
+disk="Scheibe"
+mount="Montieren"
+used="Gebraucht"
+free="Kostenlos"
+rs="R / s"
+ws="W / s"
+
+
+[widget.proc]
+filter=" Filter: "
+label=" Prozesse "
+[widget.proc.header]
+count="Anzahl"
+command="Befehl"
+cpu="CPU%"
+mem="Mem%"
+pid="PID"
+[widget.proc.err]
+count="29 | CPU-Anzahl konnte nicht von gopsutil abgerufen werden: {0}"
+retrieve="30 | Prozesse konnten nicht abgerufen werden: {0}"
+ps="31 | Befehl 'ps' konnte nicht ausgeführt werden: {0}"
+gopsutil="32 | Prozesse konnten nicht von gopsutil abgerufen werden: {0}"
+pidconv="33 | Konvertierung der PID in int: {0} fehlgeschlagen. Linie 1}"
+cpuconv="34 | Konvertierung der CPU-Auslastung in float fehlgeschlagen: {0}. Linie 1}"
+memconv="35 | Die Verwendung von Mem konnte nicht in float konvertiert werden: {0}. Linie 1}"
+getcmd="36 | Prozessbefehl von gopsutil konnte nicht abgerufen werden: {0}. psProc: {1}. i: {2}. pid: {3}"
+cpupercent="37 | Fehler beim Abrufen der Prozess-CPU-Nutzung von gopsutil: {0}. psProc: {1}. i: {2}. pid: {3}"
+mempercent="38 | Prozessspeicherauslastung konnte nicht von gopsutil abgerufen werden: {0}. psProc: {1}. i: {2}. pid: {3}"
+parse="39 | Ausgabe konnte nicht analysiert werden: {0}"
diff --git a/dicts/en_US.toml b/dicts/en_US.toml
new file mode 100644
index 0000000..bf1771b
--- /dev/null
+++ b/dicts/en_US.toml
@@ -0,0 +1,183 @@
+configfile="Config file"
+usage="Usage: {0} [options]\n\nOptions:\n"
+total="Total"
+
+
+[help]
+paths="Loadable colorschemes & layouts, and the config file, are searched for, in order:"
+log="The log file is in {0}"
+written="Config written to {0}"
+help="""
+Quit: q or <C-c>
+
+Process navigation:
+ - k and <Up>: up
+ - j and <Down>: down
+ - <C-u>: half page up
+ - <C-d>: half page down
+ - <C-b>: full page up
+ - <C-f>: full page down
+ - gg and <Home>: jump to top
+ - G and <End>: jump to bottom
+
+Process actions:
+ - <Tab>: toggle process grouping
+ - dd: kill selected process or group of processes with SIGTERM (15)
+ - d3: kill selected process or group of processes with SIGQUIT (3)
+ - d9: kill selected process or group of processes with SIGKILL (9)
+
+Process sorting:
+ - c: CPU
+ - m: Mem
+ - p: PID
+
+Process filtering:
+ - /: start editing filter
+ - (while editing):
+ - <Enter>: accept filter
+ - <C-c> and <Escape>: clear filter
+
+CPU and Mem graph scaling:
+ - h: scale in
+ - l: scale out
+
+Network:
+ - b: toggle between mbps and scaled bytes per second
+"""
+# TRANSLATORS: Please don't translate the layout **names**
+layouts = """Built-in layouts:
+ default
+ minimal
+ battery
+ kitchensink"""
+# TRANSLATORS: Please don't translate the colorcheme **names**
+colorschemes = """Built-in colorschemes:
+ default
+ default-dark (for white background)
+ solarized
+ solarized16-dark
+ solarized16-light
+ monokai
+ vice
+ nord"""
+# TRANSLATORS: Please don't translate the widget **names**
+widgets = """Widgets that can be used in layouts:
+ cpu - CPU load graph
+ mem - Physical & swap memory use graph
+ temp - Sensor temperatures
+ disk - Physical disk partition use
+ power - A battery bar
+ net - Network load
+ procs - Interactive process list"""
+
+
+[args]
+help="Show this screen."
+color="Set a colorscheme."
+scale="Graph scale factor, >0"
+version="Print version and exit."
+percpu="Show each CPU in the CPU widget."
+cpuavg="Show average CPU in the CPU widget."
+temp="Show temperatures in fahrenheit."
+statusbar="Show a statusbar with the time."
+rate="Refresh frequency. Most time units accepted. \"1m\" = refresh every minute. \"100ms\" = refresh every 100ms."
+layout="Name of layout spec file for the UI. Use \"-\" to pipe."
+net="Select network interface. Several interfaces can be defined using comma separated values. Interfaces can also be ignored using \"!\""
+export="Enable metrics for export on the specified port."
+mbps="Show network rate as mbps."
+test="Runs tests and exits with success/failure code."
+conffile="Config file to use instead of default (MUST BE FIRST ARGUMENT)"
+# TRANSLATORS: Please don't translate the **labels** ("devices", "layouts") as they don't change in the code.
+list="""
+List <devices|layouts|colorschemes|paths|keys|langs>
+ devices: Prints out device names for filterable widgets
+ layouts: Lists built-in layouts
+ colorschemes: Lists built-in colorschemes
+ paths: List out configuration file search paths
+ widgets: Widgets that can be used in a layout
+ keys: Show the keyboard bindings.
+ langs: Show supported language translations."""
+write="Write out a default config file."
+
+
+[config.err]
+configsyntax="0| bad config file syntax; should be KEY=VALUE, was {0}"
+deprecation="1| line {0}: '{1}' is deprecated. Ignored {1}={2}"
+line="2| line #{0}: {1}"
+tempscale="3| invalid TempScale value {0}"
+
+
+[error]
+configparse="4| failed to parse config file: {0}"
+cliparse="5| parsing CLI args: {0}"
+logsetup="6| failed to setup log file: {0}"
+unknownopt="7| Unknown option \"{0}\"; try layouts, colorschemes, keys, paths, or devices\n"
+writefail="8| Failed to write configuration file: {0}"
+checklog="9| errors encountered; from {0}:"
+metricsetup="10| error setting up {0} metrics: {1}"
+nometrics="11| no metrics for {0} {1}"
+fatalfetch="12| fatal error fetching {0} info: {1}"
+recovfetch="13| recoverable error fetching {0} info; skipping {0}: {1}"
+nodevfound="14| no usable {0} found"
+setuperr="15| error setting up {0}: {1}"
+colorschemefile="16| failed to find colorscheme file {0} in {1}"
+colorschemeread="17| failed to read colorscheme file {0}: {1}"
+colorschemeparse="18| failed to parse colorscheme file: {0}"
+findlayout="19| failed to read colorscheme file {0}: {1}"
+logopen="20| failed to open log file {0}: {1}"
+table="21| table widget TopRow value less than 0. TopRow: {0}"
+nohostname="22| could not get hostname: {0}"
+
+[layout.error]
+widget="23| Invalid widget name {0}. Must be one of {1}"
+format="24| Layout error on line {0}: format must be {1}. Error parsing {2} as a int. Word was {3}. Using a row height of 1."
+slashes="25| Layout warning on line {0}: too many '/' in word {1}; ignoring extra junk."
+
+[widget.label]
+disk=" Disk Usage "
+cpu=" CPU Usage "
+gauge=" Power Level "
+battery=" Battery Status "
+batt=" Battery "
+temp=" Temperatures "
+net=" Network Usage "
+netint=" Network Usage: {0} "
+mem=" Memory Usage "
+
+
+[widget.net.err]
+netactivity="26| failed to get network activity from gopsutil: {0}"
+negvalrecv="27| error: negative value for recently received network data from gopsutil. recentBytesRecv: {0}"
+negvalsent="28| error: negative value for recently sent network data from gopsutil. recentBytesSent: {0}"
+
+
+[widget.disk]
+disk="Disk"
+mount="Mount"
+used="Used"
+free="Free"
+rs="R/s"
+ws="W/s"
+
+
+[widget.proc]
+filter=" Filter: "
+label=" Processes "
+[widget.proc.header]
+count="Count"
+command="Command"
+cpu="CPU%"
+mem="Mem%"
+pid="PID"
+[widget.proc.err]
+count="29| failed to get CPU count from gopsutil: {0}"
+retrieve="30| failed to retrieve processes: {0}"
+ps="31| failed to execute 'ps' command: {0}"
+gopsutil="32| failed to get processes from gopsutil: {0}"
+pidconv="33| failed to convert PID to int: {0}. line: {1}"
+cpuconv="34| failed to convert CPU usage to float: {0}. line: {1}"
+memconv="35| failed to convert Mem usage to float: {0}. line: {1}"
+getcmd="36| failed to get process command from gopsutil: {0}. psProc: {1}. i: {2}. pid: {3}"
+cpupercent="37| failed to get process cpu usage from gopsutil: {0}. psProc: {1}. i: {2}. pid: {3}"
+mempercent="38| failed to get process memeory usage from gopsutil: {0}. psProc: {1}. i: {2}. pid: {3}"
+parse="39| failed to parse output: {0}"
diff --git a/dicts/eo.toml b/dicts/eo.toml
new file mode 100644
index 0000000..fb0f346
--- /dev/null
+++ b/dicts/eo.toml
@@ -0,0 +1,184 @@
+configfile="Argododosiero"
+usage="Uzado: {0} [ebloj]\n\nEbloj:\n"
+total="Sumo"
+
+
+[help]
+paths="Ŝarĝebla kloraj skemoj & enpaĝigoj, kaj la argododosiero, estas orda serĉatigis:"
+log="Logodosiero troviĝas ĉe {0}"
+written="Argordo skribiĝis ĉe {0}"
+help="""
+Eliri: q aŭ <C-c>
+
+Proceza navigadoj:
+ - k kaj <Supren>: supren
+ - j kaj <Malsupren>: malsupren
+ - <C-u>: duona paĝo supren
+ - <C-d>: duona paĝo malsupren
+ - <C-b>: plena paĝo supren
+ - <C-f>: plena paĝo malsupren
+ - gg kaj <Hejmo>: salti al supron
+ - G kaj <Fino>: salti al malsupron
+
+Proceza agoj:
+ - <Langeto>: alterni procezon grupigi
+ - dd: fini la elektitajn procezojn aŭ procezon grupigon kun SIGTERM (15)
+ - d3: fini la elektitajn procezojn aŭ procezon grupigon kun SIGQUIT (3)
+ - d9: fini la elektitajn procezojn aŭ procezon grupigon kun SIGKILL (9)
+
+Proceza ordigoj:
+ - c: CPU
+ - m: Memoro
+ - p: PID
+
+Proceza filtradoj:
+ - /: komenci redakti filtrilon
+ - (dum redaktadi):
+ - <Eniri>: akcepti filtrilon
+ - <C-c> kaj <Eskapi>: eliri filtrilon
+
+CPU kaj Memora grafilo skali:
+ - h: zomi
+ - l: malzomi
+
+Reto:
+ - b: alterni inter mbps kaj skale bajtoj por dua
+"""
+# TRANSLATORS: Please don't translate the layout **names**
+layouts = """Enkonstruitaj enpaĝigoj:
+ default
+ minimal
+ battery
+ kitchensink"""
+# TRANSLATORS: Please don't translate the colorscheme **names**
+colorschemes = """Enkonstruitaj kloraj skemoj:
+ default
+ default-dark (por blanka fono)
+ solarized
+ solarized16-dark
+ solarized16-light
+ monokai
+ vice
+ nord"""
+# TRANSLATORS: Please don't translate the widget **names**
+widgets = """Enpaĝigaj Fenestraĵoj:
+ cpu - CPU ŝarĝa grafilo
+ mem - Fizika kay interŝanĝa memora grafilo
+ temp - Temperatura sensiloj
+ disk - Fizikaj diskdispartigaj uzadilo
+ power - Bateria mezurilo
+ net - Retuzadilo
+ procs - Interaga proceza listo"""
+
+
+[args]
+help="Ĉi tiun informoj."
+color="Agordi kloraj skemoj."
+scale="Agordi grafilan skalon, >0"
+version="Montri version kaj eliri."
+percpu="Montri ĉiun CPU en la CPU-fenestraĵo."
+cpuavg="Montri duonan CPU en la CPU-fenestraĵo."
+temp="Montri temperaturojn en fahrenheit."
+statusbar="Montri statusbarbaron kun la tempo."
+rate="Refreŝiga ofteco. Plej multaj unuoj akceptitaj. \"1m\" = refreŝigi ĉiun minuton. \"100ms\" = refreŝigi ĉiun dekonon minuton."
+layout="Nomo de aranĝa specifa dosiero por la UI. Uzu \"-\" por pipi."
+net="Elekti retinterfacon. Multaj interfacoj povas esti difinitaj per komparaj valoroj. Interfacoj ankaŭ povas esti ignorataj per \"!\""
+export="Ebligu metrikojn por eksportado en la specifita haveno."
+mbps="Montri reta takson kiel mbps."
+test="Ekzekutas testojn kaj forirojn kun sukceso / fiaska kodo."
+conffile="Agordi dosiero por uzi anstataŭ defaŭlte (DEVAS ESTI UNUA ARGUMENTO)"
+# TRANSLATORS: Please don't translate the list entries
+list="""
+List <devices|layouts|colorschemes|paths|keys|langs>
+ devices: Montras nomojn de aparatoj por filteblaj fenestraĵoj
+ layouts: Listigas enkonstruajn aranĝojn
+ colorschemes: Listas enkonstruitajn kloraj skemoj
+ paths: Enlistigu agordajn serĉajn vojojn de agordo
+ widgets: Fenestraĵoj uzeblaj en aranĝo
+ keys: Montri la klavarajn ligojn.
+ langs: Montru subtenatajn lingvajn tradukojn."""
+write="Skribu defaŭltan agordan dosieron."
+
+
+[config.err]
+configsyntax="0| malbona agordo dosiero-sintakso; estu ŜLOSI=VALORO, estis {0}"
+deprecation="1| linio {0}: '{1}' malakceptas. Ignorita {1}={2}"
+line="2| linio #{0}: {1}"
+tempscale="3| malvalida TempScale-valoro {0}"
+
+
+[error]
+configparse="4| malsukcesis pari agordi dosiero: {0}"
+cliparse="5| analizante CLI-argumentojn: {0}"
+logsetup="6| malsukcesis agordi registro dosiero: {0}"
+unknownopt="7| Nekonata opcio \"{0}\"; provu layouts, colorschemes, keys, paths, aŭ devices"
+writefail="8| Malsukcesis skribi agordan dosieron: {0}"
+checklog="9| eraroj renkontitaj; de {0}:"
+metricsetup="10| eraro agordante {0} metrikojn: {1}"
+nometrics="11| neniuj metrikoj por {0} {1}"
+fatalfetch="12| fatala eraro elprenanta {0} info: {1}"
+recovfetch="13| reakirebla eraro elprenanta {0} info; saltante {0}: {1}"
+nodevfound="14| neniu uzebla {0} trovita"
+setuperr="15| eraro agordante {0}: {1}"
+colorschemefile="16| malsukcesis trovi kloraj skemoj dosiero {0} en {1}"
+colorschemeread="17| malsukcesis legi kloraj skemoj dosiero {0}: {1}"
+colorschemeparse="18| Fiaskis analizi kloraj skemoj dosiero: {0}"
+findlayout="19| malsukcesis legi kloraj skemoj dosiero {0}: {1}"
+logopen="20| malsukcesis malfermi enskribi dosieron {0}: {1}"
+table="21| Tabla fenestraĵo TopRow-valoro malpli ol 0. TopRow: {0}"
+nohostname="22| Ne povis akiri hostname: {0}"
+
+[layout.error]
+widget="23| Malvalida fenestra nomo {0}. Devas esti unu el {1}"
+format="24| Eraro pri aranĝo sur linio {0}: formato devas esti {1}. Eraro analizante {2} kiel int. Vorto estis {3}. Uzante vicon alteco de 1."
+slashes="25| Averto pri aranĝo sur linio {0}: tro multaj '/' en vorto {1}; ignorante kroman rubon."
+
+[widget.label]
+disk=" Disk Usado "
+cpu=" CPU Usado "
+gauge=" Potencnivelo "
+battery=" Bateria Statuso "
+batt=" Baterio "
+temp=" Temperaturoj "
+net=" Reta Usado "
+netint=" Reta Usado: {0} "
+mem=" Memoro Usado "
+
+
+[widget.net.err]
+netactivity="26| malsukcesis ricevi retactiveco de gopsutil: {0}"
+negvalrecv="27| eraro: negativa valoro por ĵus ricevitaj retdatumoj de gopsutil. RecentBytesRecv: {0}"
+negvalsent="28| eraro: negativa valoro por ĵus senditaj retdatumoj de gopsutil. RecentBytesSent: {0}"
+
+
+[widget.disk]
+disk="Disko"
+mount="Monto"
+used="Uzita"
+free="Senpaga"
+rs="R/s"
+ws="W/s"
+
+
+[widget.proc]
+filter=" Filtrilo: "
+label=" Procezoj "
+[widget.proc.header]
+count="Kalkulo"
+command="Komando"
+cpu="CPU%"
+mem="Mem%"
+pid="PID"
+
+[widget.proc.err]
+count="29| malsukcesis akiri CPU-kalkuladon de gopsutil: {0}"
+retrieve="30| ne sukcesis akiri procezojn: {0}"
+ps="31| malsukcesis plenumi komandon 'ps': {0}"
+gopsutil="32| malsukcesis akiri procezojn de gopsutilo: {0}"
+pidconv="33| malsukcesis konverti PID al int: {0}. linio: {1}"
+cpuconv="34| malsukcesis konverti CPU-uzon al flosilo: {0}. linio: {1}"
+memconv="35| malsukcesis konverti Mem-uzon al flosilo: {0}. linio: {1}"
+getcmd="36| malsukcesis akiri procezan komandon de gopsutil: {0}. psProc: {1}. i: {2}. pid: {3}"
+cpupercent="37| malsukcesis ricevi uzadon de proceso cpu de gopsutil: {0}. psProc: {1}. i: {2}. pid: {3}"
+mempercent="38| malsukcesis ricevi uzadon de proceza memoro de gopsutil: {0}. psProc: {1}. i: {2}. pid: {3}"
+parse="39| ne sukcesis analizi eliron: {0}"
diff --git a/dicts/tt_TT.toml b/dicts/tt_TT.toml
new file mode 100644
index 0000000..812c01f
--- /dev/null
+++ b/dicts/tt_TT.toml
@@ -0,0 +1,181 @@
+configfile="CFG FLE"
+usage="egasU: {0} [snoitpo]\n\nsnoitpO:\n"
+total="latoT"
+
+
+[help]
+paths="redro ni ,rof dehcraes era ,elif gifnoc eht dna ,stuoyal & semehcsroloc elbadaoL:"
+log="ni si elif gol ehT {0}"
+written="ot nettirw gifnoC {0}"
+help="""
+>c-C< ro q :tiuQ
+
+:noitagivan ssecorP
+pu :>pU< dna k -
+nwod :>nwoD< dna j -
+pu egap flah :>u-C< -
+nwod egap flah :>d-C< -
+pu egap lluf :>b-C< -
+nwod egap lluf :>f-C< -
+pot ot pmuj :>emoH< dna gg -
+mottob ot pmuj :>dnE< dna G -
+
+:snoitca ssecorP
+gnipuorg ssecorp elggot :>baT< -
+)51( MRETGIS htiw sessecorp fo puorg ro ssecorp detceles llik :dd -
+)3( TIUQGIS htiw sessecorp fo puorg ro ssecorp detceles llik :3d -
+)9( LLIKGIS htiw sessecorp fo puorg ro ssecorp detceles llik :9d -
+
+:gnitros ssecorP
+UPC :c -
+meM :m -
+DIP :p -
+
+:gniretlif ssecorP
+retlif gnitide trats :/ -
+:)gnitide elihw( -
+retlif tpecca :>retnE< -
+retlif raelc :>epacsE< dna >c-C< -
+
+:gnilacs hparg meM dna UPC
+ni elacs :h -
+tuo elacs :l -
+
+:krowteN
+dnoces rep setyb delacs dna spbm neewteb elggot :b -
+"""
+# TRANSLATORS: Please don't translate the layout **names**
+layouts = """stuoyal ni-tliuB:
+ tluafed
+ laminim
+ yrettab
+ knisnehctik"""
+# TRANSLATORS: Please don't translate the colorcheme **names**
+colorschemes = """semehcsroloc ni-tliuB:
+ tluafed
+ )dnuorgkcab etihw rof( krad-tluafed
+ deziralos
+ krad-61deziralos
+ thgil-61deziralos
+ iakonom
+ eciv"""
+# TRANSLATORS: Please don't translate the widget **names**
+widgets = """stuoyal ni desu eb nac taht stegdiW:
+ hparg daol UPC - upc
+ hparg esu yromem paws & lacisyhP - mem
+ serutarepmet rosneS - pmet
+ esu noititrap ksid lacisyhP - ksid
+ rab yrettab A - rewop
+ daol krowteN - ten
+ tsil ssecorp evitcaretnI - scorp"""
+
+
+[args]
+help=".neercs siht wohS"
+color=".emehcsroloc a teS"
+scale="0> ,rotcaf elacs hparG"
+version=".tixe dna noisrev tnirP"
+percpu=".tegdiw UPC eht ni UPC hcae wohS"
+cpuavg=".tegdiw UPC eht ni UPC egareva wohS"
+temp=".tiehnerhaf ni serutarepmet wohS.tiehnerhaf ni serutarepmet wohS"
+statusbar=".emit eht htiw rabsutats a wohS"
+rate=".sm001 yreve hserfer = \"sm001\" .etunim yreve hserfer = \"m1\" .detpecca stinu emit tsoM .ycneuqerf hserfeR"
+layout="Name of layout spec file for the UI. Use \"-\" to pipe."
+net="gnisu derongi eb osla nac secafretnI .seulav detarapes ammoc gnisu denifed eb nac secafretni lareveS .ecafretni krowten tceleS \"!\""
+export=".trop deificeps eht no tropxe rof scirtem elbanE"
+mbps=".spbm sa etar krowten wohS"
+test=".edoc eruliaf/sseccus htiw stixe dna stset snuR"
+conffile=")TNEMUGRA TSRIF EB TSUM( tluafed fo daetsni esu ot elif gifnoC"
+list="""
+>snart|syek|shtap|semehcsroloc|stuoyal|secived< tsiL
+stegdiw elbaretlif rof seman ecived tuo stnirP :secived
+stuoyal ni-dliub stsiL :stuoyal
+semehcsroloc ni-tliub stsiL :semehcsroloc
+shtap hcraes elif noitarugifnoc tuo tsiL :shtap
+tuoyal a ni desu eb nac taht stegdiW :stegdiw
+.sgnidnib draobyek eht wohS :syek
+.snoitalsnart egaugnal detroppus wohS :sgnal"""
+write=".elif gifnoc tluafed a tuo etirW"
+
+
+[config.err]
+configsyntax="0| saw ,EULAV=YEK eb dluohs ;xatnys elif gifnoc dab {0}"
+deprecation="1| enil {0}: '{1}' derongI .detacerped si {1}={2}"
+line="2| enil #{0}: {1}"
+tempscale="3| eulav elacSpmeT dilavni {0}"
+
+
+[error]
+configparse="4| elif gifnoc esrap ot deliaf: {0}"
+cliparse="8| sgra ILC gnisrap: {0}"
+logsetup="9| elif gol putes ot deliaf: {0}"
+unknownopt="10| noitpo nwonknU \"{0}\"; secived ro ,shtap ,syek ,semehcsroloc ,stuoyal yrt\n"
+writefail="11| elif noitarugifnoc etirw ot deliaF: {0}"
+checklog="12| morf ;deretnuocne srorre {0}:"
+metricsetup="13| pu gnittes rorre {0} scirtem: {1}"
+nometrics="14| rof scirtem on {0} {1}"
+fatalfetch="15| gnihctef rorre lataf {0} ofni: {1}"
+recovfetch="16| gnihctef rorre elbarevocer {0} gnippiks ;ofni {0}: {1}"
+nodevfound="17| elbasu on {0} dnuof"
+setuperr="18| pu gnittes rorre {0}: {1}"
+colorschemefile="19| elif emehcsroloc dnif ot deliaf {0} ni {1}"
+colorschemeread="20| elif emehcsroloc daer ot deliaf {0}: {1}"
+colorschemeparse="21| elif emehcsroloc esrap ot deliaf: {0}"
+findlayout="22| elif emehcsroloc daer ot deliaf {0}: {1}"
+logopen="22| elif gol nepo ot deliaf {0}: {1}"
+table="22| woRpoT .0 naht ssel eulav woRpoT tegdiw elbat: {0}"
+nohostname="22| emantsoh teg ton dluoc: {0}"
+
+[layout.error]
+widget="23| eman tegdiw dilavnI {0}. fo eno eb tsuM {1}"
+format="24| enil no rorre tuoyaL {0}: eb tsum tamrof {1}. gnisrap rorrE {2} saw droW .tni a sa {3}. 1 fo thgieh wor a gnisU."
+slashes="25| enil no gninraw tuoyaL {0}: drow ni '/' ynam oot {1}; knuj artxe gnirongi."
+
+[widget.label]
+disk=" egasU ksiD "
+cpu=" egasU UPC "
+gauge=" leveL rewoP "
+battery=" sutatS yrettaB "
+batt=" yrettaB "
+temp=" serutarepmeT "
+net=" egasU krowteN "
+netint=" egasU krowteN: {0} "
+mem=" egasU yromeM "
+
+
+[widget.net.err]
+netactivity="26| lituspog morf ytivitca krowten teg ot deliaf: {0}"
+negvalrecv="27| :vceRsetyBtnecer .lituspog morf atad krowten deviecer yltnecer rof eulav evitagen :rorre {0}"
+negvalsent="28| :tneSsetyBtnecer .lituspog morf atad krowten tnes yltnecer rof eulav evitagen :rorre {0}"
+
+
+[widget.disk]
+disk="ksiD"
+mount="tnuoM"
+used="desU"
+free="eerF"
+rs="s/R"
+ws="s/W"
+
+
+[widget.proc]
+filter=" :retliF "
+label=" sessecorP "
+[widget.proc.header]
+count="tnuoC"
+command="dnammoC"
+cpu="%UPC"
+mem="%meM"
+pid="DIP"
+[widget.proc.err]
+count="29| :lituspog morf tnuoc UPC teg ot deliaf {0}"
+retrieve="30| :sessecorp eveirter ot deliaf {0}"
+ps="31| :dnammoc 'sp' etucexe ot deliaf {0}"
+gopsutil="32| :lituspog morf sessecorp teg ot deliaf {0}"
+pidconv="33| :tni ot DIP trevnoc ot deliaf {0}. enil: {1}"
+cpuconv="34| :taolf ot egasu UPC trevnoc ot deliaf {0}. :enil {1}"
+memconv="35| :taolf ot egasu meM trevnoc ot deliaf {0}. :enil {1}"
+getcmd="36| :lituspog morf dnammoc ssecorp teg ot deliaf {0}. corPsp: {1}. i: {2}. dip: {3}"
+cpupercent="37| lituspog morf egasu upc ssecorp teg ot deliaf: {0}. corPsp: {1}. i: {2}. dip: {3}"
+mempercent="38| spog morf egasu yroemem ssecorp teg ot deliafutil: {0}. corPsp: {1}. i: {2}. dip: {3}"
+parse="39| tuptuo esrap ot deliaf: {0}"
diff --git a/dicts/zh_CN.toml b/dicts/zh_CN.toml
new file mode 100644
index 0000000..b985788
--- /dev/null
+++ b/dicts/zh_CN.toml
@@ -0,0 +1,182 @@
+configfile="配置文件"
+usage="使用方法: {0} [选项]\n\n选项:\n"
+total="总计"
+
+
+[help]
+paths="按顺序从以下位置优先读取配色方案、布局方案和配置文件:"
+log="日志文件位于 {0}"
+written="配置文件已写入 {0}"
+help="""
+退出: q or <C-c>
+
+进程导航:
+ - k 或 <Up>: 上一行
+ - j 或 <Down>: 下一行
+ - <C-u>: 上半页
+ - <C-d>: 下半页
+ - <C-b>: 上一页
+ - <C-f>: 下一页
+ - gg 或 <Home>: 到顶部
+ - G 或 <End>: 到底部
+
+进程操作:
+ - <Tab>: 切换进程组
+ - dd: 发送信号 SIGTERM (15) 终止进程或进程组
+ - d3: 发送信号 SIGTERM (3) 终止进程或进程组
+ - d9: 发送信号 SIGTERM (9) 终止进程或进程组
+
+进程排序:
+ - c: CPU
+ - m: 内存
+ - p: 进程标识
+
+进程过滤:
+ - /: 开始编辑过滤器
+ - (编辑时):
+ - <Enter>: 保存过滤器
+ - <C-c> 或 <Escape>: 清除过滤器
+
+CPU 和内存图形比例:
+ - h: 放大比例
+ - l: 缩小比例
+
+网络:
+ - b: 在 mbps 和 每秒字节数 之间切换
+"""
+# TRANSLATORS: Please don't translate the layout **names**
+layouts = """内建布局方案:
+ default
+ minimal
+ battery
+ kitchensink"""
+# TRANSLATORS: Please don't translate the colorcheme **names**
+colorschemes = """内建配色方案:
+ default
+ default-dark (用于白色背景)
+ solarized
+ solarized16-dark
+ solarized16-light
+ monokai
+ vice
+ nord"""
+# TRANSLATORS: Please don't translate the widget **names**
+widgets = """可被用于布局方案的组件名:
+ cpu - CPU 负载图
+ mem - 物理内存和交换内存使用率图
+ temp - 传感器温度
+ disk - 物理磁盘和分区使用率
+ power - 电池状态
+ net - 网络负载
+ procs - 可交互进程列表"""
+
+
+[args]
+help="显示当前内容。"
+color="配色方案。"
+scale="图形比例尺度,>0"
+version="显示版本并退出。"
+percpu="在 CPU 组件中显示每个 CPU。"
+cpuavg="在 CPU 组件中平均 CPU。"
+temp="显示华氏温度。"
+statusbar="显示时间状态栏。"
+rate="刷新频率。常见的时间单位皆可用。\"1m\" = 每分钟刷新。\"100ms\" = 每100毫秒刷新。"
+layout="布局描述文件名。使用 \"-\" 连接。"
+net="选择网卡。多个网卡用逗号分隔。使用 \"!\" 忽略指定网卡。"
+export="在指定端口上启用指标输出。"
+mbps="显示网速为 mbps。"
+test="执行测试并返回成功或失败码。"
+conffile="用于替代缺省参数的配置文件(必须是第一个参数)"
+list="""
+列出 <devices|layouts|colorschemes|paths|keys|langs>
+ devices: 显示可用于过滤的设备名
+ layouts: 列出所有内置布局方案
+ colorschemes: 列出所有内置配色方案
+ paths: 列出配置文件的搜索路径
+ widgets: 所有可被用于布局的组件
+ keys: 显示所有热键
+ langs: 显示支持的语言翻译."""
+write="将当前配置写入缺省配置文件。"
+
+
+[config.err]
+configsyntax="0| bad config file syntax; should be KEY=VALUE, was {0}"
+deprecation="1| line {0}: '{1}' is deprecated. Ignored {1}={2}"
+line="2| line #{0}: {1}"
+tempscale="3| invalid TempScale value {0}"
+
+
+[error]
+configparse="4| failed to parse config file: {0}"
+cliparse="5| parsing CLI args: {0}"
+logsetup="6| failed to setup log file: {0}"
+unknownopt="7| Unknown option \"{0}\"; try layouts, colorschemes, keys, paths, or devices\n"
+writefail="8| Failed to write configuration file: {0}"
+checklog="9| errors encountered; from {0}:"
+metricsetup="10| error setting up {0} metrics: {1}"
+nometrics="11| no metrics for {0} {1}"
+fatalfetch="12| fatal error fetching {0} info: {1}"
+recovfetch="13| recoverable error fetching {0} info; skipping {0}: {1}"
+nodevfound="14| no usable {0} found"
+setuperr="15| error setting up {0}: {1}"
+colorschemefile="16| failed to find colorscheme file {0} in {1}"
+colorschemeread="17| failed to read colorscheme file {0}: {1}"
+colorschemeparse="18| failed to parse colorscheme file: {0}"
+findlayout="19| failed to read colorscheme file {0}: {1}"
+logopen="20| failed to open log file {0}: {1}"
+table="21| table widget TopRow value less than 0. TopRow: {0}"
+nohostname="22| could not get hostname: {0}"
+
+[layout.error]
+widget="23| Invalid widget name {0}. Must be one of {1}"
+format="24| Layout error on line {0}: format must be {1}. Error parsing {2} as a int. Word was {3}. Using a row height of 1."
+slashes="25| Layout warning on line {0}: too many '/' in word {1}; ignoring extra junk."
+
+[widget.label]
+disk=" 磁盘使用率 "
+cpu=" CPU 使用率 "
+gauge=" 电量 "
+battery=" 电池状态 "
+batt=" 电池 "
+temp=" 温度 "
+net=" 网络使用率 "
+netint=" 网络使用率: {0} "
+mem=" 内存使用率 "
+
+
+[widget.net.err]
+netactivity="26| failed to get network activity from gopsutil: {0}"
+negvalrecv="27| error: negative value for recently received network data from gopsutil. recentBytesRecv: {0}"
+negvalsent="28| error: negative value for recently sent network data from gopsutil. recentBytesSent: {0}"
+
+
+[widget.disk]
+disk="磁盘"
+mount="文件系统"
+used="已使用"
+free="空闲"
+rs="读/秒"
+ws="写/秒"
+
+
+[widget.proc]
+filter=" 过滤器: "
+label=" 进程 "
+[widget.proc.header]
+count="个数"
+command="命令"
+cpu="CPU%"
+mem="内存%"
+pid="进程标识"
+[widget.proc.err]
+count="29| failed to get CPU count from gopsutil: {0}"
+retrieve="30| failed to retrieve processes: {0}"
+ps="31| failed to execute 'ps' command: {0}"
+gopsutil="32| failed to get processes from gopsutil: {0}"
+pidconv="33| failed to convert PID to int: {0}. line: {1}"
+cpuconv="34| failed to convert CPU usage to float: {0}. line: {1}"
+memconv="35| failed to convert Mem usage to float: {0}. line: {1}"
+getcmd="36| failed to get process command from gopsutil: {0}. psProc: {1}. i: {2}. pid: {3}"
+cpupercent="37| failed to get process cpu usage from gopsutil: {0}. psProc: {1}. i: {2}. pid: {3}"
+mempercent="38| failed to get process memeory usage from gopsutil: {0}. psProc: {1}. i: {2}. pid: {3}"
+parse="39| failed to parse output: {0}"