termclock 0.6.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/exe/termclock +2 -2
- data/lib/termclock/center_puts.rb +8 -0
- data/lib/termclock/start.rb +28 -9
- data/lib/termclock/string.rb +4 -0
- data/lib/termclock/system_info.rb +43 -26
- data/lib/termclock/translate.rb +61 -0
- data/lib/termclock/version.rb +1 -1
- data/lib/termclock.rb +58 -0
- data/lib/translations/bn.json +78 -0
- data/lib/translations/es.json +61 -0
- data/lib/translations/fr.json +61 -0
- data/lib/translations/hi.json +77 -0
- data/lib/translations/it.json +60 -0
- data/lib/translations/ru.json +63 -0
- metadata +13 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c3d9f317dc409da47554e00d3522def8011e66923ce1f7b437994bef30975008
|
4
|
+
data.tar.gz: e6f12e38d1410a46a7b5009480593ec341017e45c2b806cc53e1fab2a7ccef52
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 80d16665fbbfbde6765c382379849c029533649c7f10aed6bdc2c25a21c96131f49da2464ad3225a78759662feb6129e43197f57f0f73f7f37db012b2e8f5945
|
7
|
+
data.tar.gz: a8dbe4be51d37ff3fd964ee729bc92ee414026bec1ac4ee711b547dfa5d6ae083997ad277525e6bb805db208a79a43c386b944a59e1f46e48e28043ce7a5e76d
|
data/exe/termclock
CHANGED
@@ -150,8 +150,8 @@ begin
|
|
150
150
|
)
|
151
151
|
rescue Interrupt, SignalException
|
152
152
|
print "\e[H\e[2J\e[3J"
|
153
|
-
|
154
|
-
|
153
|
+
rescue Errno::ENOTTY
|
154
|
+
abort "This should be run on a TTY! Also please don't pipe or redirect the output!"
|
155
155
|
ensure
|
156
156
|
print "\e[?25h"
|
157
157
|
end
|
data/lib/termclock/start.rb
CHANGED
@@ -79,17 +79,23 @@ module Termclock
|
|
79
79
|
|
80
80
|
case Time.now.hour
|
81
81
|
when 5...12
|
82
|
-
|
82
|
+
_m = translate('Good Morning')
|
83
|
+
"\u{1F304} #{braille_0} #{_m} #{braille_0} \u{1F304}"
|
83
84
|
when 12...16
|
84
|
-
|
85
|
+
_m = translate('Good Afternoon')
|
86
|
+
"\u26C5 #{braille_0} #{_m} #{braille_0} \u26C5"
|
85
87
|
when 16...18
|
86
|
-
|
88
|
+
_m = translate('Good Evening')
|
89
|
+
"\u{1F307} #{braille_0} #{_m} #{braille_0} \u{1F307}"
|
87
90
|
when 18...20
|
88
|
-
|
91
|
+
_m = translate('Good Evening')
|
92
|
+
"\u{1F31F} #{braille_0} #{_m} #{braille_0} \u{1F31F}"
|
89
93
|
when 20...24
|
90
|
-
|
94
|
+
_m = translate('Good Night')
|
95
|
+
"\u{1F303} #{braille_0} #{_m} #{braille_0} \u{1F303}"
|
91
96
|
else
|
92
|
-
|
97
|
+
_m = translate('Good Night')
|
98
|
+
"\u{2728} #{braille_0} #{_m} #{braille_0} \u{2728}"
|
93
99
|
end
|
94
100
|
}
|
95
101
|
|
@@ -143,7 +149,9 @@ module Termclock
|
|
143
149
|
chop_message += 1
|
144
150
|
message_counter -= 1
|
145
151
|
message_align -= 1
|
146
|
-
|
152
|
+
|
153
|
+
_chopped = message_temp[chop_message..-1]
|
154
|
+
message.replace(_chopped) if _chopped
|
147
155
|
end
|
148
156
|
else
|
149
157
|
chop_message = 0 unless chop_message == 0
|
@@ -159,7 +167,7 @@ module Termclock
|
|
159
167
|
end
|
160
168
|
end
|
161
169
|
|
162
|
-
message_final =
|
170
|
+
message_final = message.rjust(message_align).gradient(
|
163
171
|
tc1, tc2, exclude_spaces: true, bold: bold, italic: italic
|
164
172
|
)
|
165
173
|
end
|
@@ -167,7 +175,18 @@ module Termclock
|
|
167
175
|
info = system_info(width, tc1, tc2, bold, italic) if print_info
|
168
176
|
|
169
177
|
if print_date
|
170
|
-
|
178
|
+
_date = time_now.strftime(date_format)
|
179
|
+
|
180
|
+
unless LANG == :en
|
181
|
+
_date = _date.split(/(\W)/).map { |x|
|
182
|
+
translate(
|
183
|
+
x,
|
184
|
+
breakword: !x[/[^0-9]/]
|
185
|
+
)
|
186
|
+
}.join
|
187
|
+
end
|
188
|
+
|
189
|
+
date = _date.center(width)
|
171
190
|
.gradient(tc1, tc2, bold: bold, italic: italic, exclude_spaces: true)
|
172
191
|
end
|
173
192
|
|
data/lib/termclock/string.rb
CHANGED
@@ -10,7 +10,8 @@ module Termclock
|
|
10
10
|
@@cpu_usage = 0
|
11
11
|
@@cpu_usage_t = Thread.new { }.join
|
12
12
|
|
13
|
-
|
13
|
+
_tr = translate('Curr. DL/UL')
|
14
|
+
@@current_net_usage = "\u{1F4CA} #{_tr}:"
|
14
15
|
@@current_net_usage_t = Thread.new { }.join
|
15
16
|
|
16
17
|
class << self
|
@@ -30,10 +31,11 @@ module Termclock
|
|
30
31
|
_ul = _m[:transmitted]
|
31
32
|
|
32
33
|
@@current_net_usage = if _dl && _ul
|
34
|
+
_tr = translate('Curr. DL/UL')
|
33
35
|
dl = LS::PrettifyBytes.convert_short_decimal(_dl)
|
34
36
|
ul = LS::PrettifyBytes.convert_short_decimal(_ul)
|
35
37
|
|
36
|
-
"\u{1F4CA}
|
38
|
+
"\u{1F4CA} #{_tr}: #{t!("%-9s" % dl)} | #{t!("%9s" % ul)}"
|
37
39
|
else
|
38
40
|
EMPTY
|
39
41
|
end
|
@@ -41,7 +43,8 @@ module Termclock
|
|
41
43
|
end
|
42
44
|
|
43
45
|
cpu = if @@cpu_usage
|
44
|
-
|
46
|
+
_tr = translate('CPU')
|
47
|
+
"\u{1F9E0} #{_tr}: #{t!("%6s" % @@cpu_usage)}% (#{t!(LS::CPU.count_online)}/#{t!(LS::CPU.count)})"
|
45
48
|
else
|
46
49
|
EMPTY
|
47
50
|
end
|
@@ -58,22 +61,28 @@ module Termclock
|
|
58
61
|
|
59
62
|
lives = "\u2665 ".freeze.*(charge.fdiv(20).ceil).chop
|
60
63
|
|
61
|
-
|
64
|
+
_tr = translate('Battery')
|
65
|
+
"#{emoji} #{_tr}: #{t!(charge.to_s)}% #{lives} (#{plug}#{stat[:status]})"
|
62
66
|
else
|
63
67
|
EMPTY
|
64
68
|
end
|
65
69
|
|
66
|
-
|
67
|
-
|
70
|
+
_tr = translate('User')
|
71
|
+
user = "\u{1F481} #{_tr}: #{LS::User.get_current_user.capitalize}"
|
68
72
|
|
73
|
+
_tr = translate('Hostname')
|
74
|
+
hostname = "\u{1F4BB} #{_tr}: #{LS::OS.hostname}"
|
75
|
+
|
76
|
+
_tr = translate('IP Addr')
|
69
77
|
_m = LS::Net.total_bytes
|
70
|
-
ip = "\u{1F30F}
|
78
|
+
ip = "\u{1F30F} #{_tr}: #{translate(LS::Net.ipv4_private, b: true)}"
|
71
79
|
|
72
80
|
_received = _m[:received]
|
73
81
|
_transmitted = _m[:transmitted]
|
74
82
|
|
75
|
-
|
76
|
-
|
83
|
+
_tr = translate('Totl. DL/UL')
|
84
|
+
tot_received = _received ? "\u{1F4C8} #{_tr}: #{t!('%-9s'.freeze % LS::PrettifyBytes.convert_short_decimal(_m[:received]))}" : nil
|
85
|
+
tot_transmitted = _transmitted ? " | #{t!('%9s'.freeze % LS::PrettifyBytes.convert_short_decimal(_transmitted))}" : nil
|
77
86
|
|
78
87
|
net_usage = if tot_received && tot_transmitted
|
79
88
|
tot_received + tot_transmitted
|
@@ -84,31 +93,36 @@ module Termclock
|
|
84
93
|
_m = LS::Memory.stat
|
85
94
|
_m.default = 0
|
86
95
|
|
87
|
-
|
88
|
-
"
|
89
|
-
"
|
96
|
+
_tr = translate('Mem')
|
97
|
+
memory = "\u{1F3B0} #{_tr}: #{t!(LS::PrettifyBytes.convert_short_decimal(_m[:used] * 1000))}"\
|
98
|
+
" / #{t!(LS::PrettifyBytes.convert_short_decimal(_m[:total] * 1000))}"\
|
99
|
+
" (#{t!("%.2f" % _m[:percent_used])}%)"
|
90
100
|
|
91
101
|
_m = LS::Swap.stat
|
92
102
|
_m.default = 0
|
93
103
|
|
94
|
-
|
95
|
-
"
|
96
|
-
"
|
104
|
+
_tr = translate('Swap')
|
105
|
+
swap = "\u{1F300} #{_tr}: #{t!(LS::PrettifyBytes.convert_short_decimal(_m[:used] * 1000))}"\
|
106
|
+
" / #{t!(LS::PrettifyBytes.convert_short_decimal(_m[:total] * 1000))}"\
|
107
|
+
" (#{t!("%.2f" % _m[:percent_used])}%)"
|
97
108
|
|
98
109
|
_m = LS::Filesystem.stat(FILESYSTEM)
|
99
110
|
_m.default = 0
|
100
111
|
|
101
|
-
|
102
|
-
"
|
103
|
-
"
|
112
|
+
_tr = translate('FS')
|
113
|
+
fs = "\u{1F4BD} #{_tr} (#{FILESYSTEM_LABEL}): #{t!(LS::PrettifyBytes.convert_short_decimal(_m[:used]))}"\
|
114
|
+
" / #{t!(LS::PrettifyBytes.convert_short_decimal(_m[:total]))}"\
|
115
|
+
" (#{t!("%.2f" % _m[:used].*(100).fdiv(_m[:total]).round(2))}%)"
|
104
116
|
|
105
117
|
pt = LS::Process.types.values
|
106
118
|
|
107
119
|
process = if pt.length > 0
|
108
|
-
|
109
|
-
|
110
|
-
"
|
111
|
-
"
|
120
|
+
_tr = translate('Process')
|
121
|
+
|
122
|
+
"\u{1F3ED} #{_tr}: T:#{t!("%4s" % pt.length)}|"\
|
123
|
+
"R:#{"%3s" % t!(pt.count(:running))}|"\
|
124
|
+
"S:#{"%3s" % t!(pt.count(:sleeping))}|"\
|
125
|
+
"I:#{"%3s" % t!(pt.count(:idle))}"
|
112
126
|
else
|
113
127
|
EMPTY
|
114
128
|
end
|
@@ -119,7 +133,8 @@ module Termclock
|
|
119
133
|
EMPTY
|
120
134
|
end
|
121
135
|
|
122
|
-
|
136
|
+
_tr = translate('Distrib')
|
137
|
+
@@os ||= "\u{1F427} #{_tr}: #{LS::OS.distribution} #{LS::OS.machine}#{@@os_v}"
|
123
138
|
|
124
139
|
_temp_uptime = LS::OS.uptime
|
125
140
|
|
@@ -143,10 +158,12 @@ module Termclock
|
|
143
158
|
second = "%02d" % _uptime[:second]
|
144
159
|
jiffy = "%02d" % _uptime[:jiffy]
|
145
160
|
|
146
|
-
|
161
|
+
_tr = translate('Uptime')
|
162
|
+
uptime = "\u{1F3A1} #{_tr}: #{t! hour}:#{t! minute}:#{t! second}:#{t! jiffy} (#{t! LS::OS.uptime_i}s)"
|
147
163
|
|
164
|
+
_tr = translate('LoadAvg')
|
148
165
|
_loadavg = LS::Sysinfo.loads.map! { |x| "%.2f" % x }
|
149
|
-
loadavg = "\u{1F525}
|
166
|
+
loadavg = "\u{1F525} #{_tr}: 1m #{translate(_loadavg[0], b: true)}|5m #{translate(_loadavg[1], b: true)}|15m #{translate(_loadavg[2], b: true)}"
|
150
167
|
|
151
168
|
all_info = []
|
152
169
|
max_l = 0
|
@@ -186,7 +203,7 @@ module Termclock
|
|
186
203
|
padding +
|
187
204
|
y_to_s.gradient(tc1, tc2, bold: bold, italic: italic)
|
188
205
|
|
189
|
-
len = str.
|
206
|
+
len = str.grapheme_clusters.map { |x|
|
190
207
|
_x = x.bytesize./(2)
|
191
208
|
_x == 0 ? 1 : _x
|
192
209
|
}.sum
|
@@ -0,0 +1,61 @@
|
|
1
|
+
module Termclock
|
2
|
+
def self.translate(keyword, breakword: nil, b: nil)
|
3
|
+
return keyword if LANG == :en
|
4
|
+
characters = keyword.grapheme_clusters
|
5
|
+
|
6
|
+
b = breakword if breakword && !b
|
7
|
+
breakword = b if b && !breakword
|
8
|
+
|
9
|
+
upcased = characters.all? { |x| x.ord.between?(65, 90) }
|
10
|
+
downcased = upcased ? false : characters.all? { |x| x.ord.between?(97, 122) }
|
11
|
+
capitalized = if (upcased || downcased)
|
12
|
+
false
|
13
|
+
else
|
14
|
+
characters[0].ord.between?(65, 90) &&
|
15
|
+
characters.drop(1).all? { |x| x.ord.between?(97, 122) }
|
16
|
+
end
|
17
|
+
|
18
|
+
camelized = if (upcased || downcased || capitalized)
|
19
|
+
false
|
20
|
+
else
|
21
|
+
keyword.split(?\s.freeze).all? { |x|
|
22
|
+
x[0].ord.between?(65, 90) && x.chars.drop(1).all? { |y| y.ord.between?(97, 122) }
|
23
|
+
}
|
24
|
+
end
|
25
|
+
|
26
|
+
if breakword
|
27
|
+
return characters.map { |x|
|
28
|
+
tr = TRANSLATIONS[x]
|
29
|
+
|
30
|
+
if !tr
|
31
|
+
tr = TRANSLATIONS[x.downcase]
|
32
|
+
end
|
33
|
+
|
34
|
+
tr.upcase! if tr && upcased
|
35
|
+
tr.downcase! if tr && downcased
|
36
|
+
tr.capitalize! if tr && capitalized
|
37
|
+
tr.camelize! if tr && camelized
|
38
|
+
|
39
|
+
tr ? tr : x
|
40
|
+
}.join
|
41
|
+
end
|
42
|
+
|
43
|
+
tr = TRANSLATIONS[keyword]
|
44
|
+
|
45
|
+
if !tr
|
46
|
+
tr = TRANSLATIONS[keyword.downcase]
|
47
|
+
|
48
|
+
tr.upcase! if tr && upcased
|
49
|
+
tr.downcase! if tr && downcased
|
50
|
+
tr.capitalize! if tr && capitalized
|
51
|
+
tr.camelize! if tr && camelized
|
52
|
+
end
|
53
|
+
|
54
|
+
tr ? tr : keyword
|
55
|
+
end
|
56
|
+
|
57
|
+
def self.t!(keyword, breakword: true, b: true)
|
58
|
+
return keyword if LANG == :en
|
59
|
+
translate(keyword.to_s, breakword: true)
|
60
|
+
end
|
61
|
+
end
|
data/lib/termclock/version.rb
CHANGED
data/lib/termclock.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
require 'linux_stat'
|
2
2
|
require 'io/console'
|
3
|
+
require 'json'
|
4
|
+
|
3
5
|
require_relative "termclock/version"
|
6
|
+
require_relative "termclock/center_puts"
|
4
7
|
|
5
8
|
module Termclock
|
6
9
|
GC_COMPACT_TIME = 7200
|
@@ -11,8 +14,63 @@ module Termclock
|
|
11
14
|
TAB = ?\t.freeze
|
12
15
|
EMPTY = ''.freeze
|
13
16
|
EPSILON = 5.0e-07
|
17
|
+
|
18
|
+
# All languages
|
19
|
+
LANGS = %i(
|
20
|
+
bn en es fr hi it ru
|
21
|
+
)
|
22
|
+
|
23
|
+
# LANGUAGES
|
24
|
+
env_lc_all = ENV['LC_ALL'] && !ENV['LC_ALL'].empty? && ENV['LC_ALL'].downcase.split(?_)[0].to_sym
|
25
|
+
|
26
|
+
_lang = nil
|
27
|
+
_lang = env_lc_all if LANGS.include?(env_lc_all)
|
28
|
+
|
29
|
+
unless _lang
|
30
|
+
env_language = ENV['LANGUAGE'] && !ENV['LANGUAGE'].empty? && ENV['LANGUAGE'].downcase.split(?_)[0].to_sym
|
31
|
+
_lang = env_language if LANGS.include?(env_language)
|
32
|
+
end
|
33
|
+
|
34
|
+
unless _lang
|
35
|
+
env_lang = ENV['LANG'] && !ENV['LANG'].empty? && ENV['LANG'].downcase.split(?_)[0].to_sym
|
36
|
+
_lang = env_lang if LANGS.include?(env_lang)
|
37
|
+
end
|
38
|
+
|
39
|
+
unless _lang
|
40
|
+
_lang = :en
|
41
|
+
end
|
42
|
+
|
43
|
+
LANG = _lang.freeze
|
44
|
+
|
45
|
+
# Load translations
|
46
|
+
TRANSLATION_FILES = {}
|
47
|
+
|
48
|
+
Dir.glob(File.join(__dir__, 'translations', '*.json')).each { |x|
|
49
|
+
next if x == '..'.freeze || x == ?..freeze || !File.readable?(x)
|
50
|
+
|
51
|
+
TRANSLATION_FILES.merge!(
|
52
|
+
File.basename(x).split(?..freeze).tap(&:pop).join(?..freeze) => x
|
53
|
+
)
|
54
|
+
}
|
55
|
+
|
56
|
+
translation_file = TRANSLATION_FILES[LANG.to_s]
|
57
|
+
|
58
|
+
TRANSLATIONS = if translation_file && File.readable?(translation_file)
|
59
|
+
begin
|
60
|
+
JSON.parse(IO.read(translation_file))
|
61
|
+
rescue StandardError
|
62
|
+
center_puts "Can't Parse Translation File!"
|
63
|
+
sleep 0.5
|
64
|
+
{}
|
65
|
+
end
|
66
|
+
else
|
67
|
+
{}
|
68
|
+
end
|
14
69
|
end
|
15
70
|
|
71
|
+
# Translation engine
|
72
|
+
require_relative 'termclock/translate.rb'
|
73
|
+
|
16
74
|
require_relative "termclock/string"
|
17
75
|
require_relative "termclock/parse_characters"
|
18
76
|
require_relative "termclock/system_info"
|
@@ -0,0 +1,78 @@
|
|
1
|
+
{
|
2
|
+
// Numerals
|
3
|
+
"0": "০",
|
4
|
+
"1": "১",
|
5
|
+
"2": "২",
|
6
|
+
"3": "৩",
|
7
|
+
"4": "৪",
|
8
|
+
"5": "৫",
|
9
|
+
"6": "৬",
|
10
|
+
"7": "৭",
|
11
|
+
"8": "৮",
|
12
|
+
"9": "৯",
|
13
|
+
|
14
|
+
// Days
|
15
|
+
"monday": "সোমবার",
|
16
|
+
"tuesday": "মঙ্গলবার",
|
17
|
+
"wednesday": "বুধবার",
|
18
|
+
"thursday": "বৃহস্পতিবার",
|
19
|
+
"friday": "শুক্রবার",
|
20
|
+
"saturday": "শনিবার",
|
21
|
+
"sunday": "রবিবার",
|
22
|
+
|
23
|
+
"mon": "সোমবার",
|
24
|
+
"tue": "মঙ্গলবার",
|
25
|
+
"wed": "বুধবার",
|
26
|
+
"thu": "বৃহস্পতিবার",
|
27
|
+
"fri": "শুক্রবার",
|
28
|
+
"sat": "শনিবার",
|
29
|
+
"sun": "রবিবার",
|
30
|
+
|
31
|
+
// Months
|
32
|
+
"jan": "জানুয়ারী",
|
33
|
+
"feb": "ফেব্রুয়ারী",
|
34
|
+
"mar": "মার্চ",
|
35
|
+
"apr": "এপ্রিল",
|
36
|
+
"may": "মে",
|
37
|
+
"jun": "জুন",
|
38
|
+
"jul": "জুলাই",
|
39
|
+
"aug": "আগস্ট",
|
40
|
+
"sep": "সেপ্টেম্বর",
|
41
|
+
"oct": "অক্টোবর",
|
42
|
+
"nov": "নভেম্বর",
|
43
|
+
"dec": "ডিসেম্বর",
|
44
|
+
|
45
|
+
"january": "জানুয়ারী",
|
46
|
+
"february": "ফেব্রুয়ারী",
|
47
|
+
"march": "মার্চ",
|
48
|
+
"april": "এপ্রিল",
|
49
|
+
"june": "জুন",
|
50
|
+
"july": "জুলাই",
|
51
|
+
"august": "আগস্ট",
|
52
|
+
"september": "সেপ্টেম্বর",
|
53
|
+
"october": "অক্টোবর",
|
54
|
+
"november": "নভেম্বর",
|
55
|
+
"december": "ডিসেম্বর",
|
56
|
+
|
57
|
+
// Messages
|
58
|
+
"good morning": "সুপ্রভাত",
|
59
|
+
"good afternoon": "শুভ অপরাহ্ন",
|
60
|
+
"good evening": "শুভ সন্ধ্যা",
|
61
|
+
"good night": "শুভ রাত্রি",
|
62
|
+
|
63
|
+
// System info
|
64
|
+
"User": "ব্যবহারকারী",
|
65
|
+
"Distrib": "বিতরণ",
|
66
|
+
"Swap": "সোয়াপ",
|
67
|
+
"CPU": "সিপিইউ",
|
68
|
+
"Mem": "মেম",
|
69
|
+
"FS": "ফাইল সিস.",
|
70
|
+
"Uptime": "আপটাইম",
|
71
|
+
"Hostname": "হোস্টনেম",
|
72
|
+
"Battery": "ব্যাটারী",
|
73
|
+
"Ip Addr": "আইপি",
|
74
|
+
"Curr. DL/UL": "বর্তমান DL/UL",
|
75
|
+
"Totl. DL/UL": "মোট DL/UL",
|
76
|
+
"Process": "প্রসেস",
|
77
|
+
"LoadAvg": "গড় লোড"
|
78
|
+
}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
{
|
2
|
+
// Days
|
3
|
+
"monday": "lunes",
|
4
|
+
"tuesday": "martes",
|
5
|
+
"wednesday": "miércoles",
|
6
|
+
"thursday": "jueves",
|
7
|
+
"friday": "viernes",
|
8
|
+
"saturday": "sábado",
|
9
|
+
"sunday": "dimanche",
|
10
|
+
|
11
|
+
"mon": "lunes",
|
12
|
+
"tue": "martes",
|
13
|
+
"wed": "miércoles",
|
14
|
+
"thu": "jueves",
|
15
|
+
"fri": "viernes",
|
16
|
+
"sat": "sábado",
|
17
|
+
"sun": "dimanche",
|
18
|
+
|
19
|
+
// Months
|
20
|
+
"jan": "janvier",
|
21
|
+
"feb": "février",
|
22
|
+
"mar": "mars",
|
23
|
+
"apr": "avril",
|
24
|
+
"jun": "juin",
|
25
|
+
"jul": "juillet",
|
26
|
+
"aug": "août",
|
27
|
+
"sep": "septembre",
|
28
|
+
"oct": "octobre",
|
29
|
+
"nov": "novembre",
|
30
|
+
"dec": "décembre",
|
31
|
+
|
32
|
+
"january": "janvier",
|
33
|
+
"february": "février",
|
34
|
+
"march": "mars",
|
35
|
+
"april": "avril",
|
36
|
+
"may": "mai",
|
37
|
+
"june": "juin",
|
38
|
+
"july": "juillet",
|
39
|
+
"august": "août",
|
40
|
+
"september": "septembre",
|
41
|
+
"october": "octobre",
|
42
|
+
"november": "novembre",
|
43
|
+
"december": "décembre",
|
44
|
+
|
45
|
+
// Messages
|
46
|
+
"good morning": "buenos días",
|
47
|
+
"good afternoon": "buenas tardes",
|
48
|
+
"good evening": "buenas noches",
|
49
|
+
"good night": "buenas noches",
|
50
|
+
|
51
|
+
// System info
|
52
|
+
"User": "Usuario",
|
53
|
+
"Distrib": "Distribución",
|
54
|
+
"Uptime": "Tiempo de actividad",
|
55
|
+
"Hostname": "Nombre de host",
|
56
|
+
"Battery": "Batería",
|
57
|
+
"Curr. DL/UL": "Actual. DL/UL",
|
58
|
+
"Totl. DL/UL": "Total DL/UL",
|
59
|
+
"Process": "Proceso",
|
60
|
+
"LoadAvg": "Carga promedio"
|
61
|
+
}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
{
|
2
|
+
// Days
|
3
|
+
"monday": "lundi",
|
4
|
+
"tuesday": "mardi",
|
5
|
+
"wednesday": "mercredi",
|
6
|
+
"thursday": "jeudi",
|
7
|
+
"friday": "vendredi",
|
8
|
+
"saturday": "samedi",
|
9
|
+
"sunday": "dimanche",
|
10
|
+
|
11
|
+
"mon": "lun",
|
12
|
+
"tue": "mar",
|
13
|
+
"wed": "mer",
|
14
|
+
"thu": "jeu",
|
15
|
+
"fri": "ven",
|
16
|
+
"sat": "sam",
|
17
|
+
"sun": "dim",
|
18
|
+
|
19
|
+
// Months
|
20
|
+
"jan": "jav",
|
21
|
+
"feb": "fev",
|
22
|
+
"mar": "mars",
|
23
|
+
"apr": "avr",
|
24
|
+
"may": "mai",
|
25
|
+
"jun": "juin",
|
26
|
+
"jul": "juil",
|
27
|
+
"aug": "août",
|
28
|
+
"sep": "sep",
|
29
|
+
"oct": "oct",
|
30
|
+
"nov": "nov",
|
31
|
+
"dec": "dec",
|
32
|
+
|
33
|
+
"january": "janvier",
|
34
|
+
"february": "février",
|
35
|
+
"march": "mars",
|
36
|
+
"april": "avril",
|
37
|
+
"june": "juin",
|
38
|
+
"july": "juillet",
|
39
|
+
"august": "août",
|
40
|
+
"september": "septembre",
|
41
|
+
"october": "octobre",
|
42
|
+
"november": "novembre",
|
43
|
+
"december": "décembre",
|
44
|
+
|
45
|
+
// Messages
|
46
|
+
"good morning": "bonjour",
|
47
|
+
"good afternoon": "bonne après-midi",
|
48
|
+
"good evening": "bonne soirée",
|
49
|
+
"good night": "bonne nuit",
|
50
|
+
|
51
|
+
// System info
|
52
|
+
"User": "Utilisateur·ice",
|
53
|
+
// Utilisateur : male, Utilisatrice : female, Utilisateur·ice : a mesh of both to say it could be either
|
54
|
+
"Uptime": "Temps de fonctionnement",
|
55
|
+
"Hostname": "Hôte",
|
56
|
+
"Battery": "Batterie",
|
57
|
+
"Curr. DL/UL": "DL/UL Actuel",
|
58
|
+
"Totl. DL/UL": "DL/UL Total ",
|
59
|
+
"Process": "Processus",
|
60
|
+
"LoadAvg": "Charge Moyenne"
|
61
|
+
}
|
@@ -0,0 +1,77 @@
|
|
1
|
+
{
|
2
|
+
// Numerals
|
3
|
+
"0": "०",
|
4
|
+
"1": "१",
|
5
|
+
"2": "२",
|
6
|
+
"3": "३",
|
7
|
+
"4": "४",
|
8
|
+
"5": "५",
|
9
|
+
"6": "६",
|
10
|
+
"7": "७",
|
11
|
+
"8": "८",
|
12
|
+
"9": "९",
|
13
|
+
|
14
|
+
// Days
|
15
|
+
"monday": "सोमवार",
|
16
|
+
"tuesday": "मंगलवार",
|
17
|
+
"wednesday": "बुधवार",
|
18
|
+
"thursday": "गुरूवार",
|
19
|
+
"friday": "शुक्रवार",
|
20
|
+
"saturday": "शनिवार",
|
21
|
+
"sunday": "रविवार",
|
22
|
+
|
23
|
+
"mon": "सोमवार",
|
24
|
+
"tue": "मंगलवार",
|
25
|
+
"wed": "बुधवार",
|
26
|
+
"thu": "गुरूवार",
|
27
|
+
"fri": "शुक्रवार",
|
28
|
+
"sat": "शनिवार",
|
29
|
+
"sun": "रविवार",
|
30
|
+
|
31
|
+
// Months
|
32
|
+
"jan": "जनवरी",
|
33
|
+
"feb": "फ़रवरी",
|
34
|
+
"mar": "मार्च",
|
35
|
+
"apr": "अप्रैल",
|
36
|
+
"jun": "जून",
|
37
|
+
"jul": "जुलाई",
|
38
|
+
"aug": "अगस्त",
|
39
|
+
"sep": "सितंबर",
|
40
|
+
"oct": "अक्टूबर",
|
41
|
+
"nov": "नवंबर",
|
42
|
+
"dec": "दिसंबर",
|
43
|
+
|
44
|
+
"january": "जनवरी",
|
45
|
+
"february": "फ़रवरी",
|
46
|
+
"march": "मार्च",
|
47
|
+
"april": "अप्रैल",
|
48
|
+
"may": "मई",
|
49
|
+
"june": "जून",
|
50
|
+
"july": "जुलाई",
|
51
|
+
"august": "अगस्त",
|
52
|
+
"september": "सितंबर",
|
53
|
+
"october": "अक्टूबर",
|
54
|
+
"november": "नवंबर",
|
55
|
+
"december": "दिसंबर",
|
56
|
+
|
57
|
+
// Messages
|
58
|
+
"good morning": "शुभ प्रभात",
|
59
|
+
"good afternoon": "शुभ दोपहर",
|
60
|
+
"good evening": "सुसंध्या",
|
61
|
+
"good night": "शुभ रात्रि",
|
62
|
+
|
63
|
+
// System info
|
64
|
+
"User": "उपयोगकर्ता",
|
65
|
+
"Distrib": "वितरण",
|
66
|
+
"Swap": "स्वैप",
|
67
|
+
"CPU": "सी पी यू",
|
68
|
+
"Mem": "मेम",
|
69
|
+
"FS": "फाइल सीस ",
|
70
|
+
"Uptime": "अपटाइम",
|
71
|
+
"Hostname": "होस्टनाम",
|
72
|
+
"Battery": "बैटरी ",
|
73
|
+
"Curr. DL/UL": "वर्तमान DL/UL",
|
74
|
+
"Totl. DL/UL": "समस्त DL/UL",
|
75
|
+
"Process": "प्रोसेस",
|
76
|
+
"LoadAvg": "औसत लोड"
|
77
|
+
}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
{
|
2
|
+
// Days
|
3
|
+
"monday": "lunedi",
|
4
|
+
"tuesday": "martedì",
|
5
|
+
"wednesday": "mercoledì",
|
6
|
+
"thursday": "giovedì",
|
7
|
+
"friday": "venerdì",
|
8
|
+
"saturday": "sabato",
|
9
|
+
"sunday": "domenica",
|
10
|
+
|
11
|
+
"mon": "lun",
|
12
|
+
"tue": "mar",
|
13
|
+
"wed": "mer",
|
14
|
+
"thu": "gio",
|
15
|
+
"fri": "ven",
|
16
|
+
"sat": "sab",
|
17
|
+
"sun": "do",
|
18
|
+
|
19
|
+
// Months
|
20
|
+
"jan": "gennaio",
|
21
|
+
"feb": "febbraio",
|
22
|
+
"mar": "marzo",
|
23
|
+
"apr": "aprile",
|
24
|
+
"may": "maggio",
|
25
|
+
"jun": "giugno",
|
26
|
+
"jul": "luglio",
|
27
|
+
"aug": "agosto",
|
28
|
+
"sep": "settembre",
|
29
|
+
"oct": "ottobre",
|
30
|
+
"nov": "novembre",
|
31
|
+
"dec": "dicembre",
|
32
|
+
|
33
|
+
"january": "gennaio",
|
34
|
+
"february": "febbraio",
|
35
|
+
"march": "marzo",
|
36
|
+
"april": "aprile",
|
37
|
+
"june": "giugno",
|
38
|
+
"july": "luglio",
|
39
|
+
"august": "agosto",
|
40
|
+
"september": "settembre",
|
41
|
+
"october": "ottobre",
|
42
|
+
"november": "novembre",
|
43
|
+
"december": "dicembre",
|
44
|
+
|
45
|
+
// Messages
|
46
|
+
"good morning": "buongiorno",
|
47
|
+
"good afternoon": "buon pomeriggio",
|
48
|
+
"good evening": "buonasera",
|
49
|
+
"good night": "buona Notte",
|
50
|
+
|
51
|
+
// System info
|
52
|
+
"User": "Utente",
|
53
|
+
"Distrib": "Distribuzione",
|
54
|
+
"Hostname": "Nome host",
|
55
|
+
"Battery": "batteria",
|
56
|
+
"Curr. DL/UL": "Attuale DL/UL",
|
57
|
+
"Totl. DL/UL": "Totale DL/UL",
|
58
|
+
"Process": "Processi",
|
59
|
+
"LoadAvg": "Carico Medio"
|
60
|
+
}
|
@@ -0,0 +1,63 @@
|
|
1
|
+
{
|
2
|
+
// Days
|
3
|
+
"monday": "Понедельник",
|
4
|
+
"tuesday": "Вторник",
|
5
|
+
"wednesday": "Среда",
|
6
|
+
"thursday": "Четверг",
|
7
|
+
"friday": "Пятница",
|
8
|
+
"saturday": "Суббота",
|
9
|
+
"sunday": "Воскресенье",
|
10
|
+
|
11
|
+
"mon": "Понедельник",
|
12
|
+
"tue": "Вторник",
|
13
|
+
"wed": "Среда",
|
14
|
+
"thu": "Четверг",
|
15
|
+
"fri": "Пятница",
|
16
|
+
"sat": "Суббота",
|
17
|
+
"sun": "Воскресенье",
|
18
|
+
|
19
|
+
// Months
|
20
|
+
"jan": "Январь",
|
21
|
+
"feb": "Февраль",
|
22
|
+
"mar": "Март",
|
23
|
+
"apr": "Апрель",
|
24
|
+
"may": "Май",
|
25
|
+
"jun": "Июнь",
|
26
|
+
"jul": "Июль",
|
27
|
+
"aug": "Август",
|
28
|
+
"sep": "Сентябрь",
|
29
|
+
"oct": "Октябрь",
|
30
|
+
"nov": "Ноябрь",
|
31
|
+
"dec": "Декабрь",
|
32
|
+
|
33
|
+
"january": "Январь",
|
34
|
+
"february": "Февраль",
|
35
|
+
"march": "Март",
|
36
|
+
"april": "Апрель",
|
37
|
+
"june": "Июнь",
|
38
|
+
"july": "Июль",
|
39
|
+
"august": "Август",
|
40
|
+
"september": "Сентябрь",
|
41
|
+
"october": "Октябрь",
|
42
|
+
"november": "Ноябрь",
|
43
|
+
"december": "Декабрь",
|
44
|
+
|
45
|
+
// Messages
|
46
|
+
"good morning": "доброе утро",
|
47
|
+
"good afternoon": "Добрый день",
|
48
|
+
"good evening": "Добрый вечер",
|
49
|
+
"good night": "спокойной ночи",
|
50
|
+
|
51
|
+
// System info
|
52
|
+
"User": "Пользователь",
|
53
|
+
"Distrib": "распределение",
|
54
|
+
"Swap": "свап",
|
55
|
+
"CPU": "Процессор",
|
56
|
+
"Mem": "мем",
|
57
|
+
"Hostname": "имя хоста",
|
58
|
+
"Battery": "аккумулятор",
|
59
|
+
"Curr. DL/UL": "теперешний дл/ул",
|
60
|
+
"Totl. DL/UL": "общее дл/ул",
|
61
|
+
"Process": "Процесс",
|
62
|
+
"LoadAvg": "средняя нагрузка"
|
63
|
+
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: termclock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sourav Goswami
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: linux_stat
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.
|
19
|
+
version: 2.3.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.
|
26
|
+
version: 2.3.0
|
27
27
|
description: A clock for Linux VTE
|
28
28
|
email:
|
29
29
|
- souravgoswami@protonmail.com
|
@@ -34,12 +34,20 @@ extra_rdoc_files: []
|
|
34
34
|
files:
|
35
35
|
- exe/termclock
|
36
36
|
- lib/termclock.rb
|
37
|
+
- lib/termclock/center_puts.rb
|
37
38
|
- lib/termclock/hex2rgb.rb
|
38
39
|
- lib/termclock/parse_characters.rb
|
39
40
|
- lib/termclock/start.rb
|
40
41
|
- lib/termclock/string.rb
|
41
42
|
- lib/termclock/system_info.rb
|
43
|
+
- lib/termclock/translate.rb
|
42
44
|
- lib/termclock/version.rb
|
45
|
+
- lib/translations/bn.json
|
46
|
+
- lib/translations/es.json
|
47
|
+
- lib/translations/fr.json
|
48
|
+
- lib/translations/hi.json
|
49
|
+
- lib/translations/it.json
|
50
|
+
- lib/translations/ru.json
|
43
51
|
homepage: https://github.com/souravgoswami/termclock
|
44
52
|
licenses:
|
45
53
|
- MIT
|
@@ -59,7 +67,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
59
67
|
- !ruby/object:Gem::Version
|
60
68
|
version: '0'
|
61
69
|
requirements: []
|
62
|
-
rubygems_version: 3.2.
|
70
|
+
rubygems_version: 3.2.21
|
63
71
|
signing_key:
|
64
72
|
specification_version: 4
|
65
73
|
summary: A clock for Linux VTE
|