mirror of
https://github.com/zoriya/noctalia-shell.git
synced 2025-12-06 06:36:15 +00:00
Compare commits
415 Commits
v3.0.10
...
shell-stat
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
74ba883dd8 | ||
|
|
01a26fd910 | ||
|
|
0293b8c8dd | ||
|
|
3914c32c96 | ||
|
|
4652691c4c | ||
|
|
679fd5c40e | ||
|
|
48c5435cef | ||
|
|
880ae9c7b9 | ||
|
|
0f650b36f7 | ||
|
|
823042b245 | ||
|
|
9c550af64e | ||
|
|
1bf54de99c | ||
|
|
7a68030f69 | ||
|
|
f46915d2c3 | ||
|
|
50ebc77513 | ||
|
|
522e7e4352 | ||
|
|
9f9e1341fd | ||
|
|
c919c54a32 | ||
|
|
6387dcc6d4 | ||
|
|
455014a39b | ||
|
|
a884f012d8 | ||
|
|
c5b23cc291 | ||
|
|
04e46815f8 | ||
|
|
f3d1e1f3d1 | ||
|
|
e2aa4ca2f8 | ||
|
|
d6edc55d16 | ||
|
|
e5912760ca | ||
|
|
7d981fb55b | ||
|
|
e97c46e96c | ||
|
|
c1afa199e3 | ||
|
|
530992a14b | ||
|
|
5d9cfeb9d0 | ||
|
|
8cb4711629 | ||
|
|
2d856882d2 | ||
|
|
f181bdf21c | ||
|
|
665aa84f70 | ||
|
|
b84452e04d | ||
|
|
d3c200f50c | ||
|
|
a39fbb5639 | ||
|
|
fe40758d4e | ||
|
|
63331c1018 | ||
|
|
9c955cdd39 | ||
|
|
d9e0f2fc10 | ||
|
|
1cbc793087 | ||
|
|
1a2ddbb9e3 | ||
|
|
e46c9cdf0e | ||
|
|
43cdc4494d | ||
|
|
5ed4c97ee5 | ||
|
|
ddd3ae364c | ||
|
|
3b793add39 | ||
|
|
71f4a8eb49 | ||
|
|
2f735eda81 | ||
|
|
ee33da8348 | ||
|
|
f7d7d7ac15 | ||
|
|
972ac47c1b | ||
|
|
0b0860a446 | ||
|
|
e8a27acb63 | ||
|
|
694fefeebd | ||
|
|
088431b20d | ||
|
|
63940703f8 | ||
|
|
e3c171840f | ||
|
|
857d1dbbb6 | ||
|
|
516fc47b68 | ||
|
|
e549cfcb78 | ||
|
|
6a840769ed | ||
|
|
ec92295a98 | ||
|
|
60d37576e0 | ||
|
|
067bbf20bc | ||
|
|
49aab3c487 | ||
|
|
868b14bbc3 | ||
|
|
b435d1f588 | ||
|
|
1fc1fa36aa | ||
|
|
04311f191f | ||
|
|
0726e6b92f | ||
|
|
9a3d04249f | ||
|
|
edd4ba1b15 | ||
|
|
c50776eeee | ||
|
|
e9114297d1 | ||
|
|
fbfdf787de | ||
|
|
3976a21dc7 | ||
|
|
c735eef75d | ||
|
|
1ceb97c08f | ||
|
|
42e2ba09ff | ||
|
|
074da9069c | ||
|
|
19672a3d46 | ||
|
|
da8fa306a1 | ||
|
|
d74f1feece | ||
|
|
6df39604c5 | ||
|
|
4d45b330b0 | ||
|
|
b7c50f4c23 | ||
|
|
0a6c06b092 | ||
|
|
9080a584a2 | ||
|
|
110917359c | ||
|
|
5275ccf0d7 | ||
|
|
d641eadf75 | ||
|
|
a9ccb4c133 | ||
|
|
16a79c7d5b | ||
|
|
1b4cd35504 | ||
|
|
17810d1d2f | ||
|
|
64f5d99a48 | ||
|
|
e4e3b1b85c | ||
|
|
4a0c2b7ef3 | ||
|
|
5e2f8c1462 | ||
|
|
97ba831cb4 | ||
|
|
5ade827a4c | ||
|
|
03554120be | ||
|
|
2917f02621 | ||
|
|
a18be7927c | ||
|
|
9bf8fd16d6 | ||
|
|
948c3c7e18 | ||
|
|
b2978113c5 | ||
|
|
87f62b288b | ||
|
|
ed373df99d | ||
|
|
529869f796 | ||
|
|
12766e411d | ||
|
|
79f79e0cff | ||
|
|
ca89a0dc35 | ||
|
|
6eaffb0e65 | ||
|
|
455ef3449e | ||
|
|
fef8535384 | ||
|
|
770c667794 | ||
|
|
9b805ef1c4 | ||
|
|
260cb34c96 | ||
|
|
592e261eb8 | ||
|
|
8242b0d97d | ||
|
|
aa218e153d | ||
|
|
af4ec4c694 | ||
|
|
7e43f3b0d6 | ||
|
|
9a76b54ce8 | ||
|
|
9170ece8d2 | ||
|
|
27dd8fd036 | ||
|
|
74b6e86835 | ||
|
|
1a4f151bbc | ||
|
|
4b507fa238 | ||
|
|
7262b7b00f | ||
|
|
3264b59d54 | ||
|
|
c3b73f02b3 | ||
|
|
ece5b95fb4 | ||
|
|
956a33a148 | ||
|
|
6655e96204 | ||
|
|
78698fa546 | ||
|
|
6b6517cac3 | ||
|
|
1d200e84a1 | ||
|
|
653d3b3cb2 | ||
|
|
0428dd1b50 | ||
|
|
6df544d560 | ||
|
|
6d032e5159 | ||
|
|
02e7588bca | ||
|
|
c407edb4e9 | ||
|
|
f3207b526f | ||
|
|
103bd91da8 | ||
|
|
66770625dd | ||
|
|
81c0c302d4 | ||
|
|
3283aacf9b | ||
|
|
1b114a0c5f | ||
|
|
0b4a7b2bcd | ||
|
|
f15c2a1e49 | ||
|
|
226213457f | ||
|
|
836029b567 | ||
|
|
8034297fb7 | ||
|
|
01b893c6e6 | ||
|
|
bc22bcac82 | ||
|
|
e36461acd2 | ||
|
|
069859828c | ||
|
|
1ba73c6fcb | ||
|
|
63f1404598 | ||
|
|
4a9cea1d84 | ||
|
|
8bca19f3f0 | ||
|
|
3bb8d8a7c2 | ||
|
|
7b926b68af | ||
|
|
5e398d387e | ||
|
|
f1d714ad9a | ||
|
|
7453a7c5d3 | ||
|
|
2ae5aa90c9 | ||
|
|
ca5f5cd506 | ||
|
|
2bf4b8ee71 | ||
|
|
ca64c4b436 | ||
|
|
4da1b08e19 | ||
|
|
22fefb3a8b | ||
|
|
c223737fd7 | ||
|
|
bb8107727c | ||
|
|
595ad0bb20 | ||
|
|
28e6fcdfe4 | ||
|
|
063ca70c57 | ||
|
|
48fb52dfe4 | ||
|
|
a7aa38fe1c | ||
|
|
0d478fc998 | ||
|
|
d4fb4f5889 | ||
|
|
d06f111c9a | ||
|
|
cd10f16b61 | ||
|
|
b2bfb71a91 | ||
|
|
b79ce196a6 | ||
|
|
24b8eeb1f4 | ||
|
|
a201b8a2c8 | ||
|
|
609c9900f7 | ||
|
|
f2ffed74be | ||
|
|
660287c7a1 | ||
|
|
ada3d7abf2 | ||
|
|
89a5efe6d1 | ||
|
|
83edb704a1 | ||
|
|
1f5b7ab3a1 | ||
|
|
8f6d1e06d2 | ||
|
|
aee415e82e | ||
|
|
a46c76b9d5 | ||
|
|
4f0bf28f06 | ||
|
|
474598ccae | ||
|
|
0426918be6 | ||
|
|
792c6848c4 | ||
|
|
40f68c5325 | ||
|
|
dddd934f06 | ||
|
|
dc08751ec2 | ||
|
|
1f0485dff2 | ||
|
|
064b894fbc | ||
|
|
8ec6040c29 | ||
|
|
df37511089 | ||
|
|
202d974a82 | ||
|
|
8e18f79acd | ||
|
|
d6de45275f | ||
|
|
39fd2517c3 | ||
|
|
d8adaf4d4b | ||
|
|
3ff5b7639f | ||
|
|
32905224b9 | ||
|
|
9919e0419e | ||
|
|
57b8be1504 | ||
|
|
0706285048 | ||
|
|
4fa6696a1c | ||
|
|
a6aa162db6 | ||
|
|
36e0ef91bc | ||
|
|
c09bf13c58 | ||
|
|
7280d827db | ||
|
|
9e454bd608 | ||
|
|
13532cc479 | ||
|
|
31a93fb211 | ||
|
|
01b44e0b28 | ||
|
|
de200a929c | ||
|
|
1a38c6d665 | ||
|
|
8af9643577 | ||
|
|
9d3dbd33b2 | ||
|
|
8e36b68789 | ||
|
|
78919bcc13 | ||
|
|
8ed927ab0a | ||
|
|
6c80fd3740 | ||
|
|
ef1b7cfd89 | ||
|
|
098e7f5645 | ||
|
|
a8787aa241 | ||
|
|
6494aec955 | ||
|
|
2735a489b5 | ||
|
|
b120af43fe | ||
|
|
f520466063 | ||
|
|
ead2b82680 | ||
|
|
3f1bcf1ae8 | ||
|
|
f9192f0424 | ||
|
|
cea0739a5e | ||
|
|
1826d6a00d | ||
|
|
ab8e14d0f5 | ||
|
|
5121d73a43 | ||
|
|
fc033081bd | ||
|
|
e129da8f46 | ||
|
|
07f8bd62b4 | ||
|
|
53d04df75d | ||
|
|
ebe50561a8 | ||
|
|
04abff2ee4 | ||
|
|
91f098071d | ||
|
|
f28452a258 | ||
|
|
131d3a095e | ||
|
|
3685b8c9f7 | ||
|
|
c730ac4f34 | ||
|
|
0314d2445e | ||
|
|
8010b32c29 | ||
|
|
34e845d8fd | ||
|
|
9576daf70a | ||
|
|
adfe4817e0 | ||
|
|
2b5010f477 | ||
|
|
6b92d2d4c2 | ||
|
|
e1e6f36cea | ||
|
|
df2faf3267 | ||
|
|
c635f84eba | ||
|
|
adfc8d033d | ||
|
|
267bc00097 | ||
|
|
996935af2b | ||
|
|
049d313d51 | ||
|
|
a81cbb587e | ||
|
|
7176e890af | ||
|
|
23962d9290 | ||
|
|
e7d373f2cc | ||
|
|
79b079a436 | ||
|
|
810efe6ad3 | ||
|
|
4ca358b5ba | ||
|
|
b692275c31 | ||
|
|
6da74a800f | ||
|
|
33eb71f0d8 | ||
|
|
edef856895 | ||
|
|
312d1b6d22 | ||
|
|
02d77ff445 | ||
|
|
d2bd621abe | ||
|
|
42f12e8d56 | ||
|
|
faaf5b7464 | ||
|
|
51940a9fc0 | ||
|
|
c6fcfffbe6 | ||
|
|
867abc6dc8 | ||
|
|
b1dfcb58ba | ||
|
|
9890174aeb | ||
|
|
dd4cf6e422 | ||
|
|
6cb45d5d08 | ||
|
|
7bb27b6c29 | ||
|
|
c0e649b7fe | ||
|
|
73269047ca | ||
|
|
a0dcd97aa6 | ||
|
|
d3a98ca1d6 | ||
|
|
0eb82bce98 | ||
|
|
9451b18a3d | ||
|
|
717ea441b0 | ||
|
|
a32d999e46 | ||
|
|
26d30bdaa5 | ||
|
|
96c750b2bb | ||
|
|
4129b47559 | ||
|
|
f64a2fae4e | ||
|
|
1573b5f128 | ||
|
|
4088c13eec | ||
|
|
f1576a61a5 | ||
|
|
95d252a949 | ||
|
|
ee22bb9e21 | ||
|
|
545e72c256 | ||
|
|
ea8ddcaef8 | ||
|
|
4b2e8b6ef0 | ||
|
|
15e8d76a90 | ||
|
|
68e83f4d63 | ||
|
|
5bd844ec51 | ||
|
|
2d99a2c233 | ||
|
|
96ae2c0d6f | ||
|
|
2c5c462aaa | ||
|
|
d51dbb295b | ||
|
|
04fcb94ebc | ||
|
|
aa0a6c2cdd | ||
|
|
aace0a8ada | ||
|
|
6004807776 | ||
|
|
0ab9aa1c0e | ||
|
|
17ff97f8c5 | ||
|
|
06007549a3 | ||
|
|
6e368601b4 | ||
|
|
a49f4ba009 | ||
|
|
80493adaed | ||
|
|
e1f692be04 | ||
|
|
3a80389ca4 | ||
|
|
52071efc08 | ||
|
|
3d81d445a3 | ||
|
|
889bbfcb4f | ||
|
|
8ba0a0a51f | ||
|
|
9b2abd313d | ||
|
|
e98f01faa1 | ||
|
|
4fd5865978 | ||
|
|
c2e56fcd36 | ||
|
|
6178c34ec0 | ||
|
|
1288924f87 | ||
|
|
278fbb7f76 | ||
|
|
fcc8394e07 | ||
|
|
8b0c615322 | ||
|
|
ac9e316f56 | ||
|
|
205e73e8e8 | ||
|
|
04439699ae | ||
|
|
7021653764 | ||
|
|
454733d80e | ||
|
|
14b0ef320a | ||
|
|
e814ba5827 | ||
|
|
d044562016 | ||
|
|
9a92fa0802 | ||
|
|
36d4c10202 | ||
|
|
e4ef05f58f | ||
|
|
6083d8242b | ||
|
|
aca82f810c | ||
|
|
58ee164792 | ||
|
|
7bf3601a52 | ||
|
|
e1ce5a6b7c | ||
|
|
632280a470 | ||
|
|
f6eb76aa74 | ||
|
|
4ce2fb5324 | ||
|
|
5e567bfcca | ||
|
|
f067d585b5 | ||
|
|
b9d3040786 | ||
|
|
12a4fe2653 | ||
|
|
337a830cf1 | ||
|
|
2eb59bed4a | ||
|
|
39784134af | ||
|
|
81e9bd55fa | ||
|
|
e4e63e1f45 | ||
|
|
0db78a0abe | ||
|
|
88a968aa21 | ||
|
|
dbedf6c25c | ||
|
|
1e5d82b615 | ||
|
|
cc08bc320e | ||
|
|
4f6ed4335a | ||
|
|
7be6ea57a5 | ||
|
|
37d19a3290 | ||
|
|
437fe0f9e8 | ||
|
|
55addb651c | ||
|
|
9215df3fcb | ||
|
|
f15e900a21 | ||
|
|
9b2b4b4bd1 | ||
|
|
875aca2a36 | ||
|
|
d781f52e1a | ||
|
|
e67f27f58d | ||
|
|
e35239d512 | ||
|
|
772fb1da7d | ||
|
|
be780971d6 | ||
|
|
fa880e8390 | ||
|
|
b3fbe7eff3 | ||
|
|
f616aa64c5 | ||
|
|
ccbfa926dd | ||
|
|
3d6e1dc7d9 | ||
|
|
b717baf4ba | ||
|
|
4ea011b72a | ||
|
|
c2278bdd2d | ||
|
|
fb126cc86c | ||
|
|
84e413f316 | ||
|
|
952e5ecbde |
2
.github/pull_request_template.md
vendored
2
.github/pull_request_template.md
vendored
@@ -1,5 +1,7 @@
|
||||
# Pull Request
|
||||
|
||||
<!-- If this is a color scheme PR, please create it in https://github.com/noctalia-dev/noctalia-colorschemes instead -->
|
||||
|
||||
## Motivation
|
||||
Provide a clear and concise explanation of what this PR does and why it is needed.
|
||||
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"dark": {
|
||||
"mPrimary": "#C4A82E",
|
||||
"mOnPrimary": "#0E1015",
|
||||
"mSecondary": "#D14358",
|
||||
"mOnSecondary": "#0E1015",
|
||||
"mTertiary": "#00A66C",
|
||||
"mOnTertiary": "#0E1015",
|
||||
"mError": "#B32D2D",
|
||||
"mOnError": "#0E1015",
|
||||
"mSurface": "#0C1017",
|
||||
"mOnSurface": "#5C8AC4",
|
||||
"mSurfaceVariant": "#11151D",
|
||||
"mOnSurfaceVariant": "#9B6BC1",
|
||||
"mOutline": "#45A0D6",
|
||||
"mShadow": "#090D13",
|
||||
"mHover": "#00A66C",
|
||||
"mOnHover": "#0E1015"
|
||||
},
|
||||
"light": {
|
||||
"mPrimary": "#00B8B3",
|
||||
"mOnPrimary": "#1A1914",
|
||||
"mSecondary": "#D957A0",
|
||||
"mOnSecondary": "#1A1914",
|
||||
"mTertiary": "#45D395",
|
||||
"mOnTertiary": "#1A1914",
|
||||
"mError": "#E63E5D",
|
||||
"mOnError": "#1A1914",
|
||||
"mSurface": "#DAE6E8",
|
||||
"mOnSurface": "#1A1914",
|
||||
"mSurfaceVariant": "#C8DEE6",
|
||||
"mOnSurfaceVariant": "#1A1914",
|
||||
"mOutline": "#7B52AB",
|
||||
"mShadow": "#B8D4E6",
|
||||
"mHover": "#45D395",
|
||||
"mOnHover": "#1A1914"
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
# Colors (Cyberpunk)
|
||||
|
||||
[colors.bright]
|
||||
black = '#2b314a'
|
||||
blue = '#4f8fff'
|
||||
cyan = '#43c9ff'
|
||||
green = '#89d36a'
|
||||
magenta = '#9d6dff'
|
||||
red = '#e64572'
|
||||
white = '#d8e0ff'
|
||||
yellow = '#d7a23a'
|
||||
|
||||
[colors.cursor]
|
||||
cursor = '#d8e0ff'
|
||||
text = '#0a0d14'
|
||||
|
||||
[colors.normal]
|
||||
black = '#0c0e14'
|
||||
blue = '#4f8fff'
|
||||
cyan = '#43c9ff'
|
||||
green = '#89d36a'
|
||||
magenta = '#9d6dff'
|
||||
red = '#e64572'
|
||||
white = '#b7c4f2'
|
||||
yellow = '#d7a23a'
|
||||
|
||||
[colors.primary]
|
||||
background = '#0a0d14'
|
||||
foreground = '#d8e0ff'
|
||||
|
||||
[colors.selection]
|
||||
background = '#d8e0ff'
|
||||
text = '#0a0d14'
|
||||
@@ -1,33 +0,0 @@
|
||||
# Colors (Cyberpunk Light)
|
||||
|
||||
[colors.bright]
|
||||
black = '#a1a6c5'
|
||||
blue = '#2e7de9'
|
||||
cyan = '#007197'
|
||||
green = '#587539'
|
||||
magenta = '#9854f1'
|
||||
red = '#f52a65'
|
||||
white = '#3760bf'
|
||||
yellow = '#8c6c3e'
|
||||
|
||||
[colors.cursor]
|
||||
cursor = '#3760bf'
|
||||
text = '#e1e2e7'
|
||||
|
||||
[colors.normal]
|
||||
black = '#e9e9ed'
|
||||
blue = '#2e7de9'
|
||||
cyan = '#007197'
|
||||
green = '#587539'
|
||||
magenta = '#9854f1'
|
||||
red = '#f52a65'
|
||||
white = '#6172b0'
|
||||
yellow = '#8c6c3e'
|
||||
|
||||
[colors.primary]
|
||||
background = '#e1e2e7'
|
||||
foreground = '#3760bf'
|
||||
|
||||
[colors.selection]
|
||||
background = '#99a7df'
|
||||
text = '#3760bf'
|
||||
@@ -1,27 +0,0 @@
|
||||
[cursor]
|
||||
color=0a0d14 d8e0ff
|
||||
|
||||
[colors]
|
||||
foreground=d8e0ff
|
||||
background=0a0d14
|
||||
|
||||
regular0=0c0e14
|
||||
regular1=e64572
|
||||
regular2=89d36a
|
||||
regular3=d7a23a
|
||||
regular4=4f8fff
|
||||
regular5=9d6dff
|
||||
regular6=43c9ff
|
||||
regular7=b7c4f2
|
||||
|
||||
bright0=2b314a
|
||||
bright1=e64572
|
||||
bright2=89d36a
|
||||
bright3=d7a23a
|
||||
bright4=4f8fff
|
||||
bright5=9d6dff
|
||||
bright6=43c9ff
|
||||
bright7=d8e0ff
|
||||
|
||||
selection-foreground=0a0d14
|
||||
selection-background=d8e0ff
|
||||
@@ -1,22 +0,0 @@
|
||||
[colors]
|
||||
foreground=3760bf
|
||||
background=e1e2e7
|
||||
regular0=e9e9ed
|
||||
regular1=f52a65
|
||||
regular2=587539
|
||||
regular3=8c6c3e
|
||||
regular4=2e7de9
|
||||
regular5=9854f1
|
||||
regular6=007197
|
||||
regular7=6172b0
|
||||
bright0=a1a6c5
|
||||
bright1=f52a65
|
||||
bright2=587539
|
||||
bright3=8c6c3e
|
||||
bright4=2e7de9
|
||||
bright5=9854f1
|
||||
bright6=007197
|
||||
bright7=3760bf
|
||||
selection-foreground=3760bf
|
||||
selection-background=99a7df
|
||||
cursor=e1e2e7 3760bf
|
||||
@@ -1,23 +0,0 @@
|
||||
palette = 0=#0c0e14
|
||||
palette = 1=#e64572
|
||||
palette = 2=#89d36a
|
||||
palette = 3=#d7a23a
|
||||
palette = 4=#4f8fff
|
||||
palette = 5=#9d6dff
|
||||
palette = 6=#43c9ff
|
||||
palette = 7=#b7c4f2
|
||||
palette = 8=#2b314a
|
||||
palette = 9=#e64572
|
||||
palette = 10=#89d36a
|
||||
palette = 11=#d7a23a
|
||||
palette = 12=#4f8fff
|
||||
palette = 13=#9d6dff
|
||||
palette = 14=#43c9ff
|
||||
palette = 15=#d8e0ff
|
||||
|
||||
background = #0a0d14
|
||||
foreground = #d8e0ff
|
||||
cursor-color = #d8e0ff
|
||||
cursor-text = #0a0d14
|
||||
selection-background = #d8e0ff
|
||||
selection-foreground = #0a0d14
|
||||
@@ -1,22 +0,0 @@
|
||||
palette = 0=#e9e9ed
|
||||
palette = 1=#f52a65
|
||||
palette = 2=#587539
|
||||
palette = 3=#8c6c3e
|
||||
palette = 4=#2e7de9
|
||||
palette = 5=#9854f1
|
||||
palette = 6=#007197
|
||||
palette = 7=#6172b0
|
||||
palette = 8=#a1a6c5
|
||||
palette = 9=#f52a65
|
||||
palette = 10=#587539
|
||||
palette = 11=#8c6c3e
|
||||
palette = 12=#2e7de9
|
||||
palette = 13=#9854f1
|
||||
palette = 14=#007197
|
||||
palette = 15=#3760bf
|
||||
background = #e1e2e7
|
||||
foreground = #3760bf
|
||||
cursor-color = #3760bf
|
||||
cursor-text = #e1e2e7
|
||||
selection-background = #99a7df
|
||||
selection-foreground = #3760bf
|
||||
@@ -1,23 +0,0 @@
|
||||
color0 #0c0e14
|
||||
color1 #e64572
|
||||
color2 #89d36a
|
||||
color3 #d7a23a
|
||||
color4 #4f8fff
|
||||
color5 #9d6dff
|
||||
color6 #43c9ff
|
||||
color7 #b7c4f2
|
||||
color8 #2b314a
|
||||
color9 #e64572
|
||||
color10 #89d36a
|
||||
color11 #d7a23a
|
||||
color12 #4f8fff
|
||||
color13 #9d6dff
|
||||
color14 #43c9ff
|
||||
color15 #d8e0ff
|
||||
|
||||
background #0a0d14
|
||||
selection_foreground #0a0d14
|
||||
cursor #d8e0ff
|
||||
cursor_text_color #0a0d14
|
||||
foreground #d8e0ff
|
||||
selection_background #d8e0ff
|
||||
@@ -1,22 +0,0 @@
|
||||
color0 #e9e9ed
|
||||
color1 #f52a65
|
||||
color2 #587539
|
||||
color3 #8c6c3e
|
||||
color4 #2e7de9
|
||||
color5 #9854f1
|
||||
color6 #007197
|
||||
color7 #6172b0
|
||||
color8 #a1a6c5
|
||||
color9 #f52a65
|
||||
color10 #587539
|
||||
color11 #8c6c3e
|
||||
color12 #2e7de9
|
||||
color13 #9854f1
|
||||
color14 #007197
|
||||
color15 #3760bf
|
||||
background #e1e2e7
|
||||
selection_foreground #e1e2e7
|
||||
cursor #3760bf
|
||||
cursor_text_color #e1e2e7
|
||||
foreground #3760bf
|
||||
selection_background #3760bf
|
||||
@@ -1,31 +0,0 @@
|
||||
[colors]
|
||||
ansi = [
|
||||
"#0c0e14",
|
||||
"#e64572",
|
||||
"#89d36a",
|
||||
"#d7a23a",
|
||||
"#4f8fff",
|
||||
"#9d6dff",
|
||||
"#43c9ff",
|
||||
"#b7c4f2",
|
||||
]
|
||||
background = "#0a0d14"
|
||||
brights = [
|
||||
"#2b314a",
|
||||
"#e64572",
|
||||
"#89d36a",
|
||||
"#d7a23a",
|
||||
"#4f8fff",
|
||||
"#9d6dff",
|
||||
"#43c9ff",
|
||||
"#d8e0ff",
|
||||
]
|
||||
cursor_bg = "#d8e0ff"
|
||||
cursor_border = "#d8e0ff"
|
||||
cursor_fg = "#0a0d14"
|
||||
foreground = "#d8e0ff"
|
||||
selection_bg = "#d8e0ff"
|
||||
selection_fg = "#0a0d14"
|
||||
|
||||
[metadata]
|
||||
name = "Noctalia"
|
||||
@@ -1,31 +0,0 @@
|
||||
[colors]
|
||||
ansi = [
|
||||
"#e9e9ed",
|
||||
"#f52a65",
|
||||
"#587539",
|
||||
"#8c6c3e",
|
||||
"#2e7de9",
|
||||
"#9854f1",
|
||||
"#007197",
|
||||
"#6172b0",
|
||||
]
|
||||
background = "#e1e2e7"
|
||||
brights = [
|
||||
"#a1a6c5",
|
||||
"#f52a65",
|
||||
"#587539",
|
||||
"#8c6c3e",
|
||||
"#2e7de9",
|
||||
"#9854f1",
|
||||
"#007197",
|
||||
"#3760bf",
|
||||
]
|
||||
cursor_bg = "#3760bf"
|
||||
cursor_border = "#3760bf"
|
||||
cursor_fg = "#e1e2e7"
|
||||
foreground = "#3760bf"
|
||||
selection_bg = "#3760bf"
|
||||
selection_fg = "#e1e2e7"
|
||||
|
||||
[metadata]
|
||||
name = "Noctalia"
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"dark": {
|
||||
"mPrimary": "#D3C6AA",
|
||||
"mOnPrimary": "#232A2E",
|
||||
"mSecondary": "#D3C6AA",
|
||||
"mOnSecondary": "#232A2E",
|
||||
"mTertiary": "#9DA9A0",
|
||||
"mOnTertiary": "#232A2E",
|
||||
"mError": "#E67E80",
|
||||
"mOnError": "#232A2E",
|
||||
"mSurface": "#232A2E",
|
||||
"mOnSurface": "#859289",
|
||||
"mSurfaceVariant": "#2D353B",
|
||||
"mOnSurfaceVariant": "#D3C6AA",
|
||||
"mOutline": "#D3C6AA",
|
||||
"mShadow": "#475258",
|
||||
"mHover": "#9DA9A0",
|
||||
"mOnHover": "#232A2E"
|
||||
},
|
||||
"light": {
|
||||
"mPrimary": "#434F55",
|
||||
"mOnPrimary": "#D3C6AA",
|
||||
"mSecondary": "#232a2e",
|
||||
"mOnSecondary": "#D3C6AA",
|
||||
"mTertiary": "#333c43",
|
||||
"mOnTertiary": "#9DA9A0",
|
||||
"mError": "#E66868",
|
||||
"mOnError": "#9DA9A0",
|
||||
"mSurface": "#9DA9A0",
|
||||
"mOnSurface": "#232A2E",
|
||||
"mSurfaceVariant": "#BEC5B2",
|
||||
"mOnSurfaceVariant": "#333C43",
|
||||
"mOutline": "#232A2E",
|
||||
"mShadow": "#ECF5ED",
|
||||
"mHover": "#333c43",
|
||||
"mOnHover": "#9DA9A0"
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
# Colors (Everforest Dark Hard)
|
||||
|
||||
[colors.bright]
|
||||
black = '#a6b0a0'
|
||||
blue = '#3a94c5'
|
||||
cyan = '#35a77c'
|
||||
green = '#8da101'
|
||||
magenta = '#df69ba'
|
||||
red = '#f85552'
|
||||
white = '#fffbef'
|
||||
yellow = '#dfa000'
|
||||
|
||||
[colors.cursor]
|
||||
cursor = '#e69875'
|
||||
text = '#4c3743'
|
||||
|
||||
[colors.normal]
|
||||
black = '#7a8478'
|
||||
blue = '#7fbbb3'
|
||||
cyan = '#83c092'
|
||||
green = '#a7c080'
|
||||
magenta = '#d699b6'
|
||||
red = '#e67e80'
|
||||
white = '#f2efdf'
|
||||
yellow = '#dbbc7f'
|
||||
|
||||
[colors.primary]
|
||||
background = '#1e2326'
|
||||
foreground = '#d3c6aa'
|
||||
|
||||
[colors.selection]
|
||||
background = '#4c3743'
|
||||
text = '#d3c6aa'
|
||||
@@ -1,33 +0,0 @@
|
||||
# Colors (Everforest Light Med)
|
||||
|
||||
[colors.bright]
|
||||
black = '#a6b0a0'
|
||||
blue = '#3a94c5'
|
||||
cyan = '#35a77c'
|
||||
green = '#8da101'
|
||||
magenta = '#df69ba'
|
||||
red = '#f85552'
|
||||
white = '#fffbef'
|
||||
yellow = '#dfa000'
|
||||
|
||||
[colors.cursor]
|
||||
cursor = '#f57d26'
|
||||
text = '#eaedc8'
|
||||
|
||||
[colors.normal]
|
||||
black = '#7a8478'
|
||||
blue = '#7fbbb3'
|
||||
cyan = '#83c092'
|
||||
green = '#9ab373'
|
||||
magenta = '#d699b6'
|
||||
red = '#e67e80'
|
||||
white = '#b2af9f'
|
||||
yellow = '#c1a266'
|
||||
|
||||
[colors.primary]
|
||||
background = '#efebd4'
|
||||
foreground = '#5c6a72'
|
||||
|
||||
[colors.selection]
|
||||
background = '#eaedc8'
|
||||
text = '#5c6a72'
|
||||
@@ -1,22 +0,0 @@
|
||||
[colors]
|
||||
foreground=d3c6aa
|
||||
background=1e2326
|
||||
regular0=7a8478
|
||||
regular1=e67e80
|
||||
regular2=a7c080
|
||||
regular3=dbbc7f
|
||||
regular4=7fbbb3
|
||||
regular5=d699b6
|
||||
regular6=83c092
|
||||
regular7=f2efdf
|
||||
bright0=a6b0a0
|
||||
bright1=f85552
|
||||
bright2=8da101
|
||||
bright3=dfa000
|
||||
bright4=3a94c5
|
||||
bright5=df69ba
|
||||
bright6=35a77c
|
||||
bright7=fffbef
|
||||
selection-foreground=d3c6aa
|
||||
selection-background=4c3743
|
||||
cursor=4c3743 e69875
|
||||
@@ -1,22 +0,0 @@
|
||||
[colors]
|
||||
foreground=5c6a72
|
||||
background=efebd4
|
||||
regular0=7a8478
|
||||
regular1=e67e80
|
||||
regular2=9ab373
|
||||
regular3=c1a266
|
||||
regular4=7fbbb3
|
||||
regular5=d699b6
|
||||
regular6=83c092
|
||||
regular7=b2af9f
|
||||
bright0=a6b0a0
|
||||
bright1=f85552
|
||||
bright2=8da101
|
||||
bright3=dfa000
|
||||
bright4=3a94c5
|
||||
bright5=df69ba
|
||||
bright6=35a77c
|
||||
bright7=fffbef
|
||||
selection-foreground=5c6a72
|
||||
selection-background=eaedc8
|
||||
cursor=eaedc8 f57d26
|
||||
@@ -1,22 +0,0 @@
|
||||
palette = 0=#7a8478
|
||||
palette = 1=#e67e80
|
||||
palette = 2=#a7c080
|
||||
palette = 3=#dbbc7f
|
||||
palette = 4=#7fbbb3
|
||||
palette = 5=#d699b6
|
||||
palette = 6=#83c092
|
||||
palette = 7=#f2efdf
|
||||
palette = 8=#a6b0a0
|
||||
palette = 9=#f85552
|
||||
palette = 10=#8da101
|
||||
palette = 11=#dfa000
|
||||
palette = 12=#3a94c5
|
||||
palette = 13=#df69ba
|
||||
palette = 14=#35a77c
|
||||
palette = 15=#fffbef
|
||||
background = #1e2326
|
||||
foreground = #d3c6aa
|
||||
cursor-color = #e69875
|
||||
cursor-text = #4c3743
|
||||
selection-background = #4c3743
|
||||
selection-foreground = #d3c6aa
|
||||
@@ -1,22 +0,0 @@
|
||||
palette = 0=#7a8478
|
||||
palette = 1=#e67e80
|
||||
palette = 2=#9ab373
|
||||
palette = 3=#c1a266
|
||||
palette = 4=#7fbbb3
|
||||
palette = 5=#d699b6
|
||||
palette = 6=#83c092
|
||||
palette = 7=#b2af9f
|
||||
palette = 8=#a6b0a0
|
||||
palette = 9=#f85552
|
||||
palette = 10=#8da101
|
||||
palette = 11=#dfa000
|
||||
palette = 12=#3a94c5
|
||||
palette = 13=#df69ba
|
||||
palette = 14=#35a77c
|
||||
palette = 15=#fffbef
|
||||
background = #efebd4
|
||||
foreground = #5c6a72
|
||||
cursor-color = #f57d26
|
||||
cursor-text = #eaedc8
|
||||
selection-background = #eaedc8
|
||||
selection-foreground = #5c6a72
|
||||
@@ -1,22 +0,0 @@
|
||||
color0 #7a8478
|
||||
color1 #e67e80
|
||||
color2 #a7c080
|
||||
color3 #dbbc7f
|
||||
color4 #7fbbb3
|
||||
color5 #d699b6
|
||||
color6 #83c092
|
||||
color7 #f2efdf
|
||||
color8 #a6b0a0
|
||||
color9 #f85552
|
||||
color10 #8da101
|
||||
color11 #dfa000
|
||||
color12 #3a94c5
|
||||
color13 #df69ba
|
||||
color14 #35a77c
|
||||
color15 #fffbef
|
||||
background #1e2326
|
||||
selection_foreground #1e2326
|
||||
cursor #e69875
|
||||
cursor_text_color #4c3743
|
||||
foreground #d3c6aa
|
||||
selection_background #d3c6aa
|
||||
@@ -1,22 +0,0 @@
|
||||
color0 #7a8478
|
||||
color1 #e67e80
|
||||
color2 #9ab373
|
||||
color3 #c1a266
|
||||
color4 #7fbbb3
|
||||
color5 #d699b6
|
||||
color6 #83c092
|
||||
color7 #b2af9f
|
||||
color8 #a6b0a0
|
||||
color9 #f85552
|
||||
color10 #8da101
|
||||
color11 #dfa000
|
||||
color12 #3a94c5
|
||||
color13 #df69ba
|
||||
color14 #35a77c
|
||||
color15 #fffbef
|
||||
background #efebd4
|
||||
selection_foreground #efebd4
|
||||
cursor #f57d26
|
||||
cursor_text_color #eaedc8
|
||||
foreground #5c6a72
|
||||
selection_background #5c6a72
|
||||
@@ -1,33 +0,0 @@
|
||||
[colors]
|
||||
ansi = [
|
||||
"#4b565c",
|
||||
"#e67e80",
|
||||
"#a7c080",
|
||||
"#dbbc7f",
|
||||
"#7fbbb3",
|
||||
"#d699b6",
|
||||
"#83c092",
|
||||
"#d3c6aa",
|
||||
]
|
||||
background = "#2d353b"
|
||||
brights = [
|
||||
"#5c6a72",
|
||||
"#f85552",
|
||||
"#8da101",
|
||||
"#dfa000",
|
||||
"#3a94c5",
|
||||
"#df69ba",
|
||||
"#35a77c",
|
||||
"#dfddc8",
|
||||
]
|
||||
cursor_bg = "#d3c6aa"
|
||||
cursor_border = "#d3c6aa"
|
||||
cursor_fg = "#2d353b"
|
||||
foreground = "#d3c6aa"
|
||||
|
||||
[colors.indexed]
|
||||
|
||||
[metadata]
|
||||
name = "Noctalia"
|
||||
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
[colors]
|
||||
ansi = [
|
||||
"#5c6a72",
|
||||
"#f85552",
|
||||
"#8da101",
|
||||
"#dfa000",
|
||||
"#3a94c5",
|
||||
"#df69ba",
|
||||
"#35a77c",
|
||||
"#dfddc8",
|
||||
]
|
||||
background = "#fdf6e3"
|
||||
brights = [
|
||||
"#4b565c",
|
||||
"#e67e80",
|
||||
"#a7c080",
|
||||
"#dbbc7f",
|
||||
"#7fbbb3",
|
||||
"#d699b6",
|
||||
"#83c092",
|
||||
"#d3c6aa",
|
||||
]
|
||||
cursor_bg = "#5c6a72"
|
||||
cursor_border = "#5c6a72"
|
||||
cursor_fg = "#fdf6e3"
|
||||
foreground = "#5c6a72"
|
||||
|
||||
[colors.indexed]
|
||||
|
||||
[metadata]
|
||||
name = "Noctalia"
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"dark": {
|
||||
"mPrimary": "#aaaaaa",
|
||||
"mOnPrimary": "#111111",
|
||||
"mSecondary": "#a7a7a7",
|
||||
"mOnSecondary": "#111111",
|
||||
"mTertiary": "#cccccc",
|
||||
"mOnTertiary": "#111111",
|
||||
"mError": "#dddddd",
|
||||
"mOnError": "#111111",
|
||||
"mSurface": "#111111",
|
||||
"mOnSurface": "#828282",
|
||||
"mSurfaceVariant": "#191919",
|
||||
"mOnSurfaceVariant": "#5d5d5d",
|
||||
"mOutline": "#3c3c3c",
|
||||
"mShadow": "#000000",
|
||||
"mHover": "#cccccc",
|
||||
"mOnHover": "#111111"
|
||||
},
|
||||
"light": {
|
||||
"mPrimary": "#555555",
|
||||
"mOnPrimary": "#eeeeee",
|
||||
"mSecondary": "#505058",
|
||||
"mOnSecondary": "#eeeeee",
|
||||
"mTertiary": "#333333",
|
||||
"mOnTertiary": "#eeeeee",
|
||||
"mError": "#222222",
|
||||
"mOnError": "#efefef",
|
||||
"mSurface": "#d4d4d4",
|
||||
"mOnSurface": "#696969",
|
||||
"mSurfaceVariant": "#e8e8e8",
|
||||
"mOnSurfaceVariant": "#9e9e9e",
|
||||
"mOutline": "#c3c3c3",
|
||||
"mShadow": "#fafafa",
|
||||
"mHover": "#333333",
|
||||
"mOnHover": "#eeeeee"
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
# Colors (Monochrome)
|
||||
|
||||
[colors.bright]
|
||||
black = '#3c3c3c'
|
||||
blue = '#a7a7a7'
|
||||
cyan = '#cccccc'
|
||||
green = '#cccccc'
|
||||
magenta = '#dddddd'
|
||||
red = '#dddddd'
|
||||
white = '#ffffff'
|
||||
yellow = '#aaaaaa'
|
||||
|
||||
[colors.cursor]
|
||||
cursor = '#aaaaaa'
|
||||
text = '#111111'
|
||||
|
||||
[colors.normal]
|
||||
black = '#191919'
|
||||
blue = '#a7a7a7'
|
||||
cyan = '#cccccc'
|
||||
green = '#cccccc'
|
||||
magenta = '#dddddd'
|
||||
red = '#dddddd'
|
||||
white = '#828282'
|
||||
yellow = '#aaaaaa'
|
||||
|
||||
[colors.primary]
|
||||
background = '#111111'
|
||||
foreground = '#828282'
|
||||
|
||||
[colors.selection]
|
||||
background = '#828282'
|
||||
text = '#111111'
|
||||
@@ -1,33 +0,0 @@
|
||||
# Colors (Monochrome Light)
|
||||
|
||||
[colors.bright]
|
||||
black = '#c3c3c3'
|
||||
blue = '#505058'
|
||||
cyan = '#333333'
|
||||
green = '#333333'
|
||||
magenta = '#222222'
|
||||
red = '#222222'
|
||||
white = '#000000'
|
||||
yellow = '#555555'
|
||||
|
||||
[colors.cursor]
|
||||
cursor = '#555555'
|
||||
text = '#d4d4d4'
|
||||
|
||||
[colors.normal]
|
||||
black = '#e8e8e8'
|
||||
blue = '#505058'
|
||||
cyan = '#333333'
|
||||
green = '#333333'
|
||||
magenta = '#222222'
|
||||
red = '#222222'
|
||||
white = '#696969'
|
||||
yellow = '#555555'
|
||||
|
||||
[colors.primary]
|
||||
background = '#d4d4d4'
|
||||
foreground = '#696969'
|
||||
|
||||
[colors.selection]
|
||||
background = '#696969'
|
||||
text = '#d4d4d4'
|
||||
@@ -1,22 +0,0 @@
|
||||
[colors]
|
||||
foreground=828282
|
||||
background=111111
|
||||
regular0=191919
|
||||
regular1=dddddd
|
||||
regular2=cccccc
|
||||
regular3=aaaaaa
|
||||
regular4=a7a7a7
|
||||
regular5=dddddd
|
||||
regular6=cccccc
|
||||
regular7=828282
|
||||
bright0=3c3c3c
|
||||
bright1=dddddd
|
||||
bright2=cccccc
|
||||
bright3=aaaaaa
|
||||
bright4=a7a7a7
|
||||
bright5=dddddd
|
||||
bright6=cccccc
|
||||
bright7=ffffff
|
||||
selection-foreground=111111
|
||||
selection-background=828282
|
||||
cursor=111111 aaaaaa
|
||||
@@ -1,22 +0,0 @@
|
||||
[colors]
|
||||
foreground=696969
|
||||
background=d4d4d4
|
||||
regular0=e8e8e8
|
||||
regular1=222222
|
||||
regular2=333333
|
||||
regular3=555555
|
||||
regular4=505058
|
||||
regular5=222222
|
||||
regular6=333333
|
||||
regular7=696969
|
||||
bright0=c3c3c3
|
||||
bright1=222222
|
||||
bright2=333333
|
||||
bright3=555555
|
||||
bright4=505058
|
||||
bright5=222222
|
||||
bright6=333333
|
||||
bright7=000000
|
||||
selection-foreground=d4d4d4
|
||||
selection-background=696969
|
||||
cursor=d4d4d4 555555
|
||||
@@ -1,22 +0,0 @@
|
||||
palette = 0=#191919
|
||||
palette = 1=#dddddd
|
||||
palette = 2=#cccccc
|
||||
palette = 3=#aaaaaa
|
||||
palette = 4=#a7a7a7
|
||||
palette = 5=#dddddd
|
||||
palette = 6=#cccccc
|
||||
palette = 7=#828282
|
||||
palette = 8=#3c3c3c
|
||||
palette = 9=#dddddd
|
||||
palette = 10=#cccccc
|
||||
palette = 11=#aaaaaa
|
||||
palette = 12=#a7a7a7
|
||||
palette = 13=#dddddd
|
||||
palette = 14=#cccccc
|
||||
palette = 15=#ffffff
|
||||
background = #111111
|
||||
foreground = #828282
|
||||
cursor-color = #aaaaaa
|
||||
cursor-text = #111111
|
||||
selection-background = #828282
|
||||
selection-foreground = #111111
|
||||
@@ -1,22 +0,0 @@
|
||||
palette = 0=#e8e8e8
|
||||
palette = 1=#222222
|
||||
palette = 2=#333333
|
||||
palette = 3=#555555
|
||||
palette = 4=#505058
|
||||
palette = 5=#222222
|
||||
palette = 6=#333333
|
||||
palette = 7=#696969
|
||||
palette = 8=#c3c3c3
|
||||
palette = 9=#222222
|
||||
palette = 10=#333333
|
||||
palette = 11=#555555
|
||||
palette = 12=#505058
|
||||
palette = 13=#222222
|
||||
palette = 14=#333333
|
||||
palette = 15=#000000
|
||||
background = #d4d4d4
|
||||
foreground = #696969
|
||||
cursor-color = #555555
|
||||
cursor-text = #d4d4d4
|
||||
selection-background = #696969
|
||||
selection-foreground = #d4d4d4
|
||||
@@ -1,22 +0,0 @@
|
||||
color0 #191919
|
||||
color1 #dddddd
|
||||
color2 #cccccc
|
||||
color3 #aaaaaa
|
||||
color4 #a7a7a7
|
||||
color5 #dddddd
|
||||
color6 #cccccc
|
||||
color7 #828282
|
||||
color8 #3c3c3c
|
||||
color9 #dddddd
|
||||
color10 #cccccc
|
||||
color11 #aaaaaa
|
||||
color12 #a7a7a7
|
||||
color13 #dddddd
|
||||
color14 #cccccc
|
||||
color15 #ffffff
|
||||
background #111111
|
||||
selection_foreground #111111
|
||||
cursor #aaaaaa
|
||||
cursor_text_color #111111
|
||||
foreground #828282
|
||||
selection_background #828282
|
||||
@@ -1,22 +0,0 @@
|
||||
color0 #e8e8e8
|
||||
color1 #222222
|
||||
color2 #333333
|
||||
color3 #555555
|
||||
color4 #505058
|
||||
color5 #222222
|
||||
color6 #333333
|
||||
color7 #696969
|
||||
color8 #c3c3c3
|
||||
color9 #222222
|
||||
color10 #333333
|
||||
color11 #555555
|
||||
color12 #505058
|
||||
color13 #222222
|
||||
color14 #333333
|
||||
color15 #000000
|
||||
background #d4d4d4
|
||||
selection_foreground #d4d4d4
|
||||
cursor #555555
|
||||
cursor_text_color #d4d4d4
|
||||
foreground #696969
|
||||
selection_background #696969
|
||||
@@ -1,31 +0,0 @@
|
||||
[colors]
|
||||
ansi = [
|
||||
"#191919",
|
||||
"#dddddd",
|
||||
"#cccccc",
|
||||
"#aaaaaa",
|
||||
"#a7a7a7",
|
||||
"#dddddd",
|
||||
"#cccccc",
|
||||
"#828282",
|
||||
]
|
||||
background = "#111111"
|
||||
brights = [
|
||||
"#3c3c3c",
|
||||
"#dddddd",
|
||||
"#cccccc",
|
||||
"#aaaaaa",
|
||||
"#a7a7a7",
|
||||
"#dddddd",
|
||||
"#cccccc",
|
||||
"#ffffff",
|
||||
]
|
||||
cursor_bg = "#aaaaaa"
|
||||
cursor_border = "#aaaaaa"
|
||||
cursor_fg = "#111111"
|
||||
foreground = "#828282"
|
||||
selection_bg = "#828282"
|
||||
selection_fg = "#111111"
|
||||
|
||||
[metadata]
|
||||
name = "Noctalia"
|
||||
@@ -1,31 +0,0 @@
|
||||
[colors]
|
||||
ansi = [
|
||||
"#e8e8e8",
|
||||
"#222222",
|
||||
"#333333",
|
||||
"#555555",
|
||||
"#505058",
|
||||
"#222222",
|
||||
"#333333",
|
||||
"#696969",
|
||||
]
|
||||
background = "#d4d4d4"
|
||||
brights = [
|
||||
"#c3c3c3",
|
||||
"#222222",
|
||||
"#333333",
|
||||
"#555555",
|
||||
"#505058",
|
||||
"#222222",
|
||||
"#333333",
|
||||
"#000000",
|
||||
]
|
||||
cursor_bg = "#555555"
|
||||
cursor_border = "#555555"
|
||||
cursor_fg = "#d4d4d4"
|
||||
foreground = "#696969"
|
||||
selection_bg = "#696969"
|
||||
selection_fg = "#d4d4d4"
|
||||
|
||||
[metadata]
|
||||
name = "Noctalia"
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"dark": {
|
||||
"mPrimary": "#c7a1d8",
|
||||
"mOnPrimary": "#1a151f",
|
||||
"mSecondary": "#a984c4",
|
||||
"mOnSecondary": "#f3edf7",
|
||||
"mTertiary": "#e0b7c9",
|
||||
"mOnTertiary": "#20161f",
|
||||
"mError": "#e9899d",
|
||||
"mOnError": "#1e1418",
|
||||
"mSurface": "#1c1822",
|
||||
"mOnSurface": "#e9e4f0",
|
||||
"mSurfaceVariant": "#262130",
|
||||
"mOnSurfaceVariant": "#a79ab0",
|
||||
"mOutline": "#3e364e",
|
||||
"mShadow": "#120f18",
|
||||
"mHover": "#e0b7c9",
|
||||
"mOnHover": "#20161f"
|
||||
},
|
||||
"light": {
|
||||
"mPrimary": "#9b59ba",
|
||||
"mOnPrimary": "#ffffff",
|
||||
"mSecondary": "#784999",
|
||||
"mOnSecondary": "#ffffff",
|
||||
"mTertiary": "#c17093",
|
||||
"mOnTertiary": "#ffffff",
|
||||
"mError": "#e9899d",
|
||||
"mOnError": "#1e1418",
|
||||
"mSurface": "#f5f1fa",
|
||||
"mOnSurface": "#1c1822",
|
||||
"mSurfaceVariant": "#e7dfee",
|
||||
"mOnSurfaceVariant": "#4a3d59",
|
||||
"mOutline": "#cebedc",
|
||||
"mShadow": "#ffffff",
|
||||
"mHover": "#c17093",
|
||||
"mOnHover": "#ffffff"
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
# Colors (Noctalia Legacy)
|
||||
|
||||
[colors.bright]
|
||||
black = '#3e364e'
|
||||
blue = '#a984c4'
|
||||
cyan = '#e0b7c9'
|
||||
green = '#e0b7c9'
|
||||
magenta = '#e9899d'
|
||||
red = '#e9899d'
|
||||
white = '#ffffff'
|
||||
yellow = '#c7a1d8'
|
||||
|
||||
[colors.cursor]
|
||||
cursor = '#c7a1d8'
|
||||
text = '#1c1822'
|
||||
|
||||
[colors.normal]
|
||||
black = '#262130'
|
||||
blue = '#a984c4'
|
||||
cyan = '#e0b7c9'
|
||||
green = '#e0b7c9'
|
||||
magenta = '#e9899d'
|
||||
red = '#e9899d'
|
||||
white = '#e9e4f0'
|
||||
yellow = '#c7a1d8'
|
||||
|
||||
[colors.primary]
|
||||
background = '#1c1822'
|
||||
foreground = '#e9e4f0'
|
||||
|
||||
[colors.selection]
|
||||
background = '#e9e4f0'
|
||||
text = '#1c1822'
|
||||
@@ -1,33 +0,0 @@
|
||||
# Colors (Noctalia Legacy Light)
|
||||
|
||||
[colors.bright]
|
||||
black = '#cebedc'
|
||||
blue = '#784999'
|
||||
cyan = '#c17093'
|
||||
green = '#c17093'
|
||||
magenta = '#e9899d'
|
||||
red = '#e9899d'
|
||||
white = '#1c1822'
|
||||
yellow = '#9b59ba'
|
||||
|
||||
[colors.cursor]
|
||||
cursor = '#9b59ba'
|
||||
text = '#f5f1fa'
|
||||
|
||||
[colors.normal]
|
||||
black = '#e7dfee'
|
||||
blue = '#784999'
|
||||
cyan = '#c17093'
|
||||
green = '#c17093'
|
||||
magenta = '#e9899d'
|
||||
red = '#e9899d'
|
||||
white = '#1c1822'
|
||||
yellow = '#9b59ba'
|
||||
|
||||
[colors.primary]
|
||||
background = '#f5f1fa'
|
||||
foreground = '#1c1822'
|
||||
|
||||
[colors.selection]
|
||||
background = '#1c1822'
|
||||
text = '#f5f1fa'
|
||||
@@ -1,22 +0,0 @@
|
||||
[colors]
|
||||
foreground=e9e4f0
|
||||
background=1c1822
|
||||
regular0=262130
|
||||
regular1=e9899d
|
||||
regular2=e0b7c9
|
||||
regular3=c7a1d8
|
||||
regular4=a984c4
|
||||
regular5=e9899d
|
||||
regular6=e0b7c9
|
||||
regular7=e9e4f0
|
||||
bright0=3e364e
|
||||
bright1=e9899d
|
||||
bright2=e0b7c9
|
||||
bright3=c7a1d8
|
||||
bright4=a984c4
|
||||
bright5=e9899d
|
||||
bright6=e0b7c9
|
||||
bright7=ffffff
|
||||
selection-foreground=1c1822
|
||||
selection-background=e9e4f0
|
||||
cursor=1c1822 c7a1d8
|
||||
@@ -1,22 +0,0 @@
|
||||
[colors]
|
||||
foreground=1c1822
|
||||
background=f5f1fa
|
||||
regular0=e7dfee
|
||||
regular1=e9899d
|
||||
regular2=c17093
|
||||
regular3=9b59ba
|
||||
regular4=784999
|
||||
regular5=e9899d
|
||||
regular6=c17093
|
||||
regular7=1c1822
|
||||
bright0=cebedc
|
||||
bright1=e9899d
|
||||
bright2=c17093
|
||||
bright3=9b59ba
|
||||
bright4=784999
|
||||
bright5=e9899d
|
||||
bright6=c17093
|
||||
bright7=1c1822
|
||||
selection-foreground=f5f1fa
|
||||
selection-background=1c1822
|
||||
cursor=f5f1fa 9b59ba
|
||||
@@ -1,22 +0,0 @@
|
||||
palette = 0=#262130
|
||||
palette = 1=#e9899d
|
||||
palette = 2=#e0b7c9
|
||||
palette = 3=#c7a1d8
|
||||
palette = 4=#a984c4
|
||||
palette = 5=#e9899d
|
||||
palette = 6=#e0b7c9
|
||||
palette = 7=#e9e4f0
|
||||
palette = 8=#3e364e
|
||||
palette = 9=#e9899d
|
||||
palette = 10=#e0b7c9
|
||||
palette = 11=#c7a1d8
|
||||
palette = 12=#a984c4
|
||||
palette = 13=#e9899d
|
||||
palette = 14=#e0b7c9
|
||||
palette = 15=#ffffff
|
||||
background = #1c1822
|
||||
foreground = #e9e4f0
|
||||
cursor-color = #c7a1d8
|
||||
cursor-text = #1c1822
|
||||
selection-background = #e9e4f0
|
||||
selection-foreground = #1c1822
|
||||
@@ -1,22 +0,0 @@
|
||||
palette = 0=#e7dfee
|
||||
palette = 1=#e9899d
|
||||
palette = 2=#c17093
|
||||
palette = 3=#9b59ba
|
||||
palette = 4=#784999
|
||||
palette = 5=#e9899d
|
||||
palette = 6=#c17093
|
||||
palette = 7=#1c1822
|
||||
palette = 8=#cebedc
|
||||
palette = 9=#e9899d
|
||||
palette = 10=#c17093
|
||||
palette = 11=#9b59ba
|
||||
palette = 12=#784999
|
||||
palette = 13=#e9899d
|
||||
palette = 14=#c17093
|
||||
palette = 15=#1c1822
|
||||
background = #f5f1fa
|
||||
foreground = #1c1822
|
||||
cursor-color = #9b59ba
|
||||
cursor-text = #f5f1fa
|
||||
selection-background = #1c1822
|
||||
selection-foreground = #f5f1fa
|
||||
@@ -1,22 +0,0 @@
|
||||
color0 #262130
|
||||
color1 #e9899d
|
||||
color2 #e0b7c9
|
||||
color3 #c7a1d8
|
||||
color4 #a984c4
|
||||
color5 #e9899d
|
||||
color6 #e0b7c9
|
||||
color7 #e9e4f0
|
||||
color8 #3e364e
|
||||
color9 #e9899d
|
||||
color10 #e0b7c9
|
||||
color11 #c7a1d8
|
||||
color12 #a984c4
|
||||
color13 #e9899d
|
||||
color14 #e0b7c9
|
||||
color15 #ffffff
|
||||
background #1c1822
|
||||
selection_foreground #1c1822
|
||||
cursor #c7a1d8
|
||||
cursor_text_color #1c1822
|
||||
foreground #e9e4f0
|
||||
selection_background #e9e4f0
|
||||
@@ -1,22 +0,0 @@
|
||||
color0 #e7dfee
|
||||
color1 #e9899d
|
||||
color2 #c17093
|
||||
color3 #9b59ba
|
||||
color4 #784999
|
||||
color5 #e9899d
|
||||
color6 #c17093
|
||||
color7 #1c1822
|
||||
color8 #cebedc
|
||||
color9 #e9899d
|
||||
color10 #c17093
|
||||
color11 #9b59ba
|
||||
color12 #784999
|
||||
color13 #e9899d
|
||||
color14 #c17093
|
||||
color15 #1c1822
|
||||
background #f5f1fa
|
||||
selection_foreground #f5f1fa
|
||||
cursor #9b59ba
|
||||
cursor_text_color #f5f1fa
|
||||
foreground #1c1822
|
||||
selection_background #1c1822
|
||||
@@ -1,31 +0,0 @@
|
||||
[colors]
|
||||
ansi = [
|
||||
"#262130",
|
||||
"#e9899d",
|
||||
"#e0b7c9",
|
||||
"#c7a1d8",
|
||||
"#a984c4",
|
||||
"#e9899d",
|
||||
"#e0b7c9",
|
||||
"#e9e4f0",
|
||||
]
|
||||
background = "#1c1822"
|
||||
brights = [
|
||||
"#3e364e",
|
||||
"#e9899d",
|
||||
"#e0b7c9",
|
||||
"#c7a1d8",
|
||||
"#a984c4",
|
||||
"#e9899d",
|
||||
"#e0b7c9",
|
||||
"#ffffff",
|
||||
]
|
||||
cursor_bg = "#c7a1d8"
|
||||
cursor_border = "#c7a1d8"
|
||||
cursor_fg = "#1c1822"
|
||||
foreground = "#e9e4f0"
|
||||
selection_bg = "#e9e4f0"
|
||||
selection_fg = "#1c1822"
|
||||
|
||||
[metadata]
|
||||
name = "Noctalia"
|
||||
@@ -1,31 +0,0 @@
|
||||
[colors]
|
||||
ansi = [
|
||||
"#e7dfee",
|
||||
"#e9899d",
|
||||
"#c17093",
|
||||
"#9b59ba",
|
||||
"#784999",
|
||||
"#e9899d",
|
||||
"#c17093",
|
||||
"#1c1822",
|
||||
]
|
||||
background = "#f5f1fa"
|
||||
brights = [
|
||||
"#cebedc",
|
||||
"#e9899d",
|
||||
"#c17093",
|
||||
"#9b59ba",
|
||||
"#784999",
|
||||
"#e9899d",
|
||||
"#c17093",
|
||||
"#1c1822",
|
||||
]
|
||||
cursor_bg = "#9b59ba"
|
||||
cursor_border = "#9b59ba"
|
||||
cursor_fg = "#f5f1fa"
|
||||
foreground = "#1c1822"
|
||||
selection_bg = "#1c1822"
|
||||
selection_fg = "#f5f1fa"
|
||||
|
||||
[metadata]
|
||||
name = "Noctalia"
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"dark": {
|
||||
"mPrimary": "#1E9177",
|
||||
"mOnPrimary": "#B8C8C4",
|
||||
"mSecondary": "#167A63",
|
||||
"mOnSecondary": "#B8C8C4",
|
||||
"mTertiary": "#26A589",
|
||||
"mOnTertiary": "#B8C8C4",
|
||||
"mError": "#933636",
|
||||
"mOnError": "#B8C8C4",
|
||||
"mSurface": "#081512",
|
||||
"mOnSurface": "#A6B5B1",
|
||||
"mSurfaceVariant": "#0F251F",
|
||||
"mOnSurfaceVariant": "#99A8A4",
|
||||
"mOutline": "#1B6352",
|
||||
"mShadow": "#040A09",
|
||||
"mHover": "#26A589",
|
||||
"mOnHover": "#B8C8C4"
|
||||
},
|
||||
"light": {
|
||||
"mPrimary": "#3B7561",
|
||||
"mOnPrimary": "#D8E5DB",
|
||||
"mSecondary": "#526E4A",
|
||||
"mOnSecondary": "#D8E5DB",
|
||||
"mTertiary": "#4A8069",
|
||||
"mOnTertiary": "#D8E5DB",
|
||||
"mError": "#854145",
|
||||
"mOnError": "#D8E5DB",
|
||||
"mSurface": "#AEC2B4",
|
||||
"mOnSurface": "#2C3D35",
|
||||
"mSurfaceVariant": "#95AD9C",
|
||||
"mOnSurfaceVariant": "#263731",
|
||||
"mOutline": "#5C7A6A",
|
||||
"mShadow": "#8A9E90",
|
||||
"mHover": "#4A8069",
|
||||
"mOnHover": "#D8E5DB"
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
# Colors (Osaka Jade)
|
||||
|
||||
[colors.bright]
|
||||
black = '#464e50'
|
||||
blue = '#71baf2'
|
||||
cyan = '#67cbe7'
|
||||
green = '#96d988'
|
||||
magenta = '#ce89df'
|
||||
red = '#ef7e7e'
|
||||
white = '#bdc3c2'
|
||||
yellow = '#f4d67a'
|
||||
|
||||
[colors.cursor]
|
||||
cursor = '#dadada'
|
||||
text = '#141b1e'
|
||||
|
||||
[colors.normal]
|
||||
black = '#232a2d'
|
||||
blue = '#67b0e8'
|
||||
cyan = '#6cbfbf'
|
||||
green = '#8ccf7e'
|
||||
magenta = '#c47fd5'
|
||||
red = '#e57474'
|
||||
white = '#b3b9b8'
|
||||
yellow = '#e5c76b'
|
||||
|
||||
[colors.primary]
|
||||
background = '#141b1e'
|
||||
foreground = '#dadada'
|
||||
|
||||
[colors.selection]
|
||||
background = '#141b1e'
|
||||
text = '#dadada'
|
||||
@@ -1,33 +0,0 @@
|
||||
# Colors (Osaka Jade Light)
|
||||
|
||||
[colors.bright]
|
||||
black = '#a6b0a0'
|
||||
blue = '#3a94c5'
|
||||
cyan = '#35a77c'
|
||||
green = '#8da101'
|
||||
magenta = '#df69ba'
|
||||
red = '#f85552'
|
||||
white = '#fffbef'
|
||||
yellow = '#dfa000'
|
||||
|
||||
[colors.cursor]
|
||||
cursor = '#f57d26'
|
||||
text = '#eaedc8'
|
||||
|
||||
[colors.normal]
|
||||
black = '#7a8478'
|
||||
blue = '#7fbbb3'
|
||||
cyan = '#83c092'
|
||||
green = '#9ab373'
|
||||
magenta = '#d699b6'
|
||||
red = '#e67e80'
|
||||
white = '#b2af9f'
|
||||
yellow = '#c1a266'
|
||||
|
||||
[colors.primary]
|
||||
background = '#efebd4'
|
||||
foreground = '#5c6a72'
|
||||
|
||||
[colors.selection]
|
||||
background = '#eaedc8'
|
||||
text = '#5c6a72'
|
||||
@@ -1,25 +0,0 @@
|
||||
|
||||
[cursor]
|
||||
color=141b1e dadada
|
||||
|
||||
[colors]
|
||||
foreground=dadada
|
||||
background=141b1e
|
||||
regular0=232a2d
|
||||
regular1=e57474
|
||||
regular2=8ccf7e
|
||||
regular3=e5c76b
|
||||
regular4=67b0e8
|
||||
regular5=c47fd5
|
||||
regular6=6cbfbf
|
||||
regular7=b3b9b8
|
||||
bright0=464e50
|
||||
bright1=ef7e7e
|
||||
bright2=96d988
|
||||
bright3=f4d67a
|
||||
bright4=71baf2
|
||||
bright5=ce89df
|
||||
bright6=67cbe7
|
||||
bright7=bdc3c2
|
||||
selection-foreground=dadada
|
||||
selection-background=141b1e
|
||||
@@ -1,22 +0,0 @@
|
||||
[colors]
|
||||
foreground=5c6a72
|
||||
background=efebd4
|
||||
regular0=7a8478
|
||||
regular1=e67e80
|
||||
regular2=9ab373
|
||||
regular3=c1a266
|
||||
regular4=7fbbb3
|
||||
regular5=d699b6
|
||||
regular6=83c092
|
||||
regular7=b2af9f
|
||||
bright0=a6b0a0
|
||||
bright1=f85552
|
||||
bright2=8da101
|
||||
bright3=dfa000
|
||||
bright4=3a94c5
|
||||
bright5=df69ba
|
||||
bright6=35a77c
|
||||
bright7=fffbef
|
||||
selection-foreground=5c6a72
|
||||
selection-background=eaedc8
|
||||
cursor=eaedc8 f57d26
|
||||
@@ -1,22 +0,0 @@
|
||||
palette = 0=#232a2d
|
||||
palette = 1=#e57474
|
||||
palette = 2=#8ccf7e
|
||||
palette = 3=#e5c76b
|
||||
palette = 4=#67b0e8
|
||||
palette = 5=#c47fd5
|
||||
palette = 6=#6cbfbf
|
||||
palette = 7=#b3b9b8
|
||||
palette = 8=#464e50
|
||||
palette = 9=#ef7e7e
|
||||
palette = 10=#96d988
|
||||
palette = 11=#f4d67a
|
||||
palette = 12=#71baf2
|
||||
palette = 13=#ce89df
|
||||
palette = 14=#67cbe7
|
||||
palette = 15=#bdc3c2
|
||||
background = #141b1e
|
||||
foreground = #dadada
|
||||
cursor-color = #dadada
|
||||
cursor-text = #141b1e
|
||||
selection-background = #141b1e
|
||||
selection-foreground = #dadada
|
||||
@@ -1,22 +0,0 @@
|
||||
palette = 0=#7a8478
|
||||
palette = 1=#e67e80
|
||||
palette = 2=#9ab373
|
||||
palette = 3=#c1a266
|
||||
palette = 4=#7fbbb3
|
||||
palette = 5=#d699b6
|
||||
palette = 6=#83c092
|
||||
palette = 7=#b2af9f
|
||||
palette = 8=#a6b0a0
|
||||
palette = 9=#f85552
|
||||
palette = 10=#8da101
|
||||
palette = 11=#dfa000
|
||||
palette = 12=#3a94c5
|
||||
palette = 13=#df69ba
|
||||
palette = 14=#35a77c
|
||||
palette = 15=#fffbef
|
||||
background = #efebd4
|
||||
foreground = #5c6a72
|
||||
cursor-color = #f57d26
|
||||
cursor-text = #eaedc8
|
||||
selection-background = #eaedc8
|
||||
selection-foreground = #5c6a72
|
||||
@@ -1,22 +0,0 @@
|
||||
color0 #232a2d
|
||||
color1 #e57474
|
||||
color2 #8ccf7e
|
||||
color3 #e5c76b
|
||||
color4 #67b0e8
|
||||
color5 #c47fd5
|
||||
color6 #6cbfbf
|
||||
color7 #b3b9b8
|
||||
color8 #464e50
|
||||
color9 #ef7e7e
|
||||
color10 #96d988
|
||||
color11 #f4d67a
|
||||
color12 #71baf2
|
||||
color13 #ce89df
|
||||
color14 #67cbe7
|
||||
color15 #bdc3c2
|
||||
background #141b1e
|
||||
selection_foreground #141b1e
|
||||
cursor #dadada
|
||||
cursor_text_color #141b1e
|
||||
foreground #dadada
|
||||
selection_background #dadada
|
||||
@@ -1,22 +0,0 @@
|
||||
color0 #7a8478
|
||||
color1 #e67e80
|
||||
color2 #9ab373
|
||||
color3 #c1a266
|
||||
color4 #7fbbb3
|
||||
color5 #d699b6
|
||||
color6 #83c092
|
||||
color7 #b2af9f
|
||||
color8 #a6b0a0
|
||||
color9 #f85552
|
||||
color10 #8da101
|
||||
color11 #dfa000
|
||||
color12 #3a94c5
|
||||
color13 #df69ba
|
||||
color14 #35a77c
|
||||
color15 #fffbef
|
||||
background #efebd4
|
||||
selection_foreground #efebd4
|
||||
cursor #f57d26
|
||||
cursor_text_color #eaedc8
|
||||
foreground #5c6a72
|
||||
selection_background #5c6a72
|
||||
@@ -1,31 +0,0 @@
|
||||
[colors]
|
||||
ansi = [
|
||||
"#232a2d",
|
||||
"#e57474",
|
||||
"#8ccf7e",
|
||||
"#e5c76b",
|
||||
"#67b0e8",
|
||||
"#c47fd5",
|
||||
"#6cbfbf",
|
||||
"#b3b9b8",
|
||||
]
|
||||
background = "#141b1e"
|
||||
brights = [
|
||||
"#464e50",
|
||||
"#ef7e7e",
|
||||
"#96d988",
|
||||
"#f4d67a",
|
||||
"#71baf2",
|
||||
"#ce89df",
|
||||
"#67cbe7",
|
||||
"#bdc3c2",
|
||||
]
|
||||
cursor_bg = "#dadada"
|
||||
cursor_border = "#dadada"
|
||||
cursor_fg = "#141b1e"
|
||||
foreground = "#dadada"
|
||||
selection_bg = "#dadada"
|
||||
selection_fg = "#141b1e"
|
||||
|
||||
[metadata]
|
||||
name = "Noctalia"
|
||||
@@ -1,32 +0,0 @@
|
||||
[colors]
|
||||
ansi = [
|
||||
"#7a8478",
|
||||
"#e67e80",
|
||||
"#9ab373",
|
||||
"#c1a266",
|
||||
"#7fbbb3",
|
||||
"#d699b6",
|
||||
"#83c092",
|
||||
"#b2af9f",
|
||||
]
|
||||
background = "#efebd4"
|
||||
brights = [
|
||||
"#a6b0a0",
|
||||
"#f85552",
|
||||
"#8da101",
|
||||
"#dfa000",
|
||||
"#3a94c5",
|
||||
"#df69ba",
|
||||
"#35a77c",
|
||||
"#fffbef",
|
||||
]
|
||||
cursor_bg = "#f57d26"
|
||||
cursor_border = "#f57d26"
|
||||
cursor_fg = "#eaedc8"
|
||||
foreground = "#5c6a72"
|
||||
selection_bg = "#5c6a72"
|
||||
selection_fg = "#efebd4"
|
||||
|
||||
[metadata]
|
||||
name = "Noctalia"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"mOnTertiary": "#e0def4",
|
||||
"mError": "#eb6f92",
|
||||
"mOnError": "#191724",
|
||||
"mSurface": "#1f1d2e",
|
||||
"mSurface": "#191724",
|
||||
"mOnSurface": "#e0def4",
|
||||
"mSurfaceVariant": "#26233a",
|
||||
"mOnSurfaceVariant": "#908caa",
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
"dark": {
|
||||
"mPrimary": "#b58900",
|
||||
"mOnPrimary": "#002b36",
|
||||
"mSecondary": "#d33682",
|
||||
"mOnSecondary": "#002b36",
|
||||
"mTertiary": "#cb4b16",
|
||||
"mOnTertiary": "#002b36",
|
||||
"mError": "#dc322f",
|
||||
"mOnError": "#002b36",
|
||||
"mSurface": "#002b36",
|
||||
"mOnSurface": "#839496",
|
||||
"mSurfaceVariant": "#073642",
|
||||
"mOnSurfaceVariant": "#657b83",
|
||||
"mOutline": "#0c5c70",
|
||||
"mShadow": "#002b36",
|
||||
"mHover": "#cb4b16",
|
||||
"mOnHover": "#002b36"
|
||||
},
|
||||
"light": {
|
||||
"mPrimary": "#b58900",
|
||||
"mOnPrimary": "#fdf6e3",
|
||||
"mSecondary": "#d33682",
|
||||
"mOnSecondary": "#fdf6e3",
|
||||
"mTertiary": "#cb4b16",
|
||||
"mOnTertiary": "#fdf6e3",
|
||||
"mError": "#dc322f",
|
||||
"mOnError": "#fdf6e3",
|
||||
"mSurface": "#fdf6e3",
|
||||
"mOnSurface": "#657b83",
|
||||
"mSurfaceVariant": "#eee8d5",
|
||||
"mOnSurfaceVariant": "#839496",
|
||||
"mOutline": "#dfd4b1",
|
||||
"mShadow": "#eee8d5",
|
||||
"mHover": "#cb4b16",
|
||||
"mOnHover": "#fdf6e3"
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
# Colors (Solarized Dark)
|
||||
|
||||
[colors.bright]
|
||||
black = '#335e69'
|
||||
blue = '#839496'
|
||||
cyan = '#93a1a1'
|
||||
green = '#586e75'
|
||||
magenta = '#6c71c4'
|
||||
red = '#cb4b16'
|
||||
white = '#fdf6e3'
|
||||
yellow = '#657b83'
|
||||
|
||||
[colors.cursor]
|
||||
cursor = '#839496'
|
||||
text = '#073642'
|
||||
|
||||
[colors.normal]
|
||||
black = '#073642'
|
||||
blue = '#268bd2'
|
||||
cyan = '#2aa198'
|
||||
green = '#859900'
|
||||
magenta = '#d33682'
|
||||
red = '#dc322f'
|
||||
white = '#eee8d5'
|
||||
yellow = '#b58900'
|
||||
|
||||
[colors.primary]
|
||||
background = '#002b36'
|
||||
foreground = '#839496'
|
||||
|
||||
[colors.selection]
|
||||
background = '#073642'
|
||||
text = '#93a1a1'
|
||||
@@ -1,33 +0,0 @@
|
||||
# Colors (Solarized Light)
|
||||
|
||||
[colors.bright]
|
||||
black = '#002b36'
|
||||
blue = '#839496'
|
||||
cyan = '#93a1a1'
|
||||
green = '#586e75'
|
||||
magenta = '#6c71c4'
|
||||
red = '#cb4b16'
|
||||
white = '#fdf6e3'
|
||||
yellow = '#657b83'
|
||||
|
||||
[colors.cursor]
|
||||
cursor = '#657b83'
|
||||
text = '#eee8d5'
|
||||
|
||||
[colors.normal]
|
||||
black = '#073642'
|
||||
blue = '#268bd2'
|
||||
cyan = '#2aa198'
|
||||
green = '#859900'
|
||||
magenta = '#d33682'
|
||||
red = '#dc322f'
|
||||
white = '#bbb5a2'
|
||||
yellow = '#b58900'
|
||||
|
||||
[colors.primary]
|
||||
background = '#fdf6e3'
|
||||
foreground = '#657b83'
|
||||
|
||||
[colors.selection]
|
||||
background = '#eee8d5'
|
||||
text = '#586e75'
|
||||
@@ -1,22 +0,0 @@
|
||||
[colors]
|
||||
foreground=839496
|
||||
background=002b36
|
||||
regular0=073642
|
||||
regular1=dc322f
|
||||
regular2=859900
|
||||
regular3=b58900
|
||||
regular4=268bd2
|
||||
regular5=d33682
|
||||
regular6=2aa198
|
||||
regular7=eee8d5
|
||||
bright0=335e69
|
||||
bright1=cb4b16
|
||||
bright2=586e75
|
||||
bright3=657b83
|
||||
bright4=839496
|
||||
bright5=6c71c4
|
||||
bright6=93a1a1
|
||||
bright7=fdf6e3
|
||||
selection-foreground=93a1a1
|
||||
selection-background=073642
|
||||
cursor=073642 839496
|
||||
@@ -1,23 +0,0 @@
|
||||
|
||||
[colors]
|
||||
foreground=657b83
|
||||
background=fdf6e3
|
||||
regular0=073642
|
||||
regular1=dc322f
|
||||
regular2=859900
|
||||
regular3=b58900
|
||||
regular4=268bd2
|
||||
regular5=d33682
|
||||
regular6=2aa198
|
||||
regular7=bbb5a2
|
||||
bright0=002b36
|
||||
bright1=cb4b16
|
||||
bright2=586e75
|
||||
bright3=657b83
|
||||
bright4=839496
|
||||
bright5=6c71c4
|
||||
bright6=93a1a1
|
||||
bright7=fdf6e3
|
||||
selection-foreground=586e75
|
||||
selection-background=eee8d5
|
||||
cursor=eee8d5 657b83
|
||||
@@ -1,22 +0,0 @@
|
||||
palette = 0=#073642
|
||||
palette = 1=#dc322f
|
||||
palette = 2=#859900
|
||||
palette = 3=#b58900
|
||||
palette = 4=#268bd2
|
||||
palette = 5=#d33682
|
||||
palette = 6=#2aa198
|
||||
palette = 7=#eee8d5
|
||||
palette = 8=#335e69
|
||||
palette = 9=#cb4b16
|
||||
palette = 10=#586e75
|
||||
palette = 11=#657b83
|
||||
palette = 12=#839496
|
||||
palette = 13=#6c71c4
|
||||
palette = 14=#93a1a1
|
||||
palette = 15=#fdf6e3
|
||||
background = #002b36
|
||||
foreground = #839496
|
||||
cursor-color = #839496
|
||||
cursor-text = #073642
|
||||
selection-background = #073642
|
||||
selection-foreground = #93a1a1
|
||||
@@ -1,22 +0,0 @@
|
||||
palette = 0=#073642
|
||||
palette = 1=#dc322f
|
||||
palette = 2=#859900
|
||||
palette = 3=#b58900
|
||||
palette = 4=#268bd2
|
||||
palette = 5=#d33682
|
||||
palette = 6=#2aa198
|
||||
palette = 7=#bbb5a2
|
||||
palette = 8=#002b36
|
||||
palette = 9=#cb4b16
|
||||
palette = 10=#586e75
|
||||
palette = 11=#657b83
|
||||
palette = 12=#839496
|
||||
palette = 13=#6c71c4
|
||||
palette = 14=#93a1a1
|
||||
palette = 15=#fdf6e3
|
||||
background = #fdf6e3
|
||||
foreground = #657b83
|
||||
cursor-color = #657b83
|
||||
cursor-text = #eee8d5
|
||||
selection-background = #eee8d5
|
||||
selection-foreground = #586e75
|
||||
@@ -1,22 +0,0 @@
|
||||
color0 #073642
|
||||
color1 #dc322f
|
||||
color2 #859900
|
||||
color3 #b58900
|
||||
color4 #268bd2
|
||||
color5 #d33682
|
||||
color6 #2aa198
|
||||
color7 #eee8d5
|
||||
color8 #335e69
|
||||
color9 #cb4b16
|
||||
color10 #586e75
|
||||
color11 #657b83
|
||||
color12 #839496
|
||||
color13 #6c71c4
|
||||
color14 #93a1a1
|
||||
color15 #fdf6e3
|
||||
background #002b36
|
||||
selection_foreground #002b36
|
||||
cursor #839496
|
||||
cursor_text_color #073642
|
||||
foreground #839496
|
||||
selection_background #839496
|
||||
@@ -1,22 +0,0 @@
|
||||
color0 #073642
|
||||
color1 #dc322f
|
||||
color2 #859900
|
||||
color3 #b58900
|
||||
color4 #268bd2
|
||||
color5 #d33682
|
||||
color6 #2aa198
|
||||
color7 #bbb5a2
|
||||
color8 #002b36
|
||||
color9 #cb4b16
|
||||
color10 #586e75
|
||||
color11 #657b83
|
||||
color12 #839496
|
||||
color13 #6c71c4
|
||||
color14 #93a1a1
|
||||
color15 #fdf6e3
|
||||
background #fdf6e3
|
||||
selection_foreground #fdf6e3
|
||||
cursor #657b83
|
||||
cursor_text_color #eee8d5
|
||||
foreground #657b83
|
||||
selection_background #657b83
|
||||
@@ -1,29 +0,0 @@
|
||||
[colors]
|
||||
ansi = [
|
||||
"#002b36",
|
||||
"#dc322f",
|
||||
"#859900",
|
||||
"#b58900",
|
||||
"#268bd2",
|
||||
"#6c71c4",
|
||||
"#2aa198",
|
||||
"#93a1a1",
|
||||
]
|
||||
background = "#002b36"
|
||||
brights = [
|
||||
"#657b83",
|
||||
"#dc322f",
|
||||
"#859900",
|
||||
"#b58900",
|
||||
"#268bd2",
|
||||
"#6c71c4",
|
||||
"#2aa198",
|
||||
"#fdf6e3",
|
||||
]
|
||||
foreground = "#93a1a1"
|
||||
|
||||
[colors.indexed]
|
||||
|
||||
[metadata]
|
||||
author = "Chris Kempson"
|
||||
name = "Noctalia"
|
||||
@@ -1,30 +0,0 @@
|
||||
[colors]
|
||||
ansi = [
|
||||
"#002b36",
|
||||
"#dc322f",
|
||||
"#859900",
|
||||
"#b58900",
|
||||
"#268bd2",
|
||||
"#6c71c4",
|
||||
"#2aa198",
|
||||
"#93a1a1",
|
||||
]
|
||||
background = "#fdf6e3"
|
||||
brights = [
|
||||
"#657b83",
|
||||
"#dc322f",
|
||||
"#859900",
|
||||
"#b58900",
|
||||
"#268bd2",
|
||||
"#6c71c4",
|
||||
"#2aa198",
|
||||
"#fdf6e3",
|
||||
]
|
||||
foreground = "#586e75"
|
||||
|
||||
[colors.indexed]
|
||||
|
||||
[metadata]
|
||||
author = "Chris Kempson"
|
||||
name = "Noctalia"
|
||||
|
||||
139
Assets/MatugenTemplates/telegram.tdesktop-theme
Normal file
139
Assets/MatugenTemplates/telegram.tdesktop-theme
Normal file
@@ -0,0 +1,139 @@
|
||||
// Material You theme for Telegram Desktop
|
||||
// Generated by matugen
|
||||
|
||||
COLOR_GRAY: {{colors.outline.default.hex}};
|
||||
COLOR_DARK: {{colors.surface_variant.default.hex}};
|
||||
|
||||
windowBg: {{colors.background.default.hex}}; // Main background
|
||||
windowFg: {{colors.on_background.default.hex}}; // Main text
|
||||
windowBgOver: {{colors.surface_variant.default.hex}}; // Generic background on hover
|
||||
windowBgRipple: {{colors.surface_variant.default.hex}}; // Ripple effect
|
||||
windowFgOver: {{colors.on_surface_variant.default.hex}}; // Text on hover
|
||||
windowSubTextFg: {{colors.outline.default.hex}}; // Minor text
|
||||
windowSubTextFgOver: {{colors.outline.default.hex}}; // Minor text on hover
|
||||
windowBoldFg: {{colors.on_background.default.hex}}; // Bold text
|
||||
windowBoldFgOver: {{colors.on_surface_variant.default.hex}}; // Bold text on hover
|
||||
windowBgActive: {{colors.primary.default.hex}}; // Active items background
|
||||
windowFgActive: {{colors.on_primary.default.hex}}; // Active items text
|
||||
windowActiveTextFg: {{colors.primary.default.hex}}; // Active items text
|
||||
windowShadowFg: {{colors.shadow.default.hex}}; // Window shadow
|
||||
windowShadowFgFallback: {{colors.shadow.default.hex}}; // Fallback for shadow
|
||||
historyOutIconFg: {{colors.primary.default.hex}};
|
||||
historyIconFgInverted: {{colors.on_surface.default.hex}};
|
||||
|
||||
msgServiceBg: {{colors.primary_container.default.hex}};
|
||||
msgServiceFg: {{colors.on_surface.default.hex}};
|
||||
msgOutBg: {{colors.primary_container.default.hex}};
|
||||
msgOutBgSelected : {{colors.tertiary_container.default.hex}};
|
||||
msgOutServiceFg: {{colors.on_surface.default.hex}};
|
||||
msgOutDateFg: {{colors.on_surface.default.hex}};
|
||||
historySentIconFg: {{colors.on_surface.default.hex}};
|
||||
msgOutDateFgSelected: {{colors.on_surface.default.hex}};
|
||||
msgDateImgFg: {{colors.on_surface.default.hex}};
|
||||
dialogsSentIconFg: {{colors.primary.default.hex}};
|
||||
dialogsSentIconFgOver: {{colors.primary.default.hex}};
|
||||
dialogsOnlineBadgeFg: {{colors.primary.default.hex}};
|
||||
|
||||
|
||||
shadowFg: {{colors.shadow.default.hex}}; // General shadow
|
||||
slideFadeOutBg: {{colors.background.default.hex}};
|
||||
slideFadeOutShadowFg: {{colors.shadow.default.hex}};
|
||||
|
||||
imageBg: {{colors.surface.default.hex}};
|
||||
imageBgTransparent: {{colors.surface.default.hex}};
|
||||
|
||||
activeButtonBg: {{colors.primary.default.hex}}; // Active button background
|
||||
activeButtonBgOver: {{colors.primary_container.default.hex}}; // Active button hover background
|
||||
activeButtonBgRipple: {{colors.on_primary_container.default.hex}}; // Active button ripple
|
||||
activeButtonFg: {{colors.on_primary.default.hex}}; // Active button text
|
||||
activeButtonFgOver: {{colors.on_primary_container.default.hex}}; // Active button hover text
|
||||
activeButtonSecondaryFg: {{colors.on_primary.default.hex}}; // Active button secondary text
|
||||
activeButtonSecondaryFgOver: {{colors.on_primary_container.default.hex}}; // Active button secondary hover text
|
||||
activeLineFg: {{colors.on_surface.default.hex}};
|
||||
dialogsBgActive: {{colors.primary.default.hex}};
|
||||
|
||||
lightButtonBg: {{colors.surface.default.hex}}; // Light button background
|
||||
lightButtonBgOver: {{colors.surface_variant.default.hex}}; // Light button hover background
|
||||
lightButtonBgRipple: {{colors.primary.default.hex}}; // Light button ripple
|
||||
lightButtonFg: {{colors.on_surface.default.hex}}; // Light button text
|
||||
lightButtonFgOver: {{colors.on_surface_variant.default.hex}}; // Light button hover text
|
||||
|
||||
attentionButtonFg: {{colors.error.default.hex}};
|
||||
attentionButtonFgOver: {{colors.error.default.hex}};
|
||||
attentionButtonBgOver: {{colors.error_container.default.hex}};
|
||||
attentionButtonBgRipple: {{colors.on_error_container.default.hex}};
|
||||
|
||||
outlineButtonBg: {{colors.surface.default.hex}}; // Outline button background
|
||||
outlineButtonBgOver: {{colors.surface_variant.default.hex}}; // Outline button hover background
|
||||
outlineButtonOutlineFg: {{colors.primary.default.hex}}; // Outline button color
|
||||
outlineButtonBgRipple: {{colors.primary.default.hex}}; // Outline button ripple
|
||||
|
||||
menuBg: {{colors.surface.default.hex}};
|
||||
menuBgOver: {{colors.surface_variant.default.hex}};
|
||||
menuBgRipple: {{colors.primary.default.hex}};
|
||||
menuIconFg: {{colors.on_surface.default.hex}};
|
||||
menuIconFgOver: {{colors.on_surface_variant.default.hex}};
|
||||
menuSubmenuArrowFg: {{colors.outline.default.hex}};
|
||||
menuFgDisabled: {{colors.outline.default.hex}};
|
||||
menuSeparatorFg: {{colors.outline.default.hex}};
|
||||
|
||||
scrollBarBg: {{colors.primary.default.hex}}40; // Scroll bar background (40% opacity)
|
||||
scrollBarBgOver: {{colors.primary.default.hex}}60; // Scroll bar hover background (60% opacity)
|
||||
scrollBg: {{colors.surface_variant.default.hex}}40; // Scroll bar track (40% opacity)
|
||||
scrollBgOver: {{colors.surface_variant.default.hex}}60; // Scroll bar track on hover (60% opacity)
|
||||
|
||||
smallCloseIconFg: {{colors.outline.default.hex}};
|
||||
smallCloseIconFgOver: {{colors.on_surface_variant.default.hex}};
|
||||
|
||||
radialFg: {{colors.primary.default.hex}};
|
||||
radialBg: {{colors.surface.default.hex}};
|
||||
|
||||
placeholderFg: {{colors.outline.default.hex}}; // Placeholder text
|
||||
placeholderFgActive: {{colors.primary.default.hex}}; // Active placeholder text
|
||||
inputBorderFg: {{colors.outline.default.hex}}; // Input border
|
||||
filterInputBorderFg: {{colors.outline.default.hex}}; // Search input border
|
||||
filterInputInactiveBg: {{colors.surface.default.hex}}; // Inactive search input background
|
||||
checkboxFg: {{colors.primary.default.hex}}; // Checkbox color
|
||||
|
||||
titleBg: {{colors.surface.default.hex}}; // Window title background
|
||||
titleShadow: {{colors.shadow.default.hex}};
|
||||
titleButtonFg: {{colors.on_surface.default.hex}}; // Title button color
|
||||
titleButtonBgOver: {{colors.surface_variant.default.hex}}; // Title button hover background
|
||||
titleButtonFgOver: {{colors.on_surface_variant.default.hex}}; // Title button hover color
|
||||
titleButtonCloseBgOver: {{colors.error.default.hex}};
|
||||
titleButtonCloseFgOver: {{colors.on_error.default.hex}};
|
||||
titleFgActive: {{colors.on_surface.default.hex}}; // Active title text
|
||||
titleFg: {{colors.on_surface.default.hex}}; // Inactive title text
|
||||
|
||||
trayCounterBg: {{colors.error.default.hex}}; // Tray counter background
|
||||
trayCounterBgMute: {{colors.outline.default.hex}}; // Muted tray counter background
|
||||
trayCounterFg: {{colors.on_error.default.hex}}; // Tray counter text
|
||||
trayCounterBgMacInvert: {{colors.error.default.hex}}; // Mac tray counter
|
||||
trayCounterFgMacInvert: {{colors.on_error.default.hex}}; // Mac tray counter text
|
||||
|
||||
layerBg: {{colors.surface.default.hex}}99; // Layer background (60% opacity)
|
||||
|
||||
cancelIconFg: {{colors.error.default.hex}}; // Cancel icon
|
||||
cancelIconFgOver: {{colors.error.default.hex}}; // Cancel icon on hover
|
||||
|
||||
boxBg: {{colors.surface.default.hex}}; // Box background
|
||||
boxTextFg: {{colors.on_surface.default.hex}}; // Box text
|
||||
boxTextFgGood: {{colors.primary.default.hex}}; // Box good text
|
||||
boxTextFgError: {{colors.error.default.hex}}; // Box error text
|
||||
boxTitleFg: {{colors.on_surface.default.hex}}; // Box title text
|
||||
boxSearchBg: {{colors.surface.default.hex}}; // Box search field background
|
||||
boxSearchCancelIconFg: {{colors.error.default.hex}}; // Box search cancel icon
|
||||
boxSearchCancelIconFgOver: {{colors.error.default.hex}}; // Box search cancel icon on hover
|
||||
|
||||
contactsBg: {{colors.surface.default.hex}}; // Contacts background
|
||||
contactsBgOver: {{colors.surface_variant.default.hex}}; // Contacts background on hover
|
||||
contactsNameFg: {{colors.on_surface.default.hex}}; // Contact name
|
||||
contactsStatusFg: {{colors.outline.default.hex}}; // Contact status
|
||||
contactsStatusFgOver: {{colors.on_surface_variant.default.hex}}; // Contact status on hover
|
||||
contactsStatusFgOnline: {{colors.primary.default.hex}}; // Online contact status
|
||||
|
||||
photoCropFadeBg: {{colors.surface.default.hex}}cc; // Photo crop fade background
|
||||
photoCropPointFg: {{colors.primary.default.hex}}; // Photo crop points
|
||||
|
||||
chat_inBubbleSelected: #313244; // inbox selected chat background
|
||||
chat_outBubbleSelected: #313244; // outbox selected chat background
|
||||
@@ -253,4 +253,4 @@ div[class*="linkCalloutContainer"]:hover > span[class*="semibold"],
|
||||
div[class*="linkCalloutContainer"]:hover > span[data-text-variant*="semibold"] {
|
||||
color: var(--accent-1) !important;
|
||||
opacity: 1 !important;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
[Unit]
|
||||
Description=Noctalia Shell Service
|
||||
Requisite=graphical-session.target
|
||||
PartOf=graphical-session.target
|
||||
BindsTo=graphical-session.target
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
@@ -10,4 +9,4 @@ Restart=on-failure
|
||||
RestartSec=1
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
||||
WantedBy=graphical-session.target
|
||||
@@ -123,21 +123,27 @@
|
||||
"stream-description": "Geben Sie einen Befehl ein, der kontinuierlich ausgeführt werden soll."
|
||||
},
|
||||
"dynamic-text": "Dynamischer Text",
|
||||
"hide-vertical": {
|
||||
"description": "Wenn aktiviert, wird der Text aus der Befehlsausgabe nicht angezeigt, wenn sich die Leiste in einem vertikalen Layout befindet (links oder rechts).",
|
||||
"label": "Text in vertikaler Leiste ausblenden"
|
||||
},
|
||||
"icon": {
|
||||
"description": "Symbol aus der Bibliothek auswählen.",
|
||||
"label": "Symbol"
|
||||
},
|
||||
"left-click": {
|
||||
"description": "Befehl, der ausgeführt wird, wenn die Schaltfläche links angeklickt wird.",
|
||||
"label": "Linksklick"
|
||||
"label": "Linksklick",
|
||||
"update-text": "Text auf Linksklick aktualisieren"
|
||||
},
|
||||
"max-text-length-horizontal": {
|
||||
"description": "Maximale Anzahl an Zeichen, die in horizontaler Leiste angezeigt werden (0 zum Ausblenden des Textes)",
|
||||
"label": "Max. Textlänge (horizontal)"
|
||||
},
|
||||
"max-text-length-vertical": {
|
||||
"description": "Maximale Anzahl an Zeichen, die in vertikaler Leiste angezeigt werden (0 zum Ausblenden des Textes)",
|
||||
"label": "Max. Textlänge (vertikal)"
|
||||
},
|
||||
"middle-click": {
|
||||
"description": "Befehl, der ausgeführt wird, wenn die Schaltfläche mit der mittleren Maustaste angeklickt wird.",
|
||||
"label": "Mittelklick"
|
||||
"label": "Mittelklick",
|
||||
"update-text": "Text auf Mittelklick aktualisieren"
|
||||
},
|
||||
"parse-json": {
|
||||
"description": "Die Befehlsausgabe als JSON-Objekt parsen, um Text und Symbol dynamisch festzulegen.",
|
||||
@@ -149,11 +155,29 @@
|
||||
},
|
||||
"right-click": {
|
||||
"description": "Befehl, der ausgeführt wird, wenn die Schaltfläche rechts angeklickt wird.",
|
||||
"label": "Rechtsklick"
|
||||
"label": "Rechtsklick",
|
||||
"update-text": "Text beim Rechtsklick aktualisieren"
|
||||
},
|
||||
"text-stream": {
|
||||
"description": "Gestreamte Zeilen aus dem Befehl werden als Text auf der Schaltfläche angezeigt.",
|
||||
"label": "Stream"
|
||||
},
|
||||
"wheel": {
|
||||
"description": "Befehl, der bei Verwendung des Scrollrads ausgeführt wird.\nVerwenden Sie $delta für die Scrollrad-Delta im Befehl",
|
||||
"label": "Scrollrad",
|
||||
"update-text": "Anzeigetext beim Scrollen aktualisieren"
|
||||
},
|
||||
"wheel-down": {
|
||||
"description": "Befehl, der ausgeführt wird, wenn das Scrollrad heruntergescrollt wird.",
|
||||
"label": "Scrollrad runter Befehl"
|
||||
},
|
||||
"wheel-mode-separate": {
|
||||
"description": "Separate Befehle für Scrollrad hoch und runter aktivieren",
|
||||
"label": "Separate Scrollrad-Befehle"
|
||||
},
|
||||
"wheel-up": {
|
||||
"description": "Befehl, der ausgeführt wird, wenn das Scrollrad hochgescrollt wird.",
|
||||
"label": "Scrollrad hoch Befehl"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
@@ -199,6 +223,10 @@
|
||||
"description": "Albumcover des aktuell abgespielten Tracks anzeigen.",
|
||||
"label": "Albumcover anzeigen"
|
||||
},
|
||||
"show-artist-first": {
|
||||
"description": "Künstler - Titel anstatt Titel - Künstler anzeigen.",
|
||||
"label": "Künstler zuerst anzeigen"
|
||||
},
|
||||
"show-visualizer": {
|
||||
"description": "Audio-Visualizer anzeigen, wenn Musik abgespielt wird.",
|
||||
"label": "Visualizer anzeigen"
|
||||
@@ -239,6 +267,9 @@
|
||||
}
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "CPU Usage (Critical)"
|
||||
},
|
||||
"cpu-temperature": {
|
||||
"description": "CPU-Temperaturwerte anzeigen, falls verfügbar.",
|
||||
"label": "CPU-Temperatur"
|
||||
@@ -247,6 +278,25 @@
|
||||
"description": "Aktuelle CPU-Auslastung in Prozent anzeigen.",
|
||||
"label": "CPU-Auslastung"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "CPU Usage (Warning)"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "Storage Space (Critical)"
|
||||
},
|
||||
"disk-path": {
|
||||
"description": "Wählen Sie den Festplatten-Mountpunkt aus, der überwacht werden soll.",
|
||||
"label": "Festplattenpfad"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "Storage Space (Warning)"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "Memory Usage (Critical)"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "Memory Usage (Warning)"
|
||||
},
|
||||
"memory-percentage": {
|
||||
"description": "Speicherverbrauch als Prozentsatz statt absolute Werte anzeigen.",
|
||||
"label": "Speicher als Prozentsatz"
|
||||
@@ -262,6 +312,16 @@
|
||||
"storage-usage": {
|
||||
"description": "Festplattenspeicher-Nutzungsinformationen anzeigen.",
|
||||
"label": "Speichernutzung"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "CPU Temperature (Critical)"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "CPU Temperature (Warning)"
|
||||
},
|
||||
"thresholds": {
|
||||
"description": "Schwellenwerte für visuelle Indikatoren konfigurieren. Warn-/Kritik-Indikatoren erscheinen in hervorgehobenen Farben bei Überschreitung.",
|
||||
"header": "Schwellenwerte"
|
||||
}
|
||||
},
|
||||
"taskbar": {
|
||||
@@ -283,13 +343,9 @@
|
||||
}
|
||||
},
|
||||
"taskbar-grouped": {
|
||||
"show-numbers-only-when-occupied": {
|
||||
"description": "Arbeitsbereichsnummern nur für Arbeitsbereiche mit geöffneten Fenstern anzeigen.",
|
||||
"label": "Nur bei belegten Arbeitsbereichen anzeigen"
|
||||
},
|
||||
"show-workspace-numbers": {
|
||||
"description": "Arbeitsbereichsnummern in der oberen linken Ecke der Task-Gruppen anzeigen.",
|
||||
"label": "Arbeitsbereichsnummern anzeigen"
|
||||
"show-labels-only-when-occupied": {
|
||||
"description": "Zeige nur die Workspace-Bezeichnung für Workspaces an, die offene Fenster haben.",
|
||||
"label": "Zeige Label nur bei Belegung"
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
@@ -332,13 +388,6 @@
|
||||
"health": "Zustand: {percent}%",
|
||||
"idle": "Leerlauf.",
|
||||
"no-battery-detected": "Keine Batterie erkannt.",
|
||||
"panel": {
|
||||
"balanced": "Ausgeglichen ({percent}%)",
|
||||
"disabled": "Batteriemanager deaktiviert",
|
||||
"full": "Volle Kapazität ({percent}%)",
|
||||
"lifespan": "Verlängerte Lebensdauer ({percent}%)",
|
||||
"title": "Ladeschwelle"
|
||||
},
|
||||
"plugged-in": "Angeschlossen.",
|
||||
"time-left": "Verbleibende Zeit: {time}.",
|
||||
"time-until-full": "Zeit bis vollständig geladen: {time}."
|
||||
@@ -367,9 +416,61 @@
|
||||
"loading": "Wetter wird geladen…"
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"fetch-failed": "Changelog-Daten konnten nicht geladen werden. Bitte versuche es später erneut.",
|
||||
"rate-limit": "GitHub-Limit erreicht. Bitte versuche es in ein paar Minuten erneut."
|
||||
},
|
||||
"panel": {
|
||||
"buttons": {
|
||||
"discord": "Unserem Discord beitreten",
|
||||
"dismiss": "Ok"
|
||||
},
|
||||
"empty": "Es sind noch keine Versionshinweise verfügbar.",
|
||||
"highlight-title": "Highlights",
|
||||
"section": {
|
||||
"released": "Veröffentlicht am {date}",
|
||||
"version": "Version {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "Danke, dass du Noctalia installiert hast! Das ist in diesem Build enthalten.",
|
||||
"updated": "Aktualisiert von {previousVersion}"
|
||||
},
|
||||
"title": "Was ist neu in {version}",
|
||||
"version": {
|
||||
"new-user": "Neuinstallation"
|
||||
}
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
"tooltip": "Kalender öffnen"
|
||||
},
|
||||
"context-menu": {
|
||||
"activate-app": "{app} aktivieren",
|
||||
"clear-history": "Verlauf löschen",
|
||||
"close-app": "{app} schließen",
|
||||
"connect-vpn": "Mit {name} verbinden",
|
||||
"cycle-visualizer": "Zyklus-Visualisierer",
|
||||
"disable-bluetooth": "Bluetooth deaktivieren",
|
||||
"disable-dnd": "Bitte nicht stören deaktivieren",
|
||||
"disable-wifi": "WLAN deaktivieren",
|
||||
"disconnect-vpn": "Verbindung zu {name} trennen",
|
||||
"enable-bluetooth": "Bluetooth aktivieren",
|
||||
"enable-dnd": "Nicht stören aktivieren",
|
||||
"enable-wifi": "WLAN aktivieren",
|
||||
"next": "Nächste/r/s",
|
||||
"open-calendar": "Kalender öffnen",
|
||||
"open-display-settings": "Anzeigeeinstellungen",
|
||||
"open-launcher": "Launcher öffnen",
|
||||
"open-mixer": "Audiomischer",
|
||||
"open-settings": "Einstellungen öffnen",
|
||||
"pause": "Pause",
|
||||
"play": "Spielen",
|
||||
"previous": "Vorherige",
|
||||
"random-wallpaper": "Zufälliges Hintergrundbild",
|
||||
"toggle-mute": "Stummschaltung umschalten",
|
||||
"widget-settings": "Widget-Einstellungen"
|
||||
},
|
||||
"dock": {
|
||||
"menu": {
|
||||
"close": "Schließen",
|
||||
@@ -533,6 +634,7 @@
|
||||
},
|
||||
"workspace-labels": {
|
||||
"index": "Index",
|
||||
"index+name": "Index und Name",
|
||||
"name": "Name",
|
||||
"none": "Keine"
|
||||
}
|
||||
@@ -548,6 +650,7 @@
|
||||
"search": "Suchen...",
|
||||
"search-icons": "z.B. noctalia, niri, battery, cloud",
|
||||
"search-launcher": "Einträge suchen... oder > für Befehle verwenden",
|
||||
"search-wallhaven": "Wallhaven durchsuchen...",
|
||||
"search-wallpapers": "Zum Filtern von Hintergrundbildern eingeben...",
|
||||
"select": "Auswählen",
|
||||
"test": "Test"
|
||||
@@ -628,7 +731,7 @@
|
||||
"wallpaperSelector": {
|
||||
"label": "Hintergrundbild",
|
||||
"tooltip": {
|
||||
"action": "Linksklick: Hintergrundbildauswahl öffnen\nRechtsklick: Zufälliges Hintergrundbild setzen"
|
||||
"action": "Linksklick: Hintergrundbild-Auswahl öffnen\nRechtsklick: Zufälliges Hintergrundbild setzen"
|
||||
}
|
||||
},
|
||||
"wifi": {
|
||||
@@ -644,12 +747,13 @@
|
||||
},
|
||||
"session-menu": {
|
||||
"action-in-seconds": "{action} in {seconds} Sekunden...",
|
||||
"hibernate": "Ruhezustand",
|
||||
"lock": "Sperren",
|
||||
"lock-and-suspend": "Sperren und Ruhezustand",
|
||||
"logout": "Abmelden",
|
||||
"reboot": "Neu starten",
|
||||
"shutdown": "Herunterfahren",
|
||||
"suspend": "Ruhezustand",
|
||||
"suspend": "Energiesparmodus",
|
||||
"title": "Sitzungsmenü"
|
||||
},
|
||||
"settings": {
|
||||
@@ -688,6 +792,11 @@
|
||||
"label": "Audio-Geräte"
|
||||
}
|
||||
},
|
||||
"external-mixer": {
|
||||
"description": "Geben Sie den Befehl oder den Anwendungspfad ein, der beim Aktivieren der externen Audiomixer-Funktion gestartet werden soll.",
|
||||
"label": "Externer Audio-Mixer-Befehl",
|
||||
"placeholder": "pwvucontrol || pavucontrol"
|
||||
},
|
||||
"media": {
|
||||
"excluded-player": {
|
||||
"description": "Stichwörter für Player hinzufügen, die das System ignorieren soll. Jedes Stichwort sollte in einer neuen Zeile stehen.",
|
||||
@@ -762,6 +871,10 @@
|
||||
"description": "Hintergrund-Transparenz der Statusleiste anpassen.",
|
||||
"label": "Hintergrund-Transparenz"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "Deckkraft der Widget-Hintergründe festlegen, wenn Kapsel angezeigt wird.",
|
||||
"label": "Kapsel-Deckkraft"
|
||||
},
|
||||
"density": {
|
||||
"description": "Innenabstand der Statusleiste für kompaktes oder geräumiges Aussehen anpassen.",
|
||||
"label": "Statusleistendichte"
|
||||
@@ -854,6 +967,41 @@
|
||||
"label": "Dunkler Modus"
|
||||
}
|
||||
},
|
||||
"delete": {
|
||||
"error": {
|
||||
"description": "Fehler beim Löschen von {scheme}",
|
||||
"title": "Löschen fehlgeschlagen"
|
||||
},
|
||||
"success": {
|
||||
"description": "{scheme} wurde erfolgreich gelöscht",
|
||||
"title": "Farbschema gelöscht"
|
||||
}
|
||||
},
|
||||
"download": {
|
||||
"button": "Mehr herunterladen",
|
||||
"delete": "Löschen",
|
||||
"download": "Herunterladen",
|
||||
"downloading": "Wird heruntergeladen...",
|
||||
"empty": "Keine Farbschemata verfügbar",
|
||||
"error": {
|
||||
"api-error": "API-Fehler: {status}",
|
||||
"description": "Fehler beim Herunterladen von {scheme}",
|
||||
"download-failed": "Download fehlgeschlagen mit Exit-Code: {code}",
|
||||
"invalid-response": "Ungültiges API-Antwortformat",
|
||||
"no-files": "Keine Dateien für Schema gefunden",
|
||||
"parse-failed": "Fehler beim Parsen der API-Antwort: {error}",
|
||||
"rate-limit": "GitHub API-Ratenlimit überschritten",
|
||||
"title": "Download fehlgeschlagen"
|
||||
},
|
||||
"fetching": "Verfügbare Farbschemata werden abgerufen...",
|
||||
"installed": "Installiert",
|
||||
"refresh": "Aktualisieren",
|
||||
"success": {
|
||||
"description": "{scheme} wurde erfolgreich heruntergeladen",
|
||||
"title": "Farbschema heruntergeladen"
|
||||
},
|
||||
"title": "Farbschemata herunterladen"
|
||||
},
|
||||
"predefined": {
|
||||
"generate-templates": {
|
||||
"description": "Generiert Matugen-Templates (GTK, Terminal-Themes, etc.) bei der Verwendung vordefinierter Farbschemata.",
|
||||
@@ -876,7 +1024,7 @@
|
||||
"programs": {
|
||||
"code": {
|
||||
"description": "Schreibe {Dateipfad}. Das Hyprluna-Theme muss manuell installiert und aktiviert werden",
|
||||
"description-missing": "Benötigt die Installation von {app}"
|
||||
"description-missing": "Kein Code-Client erkannt. Installieren Sie VSCode oder VSCodium."
|
||||
},
|
||||
"description": "Anwendungsspezifisches Theming.",
|
||||
"discord": {
|
||||
@@ -893,7 +1041,11 @@
|
||||
"description-missing": "Erfordert die Installation von {app}"
|
||||
},
|
||||
"spicetify": {
|
||||
"description": "Schreibe {Dateipfad}. Das Comfy-Theme muss manuell installiert und aktiviert werden",
|
||||
"description": "Schreibe {filepath}. Das Comfy-Theme muss manuell installiert und aktiviert werden",
|
||||
"description-missing": "Benötigt die Installation von {app}"
|
||||
},
|
||||
"telegram": {
|
||||
"description": "Schreibe {filepath}.",
|
||||
"description-missing": "Benötigt die Installation von {app}"
|
||||
},
|
||||
"vicinae": {
|
||||
@@ -1092,6 +1244,10 @@
|
||||
"description": "Hintergrund-Transparenz des Docks anpassen.",
|
||||
"label": "Hintergrund-Transparenz"
|
||||
},
|
||||
"border-radius": {
|
||||
"description": "Den Radius der Dock-Umrandung anpassen.",
|
||||
"label": "Eckenradius"
|
||||
},
|
||||
"colorize-icons": {
|
||||
"description": "Theme-Farben auf Dock-App-Symbole anwenden (nur nicht fokussierte Apps).",
|
||||
"label": "Symbole einfärben"
|
||||
@@ -1243,6 +1399,10 @@
|
||||
"description": "Hintergrund-Transparenz des Starters anpassen.",
|
||||
"label": "Hintergrund-Transparenz"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": "Zeigt eine Vorschau des Inhalts der Zwischenablage an, wenn der Befehl >clip verwendet wird.",
|
||||
"label": "Clip-Vorschau aktivieren"
|
||||
},
|
||||
"clipboard-history": {
|
||||
"description": "Zugriff auf zuvor kopierte Elemente über den Launcher.",
|
||||
"label": "Zwischenablageverlauf aktivieren"
|
||||
@@ -1331,6 +1491,10 @@
|
||||
"description": "Bevorzugte Temperatureinheit wählen.",
|
||||
"label": "Wetter"
|
||||
},
|
||||
"show-effects": {
|
||||
"description": "Zeigt zusätzliche visuelle Effekte (wie Regen, Schnee oder Blitze) auf der Wetterkarte an.",
|
||||
"label": "Wettereffekte anzeigen"
|
||||
},
|
||||
"show-in-calendar": {
|
||||
"description": "Zeige die tägliche Wettervorhersage direkt in deiner Kalenderansicht an.",
|
||||
"label": "Wetter im Kalender anzeigen"
|
||||
@@ -1346,6 +1510,10 @@
|
||||
"description": "Den Bildschirm beim Suspendieren des Systems automatisch sperren.",
|
||||
"label": "Sperren beim Ruhezustand"
|
||||
},
|
||||
"show-hibernate": {
|
||||
"description": "Die Option 'Ruhezustand' in den Energieaktionen anzeigen.",
|
||||
"label": "Ruhezustand anzeigen"
|
||||
},
|
||||
"title": "Sperrbildschirm"
|
||||
},
|
||||
"network": {
|
||||
@@ -1437,6 +1605,10 @@
|
||||
"description": "On-Screen Display über Vollbildfenstern und anderen Ebenen anzeigen.",
|
||||
"label": "Immer im Vordergrund"
|
||||
},
|
||||
"background-opacity": {
|
||||
"description": "Kontrolliert die Transparenz des OSD Hintergrunds.",
|
||||
"label": "Hintergrund-Transparenz"
|
||||
},
|
||||
"description": "Bildschirm-Overlays wie Lautstärke- und Helligkeitsanzeigen konfigurieren.",
|
||||
"duration": {
|
||||
"auto-hide": {
|
||||
@@ -1529,7 +1701,107 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration": {
|
||||
"description": "Legen Sie fest, wie lange der Countdown-Timer vor der Ausführung von Energieaktionen dauert.",
|
||||
"label": "Countdown-Dauer"
|
||||
},
|
||||
"enable-countdown": {
|
||||
"description": "Zeige einen Countdown-Timer vor der Ausführung von Energieaktionen.",
|
||||
"label": "Countdown-Timer aktivieren"
|
||||
},
|
||||
"entries": {
|
||||
"section": {
|
||||
"description": "Anpassen, welche Energieaktionen im Sitzungsmenü angezeigt werden und in welcher Reihenfolge.",
|
||||
"label": "Energieaktionen"
|
||||
}
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Konfigurieren Sie das Verhalten und Erscheinungsbild des Sitzungsmenü-Panels.",
|
||||
"label": "Allgemein"
|
||||
}
|
||||
},
|
||||
"position": {
|
||||
"description": "Wählen Sie, wo das Sitzungsmenü-Panel beim Öffnen erscheint.",
|
||||
"label": "Position"
|
||||
},
|
||||
"show-header": {
|
||||
"description": "Zeige den Titel und die Schließen-Schaltfläche oben im Sitzungsmenü.",
|
||||
"label": "Kopfzeile anzeigen"
|
||||
},
|
||||
"title": "Sitzungsmenü"
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "Kritische Schwelle"
|
||||
},
|
||||
"cpu-section": {
|
||||
"label": "CPU-Auslastung"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "Warnschwelle"
|
||||
},
|
||||
"critical-color": {
|
||||
"label": "Kritische Farbe"
|
||||
},
|
||||
"custom-highlight-colors-title": {
|
||||
"label": "Benutzerdefinierte Hervorhebungsfarben"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "Kritische Schwelle"
|
||||
},
|
||||
"disk-section": {
|
||||
"label": "Festplattennutzung"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "Warnschwelle"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Konfigurieren Sie das Verhalten und Aussehen des Systemmonitors.",
|
||||
"label": "Allgemein"
|
||||
}
|
||||
},
|
||||
"highlight-colors-section": {
|
||||
"label": "Hervorhebungsfarben"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "Kritische Schwelle"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "Warnschwelle"
|
||||
},
|
||||
"memory-section": {
|
||||
"label": "Speicherverbrauch"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "Kritische Schwelle"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "Warnschwelle"
|
||||
},
|
||||
"temperature-section": {
|
||||
"label": "CPU-Temperatur"
|
||||
},
|
||||
"thresholds-section": {
|
||||
"description": "Setzen Sie Schwellenwerte für Systemmetriken; Werte darüber werden hervorgehoben.",
|
||||
"label": "Schwellenwerte"
|
||||
},
|
||||
"title": "Systemmonitor",
|
||||
"use-custom-highlight-colors": {
|
||||
"description": "Wenn deaktiviert, werden die Standard-Hervorhebungsfarben des Themes verwendet.",
|
||||
"label": "Benutzerdefinierte Hervorhebungsfarben verwenden"
|
||||
},
|
||||
"warning-color": {
|
||||
"label": "Warnfarbe"
|
||||
}
|
||||
},
|
||||
"user-interface": {
|
||||
"allow-panels-without-bar": {
|
||||
"description": "Wenn aktiviert, können sich Panels auf jedem Bildschirm öffnen. Wenn deaktiviert, öffnen sich Panels nur auf Bildschirmen mit einer Leiste, was den Speicherverbrauch reduzieren kann.",
|
||||
"label": "Paneele auf Bildschirmen ohne Leiste zulassen"
|
||||
},
|
||||
"animation-disable": {
|
||||
"description": "Deaktivieren Sie alle Animationen für eine schnellere und reaktionsfreudigere Erfahrung.",
|
||||
"label": "UI-Animationen deaktivieren"
|
||||
@@ -1548,6 +1820,15 @@
|
||||
"description": "Den Desktop abdunkeln, wenn Fenster oder Menüs geöffnet sind.",
|
||||
"label": "Desktop abdunkeln"
|
||||
},
|
||||
"dimmer-opacity": {
|
||||
"description": "Deckkraft für das Abdunkeln des Desktops festlegen.",
|
||||
"label": "Deckkraft des gedimmten Desktops",
|
||||
"reset": "Deckkraft des gedimmten Desktops zurücksetzen"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "Hintergrunddeckkraft für alle Paneele festlegen (Launcher, Control Center, Einstellungen usw.).",
|
||||
"label": "Paneel-Hintergrunddeckkraft"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
"description": "Die Paneele rasten an der Stange und den Bildschirmrändern ein und sorgen so für ein nahtloses Erscheinungsbild mit stilvollen, umgekehrten Ecken.",
|
||||
"label": "Paneele an Kanten ausrichten"
|
||||
@@ -1640,6 +1921,10 @@
|
||||
"label": "Hintergrundbild-Ordner",
|
||||
"tooltip": "Nach Hintergrundbild-Ordner suchen"
|
||||
},
|
||||
"hide-wallpaper-filenames": {
|
||||
"description": "Hintergrundbilddateinamen im Auswahlmenü ausblenden.",
|
||||
"label": "Dateinamen ausblenden"
|
||||
},
|
||||
"monitor-specific": {
|
||||
"description": "Unterschiedlichen Hintergrundbild-Ordner für jeden Monitor festlegen.",
|
||||
"label": "Monitor-spezifische Verzeichnisse",
|
||||
@@ -1655,8 +1940,13 @@
|
||||
},
|
||||
"select-folder": "Hintergrundbild-Ordner auswählen",
|
||||
"select-monitor-folder": "Monitor-Hintergrundbild-Ordner auswählen",
|
||||
"selector": {
|
||||
"description": "Wählen Sie Ihr Hintergrundbild aus.",
|
||||
"label": "Hintergrundbild-Auswahl",
|
||||
"tooltip": "Hintergrundbild-Auswahl öffnen"
|
||||
},
|
||||
"selector-position": {
|
||||
"description": "Wählen Sie aus, wo das Hintergrundbildauswahlfeld angezeigt wird.",
|
||||
"description": "Wählen Sie aus, wo das Hintergrundbild-Auswahlfeld angezeigt wird.",
|
||||
"label": "Position"
|
||||
}
|
||||
},
|
||||
@@ -1719,19 +2009,6 @@
|
||||
"low": "Niedriger Batteriestand",
|
||||
"low-desc": "Batterie ist bei {percent}%. Bitte schließen Sie das Ladegerät an."
|
||||
},
|
||||
"battery-manager": {
|
||||
"initial-setup": "Ersteinrichtung erforderlich",
|
||||
"install-failed": "Installation fehlgeschlagen",
|
||||
"install-missing": "Erforderliche Dateien fehlen",
|
||||
"install-success": "Erfolgreich installiert",
|
||||
"install-unsupported": "System wird nicht unterstützt",
|
||||
"set-failed": "Fehler beim Setzen der Batterieschwelle",
|
||||
"set-success-desc": "Batterieschwelle auf {percent}% gesetzt",
|
||||
"title": "Batterieschwelle",
|
||||
"uninstall-failed": "Deinstallation fehlgeschlagen",
|
||||
"uninstall-setup": "Deinstallation, Authentifizierung erforderlich",
|
||||
"uninstall-success": "Erfolgreich deinstalliert"
|
||||
},
|
||||
"bluetooth": {
|
||||
"disabled": "Deaktiviert",
|
||||
"enabled": "Aktiviert"
|
||||
@@ -1800,6 +2077,10 @@
|
||||
"title-matugen": "Matugen-Templating-Verarbeitung fehlgeschlagen",
|
||||
"title-predefined": "Die Verarbeitung des vordefinierten Farbschemas ist fehlgeschlagen."
|
||||
},
|
||||
"vpn": {
|
||||
"connected": "Verbunden mit '{name}'",
|
||||
"disconnected": "Verbindung zu '{name}' getrennt"
|
||||
},
|
||||
"wallpaper-colors": {
|
||||
"disabled": "Hintergrundbild-Farben deaktiviert",
|
||||
"enabled": "Hintergrundbild-Farben aktiviert",
|
||||
@@ -1833,6 +2114,7 @@
|
||||
"input-muted": "Audio-Eingabe stummschalten",
|
||||
"keep-awake": "Wach halten",
|
||||
"keyboard-layout": "{layout} Tastaturlayout",
|
||||
"manage-vpn": "VPN-Verbindungen verwalten",
|
||||
"manage-wifi": "WLAN verwalten",
|
||||
"microphone-volume-at": "Mikrofonlautstärke bei {volume}%.\nLinksklick für Einstellungen. Rechtsklick zum Stummschalten.\nScrollen zum Ändern der Lautstärke.",
|
||||
"move-to-center-section": "Zur mittleren Sektion verschieben",
|
||||
@@ -1860,6 +2142,7 @@
|
||||
"previous-month": "Vorheriger Monat",
|
||||
"refresh": "Aktualisieren",
|
||||
"refresh-devices": "Geräte aktualisieren",
|
||||
"refresh-wallhaven": "Wallhaven-Ergebnisse aktualisieren",
|
||||
"refresh-wallpaper-list": "Hintergrundbild-Liste aktualisieren",
|
||||
"remove-widget": "Widget entfernen",
|
||||
"screen-recorder-not-installed": "Bildschirmrekorder ist nicht installiert",
|
||||
@@ -1889,8 +2172,51 @@
|
||||
"description": "Ausgewähltes Hintergrundbild auf alle Monitore gleichzeitig anwenden.",
|
||||
"label": "Auf alle Monitore anwenden"
|
||||
},
|
||||
"categories": {
|
||||
"anime": "Anime",
|
||||
"general": "Allgemein",
|
||||
"label": "Kategorien",
|
||||
"people": "Personen"
|
||||
},
|
||||
"order": {
|
||||
"asc": "Aufsteigend",
|
||||
"desc": "Absteigend",
|
||||
"label": "Reihenfolge"
|
||||
},
|
||||
"purity": {
|
||||
"all": "Alle",
|
||||
"label": "Inhaltsfilter",
|
||||
"sfw": "SFW",
|
||||
"sketchy": "Sketchy"
|
||||
},
|
||||
"resolution": {
|
||||
"atleast": "Mindestens",
|
||||
"exact": "Exakt",
|
||||
"label": "Auflösung",
|
||||
"mode": {
|
||||
"label": "Modus"
|
||||
}
|
||||
},
|
||||
"search": "Suchen:",
|
||||
"title": "Hintergrundbild-Auswahl"
|
||||
"sorting": {
|
||||
"date_added": "Hinzugefügt am",
|
||||
"favorites": "Favoriten",
|
||||
"label": "Sortieren nach",
|
||||
"random": "Zufällig",
|
||||
"relevance": "Relevanz",
|
||||
"toplist": "Topliste",
|
||||
"views": "Aufrufe"
|
||||
},
|
||||
"source": {
|
||||
"label": "Quelle",
|
||||
"local": "Lokal",
|
||||
"wallhaven": "Wallhaven"
|
||||
},
|
||||
"title": "Hintergrundbild-Auswahl",
|
||||
"wallhaven-settings": {
|
||||
"apply": "Anwenden",
|
||||
"title": "Wallhaven-Einstellungen"
|
||||
}
|
||||
},
|
||||
"transitions": {
|
||||
"disc": "Scheibe",
|
||||
@@ -1900,7 +2226,13 @@
|
||||
"stripes": "Streifen",
|
||||
"wipe": "Wischen"
|
||||
},
|
||||
"try-different-search": "Versuchen Sie eine andere Suchanfrage."
|
||||
"try-different-search": "Versuchen Sie eine andere Suchanfrage.",
|
||||
"unknown": "Unbekannt",
|
||||
"wallhaven": {
|
||||
"loading": "Hintergrundbilder werden geladen...",
|
||||
"no-results": "Keine Hintergrundbilder gefunden. Versuchen Sie eine andere Suchanfrage.",
|
||||
"page": "{current} von {total}"
|
||||
}
|
||||
},
|
||||
"weather": {
|
||||
"clear-sky": "Klarer Himmel",
|
||||
@@ -2009,6 +2341,7 @@
|
||||
},
|
||||
"wifi": {
|
||||
"panel": {
|
||||
"available-networks": "Verfügbare Netzwerke",
|
||||
"connect": "Verbinden",
|
||||
"connected": "Verbunden",
|
||||
"disabled": "WLAN ist deaktiviert",
|
||||
@@ -2019,6 +2352,7 @@
|
||||
"forget": "Vergessen",
|
||||
"forget-network": "Dieses Netzwerk vergessen?",
|
||||
"forgetting": "Wird vergessen...",
|
||||
"known-networks": "Bekannte Netzwerke",
|
||||
"no-networks": "Keine Netzwerke gefunden",
|
||||
"password": "Passwort",
|
||||
"saved": "Gespeichert",
|
||||
|
||||
@@ -123,21 +123,27 @@
|
||||
"stream-description": "Enter a command to run continuously."
|
||||
},
|
||||
"dynamic-text": "Dynamic text",
|
||||
"hide-vertical": {
|
||||
"description": "If enabled, the text from the command output will not be shown when the bar is in a vertical layout (left or right).",
|
||||
"label": "Hide text in vertical bar"
|
||||
},
|
||||
"icon": {
|
||||
"description": "Select an icon from the library.",
|
||||
"label": "Icon"
|
||||
},
|
||||
"left-click": {
|
||||
"description": "Command to execute when the button is left-clicked.",
|
||||
"label": "Left click"
|
||||
"label": "Left click",
|
||||
"update-text": "Update displayed text on left-click"
|
||||
},
|
||||
"max-text-length-horizontal": {
|
||||
"description": "Maximum number of characters to show in horizontal bar (0 to hide text)",
|
||||
"label": "Max text length (horizontal)"
|
||||
},
|
||||
"max-text-length-vertical": {
|
||||
"description": "Maximum number of characters to show in vertical bar (0 to hide text)",
|
||||
"label": "Max text length (vertical)"
|
||||
},
|
||||
"middle-click": {
|
||||
"description": "Command to execute when the button is middle-clicked.",
|
||||
"label": "Middle click"
|
||||
"label": "Middle click",
|
||||
"update-text": "Update displayed text on middle-click"
|
||||
},
|
||||
"parse-json": {
|
||||
"description": "Parse the command output as a JSON object to dynamically set text and icon.",
|
||||
@@ -149,11 +155,29 @@
|
||||
},
|
||||
"right-click": {
|
||||
"description": "Command to execute when the button is right-clicked.",
|
||||
"label": "Right click"
|
||||
"label": "Right click",
|
||||
"update-text": "Update displayed text on right-click"
|
||||
},
|
||||
"text-stream": {
|
||||
"description": "Streamed lines from the command will be displayed as text on the button.",
|
||||
"label": "Stream"
|
||||
},
|
||||
"wheel": {
|
||||
"description": "Command to execute when the scroll wheel is used.\nUse $delta for the scroll wheel delta in the command",
|
||||
"label": "Scroll wheel",
|
||||
"update-text": "Update displayed text on scroll"
|
||||
},
|
||||
"wheel-down": {
|
||||
"description": "Command to execute when the scroll wheel is scrolled down.",
|
||||
"label": "Wheel down command"
|
||||
},
|
||||
"wheel-mode-separate": {
|
||||
"description": "Enable separate commands for wheel up and down",
|
||||
"label": "Separate wheel commands"
|
||||
},
|
||||
"wheel-up": {
|
||||
"description": "Command to execute when the scroll wheel is scrolled up.",
|
||||
"label": "Wheel up command"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
@@ -199,6 +223,10 @@
|
||||
"description": "Display the album artwork for the currently playing track.",
|
||||
"label": "Show album art"
|
||||
},
|
||||
"show-artist-first": {
|
||||
"description": "Display artist - title instead of title - artist.",
|
||||
"label": "Show artist first"
|
||||
},
|
||||
"show-visualizer": {
|
||||
"description": "Display an audio visualizer when music is playing.",
|
||||
"label": "Show visualizer"
|
||||
@@ -239,6 +267,9 @@
|
||||
}
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "CPU Usage (Critical)"
|
||||
},
|
||||
"cpu-temperature": {
|
||||
"description": "Show CPU temperature readings if available.",
|
||||
"label": "CPU temperature"
|
||||
@@ -247,6 +278,25 @@
|
||||
"description": "Display current CPU usage percentage.",
|
||||
"label": "CPU usage"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "CPU Usage (Warning)"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "Storage Space (Critical)"
|
||||
},
|
||||
"disk-path": {
|
||||
"description": "Select which disk mount point to monitor.",
|
||||
"label": "Disk path"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "Storage Space (Warning)"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "Memory Usage (Critical)"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "Memory Usage (Warning)"
|
||||
},
|
||||
"memory-percentage": {
|
||||
"description": "Show memory usage as a percentage instead of absolute values.",
|
||||
"label": "Memory as percentage"
|
||||
@@ -262,6 +312,16 @@
|
||||
"storage-usage": {
|
||||
"description": "Show disk space usage information.",
|
||||
"label": "Storage usage"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "CPU Temperature (Critical)"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "CPU Temperature (Warning)"
|
||||
},
|
||||
"thresholds": {
|
||||
"description": "Set thresholds for system metric alerts. Highlights when exceeded.",
|
||||
"header": "Threshold Settings"
|
||||
}
|
||||
},
|
||||
"taskbar": {
|
||||
@@ -283,13 +343,9 @@
|
||||
}
|
||||
},
|
||||
"taskbar-grouped": {
|
||||
"show-numbers-only-when-occupied": {
|
||||
"description": "Only show workspace numbers for workspaces that have open windows.",
|
||||
"label": "Show numbers only when occupied"
|
||||
},
|
||||
"show-workspace-numbers": {
|
||||
"description": "Display workspace numbers in the top-left corner of task groups.",
|
||||
"label": "Show workspace numbers"
|
||||
"show-labels-only-when-occupied": {
|
||||
"description": "Only show workspace label for workspaces that have open windows.",
|
||||
"label": "Show label only when occupied"
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
@@ -325,23 +381,16 @@
|
||||
}
|
||||
},
|
||||
"battery": {
|
||||
"charging": "Charging.",
|
||||
"charging-rate": "Charging rate: {rate} W.",
|
||||
"discharging": "Discharging.",
|
||||
"discharging-rate": "Discharging rate: {rate} W.",
|
||||
"charging": "Charging",
|
||||
"charging-rate": "Charging rate: {rate} W",
|
||||
"discharging": "Discharging",
|
||||
"discharging-rate": "Discharging rate: {rate} W",
|
||||
"health": "Health: {percent}%",
|
||||
"idle": "Idle.",
|
||||
"no-battery-detected": "No battery detected.",
|
||||
"panel": {
|
||||
"balanced": "Balanced ({percent}%)",
|
||||
"disabled": "Battery manager disabled",
|
||||
"full": "Full capacity ({percent}%)",
|
||||
"lifespan": "Extended lifespan ({percent}%)",
|
||||
"title": "Charge threshold"
|
||||
},
|
||||
"plugged-in": "Plugged in.",
|
||||
"time-left": "Time left: {time}.",
|
||||
"time-until-full": "Time until full: {time}."
|
||||
"idle": "Idle",
|
||||
"no-battery-detected": "No battery detected",
|
||||
"plugged-in": "Plugged in",
|
||||
"time-left": "Time left: {time}",
|
||||
"time-until-full": "Time until full: {time}"
|
||||
},
|
||||
"bluetooth": {
|
||||
"panel": {
|
||||
@@ -367,9 +416,61 @@
|
||||
"loading": "Loading weather…"
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"fetch-failed": "Unable to load changelog data. Please try again later.",
|
||||
"rate-limit": "GitHub rate limit exceeded. Please try again in a few minutes."
|
||||
},
|
||||
"panel": {
|
||||
"buttons": {
|
||||
"discord": "Join our Discord",
|
||||
"dismiss": "Ok"
|
||||
},
|
||||
"empty": "Release notes are not available yet.",
|
||||
"highlight-title": "Highlights",
|
||||
"section": {
|
||||
"released": "Released on {date}",
|
||||
"version": "Version {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "Thanks for installing Noctalia! Here is what’s included in this build.",
|
||||
"updated": "Updated from {previousVersion}"
|
||||
},
|
||||
"title": "What's new in {version}",
|
||||
"version": {
|
||||
"new-user": "Fresh install"
|
||||
}
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
"tooltip": "Open calendar"
|
||||
},
|
||||
"context-menu": {
|
||||
"activate-app": "Activate {app}",
|
||||
"clear-history": "Clear history",
|
||||
"close-app": "Close {app}",
|
||||
"connect-vpn": "Connect to {name}",
|
||||
"cycle-visualizer": "Cycle visualizer",
|
||||
"disable-bluetooth": "Disable Bluetooth",
|
||||
"disable-dnd": "Disable Do Not Disturb",
|
||||
"disable-wifi": "Disable Wi-Fi",
|
||||
"disconnect-vpn": "Disconnect {name}",
|
||||
"enable-bluetooth": "Enable Bluetooth",
|
||||
"enable-dnd": "Enable Do Not Disturb",
|
||||
"enable-wifi": "Enable Wi-Fi",
|
||||
"next": "Next",
|
||||
"open-calendar": "Open calendar",
|
||||
"open-display-settings": "Display settings",
|
||||
"open-launcher": "Open launcher",
|
||||
"open-mixer": "Audio mixer",
|
||||
"open-settings": "Open settings",
|
||||
"pause": "Pause",
|
||||
"play": "Play",
|
||||
"previous": "Previous",
|
||||
"random-wallpaper": "Random wallpaper",
|
||||
"toggle-mute": "Toggle mute",
|
||||
"widget-settings": "Widget settings"
|
||||
},
|
||||
"dock": {
|
||||
"menu": {
|
||||
"close": "Close",
|
||||
@@ -533,6 +634,7 @@
|
||||
},
|
||||
"workspace-labels": {
|
||||
"index": "Index",
|
||||
"index+name": "Index and Name",
|
||||
"name": "Name",
|
||||
"none": "None"
|
||||
}
|
||||
@@ -548,6 +650,7 @@
|
||||
"search": "Search...",
|
||||
"search-icons": "e.g., noctalia, niri, battery, cloud",
|
||||
"search-launcher": "Search entries... or use > for commands",
|
||||
"search-wallhaven": "Search Wallhaven...",
|
||||
"search-wallpapers": "Type to filter wallpapers...",
|
||||
"select": "Select",
|
||||
"test": "Test"
|
||||
@@ -644,6 +747,7 @@
|
||||
},
|
||||
"session-menu": {
|
||||
"action-in-seconds": "{action} in {seconds} seconds...",
|
||||
"hibernate": "Hibernate",
|
||||
"lock": "Lock",
|
||||
"lock-and-suspend": "Lock and Suspend",
|
||||
"logout": "Logout",
|
||||
@@ -688,6 +792,11 @@
|
||||
"label": "Audio devices"
|
||||
}
|
||||
},
|
||||
"external-mixer": {
|
||||
"description": "Enter the command or application path to launch when activating the external audio mixer feature.",
|
||||
"label": "External Audio Mixer Command",
|
||||
"placeholder": "pwvucontrol || pavucontrol"
|
||||
},
|
||||
"media": {
|
||||
"excluded-player": {
|
||||
"description": "Add keywords for players you want the system to ignore. Each keyword should be on a new line.",
|
||||
@@ -762,6 +871,10 @@
|
||||
"description": "Adjust the background opacity of the bar.",
|
||||
"label": "Background opacity"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "Set the opacity level for widget backgrounds when capsule is shown.",
|
||||
"label": "Capsule opacity"
|
||||
},
|
||||
"density": {
|
||||
"description": "Adjust the bar's padding for a compact or spacious look.",
|
||||
"label": "Bar density"
|
||||
@@ -854,6 +967,41 @@
|
||||
"label": "Dark mode"
|
||||
}
|
||||
},
|
||||
"delete": {
|
||||
"error": {
|
||||
"description": "Failed to delete {scheme}",
|
||||
"title": "Delete Failed"
|
||||
},
|
||||
"success": {
|
||||
"description": "Successfully deleted {scheme}",
|
||||
"title": "Color Scheme Deleted"
|
||||
}
|
||||
},
|
||||
"download": {
|
||||
"button": "Download more",
|
||||
"delete": "Delete",
|
||||
"download": "Download",
|
||||
"downloading": "Downloading...",
|
||||
"empty": "No color schemes available",
|
||||
"error": {
|
||||
"api-error": "API error: {status}",
|
||||
"description": "Failed to download {scheme}",
|
||||
"download-failed": "Download failed with exit code: {code}",
|
||||
"invalid-response": "Invalid API response format",
|
||||
"no-files": "No files found for scheme",
|
||||
"parse-failed": "Failed to parse API response: {error}",
|
||||
"rate-limit": "GitHub API rate limit exceeded",
|
||||
"title": "Download Failed"
|
||||
},
|
||||
"fetching": "Fetching available color schemes...",
|
||||
"installed": "Installed",
|
||||
"refresh": "Refresh",
|
||||
"success": {
|
||||
"description": "Successfully downloaded {scheme}",
|
||||
"title": "Color Scheme Downloaded"
|
||||
},
|
||||
"title": "Download Color Schemes"
|
||||
},
|
||||
"predefined": {
|
||||
"generate-templates": {
|
||||
"description": "Generate Matugen templates (GTK, terminal themes, etc.) when using predefined color schemes.",
|
||||
@@ -876,7 +1024,7 @@
|
||||
"programs": {
|
||||
"code": {
|
||||
"description": "Write {filepath}. Hyprluna theme needs to be installed and activated manually.",
|
||||
"description-missing": "Requires {app} to be installed"
|
||||
"description-missing": "No Code client detected. Install VSCode or VSCodium."
|
||||
},
|
||||
"description": "Application-specific theming.",
|
||||
"discord": {
|
||||
@@ -896,6 +1044,10 @@
|
||||
"description": "Write {filepath}. Comfy theme needs to be installed and activated manually.",
|
||||
"description-missing": "Requires {app} to be installed"
|
||||
},
|
||||
"telegram": {
|
||||
"description": "Write {filepath}.",
|
||||
"description-missing": "Requires {app} to be installed"
|
||||
},
|
||||
"vicinae": {
|
||||
"description": "Write {filepath} and reload",
|
||||
"description-missing": "Requires {app} to be installed"
|
||||
@@ -1092,6 +1244,10 @@
|
||||
"description": "Adjust the dock's background opacity.",
|
||||
"label": "Background opacity"
|
||||
},
|
||||
"border-radius": {
|
||||
"description": "Adjust the dock's border radius.",
|
||||
"label": "Border radius"
|
||||
},
|
||||
"colorize-icons": {
|
||||
"description": "Apply theme colors to dock app icons (non-focused apps only).",
|
||||
"label": "Colorize Icons"
|
||||
@@ -1243,6 +1399,10 @@
|
||||
"description": "Adjust the background opacity of the launcher.",
|
||||
"label": "Background opacity"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": "Show a preview of the clipboard content when using the >clip command.",
|
||||
"label": "Enable clip preview"
|
||||
},
|
||||
"clipboard-history": {
|
||||
"description": "Access previously copied items from the launcher.",
|
||||
"label": "Enable clipboard history"
|
||||
@@ -1331,6 +1491,10 @@
|
||||
"description": "Choose your preferred temperature unit.",
|
||||
"label": "Weather"
|
||||
},
|
||||
"show-effects": {
|
||||
"description": "Shows additional visual effects (like rain, snow, or lightning) on the weather card.",
|
||||
"label": "Display weather effects"
|
||||
},
|
||||
"show-in-calendar": {
|
||||
"description": "Show the daily weather forecast directly in your calendar view.",
|
||||
"label": "Display weather in calendar"
|
||||
@@ -1346,6 +1510,10 @@
|
||||
"description": "Automatically lock the screen when suspending the system.",
|
||||
"label": "Lock on suspend"
|
||||
},
|
||||
"show-hibernate": {
|
||||
"description": "Show the option 'hibernate' in the energy actions.",
|
||||
"label": "Show hibernate"
|
||||
},
|
||||
"title": "Lock screen"
|
||||
},
|
||||
"network": {
|
||||
@@ -1437,6 +1605,10 @@
|
||||
"description": "Display OSD above fullscreen windows and other layers.",
|
||||
"label": "Always on top"
|
||||
},
|
||||
"background-opacity": {
|
||||
"description": "Controls the transparency of the OSD background.",
|
||||
"label": "Background opacity"
|
||||
},
|
||||
"description": "Configure on-screen indicators such as volume and brightness overlays.",
|
||||
"duration": {
|
||||
"auto-hide": {
|
||||
@@ -1529,7 +1701,107 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration": {
|
||||
"description": "Set how long the countdown timer lasts before executing power actions.",
|
||||
"label": "Countdown duration"
|
||||
},
|
||||
"enable-countdown": {
|
||||
"description": "Show a countdown timer before executing power actions.",
|
||||
"label": "Enable countdown timer"
|
||||
},
|
||||
"entries": {
|
||||
"section": {
|
||||
"description": "Customize which power actions appear in the Session Menu and in what order.",
|
||||
"label": "Power actions"
|
||||
}
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Configure the Session Menu panel behavior and appearance.",
|
||||
"label": "General"
|
||||
}
|
||||
},
|
||||
"position": {
|
||||
"description": "Choose where the Session Menu panel appears when opened.",
|
||||
"label": "Position"
|
||||
},
|
||||
"show-header": {
|
||||
"description": "Display the title and close button at the top of the Session Menu.",
|
||||
"label": "Show header"
|
||||
},
|
||||
"title": "Session Menu"
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "Critical Threshold"
|
||||
},
|
||||
"cpu-section": {
|
||||
"label": "CPU Usage"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "Warning Threshold"
|
||||
},
|
||||
"critical-color": {
|
||||
"label": "Critical Color"
|
||||
},
|
||||
"custom-highlight-colors-title": {
|
||||
"label": "Custom highlight colors"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "Critical Threshold"
|
||||
},
|
||||
"disk-section": {
|
||||
"label": "Disk Usage"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "Warning Threshold"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Configure the System Monitor behavior and appearance.",
|
||||
"label": "General"
|
||||
}
|
||||
},
|
||||
"highlight-colors-section": {
|
||||
"label": "Highlight Colors"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "Critical Threshold"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "Warning Threshold"
|
||||
},
|
||||
"memory-section": {
|
||||
"label": "Memory Usage"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "Critical Threshold"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "Warning Threshold"
|
||||
},
|
||||
"temperature-section": {
|
||||
"label": "CPU Temperature"
|
||||
},
|
||||
"thresholds-section": {
|
||||
"description": "Set thresholds for system metrics, values above these will be highlighted.",
|
||||
"label": "Thresholds"
|
||||
},
|
||||
"title": "System Monitor",
|
||||
"use-custom-highlight-colors": {
|
||||
"description": "When disabled, theme default highlight colors are used.",
|
||||
"label": "Use custom highlight colors"
|
||||
},
|
||||
"warning-color": {
|
||||
"label": "Warning Color"
|
||||
}
|
||||
},
|
||||
"user-interface": {
|
||||
"allow-panels-without-bar": {
|
||||
"description": "When enabled, panels can open on any screen. When disabled, panels will only open on screens that have a bar, which can reduce memory usage.",
|
||||
"label": "Allow panels on screens without a bar"
|
||||
},
|
||||
"animation-disable": {
|
||||
"description": "Disable all animations for a faster, more responsive experience.",
|
||||
"label": "Disable UI Animations"
|
||||
@@ -1548,6 +1820,15 @@
|
||||
"description": "Dim the desktop when panels or menus are open.",
|
||||
"label": "Dim desktop"
|
||||
},
|
||||
"dimmer-opacity": {
|
||||
"description": "Set the opacity level for desktop dimming.",
|
||||
"label": "Dimmed desktop opacity",
|
||||
"reset": "Reset dimmed desktop opacity"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "Set the background opacity for all panels (Launcher, Control Center, Settings, etc.).",
|
||||
"label": "Panel background opacity"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
"description": "Panels lock to the bar and screen edges, creating a seamless look with stylish inverted corners.",
|
||||
"label": "Snap panels to edges"
|
||||
@@ -1640,6 +1921,10 @@
|
||||
"label": "Wallpaper folder",
|
||||
"tooltip": "Browse for wallpaper folder"
|
||||
},
|
||||
"hide-wallpaper-filenames": {
|
||||
"description": "Hide wallpaper filenames in the selector.",
|
||||
"label": "Hide filenames"
|
||||
},
|
||||
"monitor-specific": {
|
||||
"description": "Set a different wallpaper folder for each monitor.",
|
||||
"label": "Monitor-specific directories",
|
||||
@@ -1655,6 +1940,11 @@
|
||||
},
|
||||
"select-folder": "Select wallpaper folder",
|
||||
"select-monitor-folder": "Select monitor wallpaper folder",
|
||||
"selector": {
|
||||
"description": "Choose your wallpaper.",
|
||||
"label": "Wallpaper selector",
|
||||
"tooltip": "Open wallpaper selector"
|
||||
},
|
||||
"selector-position": {
|
||||
"description": "Choose where the wallpaper selector panel appears.",
|
||||
"label": "Position"
|
||||
@@ -1719,19 +2009,6 @@
|
||||
"low": "Low battery",
|
||||
"low-desc": "Battery is at {percent}%. Please connect the charger."
|
||||
},
|
||||
"battery-manager": {
|
||||
"initial-setup": "Initial setup required",
|
||||
"install-failed": "Installation failed",
|
||||
"install-missing": "Required files are missing",
|
||||
"install-success": "Installed successfully",
|
||||
"install-unsupported": "System is not supported",
|
||||
"set-failed": "Failed to set battery threshold",
|
||||
"set-success-desc": "Battery threshold set to {percent}%",
|
||||
"title": "Battery threshold",
|
||||
"uninstall-failed": "Uninstallation failed",
|
||||
"uninstall-setup": "Uninstalling, authentication required",
|
||||
"uninstall-success": "Uninstalled successfully"
|
||||
},
|
||||
"bluetooth": {
|
||||
"disabled": "Disabled",
|
||||
"enabled": "Enabled"
|
||||
@@ -1800,6 +2077,10 @@
|
||||
"title-matugen": "Matugen templating processing failed",
|
||||
"title-predefined": "Predefined color cheme processing failed"
|
||||
},
|
||||
"vpn": {
|
||||
"connected": "Connected to '{name}'",
|
||||
"disconnected": "Disconnected from '{name}'"
|
||||
},
|
||||
"wallpaper-colors": {
|
||||
"disabled": "Wallpaper colors disabled",
|
||||
"enabled": "Wallpaper colors enabled",
|
||||
@@ -1816,39 +2097,40 @@
|
||||
"tooltips": {
|
||||
"add-widget": "Add widget",
|
||||
"bluetooth-devices": "Bluetooth devices",
|
||||
"brightness-at": "Brightness: {brightness}%\nRight click for settings.\nScroll to modify brightness.",
|
||||
"brightness-at": "Brightness: {brightness}%\nScroll to modify brightness",
|
||||
"cancel-timer": "Cancel timer",
|
||||
"clear-history": "Clear history",
|
||||
"click-to-start-recording": "Click to start recording",
|
||||
"click-to-stop-recording": "Click to stop recording",
|
||||
"close": "Close",
|
||||
"connect-disconnect-devices": "Left click to connect. Right click to forget.",
|
||||
"connect-disconnect-devices": "Left click to connect\nRight click to forget",
|
||||
"delete-notification": "Delete notification",
|
||||
"disable-keep-awake": "Click to disable keep awake.\nScroll to adjust timeout.",
|
||||
"disable-keep-awake": "Click to disable keep awake.\nScroll to adjust timeout",
|
||||
"do-not-disturb-disabled": "'Do not disturb' disabled",
|
||||
"do-not-disturb-enabled": "'Do not disturb' enabled",
|
||||
"enable-keep-awake": "Click to enable keep awake.\nScroll to adjust timeout.",
|
||||
"enable-keep-awake": "Click to enable keep awake.\nScroll to adjust timeout",
|
||||
"forget-network": "Forget network",
|
||||
"home": "Home",
|
||||
"input-muted": "Toggle input mute",
|
||||
"keep-awake": "Keep awake",
|
||||
"keyboard-layout": "{layout} keyboard layout",
|
||||
"manage-vpn": "Manage VPN connections",
|
||||
"manage-wifi": "Manage Wi-Fi",
|
||||
"microphone-volume-at": "Microphone volume at {volume}%\nLeft click for settings. Right click to toggle mute.\nScroll to modify volume.",
|
||||
"microphone-volume-at": "Microphone volume at {volume}%\nScroll to modify volume",
|
||||
"move-to-center-section": "Move to center section",
|
||||
"move-to-left-section": "Move to left section",
|
||||
"move-to-right-section": "Move to right section",
|
||||
"next-media": "Next media",
|
||||
"next-month": "Next month",
|
||||
"night-light-disabled": "Night light is disabled.\nLeft click to cycle mode.\nRight click to access settings.",
|
||||
"night-light-enabled": "Night light is enabled.\nLeft click to cycle mode.\nRight click to access settings.",
|
||||
"night-light-forced": "Night light is forced.\nLeft click to cycle mode.\nRight click to access settings.",
|
||||
"night-light-not-installed": "Night light is not available.\nwlsunset is not installed.",
|
||||
"noctalia-performance-disabled": "Noctalia performance mode is disabled.\nLeft click to enable.",
|
||||
"noctalia-performance-enabled": "Noctalia performance mode is enabled.\nLeft click to disable.",
|
||||
"night-light-disabled": "Night light is disabled.\nLeft click to cycle mode\nRight click to access settings",
|
||||
"night-light-enabled": "Night light is enabled.\nLeft click to cycle mode\nRight click to access settings",
|
||||
"night-light-forced": "Night light is forced.\nLeft click to cycle mode\nRight click to access settings",
|
||||
"night-light-not-installed": "Night light is not available\nwlsunset is not installed",
|
||||
"noctalia-performance-disabled": "Noctalia performance mode is disabled\nLeft click to enable",
|
||||
"noctalia-performance-enabled": "Noctalia performance mode is enabled\nLeft click to disable",
|
||||
"open-control-center": "Open control center",
|
||||
"open-notification-history-disable-dnd": "Open notification history\nRight-click to disable \"Do not disturb\".",
|
||||
"open-notification-history-enable-dnd": "Open notification history\nRight-click to enable \"Do not disturb\".",
|
||||
"open-notification-history-disable-dnd": "Open notification history\nRight-click to disable \"Do not disturb\"",
|
||||
"open-notification-history-enable-dnd": "Open notification history\nRight-click to enable \"Do not disturb\"",
|
||||
"open-settings": "Open settings",
|
||||
"open-tray-dropdown": "Open tray dropdown",
|
||||
"open-wallpaper-selector": "Open wallpaper selector",
|
||||
@@ -1860,6 +2142,7 @@
|
||||
"previous-month": "Previous month",
|
||||
"refresh": "Refresh",
|
||||
"refresh-devices": "Refresh devices",
|
||||
"refresh-wallhaven": "Refresh Wallhaven results",
|
||||
"refresh-wallpaper-list": "Refresh wallpaper list",
|
||||
"remove-widget": "Remove widget",
|
||||
"screen-recorder-not-installed": "Screen recorder is not installed",
|
||||
@@ -1870,8 +2153,8 @@
|
||||
"switch-to-dark-mode": "Switch to dark mode",
|
||||
"switch-to-light-mode": "Switch to light mode",
|
||||
"up": "Up",
|
||||
"volume-at": "Output volume at {volume}%\nLeft click for settings. Right click to toggle mute.\nScroll to modify volume.",
|
||||
"wallpaper-selector": "Left click: Open wallpaper selector.\nRight click: Set random wallpaper.",
|
||||
"volume-at": "Output volume at {volume}%\nScroll to modify volume",
|
||||
"wallpaper-selector": "Left click: Open wallpaper selector.\nRight click: Set random wallpaper",
|
||||
"widget-settings": "Widget settings"
|
||||
},
|
||||
"wallpaper": {
|
||||
@@ -1886,11 +2169,54 @@
|
||||
"no-wallpaper": "No wallpaper found.",
|
||||
"panel": {
|
||||
"apply-all-monitors": {
|
||||
"description": "Apply selected wallpaper to all monitors at once.",
|
||||
"description": "Apply the selected wallpaper to all monitors.",
|
||||
"label": "Apply to all monitors"
|
||||
},
|
||||
"search": "Search:",
|
||||
"title": "Wallpaper selector"
|
||||
"categories": {
|
||||
"anime": "Anime",
|
||||
"general": "General",
|
||||
"label": "Categories",
|
||||
"people": "People"
|
||||
},
|
||||
"order": {
|
||||
"asc": "Ascending",
|
||||
"desc": "Descending",
|
||||
"label": "Order"
|
||||
},
|
||||
"purity": {
|
||||
"all": "All",
|
||||
"label": "Content filter",
|
||||
"sfw": "SFW",
|
||||
"sketchy": "Sketchy"
|
||||
},
|
||||
"resolution": {
|
||||
"atleast": "At least",
|
||||
"exact": "Exact",
|
||||
"label": "Resolution",
|
||||
"mode": {
|
||||
"label": "Mode"
|
||||
}
|
||||
},
|
||||
"search": "Search",
|
||||
"sorting": {
|
||||
"date_added": "Date added",
|
||||
"favorites": "Favorites",
|
||||
"label": "Sort by",
|
||||
"random": "Random",
|
||||
"relevance": "Relevance",
|
||||
"toplist": "Toplist",
|
||||
"views": "Views"
|
||||
},
|
||||
"source": {
|
||||
"label": "Source",
|
||||
"local": "Local",
|
||||
"wallhaven": "Wallhaven"
|
||||
},
|
||||
"title": "Wallpaper Selector",
|
||||
"wallhaven-settings": {
|
||||
"apply": "Apply",
|
||||
"title": "Wallhaven Settings"
|
||||
}
|
||||
},
|
||||
"transitions": {
|
||||
"disc": "Disc",
|
||||
@@ -1900,7 +2226,13 @@
|
||||
"stripes": "Stripes",
|
||||
"wipe": "Wipe"
|
||||
},
|
||||
"try-different-search": "Try a different search query."
|
||||
"try-different-search": "Try a different search query.",
|
||||
"unknown": "Unknown",
|
||||
"wallhaven": {
|
||||
"loading": "Loading wallpapers...",
|
||||
"no-results": "No wallpapers found. Try a different search query.",
|
||||
"page": "{current} of {total}"
|
||||
}
|
||||
},
|
||||
"weather": {
|
||||
"clear-sky": "Clear sky",
|
||||
@@ -2009,6 +2341,7 @@
|
||||
},
|
||||
"wifi": {
|
||||
"panel": {
|
||||
"available-networks": "Available Networks",
|
||||
"connect": "Connect",
|
||||
"connected": "Connected",
|
||||
"disabled": "Wi-Fi is disabled",
|
||||
@@ -2019,6 +2352,7 @@
|
||||
"forget": "Forget",
|
||||
"forget-network": "Forget this network?",
|
||||
"forgetting": "Forgetting...",
|
||||
"known-networks": "Known Networks",
|
||||
"no-networks": "No networks found",
|
||||
"password": "Password",
|
||||
"saved": "Saved",
|
||||
|
||||
@@ -123,21 +123,27 @@
|
||||
"stream-description": "Introduce un comando para ejecutar continuamente."
|
||||
},
|
||||
"dynamic-text": "Texto dinámico",
|
||||
"hide-vertical": {
|
||||
"description": "Si está activado, el texto de la salida del comando no se mostrará cuando la barra esté en un diseño vertical (izquierda o derecha).",
|
||||
"label": "Ocultar texto en barra vertical"
|
||||
},
|
||||
"icon": {
|
||||
"description": "Selecciona un icono de la biblioteca.",
|
||||
"label": "Icono"
|
||||
},
|
||||
"left-click": {
|
||||
"description": "Comando a ejecutar cuando se hace clic izquierdo en el botón.",
|
||||
"label": "Clic izquierdo"
|
||||
"label": "Clic izquierdo",
|
||||
"update-text": "Actualizar el texto mostrado al hacer clic izquierdo"
|
||||
},
|
||||
"max-text-length-horizontal": {
|
||||
"description": "Número máximo de caracteres a mostrar en la barra horizontal (0 para ocultar el texto)",
|
||||
"label": "Longitud máxima de texto (horizontal)"
|
||||
},
|
||||
"max-text-length-vertical": {
|
||||
"description": "Número máximo de caracteres a mostrar en la barra vertical (0 para ocultar el texto)",
|
||||
"label": "Longitud máxima de texto (vertical)"
|
||||
},
|
||||
"middle-click": {
|
||||
"description": "Comando a ejecutar cuando se hace clic medio en el botón.",
|
||||
"label": "Clic medio"
|
||||
"label": "Clic medio",
|
||||
"update-text": "Actualizar el texto mostrado al hacer clic con el botón central"
|
||||
},
|
||||
"parse-json": {
|
||||
"description": "Analizar la salida del comando como un objeto JSON para establecer dinámicamente el texto y el ícono.",
|
||||
@@ -149,11 +155,29 @@
|
||||
},
|
||||
"right-click": {
|
||||
"description": "Comando a ejecutar cuando se hace clic derecho en el botón.",
|
||||
"label": "Clic derecho"
|
||||
"label": "Clic derecho",
|
||||
"update-text": "Actualizar el texto mostrado al hacer clic derecho"
|
||||
},
|
||||
"text-stream": {
|
||||
"description": "Las líneas transmitidas desde el comando se mostrarán como texto en el botón.",
|
||||
"label": "Transmisión"
|
||||
},
|
||||
"wheel": {
|
||||
"description": "Comando a ejecutar cuando se usa la rueda de desplazamiento.\nUsa $delta para el delta de la rueda de desplazamiento en el comando",
|
||||
"label": "Rueda de desplazamiento",
|
||||
"update-text": "Actualizar texto mostrado al desplazarse"
|
||||
},
|
||||
"wheel-down": {
|
||||
"description": "Comando a ejecutar cuando la rueda de desplazamiento se desplaza hacia abajo.",
|
||||
"label": "Comando de rueda hacia abajo"
|
||||
},
|
||||
"wheel-mode-separate": {
|
||||
"description": "Habilitar comandos separados para rueda arriba y abajo",
|
||||
"label": "Comandos de rueda separados"
|
||||
},
|
||||
"wheel-up": {
|
||||
"description": "Comando a ejecutar cuando la rueda de desplazamiento se desplaza hacia arriba.",
|
||||
"label": "Comando de rueda hacia arriba"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
@@ -199,6 +223,10 @@
|
||||
"description": "Mostrar la portada del álbum de la pista que se está reproduciendo actualmente.",
|
||||
"label": "Mostrar arte del álbum"
|
||||
},
|
||||
"show-artist-first": {
|
||||
"description": "Mostrar artista - título en lugar de título - artista.",
|
||||
"label": "Mostrar primero al artista"
|
||||
},
|
||||
"show-visualizer": {
|
||||
"description": "Mostrar un visualizador de audio cuando se reproduce música.",
|
||||
"label": "Mostrar visualizador"
|
||||
@@ -239,6 +267,9 @@
|
||||
}
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "CPU Usage (Critical)"
|
||||
},
|
||||
"cpu-temperature": {
|
||||
"description": "Mostrar lecturas de temperatura de CPU si están disponibles.",
|
||||
"label": "Temperatura de la CPU"
|
||||
@@ -247,6 +278,25 @@
|
||||
"description": "Mostrar el porcentaje actual de uso de CPU.",
|
||||
"label": "Uso de CPU"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "CPU Usage (Warning)"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "Storage Space (Critical)"
|
||||
},
|
||||
"disk-path": {
|
||||
"description": "Seleccione qué punto de montaje de disco desea supervisar.",
|
||||
"label": "Ruta del disco"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "Storage Space (Warning)"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "Memory Usage (Critical)"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "Memory Usage (Warning)"
|
||||
},
|
||||
"memory-percentage": {
|
||||
"description": "Mostrar el uso de memoria como porcentaje en lugar de valores absolutos.",
|
||||
"label": "Memoria como porcentaje"
|
||||
@@ -262,6 +312,16 @@
|
||||
"storage-usage": {
|
||||
"description": "Mostrar información del uso del espacio en disco.",
|
||||
"label": "Uso de almacenamiento"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "CPU Temperature (Critical)"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "CPU Temperature (Warning)"
|
||||
},
|
||||
"thresholds": {
|
||||
"description": "Establece umbrales para alertas de métricas del sistema. Resalta cuando se superan.",
|
||||
"header": "Configuración de Umbrales"
|
||||
}
|
||||
},
|
||||
"taskbar": {
|
||||
@@ -283,13 +343,9 @@
|
||||
}
|
||||
},
|
||||
"taskbar-grouped": {
|
||||
"show-numbers-only-when-occupied": {
|
||||
"description": "Mostrar números de espacio de trabajo solo para espacios de trabajo con ventanas abiertas.",
|
||||
"label": "Mostrar números solo cuando estén ocupados"
|
||||
},
|
||||
"show-workspace-numbers": {
|
||||
"description": "Mostrar números de espacio de trabajo en la esquina superior izquierda de los grupos de tareas.",
|
||||
"label": "Mostrar números de espacio de trabajo"
|
||||
"show-labels-only-when-occupied": {
|
||||
"description": "Mostrar solo la etiqueta del espacio de trabajo para los espacios de trabajo que tienen ventanas abiertas.",
|
||||
"label": "Mostrar etiqueta solo cuando esté ocupado."
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
@@ -332,13 +388,6 @@
|
||||
"health": "Salud: {percent}%",
|
||||
"idle": "Inactivo.",
|
||||
"no-battery-detected": "No se detectó ninguna batería.",
|
||||
"panel": {
|
||||
"balanced": "Equilibrado ({percent}%)",
|
||||
"disabled": "Administrador de batería deshabilitado",
|
||||
"full": "Capacidad total ({percent}%)",
|
||||
"lifespan": "Vida útil prolongada ({percent}%)",
|
||||
"title": "Umbral de carga"
|
||||
},
|
||||
"plugged-in": "Conectado.",
|
||||
"time-left": "Tiempo restante: {time}.",
|
||||
"time-until-full": "Tiempo hasta carga completa: {time}."
|
||||
@@ -367,9 +416,61 @@
|
||||
"loading": "Cargando el clima…"
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"fetch-failed": "No se pudieron cargar los datos del registro de cambios. Inténtalo de nuevo más tarde.",
|
||||
"rate-limit": "Se alcanzó el límite de GitHub. Inténtalo de nuevo en unos minutos."
|
||||
},
|
||||
"panel": {
|
||||
"buttons": {
|
||||
"discord": "Únete a nuestro Discord",
|
||||
"dismiss": "Ok"
|
||||
},
|
||||
"empty": "Las notas de la versión aún no están disponibles.",
|
||||
"highlight-title": "Cambios destacados",
|
||||
"section": {
|
||||
"released": "Publicado el {date}",
|
||||
"version": "Versión {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "Gracias por instalar Noctalia. Esto es lo que incluye esta compilación.",
|
||||
"updated": "Actualizado desde {previousVersion}"
|
||||
},
|
||||
"title": "Novedades en {version}",
|
||||
"version": {
|
||||
"new-user": "Instalación nueva"
|
||||
}
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
"tooltip": "Abrir calendario"
|
||||
},
|
||||
"context-menu": {
|
||||
"activate-app": "Activar {app}",
|
||||
"clear-history": "Borrar historial",
|
||||
"close-app": "Cerrar {app}",
|
||||
"connect-vpn": "Conectarse a {name}",
|
||||
"cycle-visualizer": "Visualizador de ciclos",
|
||||
"disable-bluetooth": "Desactivar Bluetooth",
|
||||
"disable-dnd": "Desactivar No molestar",
|
||||
"disable-wifi": "Desactivar Wi-Fi",
|
||||
"disconnect-vpn": "Desconectar {name}",
|
||||
"enable-bluetooth": "Activar Bluetooth",
|
||||
"enable-dnd": "Activar No molestar",
|
||||
"enable-wifi": "Activar Wi-Fi",
|
||||
"next": "Siguiente",
|
||||
"open-calendar": "Abrir calendario",
|
||||
"open-display-settings": "Configuración de pantalla",
|
||||
"open-launcher": "Abrir lanzador",
|
||||
"open-mixer": "Mezclador de audio",
|
||||
"open-settings": "Abrir ajustes",
|
||||
"pause": "Pausa",
|
||||
"play": "Jugar",
|
||||
"previous": "Anterior",
|
||||
"random-wallpaper": "Fondo de pantalla aleatorio",
|
||||
"toggle-mute": "Activar/desactivar silencio",
|
||||
"widget-settings": "Configuración del widget"
|
||||
},
|
||||
"dock": {
|
||||
"menu": {
|
||||
"close": "Cerrar",
|
||||
@@ -533,6 +634,7 @@
|
||||
},
|
||||
"workspace-labels": {
|
||||
"index": "Índice",
|
||||
"index+name": "Índice y Nombre",
|
||||
"name": "Nombre",
|
||||
"none": "Ninguno"
|
||||
}
|
||||
@@ -548,6 +650,7 @@
|
||||
"search": "Buscar...",
|
||||
"search-icons": "ej., noctalia, niri, battery, cloud",
|
||||
"search-launcher": "Buscar entradas... o usa > para comandos",
|
||||
"search-wallhaven": "Buscar en Wallhaven...",
|
||||
"search-wallpapers": "Escribe para filtrar fondos de pantalla...",
|
||||
"select": "Seleccionar",
|
||||
"test": "Probar"
|
||||
@@ -644,6 +747,7 @@
|
||||
},
|
||||
"session-menu": {
|
||||
"action-in-seconds": "{action} en {seconds} segundos...",
|
||||
"hibernate": "Hibernación",
|
||||
"lock": "Bloquear",
|
||||
"lock-and-suspend": "Bloquear y Suspender",
|
||||
"logout": "Cerrar sesión",
|
||||
@@ -688,6 +792,11 @@
|
||||
"label": "Dispositivos de audio"
|
||||
}
|
||||
},
|
||||
"external-mixer": {
|
||||
"description": "Ingrese el comando o la ruta de la aplicación para ejecutar al activar la función de mezclador de audio externo.",
|
||||
"label": "Comando de mezclador de audio externo",
|
||||
"placeholder": "pwvucontrol || pavucontrol"
|
||||
},
|
||||
"media": {
|
||||
"excluded-player": {
|
||||
"description": "Agrega palabras clave para los reproductores que deseas que el sistema ignore. Cada palabra clave debe estar en una línea nueva.",
|
||||
@@ -762,6 +871,10 @@
|
||||
"description": "Ajusta la opacidad del fondo de la barra.",
|
||||
"label": "Opacidad del fondo"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "Establecer el nivel de opacidad para los fondos de los widgets cuando se muestra la cápsula.",
|
||||
"label": "Opacidad de la cápsula"
|
||||
},
|
||||
"density": {
|
||||
"description": "Ajusta el relleno de la barra para un aspecto compacto o espacioso.",
|
||||
"label": "Densidad de la barra"
|
||||
@@ -854,6 +967,41 @@
|
||||
"label": "Modo oscuro"
|
||||
}
|
||||
},
|
||||
"delete": {
|
||||
"error": {
|
||||
"description": "Error al eliminar {scheme}",
|
||||
"title": "Error al eliminar"
|
||||
},
|
||||
"success": {
|
||||
"description": "{scheme} eliminado correctamente",
|
||||
"title": "Esquema de colores eliminado"
|
||||
}
|
||||
},
|
||||
"download": {
|
||||
"button": "Descargar más",
|
||||
"delete": "Eliminar",
|
||||
"download": "Descargar",
|
||||
"downloading": "Descargando...",
|
||||
"empty": "No hay esquemas de colores disponibles",
|
||||
"error": {
|
||||
"api-error": "Error de API: {status}",
|
||||
"description": "Error al descargar {scheme}",
|
||||
"download-failed": "Error al descargar con código de salida: {code}",
|
||||
"invalid-response": "Formato de respuesta de API inválido",
|
||||
"no-files": "No se encontraron archivos para el esquema",
|
||||
"parse-failed": "Error al analizar la respuesta de la API: {error}",
|
||||
"rate-limit": "Límite de velocidad de la API de GitHub excedido",
|
||||
"title": "Error al descargar"
|
||||
},
|
||||
"fetching": "Obteniendo esquemas de colores disponibles...",
|
||||
"installed": "Instalado",
|
||||
"refresh": "Actualizar",
|
||||
"success": {
|
||||
"description": "{scheme} descargado correctamente",
|
||||
"title": "Esquema de colores descargado"
|
||||
},
|
||||
"title": "Descargar esquemas de colores"
|
||||
},
|
||||
"predefined": {
|
||||
"generate-templates": {
|
||||
"description": "Genera plantillas de Matugen (GTK, temas de terminal, etc.) al usar esquemas de colores predefinidos.",
|
||||
@@ -876,7 +1024,7 @@
|
||||
"programs": {
|
||||
"code": {
|
||||
"description": "Escribe {filepath}. El tema Hyprluna debe ser instalado y activado manualmente.",
|
||||
"description-missing": "Requiere que {app} esté instalado/a."
|
||||
"description-missing": "No se detectó cliente de Code. Instala VSCode o VSCodium."
|
||||
},
|
||||
"description": "Tematización específica de aplicaciones.",
|
||||
"discord": {
|
||||
@@ -896,6 +1044,10 @@
|
||||
"description": "Escribe {filepath}. El tema Comfy debe ser instalado y activado manualmente.",
|
||||
"description-missing": "Requiere que {app} esté instalado/a."
|
||||
},
|
||||
"telegram": {
|
||||
"description": "Escribe {filepath}.",
|
||||
"description-missing": "Requiere que {app} esté instalado/a."
|
||||
},
|
||||
"vicinae": {
|
||||
"description": "Escribir {filepath} y recargar",
|
||||
"description-missing": "Requiere que {app} esté instalado"
|
||||
@@ -1092,6 +1244,10 @@
|
||||
"description": "Ajusta la opacidad del fondo del dock.",
|
||||
"label": "Opacidad del fondo"
|
||||
},
|
||||
"border-radius": {
|
||||
"description": "Ajustar el radio del borde del dock.",
|
||||
"label": "Radio de borde"
|
||||
},
|
||||
"colorize-icons": {
|
||||
"description": "Aplicar colores del tema a los iconos de aplicaciones del dock (solo aplicaciones no enfocadas).",
|
||||
"label": "Colorear iconos"
|
||||
@@ -1243,6 +1399,10 @@
|
||||
"description": "Ajusta la opacidad del fondo del lanzador.",
|
||||
"label": "Opacidad del fondo"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": "Muestra una vista previa del contenido del portapapeles al usar el comando >clip.",
|
||||
"label": "Activar vista previa del portapapeles"
|
||||
},
|
||||
"clipboard-history": {
|
||||
"description": "Accede a los elementos copiados anteriormente desde el lanzador.",
|
||||
"label": "Activar historial del portapapeles"
|
||||
@@ -1331,6 +1491,10 @@
|
||||
"description": "Elige tu unidad de temperatura preferida.",
|
||||
"label": "Clima"
|
||||
},
|
||||
"show-effects": {
|
||||
"description": "Muestra efectos visuales adicionales (como lluvia, nieve o relámpagos) en la tarjeta del clima.",
|
||||
"label": "Mostrar efectos climáticos"
|
||||
},
|
||||
"show-in-calendar": {
|
||||
"description": "Muestra el pronóstico del tiempo diario directamente en la vista de tu calendario.",
|
||||
"label": "Mostrar el clima en el calendario"
|
||||
@@ -1346,6 +1510,10 @@
|
||||
"description": "Bloquear la pantalla automáticamente al suspender el sistema.",
|
||||
"label": "Bloquear al suspender"
|
||||
},
|
||||
"show-hibernate": {
|
||||
"description": "Mostrar la opción 'hibernar' en las acciones de energía.",
|
||||
"label": "Mostrar hibernar"
|
||||
},
|
||||
"title": "Pantalla de bloqueo"
|
||||
},
|
||||
"network": {
|
||||
@@ -1437,6 +1605,10 @@
|
||||
"description": "Mostrar OSD por encima de ventanas de pantalla completa y otras capas.",
|
||||
"label": "Siempre encima"
|
||||
},
|
||||
"background-opacity": {
|
||||
"description": "Controls the transparency of the OSD background.",
|
||||
"label": "Background opacity"
|
||||
},
|
||||
"description": "Configura indicadores superpuestos como volumen y brillo.",
|
||||
"duration": {
|
||||
"auto-hide": {
|
||||
@@ -1529,7 +1701,107 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration": {
|
||||
"description": "Establecer cuánto tiempo dura el temporizador de cuenta regresiva antes de ejecutar acciones de energía.",
|
||||
"label": "Duración de la cuenta regresiva"
|
||||
},
|
||||
"enable-countdown": {
|
||||
"description": "Mostrar un temporizador de cuenta regresiva antes de ejecutar acciones de energía.",
|
||||
"label": "Activar temporizador de cuenta regresiva"
|
||||
},
|
||||
"entries": {
|
||||
"section": {
|
||||
"description": "Personalizar qué acciones de energía aparecen en el Menú de sesión y en qué orden.",
|
||||
"label": "Acciones de energía"
|
||||
}
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Configurar el comportamiento y la apariencia del panel del menú de sesión.",
|
||||
"label": "General"
|
||||
}
|
||||
},
|
||||
"position": {
|
||||
"description": "Elige dónde aparece el panel del Menú de sesión cuando se abre.",
|
||||
"label": "Posición"
|
||||
},
|
||||
"show-header": {
|
||||
"description": "Mostrar el título y el botón de cerrar en la parte superior del Menú de sesión.",
|
||||
"label": "Mostrar encabezado"
|
||||
},
|
||||
"title": "Menú de sesión"
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "Umbral crítico"
|
||||
},
|
||||
"cpu-section": {
|
||||
"label": "Uso de CPU"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "Umbral de advertencia"
|
||||
},
|
||||
"critical-color": {
|
||||
"label": "Color crítico"
|
||||
},
|
||||
"custom-highlight-colors-title": {
|
||||
"label": "Colores de resaltado personalizados"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "Umbral crítico"
|
||||
},
|
||||
"disk-section": {
|
||||
"label": "Uso de disco"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "Umbral de advertencia"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Configurar el comportamiento y la apariencia del Monitor del sistema.",
|
||||
"label": "General"
|
||||
}
|
||||
},
|
||||
"highlight-colors-section": {
|
||||
"label": "Colores de resaltado"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "Umbral crítico"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "Umbral de advertencia"
|
||||
},
|
||||
"memory-section": {
|
||||
"label": "Uso de memoria"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "Umbral crítico"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "Umbral de advertencia"
|
||||
},
|
||||
"temperature-section": {
|
||||
"label": "Temperatura de la CPU"
|
||||
},
|
||||
"thresholds-section": {
|
||||
"description": "Establece umbrales para métricas del sistema; los valores por encima se resaltarán.",
|
||||
"label": "Umbrales"
|
||||
},
|
||||
"title": "Monitor del sistema",
|
||||
"use-custom-highlight-colors": {
|
||||
"description": "Cuando está desactivado, se usan los colores de resaltado predeterminados del tema.",
|
||||
"label": "Usar colores de resaltado personalizados"
|
||||
},
|
||||
"warning-color": {
|
||||
"label": "Color de advertencia"
|
||||
}
|
||||
},
|
||||
"user-interface": {
|
||||
"allow-panels-without-bar": {
|
||||
"description": "Cuando está activado, los paneles se pueden abrir en cualquier pantalla. Cuando está desactivado, los paneles solo se abrirán en las pantallas que tengan una barra, lo que puede reducir el uso de memoria.",
|
||||
"label": "Permitir paneles en pantallas sin barra."
|
||||
},
|
||||
"animation-disable": {
|
||||
"description": "Desactiva todas las animaciones para una experiencia más rápida y con mayor capacidad de respuesta.",
|
||||
"label": "Desactivar animaciones de la interfaz de usuario"
|
||||
@@ -1548,6 +1820,15 @@
|
||||
"description": "Atenuar el escritorio cuando los paneles o menús estén abiertos.",
|
||||
"label": "Dim escritorio"
|
||||
},
|
||||
"dimmer-opacity": {
|
||||
"description": "Define el nivel de opacidad para el atenuado del escritorio.",
|
||||
"label": "Opacidad del escritorio atenuado",
|
||||
"reset": "Restablecer la opacidad del escritorio atenuado"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "Establecer la opacidad de fondo para todos los paneles (Launcher, Centro de control, Configuración, etc.).",
|
||||
"label": "Opacidad de fondo del panel"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
"description": "Los paneles se fijan a la barra y a los bordes de la pantalla, creando una apariencia impecable con elegantes esquinas invertidas.",
|
||||
"label": "Ajustar paneles a los bordes"
|
||||
@@ -1640,6 +1921,10 @@
|
||||
"label": "Carpeta de fondos de pantalla",
|
||||
"tooltip": "Buscar carpeta de fondos de pantalla"
|
||||
},
|
||||
"hide-wallpaper-filenames": {
|
||||
"description": "Oculta los nombres de archivo del fondo de pantalla en el selector.",
|
||||
"label": "Ocultar nombres de archivo"
|
||||
},
|
||||
"monitor-specific": {
|
||||
"description": "Establece una carpeta de fondos de pantalla diferente para cada monitor.",
|
||||
"label": "Directorios específicos por monitor",
|
||||
@@ -1655,6 +1940,11 @@
|
||||
},
|
||||
"select-folder": "Seleccionar carpeta de fondos de pantalla",
|
||||
"select-monitor-folder": "Seleccionar carpeta de fondos de pantalla del monitor",
|
||||
"selector": {
|
||||
"description": "Elige tu fondo de pantalla.",
|
||||
"label": "Selector de fondo de pantalla",
|
||||
"tooltip": "Abrir el selector de fondo de pantalla"
|
||||
},
|
||||
"selector-position": {
|
||||
"description": "Elige dónde aparece el panel selector de fondo de pantalla.",
|
||||
"label": "Posición"
|
||||
@@ -1719,19 +2009,6 @@
|
||||
"low": "Batería baja",
|
||||
"low-desc": "La batería está al {percent}%. Por favor, conecta el cargador."
|
||||
},
|
||||
"battery-manager": {
|
||||
"initial-setup": "Configuración inicial requerida",
|
||||
"install-failed": "Error en la instalación",
|
||||
"install-missing": "Faltan archivos requeridos",
|
||||
"install-success": "Instalado correctamente",
|
||||
"install-unsupported": "El sistema no es compatible",
|
||||
"set-failed": "No se pudo establecer el umbral de batería",
|
||||
"set-success-desc": "Umbral de batería establecido en {percent}%",
|
||||
"title": "Umbral de batería",
|
||||
"uninstall-failed": "Error en la desinstalación",
|
||||
"uninstall-setup": "Desinstalando, se requiere autenticación",
|
||||
"uninstall-success": "Desinstalado correctamente"
|
||||
},
|
||||
"bluetooth": {
|
||||
"disabled": "Desactivado",
|
||||
"enabled": "Activado"
|
||||
@@ -1800,6 +2077,10 @@
|
||||
"title-matugen": "Falló el procesamiento de la plantilla Matugen.",
|
||||
"title-predefined": "Falló el procesamiento del esquema de color predefinido."
|
||||
},
|
||||
"vpn": {
|
||||
"connected": "Conectado a '{name}'",
|
||||
"disconnected": "Desconectado de '{name}'"
|
||||
},
|
||||
"wallpaper-colors": {
|
||||
"disabled": "Colores del fondo de pantalla desactivados",
|
||||
"enabled": "Colores del fondo de pantalla activados",
|
||||
@@ -1833,6 +2114,7 @@
|
||||
"input-muted": "Silenciar entrada de audio",
|
||||
"keep-awake": "Mantener despierto",
|
||||
"keyboard-layout": "Distribución de teclado {layout}",
|
||||
"manage-vpn": "Administrar conexiones VPN",
|
||||
"manage-wifi": "Gestionar Wi-Fi",
|
||||
"microphone-volume-at": "Volumen del micrófono al {volume}%.\nClic izquierdo para ajustes. Clic derecho para activar/desactivar el silencio.\nDesplázate para modificar el volumen.",
|
||||
"move-to-center-section": "Mover a la sección central",
|
||||
@@ -1860,6 +2142,7 @@
|
||||
"previous-month": "Mes anterior",
|
||||
"refresh": "Actualizar",
|
||||
"refresh-devices": "Actualizar dispositivos",
|
||||
"refresh-wallhaven": "Actualizar resultados de Wallhaven",
|
||||
"refresh-wallpaper-list": "Actualizar lista de fondos de pantalla",
|
||||
"remove-widget": "Eliminar widget",
|
||||
"screen-recorder-not-installed": "La grabadora de pantalla no está instalada",
|
||||
@@ -1889,8 +2172,51 @@
|
||||
"description": "Aplica el fondo de pantalla seleccionado a todos los monitores a la vez.",
|
||||
"label": "Aplicar a todos los monitores"
|
||||
},
|
||||
"categories": {
|
||||
"anime": "Anime",
|
||||
"general": "General",
|
||||
"label": "Categorías",
|
||||
"people": "Personas"
|
||||
},
|
||||
"order": {
|
||||
"asc": "Ascendente",
|
||||
"desc": "Descendente",
|
||||
"label": "Orden"
|
||||
},
|
||||
"purity": {
|
||||
"all": "Todo",
|
||||
"label": "Filtro de contenido",
|
||||
"sfw": "SFW",
|
||||
"sketchy": "Sketchy"
|
||||
},
|
||||
"resolution": {
|
||||
"atleast": "Al menos",
|
||||
"exact": "Exacto",
|
||||
"label": "Resolución",
|
||||
"mode": {
|
||||
"label": "Modo"
|
||||
}
|
||||
},
|
||||
"search": "Buscar:",
|
||||
"title": "Selector de fondo de pantalla"
|
||||
"sorting": {
|
||||
"date_added": "Fecha de adición",
|
||||
"favorites": "Favoritos",
|
||||
"label": "Ordenar por",
|
||||
"random": "Aleatorio",
|
||||
"relevance": "Relevancia",
|
||||
"toplist": "Lista superior",
|
||||
"views": "Visualizaciones"
|
||||
},
|
||||
"source": {
|
||||
"label": "Fuente",
|
||||
"local": "Local",
|
||||
"wallhaven": "Wallhaven"
|
||||
},
|
||||
"title": "Selector de fondo de pantalla",
|
||||
"wallhaven-settings": {
|
||||
"apply": "Aplicar",
|
||||
"title": "Configuración de Wallhaven"
|
||||
}
|
||||
},
|
||||
"transitions": {
|
||||
"disc": "Disco",
|
||||
@@ -1900,7 +2226,13 @@
|
||||
"stripes": "Rayas",
|
||||
"wipe": "Barrido"
|
||||
},
|
||||
"try-different-search": "Intenta con una búsqueda diferente."
|
||||
"try-different-search": "Intenta con una búsqueda diferente.",
|
||||
"unknown": "Desconocido",
|
||||
"wallhaven": {
|
||||
"loading": "Cargando fondos de pantalla...",
|
||||
"no-results": "No se encontraron fondos de pantalla. Intenta con una búsqueda diferente.",
|
||||
"page": "{current} de {total}"
|
||||
}
|
||||
},
|
||||
"weather": {
|
||||
"clear-sky": "Cielo despejado",
|
||||
@@ -2009,6 +2341,7 @@
|
||||
},
|
||||
"wifi": {
|
||||
"panel": {
|
||||
"available-networks": "Redes disponibles",
|
||||
"connect": "Conectar",
|
||||
"connected": "Conectado",
|
||||
"disabled": "Wi-Fi está desactivado",
|
||||
@@ -2019,6 +2352,7 @@
|
||||
"forget": "Olvidar",
|
||||
"forget-network": "¿Olvidar esta red?",
|
||||
"forgetting": "Olvidando...",
|
||||
"known-networks": "Redes conocidas",
|
||||
"no-networks": "No se encontraron redes",
|
||||
"password": "Contraseña",
|
||||
"saved": "Guardado",
|
||||
|
||||
@@ -123,21 +123,27 @@
|
||||
"stream-description": "Entrez une commande à exécuter en continu."
|
||||
},
|
||||
"dynamic-text": "Texte dynamique",
|
||||
"hide-vertical": {
|
||||
"description": "Si activé, le texte de la sortie de la commande ne sera pas affiché lorsque la barre est en disposition verticale (gauche ou droite).",
|
||||
"label": "Masquer le texte dans la barre verticale"
|
||||
},
|
||||
"icon": {
|
||||
"description": "Sélectionnez une icône dans la bibliothèque.",
|
||||
"label": "Icône"
|
||||
},
|
||||
"left-click": {
|
||||
"description": "Commande à exécuter quand le bouton est cliqué à gauche.",
|
||||
"label": "Clic gauche"
|
||||
"label": "Clic gauche",
|
||||
"update-text": "Mettre à jour le texte affiché au clic gauche."
|
||||
},
|
||||
"max-text-length-horizontal": {
|
||||
"description": "Nombre maximal de caractères à afficher dans la barre horizontale (0 pour masquer le texte)",
|
||||
"label": "Longueur max du texte (horizontal)"
|
||||
},
|
||||
"max-text-length-vertical": {
|
||||
"description": "Nombre maximal de caractères à afficher dans la barre verticale (0 pour masquer le texte)",
|
||||
"label": "Longueur max du texte (vertical)"
|
||||
},
|
||||
"middle-click": {
|
||||
"description": "Commande à exécuter quand le bouton est cliqué au milieu.",
|
||||
"label": "Clic milieu"
|
||||
"label": "Clic milieu",
|
||||
"update-text": "Mettre à jour le texte affiché lors d'un clic molette."
|
||||
},
|
||||
"parse-json": {
|
||||
"description": "Analyser la sortie de la commande en tant qu'objet JSON pour définir dynamiquement le texte et l'icône.",
|
||||
@@ -149,11 +155,29 @@
|
||||
},
|
||||
"right-click": {
|
||||
"description": "Commande à exécuter quand le bouton est cliqué à droite.",
|
||||
"label": "Clic droit"
|
||||
"label": "Clic droit",
|
||||
"update-text": "Mettre à jour le texte affiché lors d'un clic droit."
|
||||
},
|
||||
"text-stream": {
|
||||
"description": "Les lignes diffusées depuis la commande seront affichées sous forme de texte sur le bouton.",
|
||||
"label": "Flux"
|
||||
},
|
||||
"wheel": {
|
||||
"description": "Commande à exécuter lorsque la molette est utilisée.\nUtilisez $delta pour le delta de la molette dans la commande",
|
||||
"label": "Molette",
|
||||
"update-text": "Mettre à jour le texte affiché au défilement"
|
||||
},
|
||||
"wheel-down": {
|
||||
"description": "Commande à exécuter lorsque la molette est défilée vers le bas.",
|
||||
"label": "Commande molette bas"
|
||||
},
|
||||
"wheel-mode-separate": {
|
||||
"description": "Activer des commandes séparées pour la molette haut et bas",
|
||||
"label": "Commandes de molette séparées"
|
||||
},
|
||||
"wheel-up": {
|
||||
"description": "Commande à exécuter lorsque la molette est défilée vers le haut.",
|
||||
"label": "Commande molette haut"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
@@ -199,6 +223,10 @@
|
||||
"description": "Afficher la pochette d'album de la piste en cours de lecture.",
|
||||
"label": "Afficher la pochette d'album"
|
||||
},
|
||||
"show-artist-first": {
|
||||
"description": "Afficher artiste - titre au lieu de titre - artiste.",
|
||||
"label": "Afficher l'artiste en premier"
|
||||
},
|
||||
"show-visualizer": {
|
||||
"description": "Afficher un visualiseur audio quand la musique est en cours de lecture.",
|
||||
"label": "Afficher le visualiseur"
|
||||
@@ -239,6 +267,9 @@
|
||||
}
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "CPU Usage (Critical)"
|
||||
},
|
||||
"cpu-temperature": {
|
||||
"description": "Afficher les lectures de température du CPU si disponibles.",
|
||||
"label": "Température du CPU"
|
||||
@@ -247,6 +278,25 @@
|
||||
"description": "Afficher le pourcentage d'utilisation actuel du CPU.",
|
||||
"label": "Utilisation du CPU"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "CPU Usage (Warning)"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "Storage Space (Critical)"
|
||||
},
|
||||
"disk-path": {
|
||||
"description": "Sélectionnez le point de montage du disque à surveiller.",
|
||||
"label": "Chemin du disque"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "Storage Space (Warning)"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "Memory Usage (Critical)"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "Memory Usage (Warning)"
|
||||
},
|
||||
"memory-percentage": {
|
||||
"description": "Afficher l'utilisation de la mémoire en pourcentage au lieu de valeurs absolues.",
|
||||
"label": "Mémoire en pourcentage"
|
||||
@@ -262,6 +312,16 @@
|
||||
"storage-usage": {
|
||||
"description": "Afficher les informations d'utilisation de l'espace disque.",
|
||||
"label": "Utilisation du stockage"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "CPU Temperature (Critical)"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "CPU Temperature (Warning)"
|
||||
},
|
||||
"thresholds": {
|
||||
"description": "Configurez les seuils des indicateurs visuels. Les indicateurs d'avertissement/critique apparaissent en couleurs mises en surbrillance lorsque les valeurs dépassent ces limites.",
|
||||
"header": "Seuils"
|
||||
}
|
||||
},
|
||||
"taskbar": {
|
||||
@@ -283,13 +343,9 @@
|
||||
}
|
||||
},
|
||||
"taskbar-grouped": {
|
||||
"show-numbers-only-when-occupied": {
|
||||
"description": "Afficher les numéros d'espace de travail uniquement pour les espaces de travail avec des fenêtres ouvertes.",
|
||||
"label": "Afficher les numéros seulement lorsqu'occupés"
|
||||
},
|
||||
"show-workspace-numbers": {
|
||||
"description": "Afficher les numéros d'espace de travail dans le coin supérieur gauche des groupes de tâches.",
|
||||
"label": "Afficher les numéros d'espace de travail"
|
||||
"show-labels-only-when-occupied": {
|
||||
"description": "Afficher uniquement l'étiquette de l'espace de travail pour les espaces de travail qui ont des fenêtres ouvertes.",
|
||||
"label": "Afficher l'étiquette uniquement lorsque c'est occupé."
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
@@ -332,13 +388,6 @@
|
||||
"health": "État : {percent}%",
|
||||
"idle": "Inactif.",
|
||||
"no-battery-detected": "Aucune batterie détectée.",
|
||||
"panel": {
|
||||
"balanced": "Équilibré ({percent}%)",
|
||||
"disabled": "Gestionnaire de batterie désactivé",
|
||||
"full": "Capacité totale ({percent}%)",
|
||||
"lifespan": "Durée de vie prolongée ({percent}%)",
|
||||
"title": "Seuil de charge"
|
||||
},
|
||||
"plugged-in": "Branché.",
|
||||
"time-left": "Temps restant : {time}.",
|
||||
"time-until-full": "Temps jusqu'à charge complète : {time}."
|
||||
@@ -367,9 +416,61 @@
|
||||
"loading": "Chargement de la météo…"
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"fetch-failed": "Impossible de charger les données du journal des modifications. Veuillez réessayer plus tard.",
|
||||
"rate-limit": "Limite de GitHub atteinte. Réessayez dans quelques minutes."
|
||||
},
|
||||
"panel": {
|
||||
"buttons": {
|
||||
"discord": "Rejoindre notre Discord",
|
||||
"dismiss": "Ok"
|
||||
},
|
||||
"empty": "Les notes de version ne sont pas encore disponibles.",
|
||||
"highlight-title": "Points importants",
|
||||
"section": {
|
||||
"released": "Publié le {date}",
|
||||
"version": "Version {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "Merci d’avoir installé Noctalia ! Voici ce que contient cette version.",
|
||||
"updated": "Mise à jour depuis {previousVersion}"
|
||||
},
|
||||
"title": "Quoi de neuf dans {version}",
|
||||
"version": {
|
||||
"new-user": "Nouvelle installation"
|
||||
}
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
"tooltip": "Ouvrir le calendrier"
|
||||
},
|
||||
"context-menu": {
|
||||
"activate-app": "Activer {app}",
|
||||
"clear-history": "Effacer l'historique",
|
||||
"close-app": "Fermer {app}",
|
||||
"connect-vpn": "Se connecter à {name}",
|
||||
"cycle-visualizer": "Visualiseur de cycle",
|
||||
"disable-bluetooth": "Désactiver le Bluetooth",
|
||||
"disable-dnd": "Désactiver le mode Ne pas déranger",
|
||||
"disable-wifi": "Désactiver le Wi-Fi",
|
||||
"disconnect-vpn": "Se déconnecter de {name}",
|
||||
"enable-bluetooth": "Activer le Bluetooth",
|
||||
"enable-dnd": "Activer le mode Ne pas déranger",
|
||||
"enable-wifi": "Activer le Wi-Fi",
|
||||
"next": "Suivant",
|
||||
"open-calendar": "Ouvrir le calendrier",
|
||||
"open-display-settings": "Paramètres d'affichage",
|
||||
"open-launcher": "Ouvrir le lanceur",
|
||||
"open-mixer": "Table de mixage audio",
|
||||
"open-settings": "Ouvrir les paramètres",
|
||||
"pause": "Pause",
|
||||
"play": "Jouer",
|
||||
"previous": "Précédent",
|
||||
"random-wallpaper": "Fond d'écran aléatoire",
|
||||
"toggle-mute": "Activer/désactiver le mode muet",
|
||||
"widget-settings": "Paramètres du widget"
|
||||
},
|
||||
"dock": {
|
||||
"menu": {
|
||||
"close": "Fermer",
|
||||
@@ -533,6 +634,7 @@
|
||||
},
|
||||
"workspace-labels": {
|
||||
"index": "Index",
|
||||
"index+name": "Index et Nom",
|
||||
"name": "Nom",
|
||||
"none": "Aucun"
|
||||
}
|
||||
@@ -548,6 +650,7 @@
|
||||
"search": "Rechercher...",
|
||||
"search-icons": "ex: noctalia, niri, batterie, nuage",
|
||||
"search-launcher": "Rechercher des entrées... ou utilisez > pour les commandes",
|
||||
"search-wallhaven": "Rechercher sur Wallhaven...",
|
||||
"search-wallpapers": "Tapez pour filtrer les fonds d'écran...",
|
||||
"select": "Sélectionner",
|
||||
"test": "Tester"
|
||||
@@ -644,6 +747,7 @@
|
||||
},
|
||||
"session-menu": {
|
||||
"action-in-seconds": "{action} dans {seconds} secondes...",
|
||||
"hibernate": "Mise en veille prolongée",
|
||||
"lock": "Verrouiller",
|
||||
"lock-and-suspend": "Verrouiller et Mettre en veille",
|
||||
"logout": "Déconnexion",
|
||||
@@ -688,6 +792,11 @@
|
||||
"label": "Périphériques audio"
|
||||
}
|
||||
},
|
||||
"external-mixer": {
|
||||
"description": "Entrez la commande ou le chemin d'accès de l'application à lancer lors de l'activation de la fonctionnalité de mixeur audio externe.",
|
||||
"label": "Commande de mixeur audio externe",
|
||||
"placeholder": "pwvucontrol || pavucontrol"
|
||||
},
|
||||
"media": {
|
||||
"excluded-player": {
|
||||
"description": "Ajoutez des mots-clés pour les lecteurs que le système doit ignorer. Chaque mot-clé doit être sur une nouvelle ligne.",
|
||||
@@ -762,6 +871,10 @@
|
||||
"description": "Ajustez l'opacité de l'arrière-plan de la barre.",
|
||||
"label": "Opacité de l'arrière-plan"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "Définir le niveau d'opacité des arrière-plans des widgets quand la capsule est affichée.",
|
||||
"label": "Opacité de la capsule"
|
||||
},
|
||||
"density": {
|
||||
"description": "Ajustez le remplissage de la barre pour un aspect compact ou spacieux.",
|
||||
"label": "Densité de la barre"
|
||||
@@ -854,6 +967,41 @@
|
||||
"label": "Mode sombre"
|
||||
}
|
||||
},
|
||||
"delete": {
|
||||
"error": {
|
||||
"description": "Échec de la suppression de {scheme}",
|
||||
"title": "Échec de la suppression"
|
||||
},
|
||||
"success": {
|
||||
"description": "{scheme} supprimé avec succès",
|
||||
"title": "Jeu de couleurs supprimé"
|
||||
}
|
||||
},
|
||||
"download": {
|
||||
"button": "Télécharger plus",
|
||||
"delete": "Supprimer",
|
||||
"download": "Télécharger",
|
||||
"downloading": "Téléchargement...",
|
||||
"empty": "Aucun jeu de couleurs disponible",
|
||||
"error": {
|
||||
"api-error": "Erreur API: {status}",
|
||||
"description": "Échec du téléchargement de {scheme}",
|
||||
"download-failed": "Échec du téléchargement avec le code de sortie: {code}",
|
||||
"invalid-response": "Format de réponse API invalide",
|
||||
"no-files": "Aucun fichier trouvé pour le jeu de couleurs",
|
||||
"parse-failed": "Échec de l'analyse de la réponse API: {error}",
|
||||
"rate-limit": "Limite de débit de l'API GitHub dépassée",
|
||||
"title": "Échec du téléchargement"
|
||||
},
|
||||
"fetching": "Récupération des jeux de couleurs disponibles...",
|
||||
"installed": "Installé",
|
||||
"refresh": "Actualiser",
|
||||
"success": {
|
||||
"description": "{scheme} téléchargé avec succès",
|
||||
"title": "Jeu de couleurs téléchargé"
|
||||
},
|
||||
"title": "Télécharger des jeux de couleurs"
|
||||
},
|
||||
"predefined": {
|
||||
"generate-templates": {
|
||||
"description": "Génère des modèles Matugen (GTK, thèmes de terminal, etc.) lors de l'utilisation de schémas de couleurs prédéfinis.",
|
||||
@@ -876,7 +1024,7 @@
|
||||
"programs": {
|
||||
"code": {
|
||||
"description": "Écrire {filepath}. Le thème Hyprluna doit être installé et activé manuellement.",
|
||||
"description-missing": "Nécessite l'installation de {app}"
|
||||
"description-missing": "Aucun client Code détecté. Installez VSCode ou VSCodium."
|
||||
},
|
||||
"description": "Thématisation spécifique aux applications.",
|
||||
"discord": {
|
||||
@@ -896,6 +1044,10 @@
|
||||
"description": "Écrire {filepath}. Le thème Comfy doit être installé et activé manuellement.",
|
||||
"description-missing": "Nécessite l'installation de {app}"
|
||||
},
|
||||
"telegram": {
|
||||
"description": "Écrire {filepath}.",
|
||||
"description-missing": "Nécessite l'installation de {app}"
|
||||
},
|
||||
"vicinae": {
|
||||
"description": "Écrire {filepath} et recharger",
|
||||
"description-missing": "Nécessite que le lanceur {app} soit installé"
|
||||
@@ -1092,6 +1244,10 @@
|
||||
"description": "Ajustez l'opacité de l'arrière-plan du dock.",
|
||||
"label": "Opacité de l'arrière-plan"
|
||||
},
|
||||
"border-radius": {
|
||||
"description": "Ajuster le rayon de bordure du dock.",
|
||||
"label": "Rayon de bordure"
|
||||
},
|
||||
"colorize-icons": {
|
||||
"description": "Appliquer les couleurs du thème aux icônes d'applications du dock (applications non focalisées uniquement).",
|
||||
"label": "Coloriser les icônes"
|
||||
@@ -1243,6 +1399,10 @@
|
||||
"description": "Ajustez l'opacité de l'arrière-plan du lanceur.",
|
||||
"label": "Opacité de l'arrière-plan"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": "Afficher un aperçu du contenu du presse-papiers lors de l'utilisation de la commande >clip.",
|
||||
"label": "Activer l'aperçu du presse-papiers"
|
||||
},
|
||||
"clipboard-history": {
|
||||
"description": "Accédez aux éléments précédemment copiés depuis le lanceur.",
|
||||
"label": "Activer l'historique du presse-papiers"
|
||||
@@ -1331,6 +1491,10 @@
|
||||
"description": "Choisissez votre unité de température préférée.",
|
||||
"label": "Météo"
|
||||
},
|
||||
"show-effects": {
|
||||
"description": "Affiche des effets visuels supplémentaires (comme la pluie, la neige ou la foudre) sur la carte météo.",
|
||||
"label": "Afficher les effets météorologiques"
|
||||
},
|
||||
"show-in-calendar": {
|
||||
"description": "Afficher les prévisions météo quotidiennes directement dans votre vue calendrier.",
|
||||
"label": "Afficher la météo dans le calendrier"
|
||||
@@ -1346,6 +1510,10 @@
|
||||
"description": "Verrouiller automatiquement l'écran lors de la mise en veille du système.",
|
||||
"label": "Verrouiller à la suspension"
|
||||
},
|
||||
"show-hibernate": {
|
||||
"description": "Afficher l’option 'hiberner' dans les actions d’énergie.",
|
||||
"label": "Afficher l’hibernation"
|
||||
},
|
||||
"title": "Écran de verrouillage"
|
||||
},
|
||||
"network": {
|
||||
@@ -1437,6 +1605,10 @@
|
||||
"description": "Afficher l'OSD au-dessus des fenêtres plein écran et autres couches.",
|
||||
"label": "Toujours au premier plan"
|
||||
},
|
||||
"background-opacity": {
|
||||
"description": "Contrôle la transparence de l'arrière-plan de l'OSD.",
|
||||
"label": "Opacité de l'arrière-plan"
|
||||
},
|
||||
"description": "Configurer les indicateurs à l'écran tels que le volume et la luminosité.",
|
||||
"duration": {
|
||||
"auto-hide": {
|
||||
@@ -1529,7 +1701,107 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration": {
|
||||
"description": "Définir la durée du compte à rebours avant d'exécuter les actions d'alimentation.",
|
||||
"label": "Durée du compte à rebours"
|
||||
},
|
||||
"enable-countdown": {
|
||||
"description": "Afficher un compte à rebours avant d'exécuter les actions d'alimentation.",
|
||||
"label": "Activer le compte à rebours"
|
||||
},
|
||||
"entries": {
|
||||
"section": {
|
||||
"description": "Personnaliser les actions d'alimentation qui apparaissent dans le Menu de session et leur ordre.",
|
||||
"label": "Actions d'alimentation"
|
||||
}
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Configurer le comportement et l'apparence du panneau du menu de session.",
|
||||
"label": "Général"
|
||||
}
|
||||
},
|
||||
"position": {
|
||||
"description": "Choisissez où le panneau du Menu de session apparaît lorsqu'il est ouvert.",
|
||||
"label": "Position"
|
||||
},
|
||||
"show-header": {
|
||||
"description": "Afficher le titre et le bouton de fermeture en haut du Menu de session.",
|
||||
"label": "Afficher l'en-tête"
|
||||
},
|
||||
"title": "Menu de session"
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "Seuil critique"
|
||||
},
|
||||
"cpu-section": {
|
||||
"label": "Utilisation CPU"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "Seuil d'avertissement"
|
||||
},
|
||||
"critical-color": {
|
||||
"label": "Couleur critique"
|
||||
},
|
||||
"custom-highlight-colors-title": {
|
||||
"label": "Couleurs de surbrillance personnalisées"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "Seuil critique"
|
||||
},
|
||||
"disk-section": {
|
||||
"label": "Utilisation disque"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "Seuil d'avertissement"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Configurer le comportement et l'apparence du Moniteur Système.",
|
||||
"label": "Général"
|
||||
}
|
||||
},
|
||||
"highlight-colors-section": {
|
||||
"label": "Couleurs de surlignage"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "Seuil critique"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "Seuil d'avertissement"
|
||||
},
|
||||
"memory-section": {
|
||||
"label": "Utilisation mémoire"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "Seuil critique"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "Seuil d'avertissement"
|
||||
},
|
||||
"temperature-section": {
|
||||
"label": "Température CPU"
|
||||
},
|
||||
"thresholds-section": {
|
||||
"description": "Définir des seuils pour les métriques système ; les valeurs supérieures à ces seuils seront mises en évidence.",
|
||||
"label": "Seuils"
|
||||
},
|
||||
"title": "Moniteur système",
|
||||
"use-custom-highlight-colors": {
|
||||
"description": "Lorsque cette option est désactivée, les couleurs de surbrillance par défaut du thème sont utilisées.",
|
||||
"label": "Utiliser des couleurs de surlignage personnalisées."
|
||||
},
|
||||
"warning-color": {
|
||||
"label": "Couleur d'avertissement"
|
||||
}
|
||||
},
|
||||
"user-interface": {
|
||||
"allow-panels-without-bar": {
|
||||
"description": "Quand cette option est activée, les panneaux peuvent s'ouvrir sur n'importe quel écran. Quand elle est désactivée, les panneaux s'ouvriront uniquement sur les écrans qui ont une barre, ce qui peut réduire l'utilisation de la mémoire.",
|
||||
"label": "Autoriser les panneaux sur les écrans sans barre."
|
||||
},
|
||||
"animation-disable": {
|
||||
"description": "Désactiver toutes les animations pour une expérience plus rapide et plus réactive.",
|
||||
"label": "Désactiver les animations de l'interface utilisateur"
|
||||
@@ -1548,6 +1820,15 @@
|
||||
"description": "Atténuer le bureau lorsque des panneaux ou des menus sont ouverts.",
|
||||
"label": "Dim bureau"
|
||||
},
|
||||
"dimmer-opacity": {
|
||||
"description": "Définir le niveau d'opacité pour l'assombrissement du bureau.",
|
||||
"label": "Opacité du bureau atténué",
|
||||
"reset": "Réinitialiser l'opacité du bureau atténué"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "Définir l'opacité de fond pour tous les panneaux (Lanceur, Centre de contrôle, Paramètres, etc.).",
|
||||
"label": "Opacité de fond des panneaux"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
"description": "Les panneaux se verrouillent sur la barre et les bords de l'écran, créant un aspect homogène avec d'élégants coins inversés.",
|
||||
"label": "Aligner les panneaux aux bords"
|
||||
@@ -1640,6 +1921,10 @@
|
||||
"label": "Dossier des fonds d'écran",
|
||||
"tooltip": "Parcourir le dossier des fonds d'écran"
|
||||
},
|
||||
"hide-wallpaper-filenames": {
|
||||
"description": "Masquer les noms de fichiers des fonds d'écran dans le sélecteur.",
|
||||
"label": "Masquer les noms de fichiers"
|
||||
},
|
||||
"monitor-specific": {
|
||||
"description": "Définissez un dossier de fond d'écran différent pour chaque moniteur.",
|
||||
"label": "Dossiers spécifiques au moniteur",
|
||||
@@ -1655,6 +1940,11 @@
|
||||
},
|
||||
"select-folder": "Sélectionner le dossier des fonds d'écran",
|
||||
"select-monitor-folder": "Sélectionner le dossier des fonds d'écran du moniteur",
|
||||
"selector": {
|
||||
"description": "Choisissez votre fond d’écran.",
|
||||
"label": "Sélecteur de fond d’écran",
|
||||
"tooltip": "Ouvrir le sélecteur de fond d’écran"
|
||||
},
|
||||
"selector-position": {
|
||||
"description": "Choisissez l'emplacement d'affichage du panneau de sélection du fond d'écran.",
|
||||
"label": "Position"
|
||||
@@ -1719,19 +2009,6 @@
|
||||
"low": "Batterie faible",
|
||||
"low-desc": "La batterie est à {percent}%. Veuillez brancher le chargeur."
|
||||
},
|
||||
"battery-manager": {
|
||||
"initial-setup": "Configuration initiale requise",
|
||||
"install-failed": "Échec de l'installation",
|
||||
"install-missing": "Fichiers requis manquants",
|
||||
"install-success": "Installation réussie",
|
||||
"install-unsupported": "Système non pris en charge",
|
||||
"set-failed": "Échec de la définition du seuil de batterie",
|
||||
"set-success-desc": "Seuil de batterie défini à {percent}%",
|
||||
"title": "Seuil de batterie",
|
||||
"uninstall-failed": "Échec de la désinstallation",
|
||||
"uninstall-setup": "Désinstallation, authentification requise",
|
||||
"uninstall-success": "Désinstallation réussie"
|
||||
},
|
||||
"bluetooth": {
|
||||
"disabled": "Désactivé",
|
||||
"enabled": "Activé"
|
||||
@@ -1800,6 +2077,10 @@
|
||||
"title-matugen": "Le traitement du modèle Matugen a échoué.",
|
||||
"title-predefined": "Le traitement du schéma de couleurs prédéfini a échoué."
|
||||
},
|
||||
"vpn": {
|
||||
"connected": "Connecté à '{name}'",
|
||||
"disconnected": "Déconnecté de '{name}'"
|
||||
},
|
||||
"wallpaper-colors": {
|
||||
"disabled": "Couleurs du fond d'écran désactivées",
|
||||
"enabled": "Couleurs du fond d'écran activées",
|
||||
@@ -1833,6 +2114,7 @@
|
||||
"input-muted": "Couper l'entrée audio",
|
||||
"keep-awake": "Rester éveillé",
|
||||
"keyboard-layout": "Disposition du clavier {layout}",
|
||||
"manage-vpn": "Gérer les connexions VPN",
|
||||
"manage-wifi": "Gérer le Wi-Fi",
|
||||
"microphone-volume-at": "Volume du microphone à {volume}%.\nClic gauche pour les paramètres. Clic droit pour activer/désactiver le mode muet.\nFaites défiler pour modifier le volume.",
|
||||
"move-to-center-section": "Déplacer vers la section centrale",
|
||||
@@ -1860,6 +2142,7 @@
|
||||
"previous-month": "Mois précédent",
|
||||
"refresh": "Actualiser",
|
||||
"refresh-devices": "Actualiser les appareils",
|
||||
"refresh-wallhaven": "Actualiser les résultats de Wallhaven",
|
||||
"refresh-wallpaper-list": "Actualiser la liste des fonds d'écran",
|
||||
"remove-widget": "Supprimer le widget",
|
||||
"screen-recorder-not-installed": "L'enregistreur d'écran n'est pas installé",
|
||||
@@ -1889,8 +2172,51 @@
|
||||
"description": "Appliquer le fond d'écran sélectionné à tous les moniteurs en même temps.",
|
||||
"label": "Appliquer à tous les moniteurs"
|
||||
},
|
||||
"categories": {
|
||||
"anime": "Anime",
|
||||
"general": "Général",
|
||||
"label": "Catégories",
|
||||
"people": "Personnes"
|
||||
},
|
||||
"order": {
|
||||
"asc": "Croissant",
|
||||
"desc": "Décroissant",
|
||||
"label": "Ordre"
|
||||
},
|
||||
"purity": {
|
||||
"all": "Tout",
|
||||
"label": "Filtre de contenu",
|
||||
"sfw": "SFW",
|
||||
"sketchy": "Sketchy"
|
||||
},
|
||||
"resolution": {
|
||||
"atleast": "Au moins",
|
||||
"exact": "Exact",
|
||||
"label": "Résolution",
|
||||
"mode": {
|
||||
"label": "Mode"
|
||||
}
|
||||
},
|
||||
"search": "Rechercher :",
|
||||
"title": "Sélecteur de fond d'écran"
|
||||
"sorting": {
|
||||
"date_added": "Date d'ajout",
|
||||
"favorites": "Favoris",
|
||||
"label": "Trier par",
|
||||
"random": "Aléatoire",
|
||||
"relevance": "Pertinence",
|
||||
"toplist": "Top liste",
|
||||
"views": "Vues"
|
||||
},
|
||||
"source": {
|
||||
"label": "Source",
|
||||
"local": "Local",
|
||||
"wallhaven": "Wallhaven"
|
||||
},
|
||||
"title": "Sélecteur de fond d'écran",
|
||||
"wallhaven-settings": {
|
||||
"apply": "Appliquer",
|
||||
"title": "Paramètres Wallhaven"
|
||||
}
|
||||
},
|
||||
"transitions": {
|
||||
"disc": "Disque",
|
||||
@@ -1900,7 +2226,13 @@
|
||||
"stripes": "Rayures",
|
||||
"wipe": "Balayage"
|
||||
},
|
||||
"try-different-search": "Essayez une autre requête de recherche."
|
||||
"try-different-search": "Essayez une autre requête de recherche.",
|
||||
"unknown": "Inconnu(e)",
|
||||
"wallhaven": {
|
||||
"loading": "Chargement des fonds d'écran...",
|
||||
"no-results": "Aucun fond d'écran trouvé. Essayez une autre requête de recherche.",
|
||||
"page": "{current} sur {total}"
|
||||
}
|
||||
},
|
||||
"weather": {
|
||||
"clear-sky": "Ciel dégagé",
|
||||
@@ -2009,6 +2341,7 @@
|
||||
},
|
||||
"wifi": {
|
||||
"panel": {
|
||||
"available-networks": "Réseaux disponibles",
|
||||
"connect": "Connecter",
|
||||
"connected": "Connecté",
|
||||
"disabled": "Le Wi-Fi est désactivé",
|
||||
@@ -2019,6 +2352,7 @@
|
||||
"forget": "Oublier",
|
||||
"forget-network": "Oublier ce réseau ?",
|
||||
"forgetting": "Oubli en cours...",
|
||||
"known-networks": "Réseaux connus",
|
||||
"no-networks": "Aucun réseau trouvé",
|
||||
"password": "Mot de passe",
|
||||
"saved": "Enregistré",
|
||||
|
||||
@@ -123,21 +123,27 @@
|
||||
"stream-description": "Voer een commando in dat continu wordt uitgevoerd."
|
||||
},
|
||||
"dynamic-text": "Dynamische tekst",
|
||||
"hide-vertical": {
|
||||
"description": "Indien ingeschakeld wordt de tekst uit de commando-uitvoer niet getoond wanneer de balk verticaal is (links of rechts).",
|
||||
"label": "Tekst verbergen in verticale balk"
|
||||
},
|
||||
"icon": {
|
||||
"description": "Selecteer een pictogram uit de bibliotheek.",
|
||||
"label": "Pictogram"
|
||||
},
|
||||
"left-click": {
|
||||
"description": "Commando dat wordt uitgevoerd wanneer met de linkermuisknop op de knop wordt geklikt.",
|
||||
"label": "Linkermuisklik"
|
||||
"label": "Linkermuisklik",
|
||||
"update-text": "Tekst bijwerken bij linksklik"
|
||||
},
|
||||
"max-text-length-horizontal": {
|
||||
"description": "Maximaal aantal tekens dat moet worden weergegeven in horizontale balk (0 om tekst te verbergen)",
|
||||
"label": "Max. tekstlengte (horizontaal)"
|
||||
},
|
||||
"max-text-length-vertical": {
|
||||
"description": "Maximaal aantal tekens dat moet worden weergegeven in verticale balk (0 om tekst te verbergen)",
|
||||
"label": "Max. tekstlengte (verticaal)"
|
||||
},
|
||||
"middle-click": {
|
||||
"description": "Commando dat wordt uitgevoerd wanneer met de middelste muisknop op de knop wordt geklikt.",
|
||||
"label": "Middelste muisklik"
|
||||
"label": "Middelste muisklik",
|
||||
"update-text": "Tekst bijwerken bij middelste muisklik"
|
||||
},
|
||||
"parse-json": {
|
||||
"description": "Interpreteer de commando-uitvoer als JSON-object om tekst en pictogram dynamisch in te stellen.",
|
||||
@@ -149,11 +155,29 @@
|
||||
},
|
||||
"right-click": {
|
||||
"description": "Commando dat wordt uitgevoerd wanneer met de rechtermuisknop op de knop wordt geklikt.",
|
||||
"label": "Rechtermuisklik"
|
||||
"label": "Rechtermuisklik",
|
||||
"update-text": "Tekst bijwerken die wordt weergegeven bij rechtsklikken"
|
||||
},
|
||||
"text-stream": {
|
||||
"description": "Gestreamde regels uit het commando worden als tekst op de knop weergegeven.",
|
||||
"label": "Stream"
|
||||
},
|
||||
"wheel": {
|
||||
"description": "Commando om uit te voeren wanneer het scrollwiel wordt gebruikt.\nGebruik $delta voor de scrollwiel-delta in het commando",
|
||||
"label": "Scrollwiel",
|
||||
"update-text": "Weergegeven tekst bij scrollen bijwerken"
|
||||
},
|
||||
"wheel-down": {
|
||||
"description": "Commando om uit te voeren wanneer het scrollwiel omlaag wordt bewogen.",
|
||||
"label": "Scrollwiel omlaag commando"
|
||||
},
|
||||
"wheel-mode-separate": {
|
||||
"description": "Afzonderlijke commando's inschakelen voor scrollwiel omhoog en omlaag",
|
||||
"label": "Afzonderlijke scrollwielcommando's"
|
||||
},
|
||||
"wheel-up": {
|
||||
"description": "Commando om uit te voeren wanneer het scrollwiel omhoog wordt bewogen.",
|
||||
"label": "Scrollwiel omhoog commando"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
@@ -199,6 +223,10 @@
|
||||
"description": "Toon de albumhoes van het huidige nummer.",
|
||||
"label": "Albumhoes tonen"
|
||||
},
|
||||
"show-artist-first": {
|
||||
"description": "Toon artiest - titel in plaats van titel - artiest.",
|
||||
"label": "Toon eerst de artiest"
|
||||
},
|
||||
"show-visualizer": {
|
||||
"description": "Toon een audiovisualizer wanneer muziek wordt afgespeeld.",
|
||||
"label": "Visualizer tonen"
|
||||
@@ -239,6 +267,9 @@
|
||||
}
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "CPU-gebruik (Kritiek)"
|
||||
},
|
||||
"cpu-temperature": {
|
||||
"description": "Toon CPU-temperatuur indien beschikbaar.",
|
||||
"label": "CPU-temperatuur"
|
||||
@@ -247,6 +278,25 @@
|
||||
"description": "Toon het huidige CPU-gebruik in procent.",
|
||||
"label": "CPU-gebruik"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "CPU-gebruik (Waarschuwing)"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "Opslagruimte (Kritiek)"
|
||||
},
|
||||
"disk-path": {
|
||||
"description": "Selecteer welk schijfkoppelpunt u wilt monitoren.",
|
||||
"label": "Schijfpad"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "Opslagruimte (Waarschuwing)"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "Geheugengebruik (Kritiek)"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "Geheugengebruik (Waarschuwing)"
|
||||
},
|
||||
"memory-percentage": {
|
||||
"description": "Toon geheugengebruik als percentage in plaats van absolute waarden.",
|
||||
"label": "Geheugen als percentage"
|
||||
@@ -262,6 +312,16 @@
|
||||
"storage-usage": {
|
||||
"description": "Toon informatie over schijfruimtegebruik.",
|
||||
"label": "Opslaggebruik"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "CPU-temperatuur (kritiek)"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "CPU-temperatuur (Waarschuwing)"
|
||||
},
|
||||
"thresholds": {
|
||||
"description": "Drempels instellen voor systeemmetriekwaarschuwingen. Markeert wanneer overschreden.",
|
||||
"header": "Drempelinstellingen"
|
||||
}
|
||||
},
|
||||
"taskbar": {
|
||||
@@ -283,13 +343,9 @@
|
||||
}
|
||||
},
|
||||
"taskbar-grouped": {
|
||||
"show-numbers-only-when-occupied": {
|
||||
"description": "Toon werkruimtenummers alleen voor werkruimten met open vensters.",
|
||||
"label": "Nummers alleen tonen wanneer bezet"
|
||||
},
|
||||
"show-workspace-numbers": {
|
||||
"description": "Toon werkruimtenummers in de linkerbovenhoek van taakgroepen.",
|
||||
"label": "Werkruimtenummers tonen"
|
||||
"show-labels-only-when-occupied": {
|
||||
"description": "Toon alleen de werkomgevinglabels voor werkomgevingen met open vensters.",
|
||||
"label": "Label alleen tonen wanneer bezet"
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
@@ -332,13 +388,6 @@
|
||||
"health": "Gezondheid: {percent}%",
|
||||
"idle": "In rust.",
|
||||
"no-battery-detected": "Geen batterij gedetecteerd.",
|
||||
"panel": {
|
||||
"balanced": "Gebalanceerd ({percent}%)",
|
||||
"disabled": "Batterijbeheer uitgeschakeld",
|
||||
"full": "Volledige capaciteit ({percent}%)",
|
||||
"lifespan": "Verlengde levensduur ({percent}%)",
|
||||
"title": "Batterijdrempel"
|
||||
},
|
||||
"plugged-in": "Op netstroom.",
|
||||
"time-left": "Resterende tijd: {time}.",
|
||||
"time-until-full": "Tijd tot vol: {time}."
|
||||
@@ -367,9 +416,61 @@
|
||||
"loading": "Weer laden…"
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"fetch-failed": "Kan changeloggegevens niet laden. Probeer het later opnieuw.",
|
||||
"rate-limit": "GitHub-limiet bereikt. Probeer het over enkele minuten opnieuw."
|
||||
},
|
||||
"panel": {
|
||||
"buttons": {
|
||||
"discord": "Word lid van onze Discord",
|
||||
"dismiss": "Ok"
|
||||
},
|
||||
"empty": "Er zijn nog geen release-opmerkingen beschikbaar.",
|
||||
"highlight-title": "Hoogtepunten",
|
||||
"section": {
|
||||
"released": "Uitgebracht op {date}",
|
||||
"version": "Versie {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "Bedankt voor het installeren van Noctalia! Dit zit er in deze build.",
|
||||
"updated": "Bijgewerkt vanaf {previousVersion}"
|
||||
},
|
||||
"title": "Wat is er nieuw in {version}",
|
||||
"version": {
|
||||
"new-user": "Nieuwe installatie"
|
||||
}
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
"tooltip": "Kalender openen"
|
||||
},
|
||||
"context-menu": {
|
||||
"activate-app": "Activeer {app}",
|
||||
"clear-history": "Geschiedenis wissen",
|
||||
"close-app": "Sluit {app}",
|
||||
"connect-vpn": "Verbinding maken met {name}",
|
||||
"cycle-visualizer": "Cyclusvisualisatie",
|
||||
"disable-bluetooth": "Bluetooth uitschakelen",
|
||||
"disable-dnd": "Niet Storen uitschakelen",
|
||||
"disable-wifi": "Wi-Fi uitschakelen",
|
||||
"disconnect-vpn": "Verbinding met {name} verbreken",
|
||||
"enable-bluetooth": "Bluetooth inschakelen",
|
||||
"enable-dnd": "Niet Storen inschakelen",
|
||||
"enable-wifi": "Wi-Fi inschakelen",
|
||||
"next": "Volgende",
|
||||
"open-calendar": "Open agenda",
|
||||
"open-display-settings": "Beeldscherminstellingen",
|
||||
"open-launcher": "Launcher openen",
|
||||
"open-mixer": "Audiomixer",
|
||||
"open-settings": "Instellingen openen",
|
||||
"pause": "Pauze",
|
||||
"play": "Spelen",
|
||||
"previous": "Vorige",
|
||||
"random-wallpaper": "Willekeurige achtergrond",
|
||||
"toggle-mute": "Dempen aan/uit",
|
||||
"widget-settings": "Widgetinstellingen"
|
||||
},
|
||||
"dock": {
|
||||
"menu": {
|
||||
"close": "Sluiten",
|
||||
@@ -533,6 +634,7 @@
|
||||
},
|
||||
"workspace-labels": {
|
||||
"index": "Index",
|
||||
"index+name": "Index en Naam",
|
||||
"name": "Naam",
|
||||
"none": "Geen"
|
||||
}
|
||||
@@ -548,6 +650,7 @@
|
||||
"search": "Zoeken...",
|
||||
"search-icons": "bijv. noctalia, niri, battery, cloud",
|
||||
"search-launcher": "Items zoeken... of gebruik > voor commando's",
|
||||
"search-wallhaven": "Zoek in Wallhaven...",
|
||||
"search-wallpapers": "Typ om achtergronden te filteren...",
|
||||
"select": "Selecteren",
|
||||
"test": "Test"
|
||||
@@ -644,6 +747,7 @@
|
||||
},
|
||||
"session-menu": {
|
||||
"action-in-seconds": "{action} over {seconds} seconden...",
|
||||
"hibernate": "Slaperstand",
|
||||
"lock": "Vergrendelen",
|
||||
"lock-and-suspend": "Vergrendelen en onderbreken",
|
||||
"logout": "Afmelden",
|
||||
@@ -688,6 +792,11 @@
|
||||
"label": "Audio-apparaten"
|
||||
}
|
||||
},
|
||||
"external-mixer": {
|
||||
"description": "Voer het commando of het applicatiepad in om te starten bij het activeren van de externe audiomixerfunctie.",
|
||||
"label": "Extern audio mixer commando",
|
||||
"placeholder": "pwvucontrol || pavucontrol"
|
||||
},
|
||||
"media": {
|
||||
"excluded-player": {
|
||||
"description": "Voeg trefwoorden toe voor spelers die het systeem moet negeren. Elk trefwoord moet op een nieuwe regel staan.",
|
||||
@@ -762,6 +871,10 @@
|
||||
"description": "Pas de achtergronddekking van de balk aan.",
|
||||
"label": "Achtergronddekking"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "Stel het doorzichtigheidsniveau in voor widget-achtergronden wanneer capsule wordt getoond.",
|
||||
"label": "Capsule-doorzichtigheid"
|
||||
},
|
||||
"density": {
|
||||
"description": "Pas de opvulling van de balk aan voor een compacte of ruime uitstraling.",
|
||||
"label": "Balkdichtheid"
|
||||
@@ -854,6 +967,41 @@
|
||||
"label": "Donkere modus"
|
||||
}
|
||||
},
|
||||
"delete": {
|
||||
"error": {
|
||||
"description": "Verwijderen van {scheme} mislukt",
|
||||
"title": "Verwijderen mislukt"
|
||||
},
|
||||
"success": {
|
||||
"description": "{scheme} succesvol verwijderd",
|
||||
"title": "Kleurenschema verwijderd"
|
||||
}
|
||||
},
|
||||
"download": {
|
||||
"button": "Meer downloaden",
|
||||
"delete": "Verwijderen",
|
||||
"download": "Downloaden",
|
||||
"downloading": "Downloaden...",
|
||||
"empty": "Geen kleurenschema's beschikbaar",
|
||||
"error": {
|
||||
"api-error": "API-fout: {status}",
|
||||
"description": "Download van {scheme} mislukt",
|
||||
"download-failed": "Download mislukt met afsluitcode: {code}",
|
||||
"invalid-response": "Ongeldig API-antwoordformaat",
|
||||
"no-files": "Geen bestanden gevonden voor schema",
|
||||
"parse-failed": "Fout bij parseren van API-antwoord: {error}",
|
||||
"rate-limit": "GitHub API-snelheidslimiet overschreden",
|
||||
"title": "Download mislukt"
|
||||
},
|
||||
"fetching": "Beschikbare kleurenschema's ophalen...",
|
||||
"installed": "Geïnstalleerd",
|
||||
"refresh": "Vernieuwen",
|
||||
"success": {
|
||||
"description": "{scheme} succesvol gedownload",
|
||||
"title": "Kleurenschema gedownload"
|
||||
},
|
||||
"title": "Kleurenschema's downloaden"
|
||||
},
|
||||
"predefined": {
|
||||
"generate-templates": {
|
||||
"description": "Genereer Matugen-sjablonen (GTK, terminalthema's, enz.) bij gebruik van vooraf gedefinieerde kleurenschema's.",
|
||||
@@ -876,7 +1024,7 @@
|
||||
"programs": {
|
||||
"code": {
|
||||
"description": "Schrijf {filepath}. Het Hyprluna-thema moet handmatig worden geïnstalleerd en geactiveerd.",
|
||||
"description-missing": "Vereist dat {app} is geïnstalleerd."
|
||||
"description-missing": "Geen Code-client gedetecteerd. Installeer VSCode of VSCodium."
|
||||
},
|
||||
"description": "Toepassingsspecifieke theming.",
|
||||
"discord": {
|
||||
@@ -896,6 +1044,10 @@
|
||||
"description": "Schrijf {filepath}. Het Comfy-thema moet handmatig worden geïnstalleerd en geactiveerd.",
|
||||
"description-missing": "Vereist dat {app} is geïnstalleerd."
|
||||
},
|
||||
"telegram": {
|
||||
"description": "Schrijf {filepath}.",
|
||||
"description-missing": "Vereist dat {app} is geïnstalleerd."
|
||||
},
|
||||
"vicinae": {
|
||||
"description": "Schrijf {filepath} en herlaad.",
|
||||
"description-missing": "Vereist dat {app} is geïnstalleerd."
|
||||
@@ -1092,6 +1244,10 @@
|
||||
"description": "Pas de achtergronddekking van de dock aan.",
|
||||
"label": "Achtergronddekking"
|
||||
},
|
||||
"border-radius": {
|
||||
"description": "Pas de randradius van het dock aan.",
|
||||
"label": "Randradius"
|
||||
},
|
||||
"colorize-icons": {
|
||||
"description": "Pas themakleuren toe op dock-pictogrammen (alleen niet-focuste apps).",
|
||||
"label": "Pictogrammen inkleuren"
|
||||
@@ -1243,6 +1399,10 @@
|
||||
"description": "Pas de achtergronddekking van de launcher aan.",
|
||||
"label": "Achtergronddekking"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": "Toon een voorbeeld van de inhoud van het klembord bij gebruik van het >clip-commando.",
|
||||
"label": "Klembordvoorbeeld inschakelen"
|
||||
},
|
||||
"clipboard-history": {
|
||||
"description": "Toegang tot eerder gekopieerde items vanuit de launcher.",
|
||||
"label": "Klembordgeschiedenis inschakelen"
|
||||
@@ -1331,6 +1491,10 @@
|
||||
"description": "Kies je voorkeurseenheid voor temperatuur.",
|
||||
"label": "Weer"
|
||||
},
|
||||
"show-effects": {
|
||||
"description": "Toont extra visuele effecten (zoals regen, sneeuw of bliksem) op de weerkaart.",
|
||||
"label": "Weerseffecten weergeven"
|
||||
},
|
||||
"show-in-calendar": {
|
||||
"description": "Toon de dagelijkse weersverwachting direct in je kalenderview.",
|
||||
"label": "Weer in kalender weergeven"
|
||||
@@ -1346,6 +1510,10 @@
|
||||
"description": "Vergrendel het scherm automatisch wanneer het systeem wordt onderbroken.",
|
||||
"label": "Vergrendelen bij onderbreken"
|
||||
},
|
||||
"show-hibernate": {
|
||||
"description": "De optie 'sluimerstand' tonen in de energieacties.",
|
||||
"label": "Sluimerstand tonen"
|
||||
},
|
||||
"title": "Vergrendelscherm"
|
||||
},
|
||||
"network": {
|
||||
@@ -1437,6 +1605,10 @@
|
||||
"description": "Toon OSD boven fullscreen-vensters en andere lagen.",
|
||||
"label": "Altijd bovenop"
|
||||
},
|
||||
"background-opacity": {
|
||||
"description": "Regelt de transparantie van de OSD-achtergrond.",
|
||||
"label": "Achtergrond dekkendheid"
|
||||
},
|
||||
"description": "Configureer on-screenindicatoren zoals overlays voor volume en helderheid.",
|
||||
"duration": {
|
||||
"auto-hide": {
|
||||
@@ -1529,7 +1701,107 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration": {
|
||||
"description": "Stel in hoe lang de afteltimer duurt voordat energieacties worden uitgevoerd.",
|
||||
"label": "Afteltimer duur"
|
||||
},
|
||||
"enable-countdown": {
|
||||
"description": "Toon een afteltimer voordat energieacties worden uitgevoerd.",
|
||||
"label": "Afteltimer inschakelen"
|
||||
},
|
||||
"entries": {
|
||||
"section": {
|
||||
"description": "Aanpassen welke energieacties in het Sessiemenu verschijnen en in welke volgorde.",
|
||||
"label": "Energieacties"
|
||||
}
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Configureer het gedrag en uiterlijk van het sessiemenu-paneel.",
|
||||
"label": "Algemeen"
|
||||
}
|
||||
},
|
||||
"position": {
|
||||
"description": "Kies waar het Sessiemenu-paneel verschijnt wanneer het wordt geopend.",
|
||||
"label": "Positie"
|
||||
},
|
||||
"show-header": {
|
||||
"description": "Toon de titel en sluitknop bovenaan het Sessiemenu.",
|
||||
"label": "Koptekst tonen"
|
||||
},
|
||||
"title": "Sessiemenu"
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "Kritieke drempel"
|
||||
},
|
||||
"cpu-section": {
|
||||
"label": "CPU-gebruik"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "Waarschuwingsdrempel"
|
||||
},
|
||||
"critical-color": {
|
||||
"label": "Kritische kleur"
|
||||
},
|
||||
"custom-highlight-colors-title": {
|
||||
"label": "Aangepaste markeerkleuren"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "Kritieke drempel"
|
||||
},
|
||||
"disk-section": {
|
||||
"label": "Schijfgebruik"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "Waarschuwingsdrempel"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Configureer het gedrag en de weergave van de Systeemmonitor.",
|
||||
"label": "Algemeen"
|
||||
}
|
||||
},
|
||||
"highlight-colors-section": {
|
||||
"label": "Markeerkleuren"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "Kritieke drempel"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "Waarschuwingsdrempel"
|
||||
},
|
||||
"memory-section": {
|
||||
"label": "Geheugengebruik"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "Kritieke drempel"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "Waarschuwingsdrempel"
|
||||
},
|
||||
"temperature-section": {
|
||||
"label": "CPU-temperatuur"
|
||||
},
|
||||
"thresholds-section": {
|
||||
"description": "Stel drempelwaarden in voor systeemstatistieken; waarden die hierboven liggen worden gemarkeerd.",
|
||||
"label": "Drempels"
|
||||
},
|
||||
"title": "Systeemmonitor",
|
||||
"use-custom-highlight-colors": {
|
||||
"description": "Indien uitgeschakeld, worden de standaard markeerkleuren van het thema gebruikt.",
|
||||
"label": "Gebruik aangepaste markeerkleuren."
|
||||
},
|
||||
"warning-color": {
|
||||
"label": "Waarschuwingskleur"
|
||||
}
|
||||
},
|
||||
"user-interface": {
|
||||
"allow-panels-without-bar": {
|
||||
"description": "Indien ingeschakeld, kunnen panelen op elk scherm worden geopend. Indien uitgeschakeld, worden panelen alleen geopend op schermen met een balk, wat het geheugengebruik kan verminderen.",
|
||||
"label": "Sta panelen toe op schermen zonder balk."
|
||||
},
|
||||
"animation-disable": {
|
||||
"description": "Schakel alle animaties uit voor een snellere, responsievere ervaring.",
|
||||
"label": "UI-animaties uitschakelen"
|
||||
@@ -1548,6 +1820,15 @@
|
||||
"description": "Dim de desktop wanneer panelen of menu's geopend zijn.",
|
||||
"label": "Desktop dimmen"
|
||||
},
|
||||
"dimmer-opacity": {
|
||||
"description": "Stel het opaciteitsniveau in voor het dimmen van het bureaublad.",
|
||||
"label": "Doorzichtigheid van gedimde desktop",
|
||||
"reset": "Doorzichtigheid van gedimde desktop resetten"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "Stel de achtergronddoorzichtigheid in voor alle panelen (Launcher, Control Center, Instellingen, enz.).",
|
||||
"label": "Paneel achtergronddoorzichtigheid"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
"description": "Panelen vergrendelen aan de balk en schermranden, voor een naadloze look met stijlvolle omgekeerde hoeken.",
|
||||
"label": "Panelen aan randen vastklikken"
|
||||
@@ -1640,6 +1921,10 @@
|
||||
"label": "Achtergrondmap",
|
||||
"tooltip": "Bladeren naar achtergrondmap"
|
||||
},
|
||||
"hide-wallpaper-filenames": {
|
||||
"description": "Verberg de bestandsnamen van de achtergrond in de selector.",
|
||||
"label": "Bestandsnamen verbergen"
|
||||
},
|
||||
"monitor-specific": {
|
||||
"description": "Stel een andere achtergrondmap in voor elke monitor.",
|
||||
"label": "Monitor-specifieke mappen",
|
||||
@@ -1655,6 +1940,11 @@
|
||||
},
|
||||
"select-folder": "Achtergrondmap selecteren",
|
||||
"select-monitor-folder": "Achtergrondmap voor monitor selecteren",
|
||||
"selector": {
|
||||
"description": "Kies je achtergrond.",
|
||||
"label": "Achtergrondkiezer",
|
||||
"tooltip": "Achtergrondkiezer openen"
|
||||
},
|
||||
"selector-position": {
|
||||
"description": "Kies waar het achtergrondselectiepaneel verschijnt.",
|
||||
"label": "Positie"
|
||||
@@ -1719,19 +2009,6 @@
|
||||
"low": "Batterij bijna leeg",
|
||||
"low-desc": "De batterij is op {percent}%. Sluit de oplader aan."
|
||||
},
|
||||
"battery-manager": {
|
||||
"initial-setup": "Initiële configuratie vereist",
|
||||
"install-failed": "Installatie mislukt",
|
||||
"install-missing": "Vereiste bestanden ontbreken",
|
||||
"install-success": "Succesvol geïnstalleerd",
|
||||
"install-unsupported": "Systeem wordt niet ondersteund",
|
||||
"set-failed": "Instellen van batterijdrempel mislukt",
|
||||
"set-success-desc": "Batterijdrempel ingesteld op {percent}%",
|
||||
"title": "Batterijdrempel",
|
||||
"uninstall-failed": "Deïnstallatie mislukt",
|
||||
"uninstall-setup": "Verwijderen, authenticatie vereist",
|
||||
"uninstall-success": "Succesvol verwijderd"
|
||||
},
|
||||
"bluetooth": {
|
||||
"disabled": "Uitgeschakeld",
|
||||
"enabled": "Ingeschakeld"
|
||||
@@ -1800,6 +2077,10 @@
|
||||
"title-matugen": "Matugen-sjabloonverwerking mislukt",
|
||||
"title-predefined": "Verwerken van vooraf gedefinieerd kleurenschema mislukt"
|
||||
},
|
||||
"vpn": {
|
||||
"connected": "Verbonden met '{name}'",
|
||||
"disconnected": "Verbinding met '{name}' verbroken"
|
||||
},
|
||||
"wallpaper-colors": {
|
||||
"disabled": "Achtergrondkleuren uitgeschakeld",
|
||||
"enabled": "Achtergrondkleuren ingeschakeld",
|
||||
@@ -1833,6 +2114,7 @@
|
||||
"input-muted": "Invoermicrofoon dempen in-/uitschakelen",
|
||||
"keep-awake": "Wakker houden",
|
||||
"keyboard-layout": "{layout}-toetsenbordindeling",
|
||||
"manage-vpn": "VPN-verbindingen beheren",
|
||||
"manage-wifi": "Wi-Fi beheren",
|
||||
"microphone-volume-at": "Microfoonvolume {volume}%\nLinks klikken voor instellingen. Rechts klikken om te dempen.\nScroll om het volume aan te passen.",
|
||||
"move-to-center-section": "Verplaatsen naar middelste sectie",
|
||||
@@ -1860,6 +2142,7 @@
|
||||
"previous-month": "Vorige maand",
|
||||
"refresh": "Verversen",
|
||||
"refresh-devices": "Apparaten verversen",
|
||||
"refresh-wallhaven": "Wallhaven-resultaten verversen",
|
||||
"refresh-wallpaper-list": "Achtergrondlijst verversen",
|
||||
"remove-widget": "Widget verwijderen",
|
||||
"screen-recorder-not-installed": "Schermrecorder is niet geïnstalleerd",
|
||||
@@ -1889,8 +2172,51 @@
|
||||
"description": "Pas de geselecteerde achtergrond in één keer op alle monitoren toe.",
|
||||
"label": "Toepassen op alle monitoren"
|
||||
},
|
||||
"categories": {
|
||||
"anime": "Anime",
|
||||
"general": "Algemeen",
|
||||
"label": "Categorieën",
|
||||
"people": "Mensen"
|
||||
},
|
||||
"order": {
|
||||
"asc": "Oplopend",
|
||||
"desc": "Aflopend",
|
||||
"label": "Volgorde"
|
||||
},
|
||||
"purity": {
|
||||
"all": "Alles",
|
||||
"label": "Inhoudsfilter",
|
||||
"sfw": "SFW",
|
||||
"sketchy": "Sketchy"
|
||||
},
|
||||
"resolution": {
|
||||
"atleast": "Ten minste",
|
||||
"exact": "Exact",
|
||||
"label": "Resolutie",
|
||||
"mode": {
|
||||
"label": "Modus"
|
||||
}
|
||||
},
|
||||
"search": "Zoeken:",
|
||||
"title": "Achtergrondkiezer"
|
||||
"sorting": {
|
||||
"date_added": "Datum toegevoegd",
|
||||
"favorites": "Favorieten",
|
||||
"label": "Sorteren op",
|
||||
"random": "Willekeurig",
|
||||
"relevance": "Relevantie",
|
||||
"toplist": "Toplijst",
|
||||
"views": "Weergaven"
|
||||
},
|
||||
"source": {
|
||||
"label": "Bron",
|
||||
"local": "Lokaal",
|
||||
"wallhaven": "Wallhaven"
|
||||
},
|
||||
"title": "Achtergrondkiezer",
|
||||
"wallhaven-settings": {
|
||||
"apply": "Toepassen",
|
||||
"title": "Wallhaven-instellingen"
|
||||
}
|
||||
},
|
||||
"transitions": {
|
||||
"disc": "Schijf",
|
||||
@@ -1900,7 +2226,13 @@
|
||||
"stripes": "Strepen",
|
||||
"wipe": "Vegen"
|
||||
},
|
||||
"try-different-search": "Probeer een andere zoekopdracht."
|
||||
"try-different-search": "Probeer een andere zoekopdracht.",
|
||||
"unknown": "Onbekend",
|
||||
"wallhaven": {
|
||||
"loading": "Achtergronden laden...",
|
||||
"no-results": "Geen achtergronden gevonden. Probeer een andere zoekopdracht.",
|
||||
"page": "{current} van {total}"
|
||||
}
|
||||
},
|
||||
"weather": {
|
||||
"clear-sky": "Onbewolkt",
|
||||
@@ -2009,6 +2341,7 @@
|
||||
},
|
||||
"wifi": {
|
||||
"panel": {
|
||||
"available-networks": "Beschikbare netwerken",
|
||||
"connect": "Verbinden",
|
||||
"connected": "Verbonden",
|
||||
"disabled": "Wi-Fi is uitgeschakeld",
|
||||
@@ -2019,6 +2352,7 @@
|
||||
"forget": "Vergeten",
|
||||
"forget-network": "Dit netwerk vergeten?",
|
||||
"forgetting": "Vergeten...",
|
||||
"known-networks": "Bekende netwerken",
|
||||
"no-networks": "Geen netwerken gevonden",
|
||||
"password": "Wachtwoord",
|
||||
"saved": "Opgeslagen",
|
||||
|
||||
@@ -123,21 +123,27 @@
|
||||
"stream-description": "Insira um comando para executar continuamente."
|
||||
},
|
||||
"dynamic-text": "Texto dinâmico",
|
||||
"hide-vertical": {
|
||||
"description": "Se ativado, o texto da saída do comando não será exibido quando a barra estiver em um layout vertical (esquerda ou direita).",
|
||||
"label": "Ocultar texto na barra vertical"
|
||||
},
|
||||
"icon": {
|
||||
"description": "Selecione um ícone da biblioteca.",
|
||||
"label": "Ícone"
|
||||
},
|
||||
"left-click": {
|
||||
"description": "Comando a executar quando o botão é clicado com o botão esquerdo.",
|
||||
"label": "Clique esquerdo"
|
||||
"label": "Clique esquerdo",
|
||||
"update-text": "Atualizar texto exibido ao clicar com o botão esquerdo"
|
||||
},
|
||||
"max-text-length-horizontal": {
|
||||
"description": "Número máximo de caracteres a serem exibidos na barra horizontal (0 para ocultar o texto)",
|
||||
"label": "Comprimento máximo do texto (horizontal)"
|
||||
},
|
||||
"max-text-length-vertical": {
|
||||
"description": "Número máximo de caracteres a serem exibidos na barra vertical (0 para ocultar o texto)",
|
||||
"label": "Comprimento máximo do texto (vertical)"
|
||||
},
|
||||
"middle-click": {
|
||||
"description": "Comando a executar quando o botão é clicado com o botão do meio.",
|
||||
"label": "Clique do meio"
|
||||
"label": "Clique do meio",
|
||||
"update-text": "Atualizar texto exibido com clique do meio"
|
||||
},
|
||||
"parse-json": {
|
||||
"description": "Analisa a saída do comando como um objeto JSON para definir dinamicamente o texto e o ícone.",
|
||||
@@ -149,11 +155,29 @@
|
||||
},
|
||||
"right-click": {
|
||||
"description": "Comando a executar quando o botão é clicado com o botão direito.",
|
||||
"label": "Clique direito"
|
||||
"label": "Clique direito",
|
||||
"update-text": "Atualizar o texto exibido ao clicar com o botão direito."
|
||||
},
|
||||
"text-stream": {
|
||||
"description": "As linhas transmitidas do comando serão exibidas como texto no botão.",
|
||||
"label": "Transmissão"
|
||||
},
|
||||
"wheel": {
|
||||
"description": "Comando a executar quando a roda de rolagem é usada.\nUse $delta para o delta da roda de rolagem no comando",
|
||||
"label": "Roda de rolagem",
|
||||
"update-text": "Atualizar texto exibido ao rolar"
|
||||
},
|
||||
"wheel-down": {
|
||||
"description": "Comando a executar quando a roda de rolagem é rolada para baixo.",
|
||||
"label": "Comando de roda para baixo"
|
||||
},
|
||||
"wheel-mode-separate": {
|
||||
"description": "Ativar comandos separados para roda para cima e para baixo",
|
||||
"label": "Comandos de roda separados"
|
||||
},
|
||||
"wheel-up": {
|
||||
"description": "Comando a executar quando a roda de rolagem é rolada para cima.",
|
||||
"label": "Comando de roda para cima"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
@@ -199,6 +223,10 @@
|
||||
"description": "Exibir a arte do álbum da faixa atualmente sendo reproduzida.",
|
||||
"label": "Mostrar arte do álbum"
|
||||
},
|
||||
"show-artist-first": {
|
||||
"description": "Exibir artista - título em vez de título - artista.",
|
||||
"label": "Mostrar o artista primeiro"
|
||||
},
|
||||
"show-visualizer": {
|
||||
"description": "Exibir um visualizador de áudio quando música está sendo reproduzida.",
|
||||
"label": "Mostrar visualizador"
|
||||
@@ -239,6 +267,9 @@
|
||||
}
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "CPU Usage (Critical)"
|
||||
},
|
||||
"cpu-temperature": {
|
||||
"description": "Mostrar leituras de temperatura da CPU se disponíveis.",
|
||||
"label": "Temperatura da CPU"
|
||||
@@ -247,6 +278,25 @@
|
||||
"description": "Exibir o percentual atual de uso da CPU.",
|
||||
"label": "Uso da CPU"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "CPU Usage (Warning)"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "Storage Space (Critical)"
|
||||
},
|
||||
"disk-path": {
|
||||
"description": "Selecione qual ponto de montagem de disco monitorar.",
|
||||
"label": "Caminho do disco"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "Storage Space (Warning)"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "Memory Usage (Critical)"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "Memory Usage (Warning)"
|
||||
},
|
||||
"memory-percentage": {
|
||||
"description": "Mostrar o uso de memória como percentual em vez de valores absolutos.",
|
||||
"label": "Memória como percentual"
|
||||
@@ -262,6 +312,16 @@
|
||||
"storage-usage": {
|
||||
"description": "Mostrar informações de uso do espaço em disco.",
|
||||
"label": "Uso de armazenamento"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "CPU Temperature (Critical)"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "CPU Temperature (Warning)"
|
||||
},
|
||||
"thresholds": {
|
||||
"description": "Estabelece limites para alertas de métricas do sistema. Destaca quando superados.",
|
||||
"header": "Configuração de Limiares"
|
||||
}
|
||||
},
|
||||
"taskbar": {
|
||||
@@ -283,13 +343,9 @@
|
||||
}
|
||||
},
|
||||
"taskbar-grouped": {
|
||||
"show-numbers-only-when-occupied": {
|
||||
"description": "Mostrar números do espaço de trabalho apenas para espaços de trabalho com janelas abertas.",
|
||||
"label": "Mostrar números apenas quando ocupados"
|
||||
},
|
||||
"show-workspace-numbers": {
|
||||
"description": "Exibir números do espaço de trabalho no canto superior esquerdo dos grupos de tarefas.",
|
||||
"label": "Mostrar números do espaço de trabalho"
|
||||
"show-labels-only-when-occupied": {
|
||||
"description": "Mostrar apenas o rótulo da área de trabalho para áreas de trabalho que têm janelas abertas.",
|
||||
"label": "Mostrar rótulo somente quando ocupado."
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
@@ -332,13 +388,6 @@
|
||||
"health": "Saúde: {percent}%",
|
||||
"idle": "Ocioso.",
|
||||
"no-battery-detected": "Nenhuma bateria detectada.",
|
||||
"panel": {
|
||||
"balanced": "Balanceado ({percent}%)",
|
||||
"disabled": "Gerenciador de bateria desativado",
|
||||
"full": "Capacidade máxima ({percent}%)",
|
||||
"lifespan": "Vida útil prolongada ({percent}%)",
|
||||
"title": "Limite de carga"
|
||||
},
|
||||
"plugged-in": "Conectado.",
|
||||
"time-left": "Tempo restante: {time}.",
|
||||
"time-until-full": "Tempo até carga completa: {time}."
|
||||
@@ -367,9 +416,61 @@
|
||||
"loading": "Carregando o clima…"
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"fetch-failed": "Não foi possível carregar os dados do changelog. Tente novamente mais tarde.",
|
||||
"rate-limit": "Limite do GitHub atingido. Tente novamente em alguns minutos."
|
||||
},
|
||||
"panel": {
|
||||
"buttons": {
|
||||
"discord": "Entre no nosso Discord",
|
||||
"dismiss": "Ok"
|
||||
},
|
||||
"empty": "As notas da versão ainda não estão disponíveis.",
|
||||
"highlight-title": "Destaques",
|
||||
"section": {
|
||||
"released": "Lançado em {date}",
|
||||
"version": "Versão {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "Obrigado por instalar o Noctalia! Veja o que está incluído nesta compilação.",
|
||||
"updated": "Atualizado a partir da {previousVersion}"
|
||||
},
|
||||
"title": "Novidades na {version}",
|
||||
"version": {
|
||||
"new-user": "Nova instalação"
|
||||
}
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
"tooltip": "Abrir calendário"
|
||||
},
|
||||
"context-menu": {
|
||||
"activate-app": "Ativar {app}",
|
||||
"clear-history": "Limpar histórico",
|
||||
"close-app": "Fechar {app}",
|
||||
"connect-vpn": "Conectar-se a {name}",
|
||||
"cycle-visualizer": "Visualizador de ciclo",
|
||||
"disable-bluetooth": "Desativar Bluetooth",
|
||||
"disable-dnd": "Desativar o Não Perturbe",
|
||||
"disable-wifi": "Desativar Wi-Fi",
|
||||
"disconnect-vpn": "Desconectar {name}",
|
||||
"enable-bluetooth": "Ativar Bluetooth",
|
||||
"enable-dnd": "Ativar Não Perturbe",
|
||||
"enable-wifi": "Ativar Wi-Fi",
|
||||
"next": "Próximo(a)",
|
||||
"open-calendar": "Abrir calendário",
|
||||
"open-display-settings": "Configurações de exibição",
|
||||
"open-launcher": "Abrir iniciador",
|
||||
"open-mixer": "Mesa de som",
|
||||
"open-settings": "Abrir configurações",
|
||||
"pause": "Pausa",
|
||||
"play": "Jogar",
|
||||
"previous": "Anterior",
|
||||
"random-wallpaper": "Papel de parede aleatório",
|
||||
"toggle-mute": "Alternar mudo",
|
||||
"widget-settings": "Configurações do widget"
|
||||
},
|
||||
"dock": {
|
||||
"menu": {
|
||||
"close": "Fechar",
|
||||
@@ -533,6 +634,7 @@
|
||||
},
|
||||
"workspace-labels": {
|
||||
"index": "Índice",
|
||||
"index+name": "Índice e Nome",
|
||||
"name": "Nome",
|
||||
"none": "Nenhum"
|
||||
}
|
||||
@@ -548,6 +650,7 @@
|
||||
"search": "Pesquisar...",
|
||||
"search-icons": "ex., noctalia, niri, battery, cloud",
|
||||
"search-launcher": "Pesquisar entradas... ou use > para comandos",
|
||||
"search-wallhaven": "Pesquisar no Wallhaven...",
|
||||
"search-wallpapers": "Digite para filtrar papéis de parede...",
|
||||
"select": "Selecionar",
|
||||
"test": "Testar"
|
||||
@@ -644,6 +747,7 @@
|
||||
},
|
||||
"session-menu": {
|
||||
"action-in-seconds": "{action} em {seconds} segundos...",
|
||||
"hibernate": "Hibernação",
|
||||
"lock": "Bloquear",
|
||||
"lock-and-suspend": "Bloquear e Suspender",
|
||||
"logout": "Sair",
|
||||
@@ -688,6 +792,11 @@
|
||||
"label": "Dispositivos de áudio"
|
||||
}
|
||||
},
|
||||
"external-mixer": {
|
||||
"description": "Insira o comando ou o caminho do aplicativo para iniciar ao ativar o recurso de mixer de áudio externo.",
|
||||
"label": "Comando de Mixer de Áudio Externo",
|
||||
"placeholder": "pwvucontrol || pavucontrol"
|
||||
},
|
||||
"media": {
|
||||
"excluded-player": {
|
||||
"description": "Adicione palavras-chave para os reprodutores que você deseja que o sistema ignore. Cada palavra-chave deve estar em uma nova linha.",
|
||||
@@ -762,6 +871,10 @@
|
||||
"description": "Ajuste a opacidade do fundo da barra.",
|
||||
"label": "Opacidade do fundo"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "Define o nível de opacidade para fundos dos widgets quando a cápsula é mostrada.",
|
||||
"label": "Opacidade da cápsula"
|
||||
},
|
||||
"density": {
|
||||
"description": "Ajuste o preenchimento da barra para um visual compacto ou espaçoso.",
|
||||
"label": "Densidade da barra"
|
||||
@@ -854,6 +967,41 @@
|
||||
"label": "Modo escuro"
|
||||
}
|
||||
},
|
||||
"delete": {
|
||||
"error": {
|
||||
"description": "Falha ao excluir {scheme}",
|
||||
"title": "Falha ao excluir"
|
||||
},
|
||||
"success": {
|
||||
"description": "{scheme} excluído com sucesso",
|
||||
"title": "Esquema de cores excluído"
|
||||
}
|
||||
},
|
||||
"download": {
|
||||
"button": "Baixar mais",
|
||||
"delete": "Excluir",
|
||||
"download": "Baixar",
|
||||
"downloading": "Baixando...",
|
||||
"empty": "Nenhum esquema de cores disponível",
|
||||
"error": {
|
||||
"api-error": "Erro da API: {status}",
|
||||
"description": "Falha ao baixar {scheme}",
|
||||
"download-failed": "Falha no download com código de saída: {code}",
|
||||
"invalid-response": "Formato de resposta da API inválido",
|
||||
"no-files": "Nenhum arquivo encontrado para o esquema",
|
||||
"parse-failed": "Falha ao analisar a resposta da API: {error}",
|
||||
"rate-limit": "Limite de taxa da API do GitHub excedido",
|
||||
"title": "Falha no download"
|
||||
},
|
||||
"fetching": "Buscando esquemas de cores disponíveis...",
|
||||
"installed": "Instalado",
|
||||
"refresh": "Atualizar",
|
||||
"success": {
|
||||
"description": "{scheme} baixado com sucesso",
|
||||
"title": "Esquema de cores baixado"
|
||||
},
|
||||
"title": "Baixar esquemas de cores"
|
||||
},
|
||||
"predefined": {
|
||||
"generate-templates": {
|
||||
"description": "Gera modelos Matugen (GTK, temas de terminal, etc.) ao usar esquemas de cores predefinidos.",
|
||||
@@ -876,7 +1024,7 @@
|
||||
"programs": {
|
||||
"code": {
|
||||
"description": "Escreva em {filepath}. O tema Hyprluna precisa ser instalado e ativado manualmente.",
|
||||
"description-missing": "Requer que o {app} esteja instalado."
|
||||
"description-missing": "Nenhum cliente Code detectado. Instale VSCode ou VSCodium."
|
||||
},
|
||||
"description": "Tematização específica de aplicativos.",
|
||||
"discord": {
|
||||
@@ -896,6 +1044,10 @@
|
||||
"description": "Escreva em {filepath}. O tema Comfy precisa ser instalado e ativado manualmente.",
|
||||
"description-missing": "Requer que o {app} esteja instalado."
|
||||
},
|
||||
"telegram": {
|
||||
"description": "Escreva em {filepath}.",
|
||||
"description-missing": "Requer que o {app} esteja instalado."
|
||||
},
|
||||
"vicinae": {
|
||||
"description": "Escrever {filepath} e recarregar",
|
||||
"description-missing": "Requer que o {app} esteja instalado"
|
||||
@@ -1092,6 +1244,10 @@
|
||||
"description": "Ajuste a opacidade do fundo da dock.",
|
||||
"label": "Opacidade do fundo"
|
||||
},
|
||||
"border-radius": {
|
||||
"description": "Ajustar o raio da borda da dock.",
|
||||
"label": "Raio da borda"
|
||||
},
|
||||
"colorize-icons": {
|
||||
"description": "Aplicar cores do tema aos ícones de aplicativos da dock (apenas aplicativos não focados).",
|
||||
"label": "Colorir ícones"
|
||||
@@ -1243,6 +1399,10 @@
|
||||
"description": "Ajuste a opacidade do fundo do lançador.",
|
||||
"label": "Opacidade do fundo"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": "Mostra uma pré-visualização do conteúdo da área de transferência ao usar o comando >clip.",
|
||||
"label": "Ativar pré-visualização da área de transferência"
|
||||
},
|
||||
"clipboard-history": {
|
||||
"description": "Acesse itens copiados anteriormente a partir do lançador.",
|
||||
"label": "Ativar histórico da área de transferência"
|
||||
@@ -1331,6 +1491,10 @@
|
||||
"description": "Escolha sua unidade de temperatura preferida.",
|
||||
"label": "Clima"
|
||||
},
|
||||
"show-effects": {
|
||||
"description": "Mostra efeitos visuais adicionais (como chuva, neve ou relâmpagos) no cartão de clima.",
|
||||
"label": "Exibir efeitos climáticos"
|
||||
},
|
||||
"show-in-calendar": {
|
||||
"description": "Mostre a previsão do tempo diária diretamente na sua visualização de calendário.",
|
||||
"label": "Exibir clima no calendário"
|
||||
@@ -1346,6 +1510,10 @@
|
||||
"description": "Bloquear a tela automaticamente ao suspender o sistema.",
|
||||
"label": "Bloquear ao suspender"
|
||||
},
|
||||
"show-hibernate": {
|
||||
"description": "Mostrar a opção 'hibernar' nas ações de energia.",
|
||||
"label": "Mostrar hibernar"
|
||||
},
|
||||
"title": "Tela de bloqueio"
|
||||
},
|
||||
"network": {
|
||||
@@ -1437,6 +1605,10 @@
|
||||
"description": "Exibir OSD acima de janelas em tela cheia e outras camadas.",
|
||||
"label": "Sempre no topo"
|
||||
},
|
||||
"background-opacity": {
|
||||
"description": "Controla a transparência do fundo do OSD.",
|
||||
"label": "Opacidade do fundo"
|
||||
},
|
||||
"description": "Configure indicadores na tela, como volume e brilho.",
|
||||
"duration": {
|
||||
"auto-hide": {
|
||||
@@ -1529,7 +1701,107 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration": {
|
||||
"description": "Definir por quanto tempo o temporizador de contagem regressiva dura antes de executar ações de energia.",
|
||||
"label": "Duração da contagem regressiva"
|
||||
},
|
||||
"enable-countdown": {
|
||||
"description": "Mostrar um temporizador de contagem regressiva antes de executar ações de energia.",
|
||||
"label": "Ativar temporizador de contagem regressiva"
|
||||
},
|
||||
"entries": {
|
||||
"section": {
|
||||
"description": "Personalizar quais ações de energia aparecem no Menu de sessão e em que ordem.",
|
||||
"label": "Ações de energia"
|
||||
}
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Configurar o comportamento e a aparência do painel do menu de sessão.",
|
||||
"label": "Geral"
|
||||
}
|
||||
},
|
||||
"position": {
|
||||
"description": "Escolha onde o painel do Menu de sessão aparece quando aberto.",
|
||||
"label": "Posição"
|
||||
},
|
||||
"show-header": {
|
||||
"description": "Exibir o título e o botão de fechar na parte superior do Menu de sessão.",
|
||||
"label": "Mostrar cabeçalho"
|
||||
},
|
||||
"title": "Menu de sessão"
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "Limite crítico"
|
||||
},
|
||||
"cpu-section": {
|
||||
"label": "Uso da CPU"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "Limite de aviso"
|
||||
},
|
||||
"critical-color": {
|
||||
"label": "Cor crítica"
|
||||
},
|
||||
"custom-highlight-colors-title": {
|
||||
"label": "Cores de destaque personalizadas"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "Limite crítico"
|
||||
},
|
||||
"disk-section": {
|
||||
"label": "Uso do disco"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "Limite de aviso"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Configure o comportamento e a aparência do Monitor do Sistema.",
|
||||
"label": "Geral"
|
||||
}
|
||||
},
|
||||
"highlight-colors-section": {
|
||||
"label": "Cores de destaque"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "Limite crítico"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "Limite de aviso"
|
||||
},
|
||||
"memory-section": {
|
||||
"label": "Uso de memória"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "Limite crítico"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "Limite de aviso"
|
||||
},
|
||||
"temperature-section": {
|
||||
"label": "Temperatura da CPU"
|
||||
},
|
||||
"thresholds-section": {
|
||||
"description": "Defina limiares para métricas do sistema; valores acima serão destacados.",
|
||||
"label": "Limiares"
|
||||
},
|
||||
"title": "Monitor do Sistema",
|
||||
"use-custom-highlight-colors": {
|
||||
"description": "Quando desativado, são usadas as cores de destaque padrão do tema.",
|
||||
"label": "Usar cores de destaque personalizadas"
|
||||
},
|
||||
"warning-color": {
|
||||
"label": "Cor de aviso"
|
||||
}
|
||||
},
|
||||
"user-interface": {
|
||||
"allow-panels-without-bar": {
|
||||
"description": "Quando ativado, os painéis podem abrir em qualquer tela. Quando desativado, os painéis só abrirão em telas que tenham uma barra, o que pode reduzir o uso de memória.",
|
||||
"label": "Permitir painéis em telas sem uma barra."
|
||||
},
|
||||
"animation-disable": {
|
||||
"description": "Desative todas as animações para uma experiência mais rápida e responsiva.",
|
||||
"label": "Desativar animações da interface do usuário"
|
||||
@@ -1548,6 +1820,15 @@
|
||||
"description": "Escurecer a área de trabalho quando painéis ou menus estiverem abertos.",
|
||||
"label": "Dim área de trabalho"
|
||||
},
|
||||
"dimmer-opacity": {
|
||||
"description": "Definir o nível de opacidade para o escurecimento da área de trabalho.",
|
||||
"label": "Opacidade da área de trabalho escurecida",
|
||||
"reset": "Redefinir opacidade da área de trabalho escurecida"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "Definir a opacidade de fundo para todos os painéis (Launcher, Centro de Controle, Configurações, etc.).",
|
||||
"label": "Opacidade de fundo do painel"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
"description": "Os painéis travam na barra e nas bordas da tela, criando uma aparência perfeita com cantos invertidos elegantes.",
|
||||
"label": "Ajustar Painéis às Bordas"
|
||||
@@ -1640,6 +1921,10 @@
|
||||
"label": "Pasta de papéis de parede",
|
||||
"tooltip": "Procurar pasta de papéis de parede"
|
||||
},
|
||||
"hide-wallpaper-filenames": {
|
||||
"description": "Ocultar nomes de arquivos de papel de parede no seletor.",
|
||||
"label": "Ocultar nomes de arquivos"
|
||||
},
|
||||
"monitor-specific": {
|
||||
"description": "Defina uma pasta de papel de parede diferente para cada monitor.",
|
||||
"label": "Diretórios específicos por monitor",
|
||||
@@ -1655,6 +1940,11 @@
|
||||
},
|
||||
"select-folder": "Selecionar pasta de papéis de parede",
|
||||
"select-monitor-folder": "Selecionar pasta de papéis de parede do monitor",
|
||||
"selector": {
|
||||
"description": "Escolha o seu papel de parede.",
|
||||
"label": "Seletor de papel de parede",
|
||||
"tooltip": "Abrir o seletor de papel de parede"
|
||||
},
|
||||
"selector-position": {
|
||||
"description": "Escolha onde o painel do seletor de papel de parede aparece.",
|
||||
"label": "Posição"
|
||||
@@ -1719,19 +2009,6 @@
|
||||
"low": "Bateria Fraca",
|
||||
"low-desc": "A bateria está em {percent}%. Por favor, conecte o carregador."
|
||||
},
|
||||
"battery-manager": {
|
||||
"initial-setup": "Configuração inicial necessária",
|
||||
"install-failed": "Falha na instalação",
|
||||
"install-missing": "Arquivos necessários ausentes",
|
||||
"install-success": "Instalado com sucesso",
|
||||
"install-unsupported": "Sistema não suportado",
|
||||
"set-failed": "Falha ao definir o limite da bateria",
|
||||
"set-success-desc": "Limite da bateria definido para {percent}%",
|
||||
"title": "Limite da bateria",
|
||||
"uninstall-failed": "Falha na desinstalação",
|
||||
"uninstall-setup": "Desinstalando, autenticação necessária",
|
||||
"uninstall-success": "Desinstalado com sucesso"
|
||||
},
|
||||
"bluetooth": {
|
||||
"disabled": "Desativado",
|
||||
"enabled": "Ativado"
|
||||
@@ -1800,6 +2077,10 @@
|
||||
"title-matugen": "Falha no processamento do template Matugen",
|
||||
"title-predefined": "O processamento do esquema de cores predefinido falhou."
|
||||
},
|
||||
"vpn": {
|
||||
"connected": "Conectado a '{name}'",
|
||||
"disconnected": "Desconectado de '{name}'"
|
||||
},
|
||||
"wallpaper-colors": {
|
||||
"disabled": "Cores do papel de parede desativadas",
|
||||
"enabled": "Cores do papel de parede ativadas",
|
||||
@@ -1833,6 +2114,7 @@
|
||||
"input-muted": "Silenciar entrada de áudio",
|
||||
"keep-awake": "Manter acordado",
|
||||
"keyboard-layout": "Layout de teclado {layout}",
|
||||
"manage-vpn": "Gerenciar conexões VPN",
|
||||
"manage-wifi": "Gerenciar Wi-Fi",
|
||||
"microphone-volume-at": "Volume do microfone em {volume}%.\nClique esquerdo para configurações. Clique direito para ativar/desativar o mudo.\nRole para modificar o volume.",
|
||||
"move-to-center-section": "Mover para a seção central",
|
||||
@@ -1860,6 +2142,7 @@
|
||||
"previous-month": "Mês anterior",
|
||||
"refresh": "Atualizar",
|
||||
"refresh-devices": "Atualizar dispositivos",
|
||||
"refresh-wallhaven": "Atualizar resultados do Wallhaven",
|
||||
"refresh-wallpaper-list": "Atualizar lista de papéis de parede",
|
||||
"remove-widget": "Remover widget",
|
||||
"screen-recorder-not-installed": "O gravador de tela não está instalado",
|
||||
@@ -1889,8 +2172,51 @@
|
||||
"description": "Aplica o papel de parede selecionado a todos os monitores de uma só vez.",
|
||||
"label": "Aplicar a todos os monitores"
|
||||
},
|
||||
"categories": {
|
||||
"anime": "Anime",
|
||||
"general": "Geral",
|
||||
"label": "Categorias",
|
||||
"people": "Pessoas"
|
||||
},
|
||||
"order": {
|
||||
"asc": "Crescente",
|
||||
"desc": "Decrescente",
|
||||
"label": "Ordem"
|
||||
},
|
||||
"purity": {
|
||||
"all": "Tudo",
|
||||
"label": "Filtro de conteúdo",
|
||||
"sfw": "SFW",
|
||||
"sketchy": "Sketchy"
|
||||
},
|
||||
"resolution": {
|
||||
"atleast": "Pelo menos",
|
||||
"exact": "Exato",
|
||||
"label": "Resolução",
|
||||
"mode": {
|
||||
"label": "Modo"
|
||||
}
|
||||
},
|
||||
"search": "Pesquisar:",
|
||||
"title": "Seletor de papel de parede"
|
||||
"sorting": {
|
||||
"date_added": "Data de adição",
|
||||
"favorites": "Favoritos",
|
||||
"label": "Ordenar por",
|
||||
"random": "Aleatório",
|
||||
"relevance": "Relevância",
|
||||
"toplist": "Lista superior",
|
||||
"views": "Visualizações"
|
||||
},
|
||||
"source": {
|
||||
"label": "Fonte",
|
||||
"local": "Local",
|
||||
"wallhaven": "Wallhaven"
|
||||
},
|
||||
"title": "Seletor de papel de parede",
|
||||
"wallhaven-settings": {
|
||||
"apply": "Aplicar",
|
||||
"title": "Configurações do Wallhaven"
|
||||
}
|
||||
},
|
||||
"transitions": {
|
||||
"disc": "Disco",
|
||||
@@ -1900,7 +2226,13 @@
|
||||
"stripes": "Listras",
|
||||
"wipe": "Limpar"
|
||||
},
|
||||
"try-different-search": "Tente uma busca diferente."
|
||||
"try-different-search": "Tente uma busca diferente.",
|
||||
"unknown": "Desconhecido",
|
||||
"wallhaven": {
|
||||
"loading": "Carregando papéis de parede...",
|
||||
"no-results": "Nenhum papel de parede encontrado. Tente uma busca diferente.",
|
||||
"page": "{current} de {total}"
|
||||
}
|
||||
},
|
||||
"weather": {
|
||||
"clear-sky": "Céu limpo",
|
||||
@@ -2009,6 +2341,7 @@
|
||||
},
|
||||
"wifi": {
|
||||
"panel": {
|
||||
"available-networks": "Redes Disponíveis",
|
||||
"connect": "Conectar",
|
||||
"connected": "Conectado",
|
||||
"disabled": "O Wi-Fi está desativado",
|
||||
@@ -2019,6 +2352,7 @@
|
||||
"forget": "Esquecer",
|
||||
"forget-network": "Esquecer esta rede?",
|
||||
"forgetting": "Esquecendo...",
|
||||
"known-networks": "Redes Conhecidas",
|
||||
"no-networks": "Nenhuma rede encontrada",
|
||||
"password": "Senha",
|
||||
"saved": "Salva",
|
||||
|
||||
@@ -123,21 +123,27 @@
|
||||
"stream-description": "Введите команду для непрерывного выполнения."
|
||||
},
|
||||
"dynamic-text": "Динамический текст",
|
||||
"hide-vertical": {
|
||||
"description": "Если включено, текст из вывода команды не будет отображаться, когда панель находится в вертикальном макете (слева или справа).",
|
||||
"label": "Скрывать текст в вертикальной панели"
|
||||
},
|
||||
"icon": {
|
||||
"description": "Выберите иконку из библиотеки.",
|
||||
"label": "Иконка"
|
||||
},
|
||||
"left-click": {
|
||||
"description": "Команда для выполнения при нажатии левой кнопкой мыши.",
|
||||
"label": "Клик левой кнопкой"
|
||||
"label": "Клик левой кнопкой",
|
||||
"update-text": "Обновить отображаемый текст по левому клику"
|
||||
},
|
||||
"max-text-length-horizontal": {
|
||||
"description": "Максимальное количество символов для отображения в горизонтальной панели (0 для скрытия текста)",
|
||||
"label": "Макс. длина текста (горизонтально)"
|
||||
},
|
||||
"max-text-length-vertical": {
|
||||
"description": "Максимальное количество символов для отображения в вертикальной панели (0 для скрытия текста)",
|
||||
"label": "Макс. длина текста (вертикально)"
|
||||
},
|
||||
"middle-click": {
|
||||
"description": "Команда для выполнения при нажатии средней кнопкой мыши.",
|
||||
"label": "Клик средней кнопкой"
|
||||
"label": "Клик средней кнопкой",
|
||||
"update-text": "Обновить отображаемый текст по среднему клику"
|
||||
},
|
||||
"parse-json": {
|
||||
"description": "Разобрать вывод команды как объект JSON для динамической установки текста и иконки.",
|
||||
@@ -149,11 +155,29 @@
|
||||
},
|
||||
"right-click": {
|
||||
"description": "Команда для выполнения при нажатии правой кнопкой мыши.",
|
||||
"label": "Клик правой кнопкой"
|
||||
"label": "Клик правой кнопкой",
|
||||
"update-text": "Обновить отображаемый текст по правому клику"
|
||||
},
|
||||
"text-stream": {
|
||||
"description": "Потоковые строки из команды будут отображаться как текст на кнопке.",
|
||||
"label": "Поток"
|
||||
},
|
||||
"wheel": {
|
||||
"description": "Команда для выполнения при использовании колеса прокрутки.\nИспользуйте $delta для дельты колеса прокрутки в команде",
|
||||
"label": "Колесо прокрутки",
|
||||
"update-text": "Обновить отображаемый текст при прокрутке"
|
||||
},
|
||||
"wheel-down": {
|
||||
"description": "Команда для выполнения при прокрутке колеса вниз.",
|
||||
"label": "Команда прокрутки колеса вниз"
|
||||
},
|
||||
"wheel-mode-separate": {
|
||||
"description": "Включить раздельные команды для колеса прокрутки вверх и вниз",
|
||||
"label": "Раздельные команды колеса прокрутки"
|
||||
},
|
||||
"wheel-up": {
|
||||
"description": "Команда для выполнения при прокрутке колеса вверх.",
|
||||
"label": "Команда прокрутки колеса вверх"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
@@ -199,6 +223,10 @@
|
||||
"description": "Отображать обложку альбома для текущего воспроизводимого трека.",
|
||||
"label": "Показывать обложку альбома"
|
||||
},
|
||||
"show-artist-first": {
|
||||
"description": "Исполнитель - название вместо название - исполнитель.",
|
||||
"label": "Сначала исполнитель"
|
||||
},
|
||||
"show-visualizer": {
|
||||
"description": "Отображать аудиовизуализатор при воспроизведении музыки.",
|
||||
"label": "Показывать визуализатор"
|
||||
@@ -239,6 +267,9 @@
|
||||
}
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "Использование CPU (Критично)"
|
||||
},
|
||||
"cpu-temperature": {
|
||||
"description": "Показывать показания температуры процессора, если доступны.",
|
||||
"label": "Температура CPU"
|
||||
@@ -247,6 +278,25 @@
|
||||
"description": "Отображать текущий процент использования CPU.",
|
||||
"label": "Использование CPU"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "Использование CPU (Предупреждение)"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "Место на диске (Критично)"
|
||||
},
|
||||
"disk-path": {
|
||||
"description": "Выберите точку монтирования диска для мониторинга.",
|
||||
"label": "Путь к диску"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "Место на диске (Предупреждение)"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "Использование памяти (Критично)"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "Использование памяти (Предупреждение)"
|
||||
},
|
||||
"memory-percentage": {
|
||||
"description": "Показывать использование памяти в процентах вместо абсолютных значений.",
|
||||
"label": "Память в процентах"
|
||||
@@ -262,6 +312,16 @@
|
||||
"storage-usage": {
|
||||
"description": "Показывать информацию об использовании дискового пространства.",
|
||||
"label": "Использование хранилища"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "Температура CPU: (Критично)"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "Температура CPU (Внимание)"
|
||||
},
|
||||
"thresholds": {
|
||||
"description": "Установите пороги для оповещений системных метрик. Выделяет при превышении.",
|
||||
"header": "Пороговые значения"
|
||||
}
|
||||
},
|
||||
"taskbar": {
|
||||
@@ -283,13 +343,9 @@
|
||||
}
|
||||
},
|
||||
"taskbar-grouped": {
|
||||
"show-numbers-only-when-occupied": {
|
||||
"description": "Показывать номера рабочих пространств только для тех, на которых есть открытые окна.",
|
||||
"label": "Показывать номера только при занятости"
|
||||
},
|
||||
"show-workspace-numbers": {
|
||||
"description": "Отображать номера рабочих пространств в верхнем левом углу групп задач.",
|
||||
"label": "Показывать номера рабочих пространств"
|
||||
"show-labels-only-when-occupied": {
|
||||
"description": "Отображать метку рабочего пространства только для тех рабочих пространств, в которых есть открытые окна.",
|
||||
"label": "Показывать метку только когда занято"
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
@@ -332,13 +388,6 @@
|
||||
"health": "Здоровье: {percent}%",
|
||||
"idle": "Простой.",
|
||||
"no-battery-detected": "Батарея не обнаружена.",
|
||||
"panel": {
|
||||
"balanced": "Сбалансированный ({percent}%)",
|
||||
"disabled": "Диспетчер батареи отключен",
|
||||
"full": "Полная емкость ({percent}%)",
|
||||
"lifespan": "Увеличенный срок службы ({percent}%)",
|
||||
"title": "Порог зарядки"
|
||||
},
|
||||
"plugged-in": "Подключено.",
|
||||
"time-left": "Осталось времени: {time}.",
|
||||
"time-until-full": "Время до полной зарядки: {time}."
|
||||
@@ -367,9 +416,61 @@
|
||||
"loading": "Загрузка погоды…"
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"fetch-failed": "Не удалось загрузить данные журнала изменений. Пожалуйста, попробуйте позже.",
|
||||
"rate-limit": "Превышен лимит GitHub. Попробуйте снова через несколько минут."
|
||||
},
|
||||
"panel": {
|
||||
"buttons": {
|
||||
"discord": "Присоединиться к нашему Discord",
|
||||
"dismiss": "Ок"
|
||||
},
|
||||
"empty": "Примечания к выпуску пока недоступны.",
|
||||
"highlight-title": "Основные изменения",
|
||||
"section": {
|
||||
"released": "Выпущено {date}",
|
||||
"version": "Версия {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "Спасибо за установку Noctalia! Вот что входит в этот билд.",
|
||||
"updated": "Обновлено с {previousVersion}"
|
||||
},
|
||||
"title": "Что нового в {version}",
|
||||
"version": {
|
||||
"new-user": "Новая установка"
|
||||
}
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
"tooltip": "Открыть календарь"
|
||||
},
|
||||
"context-menu": {
|
||||
"activate-app": "Активировать {app}",
|
||||
"clear-history": "Очистить историю",
|
||||
"close-app": "Закрыть {app}",
|
||||
"connect-vpn": "Подключиться к {name}",
|
||||
"cycle-visualizer": "Визуализатор циклов",
|
||||
"disable-bluetooth": "Отключить Bluetooth",
|
||||
"disable-dnd": "Отключить режим \"Не беспокоить\"",
|
||||
"disable-wifi": "Отключить Wi-Fi",
|
||||
"disconnect-vpn": "Отключить {name}",
|
||||
"enable-bluetooth": "Включить Bluetooth",
|
||||
"enable-dnd": "Не беспокоить",
|
||||
"enable-wifi": "Включить Wi-Fi",
|
||||
"next": "Следующий",
|
||||
"open-calendar": "Открыть календарь",
|
||||
"open-display-settings": "Настройки экрана",
|
||||
"open-launcher": "Открыть лаунчер",
|
||||
"open-mixer": "Аудиомикшер",
|
||||
"open-settings": "Открыть настройки",
|
||||
"pause": "Пауза",
|
||||
"play": "Играть",
|
||||
"previous": "Предыдущий",
|
||||
"random-wallpaper": "Случайные обои",
|
||||
"toggle-mute": "Включить/выключить звук",
|
||||
"widget-settings": "Настройки виджета"
|
||||
},
|
||||
"dock": {
|
||||
"menu": {
|
||||
"close": "Закрыть",
|
||||
@@ -533,6 +634,7 @@
|
||||
},
|
||||
"workspace-labels": {
|
||||
"index": "Индекс",
|
||||
"index+name": "Индекс и название",
|
||||
"name": "Имя",
|
||||
"none": "Нет"
|
||||
}
|
||||
@@ -548,6 +650,7 @@
|
||||
"search": "Поиск...",
|
||||
"search-icons": "например, noctalia, niri, battery, cloud",
|
||||
"search-launcher": "Поиск записей... или используйте > для команд",
|
||||
"search-wallhaven": "Поиск в Wallhaven...",
|
||||
"search-wallpapers": "Введите для фильтрации обоев...",
|
||||
"select": "Выбрать",
|
||||
"test": "Тест"
|
||||
@@ -644,6 +747,7 @@
|
||||
},
|
||||
"session-menu": {
|
||||
"action-in-seconds": "{action} через {seconds} секунд...",
|
||||
"hibernate": "Гибернация",
|
||||
"lock": "Блокировать",
|
||||
"lock-and-suspend": "Блокировать и приостановить",
|
||||
"logout": "Выйти",
|
||||
@@ -688,6 +792,11 @@
|
||||
"label": "Аудиоустройства"
|
||||
}
|
||||
},
|
||||
"external-mixer": {
|
||||
"description": "Введите команду или путь к приложению для запуска при активации функции внешнего аудиомикшера.",
|
||||
"label": "Команда внешнего аудиомикшера",
|
||||
"placeholder": "pwvucontrol || pavucontrol"
|
||||
},
|
||||
"media": {
|
||||
"excluded-player": {
|
||||
"description": "Добавьте ключевые слова для плееров, которые система должна игнорировать. Каждое ключевое слово должно быть на новой строке.",
|
||||
@@ -762,6 +871,10 @@
|
||||
"description": "Настройка непрозрачности фона панели.",
|
||||
"label": "Непрозрачность фона"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "Установить уровень непрозрачности для фона виджетов, когда капсула отображается.",
|
||||
"label": "Непрозрачность капсулы"
|
||||
},
|
||||
"density": {
|
||||
"description": "Настройка отступов панели для компактного или просторного вида.",
|
||||
"label": "Плотность панели"
|
||||
@@ -854,6 +967,41 @@
|
||||
"label": "Темный режим"
|
||||
}
|
||||
},
|
||||
"delete": {
|
||||
"error": {
|
||||
"description": "Не удалось удалить {scheme}",
|
||||
"title": "Ошибка удаления"
|
||||
},
|
||||
"success": {
|
||||
"description": "{scheme} успешно удалена",
|
||||
"title": "Цветовая схема удалена"
|
||||
}
|
||||
},
|
||||
"download": {
|
||||
"button": "Загрузить ещё",
|
||||
"delete": "Удалить",
|
||||
"download": "Загрузить",
|
||||
"downloading": "Загрузка...",
|
||||
"empty": "Нет доступных цветовых схем",
|
||||
"error": {
|
||||
"api-error": "Ошибка API: {status}",
|
||||
"description": "Не удалось загрузить {scheme}",
|
||||
"download-failed": "Ошибка загрузки с кодом выхода: {code}",
|
||||
"invalid-response": "Неверный формат ответа API",
|
||||
"no-files": "Файлы для схемы не найдены",
|
||||
"parse-failed": "Ошибка парсинга ответа API: {error}",
|
||||
"rate-limit": "Превышен лимит запросов GitHub API",
|
||||
"title": "Ошибка загрузки"
|
||||
},
|
||||
"fetching": "Получение доступных цветовых схем...",
|
||||
"installed": "Установлено",
|
||||
"refresh": "Обновить",
|
||||
"success": {
|
||||
"description": "{scheme} успешно загружена",
|
||||
"title": "Цветовая схема загружена"
|
||||
},
|
||||
"title": "Загрузить цветовые схемы"
|
||||
},
|
||||
"predefined": {
|
||||
"generate-templates": {
|
||||
"description": "Генерировать шаблоны Matugen (GTK, темы терминала и т. д.) при использовании предопределенных цветовых схем.",
|
||||
@@ -876,7 +1024,7 @@
|
||||
"programs": {
|
||||
"code": {
|
||||
"description": "Записать {filepath}. Тему Hyprluna нужно установить и активировать вручную.",
|
||||
"description-missing": "Требуется установка {app}"
|
||||
"description-missing": "Клиент Code не обнаружен. Установите VSCode или VSCodium."
|
||||
},
|
||||
"description": "Тематика для конкретных приложений.",
|
||||
"discord": {
|
||||
@@ -896,6 +1044,10 @@
|
||||
"description": "Записать {filepath}. Тему Comfy нужно установить и активировать вручную.",
|
||||
"description-missing": "Требуется установка {app}"
|
||||
},
|
||||
"telegram": {
|
||||
"description": "Записать {filepath}.",
|
||||
"description-missing": "Требуется установка {app}"
|
||||
},
|
||||
"vicinae": {
|
||||
"description": "Записать {filepath} и перезагрузить",
|
||||
"description-missing": "Требуется установка {app}"
|
||||
@@ -1092,6 +1244,10 @@
|
||||
"description": "Настройка непрозрачности фона панели приложений.",
|
||||
"label": "Непрозрачность фона"
|
||||
},
|
||||
"border-radius": {
|
||||
"description": "Измените радиус границы дока.",
|
||||
"label": "Радиус скругления границы"
|
||||
},
|
||||
"colorize-icons": {
|
||||
"description": "Применить цвета темы к иконкам приложений на панели (только для нефокусированных приложений).",
|
||||
"label": "Раскрасить иконки"
|
||||
@@ -1243,6 +1399,10 @@
|
||||
"description": "Настройка непрозрачности фона запуска.",
|
||||
"label": "Непрозрачность фона"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": "Показывать предварительный просмотр содержимого буфера обмена при использовании команды >clip.",
|
||||
"label": "Включить предварительный просмотр буфера обмена"
|
||||
},
|
||||
"clipboard-history": {
|
||||
"description": "Доступ к ранее скопированным элементам из запуска.",
|
||||
"label": "Включить историю буфера обмена"
|
||||
@@ -1331,6 +1491,10 @@
|
||||
"description": "Выберите предпочитаемую единицу измерения температуры.",
|
||||
"label": "Погода"
|
||||
},
|
||||
"show-effects": {
|
||||
"description": "Отображает дополнительные визуальные эффекты (например, дождь, снег или молнию) на карточке погоды.",
|
||||
"label": "Отображать погодные эффекты"
|
||||
},
|
||||
"show-in-calendar": {
|
||||
"description": "Показывать ежедневный прогноз погоды непосредственно в вашем календаре.",
|
||||
"label": "Отображать погоду в календаре"
|
||||
@@ -1346,6 +1510,10 @@
|
||||
"description": "Автоматически блокировать экран при приостановке работы системы.",
|
||||
"label": "Блокировать при приостановке"
|
||||
},
|
||||
"show-hibernate": {
|
||||
"description": "Показывать опцию 'спящий режим' в действиях питания.",
|
||||
"label": "Показывать спящий режим"
|
||||
},
|
||||
"title": "Экран блокировки"
|
||||
},
|
||||
"network": {
|
||||
@@ -1437,6 +1605,10 @@
|
||||
"description": "Отображать OSD поверх полноэкранных окон и других слоев.",
|
||||
"label": "Всегда сверху"
|
||||
},
|
||||
"background-opacity": {
|
||||
"description": "Управляет прозрачностью фона OSD.",
|
||||
"label": "Прозрачность фона"
|
||||
},
|
||||
"description": "Настройка экранных индикаторов, таких как оверлеи громкости и яркости.",
|
||||
"duration": {
|
||||
"auto-hide": {
|
||||
@@ -1529,7 +1701,107 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration": {
|
||||
"description": "Установить, как долго длится таймер обратного отсчета перед выполнением действий питания.",
|
||||
"label": "Длительность обратного отсчета"
|
||||
},
|
||||
"enable-countdown": {
|
||||
"description": "Показывать таймер обратного отсчета перед выполнением действий питания.",
|
||||
"label": "Включить таймер обратного отсчета"
|
||||
},
|
||||
"entries": {
|
||||
"section": {
|
||||
"description": "Настроить, какие действия питания отображаются в меню сеанса и в каком порядке.",
|
||||
"label": "Действия питания"
|
||||
}
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Настройка поведения и внешнего вида панели меню сеанса.",
|
||||
"label": "Общие"
|
||||
}
|
||||
},
|
||||
"position": {
|
||||
"description": "Выберите, где появляется панель меню сеанса при открытии.",
|
||||
"label": "Позиция"
|
||||
},
|
||||
"show-header": {
|
||||
"description": "Отображать заголовок и кнопку закрытия в верхней части меню сеанса.",
|
||||
"label": "Показывать заголовок"
|
||||
},
|
||||
"title": "Меню сеанса"
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "Критический порог"
|
||||
},
|
||||
"cpu-section": {
|
||||
"label": "Использование ЦП"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "Порог предупреждения"
|
||||
},
|
||||
"critical-color": {
|
||||
"label": "Критический цвет"
|
||||
},
|
||||
"custom-highlight-colors-title": {
|
||||
"label": "Пользовательские цвета выделения"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "Критический порог"
|
||||
},
|
||||
"disk-section": {
|
||||
"label": "Использование диска"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "Порог предупреждения"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Настроить поведение и внешний вид системного монитора.",
|
||||
"label": "Общее"
|
||||
}
|
||||
},
|
||||
"highlight-colors-section": {
|
||||
"label": "Цвета выделения"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "Критический порог"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "Порог предупреждения"
|
||||
},
|
||||
"memory-section": {
|
||||
"label": "Использование памяти"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "Критический порог"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "Порог предупреждения"
|
||||
},
|
||||
"temperature-section": {
|
||||
"label": "Температура ЦП"
|
||||
},
|
||||
"thresholds-section": {
|
||||
"description": "Установите пороги для системных метрик; значения выше будут выделены.",
|
||||
"label": "Пороги"
|
||||
},
|
||||
"title": "Системный монитор",
|
||||
"use-custom-highlight-colors": {
|
||||
"description": "Если отключено, используются цвета выделения по умолчанию темы.",
|
||||
"label": "Использовать пользовательские цвета выделения"
|
||||
},
|
||||
"warning-color": {
|
||||
"label": "Цвет предупреждения"
|
||||
}
|
||||
},
|
||||
"user-interface": {
|
||||
"allow-panels-without-bar": {
|
||||
"description": "Когда включено, панели могут открываться на любом экране. Когда выключено, панели будут открываться только на экранах с панелью, что может снизить использование памяти.",
|
||||
"label": "Разрешить панели на экранах без панели задач."
|
||||
},
|
||||
"animation-disable": {
|
||||
"description": "Отключить все анимации для более быстрого и отзывчивого взаимодействия.",
|
||||
"label": "Отключить анимации интерфейса"
|
||||
@@ -1548,6 +1820,15 @@
|
||||
"description": "Затемнять рабочий стол при открытии панелей или меню.",
|
||||
"label": "Затемнять рабочий стол"
|
||||
},
|
||||
"dimmer-opacity": {
|
||||
"description": "Установить уровень непрозрачности для затемнения рабочего стола.",
|
||||
"label": "Непрозрачность затемненного рабочего стола",
|
||||
"reset": "Сбросить непрозрачность затемненного рабочего стола"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "Установить прозрачность фона для всех панелей (Launcher, Центр управления, Настройки и т.д.).",
|
||||
"label": "Прозрачность фона панелей"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
"description": "Панели прикрепляются к панели и краям экрана, создавая цельный вид со стильными инвертированными углами.",
|
||||
"label": "Прикрепить панели к краям"
|
||||
@@ -1640,6 +1921,10 @@
|
||||
"label": "Папка с обоями",
|
||||
"tooltip": "Обзор папки с обоями"
|
||||
},
|
||||
"hide-wallpaper-filenames": {
|
||||
"description": "Скрыть имена файлов обоев в селекторе.",
|
||||
"label": "Скрыть имена файлов"
|
||||
},
|
||||
"monitor-specific": {
|
||||
"description": "Установить отдельную папку с обоями для каждого монитора.",
|
||||
"label": "Каталоги для конкретного монитора",
|
||||
@@ -1655,6 +1940,11 @@
|
||||
},
|
||||
"select-folder": "Выбрать папку с обоями",
|
||||
"select-monitor-folder": "Выбрать папку с обоями для монитора",
|
||||
"selector": {
|
||||
"description": "Выберите обои.",
|
||||
"label": "Выбор обоев",
|
||||
"tooltip": "Открыть выбор обоев"
|
||||
},
|
||||
"selector-position": {
|
||||
"description": "Выберите, где появляется панель выбора обоев.",
|
||||
"label": "Положение"
|
||||
@@ -1719,19 +2009,6 @@
|
||||
"low": "Низкий заряд батареи",
|
||||
"low-desc": "Заряд батареи {percent}%. Пожалуйста, подключите зарядное устройство."
|
||||
},
|
||||
"battery-manager": {
|
||||
"initial-setup": "Требуется начальная настройка",
|
||||
"install-failed": "Сбой установки",
|
||||
"install-missing": "Отсутствуют необходимые файлы",
|
||||
"install-success": "Успешно установлено",
|
||||
"install-unsupported": "Система не поддерживается",
|
||||
"set-failed": "Не удалось установить порог зарядки батареи",
|
||||
"set-success-desc": "Порог зарядки батареи установлен на {percent}%",
|
||||
"title": "Порог зарядки батареи",
|
||||
"uninstall-failed": "Сбой удаления",
|
||||
"uninstall-setup": "Удаление, требуется аутентификация",
|
||||
"uninstall-success": "Успешно удалено"
|
||||
},
|
||||
"bluetooth": {
|
||||
"disabled": "Отключен",
|
||||
"enabled": "Включен"
|
||||
@@ -1800,6 +2077,10 @@
|
||||
"title-matugen": "Сбой обработки шаблонов Matugen",
|
||||
"title-predefined": "Сбой обработки предопределенной цветовой схемы"
|
||||
},
|
||||
"vpn": {
|
||||
"connected": "Подключено к '{name}'",
|
||||
"disconnected": "Отключено от '{name}'"
|
||||
},
|
||||
"wallpaper-colors": {
|
||||
"disabled": "Цвета обоев отключены",
|
||||
"enabled": "Цвета обоев включены",
|
||||
@@ -1833,6 +2114,7 @@
|
||||
"input-muted": "Переключить заглушение ввода",
|
||||
"keep-awake": "Не засыпать",
|
||||
"keyboard-layout": "Раскладка клавиатуры {layout}",
|
||||
"manage-vpn": "Управлять VPN-подключениями",
|
||||
"manage-wifi": "Управление Wi-Fi",
|
||||
"microphone-volume-at": "Громкость микрофона {volume}%\nЛевый клик для настроек. Правый клик для переключения заглушения.\nПрокрутка для изменения громкости.",
|
||||
"move-to-center-section": "Переместить в центральную секцию",
|
||||
@@ -1860,6 +2142,7 @@
|
||||
"previous-month": "Предыдущий месяц",
|
||||
"refresh": "Обновить",
|
||||
"refresh-devices": "Обновить устройства",
|
||||
"refresh-wallhaven": "Обновить результаты Wallhaven",
|
||||
"refresh-wallpaper-list": "Обновить список обоев",
|
||||
"remove-widget": "Удалить виджет",
|
||||
"screen-recorder-not-installed": "Запись экрана не установлена",
|
||||
@@ -1889,8 +2172,51 @@
|
||||
"description": "Применить выбранные обои ко всем мониторам одновременно.",
|
||||
"label": "Применить ко всем мониторам"
|
||||
},
|
||||
"categories": {
|
||||
"anime": "Аниме",
|
||||
"general": "Общее",
|
||||
"label": "Категории",
|
||||
"people": "Люди"
|
||||
},
|
||||
"order": {
|
||||
"asc": "По возрастанию",
|
||||
"desc": "По убыванию",
|
||||
"label": "Порядок"
|
||||
},
|
||||
"purity": {
|
||||
"all": "Все",
|
||||
"label": "Фильтр контента",
|
||||
"sfw": "SFW",
|
||||
"sketchy": "Sketchy"
|
||||
},
|
||||
"resolution": {
|
||||
"atleast": "По крайней мере",
|
||||
"exact": "Точно",
|
||||
"label": "Разрешение",
|
||||
"mode": {
|
||||
"label": "Режим"
|
||||
}
|
||||
},
|
||||
"search": "Поиск:",
|
||||
"title": "Выбор обоев"
|
||||
"sorting": {
|
||||
"date_added": "Дата добавления",
|
||||
"favorites": "Избранное",
|
||||
"label": "Сортировать по",
|
||||
"random": "Случайно",
|
||||
"relevance": "Релевантность",
|
||||
"toplist": "Топ-лист",
|
||||
"views": "Просмотры"
|
||||
},
|
||||
"source": {
|
||||
"label": "Источник",
|
||||
"local": "Локальный",
|
||||
"wallhaven": "Wallhaven"
|
||||
},
|
||||
"title": "Выбор обоев",
|
||||
"wallhaven-settings": {
|
||||
"apply": "Применить",
|
||||
"title": "Настройки Wallhaven"
|
||||
}
|
||||
},
|
||||
"transitions": {
|
||||
"disc": "Диск",
|
||||
@@ -1900,7 +2226,13 @@
|
||||
"stripes": "Полосы",
|
||||
"wipe": "Стирание"
|
||||
},
|
||||
"try-different-search": "Попробуйте другой поисковый запрос."
|
||||
"try-different-search": "Попробуйте другой поисковый запрос.",
|
||||
"unknown": "Неизвестно",
|
||||
"wallhaven": {
|
||||
"loading": "Загрузка обоев...",
|
||||
"no-results": "Обои не найдены. Попробуйте другой поисковый запрос.",
|
||||
"page": "{current} из {total}"
|
||||
}
|
||||
},
|
||||
"weather": {
|
||||
"clear-sky": "Ясное небо",
|
||||
@@ -2009,6 +2341,7 @@
|
||||
},
|
||||
"wifi": {
|
||||
"panel": {
|
||||
"available-networks": "Доступные сети",
|
||||
"connect": "Подключить",
|
||||
"connected": "Подключено",
|
||||
"disabled": "Wi-Fi отключен",
|
||||
@@ -2019,6 +2352,7 @@
|
||||
"forget": "Забыть",
|
||||
"forget-network": "Забыть эту сеть?",
|
||||
"forgetting": "Забывание...",
|
||||
"known-networks": "Известные сети",
|
||||
"no-networks": "Сети не найдены",
|
||||
"password": "Пароль",
|
||||
"saved": "Сохранено",
|
||||
|
||||
@@ -123,21 +123,27 @@
|
||||
"stream-description": "Sürekli çalıştırılacak bir komut girin."
|
||||
},
|
||||
"dynamic-text": "Dinamik metin",
|
||||
"hide-vertical": {
|
||||
"description": "Etkinleştirilirse, komut çıktısındaki metin, çubuk dikey düzende (sol veya sağ) olduğunda gösterilmeyecektir.",
|
||||
"label": "Dikey çubukta metni gizle"
|
||||
},
|
||||
"icon": {
|
||||
"description": "Kütüphaneden bir ikon seçin.",
|
||||
"label": "İkon"
|
||||
},
|
||||
"left-click": {
|
||||
"description": "Butona sol tıklandığında yürütülecek komut.",
|
||||
"label": "Sol tıklama"
|
||||
"label": "Sol tıklama",
|
||||
"update-text": "Sol tıklamayla görüntülenen metni güncelle"
|
||||
},
|
||||
"max-text-length-horizontal": {
|
||||
"description": "Yatay çubukta gösterilecek maksimum karakter sayısı (metni gizlemek için 0)",
|
||||
"label": "Maks. metin uzunluğu (yatay)"
|
||||
},
|
||||
"max-text-length-vertical": {
|
||||
"description": "Dikey çubukta gösterilecek maksimum karakter sayısı (metni gizlemek için 0)",
|
||||
"label": "Maks. metin uzunluğu (dikey)"
|
||||
},
|
||||
"middle-click": {
|
||||
"description": "Butona orta tıklandığında yürütülecek komut.",
|
||||
"label": "Orta tıklama"
|
||||
"label": "Orta tıklama",
|
||||
"update-text": "Orta tıklamayla görüntülenen metni güncelle"
|
||||
},
|
||||
"parse-json": {
|
||||
"description": "Komut çıktısını metin ve ikon dinamik olarak ayarlamak için bir JSON nesnesi olarak ayrıştırın.",
|
||||
@@ -149,11 +155,29 @@
|
||||
},
|
||||
"right-click": {
|
||||
"description": "Butona sağ tıklandığında yürütülecek komut.",
|
||||
"label": "Sağ tıklama"
|
||||
"label": "Sağ tıklama",
|
||||
"update-text": "Sağ tıklamada görüntülenen metni güncelle"
|
||||
},
|
||||
"text-stream": {
|
||||
"description": "Komuttan gelen akış satırları butonda metin olarak gösterilecektir.",
|
||||
"label": "Akış"
|
||||
},
|
||||
"wheel": {
|
||||
"description": "Kaydırma tekerleği kullanıldığında yürütülecek komut.\nKomutta kaydırma tekerleği deltası için $delta kullanın",
|
||||
"label": "Kaydırma tekerleği",
|
||||
"update-text": "Kaydırmada gösterilen metni güncelle"
|
||||
},
|
||||
"wheel-down": {
|
||||
"description": "Kaydırma tekerleği aşağı kaydırıldığında yürütülecek komut.",
|
||||
"label": "Kaydırma tekerleği aşağı komutu"
|
||||
},
|
||||
"wheel-mode-separate": {
|
||||
"description": "Kaydırma tekerleği yukarı ve aşağı için ayrı komutları etkinleştir",
|
||||
"label": "Ayrı kaydırma tekerleği komutları"
|
||||
},
|
||||
"wheel-up": {
|
||||
"description": "Kaydırma tekerleği yukarı kaydırıldığında yürütülecek komut.",
|
||||
"label": "Kaydırma tekerleği yukarı komutu"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
@@ -199,6 +223,10 @@
|
||||
"description": "Şu anda çalan parçanın albüm kapak sanatını göster.",
|
||||
"label": "Albüm kapağını göster"
|
||||
},
|
||||
"show-artist-first": {
|
||||
"description": "Sanatçı - başlık yerine başlık - sanatçı olarak göster.",
|
||||
"label": "Önce sanatçıyı göster"
|
||||
},
|
||||
"show-visualizer": {
|
||||
"description": "Müzik çalarken bir ses görselleştirici göster.",
|
||||
"label": "Görselleştiriciyi göster"
|
||||
@@ -239,6 +267,9 @@
|
||||
}
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "CPU Kullanımı (Kritik)"
|
||||
},
|
||||
"cpu-temperature": {
|
||||
"description": "Mevcut CPU sıcaklık okumalarını gösterilir.",
|
||||
"label": "CPU sıcaklığı"
|
||||
@@ -247,6 +278,25 @@
|
||||
"description": "Mevcut CPU kullanım yüzdesini göster.",
|
||||
"label": "CPU kullanımı"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "CPU Kullanımı (Uyarı)"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "Depolama Alanı (Kritik)"
|
||||
},
|
||||
"disk-path": {
|
||||
"description": "İzlenecek disk bağlama noktasını seçin.",
|
||||
"label": "Disk yolu"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "Depolama Alanı (Uyarı)"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "Bellek Kullanımı (Kritik)"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "Bellek Kullanımı (Uyarı)"
|
||||
},
|
||||
"memory-percentage": {
|
||||
"description": "Mutlak değerler yerine bellek kullanımını yüzde olarak göster.",
|
||||
"label": "Bellek yüzde olarak"
|
||||
@@ -262,6 +312,16 @@
|
||||
"storage-usage": {
|
||||
"description": "Disk alanı kullanım bilgilerini göster.",
|
||||
"label": "Depolama kullanımı"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "CPU Sıcaklığı (Kritik)"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "CPU Sıcaklığı (Uyarı)"
|
||||
},
|
||||
"thresholds": {
|
||||
"description": "Sistem metrik eşiklerini ayarlayın. Aşıldığında vurgular.",
|
||||
"header": "Eşik Ayarları"
|
||||
}
|
||||
},
|
||||
"taskbar": {
|
||||
@@ -283,13 +343,9 @@
|
||||
}
|
||||
},
|
||||
"taskbar-grouped": {
|
||||
"show-numbers-only-when-occupied": {
|
||||
"description": "Çalışma alanı numaralarını yalnızca açık pencereleri olan çalışma alanları için göster.",
|
||||
"label": "Yalnızca dolu olduğunda numaraları göster"
|
||||
},
|
||||
"show-workspace-numbers": {
|
||||
"description": "Görev gruplarının sol üst köşesinde çalışma alanı numaralarını göster.",
|
||||
"label": "Çalışma alanı numaralarını göster"
|
||||
"show-labels-only-when-occupied": {
|
||||
"description": "Sadece açık pencereleri olan çalışma alanları için çalışma alanı etiketini göster.",
|
||||
"label": "Sadece dolu olduğunda etiketi göster."
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
@@ -332,13 +388,6 @@
|
||||
"health": "Sağlık: {percent}%",
|
||||
"idle": "Boşta.",
|
||||
"no-battery-detected": "Pil tespit edilmedi.",
|
||||
"panel": {
|
||||
"balanced": "Dengeli ({percent}%)",
|
||||
"disabled": "Pil yöneticisi devre dışı",
|
||||
"full": "Tam kapasite ({percent}%)",
|
||||
"lifespan": "Uzatılmış ömür ({percent}%)",
|
||||
"title": "Şarj eşiği"
|
||||
},
|
||||
"plugged-in": "Prize takılı.",
|
||||
"time-left": "Kalan süre: {time}.",
|
||||
"time-until-full": "Dolma süresi: {time}."
|
||||
@@ -367,9 +416,61 @@
|
||||
"loading": "Hava durumu yükleniyor..."
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"fetch-failed": "Değişiklik günlüğü verileri yüklenemedi. Lütfen daha sonra tekrar dene.",
|
||||
"rate-limit": "GitHub sınırına ulaşıldı. Lütfen birkaç dakika sonra tekrar dene."
|
||||
},
|
||||
"panel": {
|
||||
"buttons": {
|
||||
"discord": "Discord sunucumuza katıl",
|
||||
"dismiss": "Tamam"
|
||||
},
|
||||
"empty": "Sürüm notları henüz hazır değil.",
|
||||
"highlight-title": "Öne çıkanlar",
|
||||
"section": {
|
||||
"released": "{date} tarihinde yayımlandı",
|
||||
"version": "Sürüm {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "Noctalia’yı kurduğun için teşekkürler! Bu sürümde gelenler bunlar.",
|
||||
"updated": "{previousVersion} sürümünden güncellendi"
|
||||
},
|
||||
"title": "{version} sürümünde neler yeni",
|
||||
"version": {
|
||||
"new-user": "Yeni kurulum"
|
||||
}
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
"tooltip": "Takvimi aç"
|
||||
},
|
||||
"context-menu": {
|
||||
"activate-app": "{app}'i etkinleştir",
|
||||
"clear-history": "Geçmişi temizle",
|
||||
"close-app": "{app}'i kapat",
|
||||
"connect-vpn": "{name} bağlantısına bağlan",
|
||||
"cycle-visualizer": "Döngü görselleştirici",
|
||||
"disable-bluetooth": "Bluetooth'u kapat",
|
||||
"disable-dnd": "Rahatsız Etmeyin'i Kapat",
|
||||
"disable-wifi": "Wi-Fi'ı kapat",
|
||||
"disconnect-vpn": "{name} bağlantısını kes",
|
||||
"enable-bluetooth": "Bluetooth'u etkinleştir",
|
||||
"enable-dnd": "Rahatsız Etmeyin'i Etkinleştir",
|
||||
"enable-wifi": "Wi-Fi'ı etkinleştir",
|
||||
"next": "Sonraki",
|
||||
"open-calendar": "Takvimi aç",
|
||||
"open-display-settings": "Ekran ayarları",
|
||||
"open-launcher": "Başlatıcıyı aç",
|
||||
"open-mixer": "Ses mikseri",
|
||||
"open-settings": "Ayarları aç",
|
||||
"pause": "Duraklat",
|
||||
"play": "Oyna",
|
||||
"previous": "Önceki",
|
||||
"random-wallpaper": "Rastgele duvar kağıdı",
|
||||
"toggle-mute": "Sesi kapat/aç",
|
||||
"widget-settings": "Araç ayarları"
|
||||
},
|
||||
"dock": {
|
||||
"menu": {
|
||||
"close": "Kapat",
|
||||
@@ -533,6 +634,7 @@
|
||||
},
|
||||
"workspace-labels": {
|
||||
"index": "İndeks",
|
||||
"index+name": "Dizin ve Ad",
|
||||
"name": "İsim",
|
||||
"none": "Hiçbiri"
|
||||
}
|
||||
@@ -548,6 +650,7 @@
|
||||
"search": "Ara...",
|
||||
"search-icons": "örn., noctalia, niri, battery, cloud",
|
||||
"search-launcher": "Girişleri arayın... veya > komutları için kullanın",
|
||||
"search-wallhaven": "Wallhaven'da ara...",
|
||||
"search-wallpapers": "Duvar kağıtlarını filtrelemek için yazın...",
|
||||
"select": "Seç",
|
||||
"test": "Test"
|
||||
@@ -644,6 +747,7 @@
|
||||
},
|
||||
"session-menu": {
|
||||
"action-in-seconds": "{action} in {seconds} seconds...",
|
||||
"hibernate": "Hazırda Bekletme",
|
||||
"lock": "Kilitle",
|
||||
"lock-and-suspend": "Kilitle ve Askıya Al",
|
||||
"logout": "Oturumu kapat",
|
||||
@@ -688,6 +792,11 @@
|
||||
"label": "Ses cihazları"
|
||||
}
|
||||
},
|
||||
"external-mixer": {
|
||||
"description": "Harici ses mikseri özelliği etkinleştirilirken başlatılacak komutu veya uygulama yolunu girin.",
|
||||
"label": "Harici Ses Mikseri Komutu",
|
||||
"placeholder": "pwvucontrol || pavucontrol"
|
||||
},
|
||||
"media": {
|
||||
"excluded-player": {
|
||||
"description": "Sistemin yoksaymasını istediğiniz oynatıcılar için anahtar kelimeler ekleyin. Her anahtar kelime ayrı bir satırda olmalıdır.",
|
||||
@@ -762,6 +871,10 @@
|
||||
"description": "Barın arka plan opaklığını ayarlayın.",
|
||||
"label": "Arka plan opaklığı"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "Kapsül gösterildiğinde widget arka planlarının saydamlık seviyesini ayarla.",
|
||||
"label": "Kapsül saydamlığı"
|
||||
},
|
||||
"density": {
|
||||
"description": "Sıkı veya geniş bir görünüm için barın dolgusunu ayarlayın.",
|
||||
"label": "Bar yoğunluğu"
|
||||
@@ -854,6 +967,41 @@
|
||||
"label": "Koyu mod"
|
||||
}
|
||||
},
|
||||
"delete": {
|
||||
"error": {
|
||||
"description": "{scheme} silinemedi",
|
||||
"title": "Silme başarısız"
|
||||
},
|
||||
"success": {
|
||||
"description": "{scheme} başarıyla silindi",
|
||||
"title": "Renk şeması silindi"
|
||||
}
|
||||
},
|
||||
"download": {
|
||||
"button": "Daha fazla indir",
|
||||
"delete": "Sil",
|
||||
"download": "İndir",
|
||||
"downloading": "İndiriliyor...",
|
||||
"empty": "Mevcut renk şeması yok",
|
||||
"error": {
|
||||
"api-error": "API hatası: {status}",
|
||||
"description": "{scheme} indirilemedi",
|
||||
"download-failed": "İndirme başarısız, çıkış kodu: {code}",
|
||||
"invalid-response": "Geçersiz API yanıt formatı",
|
||||
"no-files": "Şema için dosya bulunamadı",
|
||||
"parse-failed": "API yanıtı ayrıştırılamadı: {error}",
|
||||
"rate-limit": "GitHub API hız sınırı aşıldı",
|
||||
"title": "İndirme başarısız"
|
||||
},
|
||||
"fetching": "Mevcut renk şemaları alınıyor...",
|
||||
"installed": "Yüklü",
|
||||
"refresh": "Yenile",
|
||||
"success": {
|
||||
"description": "{scheme} başarıyla indirildi",
|
||||
"title": "Renk şeması indirildi"
|
||||
},
|
||||
"title": "Renk şemalarını indir"
|
||||
},
|
||||
"predefined": {
|
||||
"generate-templates": {
|
||||
"description": "Önceden tanımlanmış renk şemaları kullanırken Matugen şablonları (GTK, terminal temaları vb.) oluşturun.",
|
||||
@@ -876,7 +1024,7 @@
|
||||
"programs": {
|
||||
"code": {
|
||||
"description": "{filepath} dosyasına yaz. Hyprluna temasının kurulu ve manuel olarak etkinleştirilmiş olması gerekir.",
|
||||
"description-missing": "Kurulum için {app} gereklidir"
|
||||
"description-missing": "Code istemcisi tespit edilmedi. VSCode veya VSCodium kurun."
|
||||
},
|
||||
"description": "Uygulamaya özel temalandırma.",
|
||||
"discord": {
|
||||
@@ -896,6 +1044,10 @@
|
||||
"description": "{filepath} dosyasına yaz. Comfy temasının kurulu ve manuel olarak etkinleştirilmiş olması gerekir.",
|
||||
"description-missing": "Kurulum için {app} gereklidir"
|
||||
},
|
||||
"telegram": {
|
||||
"description": "{filepath} dosyasına yaz.",
|
||||
"description-missing": "Kurulum için {app} gereklidir"
|
||||
},
|
||||
"vicinae": {
|
||||
"description": "{filepath} dosyasına yaz ve yeniden yükle",
|
||||
"description-missing": "Kurulum için {app} gereklidir"
|
||||
@@ -1092,6 +1244,10 @@
|
||||
"description": "Dock'un arka plan opaklığını ayarlayın.",
|
||||
"label": "Arka plan opaklığı"
|
||||
},
|
||||
"border-radius": {
|
||||
"description": "Dock'un kenar yarıçapını ayarla.",
|
||||
"label": "Kenar yarıçapı"
|
||||
},
|
||||
"colorize-icons": {
|
||||
"description": "Dock uygulama simgelerine tema renklerini uygulayın (sadece odaklanılmamış uygulamalar).",
|
||||
"label": "Simgeleri Renklendir"
|
||||
@@ -1243,6 +1399,10 @@
|
||||
"description": "Başlatıcının arka plan opaklığını ayarlayın.",
|
||||
"label": "Arka plan opaklığı"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": ">clip komutu kullanılırken panodaki içeriğin önizlemesini gösterir.",
|
||||
"label": "Panoyu önizlemeyi etkinleştir"
|
||||
},
|
||||
"clipboard-history": {
|
||||
"description": "Başlatıcıdan daha önce kopyalanan öğelere erişin.",
|
||||
"label": "Pano geçmişini etkinleştir"
|
||||
@@ -1331,6 +1491,10 @@
|
||||
"description": "Tercih ettiğiniz sıcaklık birimini seçin.",
|
||||
"label": "Hava durumu"
|
||||
},
|
||||
"show-effects": {
|
||||
"description": "Hava durumu kartında ek görsel efektler (yağmur, kar veya şimşek gibi) gösterir.",
|
||||
"label": "Hava efektlerini göster"
|
||||
},
|
||||
"show-in-calendar": {
|
||||
"description": "Günlük hava durumu tahminini doğrudan takvim görünümünüzde gösterin.",
|
||||
"label": "Takvimde hava durumunu göster"
|
||||
@@ -1346,6 +1510,10 @@
|
||||
"description": "Sistemi askıya alırken otomatik olarak ekranı kilitler.",
|
||||
"label": "Askıya alırken kilitle"
|
||||
},
|
||||
"show-hibernate": {
|
||||
"description": "Güç işlemlerinde 'hazırda beklet' seçeneğini göster.",
|
||||
"label": "Hazırda beklet seçeneğini göster"
|
||||
},
|
||||
"title": "Ekran Kilit"
|
||||
},
|
||||
"network": {
|
||||
@@ -1437,6 +1605,10 @@
|
||||
"description": "OSD'yi tam ekran pencerelerinin ve diğer katmanların üzerinde görüntüle.",
|
||||
"label": "Her zaman üstte"
|
||||
},
|
||||
"background-opacity": {
|
||||
"description": "OSD arka planının şeffaflığını kontrol eder.",
|
||||
"label": "Arka plan opaklığı"
|
||||
},
|
||||
"description": "Ses ve parlaklık kaplamaları gibi ekran göstergelerini yapılandırın.",
|
||||
"duration": {
|
||||
"auto-hide": {
|
||||
@@ -1529,7 +1701,107 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration": {
|
||||
"description": "Güç eylemlerini çalıştırmadan önce geri sayım zamanlayıcısının ne kadar süreceğini ayarlayın.",
|
||||
"label": "Geri sayım süresi"
|
||||
},
|
||||
"enable-countdown": {
|
||||
"description": "Güç eylemlerini çalıştırmadan önce bir geri sayım zamanlayıcısı göster.",
|
||||
"label": "Geri sayım zamanlayıcısını etkinleştir"
|
||||
},
|
||||
"entries": {
|
||||
"section": {
|
||||
"description": "Oturum Menüsünde hangi güç eylemlerinin görüneceğini ve hangi sırada görüneceğini özelleştirin.",
|
||||
"label": "Güç eylemleri"
|
||||
}
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Oturum menüsü panelinin davranışını ve görünümünü yapılandırın.",
|
||||
"label": "Genel"
|
||||
}
|
||||
},
|
||||
"position": {
|
||||
"description": "Oturum Menüsü panelinin açıldığında nerede görüneceğini seçin.",
|
||||
"label": "Konum"
|
||||
},
|
||||
"show-header": {
|
||||
"description": "Oturum Menüsünün üst kısmında başlığı ve kapat düğmesini göster.",
|
||||
"label": "Başlığı göster"
|
||||
},
|
||||
"title": "Oturum Menüsü"
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "Kritik Eşiği"
|
||||
},
|
||||
"cpu-section": {
|
||||
"label": "CPU Kullanımı"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "Uyarı Eşiği"
|
||||
},
|
||||
"critical-color": {
|
||||
"label": "Kritik renk"
|
||||
},
|
||||
"custom-highlight-colors-title": {
|
||||
"label": "Özel vurgulama renkleri"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "Kritik Eşiği"
|
||||
},
|
||||
"disk-section": {
|
||||
"label": "Disk Kullanımı"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "Uyarı Eşiği"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Sistem İzleyicisinin davranışını ve görünümünü yapılandırın.",
|
||||
"label": "Genel"
|
||||
}
|
||||
},
|
||||
"highlight-colors-section": {
|
||||
"label": "Vurgulama Renkleri"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "Kritik Eşiği"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "Uyarı Eşiği"
|
||||
},
|
||||
"memory-section": {
|
||||
"label": "Bellek Kullanımı"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "Kritik Eşiği"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "Uyarı Eşiği"
|
||||
},
|
||||
"temperature-section": {
|
||||
"label": "CPU Sıcaklığı"
|
||||
},
|
||||
"thresholds-section": {
|
||||
"description": "Sistem metrikleri için eşikler ayarlayın; bu değerlerin üzerindekiler vurgulanacaktır.",
|
||||
"label": "Eşikler"
|
||||
},
|
||||
"title": "Sistem İzleme",
|
||||
"use-custom-highlight-colors": {
|
||||
"description": "Devre dışı bırakıldığında, tema varsayılan vurgulama renkleri kullanılır.",
|
||||
"label": "Özel vurgulama renklerini kullan"
|
||||
},
|
||||
"warning-color": {
|
||||
"label": "Uyarı rengi"
|
||||
}
|
||||
},
|
||||
"user-interface": {
|
||||
"allow-panels-without-bar": {
|
||||
"description": "Etkinleştirildiğinde, paneller herhangi bir ekranda açılabilir. Devre dışı bırakıldığında, paneller yalnızca bir çubuğu olan ekranlarda açılır, bu da bellek kullanımını azaltabilir.",
|
||||
"label": "Çubuksuz ekranlardaki panellere izin ver."
|
||||
},
|
||||
"animation-disable": {
|
||||
"description": "Daha hızlı ve daha duyarlı bir deneyim için tüm animasyonları devre dışı bırakın.",
|
||||
"label": "UI Animasyonlarını Devre Dışı Bırak"
|
||||
@@ -1548,6 +1820,15 @@
|
||||
"description": "Paneller veya menüler açıkken masaüstünü karart.",
|
||||
"label": "Masaüstünü karart"
|
||||
},
|
||||
"dimmer-opacity": {
|
||||
"description": "Masaüstü karartması için opaklık seviyesini ayarlayın.",
|
||||
"label": "Karartılmış masaüstü opaklığı",
|
||||
"reset": "Karartılmış masaüstü opaklığını sıfırla"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "Tüm paneller için arka plan opaklığını ayarlayın (Launcher, Control Center, Ayarlar vb.).",
|
||||
"label": "Panel arka plan opaklığı"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
"description": "Paneller çubuğa ve ekran kenarlarına kilitlenerek şık ters köşelerle kusursuz bir görünüm oluşturur.",
|
||||
"label": "Kenarları Yakala"
|
||||
@@ -1640,6 +1921,10 @@
|
||||
"label": "Duvar kağıdı klasörü",
|
||||
"tooltip": "Duvar kağıdı klasörüne göz atın"
|
||||
},
|
||||
"hide-wallpaper-filenames": {
|
||||
"description": "Seçicide duvar kağıdı dosya adlarını gizle.",
|
||||
"label": "Dosya adlarını gizle"
|
||||
},
|
||||
"monitor-specific": {
|
||||
"description": "Her ekran için farklı bir duvar kağıdı klasörü ayarlayın.",
|
||||
"label": "Ekran özgü dizinler",
|
||||
@@ -1655,6 +1940,11 @@
|
||||
},
|
||||
"select-folder": "Duvar kağıdı klasörünü seç",
|
||||
"select-monitor-folder": "Ekran duvar kağıdı klasörünü seç",
|
||||
"selector": {
|
||||
"description": "Duvar kâğıdınızı seçin.",
|
||||
"label": "Duvar kâğıdı seçici",
|
||||
"tooltip": "Duvar kâğıdı seçiciyi aç"
|
||||
},
|
||||
"selector-position": {
|
||||
"description": "Duvar kağıdı seçici panelinin nerede görüneceğini seçin.",
|
||||
"label": "Pozisyon"
|
||||
@@ -1719,19 +2009,6 @@
|
||||
"low": "Düşük batarya",
|
||||
"low-desc": "Batarya % {percent}. Lütfen şarj bağlantısını yapın."
|
||||
},
|
||||
"battery-manager": {
|
||||
"initial-setup": "Başlangıç kurulumu gerekli",
|
||||
"install-failed": "Kurulum başarısız oldu",
|
||||
"install-missing": "Gerekli dosyalar eksik",
|
||||
"install-success": "Başarıyla kuruldu",
|
||||
"install-unsupported": "Sistem desteklenmiyor",
|
||||
"set-failed": "Batarya eşiği ayarlanamadı",
|
||||
"set-success-desc": "Batarya eşiği % {percent} olarak ayarlandı",
|
||||
"title": "Batarya eşiği",
|
||||
"uninstall-failed": "Kaldırma başarısız oldu",
|
||||
"uninstall-setup": "Kaldırılıyor, kimlik doğrulama gerekli",
|
||||
"uninstall-success": "Başarıyla kaldırıldı"
|
||||
},
|
||||
"bluetooth": {
|
||||
"disabled": "Devre dışı",
|
||||
"enabled": "Etkin"
|
||||
@@ -1800,6 +2077,10 @@
|
||||
"title-matugen": "Matugen şablon işleme başarısız oldu.",
|
||||
"title-predefined": "Önceden tanımlanmış renk şeması işleme başarısız oldu."
|
||||
},
|
||||
"vpn": {
|
||||
"connected": "'{name}' ile bağlantı kuruldu",
|
||||
"disconnected": "'{name}' bağlantısı kesildi"
|
||||
},
|
||||
"wallpaper-colors": {
|
||||
"disabled": "Duvar kağıdı renkleri devre dışı",
|
||||
"enabled": "Duvar kağıdı renkleri etkin",
|
||||
@@ -1833,6 +2114,7 @@
|
||||
"input-muted": "Giriş sessizliğini değiştir",
|
||||
"keep-awake": "Uyanık kal",
|
||||
"keyboard-layout": "{layout} klavye düzeni",
|
||||
"manage-vpn": "VPN bağlantılarını yönet",
|
||||
"manage-wifi": "Wi-Fi yönet",
|
||||
"microphone-volume-at": "Mikrofon sesi %{volume}\nAyarlar için sol tık. Sessize almak için sağ tık.\nSesi değiştirmek için kaydırın.",
|
||||
"move-to-center-section": "Orta bölüme taşı",
|
||||
@@ -1860,6 +2142,7 @@
|
||||
"previous-month": "Önceki ay",
|
||||
"refresh": "Yenile",
|
||||
"refresh-devices": "Cihazları yenile",
|
||||
"refresh-wallhaven": "Wallhaven sonuçlarını yenile",
|
||||
"refresh-wallpaper-list": "Duvar kağıdı listesini yenile",
|
||||
"remove-widget": "Widget kaldır",
|
||||
"screen-recorder-not-installed": "Ekran kaydedici yüklü değil",
|
||||
@@ -1889,8 +2172,51 @@
|
||||
"description": "Seçilen duvar kağıdını tüm monitörlere aynı anda uygulayın.",
|
||||
"label": "Tüm monitörler için uygula"
|
||||
},
|
||||
"categories": {
|
||||
"anime": "Anime",
|
||||
"general": "Genel",
|
||||
"label": "Kategoriler",
|
||||
"people": "İnsanlar"
|
||||
},
|
||||
"order": {
|
||||
"asc": "Artan",
|
||||
"desc": "Azalan",
|
||||
"label": "Sıra"
|
||||
},
|
||||
"purity": {
|
||||
"all": "Tümü",
|
||||
"label": "İçerik filtresi",
|
||||
"sfw": "SFW",
|
||||
"sketchy": "Sketchy"
|
||||
},
|
||||
"resolution": {
|
||||
"atleast": "En az",
|
||||
"exact": "Tam",
|
||||
"label": "Çözünürlük",
|
||||
"mode": {
|
||||
"label": "Mod"
|
||||
}
|
||||
},
|
||||
"search": "Ara:",
|
||||
"title": "Duvar kağıdı seçici"
|
||||
"sorting": {
|
||||
"date_added": "Eklenme tarihi",
|
||||
"favorites": "Favoriler",
|
||||
"label": "Sırala",
|
||||
"random": "Rastgele",
|
||||
"relevance": "Alaka",
|
||||
"toplist": "En iyi liste",
|
||||
"views": "Görüntülemeler"
|
||||
},
|
||||
"source": {
|
||||
"label": "Kaynak",
|
||||
"local": "Yerel",
|
||||
"wallhaven": "Wallhaven"
|
||||
},
|
||||
"title": "Duvar kağıdı seçici",
|
||||
"wallhaven-settings": {
|
||||
"apply": "Uygula",
|
||||
"title": "Wallhaven Ayarları"
|
||||
}
|
||||
},
|
||||
"transitions": {
|
||||
"disc": "Disk",
|
||||
@@ -1900,7 +2226,13 @@
|
||||
"stripes": "Çizgiler",
|
||||
"wipe": "Silme"
|
||||
},
|
||||
"try-different-search": "Farklı bir arama sorgusu deneyin."
|
||||
"try-different-search": "Farklı bir arama sorgusu deneyin.",
|
||||
"unknown": "Bilinmiyor",
|
||||
"wallhaven": {
|
||||
"loading": "Duvar kağıtları yükleniyor...",
|
||||
"no-results": "Duvar kağıdı bulunamadı. Farklı bir arama sorgusu deneyin.",
|
||||
"page": "{current} / {total}"
|
||||
}
|
||||
},
|
||||
"weather": {
|
||||
"clear-sky": "Açık hava",
|
||||
@@ -2009,6 +2341,7 @@
|
||||
},
|
||||
"wifi": {
|
||||
"panel": {
|
||||
"available-networks": "Kullanılabilir Ağlar",
|
||||
"connect": "Bağlan",
|
||||
"connected": "Bağlı",
|
||||
"disabled": "Wi-Fi devre dışı",
|
||||
@@ -2019,6 +2352,7 @@
|
||||
"forget": "Unut",
|
||||
"forget-network": "Bu ağı unut?",
|
||||
"forgetting": "Unutuluyor...",
|
||||
"known-networks": "Bilinen Ağlar",
|
||||
"no-networks": "Ağ bulunamadı",
|
||||
"password": "Şifre",
|
||||
"saved": "Kaydedildi",
|
||||
|
||||
@@ -123,21 +123,27 @@
|
||||
"stream-description": "Введіть команду для безперервного запуску."
|
||||
},
|
||||
"dynamic-text": "Динамічний текст",
|
||||
"hide-vertical": {
|
||||
"description": "Якщо увімкнено, текст з виводу команди не відображатиметься, коли панель знаходиться у вертикальному розташуванні (ліворуч або праворуч).",
|
||||
"label": "Приховати текст у вертикальній панелі"
|
||||
},
|
||||
"icon": {
|
||||
"description": "Вибрати значок з бібліотеки.",
|
||||
"label": "Значок"
|
||||
},
|
||||
"left-click": {
|
||||
"description": "Команда для виконання при лівому кліку на кнопку.",
|
||||
"label": "Лівий клік"
|
||||
"label": "Лівий клік",
|
||||
"update-text": "Оновити текст, що відображається, при натисканні лівою кнопкою миші"
|
||||
},
|
||||
"max-text-length-horizontal": {
|
||||
"description": "Максимальна кількість символів для відображення в горизонтальній панелі (0 щоб приховати текст)",
|
||||
"label": "Макс. довжина тексту (горизонтально)"
|
||||
},
|
||||
"max-text-length-vertical": {
|
||||
"description": "Максимальна кількість символів для відображення в вертикальній панелі (0 щоб приховати текст)",
|
||||
"label": "Макс. довжина тексту (вертикально)"
|
||||
},
|
||||
"middle-click": {
|
||||
"description": "Команда для виконання при середньому кліку на кнопку.",
|
||||
"label": "Середній клік"
|
||||
"label": "Середній клік",
|
||||
"update-text": "Оновити відображуваний текст при натисканні середньою кнопкою миші"
|
||||
},
|
||||
"parse-json": {
|
||||
"description": "Розбирати виведення команди як JSON-об'єкт для динамічного встановлення тексту та значка.",
|
||||
@@ -149,11 +155,29 @@
|
||||
},
|
||||
"right-click": {
|
||||
"description": "Команда для виконання при правому кліку на кнопку.",
|
||||
"label": "Правий клік"
|
||||
"label": "Правий клік",
|
||||
"update-text": "Оновити текст, що відображається, при натисканні правою кнопкою миші"
|
||||
},
|
||||
"text-stream": {
|
||||
"description": "Потокові рядки з команди відображатимуться як текст на кнопці.",
|
||||
"label": "Потік"
|
||||
},
|
||||
"wheel": {
|
||||
"description": "Команда для виконання при використанні колеса прокрутки.\nВикористовуйте $delta для дельти колеса прокрутки в команді",
|
||||
"label": "Колесо прокрутки",
|
||||
"update-text": "Оновити відображуваний текст при прокрутці"
|
||||
},
|
||||
"wheel-down": {
|
||||
"description": "Команда для виконання при прокрутці колеса вниз.",
|
||||
"label": "Команда прокрутки колеса вниз"
|
||||
},
|
||||
"wheel-mode-separate": {
|
||||
"description": "Увімкнути окремі команди для колеса прокрутки вгору та вниз",
|
||||
"label": "Окремі команди колеса прокрутки"
|
||||
},
|
||||
"wheel-up": {
|
||||
"description": "Команда для виконання при прокрутці колеса вгору.",
|
||||
"label": "Команда прокрутки колеса вгору"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
@@ -199,6 +223,10 @@
|
||||
"description": "Відображати обкладинку альбому для поточного треку.",
|
||||
"label": "Показувати обкладинку альбому"
|
||||
},
|
||||
"show-artist-first": {
|
||||
"description": "Відображати виконавець - назва замість назва - виконавець.",
|
||||
"label": "Показувати спочатку виконавця"
|
||||
},
|
||||
"show-visualizer": {
|
||||
"description": "Відображати аудіовізуалізатор під час відтворення музики.",
|
||||
"label": "Показувати візуалізатор"
|
||||
@@ -239,6 +267,9 @@
|
||||
}
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "Використання ЦП (Критичний)"
|
||||
},
|
||||
"cpu-temperature": {
|
||||
"description": "Показувати показники температури ЦП, якщо доступно.",
|
||||
"label": "Температура ЦП"
|
||||
@@ -247,6 +278,25 @@
|
||||
"description": "Відображати поточний відсоток використання ЦП.",
|
||||
"label": "Використання ЦП"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "Використання ЦП (Попередження)"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "Місце на диску (Критичний)"
|
||||
},
|
||||
"disk-path": {
|
||||
"description": "Виберіть точку монтування диска для моніторингу.",
|
||||
"label": "Шлях до диска"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "Місце на диску (Попередження)"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "Використання пам'яті (Критичний)"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "Використання пам'яті (Попередження)"
|
||||
},
|
||||
"memory-percentage": {
|
||||
"description": "Показувати використання пам'яті у відсотках замість абсолютних значень.",
|
||||
"label": "Пам'ять у відсотках"
|
||||
@@ -262,6 +312,16 @@
|
||||
"storage-usage": {
|
||||
"description": "Показувати інформацію про використання дискового простору.",
|
||||
"label": "Використання сховища"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "Температура ЦП (Критичний)"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "Температура ЦП (Попередження)"
|
||||
},
|
||||
"thresholds": {
|
||||
"description": "Встановіть пороги для оповіщень системних метрик. Виділяє при перевищенні.",
|
||||
"header": "Налаштування порогів"
|
||||
}
|
||||
},
|
||||
"taskbar": {
|
||||
@@ -283,13 +343,9 @@
|
||||
}
|
||||
},
|
||||
"taskbar-grouped": {
|
||||
"show-numbers-only-when-occupied": {
|
||||
"description": "Показувати номери лише для робочих просторів з відкритими вікнами",
|
||||
"label": "Показувати номера лише коли зайнято"
|
||||
},
|
||||
"show-workspace-numbers": {
|
||||
"description": "Показувати номери робочих просторів у лівому верхньому куті групи завдань",
|
||||
"label": "Показувати номери робочих просторів"
|
||||
"show-labels-only-when-occupied": {
|
||||
"description": "Показувати мітку робочого простору лише для робочих просторів, які мають відкриті вікна.",
|
||||
"label": "Показувати мітку лише коли зайнято"
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
@@ -332,13 +388,6 @@
|
||||
"health": "Здоров'я: {percent}%",
|
||||
"idle": "Бездіяльність.",
|
||||
"no-battery-detected": "Батарею не виявлено.",
|
||||
"panel": {
|
||||
"balanced": "Збалансований ({percent}%)",
|
||||
"disabled": "Менеджер батареї вимкнено",
|
||||
"full": "Повна ємність ({percent}%)",
|
||||
"lifespan": "Подовжений термін служби ({percent}%)",
|
||||
"title": "Поріг зарядки"
|
||||
},
|
||||
"plugged-in": "Підключено.",
|
||||
"time-left": "Залишилось часу: {time}.",
|
||||
"time-until-full": "Час до повного заряду: {time}."
|
||||
@@ -367,9 +416,61 @@
|
||||
"loading": "Завантаження погоди…"
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"fetch-failed": "Не вдалося завантажити дані журналу змін. Будь ласка, спробуйте пізніше.",
|
||||
"rate-limit": "Перевищено ліміт GitHub. Спробуйте ще раз за кілька хвилин."
|
||||
},
|
||||
"panel": {
|
||||
"buttons": {
|
||||
"discord": "Приєднатися до нашого Discord",
|
||||
"dismiss": "Ок"
|
||||
},
|
||||
"empty": "Примітки до релізу ще недоступні.",
|
||||
"highlight-title": "Основні зміни",
|
||||
"section": {
|
||||
"released": "Випущено {date}",
|
||||
"version": "Версія {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "Дякуємо, що встановили Noctalia! Ось що містить цей білд.",
|
||||
"updated": "Оновлено з {previousVersion}"
|
||||
},
|
||||
"title": "Що нового у {version}",
|
||||
"version": {
|
||||
"new-user": "Нове встановлення"
|
||||
}
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
"tooltip": "Відкрити календар"
|
||||
},
|
||||
"context-menu": {
|
||||
"activate-app": "Активувати {app}",
|
||||
"clear-history": "Очистити історію",
|
||||
"close-app": "Закрити {app}",
|
||||
"connect-vpn": "Підключитися до {name}",
|
||||
"cycle-visualizer": "Візуалізатор циклів",
|
||||
"disable-bluetooth": "Вимкнути Bluetooth",
|
||||
"disable-dnd": "Вимкнути режим \"Не турбувати\"",
|
||||
"disable-wifi": "Вимкнути Wi-Fi",
|
||||
"disconnect-vpn": "Відключити {name}",
|
||||
"enable-bluetooth": "Увімкнути Bluetooth",
|
||||
"enable-dnd": "Увімкнути режим \"Не турбувати\"",
|
||||
"enable-wifi": "Увімкнути Wi-Fi",
|
||||
"next": "Наступний",
|
||||
"open-calendar": "Відкрити календар",
|
||||
"open-display-settings": "Параметри дисплея",
|
||||
"open-launcher": "Відкрити панель запуску",
|
||||
"open-mixer": "Аудіомікшер",
|
||||
"open-settings": "Відкрити налаштування",
|
||||
"pause": "Пауза",
|
||||
"play": "Грати",
|
||||
"previous": "Попередній",
|
||||
"random-wallpaper": "Випадкові шпалери",
|
||||
"toggle-mute": "Увімкнути/вимкнути звук",
|
||||
"widget-settings": "Налаштування віджета"
|
||||
},
|
||||
"dock": {
|
||||
"menu": {
|
||||
"close": "Закрити",
|
||||
@@ -533,6 +634,7 @@
|
||||
},
|
||||
"workspace-labels": {
|
||||
"index": "Індекс",
|
||||
"index+name": "Індекс та назва",
|
||||
"name": "Назва",
|
||||
"none": "Немає"
|
||||
}
|
||||
@@ -548,6 +650,7 @@
|
||||
"search": "Пошук...",
|
||||
"search-icons": "напр., noctalia, niri, battery, cloud",
|
||||
"search-launcher": "Пошук записів... або використовуйте > для команд",
|
||||
"search-wallhaven": "Пошук у Wallhaven...",
|
||||
"search-wallpapers": "Введіть для фільтрації шпалер...",
|
||||
"select": "Вибрати",
|
||||
"test": "Тест"
|
||||
@@ -644,6 +747,7 @@
|
||||
},
|
||||
"session-menu": {
|
||||
"action-in-seconds": "{action} через {seconds} секунд...",
|
||||
"hibernate": "Гібернація",
|
||||
"lock": "Заблокувати",
|
||||
"lock-and-suspend": "Заблокувати та призупинити",
|
||||
"logout": "Вийти",
|
||||
@@ -688,6 +792,11 @@
|
||||
"label": "Аудіопристрої"
|
||||
}
|
||||
},
|
||||
"external-mixer": {
|
||||
"description": "Введіть команду або шлях до програми для запуску при активації функції зовнішнього аудіомікшера.",
|
||||
"label": "Команда зовнішнього аудіомікшера",
|
||||
"placeholder": "pwvucontrol || pavucontrol"
|
||||
},
|
||||
"media": {
|
||||
"excluded-player": {
|
||||
"description": "Додайте ключові слова для плеєрів, які система має ігнорувати. Кожне ключове слово на новому рядку.",
|
||||
@@ -762,6 +871,10 @@
|
||||
"description": "Налаштуйте непрозорість фону панелі.",
|
||||
"label": "Непрозорість фону"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "Встановити рівень непрозорості для фону віджетів, коли показано капсулу.",
|
||||
"label": "Непрозорість капсули"
|
||||
},
|
||||
"density": {
|
||||
"description": "Налаштуйте відступи панелі для компактного або просторого вигляду.",
|
||||
"label": "Щільність панелі"
|
||||
@@ -854,6 +967,41 @@
|
||||
"label": "Темний режим"
|
||||
}
|
||||
},
|
||||
"delete": {
|
||||
"error": {
|
||||
"description": "Не вдалося видалити {scheme}",
|
||||
"title": "Помилка видалення"
|
||||
},
|
||||
"success": {
|
||||
"description": "{scheme} успішно видалено",
|
||||
"title": "Кольорову схему видалено"
|
||||
}
|
||||
},
|
||||
"download": {
|
||||
"button": "Завантажити ще",
|
||||
"delete": "Видалити",
|
||||
"download": "Завантажити",
|
||||
"downloading": "Завантаження...",
|
||||
"empty": "Немає доступних кольорових схем",
|
||||
"error": {
|
||||
"api-error": "Помилка API: {status}",
|
||||
"description": "Не вдалося завантажити {scheme}",
|
||||
"download-failed": "Помилка завантаження з кодом виходу: {code}",
|
||||
"invalid-response": "Невірний формат відповіді API",
|
||||
"no-files": "Файли для схеми не знайдено",
|
||||
"parse-failed": "Помилка парсингу відповіді API: {error}",
|
||||
"rate-limit": "Перевищено ліміт запитів GitHub API",
|
||||
"title": "Помилка завантаження"
|
||||
},
|
||||
"fetching": "Отримання доступних кольорових схем...",
|
||||
"installed": "Встановлено",
|
||||
"refresh": "Оновити",
|
||||
"success": {
|
||||
"description": "{scheme} успішно завантажено",
|
||||
"title": "Кольорову схему завантажено"
|
||||
},
|
||||
"title": "Завантажити кольорові схеми"
|
||||
},
|
||||
"predefined": {
|
||||
"generate-templates": {
|
||||
"description": "Генерувати шаблони Matugen (GTK, теми терміналу тощо) при використанні попередньо визначених колірних схем.",
|
||||
@@ -876,7 +1024,7 @@
|
||||
"programs": {
|
||||
"code": {
|
||||
"description": "Записати {filepath}. Тему Hyprluna потрібно встановити та активувати вручну.",
|
||||
"description-missing": "Потрібна установка {app}"
|
||||
"description-missing": "Клієнт Code не виявлено. Встановіть VSCode або VSCodium."
|
||||
},
|
||||
"description": "Оформлення окремих програм.",
|
||||
"discord": {
|
||||
@@ -896,6 +1044,10 @@
|
||||
"description": "Записати {filepath}. Тему Comfy потрібно встановити та активувати вручну.",
|
||||
"description-missing": "Потрібна установка {app}"
|
||||
},
|
||||
"telegram": {
|
||||
"description": "Записати {filepath}.",
|
||||
"description-missing": "Потрібна установка {app}"
|
||||
},
|
||||
"vicinae": {
|
||||
"description": "Записати {filepath} та перезавантажити",
|
||||
"description-missing": "Потрібна установка {app}"
|
||||
@@ -1092,6 +1244,10 @@
|
||||
"description": "Налаштуйте непрозорість фону дока.",
|
||||
"label": "Непрозорість фону"
|
||||
},
|
||||
"border-radius": {
|
||||
"description": "Налаштуйте радіус заокруглення країв док-панелі.",
|
||||
"label": "Радіус заокруглення"
|
||||
},
|
||||
"colorize-icons": {
|
||||
"description": "Застосувати кольори теми до значків програм у доці (тільки неактивні програми).",
|
||||
"label": "Розфарбувати значки"
|
||||
@@ -1243,6 +1399,10 @@
|
||||
"description": "Налаштуйте непрозорість фону запускача.",
|
||||
"label": "Непрозорість фону"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": "Показувати попередній перегляд вмісту буфера обміну при використанні команди >clip.",
|
||||
"label": "Увімкнути попередній перегляд буфера обміну"
|
||||
},
|
||||
"clipboard-history": {
|
||||
"description": "Отримати доступ до раніше скопійованих елементів із запускача.",
|
||||
"label": "Увімкнути історію буфера обміну"
|
||||
@@ -1331,6 +1491,10 @@
|
||||
"description": "Виберіть бажану одиницю температури.",
|
||||
"label": "Погода"
|
||||
},
|
||||
"show-effects": {
|
||||
"description": "Показує додаткові візуальні ефекти (наприклад, дощ, сніг або блискавку) на картці погоди.",
|
||||
"label": "Відображати погодні ефекти"
|
||||
},
|
||||
"show-in-calendar": {
|
||||
"description": "Показувати щоденний прогноз погоди безпосередньо в календарі.",
|
||||
"label": "Відображати погоду в календарі"
|
||||
@@ -1346,6 +1510,10 @@
|
||||
"description": "Автоматично блокувати екран при призупиненні системи.",
|
||||
"label": "Блокувати при призупиненні"
|
||||
},
|
||||
"show-hibernate": {
|
||||
"description": "Показувати опцію 'сплячий режим' у діях живлення.",
|
||||
"label": "Показувати сплячий режим"
|
||||
},
|
||||
"title": "Екран блокування"
|
||||
},
|
||||
"network": {
|
||||
@@ -1437,6 +1605,10 @@
|
||||
"description": "Відображати екранну індикацію поверх повноекранних вікон та інших шарів.",
|
||||
"label": "Завжди зверху"
|
||||
},
|
||||
"background-opacity": {
|
||||
"description": "Керує прозорістю фону OSD.",
|
||||
"label": "Прозорість фону"
|
||||
},
|
||||
"description": "Налаштуйте екранні індикатори, такі як накладки гучності та яскравості.",
|
||||
"duration": {
|
||||
"auto-hide": {
|
||||
@@ -1529,7 +1701,107 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration": {
|
||||
"description": "Встановити, як довго триває таймер зворотного відліку перед виконанням дій живлення.",
|
||||
"label": "Тривалість зворотного відліку"
|
||||
},
|
||||
"enable-countdown": {
|
||||
"description": "Показувати таймер зворотного відліку перед виконанням дій живлення.",
|
||||
"label": "Увімкнути таймер зворотного відліку"
|
||||
},
|
||||
"entries": {
|
||||
"section": {
|
||||
"description": "Налаштувати, які дії живлення відображаються в меню сеансу та в якому порядку.",
|
||||
"label": "Дії живлення"
|
||||
}
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Налаштувати поведінку та зовнішній вигляд панелі меню сеансу.",
|
||||
"label": "Загальні"
|
||||
}
|
||||
},
|
||||
"position": {
|
||||
"description": "Виберіть, де з'являється панель меню сеансу при відкритті.",
|
||||
"label": "Позиція"
|
||||
},
|
||||
"show-header": {
|
||||
"description": "Відображати заголовок та кнопку закриття в верхній частині меню сеансу.",
|
||||
"label": "Показувати заголовок"
|
||||
},
|
||||
"title": "Меню сеансу"
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "Критичний поріг"
|
||||
},
|
||||
"cpu-section": {
|
||||
"label": "Використання ЦП"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "Поріг попередження"
|
||||
},
|
||||
"critical-color": {
|
||||
"label": "Критичний колір"
|
||||
},
|
||||
"custom-highlight-colors-title": {
|
||||
"label": "Власні кольори підсвічування"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "Критичний поріг"
|
||||
},
|
||||
"disk-section": {
|
||||
"label": "Використання диска"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "Поріг попередження"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Налаштуйте поведінку та зовнішній вигляд Системного монітора.",
|
||||
"label": "Загальне"
|
||||
}
|
||||
},
|
||||
"highlight-colors-section": {
|
||||
"label": "Кольори підсвічування"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "Критичний поріг"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "Поріг попередження"
|
||||
},
|
||||
"memory-section": {
|
||||
"label": "Використання пам'яті"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "Критичний поріг"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "Поріг попередження"
|
||||
},
|
||||
"temperature-section": {
|
||||
"label": "Температура ЦП"
|
||||
},
|
||||
"thresholds-section": {
|
||||
"description": "Встановіть пороги для системних метрик; значення вище будуть підсвічені.",
|
||||
"label": "Пороги"
|
||||
},
|
||||
"title": "Системний монітор",
|
||||
"use-custom-highlight-colors": {
|
||||
"description": "Якщо вимкнено, використовуються кольори підсвічування за замовчуванням теми.",
|
||||
"label": "Використовувати власні кольори підсвічування"
|
||||
},
|
||||
"warning-color": {
|
||||
"label": "Колір попередження"
|
||||
}
|
||||
},
|
||||
"user-interface": {
|
||||
"allow-panels-without-bar": {
|
||||
"description": "Якщо ввімкнено, панелі можуть відкриватися на будь-якому екрані. Якщо вимкнено, панелі відкриватимуться лише на екранах, де є панель завдань, що може зменшити використання пам'яті.",
|
||||
"label": "Дозволити панелі на екранах без панелі завдань."
|
||||
},
|
||||
"animation-disable": {
|
||||
"description": "Вимкнути всі анімації для швидшого, більш відгукового досвіду.",
|
||||
"label": "Вимкнути анімації інтерфейсу"
|
||||
@@ -1548,6 +1820,15 @@
|
||||
"description": "Затемнювати робочий стіл, коли відкриті панелі або меню.",
|
||||
"label": "Приглушити робочий стіл"
|
||||
},
|
||||
"dimmer-opacity": {
|
||||
"description": "Встановити рівень непрозорості для затемнення робочого столу.",
|
||||
"label": "Непрозорість приглушеного робочого столу",
|
||||
"reset": "Скинути непрозорість приглушеного робочого столу"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "Встановити прозорість фону для всіх панелей (Launcher, Центр керування, Налаштування тощо).",
|
||||
"label": "Прозорість фону панелей"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
"description": "Панелі фіксуються до штанги та країв екрана, створюючи бездоганний вигляд зі стильними перевернутими кутами.",
|
||||
"label": "Прив'язувати панелі до країв"
|
||||
@@ -1640,6 +1921,10 @@
|
||||
"label": "Тека шпалер",
|
||||
"tooltip": "Огляд теки шпалер"
|
||||
},
|
||||
"hide-wallpaper-filenames": {
|
||||
"description": "Приховати назви файлів шпалер у селекторі.",
|
||||
"label": "Приховати імена файлів"
|
||||
},
|
||||
"monitor-specific": {
|
||||
"description": "Встановити різні теки шпалер для кожного монітора.",
|
||||
"label": "Окремі теки для моніторів",
|
||||
@@ -1655,6 +1940,11 @@
|
||||
},
|
||||
"select-folder": "Вибрати теку шпалер",
|
||||
"select-monitor-folder": "Вибрати теку шпалер монітора",
|
||||
"selector": {
|
||||
"description": "Виберіть свої шпалери.",
|
||||
"label": "Вибір шпалер",
|
||||
"tooltip": "Відкрити вибір шпалер"
|
||||
},
|
||||
"selector-position": {
|
||||
"description": "Виберіть, де відображатиметься панель вибору шпалер.",
|
||||
"label": "Позиція"
|
||||
@@ -1719,19 +2009,6 @@
|
||||
"low": "Низький заряд батареї",
|
||||
"low-desc": "Батарея на {percent}%. Будь ласка, підключіть зарядний пристрій."
|
||||
},
|
||||
"battery-manager": {
|
||||
"initial-setup": "Потрібне початкове налаштування",
|
||||
"install-failed": "Помилка встановлення",
|
||||
"install-missing": "Необхідні файли відсутні",
|
||||
"install-success": "Встановлено успішно",
|
||||
"install-unsupported": "Система не підтримується",
|
||||
"set-failed": "Не вдалося встановити поріг батареї",
|
||||
"set-success-desc": "Поріг батареї встановлено на {percent}%",
|
||||
"title": "Поріг батареї",
|
||||
"uninstall-failed": "Помилка видалення",
|
||||
"uninstall-setup": "Видалення, потрібна автентифікація",
|
||||
"uninstall-success": "Видалено успішно"
|
||||
},
|
||||
"bluetooth": {
|
||||
"disabled": "Вимкнено",
|
||||
"enabled": "Увімкнено"
|
||||
@@ -1800,6 +2077,10 @@
|
||||
"title-matugen": "Помилка обробки шаблонів Matugen",
|
||||
"title-predefined": "Помилка обробки попередньо визначеної колірної схеми"
|
||||
},
|
||||
"vpn": {
|
||||
"connected": "Підключено до '{name}'",
|
||||
"disconnected": "Відключено від '{name}'"
|
||||
},
|
||||
"wallpaper-colors": {
|
||||
"disabled": "Кольори шпалер вимкнено",
|
||||
"enabled": "Кольори шпалер увімкнено",
|
||||
@@ -1833,6 +2114,7 @@
|
||||
"input-muted": "Перемкнути вимкнення входу",
|
||||
"keep-awake": "Не спати",
|
||||
"keyboard-layout": "Розкладка клавіатури {layout}",
|
||||
"manage-vpn": "Керувати підключеннями VPN",
|
||||
"manage-wifi": "Керувати Wi-Fi",
|
||||
"microphone-volume-at": "Гучність мікрофона на {volume}%\nЛівий клік для налаштувань. Правий клік для вимкнення звуку.\nПрокрутка для зміни гучності.",
|
||||
"move-to-center-section": "Перемістити в центральну секцію",
|
||||
@@ -1860,6 +2142,7 @@
|
||||
"previous-month": "Попередній місяць",
|
||||
"refresh": "Оновити",
|
||||
"refresh-devices": "Оновити пристрої",
|
||||
"refresh-wallhaven": "Оновити результати Wallhaven",
|
||||
"refresh-wallpaper-list": "Оновити список шпалер",
|
||||
"remove-widget": "Видалити віджет",
|
||||
"screen-recorder-not-installed": "Запис екрана не встановлено",
|
||||
@@ -1889,8 +2172,51 @@
|
||||
"description": "Застосувати вибрані шпалери до всіх моніторів одночасно.",
|
||||
"label": "Застосувати до всіх моніторів"
|
||||
},
|
||||
"categories": {
|
||||
"anime": "Аніме",
|
||||
"general": "Загальне",
|
||||
"label": "Категорії",
|
||||
"people": "Люди"
|
||||
},
|
||||
"order": {
|
||||
"asc": "За зростанням",
|
||||
"desc": "За спаданням",
|
||||
"label": "Порядок"
|
||||
},
|
||||
"purity": {
|
||||
"all": "Всі",
|
||||
"label": "Фільтр контенту",
|
||||
"sfw": "SFW",
|
||||
"sketchy": "Sketchy"
|
||||
},
|
||||
"resolution": {
|
||||
"atleast": "Принаймні",
|
||||
"exact": "Точно",
|
||||
"label": "Роздільна здатність",
|
||||
"mode": {
|
||||
"label": "Режим"
|
||||
}
|
||||
},
|
||||
"search": "Пошук:",
|
||||
"title": "Вибір шпалер"
|
||||
"sorting": {
|
||||
"date_added": "Дата додавання",
|
||||
"favorites": "Обране",
|
||||
"label": "Сортувати за",
|
||||
"random": "Випадково",
|
||||
"relevance": "Релевантність",
|
||||
"toplist": "Топ-лист",
|
||||
"views": "Перегляди"
|
||||
},
|
||||
"source": {
|
||||
"label": "Джерело",
|
||||
"local": "Локальний",
|
||||
"wallhaven": "Wallhaven"
|
||||
},
|
||||
"title": "Вибір шпалер",
|
||||
"wallhaven-settings": {
|
||||
"apply": "Застосувати",
|
||||
"title": "Налаштування Wallhaven"
|
||||
}
|
||||
},
|
||||
"transitions": {
|
||||
"disc": "Диск",
|
||||
@@ -1900,7 +2226,13 @@
|
||||
"stripes": "Смуги",
|
||||
"wipe": "Змітання"
|
||||
},
|
||||
"try-different-search": "Спробуйте інший пошуковий запит."
|
||||
"try-different-search": "Спробуйте інший пошуковий запит.",
|
||||
"unknown": "Невідомо",
|
||||
"wallhaven": {
|
||||
"loading": "Завантаження шпалер...",
|
||||
"no-results": "Шпалери не знайдено. Спробуйте інший пошуковий запит.",
|
||||
"page": "{current} з {total}"
|
||||
}
|
||||
},
|
||||
"weather": {
|
||||
"clear-sky": "Ясне небо",
|
||||
@@ -2009,6 +2341,7 @@
|
||||
},
|
||||
"wifi": {
|
||||
"panel": {
|
||||
"available-networks": "Доступні мережі",
|
||||
"connect": "Підключити",
|
||||
"connected": "Підключено",
|
||||
"disabled": "Wi-Fi вимкнено",
|
||||
@@ -2019,6 +2352,7 @@
|
||||
"forget": "Забути",
|
||||
"forget-network": "Забути цю мережу?",
|
||||
"forgetting": "Забування...",
|
||||
"known-networks": "Відомі мережі",
|
||||
"no-networks": "Мереж не знайдено",
|
||||
"password": "Пароль",
|
||||
"saved": "Збережено",
|
||||
|
||||
@@ -123,21 +123,27 @@
|
||||
"stream-description": "输入一个要持续运行的命令。"
|
||||
},
|
||||
"dynamic-text": "动态文本",
|
||||
"hide-vertical": {
|
||||
"description": "如果启用,当栏处于垂直布局(左或右)时,将不显示命令输出的文本。",
|
||||
"label": "在垂直栏中隐藏文本"
|
||||
},
|
||||
"icon": {
|
||||
"description": "从库中选择图标。",
|
||||
"label": "图标"
|
||||
},
|
||||
"left-click": {
|
||||
"description": "左键点击按钮时执行的命令。",
|
||||
"label": "左键点击"
|
||||
"label": "左键点击",
|
||||
"update-text": "左键单击时更新显示的文本"
|
||||
},
|
||||
"max-text-length-horizontal": {
|
||||
"description": "在水平栏中显示的最大字符数(0 为隐藏文本)",
|
||||
"label": "最大文本长度(水平)"
|
||||
},
|
||||
"max-text-length-vertical": {
|
||||
"description": "在垂直栏中显示的最大字符数(0 为隐藏文本)",
|
||||
"label": "最大文本长度(垂直)"
|
||||
},
|
||||
"middle-click": {
|
||||
"description": "中键点击按钮时执行的命令。",
|
||||
"label": "中键点击"
|
||||
"label": "中键点击",
|
||||
"update-text": "鼠标中键点击时更新显示的文本"
|
||||
},
|
||||
"parse-json": {
|
||||
"description": "将命令输出解析为 JSON 对象,以动态设置文本和图标。",
|
||||
@@ -149,11 +155,29 @@
|
||||
},
|
||||
"right-click": {
|
||||
"description": "右键点击按钮时执行的命令。",
|
||||
"label": "右键点击"
|
||||
"label": "右键点击",
|
||||
"update-text": "右键单击时更新显示的文本"
|
||||
},
|
||||
"text-stream": {
|
||||
"description": "来自命令的流式输出行将作为文本显示在按钮上。",
|
||||
"label": "流"
|
||||
},
|
||||
"wheel": {
|
||||
"description": "使用滚轮时执行的命令。\n在命令中使用 $delta 表示滚轮增量",
|
||||
"label": "滚轮",
|
||||
"update-text": "滚轮滚动时更新显示的文本"
|
||||
},
|
||||
"wheel-down": {
|
||||
"description": "滚轮向下滚动时执行的命令。",
|
||||
"label": "滚轮向下命令"
|
||||
},
|
||||
"wheel-mode-separate": {
|
||||
"description": "为滚轮向上和向下启用单独的命令",
|
||||
"label": "分开滚轮命令"
|
||||
},
|
||||
"wheel-up": {
|
||||
"description": "滚轮向上滚动时执行的命令。",
|
||||
"label": "滚轮向上命令"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
@@ -199,6 +223,10 @@
|
||||
"description": "显示当前播放曲目的专辑封面。",
|
||||
"label": "显示专辑封面"
|
||||
},
|
||||
"show-artist-first": {
|
||||
"description": "显示艺术家 - 标题,而不是标题 - 艺术家。",
|
||||
"label": "先显示艺术家"
|
||||
},
|
||||
"show-visualizer": {
|
||||
"description": "播放音乐时显示音频可视化器。",
|
||||
"label": "显示可视化器"
|
||||
@@ -221,10 +249,10 @@
|
||||
"notification-history": {
|
||||
"hide-badge-when-zero": {
|
||||
"description": "当没有未读通知时隐藏通知徽章。",
|
||||
"label": "零时隐藏徽章"
|
||||
"label": "空时隐藏徽章"
|
||||
},
|
||||
"show-unread-badge": {
|
||||
"description": "显示显示未读通知数量的徽章。",
|
||||
"description": "显示一个用于展示未读通知数量的徽章。",
|
||||
"label": "显示未读徽章"
|
||||
}
|
||||
},
|
||||
@@ -239,6 +267,9 @@
|
||||
}
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "CPU 使用率(严重)"
|
||||
},
|
||||
"cpu-temperature": {
|
||||
"description": "如果可用,显示CPU温度读数。",
|
||||
"label": "CPU温度"
|
||||
@@ -247,6 +278,25 @@
|
||||
"description": "显示当前CPU使用百分比。",
|
||||
"label": "CPU使用率"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "CPU 使用率(警告)"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "存储空间(严重)"
|
||||
},
|
||||
"disk-path": {
|
||||
"description": "选择要监控的磁盘挂载点。",
|
||||
"label": "磁盘路径"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "存储空间(警告)"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "内存使用率(严重)"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "内存使用率(警告)"
|
||||
},
|
||||
"memory-percentage": {
|
||||
"description": "以百分比而不是绝对值显示内存使用情况。",
|
||||
"label": "内存百分比"
|
||||
@@ -262,6 +312,16 @@
|
||||
"storage-usage": {
|
||||
"description": "显示磁盘空间使用信息。",
|
||||
"label": "存储使用率"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "CPU 温度(严重)"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "CPU 温度(警告)"
|
||||
},
|
||||
"thresholds": {
|
||||
"description": "配置系统指标提示的阈值,超出阈值时将以高亮色进行提示。",
|
||||
"header": "阈值设置"
|
||||
}
|
||||
},
|
||||
"taskbar": {
|
||||
@@ -283,13 +343,9 @@
|
||||
}
|
||||
},
|
||||
"taskbar-grouped": {
|
||||
"show-numbers-only-when-occupied": {
|
||||
"description": "只为有打开窗口的工作区显示编号",
|
||||
"label": "仅在有窗口时显示编号"
|
||||
},
|
||||
"show-workspace-numbers": {
|
||||
"description": "在任务组左上角显示工作区编号",
|
||||
"label": "显示工作区编号"
|
||||
"show-labels-only-when-occupied": {
|
||||
"description": "只显示有打开窗口的工作区标签。",
|
||||
"label": "仅在被占用时显示标签"
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
@@ -332,13 +388,6 @@
|
||||
"health": "健康状况:{percent}%",
|
||||
"idle": "空闲。",
|
||||
"no-battery-detected": "未检测到电池。",
|
||||
"panel": {
|
||||
"balanced": "平衡 ({percent}%)",
|
||||
"disabled": "电池管理器已禁用",
|
||||
"full": "完全容量 ({percent}%)",
|
||||
"lifespan": "延长寿命 ({percent}%)",
|
||||
"title": "充电阈值"
|
||||
},
|
||||
"plugged-in": "已接通电源。",
|
||||
"time-left": "剩余时间:{time}。",
|
||||
"time-until-full": "充满所需时间:{time}。"
|
||||
@@ -367,9 +416,61 @@
|
||||
"loading": "正在加载天气…"
|
||||
}
|
||||
},
|
||||
"changelog": {
|
||||
"error": {
|
||||
"fetch-failed": "无法加载更新日志数据,请稍后再试。",
|
||||
"rate-limit": "已达到 GitHub 速率限制,请稍后再试。"
|
||||
},
|
||||
"panel": {
|
||||
"buttons": {
|
||||
"discord": "加入我们的 Discord",
|
||||
"dismiss": "确定"
|
||||
},
|
||||
"empty": "暂时没有可用的发行说明。",
|
||||
"highlight-title": "重点更新",
|
||||
"section": {
|
||||
"released": "{date} 发布",
|
||||
"version": "版本 {version}"
|
||||
},
|
||||
"subtitle": {
|
||||
"fresh": "感谢安装 Noctalia!以下是本次构建包含的内容。",
|
||||
"updated": "已从 {previousVersion} 更新"
|
||||
},
|
||||
"title": "{version} 有哪些更新",
|
||||
"version": {
|
||||
"new-user": "全新安装"
|
||||
}
|
||||
}
|
||||
},
|
||||
"clock": {
|
||||
"tooltip": "打开日历"
|
||||
},
|
||||
"context-menu": {
|
||||
"activate-app": "激活 {app}",
|
||||
"clear-history": "清除历史记录",
|
||||
"close-app": "关闭 {app}",
|
||||
"connect-vpn": "连接 {name}",
|
||||
"cycle-visualizer": "切换可视化器样式",
|
||||
"disable-bluetooth": "禁用蓝牙",
|
||||
"disable-dnd": "关闭勿扰模式",
|
||||
"disable-wifi": "禁用Wi-Fi",
|
||||
"disconnect-vpn": "断开 {name}",
|
||||
"enable-bluetooth": "启用蓝牙",
|
||||
"enable-dnd": "启用勿扰模式",
|
||||
"enable-wifi": "启用 Wi-Fi",
|
||||
"next": "下一首",
|
||||
"open-calendar": "打开日历",
|
||||
"open-display-settings": "显示设置",
|
||||
"open-launcher": "打开启动器",
|
||||
"open-mixer": "音频混音器",
|
||||
"open-settings": "打开设置",
|
||||
"pause": "暂停",
|
||||
"play": "播放",
|
||||
"previous": "上一首",
|
||||
"random-wallpaper": "随机壁纸",
|
||||
"toggle-mute": "切换静音",
|
||||
"widget-settings": "小部件设置"
|
||||
},
|
||||
"dock": {
|
||||
"menu": {
|
||||
"close": "关闭",
|
||||
@@ -533,6 +634,7 @@
|
||||
},
|
||||
"workspace-labels": {
|
||||
"index": "索引",
|
||||
"index+name": "索引和名称",
|
||||
"name": "名称",
|
||||
"none": "无"
|
||||
}
|
||||
@@ -548,6 +650,7 @@
|
||||
"search": "搜索...",
|
||||
"search-icons": "例如:noctalia, niri, battery, cloud",
|
||||
"search-launcher": "搜索条目...或使用 > 执行命令",
|
||||
"search-wallhaven": "搜索 Wallhaven...",
|
||||
"search-wallpapers": "输入以筛选壁纸...",
|
||||
"select": "选择",
|
||||
"test": "测试"
|
||||
@@ -644,6 +747,7 @@
|
||||
},
|
||||
"session-menu": {
|
||||
"action-in-seconds": "在 {seconds} 秒后将{action}...",
|
||||
"hibernate": "休眠",
|
||||
"lock": "锁定",
|
||||
"lock-and-suspend": "锁定并挂起",
|
||||
"logout": "注销",
|
||||
@@ -688,6 +792,11 @@
|
||||
"label": "音频设备"
|
||||
}
|
||||
},
|
||||
"external-mixer": {
|
||||
"description": "输入激活外部音频混音器功能时要启动的命令或应用程序路径。",
|
||||
"label": "外部音频混音器命令",
|
||||
"placeholder": "pwvucontrol || pavucontrol"
|
||||
},
|
||||
"media": {
|
||||
"excluded-player": {
|
||||
"description": "添加您希望系统忽略的播放器关键词。每个关键词应单独占一行。",
|
||||
@@ -762,6 +871,10 @@
|
||||
"description": "调整状态栏的背景不透明度。",
|
||||
"label": "背景不透明度"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "设置显示胶囊时小部件背景的不透明度。",
|
||||
"label": "胶囊不透明度"
|
||||
},
|
||||
"density": {
|
||||
"description": "调整状态栏的内边距以获得紧凑或宽松的外观。",
|
||||
"label": "状态栏密度"
|
||||
@@ -854,6 +967,41 @@
|
||||
"label": "深色模式"
|
||||
}
|
||||
},
|
||||
"delete": {
|
||||
"error": {
|
||||
"description": "删除 {scheme} 失败",
|
||||
"title": "删除失败"
|
||||
},
|
||||
"success": {
|
||||
"description": "成功删除 {scheme}",
|
||||
"title": "配色方案已删除"
|
||||
}
|
||||
},
|
||||
"download": {
|
||||
"button": "下载更多",
|
||||
"delete": "删除",
|
||||
"download": "下载",
|
||||
"downloading": "正在下载...",
|
||||
"empty": "没有可用的配色方案",
|
||||
"error": {
|
||||
"api-error": "API 错误: {status}",
|
||||
"description": "下载 {scheme} 失败",
|
||||
"download-failed": "下载失败,退出代码: {code}",
|
||||
"invalid-response": "无效的 API 响应格式",
|
||||
"no-files": "未找到方案的文件",
|
||||
"parse-failed": "解析 API 响应失败: {error}",
|
||||
"rate-limit": "GitHub API 速率限制已超出",
|
||||
"title": "下载失败"
|
||||
},
|
||||
"fetching": "正在获取可用的配色方案...",
|
||||
"installed": "已安装",
|
||||
"refresh": "刷新",
|
||||
"success": {
|
||||
"description": "成功下载 {scheme}",
|
||||
"title": "配色方案已下载"
|
||||
},
|
||||
"title": "下载配色方案"
|
||||
},
|
||||
"predefined": {
|
||||
"generate-templates": {
|
||||
"description": "使用预定义配色方案时生成 Matugen 模板(GTK、终端主题等)。",
|
||||
@@ -876,7 +1024,7 @@
|
||||
"programs": {
|
||||
"code": {
|
||||
"description": "写入 {filepath}。Hyprluna 主题需要手动安装和激活。",
|
||||
"description-missing": "需要安装 {app}"
|
||||
"description-missing": "未检测到 Code 客户端。请安装 VSCode 或 VSCodium。"
|
||||
},
|
||||
"description": "应用程序特定主题。",
|
||||
"discord": {
|
||||
@@ -896,6 +1044,10 @@
|
||||
"description": "写入 {filepath}。Comfy 主题需要手动安装和激活。",
|
||||
"description-missing": "需要安装 {app}"
|
||||
},
|
||||
"telegram": {
|
||||
"description": "写入 {filepath}。",
|
||||
"description-missing": "需要安装 {app}"
|
||||
},
|
||||
"vicinae": {
|
||||
"description": "写入 {filepath} 并重新加载",
|
||||
"description-missing": "需要安装 {app}"
|
||||
@@ -1092,6 +1244,10 @@
|
||||
"description": "调整 Dock 的背景不透明度。",
|
||||
"label": "背景不透明度"
|
||||
},
|
||||
"border-radius": {
|
||||
"description": "调整程序坞的边框半径。",
|
||||
"label": "边框半径"
|
||||
},
|
||||
"colorize-icons": {
|
||||
"description": "将主题颜色应用到 Dock 应用图标(仅限非聚焦应用)。",
|
||||
"label": "着色图标"
|
||||
@@ -1243,6 +1399,10 @@
|
||||
"description": "调整启动器的背景不透明度。",
|
||||
"label": "背景不透明度"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": "在使用 >clip 命令时显示剪贴板内容的预览。",
|
||||
"label": "启用剪贴板预览"
|
||||
},
|
||||
"clipboard-history": {
|
||||
"description": "从启动器访问之前复制的项目。",
|
||||
"label": "启用剪贴板历史记录"
|
||||
@@ -1331,6 +1491,10 @@
|
||||
"description": "选择您喜欢的温度单位。",
|
||||
"label": "天气"
|
||||
},
|
||||
"show-effects": {
|
||||
"description": "在天气卡片上显示额外的视觉效果(如雨、雪或闪电)。",
|
||||
"label": "显示天气效果"
|
||||
},
|
||||
"show-in-calendar": {
|
||||
"description": "直接在您的日历视图中显示每日天气预报。",
|
||||
"label": "在日历中显示天气"
|
||||
@@ -1346,6 +1510,10 @@
|
||||
"description": "系统挂起时自动锁定屏幕。",
|
||||
"label": "挂起时锁定"
|
||||
},
|
||||
"show-hibernate": {
|
||||
"description": "在电源操作中显示'休眠'选项。",
|
||||
"label": "显示休眠"
|
||||
},
|
||||
"title": "锁屏"
|
||||
},
|
||||
"network": {
|
||||
@@ -1437,6 +1605,10 @@
|
||||
"description": "在全屏窗口和其他图层之上显示OSD。",
|
||||
"label": "始终置顶"
|
||||
},
|
||||
"background-opacity": {
|
||||
"description": "调整OSD背景的透明度。",
|
||||
"label": "背景透明度"
|
||||
},
|
||||
"description": "配置屏幕叠加指示器,例如音量和亮度。",
|
||||
"duration": {
|
||||
"auto-hide": {
|
||||
@@ -1529,7 +1701,107 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"session-menu": {
|
||||
"countdown-duration": {
|
||||
"description": "设置倒计时计时器在执行电源操作之前持续多长时间。",
|
||||
"label": "倒计时持续时间"
|
||||
},
|
||||
"enable-countdown": {
|
||||
"description": "在执行电源操作之前显示倒计时计时器。",
|
||||
"label": "启用倒计时计时器"
|
||||
},
|
||||
"entries": {
|
||||
"section": {
|
||||
"description": "自定义会话菜单中显示哪些电源操作及其顺序。",
|
||||
"label": "电源操作"
|
||||
}
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "配置会话菜单面板的行为和外观。",
|
||||
"label": "常规"
|
||||
}
|
||||
},
|
||||
"position": {
|
||||
"description": "选择会话菜单面板打开时出现的位置。",
|
||||
"label": "位置"
|
||||
},
|
||||
"show-header": {
|
||||
"description": "在会话菜单顶部显示标题和关闭按钮。",
|
||||
"label": "显示标题"
|
||||
},
|
||||
"title": "会话菜单"
|
||||
},
|
||||
"system-monitor": {
|
||||
"cpu-critical-threshold": {
|
||||
"label": "严重阈值"
|
||||
},
|
||||
"cpu-section": {
|
||||
"label": "CPU 使用率"
|
||||
},
|
||||
"cpu-warning-threshold": {
|
||||
"label": "警告阈值"
|
||||
},
|
||||
"critical-color": {
|
||||
"label": "严重颜色"
|
||||
},
|
||||
"custom-highlight-colors-title": {
|
||||
"label": "自定义高亮颜色"
|
||||
},
|
||||
"disk-critical-threshold": {
|
||||
"label": "严重阈值"
|
||||
},
|
||||
"disk-section": {
|
||||
"label": "磁盘使用率"
|
||||
},
|
||||
"disk-warning-threshold": {
|
||||
"label": "警告阈值"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "配置系统监视器的行为和外观。",
|
||||
"label": "通用"
|
||||
}
|
||||
},
|
||||
"highlight-colors-section": {
|
||||
"label": "高亮颜色"
|
||||
},
|
||||
"mem-critical-threshold": {
|
||||
"label": "严重阈值"
|
||||
},
|
||||
"mem-warning-threshold": {
|
||||
"label": "警告阈值"
|
||||
},
|
||||
"memory-section": {
|
||||
"label": "内存使用率"
|
||||
},
|
||||
"temp-critical-threshold": {
|
||||
"label": "严重阈值"
|
||||
},
|
||||
"temp-warning-threshold": {
|
||||
"label": "警告阈值"
|
||||
},
|
||||
"temperature-section": {
|
||||
"label": "CPU 温度"
|
||||
},
|
||||
"thresholds-section": {
|
||||
"description": "设置各项系统测量指标的阈值,超过该值将以高亮色进行提示。",
|
||||
"label": "阈值"
|
||||
},
|
||||
"title": "系统监视器",
|
||||
"use-custom-highlight-colors": {
|
||||
"description": "关闭时将使用主题默认高亮颜色。",
|
||||
"label": "使用自定义高亮颜色"
|
||||
},
|
||||
"warning-color": {
|
||||
"label": "警告颜色"
|
||||
}
|
||||
},
|
||||
"user-interface": {
|
||||
"allow-panels-without-bar": {
|
||||
"description": "启用后,面板可以在任何屏幕上打开。禁用后,面板将仅在有栏的屏幕上打开,这可以减少内存使用。",
|
||||
"label": "允许在没有栏的屏幕上显示面板"
|
||||
},
|
||||
"animation-disable": {
|
||||
"description": "禁用所有动画以获得更快、更流畅的体验。",
|
||||
"label": "禁用 UI 动画"
|
||||
@@ -1548,6 +1820,15 @@
|
||||
"description": "当面板或菜单打开时,桌面变暗。",
|
||||
"label": "昏暗的桌面"
|
||||
},
|
||||
"dimmer-opacity": {
|
||||
"description": "设置桌面变暗时的不透明度。",
|
||||
"label": "变暗桌面不透明度",
|
||||
"reset": "重置变暗桌面不透明度"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "设置所有面板的背景不透明度(启动器、控制中心、设置等)。",
|
||||
"label": "面板背景不透明度"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
"description": "面板锁定到边栏和屏幕边缘,形成无缝外观,并具有时尚的倒角。",
|
||||
"label": "将面板对齐到边缘"
|
||||
@@ -1640,6 +1921,10 @@
|
||||
"label": "壁纸文件夹",
|
||||
"tooltip": "浏览壁纸文件夹"
|
||||
},
|
||||
"hide-wallpaper-filenames": {
|
||||
"description": "在选择器中隐藏壁纸文件名。",
|
||||
"label": "隐藏文件名。"
|
||||
},
|
||||
"monitor-specific": {
|
||||
"description": "为每个显示器设置不同的壁纸文件夹。",
|
||||
"label": "显示器特定目录",
|
||||
@@ -1655,6 +1940,11 @@
|
||||
},
|
||||
"select-folder": "选择壁纸文件夹",
|
||||
"select-monitor-folder": "选择显示器壁纸文件夹",
|
||||
"selector": {
|
||||
"description": "选择你的壁纸。",
|
||||
"label": "壁纸选择器",
|
||||
"tooltip": "打开壁纸选择器"
|
||||
},
|
||||
"selector-position": {
|
||||
"description": "选择壁纸选择面板的显示位置。",
|
||||
"label": "选择器位置"
|
||||
@@ -1719,19 +2009,6 @@
|
||||
"low": "电量低",
|
||||
"low-desc": "电量为 {percent}%。请连接充电器。"
|
||||
},
|
||||
"battery-manager": {
|
||||
"initial-setup": "需要初始设置",
|
||||
"install-failed": "安装失败",
|
||||
"install-missing": "缺少必要文件",
|
||||
"install-success": "安装成功",
|
||||
"install-unsupported": "系统不受支持",
|
||||
"set-failed": "设置电池阈值失败",
|
||||
"set-success-desc": "电池阈值已设置为 {percent}%",
|
||||
"title": "电池阈值",
|
||||
"uninstall-failed": "卸载失败",
|
||||
"uninstall-setup": "正在卸载,需要身份验证",
|
||||
"uninstall-success": "卸载成功"
|
||||
},
|
||||
"bluetooth": {
|
||||
"disabled": "已禁用",
|
||||
"enabled": "已启用"
|
||||
@@ -1800,6 +2077,10 @@
|
||||
"title-matugen": "Matugen模板处理失败",
|
||||
"title-predefined": "预定义的颜色方案处理失败"
|
||||
},
|
||||
"vpn": {
|
||||
"connected": "已连接到“{name}”",
|
||||
"disconnected": "已断开与“{name}”的连接"
|
||||
},
|
||||
"wallpaper-colors": {
|
||||
"disabled": "壁纸颜色已禁用",
|
||||
"enabled": "壁纸颜色已启用",
|
||||
@@ -1833,6 +2114,7 @@
|
||||
"input-muted": "静音输入设备",
|
||||
"keep-awake": "保持唤醒",
|
||||
"keyboard-layout": "{layout} 键盘布局",
|
||||
"manage-vpn": "管理 VPN 连接",
|
||||
"manage-wifi": "管理 Wi-Fi",
|
||||
"microphone-volume-at": "麦克风音量 {volume}%\n左键点击进入设置。右键点击切换静音。\n滚动滚轮调节音量。",
|
||||
"move-to-center-section": "移动到中央部分",
|
||||
@@ -1860,6 +2142,7 @@
|
||||
"previous-month": "上个月",
|
||||
"refresh": "刷新",
|
||||
"refresh-devices": "刷新设备",
|
||||
"refresh-wallhaven": "刷新 Wallhaven 结果",
|
||||
"refresh-wallpaper-list": "刷新壁纸列表",
|
||||
"remove-widget": "移除小部件",
|
||||
"screen-recorder-not-installed": "屏幕录制器未安装",
|
||||
@@ -1889,8 +2172,51 @@
|
||||
"description": "一次性将选定的壁纸应用到所有显示器。",
|
||||
"label": "应用到所有显示器"
|
||||
},
|
||||
"categories": {
|
||||
"anime": "动漫",
|
||||
"general": "通用",
|
||||
"label": "分类",
|
||||
"people": "人物"
|
||||
},
|
||||
"order": {
|
||||
"asc": "升序",
|
||||
"desc": "降序",
|
||||
"label": "顺序"
|
||||
},
|
||||
"purity": {
|
||||
"all": "全部",
|
||||
"label": "内容过滤器",
|
||||
"sfw": "SFW",
|
||||
"sketchy": "Sketchy"
|
||||
},
|
||||
"resolution": {
|
||||
"atleast": "至少",
|
||||
"exact": "精确",
|
||||
"label": "分辨率",
|
||||
"mode": {
|
||||
"label": "模式"
|
||||
}
|
||||
},
|
||||
"search": "搜索:",
|
||||
"title": "壁纸选择器"
|
||||
"sorting": {
|
||||
"date_added": "添加日期",
|
||||
"favorites": "收藏",
|
||||
"label": "排序方式",
|
||||
"random": "随机",
|
||||
"relevance": "相关性",
|
||||
"toplist": "排行榜",
|
||||
"views": "浏览量"
|
||||
},
|
||||
"source": {
|
||||
"label": "来源",
|
||||
"local": "本地",
|
||||
"wallhaven": "Wallhaven"
|
||||
},
|
||||
"title": "壁纸选择器",
|
||||
"wallhaven-settings": {
|
||||
"apply": "应用",
|
||||
"title": "Wallhaven 设置"
|
||||
}
|
||||
},
|
||||
"transitions": {
|
||||
"disc": "圆盘",
|
||||
@@ -1900,7 +2226,13 @@
|
||||
"stripes": "条纹",
|
||||
"wipe": "擦除"
|
||||
},
|
||||
"try-different-search": "尝试不同的搜索查询。"
|
||||
"try-different-search": "尝试不同的搜索查询。",
|
||||
"unknown": "未知",
|
||||
"wallhaven": {
|
||||
"loading": "正在加载壁纸...",
|
||||
"no-results": "未找到壁纸。请尝试不同的搜索查询。",
|
||||
"page": "{current} / {total}"
|
||||
}
|
||||
},
|
||||
"weather": {
|
||||
"clear-sky": "晴朗",
|
||||
@@ -2009,6 +2341,7 @@
|
||||
},
|
||||
"wifi": {
|
||||
"panel": {
|
||||
"available-networks": "可用网络",
|
||||
"connect": "连接",
|
||||
"connected": "已连接",
|
||||
"disabled": "Wi-Fi 已禁用",
|
||||
@@ -2019,6 +2352,7 @@
|
||||
"forget": "忘记",
|
||||
"forget-network": "忘记此网络?",
|
||||
"forgetting": "正在忘记...",
|
||||
"known-networks": "已知网络",
|
||||
"no-networks": "未找到网络",
|
||||
"password": "密码",
|
||||
"saved": "已保存",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"settingsVersion": 21,
|
||||
"settingsVersion": 23,
|
||||
"setupCompleted": false,
|
||||
"bar": {
|
||||
"position": "top",
|
||||
@@ -7,6 +7,7 @@
|
||||
"monitors": [],
|
||||
"density": "default",
|
||||
"showCapsule": true,
|
||||
"capsuleOpacity": 1,
|
||||
"floating": false,
|
||||
"marginVertical": 0.25,
|
||||
"marginHorizontal": 0.25,
|
||||
@@ -59,7 +60,7 @@
|
||||
},
|
||||
"general": {
|
||||
"avatarImage": "",
|
||||
"dimDesktop": true,
|
||||
"dimmerOpacity": 0.6,
|
||||
"showScreenCorners": false,
|
||||
"forceBlackScreenCorners": false,
|
||||
"scaleRatio": 1,
|
||||
@@ -73,7 +74,8 @@
|
||||
"shadowDirection": "bottom_right",
|
||||
"shadowOffsetX": 2,
|
||||
"shadowOffsetY": 3,
|
||||
"language": ""
|
||||
"language": "",
|
||||
"allowPanelsOnScreenWithoutBar": true
|
||||
},
|
||||
"ui": {
|
||||
"fontDefault": "Roboto",
|
||||
@@ -81,12 +83,14 @@
|
||||
"fontDefaultScale": 1,
|
||||
"fontFixedScale": 1,
|
||||
"tooltipsEnabled": true,
|
||||
"panelBackgroundOpacity": 1,
|
||||
"panelsAttachedToBar": true,
|
||||
"settingsPanelAttachToBar": false
|
||||
},
|
||||
"location": {
|
||||
"name": "Tokyo",
|
||||
"weatherEnabled": true,
|
||||
"weatherShowEffects": true,
|
||||
"useFahrenheit": false,
|
||||
"use12hourFormat": false,
|
||||
"showWeekNumberInCalendar": false,
|
||||
@@ -122,12 +126,22 @@
|
||||
"transitionType": "random",
|
||||
"transitionEdgeSmoothness": 0.05,
|
||||
"monitors": [],
|
||||
"panelPosition": "follow_bar"
|
||||
"panelPosition": "follow_bar",
|
||||
"hideWallpaperFilenames": false,
|
||||
"useWallhaven": false,
|
||||
"wallhavenQuery": "",
|
||||
"wallhavenSorting": "relevance",
|
||||
"wallhavenOrder": "desc",
|
||||
"wallhavenCategories": "111",
|
||||
"wallhavenPurity": "100",
|
||||
"wallhavenResolutionMode": "atleast",
|
||||
"wallhavenResolutionWidth": "",
|
||||
"wallhavenResolutionHeight": ""
|
||||
},
|
||||
"appLauncher": {
|
||||
"enableClipboardHistory": false,
|
||||
"enableClipPreview": true,
|
||||
"position": "center",
|
||||
"backgroundOpacity": 1,
|
||||
"pinnedExecs": [],
|
||||
"useApp2Unit": false,
|
||||
"sortByMostUsed": true,
|
||||
@@ -190,10 +204,24 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"systemMonitor": {
|
||||
"cpuWarningThreshold": 80,
|
||||
"cpuCriticalThreshold": 90,
|
||||
"tempWarningThreshold": 80,
|
||||
"tempCriticalThreshold": 90,
|
||||
"memWarningThreshold": 80,
|
||||
"memCriticalThreshold": 90,
|
||||
"diskWarningThreshold": 80,
|
||||
"diskCriticalThreshold": 90,
|
||||
"useCustomColors": false,
|
||||
"warningColor": "",
|
||||
"criticalColor": ""
|
||||
},
|
||||
"dock": {
|
||||
"enabled": true,
|
||||
"displayMode": "always_visible",
|
||||
"backgroundOpacity": 1,
|
||||
"radiusRatio": 0.1,
|
||||
"floatingRatio": 1,
|
||||
"size": 1,
|
||||
"onlySameOutput": true,
|
||||
@@ -204,6 +232,38 @@
|
||||
"network": {
|
||||
"wifiEnabled": true
|
||||
},
|
||||
"sessionMenu": {
|
||||
"enableCountdown": true,
|
||||
"countdownDuration": 10000,
|
||||
"position": "center",
|
||||
"showHeader": true,
|
||||
"powerOptions": [
|
||||
{
|
||||
"action": "lock",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"action": "suspend",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"action": "hibernate",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"action": "reboot",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"action": "logout",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"action": "shutdown",
|
||||
"enabled": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"notifications": {
|
||||
"enabled": true,
|
||||
"monitors": [],
|
||||
@@ -213,14 +273,16 @@
|
||||
"respectExpireTimeout": false,
|
||||
"lowUrgencyDuration": 3,
|
||||
"normalUrgencyDuration": 8,
|
||||
"criticalUrgencyDuration": 15
|
||||
"criticalUrgencyDuration": 15,
|
||||
"enableKeyboardLayoutToast": true
|
||||
},
|
||||
"osd": {
|
||||
"enabled": true,
|
||||
"location": "top_right",
|
||||
"monitors": [],
|
||||
"autoHideMs": 2000,
|
||||
"overlayLayer": true
|
||||
"overlayLayer": true,
|
||||
"backgroundOpacity": 1
|
||||
},
|
||||
"audio": {
|
||||
"volumeStep": 5,
|
||||
@@ -229,7 +291,8 @@
|
||||
"visualizerType": "linear",
|
||||
"visualizerQuality": "high",
|
||||
"mprisBlacklist": [],
|
||||
"preferredPlayer": ""
|
||||
"preferredPlayer": "",
|
||||
"externalMixer": "pwvucontrol || pavucontrol"
|
||||
},
|
||||
"brightness": {
|
||||
"brightnessStep": 5,
|
||||
@@ -262,13 +325,7 @@
|
||||
"walker": false,
|
||||
"code": false,
|
||||
"spicetify": false,
|
||||
"enableUserTemplates": false,
|
||||
"discord_vesktop": false,
|
||||
"discord_webcord": false,
|
||||
"discord_armcord": false,
|
||||
"discord_equibop": false,
|
||||
"discord_lightcord": false,
|
||||
"discord_dorion": false
|
||||
"enableUserTemplates": false
|
||||
},
|
||||
"nightLight": {
|
||||
"enabled": false,
|
||||
@@ -279,12 +336,12 @@
|
||||
"manualSunrise": "06:30",
|
||||
"manualSunset": "18:30"
|
||||
},
|
||||
"changelog": {
|
||||
"lastSeenVersion": ""
|
||||
},
|
||||
"hooks": {
|
||||
"enabled": false,
|
||||
"wallpaperChange": "",
|
||||
"darkModeChange": ""
|
||||
},
|
||||
"battery": {
|
||||
"chargingMode": 0
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
# Battery charge control paths
|
||||
# Add one path per line
|
||||
/sys/class/power_supply/BAT0/charge_control_end_threshold
|
||||
/sys/class/power_supply/BAT1/charge_control_end_threshold
|
||||
/sys/class/power_supply/BAT0/charge_stop_threshold
|
||||
@@ -1,178 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
SUCCESS=0
|
||||
FAILURE=1
|
||||
MISSING_FILES=2
|
||||
UNSUPPORTED=3
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
print_error() {
|
||||
echo -e "$1" >&2
|
||||
}
|
||||
|
||||
print_info() {
|
||||
echo -e "$1"
|
||||
}
|
||||
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
print_error "This script must be run with root privileges"
|
||||
exit $FAILURE
|
||||
fi
|
||||
|
||||
print_info "Installing Battery Manager..."
|
||||
echo
|
||||
|
||||
if [ -n "$PKEXEC_UID" ]; then
|
||||
ACTUAL_USER=$(getent passwd "$PKEXEC_UID" | cut -d: -f1)
|
||||
else
|
||||
ACTUAL_USER="$SUDO_USER"
|
||||
fi
|
||||
|
||||
if [ -z "$ACTUAL_USER" ]; then
|
||||
print_error "Could not determine the actual user"
|
||||
exit $FAILURE
|
||||
fi
|
||||
|
||||
print_info "Installing for user: $ACTUAL_USER"
|
||||
echo
|
||||
|
||||
print_info "Checking required files..."
|
||||
|
||||
MISSING_FILES_LIST=()
|
||||
|
||||
if [ ! -f "$SCRIPT_DIR/battery-paths.conf" ]; then
|
||||
MISSING_FILES_LIST+=("battery-paths.conf")
|
||||
fi
|
||||
|
||||
if [ ! -f "$SCRIPT_DIR/templates/battery-manager.sh" ]; then
|
||||
MISSING_FILES_LIST+=("battery-manager.sh")
|
||||
fi
|
||||
|
||||
if [ ! -f "$SCRIPT_DIR/templates/battery-manager.policy" ]; then
|
||||
MISSING_FILES_LIST+=("battery-manager.policy")
|
||||
fi
|
||||
|
||||
if [ ! -f "$SCRIPT_DIR/templates/battery-manager.rules" ]; then
|
||||
MISSING_FILES_LIST+=("battery-manager.rules")
|
||||
fi
|
||||
|
||||
if [ ${#MISSING_FILES_LIST[@]} -gt 0 ]; then
|
||||
print_error "Missing required files in $SCRIPT_DIR:"
|
||||
for file in "${MISSING_FILES_LIST[@]}"; do
|
||||
print_error " - $file"
|
||||
done
|
||||
exit $MISSING_FILES
|
||||
fi
|
||||
|
||||
print_info "All required files found"
|
||||
|
||||
print_info "Checking battery paths..."
|
||||
BATTERY_PATHS=($(grep -v '^#' "$SCRIPT_DIR/battery-paths.conf" | grep -v '^$'))
|
||||
EXISTING_PATHS=()
|
||||
|
||||
for path in "${BATTERY_PATHS[@]}"; do
|
||||
if [ -f "$path" ]; then
|
||||
EXISTING_PATHS+=("$path")
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ${#EXISTING_PATHS[@]} -eq 0 ]; then
|
||||
print_error "None of the battery control files exist. Please check your hardware compatibility."
|
||||
exit $UNSUPPORTED
|
||||
fi
|
||||
|
||||
print_info "Found ${#EXISTING_PATHS[@]} compatible battery control file(s)"
|
||||
|
||||
print_info "Installing battery manager script..."
|
||||
BATTERY_MANAGER_SCRIPT="/usr/bin/battery-manager-$ACTUAL_USER"
|
||||
|
||||
SHEBANG=$(head -n 1 "$SCRIPT_DIR/templates/battery-manager.sh")
|
||||
echo "$SHEBANG" > "$BATTERY_MANAGER_SCRIPT"
|
||||
echo "" >> "$BATTERY_MANAGER_SCRIPT"
|
||||
|
||||
echo "BATTERY_PATHS=(" >> "$BATTERY_MANAGER_SCRIPT"
|
||||
for path in "${EXISTING_PATHS[@]}"; do
|
||||
echo " \"$path\"" >> "$BATTERY_MANAGER_SCRIPT"
|
||||
done
|
||||
echo ")" >> "$BATTERY_MANAGER_SCRIPT"
|
||||
|
||||
echo "" >> "$BATTERY_MANAGER_SCRIPT"
|
||||
|
||||
tail -n +2 "$SCRIPT_DIR/templates/battery-manager.sh" >> "$BATTERY_MANAGER_SCRIPT"
|
||||
|
||||
chmod +x "$BATTERY_MANAGER_SCRIPT"
|
||||
|
||||
print_info "Battery manager script created from $SCRIPT_DIR/templates/battery-manager.sh with compatible paths"
|
||||
print_info "Script installed at $BATTERY_MANAGER_SCRIPT"
|
||||
|
||||
print_info "Creating log file..."
|
||||
touch /var/log/battery-manager.log
|
||||
chmod 644 /var/log/battery-manager.log
|
||||
print_info "Log file created at /var/log/battery-manager.log"
|
||||
|
||||
print_info "Creating polkit policy..."
|
||||
|
||||
POLICY_FILE="/usr/share/polkit-1/actions/com.local.battery-manager.$ACTUAL_USER.policy"
|
||||
|
||||
sed -e "s/ACTUAL_USER_PLACEHOLDER/$ACTUAL_USER/g" \
|
||||
"$SCRIPT_DIR/templates/battery-manager.policy" > "$POLICY_FILE"
|
||||
|
||||
print_info "Polkit policy copied from $SCRIPT_DIR/templates/battery-manager.policy"
|
||||
print_info "Polkit policy created at $POLICY_FILE"
|
||||
print_info "Creating polkit rule..."
|
||||
|
||||
RULES_FILE="/etc/polkit-1/rules.d/50-battery-manager-$ACTUAL_USER.rules"
|
||||
|
||||
sed "s/ACTUAL_USER_PLACEHOLDER/$ACTUAL_USER/g" \
|
||||
"$SCRIPT_DIR/templates/battery-manager.rules" > "$RULES_FILE"
|
||||
|
||||
print_info "Polkit rule copied from $SCRIPT_DIR/templates/battery-manager.rules"
|
||||
print_info "Polkit rule created for user: $ACTUAL_USER at $RULES_FILE"
|
||||
|
||||
print_info "Restarting polkit..."
|
||||
if systemctl restart polkit 2>/dev/null; then
|
||||
print_info "Polkit restarted"
|
||||
else
|
||||
print_info "Could not restart polkit automatically, you may need to reboot"
|
||||
fi
|
||||
|
||||
print_info "Creating uninstall script..."
|
||||
UNINSTALL_SCRIPT="$SCRIPT_DIR/uninstall-battery-manager.sh"
|
||||
|
||||
|
||||
if [ -f "$SCRIPT_DIR/templates/uninstall-template" ]; then
|
||||
SHEBANG=$(head -n 1 "$SCRIPT_DIR/templates/uninstall-template")
|
||||
else
|
||||
SHEBANG="#!/usr/bin/env bash"
|
||||
fi
|
||||
echo "$SHEBANG" > "$UNINSTALL_SCRIPT"
|
||||
echo "" >> "$UNINSTALL_SCRIPT"
|
||||
|
||||
cat >> "$UNINSTALL_SCRIPT" << EOF
|
||||
SCRIPT_PATH="$BATTERY_MANAGER_SCRIPT"
|
||||
POLICY_PATH="$POLICY_FILE"
|
||||
RULE_PATH="$RULES_FILE"
|
||||
LOG_PATH="/var/log/battery-manager.log"
|
||||
|
||||
EOF
|
||||
|
||||
if [ -f "$SCRIPT_DIR/templates/uninstall-template" ]; then
|
||||
tail -n +2 "$SCRIPT_DIR/templates/uninstall-template" >> "$UNINSTALL_SCRIPT"
|
||||
fi
|
||||
|
||||
chmod 744 "$UNINSTALL_SCRIPT"
|
||||
chown root:root "$UNINSTALL_SCRIPT"
|
||||
|
||||
print_info "Uninstall script created at $UNINSTALL_SCRIPT"
|
||||
|
||||
|
||||
echo
|
||||
print_info "Installation complete!"
|
||||
echo
|
||||
print_info "Log file: /var/log/battery-manager.log"
|
||||
print_info "User-specific script: $BATTERY_MANAGER_SCRIPT"
|
||||
print_info "User-specific policy: $POLICY_FILE"
|
||||
print_info "User-specific rules: $RULES_FILE"
|
||||
print_info "User-specific uninstall script: $UNINSTALL_SCRIPT"
|
||||
@@ -1,86 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
SUPPRESS_NOTIFICATIONS=false
|
||||
|
||||
print_error() {
|
||||
echo -e "$1" >&2
|
||||
}
|
||||
|
||||
print_info() {
|
||||
echo -e "$1"
|
||||
}
|
||||
|
||||
send_notification() {
|
||||
local urgency="$1"
|
||||
local title="$2"
|
||||
local message="$3"
|
||||
|
||||
if [ "$SUPPRESS_NOTIFICATIONS" = false ] && command -v notify-send >/dev/null 2>&1; then
|
||||
notify-send -u "$urgency" "$title" "$message"
|
||||
fi
|
||||
}
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
-q|--quiet)
|
||||
SUPPRESS_NOTIFICATIONS=true
|
||||
shift
|
||||
;;
|
||||
-*)
|
||||
print_error "Unknown option: $1"
|
||||
echo "Usage: $0 [OPTIONS] <number>" >&2
|
||||
echo "Options:" >&2
|
||||
echo " -q, --quiet Suppress notifications" >&2
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
BATTERY_LEVEL="$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$BATTERY_LEVEL" ]; then
|
||||
print_error "Battery level not specified"
|
||||
echo "Usage: $0 [OPTIONS] <number>" >&2
|
||||
echo "Options:" >&2
|
||||
echo " -q, --quiet Suppress notifications" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! [[ "$BATTERY_LEVEL" =~ ^[0-9]+$ ]] || [ "$BATTERY_LEVEL" -gt 100 ] || [ "$BATTERY_LEVEL" -lt 0 ]; then
|
||||
print_error "Battery level must be a number between 0-100"
|
||||
echo "Usage: $0 [OPTIONS] <number>" >&2
|
||||
echo "Options:" >&2
|
||||
echo " -q, --quiet Suppress notifications" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CURRENT_USER="$USER"
|
||||
if [ -z "$CURRENT_USER" ]; then
|
||||
CURRENT_USER="$(whoami)"
|
||||
fi
|
||||
|
||||
BATTERY_MANAGER_PATH="/usr/bin/battery-manager-$CURRENT_USER"
|
||||
|
||||
SUCCESS=0
|
||||
MISSING_FILES=2
|
||||
|
||||
if [ ! -f "$BATTERY_MANAGER_PATH" ]; then
|
||||
print_error "Battery manager components missing for user $CURRENT_USER!"
|
||||
exit $MISSING_FILES
|
||||
fi
|
||||
|
||||
print_info "Setting battery charging threshold to $BATTERY_LEVEL% for user $CURRENT_USER..."
|
||||
|
||||
if pkexec "$BATTERY_MANAGER_PATH" "$BATTERY_LEVEL"; then
|
||||
print_info "Battery charging threshold set to $BATTERY_LEVEL%"
|
||||
send_notification "normal" "Battery Threshold Updated" \
|
||||
"Battery charging threshold has been set to $BATTERY_LEVEL%"
|
||||
else
|
||||
print_error "Failed to set battery charging threshold"
|
||||
send_notification "critical" "Battery Threshold Failed" \
|
||||
"Failed to set battery charging threshold to $BATTERY_LEVEL%"
|
||||
exit 1
|
||||
fi
|
||||
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE policyconfig PUBLIC
|
||||
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
|
||||
<policyconfig>
|
||||
<action id="com.local.battery-manager.ACTUAL_USER_PLACEHOLDER">
|
||||
<description>Manage battery settings for ACTUAL_USER_PLACEHOLDER</description>
|
||||
<message>Authentication is required to manage battery settings</message>
|
||||
<defaults>
|
||||
<allow_any>no</allow_any>
|
||||
<allow_inactive>no</allow_inactive>
|
||||
<allow_active>yes</allow_active>
|
||||
</defaults>
|
||||
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/battery-manager-ACTUAL_USER_PLACEHOLDER</annotate>
|
||||
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
|
||||
</action>
|
||||
</policyconfig>
|
||||
@@ -1,14 +0,0 @@
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (action.id == "com.local.battery-manager.ACTUAL_USER_PLACEHOLDER" &&
|
||||
subject.user == "ACTUAL_USER_PLACEHOLDER") {
|
||||
|
||||
// Check if the parent process is quickshell or set-battery-threshold
|
||||
var pid = subject.pid;
|
||||
var ppid = polkit.spawn(["ps", "-o", "ppid=", "-p", pid.toString()]).trim();
|
||||
var parentCmd = polkit.spawn(["ps", "-o", "comm=", "-p", ppid]).trim();
|
||||
|
||||
if (parentCmd.indexOf("quickshell") !== -1 || parentCmd.indexOf("set-battery-treshold") !== -1) {
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -1,53 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
LOG_FILE="/var/log/battery-manager.log"
|
||||
|
||||
log_message() {
|
||||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> "$LOG_FILE"
|
||||
}
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "Error: No battery level provided" >&2
|
||||
log_message "ERROR: No battery level provided"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BATTERY_LEVEL="$1"
|
||||
|
||||
if ! [[ "$BATTERY_LEVEL" =~ ^[0-9]+$ ]] || [ "$BATTERY_LEVEL" -gt 100 ] || [ "$BATTERY_LEVEL" -lt 0 ]; then
|
||||
echo "Error: Invalid battery level. Must be 0-100" >&2
|
||||
log_message "ERROR: Invalid battery level: $BATTERY_LEVEL"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SUCCESS_COUNT=0
|
||||
FAIL_COUNT=0
|
||||
|
||||
for path in "${BATTERY_PATHS[@]}"; do
|
||||
[[ -z "$path" || "$path" =~ ^# ]] && continue
|
||||
|
||||
if [ -f "$path" ] && [ -w "$path" ]; then
|
||||
if echo "$BATTERY_LEVEL" > "$path" 2>/dev/null; then
|
||||
echo "Updated: $path"
|
||||
log_message "SUCCESS: Updated $path to $BATTERY_LEVEL"
|
||||
((SUCCESS_COUNT++))
|
||||
else
|
||||
echo "Failed to write: $path" >&2
|
||||
log_message "ERROR: Failed to write to $path"
|
||||
((FAIL_COUNT++))
|
||||
fi
|
||||
else
|
||||
echo "Skipped (not found/writable): $path"
|
||||
log_message "INFO: Skipped $path (not found or not writable)"
|
||||
fi
|
||||
done
|
||||
|
||||
log_message "SUMMARY: Updated $SUCCESS_COUNT file(s), failed $FAIL_COUNT, battery level: $BATTERY_LEVEL"
|
||||
|
||||
if [ "$SUCCESS_COUNT" -eq 0 ]; then
|
||||
echo "Error: No battery files were updated" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Successfully updated $SUCCESS_COUNT battery file(s)"
|
||||
exit 0
|
||||
@@ -1,30 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
echo "This script must be run as root"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Uninstalling battery manager..."
|
||||
|
||||
if [ -f "$SCRIPT_PATH" ]; then
|
||||
rm -f "$SCRIPT_PATH"
|
||||
echo "Removed script from $SCRIPT_PATH"
|
||||
fi
|
||||
|
||||
if [ -f "$POLICY_PATH" ]; then
|
||||
rm -f "$POLICY_PATH"
|
||||
echo "Removed policy file from $POLICY_PATH"
|
||||
fi
|
||||
|
||||
if [ -f "$RULE_PATH" ]; then
|
||||
rm -f "$RULE_PATH"
|
||||
echo "Removed udev rule from $RULE_PATH"
|
||||
fi
|
||||
|
||||
if [ -f "$LOG_PATH" ]; then
|
||||
rm -f "$LOG_PATH"
|
||||
echo "Removed log file from $LOG_PATH"
|
||||
fi
|
||||
|
||||
echo "Uninstallation completed successfully"
|
||||
@@ -2,33 +2,25 @@
|
||||
set -euo pipefail
|
||||
|
||||
# QML Formatter Script
|
||||
# Uses: https://github.com/jesperhh/qmlfmt
|
||||
# Install: AUR package "qmlfmt-git" (requires qt6-5compat)
|
||||
|
||||
command -v qmlfmt &>/dev/null || { echo "qmlfmt not found" >&2; exit 1; }
|
||||
# Find qmlformat binary
|
||||
if [ ! -x "/usr/lib/qt6/bin/qmlformat" ]; then
|
||||
echo "No 'qmlformat' found in /usr/lib/qt6/bin." >&2
|
||||
echo "Install it via 'qt6-tools' or 'qt6-declarative-tools' to proceed." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
format_file() {
|
||||
/usr/lib/qt6/bin/qmlformat -w 2 -W 360 -S --semicolon-rule always -i "$1" || { echo "Failed: $1" >&2; return 1; }
|
||||
}
|
||||
|
||||
format_file() { qmlfmt -e -b 360 -t 2 -i 2 -w "$1" || { echo "Failed: $1" >&2; return 1; }; }
|
||||
export -f format_file
|
||||
|
||||
# Find all .qml files
|
||||
mapfile -t all_files < <(find "${1:-.}" -name "*.qml" -type f)
|
||||
[ ${#all_files[@]} -eq 0 ] && { echo "No QML files found"; exit 0; }
|
||||
|
||||
echo "Scanning ${#all_files[@]} files for array destructuring..."
|
||||
safe_files=()
|
||||
for file in "${all_files[@]}"; do
|
||||
# Checks for a comma inside brackets followed by an equals sign aka "array destructuring"
|
||||
# as this ES6 syntax is not supported by qmlfmt and will result in breakage.
|
||||
if grep -qE '\[.*,.*\]\s*=' "$file"; then
|
||||
echo "-> Skipping (Array destructuring detected): $file" >&2
|
||||
else
|
||||
safe_files+=("$file")
|
||||
fi
|
||||
done
|
||||
|
||||
[ ${#safe_files[@]} -eq 0 ] && { echo "No safe files to format after filtering."; exit 0; }
|
||||
|
||||
echo "Formatting ${#safe_files[@]} files..."
|
||||
printf '%s\0' "${safe_files[@]}" | \
|
||||
echo "Formatting ${#all_files[@]} files..."
|
||||
printf '%s\0' "${all_files[@]}" | \
|
||||
xargs -0 -P "${QMLFMT_JOBS:-$(nproc)}" -I {} bash -c 'format_file "$@"' _ {} \
|
||||
&& echo "Done" || { echo "Errors occurred" >&2; exit 1; }
|
||||
&& echo "Done" || { echo "Errors occurred" >&2; exit 1; }
|
||||
|
||||
@@ -15,22 +15,59 @@ fi
|
||||
# Create the destination directory if it doesn't exist.
|
||||
mkdir -p "$DEST_DIR"
|
||||
|
||||
# Loop through all files in the source directory ending with .frag
|
||||
for shader in "$SOURCE_DIR"*.frag; do
|
||||
# Check if a file was found (to handle the case of no .frag files).
|
||||
if [ -f "$shader" ]; then
|
||||
# Get the base name of the file (e.g., wp_fade).
|
||||
shader_name=$(basename "$shader" .frag)
|
||||
# Array to hold the list of full paths to the shaders.
|
||||
SHADERS_TO_COMPILE=()
|
||||
|
||||
# Construct the output path for the compiled shader.
|
||||
output_path="$DEST_DIR$shader_name.frag.qsb"
|
||||
# Specific files mode.
|
||||
if [ "$#" -gt 0 ]; then
|
||||
|
||||
# Construct and run the qsb command.
|
||||
qsb --qt6 -o "$output_path" "$shader"
|
||||
# Loop through all command-line arguments ($@ holds all arguments).
|
||||
for SINGLE_FILE in "$@"; do
|
||||
|
||||
# Print a message to confirm compilation.
|
||||
echo "Compiled $shader to $output_path"
|
||||
# Construct the full path to the source file.
|
||||
FULL_PATH="$SOURCE_DIR$SINGLE_FILE"
|
||||
|
||||
# Check if the specified file exists in the SOURCE_DIR.
|
||||
if [ ! -f "$FULL_PATH" ]; then
|
||||
echo "Error: Specified file '$SINGLE_FILE' not found in $SOURCE_DIR! Skipping."
|
||||
continue
|
||||
fi
|
||||
|
||||
# Add the valid file to the compilation list.
|
||||
SHADERS_TO_COMPILE+=("$FULL_PATH")
|
||||
done
|
||||
|
||||
# Check if any valid files were found to compile.
|
||||
if [ ${#SHADERS_TO_COMPILE[@]} -eq 0 ]; then
|
||||
echo "No valid shaders found to compile."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Whole directory mode (no argument provided).
|
||||
else
|
||||
# Use find to generate the list of files and assign it to the array.
|
||||
while IFS= read -r shader_path; do
|
||||
if [ -n "$shader_path" ]; then
|
||||
SHADERS_TO_COMPILE+=("$shader_path")
|
||||
fi
|
||||
done < <(find "$SOURCE_DIR" -maxdepth 1 -name "*.frag")
|
||||
|
||||
fi
|
||||
|
||||
# Loop through the list of shaders to compile.
|
||||
for shader in "${SHADERS_TO_COMPILE[@]}"; do
|
||||
|
||||
# Get the base name of the file (e.g., wp_fade).
|
||||
shader_name=$(basename "$shader" .frag)
|
||||
|
||||
# Construct the output path for the compiled shader.
|
||||
output_path="$DEST_DIR$shader_name.frag.qsb"
|
||||
|
||||
# Construct and run the qsb command.
|
||||
/usr/lib/qt6/bin/qsb --qt6 -o "$output_path" "$shader"
|
||||
|
||||
# Print a message to confirm compilation.
|
||||
echo "Compiled $(basename "$shader") to $output_path"
|
||||
done
|
||||
|
||||
echo "Shader compilation complete."
|
||||
echo "Shader compilation complete."
|
||||
|
||||
@@ -5,111 +5,80 @@ import Quickshell
|
||||
import Quickshell.Io
|
||||
import qs.Commons
|
||||
|
||||
|
||||
/*
|
||||
Noctalia is not strictly a Material Design project, it supports both some predefined
|
||||
color schemes and dynamic color generation from the wallpaper (using Matugen).
|
||||
Noctalia is not strictly a Material Design project, it supports both some predefined
|
||||
color schemes and dynamic color generation from the wallpaper (using Matugen).
|
||||
|
||||
We ultimately decided to use a restricted set of colors that follows the
|
||||
Material Design 3 naming convention.
|
||||
We ultimately decided to use a restricted set of colors that follows the
|
||||
Material Design 3 naming convention.
|
||||
|
||||
NOTE: All color names are prefixed with 'm' (e.g., mPrimary) to prevent QML from
|
||||
misinterpreting them as signals (e.g., the 'onPrimary' property name).
|
||||
NOTE: All color names are prefixed with 'm' (e.g., mPrimary) to prevent QML from
|
||||
misinterpreting them as signals (e.g., the 'onPrimary' property name).
|
||||
*/
|
||||
Singleton {
|
||||
id: root
|
||||
|
||||
// --- Key Colors: These are the main accent colors that define your app's style
|
||||
property color mPrimary: customColors.mPrimary
|
||||
property color mOnPrimary: customColors.mOnPrimary
|
||||
property color mSecondary: customColors.mSecondary
|
||||
property color mOnSecondary: customColors.mOnSecondary
|
||||
property color mTertiary: customColors.mTertiary
|
||||
property color mOnTertiary: customColors.mOnTertiary
|
||||
readonly property color mPrimary: customColorsData.mPrimary
|
||||
readonly property color mOnPrimary: customColorsData.mOnPrimary
|
||||
readonly property color mSecondary: customColorsData.mSecondary
|
||||
readonly property color mOnSecondary: customColorsData.mOnSecondary
|
||||
readonly property color mTertiary: customColorsData.mTertiary
|
||||
readonly property color mOnTertiary: customColorsData.mOnTertiary
|
||||
|
||||
// --- Utility Colors: These colors serve specific, universal purposes like indicating errors
|
||||
property color mError: customColors.mError
|
||||
property color mOnError: customColors.mOnError
|
||||
readonly property color mError: customColorsData.mError
|
||||
readonly property color mOnError: customColorsData.mOnError
|
||||
|
||||
// --- Surface and Variant Colors: These provide additional options for surfaces and their contents, creating visual hierarchy
|
||||
property color mSurface: customColors.mSurface
|
||||
property color mOnSurface: customColors.mOnSurface
|
||||
readonly property color mSurface: customColorsData.mSurface
|
||||
readonly property color mOnSurface: customColorsData.mOnSurface
|
||||
|
||||
property color mSurfaceVariant: customColors.mSurfaceVariant
|
||||
property color mOnSurfaceVariant: customColors.mOnSurfaceVariant
|
||||
readonly property color mSurfaceVariant: customColorsData.mSurfaceVariant
|
||||
readonly property color mOnSurfaceVariant: customColorsData.mOnSurfaceVariant
|
||||
|
||||
property color mOutline: customColors.mOutline
|
||||
property color mShadow: customColors.mShadow
|
||||
readonly property color mOutline: customColorsData.mOutline
|
||||
readonly property color mShadow: customColorsData.mShadow
|
||||
|
||||
property color mHover: customColors.mHover
|
||||
property color mOnHover: customColors.mOnHover
|
||||
readonly property color mHover: customColorsData.mHover
|
||||
readonly property color mOnHover: customColorsData.mOnHover
|
||||
|
||||
// --- Absolute Colors
|
||||
property color transparent: "transparent"
|
||||
property color black: "#000000"
|
||||
property color white: "#ffffff"
|
||||
readonly property color transparent: "transparent"
|
||||
readonly property color black: "#000000"
|
||||
readonly property color white: "#ffffff"
|
||||
|
||||
// --------------------------------
|
||||
// Default colors: RosePine
|
||||
QtObject {
|
||||
id: defaultColors
|
||||
|
||||
property color mPrimary: "#c7a1d8"
|
||||
property color mOnPrimary: "#1a151f"
|
||||
readonly property color mPrimary: "#c7a1d8"
|
||||
readonly property color mOnPrimary: "#1a151f"
|
||||
|
||||
property color mSecondary: "#a984c4"
|
||||
property color mOnSecondary: "#f3edf7"
|
||||
readonly property color mSecondary: "#a984c4"
|
||||
readonly property color mOnSecondary: "#f3edf7"
|
||||
|
||||
property color mTertiary: "#e0b7c9"
|
||||
property color mOnTertiary: "#20161f"
|
||||
readonly property color mTertiary: "#e0b7c9"
|
||||
readonly property color mOnTertiary: "#20161f"
|
||||
|
||||
property color mError: "#e9899d"
|
||||
property color mOnError: "#1e1418"
|
||||
readonly property color mError: "#e9899d"
|
||||
readonly property color mOnError: "#1e1418"
|
||||
|
||||
property color mSurface: "#1c1822"
|
||||
property color mOnSurface: "#e9e4f0"
|
||||
readonly property color mSurface: "#1c1822"
|
||||
readonly property color mOnSurface: "#e9e4f0"
|
||||
|
||||
property color mSurfaceVariant: "#262130"
|
||||
property color mOnSurfaceVariant: "#a79ab0"
|
||||
readonly property color mSurfaceVariant: "#262130"
|
||||
readonly property color mOnSurfaceVariant: "#a79ab0"
|
||||
|
||||
property color mOutline: "#342c42"
|
||||
property color mShadow: "#120f18"
|
||||
readonly property color mOutline: "#342c42"
|
||||
readonly property color mShadow: "#120f18"
|
||||
|
||||
property color mHover: "#e0b7c9"
|
||||
property color mOnHover: "#20161f"
|
||||
readonly property color mHover: "#e0b7c9"
|
||||
readonly property color mOnHover: "#20161f"
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------
|
||||
// Custom colors loaded from colors.json
|
||||
// These can be generated by matugen or simply come from a well know color scheme (Dracula, Gruvbox, Nord, ...)
|
||||
QtObject {
|
||||
id: customColors
|
||||
|
||||
property color mPrimary: customColorsData.mPrimary
|
||||
property color mOnPrimary: customColorsData.mOnPrimary
|
||||
|
||||
property color mSecondary: customColorsData.mSecondary
|
||||
property color mOnSecondary: customColorsData.mOnSecondary
|
||||
|
||||
property color mTertiary: customColorsData.mTertiary
|
||||
property color mOnTertiary: customColorsData.mOnTertiary
|
||||
|
||||
property color mError: customColorsData.mError
|
||||
property color mOnError: customColorsData.mOnError
|
||||
|
||||
property color mSurface: customColorsData.mSurface
|
||||
property color mOnSurface: customColorsData.mOnSurface
|
||||
|
||||
property color mSurfaceVariant: customColorsData.mSurfaceVariant
|
||||
property color mOnSurfaceVariant: customColorsData.mOnSurfaceVariant
|
||||
|
||||
property color mOutline: customColorsData.mOutline
|
||||
property color mShadow: customColorsData.mShadow
|
||||
|
||||
property color mHover: customColorsData.mHover
|
||||
property color mOnHover: customColorsData.mOnHover
|
||||
}
|
||||
|
||||
// FileView to load custom colors data from colors.json
|
||||
FileView {
|
||||
id: customColorsFile
|
||||
@@ -117,24 +86,25 @@ Singleton {
|
||||
printErrors: false
|
||||
watchChanges: true
|
||||
onFileChanged: {
|
||||
Logger.i("Color", "Reloading colors from disk")
|
||||
reload()
|
||||
Logger.i("Color", "Reloading colors from disk");
|
||||
reload();
|
||||
}
|
||||
onAdapterUpdated: {
|
||||
Logger.i("Color", "Writing colors to disk")
|
||||
writeAdapter()
|
||||
Logger.i("Color", "Writing colors to disk");
|
||||
writeAdapter();
|
||||
}
|
||||
|
||||
// Trigger initial load when path changes from empty to actual path
|
||||
onPathChanged: {
|
||||
if (path !== undefined) {
|
||||
reload()
|
||||
reload();
|
||||
}
|
||||
}
|
||||
onLoadFailed: function (error) {
|
||||
if (error.toString().includes("No such file") || error === 2) {
|
||||
// Error code 2 = ENOENT (No such file or directory)
|
||||
if (error === 2 || error.toString().includes("No such file")) {
|
||||
// File doesn't exist, create it with default values
|
||||
writeAdapter()
|
||||
writeAdapter();
|
||||
}
|
||||
}
|
||||
JsonAdapter {
|
||||
|
||||
252
Commons/I18n.qml
252
Commons/I18n.qml
@@ -12,6 +12,7 @@ Singleton {
|
||||
property string langCode: ""
|
||||
property var locale: Qt.locale()
|
||||
property string systemDetectedLangCode: ""
|
||||
property string fullLocaleCode: "" // Preserves regional locale variants
|
||||
property var availableLanguages: []
|
||||
property var translations: ({})
|
||||
property var fallbackTranslations: ({})
|
||||
@@ -32,13 +33,13 @@ Singleton {
|
||||
|
||||
onExited: function (exitCode, exitStatus) {
|
||||
if (exitCode === 0) {
|
||||
var output = stdoutCollector.text || ""
|
||||
parseDirectoryListing(output)
|
||||
var output = stdoutCollector.text || "";
|
||||
parseDirectoryListing(output);
|
||||
} else {
|
||||
Logger.e("I18n", `Failed to scan translation directory`)
|
||||
Logger.e("I18n", `Failed to scan translation directory`);
|
||||
// Fallback to default languages
|
||||
availableLanguages = ["en"]
|
||||
detectLanguage()
|
||||
availableLanguages = ["en"];
|
||||
detectLanguage();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -50,21 +51,21 @@ Singleton {
|
||||
onFileChanged: reload()
|
||||
onLoaded: {
|
||||
try {
|
||||
var data = JSON.parse(text())
|
||||
root.translations = data
|
||||
Logger.i("I18n", `Loaded translations for "${root.langCode}"`)
|
||||
Logger.d("I18n", `Available root keys: ${Object.keys(data).join(", ")}`)
|
||||
var data = JSON.parse(text());
|
||||
root.translations = data;
|
||||
Logger.i("I18n", `Loaded translations for "${root.langCode}"`);
|
||||
Logger.d("I18n", `Available root keys: ${Object.keys(data).join(", ")}`);
|
||||
|
||||
root.isLoaded = true
|
||||
root.translationsLoaded()
|
||||
root.isLoaded = true;
|
||||
root.translationsLoaded();
|
||||
} catch (e) {
|
||||
Logger.e("I18n", `Failed to parse translation file: ${e}`)
|
||||
setLanguage("en")
|
||||
Logger.e("I18n", `Failed to parse translation file: ${e}`);
|
||||
setLanguage("en");
|
||||
}
|
||||
}
|
||||
onLoadFailed: function (error) {
|
||||
setLanguage("en")
|
||||
Logger.e("I18n", `Failed to load translation file: ${error}`)
|
||||
setLanguage("en");
|
||||
Logger.e("I18n", `Failed to load translation file: ${error}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,152 +76,161 @@ Singleton {
|
||||
onFileChanged: reload()
|
||||
onLoaded: {
|
||||
try {
|
||||
var data = JSON.parse(text())
|
||||
root.fallbackTranslations = data
|
||||
Logger.d("I18n", `Loaded english fallback translations`)
|
||||
var data = JSON.parse(text());
|
||||
root.fallbackTranslations = data;
|
||||
Logger.d("I18n", `Loaded english fallback translations`);
|
||||
} catch (e) {
|
||||
Logger.e("I18n", `Failed to parse fallback translation file: ${e}`)
|
||||
Logger.e("I18n", `Failed to parse fallback translation file: ${e}`);
|
||||
}
|
||||
}
|
||||
onLoadFailed: function (error) {
|
||||
Logger.e("I18n", `Failed to load fallback translation file: ${error}`)
|
||||
Logger.e("I18n", `Failed to load fallback translation file: ${error}`);
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
Logger.i("I18n", "Service started")
|
||||
scanAvailableLanguages()
|
||||
Logger.i("I18n", "Service started");
|
||||
scanAvailableLanguages();
|
||||
}
|
||||
|
||||
// -------------------------------------------
|
||||
function scanAvailableLanguages() {
|
||||
Logger.d("I18n", "Scanning for available translation files...")
|
||||
directoryScanner.running = true
|
||||
Logger.d("I18n", "Scanning for available translation files...");
|
||||
directoryScanner.running = true;
|
||||
}
|
||||
|
||||
// -------------------------------------------
|
||||
function parseDirectoryListing(output) {
|
||||
var languages = []
|
||||
var languages = [];
|
||||
|
||||
try {
|
||||
if (!output || output.trim() === "") {
|
||||
Logger.w("I18n", "Empty directory listing output")
|
||||
availableLanguages = ["en"]
|
||||
detectLanguage()
|
||||
return
|
||||
Logger.w("I18n", "Empty directory listing output");
|
||||
availableLanguages = ["en"];
|
||||
detectLanguage();
|
||||
return;
|
||||
}
|
||||
|
||||
const entries = output.trim().split('\n')
|
||||
const entries = output.trim().split('\n');
|
||||
|
||||
for (var i = 0; i < entries.length; i++) {
|
||||
const entry = entries[i].trim()
|
||||
const entry = entries[i].trim();
|
||||
if (entry && entry.endsWith('.json')) {
|
||||
// Extract language code from filename (e.g., "en.json" -> "en")
|
||||
const langCode = entry.substring(0, entry.lastIndexOf('.json'))
|
||||
const langCode = entry.substring(0, entry.lastIndexOf('.json'));
|
||||
if (langCode.length >= 2 && langCode.length <= 5) {
|
||||
// Basic validation for language codes
|
||||
languages.push(langCode)
|
||||
languages.push(langCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Sort languages alphabetically, but ensure "en" comes first if available
|
||||
languages.sort()
|
||||
const enIndex = languages.indexOf("en")
|
||||
languages.sort();
|
||||
const enIndex = languages.indexOf("en");
|
||||
if (enIndex > 0) {
|
||||
languages.splice(enIndex, 1)
|
||||
languages.unshift("en")
|
||||
languages.splice(enIndex, 1);
|
||||
languages.unshift("en");
|
||||
}
|
||||
|
||||
if (languages.length === 0) {
|
||||
Logger.w("I18n", "No translation files found, using fallback")
|
||||
languages = ["en"] // Fallback
|
||||
Logger.w("I18n", "No translation files found, using fallback");
|
||||
languages = ["en"]; // Fallback
|
||||
}
|
||||
|
||||
availableLanguages = languages
|
||||
Logger.d("I18n", `Found ${languages.length} available languages: ${languages.join(', ')}`)
|
||||
availableLanguages = languages;
|
||||
Logger.d("I18n", `Found ${languages.length} available languages: ${languages.join(', ')}`);
|
||||
|
||||
// Detect language after scanning
|
||||
detectLanguage()
|
||||
detectLanguage();
|
||||
} catch (e) {
|
||||
Logger.e("I18n", `Failed to parse directory listing: ${e}`)
|
||||
Logger.e("I18n", `Failed to parse directory listing: ${e}`);
|
||||
// Fallback to default languages
|
||||
availableLanguages = ["en"]
|
||||
detectLanguage()
|
||||
availableLanguages = ["en"];
|
||||
detectLanguage();
|
||||
}
|
||||
}
|
||||
|
||||
// -------------------------------------------
|
||||
function detectLanguage() {
|
||||
Logger.d("I18n", `detectLanguage() called. Available languages: [${availableLanguages.join(', ')}]`)
|
||||
Logger.d("I18n", `detectLanguage() called. Available languages: [${availableLanguages.join(', ')}]`);
|
||||
|
||||
if (availableLanguages.length === 0) {
|
||||
Logger.w("I18n", "No available languages found")
|
||||
return
|
||||
Logger.w("I18n", "No available languages found");
|
||||
return;
|
||||
}
|
||||
|
||||
var detectedLang = ""
|
||||
var detectedLang = "";
|
||||
var detectedFullLocale = "";
|
||||
|
||||
// First, determine the system's preferred language
|
||||
for (var i = 0; i < Qt.locale().uiLanguages.length; i++) {
|
||||
const fullUserLang = Qt.locale().uiLanguages[i]
|
||||
const fullUserLang = Qt.locale().uiLanguages[i];
|
||||
|
||||
if (availableLanguages.includes(fullUserLang)) {
|
||||
detectedLang = fullUserLang
|
||||
break
|
||||
detectedLang = fullUserLang;
|
||||
detectedFullLocale = fullUserLang;
|
||||
break;
|
||||
}
|
||||
|
||||
const shortUserLang = fullUserLang.substring(0, 2)
|
||||
const shortUserLang = fullUserLang.substring(0, 2);
|
||||
if (availableLanguages.includes(shortUserLang)) {
|
||||
detectedLang = shortUserLang
|
||||
break
|
||||
detectedLang = shortUserLang;
|
||||
detectedFullLocale = fullUserLang;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// If no system language is found among available languages, fallback
|
||||
if (detectedLang === "") {
|
||||
detectedLang = availableLanguages.includes("en") ? "en" : availableLanguages[0]
|
||||
detectedLang = availableLanguages.includes("en") ? "en" : availableLanguages[0];
|
||||
detectedFullLocale = detectedLang;
|
||||
}
|
||||
|
||||
root.systemDetectedLangCode = detectedLang
|
||||
Logger.d("I18n", `System detected language: "${root.systemDetectedLangCode}"`)
|
||||
root.systemDetectedLangCode = detectedLang;
|
||||
root.fullLocaleCode = detectedFullLocale;
|
||||
Logger.d("I18n", `System detected language: "${root.systemDetectedLangCode}" (full locale: "${root.fullLocaleCode}")`);
|
||||
|
||||
// Now, apply the language: user-defined, then system-detected
|
||||
if (Settings.data.general.language !== "" && availableLanguages.includes(Settings.data.general.language)) {
|
||||
Logger.d("I18n", `User-defined language found: "${Settings.data.general.language}"`)
|
||||
setLanguage(Settings.data.general.language)
|
||||
Logger.d("I18n", `User-defined language found: "${Settings.data.general.language}"`);
|
||||
setLanguage(Settings.data.general.language);
|
||||
} else {
|
||||
Logger.d("I18n", `No user-defined language, using system detected: "${root.systemDetectedLangCode}"`)
|
||||
setLanguage(root.systemDetectedLangCode)
|
||||
Logger.d("I18n", `No user-defined language, using system detected: "${root.systemDetectedLangCode}"`);
|
||||
setLanguage(root.systemDetectedLangCode, root.fullLocaleCode);
|
||||
}
|
||||
}
|
||||
|
||||
// -------------------------------------------
|
||||
function setLanguage(newLangCode) {
|
||||
function setLanguage(newLangCode, fullLocale) {
|
||||
if (typeof fullLocale === "undefined") {
|
||||
fullLocale = newLangCode;
|
||||
}
|
||||
|
||||
if (newLangCode !== langCode && availableLanguages.includes(newLangCode)) {
|
||||
langCode = newLangCode
|
||||
locale = Qt.locale(langCode)
|
||||
Logger.i("I18n", `Language set to "${langCode}"`)
|
||||
languageChanged(langCode)
|
||||
loadTranslations()
|
||||
langCode = newLangCode;
|
||||
fullLocaleCode = fullLocale;
|
||||
locale = Qt.locale(fullLocale);
|
||||
Logger.i("I18n", `Language set to "${langCode}" with locale "${fullLocale}"`);
|
||||
languageChanged(langCode);
|
||||
loadTranslations();
|
||||
} else if (!availableLanguages.includes(newLangCode)) {
|
||||
Logger.w("I18n", `Language "${newLangCode}" is not available`)
|
||||
Logger.w("I18n", `Language "${newLangCode}" is not available`);
|
||||
}
|
||||
}
|
||||
|
||||
// -------------------------------------------
|
||||
function loadTranslations() {
|
||||
if (langCode === "")
|
||||
return
|
||||
|
||||
const filePath = `file://${Quickshell.shellDir}/Assets/Translations/${langCode}.json`
|
||||
fileView.path = filePath
|
||||
isLoaded = false
|
||||
Logger.d("I18n", `Loading translations: ${langCode}`)
|
||||
return;
|
||||
const filePath = `file://${Quickshell.shellDir}/Assets/Translations/${langCode}.json`;
|
||||
fileView.path = filePath;
|
||||
isLoaded = false;
|
||||
Logger.d("I18n", `Loading translations: ${langCode}`);
|
||||
|
||||
// Only load fallback translations if we are not using english and english is available
|
||||
if (langCode !== "en" && availableLanguages.includes("en")) {
|
||||
fallbackFileView.path = `file://${Quickshell.shellDir}/Assets/Translations/en.json`
|
||||
fallbackFileView.path = `file://${Quickshell.shellDir}/Assets/Translations/en.json`;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -228,133 +238,133 @@ Singleton {
|
||||
// Check if a translation exists
|
||||
function hasTranslation(key) {
|
||||
if (!isLoaded)
|
||||
return false
|
||||
return false;
|
||||
|
||||
const keys = key.split(".")
|
||||
var value = translations
|
||||
const keys = key.split(".");
|
||||
var value = translations;
|
||||
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
if (value && typeof value === "object" && keys[i] in value) {
|
||||
value = value[keys[i]]
|
||||
value = value[keys[i]];
|
||||
} else {
|
||||
return false
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return typeof value === "string"
|
||||
return typeof value === "string";
|
||||
}
|
||||
|
||||
// -------------------------------------------
|
||||
// Get all translation keys (useful for debugging)
|
||||
function getAllKeys(obj, prefix) {
|
||||
if (typeof obj === "undefined")
|
||||
obj = translations
|
||||
obj = translations;
|
||||
if (typeof prefix === "undefined")
|
||||
prefix = ""
|
||||
prefix = "";
|
||||
|
||||
var keys = []
|
||||
var keys = [];
|
||||
for (var key in (obj || {})) {
|
||||
const value = obj[key]
|
||||
const fullKey = prefix ? `${prefix}.${key}` : key
|
||||
const value = obj[key];
|
||||
const fullKey = prefix ? `${prefix}.${key}` : key;
|
||||
if (typeof value === "object" && value !== null) {
|
||||
keys = keys.concat(getAllKeys(value, fullKey))
|
||||
keys = keys.concat(getAllKeys(value, fullKey));
|
||||
} else if (typeof value === "string") {
|
||||
keys.push(fullKey)
|
||||
keys.push(fullKey);
|
||||
}
|
||||
}
|
||||
return keys
|
||||
return keys;
|
||||
}
|
||||
|
||||
// -------------------------------------------
|
||||
// Reload translations (useful for development)
|
||||
function reload() {
|
||||
Logger.d("I18n", "Reloading translations")
|
||||
loadTranslations()
|
||||
Logger.d("I18n", "Reloading translations");
|
||||
loadTranslations();
|
||||
}
|
||||
|
||||
// -------------------------------------------
|
||||
// Main translation function
|
||||
function tr(key, interpolations) {
|
||||
if (typeof interpolations === "undefined")
|
||||
interpolations = {}
|
||||
interpolations = {};
|
||||
|
||||
if (!isLoaded) {
|
||||
//Logger.d("I18n", "Translations not loaded yet")
|
||||
return key
|
||||
return key;
|
||||
}
|
||||
|
||||
// Navigate nested keys (e.g., "menu.file.open")
|
||||
const keys = key.split(".")
|
||||
const keys = key.split(".");
|
||||
|
||||
// Look-up translation in the active language
|
||||
var value = translations
|
||||
var notFound = false
|
||||
var value = translations;
|
||||
var notFound = false;
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
if (value && typeof value === "object" && keys[i] in value) {
|
||||
value = value[keys[i]]
|
||||
value = value[keys[i]];
|
||||
} else {
|
||||
Logger.d("I18n", `Translation key "${key}" not found at part "${keys[i]}"`)
|
||||
Logger.d("I18n", `Available keys: ${Object.keys(value || {}).join(", ")}`)
|
||||
notFound = true
|
||||
break
|
||||
Logger.d("I18n", `Translation key "${key}" not found at part "${keys[i]}"`);
|
||||
Logger.d("I18n", `Available keys: ${Object.keys(value || {}).join(", ")}`);
|
||||
notFound = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Fallback to english if not found
|
||||
if (notFound && availableLanguages.includes("en") && langCode !== "en") {
|
||||
value = fallbackTranslations
|
||||
value = fallbackTranslations;
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
if (value && typeof value === "object" && keys[i] in value) {
|
||||
value = value[keys[i]]
|
||||
value = value[keys[i]];
|
||||
} else {
|
||||
// Indicate this key does not even exists in the english fallback
|
||||
return `## ${key} ##`
|
||||
return `## ${key} ##`;
|
||||
}
|
||||
}
|
||||
|
||||
// Make untranslated string easy to spot
|
||||
value = `<i>${value}</i>`
|
||||
value = `<i>${value}</i>`;
|
||||
} else if (notFound) {
|
||||
// No fallback available
|
||||
return `## ${key} ##`
|
||||
return `## ${key} ##`;
|
||||
}
|
||||
|
||||
if (typeof value !== "string") {
|
||||
Logger.d("I18n", `Translation key "${key}" is not a string`)
|
||||
return key
|
||||
Logger.d("I18n", `Translation key "${key}" is not a string`);
|
||||
return key;
|
||||
}
|
||||
|
||||
// Handle interpolations (e.g., "Hello {name}!")
|
||||
var result = value
|
||||
var result = value;
|
||||
for (var placeholder in interpolations) {
|
||||
const regex = new RegExp(`\\{${placeholder}\\}`, 'g')
|
||||
result = result.replace(regex, interpolations[placeholder])
|
||||
const regex = new RegExp(`\\{${placeholder}\\}`, 'g');
|
||||
result = result.replace(regex, interpolations[placeholder]);
|
||||
}
|
||||
|
||||
return result
|
||||
return result;
|
||||
}
|
||||
|
||||
// -------------------------------------------
|
||||
// Plural translation function
|
||||
function trp(key, count, defaultSingular, defaultPlural, interpolations) {
|
||||
if (typeof defaultSingular === "undefined")
|
||||
defaultSingular = ""
|
||||
defaultSingular = "";
|
||||
if (typeof defaultPlural === "undefined")
|
||||
defaultPlural = ""
|
||||
defaultPlural = "";
|
||||
if (typeof interpolations === "undefined")
|
||||
interpolations = {}
|
||||
interpolations = {};
|
||||
|
||||
const pluralKey = count === 1 ? key : `${key}_plural`
|
||||
const defaultValue = count === 1 ? defaultSingular : defaultPlural
|
||||
const pluralKey = count === 1 ? key : `${key}_plural`;
|
||||
const defaultValue = count === 1 ? defaultSingular : defaultPlural;
|
||||
|
||||
// Merge interpolations with count (QML doesn't support spread operator)
|
||||
var finalInterpolations = {
|
||||
"count": count
|
||||
}
|
||||
};
|
||||
for (var prop in interpolations) {
|
||||
finalInterpolations[prop] = interpolations[prop]
|
||||
finalInterpolations[prop] = interpolations[prop];
|
||||
}
|
||||
|
||||
return tr(pluralKey, finalInterpolations)
|
||||
return tr(pluralKey, finalInterpolations);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,15 +26,15 @@ Singleton {
|
||||
signal fontReloaded
|
||||
|
||||
Component.onCompleted: {
|
||||
Logger.i("Icons", "Service started")
|
||||
loadFontWithCacheBusting()
|
||||
Logger.i("Icons", "Service started");
|
||||
loadFontWithCacheBusting();
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: Quickshell
|
||||
function onReloadCompleted() {
|
||||
Logger.d("Icons", "Quickshell reload completed - forcing font reload")
|
||||
reloadFont()
|
||||
Logger.d("Icons", "Quickshell reload completed - forcing font reload");
|
||||
reloadFont();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,20 +42,20 @@ Singleton {
|
||||
function get(iconName) {
|
||||
// Check in aliases first
|
||||
if (aliases[iconName] !== undefined) {
|
||||
iconName = aliases[iconName]
|
||||
iconName = aliases[iconName];
|
||||
}
|
||||
|
||||
// Find the appropriate codepoint
|
||||
return icons[iconName]
|
||||
return icons[iconName];
|
||||
}
|
||||
|
||||
function loadFontWithCacheBusting() {
|
||||
Logger.d("Icons", "Loading font with cache busting")
|
||||
Logger.d("Icons", "Loading font with cache busting");
|
||||
|
||||
// Destroy old loader first
|
||||
if (currentFontLoader) {
|
||||
currentFontLoader.destroy()
|
||||
currentFontLoader = null
|
||||
currentFontLoader.destroy();
|
||||
currentFontLoader = null;
|
||||
}
|
||||
|
||||
// Create new loader with cache-busting URL
|
||||
@@ -64,22 +64,22 @@ Singleton {
|
||||
FontLoader {
|
||||
source: "${cacheBustingPath}"
|
||||
}
|
||||
`, root, "dynamicFontLoader_" + fontVersion)
|
||||
`, root, "dynamicFontLoader_" + fontVersion);
|
||||
|
||||
// Connect to the new loader's status changes
|
||||
currentFontLoader.statusChanged.connect(function () {
|
||||
if (currentFontLoader.status === FontLoader.Ready) {
|
||||
Logger.d("Icons", "Font loaded successfully:", currentFontLoader.name, "(version " + fontVersion + ")")
|
||||
fontReloaded()
|
||||
Logger.d("Icons", "Font loaded successfully:", currentFontLoader.name, "(version " + fontVersion + ")");
|
||||
fontReloaded();
|
||||
} else if (currentFontLoader.status === FontLoader.Error) {
|
||||
Logger.e("Icons", "Font failed to load (version " + fontVersion + ")")
|
||||
Logger.e("Icons", "Font failed to load (version " + fontVersion + ")");
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
function reloadFont() {
|
||||
Logger.d("Icons", "Forcing font reload...")
|
||||
fontVersion++
|
||||
loadFontWithCacheBusting()
|
||||
Logger.d("Icons", "Forcing font reload...");
|
||||
fontVersion++;
|
||||
loadFontWithCacheBusting();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@ Singleton {
|
||||
"powersaver": "leaf",
|
||||
"storage": "database",
|
||||
"ethernet": "sitemap",
|
||||
"ethernet-off": "sitemap-off",
|
||||
"keyboard": "keyboard",
|
||||
"shutdown": "power",
|
||||
"lock": "lock",
|
||||
@@ -49,6 +50,7 @@ Singleton {
|
||||
"logout": "logout",
|
||||
"reboot": "refresh",
|
||||
"suspend": "player-pause",
|
||||
"hibernate": "zzz",
|
||||
"nightlight-on": "moon",
|
||||
"nightlight-off": "moon-off",
|
||||
"nightlight-forced": "moon-stars",
|
||||
@@ -122,6 +124,8 @@ Singleton {
|
||||
"settings-osd": "picture-in-picture",
|
||||
"settings-about": "info-square-rounded",
|
||||
"settings-lock-screen": "lock",
|
||||
"settings-session-menu": "power",
|
||||
"settings-system-monitor": "activity",
|
||||
"bluetooth": "bluetooth",
|
||||
"bt-device-generic": "bluetooth",
|
||||
"bt-device-headphones": "headphones",
|
||||
@@ -306,8 +310,8 @@ Singleton {
|
||||
"align-left": "\u{ea09}",
|
||||
"align-left-2": "\u{ff00}",
|
||||
"align-right": "\u{ea0a}",
|
||||
"alpha"//"align-right-2": "\u{feff}",
|
||||
: "\u{f543}",
|
||||
//"align-right-2": "\u{feff}",
|
||||
"alpha": "\u{f543}",
|
||||
"alphabet-arabic": "\u{ff2f}",
|
||||
"alphabet-bangla": "\u{ff2e}",
|
||||
"alphabet-cyrillic": "\u{f1df}",
|
||||
@@ -3139,8 +3143,8 @@ Singleton {
|
||||
"friends": "\u{eab0}",
|
||||
"friends-off": "\u{f136}",
|
||||
"frustum": "\u{fa9f}",
|
||||
"frustum-plus"//"frustum-off": "\u{fa9d}",
|
||||
: "\u{fa9e}",
|
||||
//"frustum-off": "\u{fa9d}",
|
||||
"frustum-plus": "\u{fa9e}",
|
||||
"function": "\u{f225}",
|
||||
"function-filled": "\u{fc2b}",
|
||||
"function-off": "\u{f3f0}",
|
||||
@@ -3399,13 +3403,13 @@ Singleton {
|
||||
"hexagon-letter-x": "\u{f479}",
|
||||
"hexagon-letter-x-filled": "\u{fe30}",
|
||||
"hexagon-letter-y": "\u{f47a}",
|
||||
"hexagon-letter-z"//"hexagon-letter-y-filled": "\u{fe2f}",
|
||||
: "\u{f47b}",
|
||||
"hexagon-minus"//"hexagon-letter-z-filled": "\u{fe2e}",
|
||||
: "\u{fc8f}",
|
||||
//"hexagon-letter-y-filled": "\u{fe2f}",
|
||||
"hexagon-letter-z": "\u{f47b}",
|
||||
//"hexagon-letter-z-filled": "\u{fe2e}",
|
||||
"hexagon-minus": "\u{fc8f}",
|
||||
"hexagon-minus-2": "\u{fc8e}",
|
||||
"hexagon-number-0"//"hexagon-minus-filled": "\u{fe2d}",
|
||||
: "\u{f459}",
|
||||
//"hexagon-minus-filled": "\u{fe2d}",
|
||||
"hexagon-number-0": "\u{f459}",
|
||||
"hexagon-number-0-filled": "\u{f74c}",
|
||||
"hexagon-number-1": "\u{f45a}",
|
||||
"hexagon-number-1-filled": "\u{f74d}",
|
||||
@@ -3428,8 +3432,8 @@ Singleton {
|
||||
"hexagon-off": "\u{ee9c}",
|
||||
"hexagon-plus": "\u{fc45}",
|
||||
"hexagon-plus-2": "\u{fc90}",
|
||||
"hexagonal-prism"//"hexagon-plus-filled": "\u{fe2c}",
|
||||
: "\u{faa5}",
|
||||
//"hexagon-plus-filled": "\u{fe2c}",
|
||||
"hexagonal-prism": "\u{faa5}",
|
||||
"hexagonal-prism-off": "\u{faa3}",
|
||||
"hexagonal-prism-plus": "\u{faa4}",
|
||||
"hexagonal-pyramid": "\u{faa8}",
|
||||
@@ -3459,8 +3463,8 @@ Singleton {
|
||||
"home-eco": "\u{f351}",
|
||||
"home-edit": "\u{f352}",
|
||||
"home-exclamation": "\u{f33c}",
|
||||
"home-hand"//"home-filled": "\u{fe2b}",
|
||||
: "\u{f504}",
|
||||
//"home-filled": "\u{fe2b}",
|
||||
"home-hand": "\u{f504}",
|
||||
"home-heart": "\u{f353}",
|
||||
"home-infinity": "\u{f505}",
|
||||
"home-link": "\u{f354}",
|
||||
@@ -3578,8 +3582,8 @@ Singleton {
|
||||
"ironing-2-filled": "\u{1006e}",
|
||||
"ironing-3": "\u{f2f6}",
|
||||
"ironing-3-filled": "\u{1006d}",
|
||||
"ironing-off"//"ironing-filled": "\u{fe2a}",
|
||||
: "\u{f2f7}",
|
||||
//"ironing-filled": "\u{fe2a}",
|
||||
"ironing-off": "\u{f2f7}",
|
||||
"ironing-steam": "\u{f2f9}",
|
||||
"ironing-steam-filled": "\u{1006c}",
|
||||
"ironing-steam-off": "\u{f2f8}",
|
||||
@@ -3589,8 +3593,8 @@ Singleton {
|
||||
"italic": "\u{eb93}",
|
||||
"jacket": "\u{f661}",
|
||||
"jetpack": "\u{f581}",
|
||||
"jewish-star"//"jetpack-filled": "\u{fe29}",
|
||||
: "\u{f3ff}",
|
||||
//"jetpack-filled": "\u{fe29}",
|
||||
"jewish-star": "\u{f3ff}",
|
||||
"jewish-star-filled": "\u{f67e}",
|
||||
"join-bevel": "\u{ff4c}",
|
||||
"join-round": "\u{ff4b}",
|
||||
@@ -3604,8 +3608,8 @@ Singleton {
|
||||
"kering": "\u{efb8}",
|
||||
"kerning": "\u{efb8}",
|
||||
"key": "\u{eac7}",
|
||||
"key-off"//"key-filled": "\u{fe28}",
|
||||
: "\u{f14b}",
|
||||
//"key-filled": "\u{fe28}",
|
||||
"key-off": "\u{f14b}",
|
||||
"keyboard": "\u{ebd6}",
|
||||
"keyboard-filled": "\u{100a2}",
|
||||
"keyboard-hide": "\u{ec7e}",
|
||||
@@ -3661,20 +3665,20 @@ Singleton {
|
||||
"layers-union": "\u{eacb}",
|
||||
"layout": "\u{eadb}",
|
||||
"layout-2": "\u{eacc}",
|
||||
"layout-align-left"//"layout-2-filled": "\u{fe27}",
|
||||
// "layout-align-bottom": "\u{eacd}",
|
||||
//"layout-2-filled": "\u{fe27}",
|
||||
//"layout-align-bottom": "\u{eacd}",
|
||||
//"layout-align-bottom-filled": "\u{fe26}",
|
||||
// "layout-align-center": "\u{eace}",
|
||||
//"layout-align-center": "\u{eace}",
|
||||
//"layout-align-center-filled": "\u{fe25}",
|
||||
: "\u{eacf}",
|
||||
"layout-align-middle"// "layout-align-left-filled": "\u{fe24}",
|
||||
: "\u{ead0}",
|
||||
"layout-align-right"//"layout-align-middle-filled": "\u{fe23}",
|
||||
: "\u{ead1}",
|
||||
"layout-align-top"//"layout-align-right-filled": "\u{fe22}",
|
||||
: "\u{ead2}",
|
||||
"layout-board"//"layout-align-top-filled": "\u{fe21}",
|
||||
: "\u{ef95}",
|
||||
"layout-align-left": "\u{eacf}",
|
||||
//"layout-align-left-filled": "\u{fe24}",
|
||||
"layout-align-middle": "\u{ead0}",
|
||||
//"layout-align-middle-filled": "\u{fe23}",
|
||||
"layout-align-right": "\u{ead1}",
|
||||
//"layout-align-right-filled": "\u{fe22}",
|
||||
"layout-align-top": "\u{ead2}",
|
||||
//"layout-align-top-filled": "\u{fe21}",
|
||||
"layout-board": "\u{ef95}",
|
||||
"layout-board-filled": "\u{10182}",
|
||||
"layout-board-split": "\u{ef94}",
|
||||
"layout-board-split-filled": "\u{10183}",
|
||||
@@ -3686,8 +3690,8 @@ Singleton {
|
||||
"layout-bottombar-filled": "\u{fc37}",
|
||||
"layout-bottombar-inactive": "\u{fd45}",
|
||||
"layout-cards": "\u{ec13}",
|
||||
"layout-collage"// "layout-cards-filled": "\u{fe20}",
|
||||
: "\u{f389}",
|
||||
//"layout-cards-filled": "\u{fe20}",
|
||||
"layout-collage": "\u{f389}",
|
||||
"layout-columns": "\u{ead4}",
|
||||
"layout-dashboard": "\u{f02c}",
|
||||
"layout-dashboard-filled": "\u{fe1f}",
|
||||
@@ -4168,14 +4172,14 @@ Singleton {
|
||||
"microphone": "\u{eaf0}",
|
||||
"microphone-2": "\u{ef2c}",
|
||||
"microphone-2-off": "\u{f40d}",
|
||||
"microphone-off"//"microphone-filled": "\u{fe0f}",
|
||||
: "\u{ed16}",
|
||||
//"microphone-filled": "\u{fe0f}",
|
||||
"microphone-off": "\u{ed16}",
|
||||
"microscope": "\u{ef64}",
|
||||
"microscope-filled": "\u{10166}",
|
||||
"microscope-off": "\u{f40e}",
|
||||
"microwave": "\u{f248}",
|
||||
"microwave-off"//"microwave-filled": "\u{fe0e}",
|
||||
: "\u{f264}",
|
||||
//"microwave-filled": "\u{fe0e}",
|
||||
"microwave-off": "\u{f264}",
|
||||
"military-award": "\u{f079}",
|
||||
"military-rank": "\u{efcf}",
|
||||
"military-rank-filled": "\u{ff5e}",
|
||||
@@ -4409,18 +4413,18 @@ Singleton {
|
||||
"number-4-small": "\u{fcf9}",
|
||||
"number-40-small": "\u{fffa}",
|
||||
"number-41-small": "\u{fff9}",
|
||||
"number-5"//"number-42-small": "\u{fff8}",
|
||||
// "number-43-small": "\u{fff7}",
|
||||
// "number-44-small": "\u{fff6}",
|
||||
// "number-45-small": "\u{fff5}",
|
||||
// "number-46-small": "\u{fff4}",
|
||||
// "number-47-small": "\u{fff3}",
|
||||
// "number-48-small": "\u{fff2}",
|
||||
// "number-49-small": "\u{fff1}",
|
||||
: "\u{edf5}",
|
||||
//"number-42-small": "\u{fff8}",
|
||||
//"number-43-small": "\u{fff7}",
|
||||
//"number-44-small": "\u{fff6}",
|
||||
//"number-45-small": "\u{fff5}",
|
||||
//"number-46-small": "\u{fff4}",
|
||||
//"number-47-small": "\u{fff3}",
|
||||
//"number-48-small": "\u{fff2}",
|
||||
//"number-49-small": "\u{fff1}",
|
||||
"number-5": "\u{edf5}",
|
||||
"number-5-small": "\u{fcfa}",
|
||||
"number-51-small"// "number-50-small": "\u{fff0}",
|
||||
: "\u{ffef}",
|
||||
//"number-50-small": "\u{fff0}",
|
||||
"number-51-small": "\u{ffef}",
|
||||
"number-52-small": "\u{ffee}",
|
||||
"number-53-small": "\u{ffed}",
|
||||
"number-54-small": "\u{ffec}",
|
||||
@@ -4860,11 +4864,11 @@ Singleton {
|
||||
"quote": "\u{efbe}",
|
||||
"quote-filled": "\u{1009c}",
|
||||
"quote-off": "\u{f188}",
|
||||
"radar"//"quotes": "\u{fb1e}",
|
||||
: "\u{f017}",
|
||||
//"quotes": "\u{fb1e}",
|
||||
"radar": "\u{f017}",
|
||||
"radar-2": "\u{f016}",
|
||||
"radar-off"//"radar-filled": "\u{fe0d}",
|
||||
: "\u{f41f}",
|
||||
//"radar-filled": "\u{fe0d}",
|
||||
"radar-off": "\u{f41f}",
|
||||
"radio": "\u{ef2d}",
|
||||
"radio-off": "\u{f420}",
|
||||
"radioactive": "\u{ecc0}",
|
||||
@@ -4924,12 +4928,12 @@ Singleton {
|
||||
"regex-off": "\u{f421}",
|
||||
"registered": "\u{eb14}",
|
||||
"relation-many-to-many": "\u{ed7f}",
|
||||
"relation-one-to-many"//"relation-many-to-many-filled": "\u{fe0c}",
|
||||
: "\u{ed80}",
|
||||
"relation-one-to-one"//"relation-one-to-many-filled": "\u{fe0b}",
|
||||
: "\u{ed81}",
|
||||
"reload"//"relation-one-to-one-filled": "\u{fe0a}",
|
||||
: "\u{f3ae}",
|
||||
//"relation-many-to-many-filled": "\u{fe0c}",
|
||||
"relation-one-to-many": "\u{ed80}",
|
||||
//"relation-one-to-many-filled": "\u{fe0b}",
|
||||
"relation-one-to-one": "\u{ed81}",
|
||||
//"relation-one-to-one-filled": "\u{fe0a}",
|
||||
"reload": "\u{f3ae}",
|
||||
"reorder": "\u{fc15}",
|
||||
"repeat": "\u{eb72}",
|
||||
"repeat-off": "\u{f18e}",
|
||||
@@ -5081,8 +5085,8 @@ Singleton {
|
||||
"search": "\u{eb1c}",
|
||||
"search-off": "\u{f19c}",
|
||||
"section": "\u{eed5}",
|
||||
"section-sign"//"section-filled": "\u{fe09}",
|
||||
: "\u{f019}",
|
||||
//"section-filled": "\u{fe09}",
|
||||
"section-sign": "\u{f019}",
|
||||
"seeding": "\u{ed51}",
|
||||
"seeding-filled": "\u{10006}",
|
||||
"seeding-off": "\u{f19d}",
|
||||
@@ -5290,8 +5294,8 @@ Singleton {
|
||||
"sort-z-a": "\u{f550}",
|
||||
"sos": "\u{f24a}",
|
||||
"soup": "\u{ef2e}",
|
||||
"soup-off"//"soup-filled": "\u{fe08}",
|
||||
: "\u{f42d}",
|
||||
//"soup-filled": "\u{fe08}",
|
||||
"soup-off": "\u{f42d}",
|
||||
"source-code": "\u{f4a2}",
|
||||
"space": "\u{ec0c}",
|
||||
"space-off": "\u{f1aa}",
|
||||
@@ -5384,22 +5388,22 @@ Singleton {
|
||||
"square-half": "\u{effb}",
|
||||
"square-key": "\u{f638}",
|
||||
"square-letter-a": "\u{f47c}",
|
||||
"square-letter-b"//"square-letter-a-filled": "\u{fe07}",
|
||||
: "\u{f47d}",
|
||||
"square-letter-c"//"square-letter-b-filled": "\u{fe06}",
|
||||
: "\u{f47e}",
|
||||
"square-letter-d"//"square-letter-c-filled": "\u{fe05}",
|
||||
: "\u{f47f}",
|
||||
"square-letter-e"//"square-letter-d-filled": "\u{fe04}",
|
||||
: "\u{f480}",
|
||||
"square-letter-f"//"square-letter-e-filled": "\u{fe03}",
|
||||
: "\u{f481}",
|
||||
"square-letter-g"//"square-letter-f-filled": "\u{fe02}",
|
||||
: "\u{f482}",
|
||||
"square-letter-h"//"square-letter-g-filled": "\u{fe01}",
|
||||
: "\u{f483}",
|
||||
"square-letter-i"//"square-letter-h-filled": "\u{fe00}",
|
||||
: "\u{f484}",
|
||||
//"square-letter-a-filled": "\u{fe07}",
|
||||
"square-letter-b": "\u{f47d}",
|
||||
//"square-letter-b-filled": "\u{fe06}",
|
||||
"square-letter-c": "\u{f47e}",
|
||||
//"square-letter-c-filled": "\u{fe05}",
|
||||
"square-letter-d": "\u{f47f}",
|
||||
//"square-letter-d-filled": "\u{fe04}",
|
||||
"square-letter-e": "\u{f480}",
|
||||
//"square-letter-e-filled": "\u{fe03}",
|
||||
"square-letter-f": "\u{f481}",
|
||||
//"square-letter-f-filled": "\u{fe02}",
|
||||
"square-letter-g": "\u{f482}",
|
||||
//"square-letter-g-filled": "\u{fe01}",
|
||||
"square-letter-h": "\u{f483}",
|
||||
//"square-letter-h-filled": "\u{fe00}",
|
||||
"square-letter-i": "\u{f484}",
|
||||
"square-letter-i-filled": "\u{fdff}",
|
||||
"square-letter-j": "\u{f485}",
|
||||
"square-letter-j-filled": "\u{fdfe}",
|
||||
|
||||
@@ -7,63 +7,63 @@ Singleton {
|
||||
id: root
|
||||
|
||||
function _formatMessage(...args) {
|
||||
var t = Time.getFormattedTimestamp()
|
||||
var t = Time.getFormattedTimestamp();
|
||||
if (args.length > 1) {
|
||||
const maxLength = 14
|
||||
var module = args.shift().substring(0, maxLength).padStart(maxLength, " ")
|
||||
return `\x1b[36m[${t}]\x1b[0m \x1b[35m${module}\x1b[0m ` + args.join(" ")
|
||||
const maxLength = 14;
|
||||
var module = args.shift().substring(0, maxLength).padStart(maxLength, " ");
|
||||
return `\x1b[36m[${t}]\x1b[0m \x1b[35m${module}\x1b[0m ` + args.join(" ");
|
||||
} else {
|
||||
return `[\x1b[36m[${t}]\x1b[0m ` + args.join(" ")
|
||||
return `[\x1b[36m[${t}]\x1b[0m ` + args.join(" ");
|
||||
}
|
||||
}
|
||||
|
||||
function _getStackTrace() {
|
||||
try {
|
||||
throw new Error("Stack trace")
|
||||
throw new Error("Stack trace");
|
||||
} catch (e) {
|
||||
return e.stack
|
||||
return e.stack;
|
||||
}
|
||||
}
|
||||
|
||||
// Debug log (only when Settings.isDebug is true)
|
||||
function d(...args) {
|
||||
if (Settings && Settings.isDebug) {
|
||||
var msg = _formatMessage(...args)
|
||||
console.debug(msg)
|
||||
if (Settings?.isDebug) {
|
||||
var msg = _formatMessage(...args);
|
||||
console.debug(msg);
|
||||
}
|
||||
}
|
||||
|
||||
// Info log (always visible)
|
||||
function i(...args) {
|
||||
var msg = _formatMessage(...args)
|
||||
console.info(msg)
|
||||
var msg = _formatMessage(...args);
|
||||
console.info(msg);
|
||||
}
|
||||
|
||||
// Warning log (always visible)
|
||||
function w(...args) {
|
||||
var msg = _formatMessage(...args)
|
||||
console.warn(msg)
|
||||
var msg = _formatMessage(...args);
|
||||
console.warn(msg);
|
||||
}
|
||||
|
||||
// Error log (always visible)
|
||||
function e(...args) {
|
||||
var msg = _formatMessage(...args)
|
||||
console.error(msg)
|
||||
var msg = _formatMessage(...args);
|
||||
console.error(msg);
|
||||
}
|
||||
|
||||
function callStack() {
|
||||
var stack = _getStackTrace()
|
||||
Logger.i("Debug", "--------------------------")
|
||||
Logger.i("Debug", "Current call stack")
|
||||
var stack = _getStackTrace();
|
||||
Logger.i("Debug", "--------------------------");
|
||||
Logger.i("Debug", "Current call stack");
|
||||
// Split the stack into lines and log each one
|
||||
var stackLines = stack.split('\n')
|
||||
var stackLines = stack.split('\n');
|
||||
for (var i = 0; i < stackLines.length; i++) {
|
||||
var line = stackLines[i].trim() // Remove leading/trailing whitespace
|
||||
var line = stackLines[i].trim(); // Remove leading/trailing whitespace
|
||||
if (line.length > 0) {
|
||||
// Only log non-empty lines
|
||||
Logger.i("Debug", `- ${line}`)
|
||||
Logger.i("Debug", `- ${line}`);
|
||||
}
|
||||
}
|
||||
Logger.i("Debug", "--------------------------")
|
||||
Logger.i("Debug", "--------------------------");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,9 +3,9 @@ pragma Singleton
|
||||
import QtQuick
|
||||
import Quickshell
|
||||
import Quickshell.Io
|
||||
import "../Helpers/QtObj2JS.js" as QtObj2JS
|
||||
import qs.Commons
|
||||
import qs.Services.UI
|
||||
import "../Helpers/QtObj2JS.js" as QtObj2JS
|
||||
|
||||
Singleton {
|
||||
id: root
|
||||
@@ -14,7 +14,7 @@ Singleton {
|
||||
readonly property alias data: adapter
|
||||
property bool isLoaded: false
|
||||
property bool directoriesCreated: false
|
||||
property int settingsVersion: 21
|
||||
property int settingsVersion: 23
|
||||
property bool isDebug: Quickshell.env("NOCTALIA_DEBUG") === "1"
|
||||
|
||||
// Define our app directories
|
||||
@@ -42,30 +42,30 @@ Singleton {
|
||||
// Ensure directories exist before FileView tries to read files
|
||||
Component.onCompleted: {
|
||||
// ensure settings dir exists
|
||||
Quickshell.execDetached(["mkdir", "-p", configDir])
|
||||
Quickshell.execDetached(["mkdir", "-p", cacheDir])
|
||||
Quickshell.execDetached(["mkdir", "-p", configDir]);
|
||||
Quickshell.execDetached(["mkdir", "-p", cacheDir]);
|
||||
|
||||
Quickshell.execDetached(["mkdir", "-p", cacheDirImagesWallpapers])
|
||||
Quickshell.execDetached(["mkdir", "-p", cacheDirImagesNotifications])
|
||||
Quickshell.execDetached(["mkdir", "-p", cacheDirImagesWallpapers]);
|
||||
Quickshell.execDetached(["mkdir", "-p", cacheDirImagesNotifications]);
|
||||
|
||||
// Mark directories as created and trigger file loading
|
||||
directoriesCreated = true
|
||||
directoriesCreated = true;
|
||||
|
||||
// This should only be activated once when the settings structure has changed
|
||||
// Then it should be commented out again, regular users don't need to generate
|
||||
// default settings on every start
|
||||
if (isDebug) {
|
||||
generateDefaultSettings()
|
||||
generateDefaultSettings();
|
||||
}
|
||||
|
||||
// Patch-in the local default, resolved to user's home
|
||||
adapter.general.avatarImage = defaultAvatar
|
||||
adapter.screenRecorder.directory = defaultVideosDirectory
|
||||
adapter.wallpaper.directory = defaultWallpapersDirectory
|
||||
adapter.wallpaper.defaultWallpaper = Quickshell.shellDir + "/Assets/Wallpaper/noctalia.png"
|
||||
adapter.general.avatarImage = defaultAvatar;
|
||||
adapter.screenRecorder.directory = defaultVideosDirectory;
|
||||
adapter.wallpaper.directory = defaultWallpapersDirectory;
|
||||
adapter.wallpaper.defaultWallpaper = Quickshell.shellDir + "/Assets/Wallpaper/noctalia.png";
|
||||
|
||||
// Set the adapter to the settingsFileView to trigger the real settings load
|
||||
settingsFileView.adapter = adapter
|
||||
settingsFileView.adapter = adapter;
|
||||
}
|
||||
|
||||
// Don't write settings to disk immediately
|
||||
@@ -75,7 +75,7 @@ Singleton {
|
||||
running: false
|
||||
interval: 1000
|
||||
onTriggered: {
|
||||
root.saveImmediate()
|
||||
root.saveImmediate();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,31 +90,31 @@ Singleton {
|
||||
// Trigger initial load when path changes from empty to actual path
|
||||
onPathChanged: {
|
||||
if (path !== undefined) {
|
||||
reload()
|
||||
reload();
|
||||
}
|
||||
}
|
||||
onLoaded: function () {
|
||||
if (!isLoaded) {
|
||||
Logger.i("Settings", "Settings loaded")
|
||||
Logger.i("Settings", "Settings loaded");
|
||||
|
||||
upgradeSettingsData()
|
||||
validateMonitorConfigurations()
|
||||
isLoaded = true
|
||||
upgradeSettingsData();
|
||||
validateMonitorConfigurations();
|
||||
isLoaded = true;
|
||||
|
||||
// Emit the signal
|
||||
root.settingsLoaded()
|
||||
root.settingsLoaded();
|
||||
|
||||
// Finally, update our local settings version
|
||||
adapter.settingsVersion = settingsVersion
|
||||
adapter.settingsVersion = settingsVersion;
|
||||
}
|
||||
}
|
||||
onLoadFailed: function (error) {
|
||||
if (error.toString().includes("No such file") || error === 2) {
|
||||
// File doesn't exist, create it with default values
|
||||
writeAdapter()
|
||||
writeAdapter();
|
||||
// Also write to fallback if set
|
||||
if (Quickshell.env("NOCTALIA_SETTINGS_FALLBACK")) {
|
||||
settingsFallbackFileView.writeAdapter()
|
||||
settingsFallbackFileView.writeAdapter();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -141,6 +141,7 @@ Singleton {
|
||||
property list<string> monitors: []
|
||||
property string density: "default" // "compact", "default", "comfortable"
|
||||
property bool showCapsule: true
|
||||
property real capsuleOpacity: 1.0
|
||||
|
||||
// Floating bar settings
|
||||
property bool floating: false
|
||||
@@ -156,40 +157,55 @@ Singleton {
|
||||
// Widget configuration for modular bar system
|
||||
property JsonObject widgets
|
||||
widgets: JsonObject {
|
||||
property list<var> left: [{
|
||||
property list<var> left: [
|
||||
{
|
||||
"id": "ControlCenter"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "SystemMonitor"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "ActiveWindow"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "MediaMini"
|
||||
}]
|
||||
property list<var> center: [{
|
||||
}
|
||||
]
|
||||
property list<var> center: [
|
||||
{
|
||||
"id": "Workspace"
|
||||
}]
|
||||
property list<var> right: [{
|
||||
}
|
||||
]
|
||||
property list<var> right: [
|
||||
{
|
||||
"id": "ScreenRecorder"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "Tray"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "NotificationHistory"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "Battery"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "Volume"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "Brightness"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "Clock"
|
||||
}]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
// general
|
||||
property JsonObject general: JsonObject {
|
||||
property string avatarImage: ""
|
||||
property bool dimDesktop: true
|
||||
property real dimmerOpacity: 0.6
|
||||
property bool showScreenCorners: false
|
||||
property bool forceBlackScreenCorners: false
|
||||
property real scaleRatio: 1.0
|
||||
@@ -204,6 +220,7 @@ Singleton {
|
||||
property int shadowOffsetX: 2
|
||||
property int shadowOffsetY: 3
|
||||
property string language: ""
|
||||
property bool allowPanelsOnScreenWithoutBar: true
|
||||
}
|
||||
|
||||
// ui
|
||||
@@ -213,6 +230,7 @@ Singleton {
|
||||
property real fontDefaultScale: 1.0
|
||||
property real fontFixedScale: 1.0
|
||||
property bool tooltipsEnabled: true
|
||||
property real panelBackgroundOpacity: 1.0
|
||||
property bool panelsAttachedToBar: true
|
||||
property bool settingsPanelAttachToBar: false
|
||||
}
|
||||
@@ -221,6 +239,7 @@ Singleton {
|
||||
property JsonObject location: JsonObject {
|
||||
property string name: defaultLocation
|
||||
property bool weatherEnabled: true
|
||||
property bool weatherShowEffects: true
|
||||
property bool useFahrenheit: false
|
||||
property bool use12hourFormat: false
|
||||
property bool showWeekNumberInCalendar: false
|
||||
@@ -261,14 +280,25 @@ Singleton {
|
||||
property real transitionEdgeSmoothness: 0.05
|
||||
property list<var> monitors: []
|
||||
property string panelPosition: "follow_bar"
|
||||
property bool hideWallpaperFilenames: false
|
||||
// Wallhaven settings
|
||||
property bool useWallhaven: false
|
||||
property string wallhavenQuery: ""
|
||||
property string wallhavenSorting: "relevance"
|
||||
property string wallhavenOrder: "desc"
|
||||
property string wallhavenCategories: "111" // general,anime,people
|
||||
property string wallhavenPurity: "100" // sfw only
|
||||
property string wallhavenResolutionMode: "atleast" // "atleast" or "exact"
|
||||
property string wallhavenResolutionWidth: ""
|
||||
property string wallhavenResolutionHeight: ""
|
||||
}
|
||||
|
||||
// applauncher
|
||||
property JsonObject appLauncher: JsonObject {
|
||||
property bool enableClipboardHistory: false
|
||||
property bool enableClipPreview: true
|
||||
// Position: center, top_left, top_right, bottom_left, bottom_right, bottom_center, top_center
|
||||
property string position: "center"
|
||||
property real backgroundOpacity: 1.0
|
||||
property list<string> pinnedExecs: []
|
||||
property bool useApp2Unit: false
|
||||
property bool sortByMostUsed: true
|
||||
@@ -283,41 +313,72 @@ Singleton {
|
||||
property string position: "close_to_bar_button"
|
||||
property JsonObject shortcuts
|
||||
shortcuts: JsonObject {
|
||||
property list<var> left: [{
|
||||
property list<var> left: [
|
||||
{
|
||||
"id": "WiFi"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "Bluetooth"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "ScreenRecorder"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "WallpaperSelector"
|
||||
}]
|
||||
property list<var> right: [{
|
||||
}
|
||||
]
|
||||
property list<var> right: [
|
||||
{
|
||||
"id": "Notifications"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "PowerProfile"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "KeepAwake"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "NightLight"
|
||||
}]
|
||||
}
|
||||
]
|
||||
}
|
||||
property list<var> cards: [{
|
||||
property list<var> cards: [
|
||||
{
|
||||
"id": "profile-card",
|
||||
"enabled": true
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "shortcuts-card",
|
||||
"enabled": true
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "audio-card",
|
||||
"enabled": true
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "weather-card",
|
||||
"enabled": true
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"id": "media-sysmon-card",
|
||||
"enabled": true
|
||||
}]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
// system monitor
|
||||
property JsonObject systemMonitor: JsonObject {
|
||||
property int cpuWarningThreshold: 80
|
||||
property int cpuCriticalThreshold: 90
|
||||
property int tempWarningThreshold: 80
|
||||
property int tempCriticalThreshold: 90
|
||||
property int memWarningThreshold: 80
|
||||
property int memCriticalThreshold: 90
|
||||
property int diskWarningThreshold: 80
|
||||
property int diskCriticalThreshold: 90
|
||||
property bool useCustomColors: false
|
||||
property string warningColor: ""
|
||||
property string criticalColor: ""
|
||||
}
|
||||
|
||||
// dock
|
||||
@@ -325,6 +386,7 @@ Singleton {
|
||||
property bool enabled: true
|
||||
property string displayMode: "always_visible" // "always_visible", "auto_hide", "exclusive"
|
||||
property real backgroundOpacity: 1.0
|
||||
property real radiusRatio: 0.1
|
||||
property real floatingRatio: 1.0
|
||||
property real size: 1
|
||||
property bool onlySameOutput: true
|
||||
@@ -339,6 +401,40 @@ Singleton {
|
||||
property bool wifiEnabled: true
|
||||
}
|
||||
|
||||
// session menu
|
||||
property JsonObject sessionMenu: JsonObject {
|
||||
property bool enableCountdown: true
|
||||
property int countdownDuration: 10000
|
||||
property string position: "center"
|
||||
property bool showHeader: true
|
||||
property list<var> powerOptions: [
|
||||
{
|
||||
"action": "lock",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"action": "suspend",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"action": "hibernate",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"action": "reboot",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"action": "logout",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"action": "shutdown",
|
||||
"enabled": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
// notifications
|
||||
property JsonObject notifications: JsonObject {
|
||||
property bool enabled: true
|
||||
@@ -360,6 +456,7 @@ Singleton {
|
||||
property list<string> monitors: []
|
||||
property int autoHideMs: 2000
|
||||
property bool overlayLayer: true
|
||||
property real backgroundOpacity: 1.0
|
||||
}
|
||||
|
||||
// audio
|
||||
@@ -371,6 +468,7 @@ Singleton {
|
||||
property string visualizerQuality: "high"
|
||||
property list<string> mprisBlacklist: []
|
||||
property string preferredPlayer: ""
|
||||
property string externalMixer: "pwvucontrol || pavucontrol"
|
||||
}
|
||||
|
||||
// brightness
|
||||
@@ -409,13 +507,6 @@ Singleton {
|
||||
property bool code: false
|
||||
property bool spicetify: false
|
||||
property bool enableUserTemplates: false
|
||||
|
||||
property bool discord_vesktop: false // To be deleted soon
|
||||
property bool discord_webcord: false // To be deleted soon
|
||||
property bool discord_armcord: false // To be deleted soon
|
||||
property bool discord_equibop: false // To be deleted soon
|
||||
property bool discord_lightcord: false // To be deleted soon
|
||||
property bool discord_dorion: false // To be deleted soon
|
||||
}
|
||||
|
||||
// night light
|
||||
@@ -429,98 +520,97 @@ Singleton {
|
||||
property string manualSunset: "18:30"
|
||||
}
|
||||
|
||||
property JsonObject changelog: JsonObject {
|
||||
property string lastSeenVersion: ""
|
||||
}
|
||||
|
||||
// hooks
|
||||
property JsonObject hooks: JsonObject {
|
||||
property bool enabled: false
|
||||
property string wallpaperChange: ""
|
||||
property string darkModeChange: ""
|
||||
}
|
||||
|
||||
// battery
|
||||
property JsonObject battery: JsonObject {
|
||||
property int chargingMode: 0
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------
|
||||
// Function to preprocess paths by expanding "~" to user's home directory
|
||||
function preprocessPath(path) {
|
||||
if (typeof path !== "string" || path === "") {
|
||||
return path
|
||||
return path;
|
||||
}
|
||||
|
||||
// Expand "~" to user's home directory
|
||||
if (path.startsWith("~/")) {
|
||||
return Quickshell.env("HOME") + path.substring(1)
|
||||
return Quickshell.env("HOME") + path.substring(1);
|
||||
} else if (path === "~") {
|
||||
return Quickshell.env("HOME")
|
||||
return Quickshell.env("HOME");
|
||||
}
|
||||
|
||||
return path
|
||||
return path;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------
|
||||
// Public function to trigger immediate settings saving
|
||||
function saveImmediate() {
|
||||
settingsFileView.writeAdapter()
|
||||
settingsFileView.writeAdapter();
|
||||
// Write to fallback location if set
|
||||
if (Quickshell.env("NOCTALIA_SETTINGS_FALLBACK")) {
|
||||
settingsFallbackFileView.writeAdapter()
|
||||
settingsFallbackFileView.writeAdapter();
|
||||
}
|
||||
root.settingsSaved() // Emit signal after saving
|
||||
root.settingsSaved(); // Emit signal after saving
|
||||
}
|
||||
|
||||
// -----------------------------------------------------
|
||||
// Generate default settings at the root of the repo
|
||||
function generateDefaultSettings() {
|
||||
try {
|
||||
Logger.d("Settings", "Generating settings-default.json")
|
||||
Logger.d("Settings", "Generating settings-default.json");
|
||||
|
||||
// Prepare a clean JSON
|
||||
var plainAdapter = QtObj2JS.qtObjectToPlainObject(adapter)
|
||||
var jsonData = JSON.stringify(plainAdapter, null, 2)
|
||||
var plainAdapter = QtObj2JS.qtObjectToPlainObject(adapter);
|
||||
var jsonData = JSON.stringify(plainAdapter, null, 2);
|
||||
|
||||
var defaultPath = Quickshell.shellDir + "/Assets/settings-default.json"
|
||||
var defaultPath = Quickshell.shellDir + "/Assets/settings-default.json";
|
||||
|
||||
// Encode transfer it has base64 to avoid any escaping issue
|
||||
var base64Data = Qt.btoa(jsonData)
|
||||
Quickshell.execDetached(["sh", "-c", `echo "${base64Data}" | base64 -d > "${defaultPath}"`])
|
||||
var base64Data = Qt.btoa(jsonData);
|
||||
Quickshell.execDetached(["sh", "-c", `echo "${base64Data}" | base64 -d > "${defaultPath}"`]);
|
||||
} catch (error) {
|
||||
Logger.e("Settings", "Failed to generate default settings file: " + error)
|
||||
Logger.e("Settings", "Failed to generate default settings file: " + error);
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------
|
||||
// Function to validate monitor configurations
|
||||
function validateMonitorConfigurations() {
|
||||
var availableScreenNames = []
|
||||
var availableScreenNames = [];
|
||||
for (var i = 0; i < Quickshell.screens.length; i++) {
|
||||
availableScreenNames.push(Quickshell.screens[i].name)
|
||||
availableScreenNames.push(Quickshell.screens[i].name);
|
||||
}
|
||||
|
||||
Logger.d("Settings", "Available monitors: [" + availableScreenNames.join(", ") + "]")
|
||||
Logger.d("Settings", "Configured bar monitors: [" + adapter.bar.monitors.join(", ") + "]")
|
||||
Logger.d("Settings", "Available monitors: [" + availableScreenNames.join(", ") + "]");
|
||||
Logger.d("Settings", "Configured bar monitors: [" + adapter.bar.monitors.join(", ") + "]");
|
||||
|
||||
// Check bar monitors
|
||||
if (adapter.bar.monitors.length > 0) {
|
||||
var hasValidBarMonitor = false
|
||||
var hasValidBarMonitor = false;
|
||||
for (var j = 0; j < adapter.bar.monitors.length; j++) {
|
||||
if (availableScreenNames.includes(adapter.bar.monitors[j])) {
|
||||
hasValidBarMonitor = true
|
||||
break
|
||||
hasValidBarMonitor = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!hasValidBarMonitor) {
|
||||
Logger.w("Settings", "No configured bar monitors found on system, clearing bar monitor list to show on all screens")
|
||||
adapter.bar.monitors = []
|
||||
} else {
|
||||
Logger.w("Settings", "No configured bar monitors found on system, clearing bar monitor list to show on all screens");
|
||||
adapter.bar.monitors = [];
|
||||
} else
|
||||
|
||||
//Logger.i("Settings", "Found valid bar monitors, keeping configuration")
|
||||
}
|
||||
} else {
|
||||
{}
|
||||
} else
|
||||
|
||||
//Logger.i("Settings", "Bar monitor list is empty, will show on all available screens")
|
||||
}
|
||||
{}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------
|
||||
@@ -529,50 +619,50 @@ Singleton {
|
||||
function upgradeSettingsData() {
|
||||
// Wait for BarWidgetRegistry to be ready
|
||||
if (!BarWidgetRegistry.widgets || Object.keys(BarWidgetRegistry.widgets).length === 0) {
|
||||
Logger.w("Settings", "BarWidgetRegistry not ready, deferring upgrade")
|
||||
Qt.callLater(upgradeSettingsData)
|
||||
return
|
||||
Logger.w("Settings", "BarWidgetRegistry not ready, deferring upgrade");
|
||||
Qt.callLater(upgradeSettingsData);
|
||||
return;
|
||||
}
|
||||
|
||||
const sections = ["left", "center", "right"]
|
||||
const sections = ["left", "center", "right"];
|
||||
|
||||
// -----------------
|
||||
// 1st. convert old widget id to new id
|
||||
for (var s = 0; s < sections.length; s++) {
|
||||
const sectionName = sections[s]
|
||||
const sectionName = sections[s];
|
||||
for (var i = 0; i < adapter.bar.widgets[sectionName].length; i++) {
|
||||
var widget = adapter.bar.widgets[sectionName][i]
|
||||
var widget = adapter.bar.widgets[sectionName][i];
|
||||
|
||||
switch (widget.id) {
|
||||
case "DarkModeToggle":
|
||||
widget.id = "DarkMode"
|
||||
break
|
||||
widget.id = "DarkMode";
|
||||
break;
|
||||
case "PowerToggle":
|
||||
widget.id = "SessionMenu"
|
||||
break
|
||||
widget.id = "SessionMenu";
|
||||
break;
|
||||
case "ScreenRecorderIndicator":
|
||||
widget.id = "ScreenRecorder"
|
||||
break
|
||||
widget.id = "ScreenRecorder";
|
||||
break;
|
||||
case "SidePanelToggle":
|
||||
widget.id = "ControlCenter"
|
||||
break
|
||||
widget.id = "ControlCenter";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------
|
||||
// 2nd. remove any non existing widget type
|
||||
var removedWidget = false
|
||||
var removedWidget = false;
|
||||
for (var s = 0; s < sections.length; s++) {
|
||||
const sectionName = sections[s]
|
||||
const widgets = adapter.bar.widgets[sectionName]
|
||||
const sectionName = sections[s];
|
||||
const widgets = adapter.bar.widgets[sectionName];
|
||||
// Iterate backward through the widgets array, so it does not break when removing a widget
|
||||
for (var i = widgets.length - 1; i >= 0; i--) {
|
||||
var widget = widgets[i]
|
||||
var widget = widgets[i];
|
||||
if (!BarWidgetRegistry.hasWidget(widget.id)) {
|
||||
Logger.w(`Settings`, `Deleted invalid widget ${widget.id}`)
|
||||
widgets.splice(i, 1)
|
||||
removedWidget = true
|
||||
Logger.w(`Settings`, `Deleted invalid widget ${widget.id}`);
|
||||
widgets.splice(i, 1);
|
||||
removedWidget = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -580,18 +670,18 @@ Singleton {
|
||||
// -----------------
|
||||
// 3nd. upgrade widget settings
|
||||
for (var s = 0; s < sections.length; s++) {
|
||||
const sectionName = sections[s]
|
||||
const sectionName = sections[s];
|
||||
for (var i = 0; i < adapter.bar.widgets[sectionName].length; i++) {
|
||||
var widget = adapter.bar.widgets[sectionName][i]
|
||||
var widget = adapter.bar.widgets[sectionName][i];
|
||||
|
||||
// Check if widget registry supports user settings, if it does not, then there is nothing to do
|
||||
const reg = BarWidgetRegistry.widgetMetadata[widget.id]
|
||||
const reg = BarWidgetRegistry.widgetMetadata[widget.id];
|
||||
if ((reg === undefined) || (reg.allowUserSettings === undefined) || !reg.allowUserSettings) {
|
||||
continue
|
||||
continue;
|
||||
}
|
||||
|
||||
if (upgradeWidget(widget)) {
|
||||
Logger.d("Settings", `Upgraded ${widget.id} widget:`, JSON.stringify(widget))
|
||||
Logger.d("Settings", `Upgraded ${widget.id} widget:`, JSON.stringify(widget));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -600,14 +690,14 @@ Singleton {
|
||||
// 4th. safety check
|
||||
// if a widget was deleted, ensure we still have a control center
|
||||
if (removedWidget) {
|
||||
var gotControlCenter = false
|
||||
var gotControlCenter = false;
|
||||
for (var s = 0; s < sections.length; s++) {
|
||||
const sectionName = sections[s]
|
||||
const sectionName = sections[s];
|
||||
for (var i = 0; i < adapter.bar.widgets[sectionName].length; i++) {
|
||||
var widget = adapter.bar.widgets[sectionName][i]
|
||||
var widget = adapter.bar.widgets[sectionName][i];
|
||||
if (widget.id === "ControlCenter") {
|
||||
gotControlCenter = true
|
||||
break
|
||||
gotControlCenter = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -616,8 +706,8 @@ Singleton {
|
||||
//const obj = JSON.parse('{"id": "ControlCenter"}');
|
||||
adapter.bar.widgets["right"].push(({
|
||||
"id": "ControlCenter"
|
||||
}))
|
||||
Logger.w("Settings", "Added a ControlCenter widget to the right section")
|
||||
}));
|
||||
Logger.w("Settings", "Added a ControlCenter widget to the right section");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -625,57 +715,119 @@ Singleton {
|
||||
// 5th. Migrate Discord templates (version 20 → 21)
|
||||
// Consolidate individual discord_* properties into unified discord property
|
||||
if (adapter.settingsVersion < 21) {
|
||||
var anyDiscordEnabled = false
|
||||
// Read raw JSON file to access properties not in adapter schema
|
||||
try {
|
||||
var rawJson = settingsFileView.text();
|
||||
|
||||
// Check if any Discord client was enabled
|
||||
const discordClients = ["discord_vesktop", "discord_webcord", "discord_armcord", "discord_equibop", "discord_lightcord", "discord_dorion"]
|
||||
if (rawJson) {
|
||||
var parsed = JSON.parse(rawJson);
|
||||
var anyDiscordEnabled = false;
|
||||
|
||||
for (var i = 0; i < discordClients.length; i++) {
|
||||
if (adapter.templates[discordClients[i]]) {
|
||||
anyDiscordEnabled = true
|
||||
break
|
||||
// Check if any Discord client was enabled
|
||||
const discordClients = ["discord_vesktop", "discord_webcord", "discord_armcord", "discord_equibop", "discord_lightcord", "discord_dorion", "discord_vencord"];
|
||||
|
||||
if (parsed.templates) {
|
||||
for (var i = 0; i < discordClients.length; i++) {
|
||||
if (parsed.templates[discordClients[i]]) {
|
||||
anyDiscordEnabled = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Set unified discord property
|
||||
adapter.templates.discord = anyDiscordEnabled;
|
||||
|
||||
Logger.i("Settings", "Migrated Discord templates to unified 'discord' property (enabled:", anyDiscordEnabled + ")");
|
||||
}
|
||||
} catch (error) {
|
||||
Logger.w("Settings", "Failed to read raw JSON for Discord migration:", error);
|
||||
}
|
||||
}
|
||||
|
||||
// Set unified discord property
|
||||
adapter.templates.discord = anyDiscordEnabled
|
||||
// -----------------
|
||||
// 6th. Migrate panel background opacity (version 21 → 22)
|
||||
// Move appLauncher.backgroundOpacity to ui.panelBackgroundOpacity
|
||||
if (adapter.settingsVersion < 22) {
|
||||
// Read raw JSON file to access properties not in adapter schema
|
||||
try {
|
||||
var rawJson = settingsFileView.text();
|
||||
|
||||
Logger.i("Settings", "Migrated Discord templates to unified 'discord' property (enabled:", anyDiscordEnabled + ")")
|
||||
if (rawJson) {
|
||||
var parsed = JSON.parse(rawJson);
|
||||
if (parsed.appLauncher && parsed.appLauncher.backgroundOpacity !== undefined) {
|
||||
var oldOpacity = parsed.appLauncher.backgroundOpacity;
|
||||
if (adapter.ui) {
|
||||
adapter.ui.panelBackgroundOpacity = oldOpacity;
|
||||
Logger.i("Settings", "Migrated appLauncher.backgroundOpacity to ui.panelBackgroundOpacity (value:", oldOpacity + ")");
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
Logger.w("Settings", "Failed to read raw JSON for migration:", error);
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------
|
||||
// 7th. Migrate dim desktop settings (version 22 → 23)
|
||||
// If dimDesktop is enabled, set dimmerOpacity to 0.8 if it's not already set or is 0
|
||||
// Then remove dimDesktop property as it's no longer needed
|
||||
if (adapter.settingsVersion < 23) {
|
||||
// Read raw JSON file to access dimDesktop property
|
||||
try {
|
||||
var rawJson = settingsFileView.text();
|
||||
|
||||
if (rawJson) {
|
||||
var parsed = JSON.parse(rawJson);
|
||||
if (parsed.general && parsed.general.dimDesktop === true) {
|
||||
// Check if dimmerOpacity exists in raw JSON (not adapter default)
|
||||
var dimmerOpacityInJson = parsed.general.dimmerOpacity;
|
||||
|
||||
// If dimmerOpacity wasn't explicitly set in JSON or was 0, set it to 0.8 (80% dimming)
|
||||
if (dimmerOpacityInJson === undefined || dimmerOpacityInJson === 0) {
|
||||
adapter.general.dimmerOpacity = 0.8;
|
||||
Logger.i("Settings", "Migrated dimDesktop=true: set dimmerOpacity to 0.8 (80% dimming)");
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
Logger.w("Settings", "Failed to read raw JSON for dimDesktop migration:", error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------
|
||||
function upgradeWidget(widget) {
|
||||
// Backup the widget definition before altering
|
||||
const widgetBefore = JSON.stringify(widget)
|
||||
const widgetBefore = JSON.stringify(widget);
|
||||
|
||||
// Get all existing custom settings keys
|
||||
const keys = Object.keys(BarWidgetRegistry.widgetMetadata[widget.id])
|
||||
const keys = Object.keys(BarWidgetRegistry.widgetMetadata[widget.id]);
|
||||
|
||||
// Delete deprecated user settings from the wiget
|
||||
for (const k of Object.keys(widget)) {
|
||||
if (k === "id" || k === "allowUserSettings") {
|
||||
continue
|
||||
continue;
|
||||
}
|
||||
if (!keys.includes(k)) {
|
||||
delete widget[k]
|
||||
delete widget[k];
|
||||
}
|
||||
}
|
||||
|
||||
// Inject missing default setting (metaData) from BarWidgetRegistry
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
const k = keys[i]
|
||||
const k = keys[i];
|
||||
if (k === "id" || k === "allowUserSettings") {
|
||||
continue
|
||||
continue;
|
||||
}
|
||||
|
||||
if (widget[k] === undefined) {
|
||||
widget[k] = BarWidgetRegistry.widgetMetadata[widget.id][k]
|
||||
widget[k] = BarWidgetRegistry.widgetMetadata[widget.id][k];
|
||||
}
|
||||
}
|
||||
|
||||
// Compare settings, to detect if something has been upgraded
|
||||
const widgetAfter = JSON.stringify(widget)
|
||||
return (widgetAfter !== widgetBefore)
|
||||
const widgetAfter = JSON.stringify(widget);
|
||||
return (widgetAfter !== widgetBefore);
|
||||
}
|
||||
}
|
||||
|
||||
183
Commons/ShellState.qml
Normal file
183
Commons/ShellState.qml
Normal file
@@ -0,0 +1,183 @@
|
||||
pragma Singleton
|
||||
|
||||
import QtQuick
|
||||
import Quickshell
|
||||
import Quickshell.Io
|
||||
|
||||
// Centralized shell state management for small cache files
|
||||
Singleton {
|
||||
id: root
|
||||
|
||||
property string stateFile: ""
|
||||
property bool isLoaded: false
|
||||
|
||||
// State properties for different services
|
||||
readonly property alias data: adapter
|
||||
|
||||
// Signals for state changes
|
||||
signal displayStateChanged
|
||||
signal notificationsStateChanged
|
||||
signal changelogStateChanged
|
||||
signal colorSchemesListChanged
|
||||
|
||||
Component.onCompleted: {
|
||||
// Setup state file path (needs Settings to be available)
|
||||
Qt.callLater(() => {
|
||||
if (typeof Settings !== 'undefined' && Settings.cacheDir) {
|
||||
stateFile = Settings.cacheDir + "shell-state.json";
|
||||
stateFileView.path = stateFile;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// FileView for shell state
|
||||
FileView {
|
||||
id: stateFileView
|
||||
printErrors: false
|
||||
watchChanges: false
|
||||
|
||||
adapter: JsonAdapter {
|
||||
id: adapter
|
||||
|
||||
// CompositorService: display scales
|
||||
property var display: ({})
|
||||
|
||||
// NotificationService: notification state
|
||||
property var notificationsState: ({
|
||||
lastSeenTs: 0
|
||||
})
|
||||
|
||||
// UpdateService: changelog state
|
||||
property var changelogState: ({
|
||||
lastSeenVersion: ""
|
||||
})
|
||||
|
||||
// SchemeDownloader: color schemes list
|
||||
property var colorSchemesList: ({
|
||||
schemes: [],
|
||||
timestamp: 0
|
||||
})
|
||||
|
||||
// WallpaperService: current wallpapers per screen
|
||||
property var wallpapers: ({})
|
||||
}
|
||||
|
||||
onLoaded: {
|
||||
root.isLoaded = true;
|
||||
Logger.d("ShellState", "Loaded state file");
|
||||
}
|
||||
|
||||
onLoadFailed: error => {
|
||||
if (error === 2) {
|
||||
// File doesn't exist, will be created on first write
|
||||
root.isLoaded = true;
|
||||
Logger.d("ShellState", "State file doesn't exist, will create on first write");
|
||||
} else {
|
||||
Logger.e("ShellState", "Failed to load state file:", error);
|
||||
root.isLoaded = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Debounced save timer
|
||||
Timer {
|
||||
id: saveTimer
|
||||
interval: 300
|
||||
onTriggered: performSave()
|
||||
}
|
||||
|
||||
property bool saveQueued: false
|
||||
|
||||
function save() {
|
||||
saveQueued = true;
|
||||
saveTimer.restart();
|
||||
}
|
||||
|
||||
function performSave() {
|
||||
if (!saveQueued || !stateFile) {
|
||||
return;
|
||||
}
|
||||
|
||||
saveQueued = false;
|
||||
|
||||
try {
|
||||
// Ensure cache directory exists
|
||||
Quickshell.execDetached(["mkdir", "-p", Settings.cacheDir]);
|
||||
|
||||
Qt.callLater(() => {
|
||||
try {
|
||||
stateFileView.writeAdapter();
|
||||
Logger.d("ShellState", "Saved state file");
|
||||
} catch (writeError) {
|
||||
Logger.e("ShellState", "Failed to write state file:", writeError);
|
||||
}
|
||||
});
|
||||
} catch (error) {
|
||||
Logger.e("ShellState", "Failed to save state:", error);
|
||||
}
|
||||
}
|
||||
|
||||
// Convenience functions for each service
|
||||
|
||||
// Display state (CompositorService)
|
||||
function setDisplay(displayData) {
|
||||
adapter.display = displayData;
|
||||
save();
|
||||
displayStateChanged();
|
||||
}
|
||||
|
||||
function getDisplay() {
|
||||
return adapter.display || {};
|
||||
}
|
||||
|
||||
// Notifications state (NotificationService)
|
||||
function setNotificationsState(stateData) {
|
||||
adapter.notificationsState = stateData;
|
||||
save();
|
||||
notificationsStateChanged();
|
||||
}
|
||||
|
||||
function getNotificationsState() {
|
||||
return adapter.notificationsState || {
|
||||
lastSeenTs: 0
|
||||
};
|
||||
}
|
||||
|
||||
// Changelog state (UpdateService)
|
||||
function setChangelogState(stateData) {
|
||||
adapter.changelogState = stateData;
|
||||
save();
|
||||
changelogStateChanged();
|
||||
}
|
||||
|
||||
function getChangelogState() {
|
||||
return adapter.changelogState || {
|
||||
lastSeenVersion: ""
|
||||
};
|
||||
}
|
||||
|
||||
// Color schemes list (SchemeDownloader)
|
||||
function setColorSchemesList(listData) {
|
||||
adapter.colorSchemesList = listData;
|
||||
save();
|
||||
colorSchemesListChanged();
|
||||
}
|
||||
|
||||
function getColorSchemesList() {
|
||||
return adapter.colorSchemesList || {
|
||||
schemes: [],
|
||||
timestamp: 0
|
||||
};
|
||||
}
|
||||
|
||||
// Wallpapers (WallpaperService)
|
||||
function setWallpapers(wallpapersData) {
|
||||
adapter.wallpapers = wallpapersData;
|
||||
save();
|
||||
}
|
||||
|
||||
function getWallpapers() {
|
||||
return adapter.wallpapers || {};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,108 +7,102 @@ import qs.Services.Power
|
||||
Singleton {
|
||||
id: root
|
||||
|
||||
|
||||
/*
|
||||
Preset sizes for font, radii, ?
|
||||
*/
|
||||
|
||||
// Font size
|
||||
property real fontSizeXXS: 8
|
||||
property real fontSizeXS: 9
|
||||
property real fontSizeS: 10
|
||||
property real fontSizeM: 11
|
||||
property real fontSizeL: 13
|
||||
property real fontSizeXL: 16
|
||||
property real fontSizeXXL: 18
|
||||
property real fontSizeXXXL: 24
|
||||
readonly property real fontSizeXXS: 8
|
||||
readonly property real fontSizeXS: 9
|
||||
readonly property real fontSizeS: 10
|
||||
readonly property real fontSizeM: 11
|
||||
readonly property real fontSizeL: 13
|
||||
readonly property real fontSizeXL: 16
|
||||
readonly property real fontSizeXXL: 18
|
||||
readonly property real fontSizeXXXL: 24
|
||||
|
||||
// Font weight
|
||||
property int fontWeightRegular: 400
|
||||
property int fontWeightMedium: 500
|
||||
property int fontWeightSemiBold: 600
|
||||
property int fontWeightBold: 700
|
||||
readonly property int fontWeightRegular: 400
|
||||
readonly property int fontWeightMedium: 500
|
||||
readonly property int fontWeightSemiBold: 600
|
||||
readonly property int fontWeightBold: 700
|
||||
|
||||
// Radii
|
||||
property int radiusXXS: Math.round(4 * Settings.data.general.radiusRatio)
|
||||
property int radiusXS: Math.round(8 * Settings.data.general.radiusRatio)
|
||||
property int radiusS: Math.round(12 * Settings.data.general.radiusRatio)
|
||||
property int radiusM: Math.round(16 * Settings.data.general.radiusRatio)
|
||||
property int radiusL: Math.round(20 * Settings.data.general.radiusRatio)
|
||||
property int screenRadius: Math.round(20 * Settings.data.general.screenRadiusRatio)
|
||||
readonly property int radiusXXS: Math.round(4 * Settings.data.general.radiusRatio)
|
||||
readonly property int radiusXS: Math.round(8 * Settings.data.general.radiusRatio)
|
||||
readonly property int radiusS: Math.round(12 * Settings.data.general.radiusRatio)
|
||||
readonly property int radiusM: Math.round(16 * Settings.data.general.radiusRatio)
|
||||
readonly property int radiusL: Math.round(20 * Settings.data.general.radiusRatio)
|
||||
readonly property int screenRadius: Math.round(20 * Settings.data.general.screenRadiusRatio)
|
||||
|
||||
// Border
|
||||
property int borderS: Math.max(1, Math.round(1 * uiScaleRatio))
|
||||
property int borderM: Math.max(1, Math.round(2 * uiScaleRatio))
|
||||
property int borderL: Math.max(1, Math.round(3 * uiScaleRatio))
|
||||
readonly property int borderS: Math.max(1, Math.round(1 * uiScaleRatio))
|
||||
readonly property int borderM: Math.max(1, Math.round(2 * uiScaleRatio))
|
||||
readonly property int borderL: Math.max(1, Math.round(3 * uiScaleRatio))
|
||||
|
||||
// Margins (for margins and spacing)
|
||||
property int marginXXS: Math.round(2 * uiScaleRatio)
|
||||
property int marginXS: Math.round(4 * uiScaleRatio)
|
||||
property int marginS: Math.round(6 * uiScaleRatio)
|
||||
property int marginM: Math.round(9 * uiScaleRatio)
|
||||
property int marginL: Math.round(13 * uiScaleRatio)
|
||||
property int marginXL: Math.round(18 * uiScaleRatio)
|
||||
readonly property int marginXXS: Math.round(2 * uiScaleRatio)
|
||||
readonly property int marginXS: Math.round(4 * uiScaleRatio)
|
||||
readonly property int marginS: Math.round(6 * uiScaleRatio)
|
||||
readonly property int marginM: Math.round(9 * uiScaleRatio)
|
||||
readonly property int marginL: Math.round(13 * uiScaleRatio)
|
||||
readonly property int marginXL: Math.round(18 * uiScaleRatio)
|
||||
|
||||
// Opacity
|
||||
property real opacityNone: 0.0
|
||||
property real opacityLight: 0.25
|
||||
property real opacityMedium: 0.5
|
||||
property real opacityHeavy: 0.75
|
||||
property real opacityAlmost: 0.95
|
||||
property real opacityFull: 1.0
|
||||
readonly property real opacityNone: 0.0
|
||||
readonly property real opacityLight: 0.25
|
||||
readonly property real opacityMedium: 0.5
|
||||
readonly property real opacityHeavy: 0.75
|
||||
readonly property real opacityAlmost: 0.95
|
||||
readonly property real opacityFull: 1.0
|
||||
|
||||
// Shadows
|
||||
property real shadowOpacity: 0.85
|
||||
property real shadowBlur: 1.0
|
||||
property int shadowBlurMax: 22
|
||||
property real shadowHorizontalOffset: Settings.data.general.shadowOffsetX
|
||||
property real shadowVerticalOffset: Settings.data.general.shadowOffsetY
|
||||
readonly property real shadowOpacity: 0.85
|
||||
readonly property real shadowBlur: 1.0
|
||||
readonly property int shadowBlurMax: 22
|
||||
readonly property real shadowHorizontalOffset: Settings.data.general.shadowOffsetX
|
||||
readonly property real shadowVerticalOffset: Settings.data.general.shadowOffsetY
|
||||
|
||||
// Animation duration (ms)
|
||||
property int animationFaster: (Settings.data.general.animationDisabled || PowerProfileService.noctaliaPerformanceMode) ? 0 : Math.round(75 / Settings.data.general.animationSpeed)
|
||||
property int animationFast: (Settings.data.general.animationDisabled || PowerProfileService.noctaliaPerformanceMode) ? 0 : Math.round(150 / Settings.data.general.animationSpeed)
|
||||
property int animationNormal: (Settings.data.general.animationDisabled || PowerProfileService.noctaliaPerformanceMode) ? 0 : Math.round(300 / Settings.data.general.animationSpeed)
|
||||
property int animationSlow: (Settings.data.general.animationDisabled || PowerProfileService.noctaliaPerformanceMode) ? 0 : Math.round(450 / Settings.data.general.animationSpeed)
|
||||
property int animationSlowest: (Settings.data.general.animationDisabled || PowerProfileService.noctaliaPerformanceMode) ? 0 : Math.round(750 / Settings.data.general.animationSpeed)
|
||||
readonly property int animationFaster: (Settings.data.general.animationDisabled || PowerProfileService.noctaliaPerformanceMode) ? 0 : Math.round(75 / Settings.data.general.animationSpeed)
|
||||
readonly property int animationFast: (Settings.data.general.animationDisabled || PowerProfileService.noctaliaPerformanceMode) ? 0 : Math.round(150 / Settings.data.general.animationSpeed)
|
||||
readonly property int animationNormal: (Settings.data.general.animationDisabled || PowerProfileService.noctaliaPerformanceMode) ? 0 : Math.round(300 / Settings.data.general.animationSpeed)
|
||||
readonly property int animationSlow: (Settings.data.general.animationDisabled || PowerProfileService.noctaliaPerformanceMode) ? 0 : Math.round(450 / Settings.data.general.animationSpeed)
|
||||
readonly property int animationSlowest: (Settings.data.general.animationDisabled || PowerProfileService.noctaliaPerformanceMode) ? 0 : Math.round(750 / Settings.data.general.animationSpeed)
|
||||
|
||||
// Delays
|
||||
property int tooltipDelay: 300
|
||||
property int tooltipDelayLong: 1200
|
||||
property int pillDelay: 500
|
||||
readonly property int tooltipDelay: 300
|
||||
readonly property int tooltipDelayLong: 1200
|
||||
readonly property int pillDelay: 500
|
||||
|
||||
// Widgets base size
|
||||
property real baseWidgetSize: 33
|
||||
property real sliderWidth: 200
|
||||
readonly property real baseWidgetSize: 33
|
||||
readonly property real sliderWidth: 200
|
||||
|
||||
property real uiScaleRatio: Settings.data.general.scaleRatio
|
||||
readonly property real uiScaleRatio: Settings.data.general.scaleRatio
|
||||
|
||||
// Bar Dimensions
|
||||
property real barHeight: {
|
||||
readonly property real barHeight: {
|
||||
switch (Settings.data.bar.density) {
|
||||
case "mini":
|
||||
return (Settings.data.bar.position === "left" || Settings.data.bar.position === "right") ? 22 : 20
|
||||
return (Settings.data.bar.position === "left" || Settings.data.bar.position === "right") ? 22 : 20;
|
||||
case "compact":
|
||||
return (Settings.data.bar.position === "left" || Settings.data.bar.position === "right") ? 27 : 25
|
||||
return (Settings.data.bar.position === "left" || Settings.data.bar.position === "right") ? 27 : 25;
|
||||
case "comfortable":
|
||||
return (Settings.data.bar.position === "left" || Settings.data.bar.position === "right") ? 39 : 37
|
||||
return (Settings.data.bar.position === "left" || Settings.data.bar.position === "right") ? 39 : 37;
|
||||
default:
|
||||
|
||||
case "default":
|
||||
return (Settings.data.bar.position === "left" || Settings.data.bar.position === "right") ? 33 : 31
|
||||
return (Settings.data.bar.position === "left" || Settings.data.bar.position === "right") ? 33 : 31;
|
||||
}
|
||||
}
|
||||
property real capsuleHeight: {
|
||||
readonly property real capsuleHeight: {
|
||||
switch (Settings.data.bar.density) {
|
||||
case "mini":
|
||||
return Math.round(barHeight * 1.0)
|
||||
return Math.round(barHeight * 1.0);
|
||||
case "compact":
|
||||
return Math.round(barHeight * 0.85)
|
||||
return Math.round(barHeight * 0.85);
|
||||
case "comfortable":
|
||||
return Math.round(barHeight * 0.73)
|
||||
return Math.round(barHeight * 0.73);
|
||||
default:
|
||||
|
||||
case "default":
|
||||
return Math.round(barHeight * 0.82)
|
||||
return Math.round(barHeight * 0.82);
|
||||
}
|
||||
}
|
||||
readonly property color capsuleColor: Settings.data.bar.showCapsule ? Qt.alpha(Color.mSurfaceVariant, Settings.data.bar.capsuleOpacity) : Color.transparent
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user