Compare commits
514 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d564742339 | ||
|
|
6477e4c1f8 | ||
|
|
eb8a0ae307 | ||
|
|
5296c437cc | ||
|
|
36efe139ba | ||
|
|
eaabd3149e | ||
|
|
6166ab3006 | ||
|
|
f1498d51fa | ||
|
|
3aabc0d051 | ||
|
|
28904935da | ||
|
|
35d83d257c | ||
|
|
92e078b87c | ||
|
|
75accad06e | ||
|
|
a99823d487 | ||
|
|
1ba1595d0e | ||
|
|
8f7408d815 | ||
|
|
3337fa04b9 | ||
|
|
1a0dd19cf0 | ||
|
|
b45434b374 | ||
|
|
a214fd416e | ||
|
|
38266be174 | ||
|
|
f96419d14c | ||
|
|
280127c9af | ||
|
|
da35e889f2 | ||
|
|
bb8975e93a | ||
|
|
36e8300427 | ||
|
|
fc160e1d09 | ||
|
|
1ace5ea50c | ||
|
|
911ff9b784 | ||
|
|
e1688c3f58 | ||
|
|
e11a320c3f | ||
|
|
0d6a40b9fc | ||
|
|
bbab712a79 | ||
|
|
d9f03a62ee | ||
|
|
577994cc95 | ||
|
|
d573dabf15 | ||
|
|
4c903456ff | ||
|
|
6d1a29019b | ||
|
|
a91025ac23 | ||
|
|
ca931f18f6 | ||
|
|
55bd10087d | ||
|
|
97450f5936 | ||
|
|
6b37287e08 | ||
|
|
757d7e0a1e | ||
|
|
664d75e653 | ||
|
|
dffc70cc19 | ||
|
|
d294398f28 | ||
|
|
c17cf74389 | ||
|
|
b96cdbe40a | ||
|
|
7b86a93661 | ||
|
|
1d2122c2df | ||
|
|
65e40e4d9c | ||
|
|
25cd5a346b | ||
|
|
5684d790c4 | ||
|
|
13cde493ec | ||
|
|
052860c5a3 | ||
|
|
c66de4fdb1 | ||
|
|
edf0295cdf | ||
|
|
d044944946 | ||
|
|
7bbf2f1ce2 | ||
|
|
2369fcc92d | ||
|
|
0b5c692c65 | ||
|
|
4970d33169 | ||
|
|
614d6a722a | ||
|
|
6d757857cb | ||
|
|
4804c7f439 | ||
|
|
47f685bcdd | ||
|
|
e5d9b16235 | ||
|
|
54a2d97f70 | ||
|
|
b7d85ca3c7 | ||
|
|
56611598b2 | ||
|
|
23e0666569 | ||
|
|
6571bba218 | ||
|
|
51fc6fde22 | ||
|
|
b8d6d4a0b3 | ||
|
|
6381f36a90 | ||
|
|
b9ef35dbbe | ||
|
|
b43e3dab71 | ||
|
|
901dbb1ecf | ||
|
|
68e01fbcc0 | ||
|
|
43d4b7ef18 | ||
|
|
4a00f3398e | ||
|
|
8054e3d8f2 | ||
|
|
b0e1d5e7fa | ||
|
|
d9e723b265 | ||
|
|
9bb8a0986f | ||
|
|
6418d09039 | ||
|
|
afab681a60 | ||
|
|
8db077887d | ||
|
|
c06b7857f8 | ||
|
|
e798cfdfe3 | ||
|
|
0e76342b04 | ||
|
|
d91e38fec9 | ||
|
|
3316072f5d | ||
|
|
4c568212ac | ||
|
|
eaa119f152 | ||
|
|
e7deabe8d9 | ||
|
|
6d47700ebd | ||
|
|
93c616de23 | ||
|
|
ee25b41d7e | ||
|
|
00f134029a | ||
|
|
00d625013b | ||
|
|
e81ff66dd3 | ||
|
|
97af12416e | ||
|
|
bf191dab92 | ||
|
|
f8c61b7848 | ||
|
|
5b136f2da8 | ||
|
|
8b80b33810 | ||
|
|
e3c36ae6e2 | ||
|
|
533b15f44b | ||
|
|
4f0f8655f4 | ||
|
|
668f6856d1 | ||
|
|
c8e2bb0c13 | ||
|
|
39ed7ea83c | ||
|
|
f1b2ff801a | ||
|
|
1d9c3a8b80 | ||
|
|
29c6151fe3 | ||
|
|
1377be9915 | ||
|
|
c479a601cd | ||
|
|
f66a4d25bf | ||
|
|
9c7d153f15 | ||
|
|
bbea534781 | ||
|
|
df2586e76d | ||
|
|
59093cdf21 | ||
|
|
5f6307041a | ||
|
|
26f2143247 | ||
|
|
bd292ff886 | ||
|
|
9915d46ad4 | ||
|
|
2b5a02e068 | ||
|
|
1f68f512fa | ||
|
|
d18f7c6195 | ||
|
|
015ac7d46e | ||
|
|
6631dfdea3 | ||
|
|
212fbb83fe | ||
|
|
9e08d6012c | ||
|
|
69c0fe1caf | ||
|
|
fcecd1163d | ||
|
|
29ea112b4f | ||
|
|
2b96fd5f57 | ||
|
|
3e40745621 | ||
|
|
c6e30236e9 | ||
|
|
34c4ecf940 | ||
|
|
3550c168e2 | ||
|
|
901d6e6c92 | ||
|
|
f05d081cd6 | ||
|
|
aadc1be56c | ||
|
|
5b080874f2 | ||
|
|
19e230ea6a | ||
|
|
bc1263c341 | ||
|
|
42d76cf257 | ||
|
|
d06b7411dc | ||
|
|
b14d766ffb | ||
|
|
32ff8db241 | ||
|
|
ea87c8ca24 | ||
|
|
780ea4a9d0 | ||
|
|
6ce4797772 | ||
|
|
8e738a6097 | ||
|
|
7d3f86ded1 | ||
|
|
faeb5dede0 | ||
|
|
eae8485713 | ||
|
|
87ca0a8a50 | ||
|
|
99c5375c6a | ||
|
|
a62f6ca696 | ||
|
|
6eb1d5d954 | ||
|
|
81b01ac5cc | ||
|
|
6f47b66837 | ||
|
|
cf43e04d47 | ||
|
|
cda57e2d2b | ||
|
|
a9186a35e5 | ||
|
|
1a6e6279c8 | ||
|
|
522a04eecb | ||
|
|
d8dfbef1a7 | ||
|
|
60ea7190f9 | ||
|
|
804870f18a | ||
|
|
7c302af207 | ||
|
|
2cc1dcc6fd | ||
|
|
31cc4b4960 | ||
|
|
af86534992 | ||
|
|
0f9122aa1c | ||
|
|
d0e35032a5 | ||
|
|
acf26d3127 | ||
|
|
d352c6efb4 | ||
|
|
5ff9b10f21 | ||
|
|
80c67d8340 | ||
|
|
3ee2e2517a | ||
|
|
dd7f227305 | ||
|
|
c1d3c7d680 | ||
|
|
fae6d0d0cf | ||
|
|
60d106fc52 | ||
|
|
a4df2eab8f | ||
|
|
fdbcf47149 | ||
|
|
b1ef8a5d47 | ||
|
|
4cb6baaff0 | ||
|
|
6cb4fac041 | ||
|
|
d7176a9c97 | ||
|
|
2eb0a34858 | ||
|
|
cf86e91988 | ||
|
|
058c41dd7e | ||
|
|
7a50167222 | ||
|
|
969b303c59 | ||
|
|
8114e0dcf7 | ||
|
|
561b3a2263 | ||
|
|
e0edb63501 | ||
|
|
70ef867ec5 | ||
|
|
23336fa65b | ||
|
|
fea90d024e | ||
|
|
de85d93602 | ||
|
|
e48d956577 | ||
|
|
efec6a113f | ||
|
|
0121a2aebd | ||
|
|
7badfd9b32 | ||
|
|
d0497d60e8 | ||
|
|
e223d12520 | ||
|
|
27e8e83c59 | ||
|
|
c7f254db70 | ||
|
|
85c3cd4a81 | ||
|
|
8d9042aeeb | ||
|
|
373edf883d | ||
|
|
7ed01a181e | ||
|
|
4119fd8433 | ||
|
|
cc7d7c0a0c | ||
|
|
61b39a99db | ||
|
|
98f776fa3a | ||
|
|
75f426f456 | ||
|
|
67b510e628 | ||
|
|
7cc0847db1 | ||
|
|
b92132bf47 | ||
|
|
cfecb9f94a | ||
|
|
fc81e02026 | ||
|
|
e12d5ff10a | ||
|
|
355572ba04 | ||
|
|
70731e42a5 | ||
|
|
023b875b0f | ||
|
|
82b027159e | ||
|
|
6b4da25847 | ||
|
|
529db4d6ca | ||
|
|
d132342ffe | ||
|
|
c6405fc0c1 | ||
|
|
1f6b8f6c53 | ||
|
|
6bdac234b0 | ||
|
|
337e9680b9 | ||
|
|
986630d0a1 | ||
|
|
ae23bfffe1 | ||
|
|
619683e842 | ||
|
|
1b5ba96bd9 | ||
|
|
bbc5b436e0 | ||
|
|
91311787df | ||
|
|
74e9a98afd | ||
|
|
b369dcc117 | ||
|
|
5a05e01b7d | ||
|
|
8097eff9bb | ||
|
|
c61c97ccad | ||
|
|
9a7baa7325 | ||
|
|
5ac577c99b | ||
|
|
3f421a2fb0 | ||
|
|
e94ce0ffef | ||
|
|
2dfcf2141f | ||
|
|
47220e0abc | ||
|
|
05eed6ee20 | ||
|
|
9eec62d59f | ||
|
|
25c04a49c1 | ||
|
|
efe6b0483c | ||
|
|
caafba5f53 | ||
|
|
32052c17f1 | ||
|
|
32a3cb2cfe | ||
|
|
d9970bf110 | ||
|
|
6514b41418 | ||
|
|
e480e032f2 | ||
|
|
995001bd91 | ||
|
|
5545a516be | ||
|
|
0fb2d8df79 | ||
|
|
466152ed42 | ||
|
|
e4855f7427 | ||
|
|
b28d881a1b | ||
|
|
258abd5deb | ||
|
|
b8cbdb55d5 | ||
|
|
4e7975a9de | ||
|
|
ec8d5d88e9 | ||
|
|
94fa649a17 | ||
|
|
71653572aa | ||
|
|
c3cb450e92 | ||
|
|
a18f431e06 | ||
|
|
56f7b40585 | ||
|
|
a5f263dc12 | ||
|
|
3415dafb02 | ||
|
|
9664bbea73 | ||
|
|
c7b07ba958 | ||
|
|
20b95887af | ||
|
|
47d4812b92 | ||
|
|
6202a4d0a3 | ||
|
|
6b584f2111 | ||
|
|
3d9221eb8d | ||
|
|
96173dd901 | ||
|
|
5820758563 | ||
|
|
bfadb1373a | ||
|
|
a7956aacf9 | ||
|
|
afee681575 | ||
|
|
b5482b6527 | ||
|
|
ff87a42147 | ||
|
|
7e5130c49a | ||
|
|
a7b18bca87 | ||
|
|
a2ead6bcc4 | ||
|
|
4a2614349d | ||
|
|
67c63a09fe | ||
|
|
97aea1c268 | ||
|
|
b70f50e1a0 | ||
|
|
4880227320 | ||
|
|
dfa21068f4 | ||
|
|
fd75a33e50 | ||
|
|
1409c563e2 | ||
|
|
588c42d579 | ||
|
|
d7ff6aa6a2 | ||
|
|
44266e508b | ||
|
|
9b9ea39260 | ||
|
|
31b10f9a41 | ||
|
|
c0f8f5e1d0 | ||
|
|
0261d36a47 | ||
|
|
e948e1e569 | ||
|
|
5289e62d43 | ||
|
|
eda7aac5ef | ||
|
|
d9f4ab0d04 | ||
|
|
2665327729 | ||
|
|
4738c1897f | ||
|
|
cfbb194a61 | ||
|
|
9ad21e8ea1 | ||
|
|
941fc2985d | ||
|
|
e2da071761 | ||
|
|
c20c9ac64a | ||
|
|
2d59f3825c | ||
|
|
fb8b7a7d19 | ||
|
|
d992cc7a3c | ||
|
|
f8fecf5174 | ||
|
|
3007cddce9 | ||
|
|
2b3c812f8a | ||
|
|
61535fac95 | ||
|
|
4182595436 | ||
|
|
97e30e4001 | ||
|
|
6763fd3b4b | ||
|
|
a39ec76340 | ||
|
|
f68282decc | ||
|
|
160de56a71 | ||
|
|
bd4fbcc93d | ||
|
|
f1839eef94 | ||
|
|
3e3abf36e5 | ||
|
|
621e28c7e7 | ||
|
|
393861dcd3 | ||
|
|
b5d6b2d3fd | ||
|
|
a0c82dc734 | ||
|
|
e4be99c3d7 | ||
|
|
3da6a57e42 | ||
|
|
7ce9442153 | ||
|
|
773da185ee | ||
|
|
bf3dcd97b8 | ||
|
|
793c16a21b | ||
|
|
52dc697635 | ||
|
|
36689ed886 | ||
|
|
4d4689a190 | ||
|
|
78aaffb8d8 | ||
|
|
b82e43bb93 | ||
|
|
8eef3a3ce5 | ||
|
|
063845d513 | ||
|
|
7353a2ac0d | ||
|
|
50aaea0dd2 | ||
|
|
5e733fddad | ||
|
|
5d48e87e0b | ||
|
|
e86f5a1a59 | ||
|
|
2d2bd36abb | ||
|
|
e72f3b1a12 | ||
|
|
fd260f4caa | ||
|
|
ccc1f4cad1 | ||
|
|
42511cb667 | ||
|
|
123d7af5eb | ||
|
|
44f2de42db | ||
|
|
e4dd0f1ac6 | ||
|
|
9fdce8e814 | ||
|
|
813b2df1ac | ||
|
|
95696e23fe | ||
|
|
463ce258bf | ||
|
|
0bf8368686 | ||
|
|
0c216792cf | ||
|
|
dd447297f9 | ||
|
|
1a908b5038 | ||
|
|
ba629e9c9e | ||
|
|
fb11242dd5 | ||
|
|
aa88ab1985 | ||
|
|
b075116502 | ||
|
|
9e02e35c4d | ||
|
|
d7e67fb397 | ||
|
|
f2172bb2ad | ||
|
|
c773b4ecd1 | ||
|
|
9f02bf4ce2 | ||
|
|
9bad5ed324 | ||
|
|
93bb016b4f | ||
|
|
8c901d5bad | ||
|
|
ac533c612c | ||
|
|
21e9dd870d | ||
|
|
e3f6242e5f | ||
|
|
a47fa20652 | ||
|
|
fa0c890633 | ||
|
|
d7d12e1618 | ||
|
|
82bdc28305 | ||
|
|
7c4f649016 | ||
|
|
d937a2ae59 | ||
|
|
d19fcd2a4c | ||
|
|
9b4c4afa35 | ||
|
|
c5b00f67a1 | ||
|
|
6f79e986ba | ||
|
|
8aa10605c5 | ||
|
|
44421c4b5d | ||
|
|
fbbd6de0ff | ||
|
|
c6e3d11071 | ||
|
|
6325d3539c | ||
|
|
ae7f1f228f | ||
|
|
d353f3b677 | ||
|
|
42eceb3efd | ||
|
|
6f5586d656 | ||
|
|
9bea04dfc2 | ||
|
|
0d34e643c7 | ||
|
|
88f60c0e84 | ||
|
|
964a277331 | ||
|
|
057c7792df | ||
|
|
bd6372d944 | ||
|
|
0d31b8276c | ||
|
|
b15a8db651 | ||
|
|
9f1f9f84d4 | ||
|
|
5d72498aac | ||
|
|
e8536fd404 | ||
|
|
9489354357 | ||
|
|
940350504a | ||
|
|
0e37ebd789 | ||
|
|
c66110a60f | ||
|
|
ac7f2eb5b1 | ||
|
|
0cdbcfc97e | ||
|
|
821bbc969b | ||
|
|
e20011ce08 | ||
|
|
e30bccd2b7 | ||
|
|
c0cfa3a683 | ||
|
|
f7510eea88 | ||
|
|
24fc5e4370 | ||
|
|
5b62e76a63 | ||
|
|
15c73d7940 | ||
|
|
36f0fccd9c | ||
|
|
d4544a7c47 | ||
|
|
9477ad425c | ||
|
|
a64deb2e18 | ||
|
|
f81cfbecfe | ||
|
|
eb35f5c543 | ||
|
|
7d8188d575 | ||
|
|
00ab317a3e | ||
|
|
0536d419e5 | ||
|
|
4d5c9005ae | ||
|
|
0513a36a9a | ||
|
|
1ec184048c | ||
|
|
2b811c5ab4 | ||
|
|
ea91701430 | ||
|
|
9654fabc3c | ||
|
|
2ebc5489cd | ||
|
|
cf3b3c5c48 | ||
|
|
930bc113fe | ||
|
|
7aaa28b5c2 | ||
|
|
bd3976e4c6 | ||
|
|
4e5a883d2e | ||
|
|
e1de84dce3 | ||
|
|
9ce714fd36 | ||
|
|
46983bec24 | ||
|
|
9d65df84be | ||
|
|
e2d56d32fe | ||
|
|
7895b9d2c1 | ||
|
|
63f6702f86 | ||
|
|
02bc554b0e | ||
|
|
c3933a4eee | ||
|
|
68c1f780d5 | ||
|
|
496ef87a28 | ||
|
|
22e85f715d | ||
|
|
1a6a07744e | ||
|
|
4a19fececf | ||
|
|
322a1483df | ||
|
|
ab1520c560 | ||
|
|
e4f4a10965 | ||
|
|
05153a152d | ||
|
|
798fd8b3f3 | ||
|
|
c38cc07e0a | ||
|
|
af547ce745 | ||
|
|
0d0459a3a3 | ||
|
|
7dfee81188 | ||
|
|
3a2d9c0e0e | ||
|
|
8e022bfb28 | ||
|
|
a69c19581d | ||
|
|
a3e67b6cde | ||
|
|
9e6e3b023d | ||
|
|
33cfe3f5d3 | ||
|
|
4a2ebe4b03 | ||
|
|
374f0992ff | ||
|
|
7814493974 | ||
|
|
f5fa758ac1 | ||
|
|
517e53a2e3 | ||
|
|
fb3635cdf8 | ||
|
|
a804da06f5 | ||
|
|
9ed9f9b873 | ||
|
|
b4a2f31520 | ||
|
|
c7acb902a4 | ||
|
|
37ac5c8cbd | ||
|
|
bf4eb8fafc | ||
|
|
7c4a0628b7 | ||
|
|
2d3e293d83 | ||
|
|
6dee56dc95 | ||
|
|
4c9548b303 | ||
|
|
fd69e91880 | ||
|
|
0f4eeb4fe9 | ||
|
|
9a24b906f9 | ||
|
|
496528be65 | ||
|
|
f2c1ee4894 | ||
|
|
acd2720372 | ||
|
|
e20b60979c |
33
.eslintrc.js
@@ -1,33 +0,0 @@
|
||||
module.exports = {
|
||||
env: {
|
||||
browser: true,
|
||||
es2021: true,
|
||||
node: true,
|
||||
jest: true,
|
||||
jasmine: true,
|
||||
},
|
||||
extends: [
|
||||
"eslint:recommended",
|
||||
"plugin:react/recommended",
|
||||
"plugin:@typescript-eslint/recommended",
|
||||
],
|
||||
parser: "@typescript-eslint/parser",
|
||||
parserOptions: {
|
||||
ecmaFeatures: {
|
||||
jsx: true,
|
||||
},
|
||||
ecmaVersion: 12,
|
||||
sourceType: "module",
|
||||
},
|
||||
plugins: ["react", "@typescript-eslint"],
|
||||
rules: {
|
||||
// TODO: Remove warn rules when not needed anymore
|
||||
"no-self-assign": "off",
|
||||
"@typescript-eslint/no-empty-interface": "off",
|
||||
},
|
||||
settings: {
|
||||
react: {
|
||||
version: "detect",
|
||||
},
|
||||
},
|
||||
};
|
||||
33
.eslintrc.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"env": {
|
||||
"browser": true,
|
||||
"es2021": true,
|
||||
"node": true,
|
||||
"jest": true
|
||||
},
|
||||
"extends": [
|
||||
"eslint:recommended",
|
||||
"plugin:react/recommended",
|
||||
"plugin:@typescript-eslint/recommended"
|
||||
],
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": {
|
||||
"ecmaFeatures": {
|
||||
"jsx": true
|
||||
},
|
||||
"ecmaVersion": 12,
|
||||
"sourceType": "module"
|
||||
},
|
||||
"plugins": ["react", "@typescript-eslint"],
|
||||
"rules": {
|
||||
"@typescript-eslint/no-unused-vars": "error",
|
||||
"no-self-assign": "off",
|
||||
"@typescript-eslint/no-empty-interface": "off",
|
||||
"react/prop-types": [2, { "ignore": ["children"] }]
|
||||
},
|
||||
"settings": {
|
||||
"react": {
|
||||
"version": "detect"
|
||||
}
|
||||
}
|
||||
}
|
||||
2
.github/FUNDING.yml
vendored
@@ -1,3 +1,3 @@
|
||||
github: ajayyy-org
|
||||
patreon: ajayyy
|
||||
custom: [sponsor.ajay.app/donate]
|
||||
custom: [buy.ajay.app/l/sponsorblock, sponsor.ajay.app/donate]
|
||||
|
||||
10
.github/workflows/ci.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '16'
|
||||
node-version: '18'
|
||||
- run: npm ci
|
||||
- name: Copy configuration
|
||||
run: cp config.json.example config.json
|
||||
@@ -30,7 +30,7 @@ jobs:
|
||||
name: ChromeExtension
|
||||
path: dist
|
||||
- run: mkdir ./builds
|
||||
- uses: montudor/action-zip@v1
|
||||
- uses: montudor/action-zip@0852c26906e00f8a315c704958823928d8018b28
|
||||
with:
|
||||
args: zip -qq -r ./builds/ChromeExtension.zip ./dist
|
||||
|
||||
@@ -41,7 +41,7 @@ jobs:
|
||||
with:
|
||||
name: FirefoxExtension
|
||||
path: dist
|
||||
- uses: montudor/action-zip@v1
|
||||
- uses: montudor/action-zip@0852c26906e00f8a315c704958823928d8018b28
|
||||
with:
|
||||
args: zip -qq -r ./builds/FirefoxExtension.zip ./dist
|
||||
|
||||
@@ -52,7 +52,7 @@ jobs:
|
||||
with:
|
||||
name: ChromeExtensionBeta
|
||||
path: dist
|
||||
- uses: montudor/action-zip@v1
|
||||
- uses: montudor/action-zip@0852c26906e00f8a315c704958823928d8018b28
|
||||
with:
|
||||
args: zip -qq -r ./builds/ChromeExtensionBeta.zip ./dist
|
||||
|
||||
@@ -62,7 +62,7 @@ jobs:
|
||||
with:
|
||||
name: FirefoxExtensionBeta
|
||||
path: dist
|
||||
- uses: montudor/action-zip@v1
|
||||
- uses: montudor/action-zip@0852c26906e00f8a315c704958823928d8018b28
|
||||
with:
|
||||
args: zip -qq -r ./builds/FirefoxExtensionBeta.zip ./dist
|
||||
|
||||
|
||||
2
.github/workflows/release.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '16'
|
||||
node-version: '18'
|
||||
- run: npm ci
|
||||
- name: Copy configuration
|
||||
run: cp config.json.example config.json
|
||||
|
||||
2
.github/workflows/take-action.yml
vendored
@@ -9,6 +9,6 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: take the issue
|
||||
uses: bdougie/take-action@main
|
||||
uses: bdougie/take-action@28b86cd8d25593f037406ecbf96082db2836e928
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ github.token }}
|
||||
|
||||
19
.github/workflows/tests.yml
vendored
@@ -3,8 +3,7 @@ name: Tests
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
|
||||
build:
|
||||
test:
|
||||
name: Run tests
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
@@ -13,8 +12,18 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '16'
|
||||
node-version: '18'
|
||||
- run: npm ci
|
||||
|
||||
- run: sudo apt-get install chromium-chromedriver
|
||||
|
||||
- name: Copy configuration
|
||||
run: cp config.json.example config.json
|
||||
- name: Run tests
|
||||
run: npm run test-without-building
|
||||
run: npm run test
|
||||
|
||||
- name: Upload results on fail
|
||||
if: ${{ failure() }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: Test Results
|
||||
path: ./test-results
|
||||
4
.github/workflows/update-oss-attribution.yml
vendored
@@ -16,7 +16,7 @@ jobs:
|
||||
uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '16'
|
||||
node-version: '18'
|
||||
- name: Install and generate attribution
|
||||
run: |
|
||||
npm ci
|
||||
@@ -25,7 +25,7 @@ jobs:
|
||||
mv ./oss-attribution/attribution.txt ./public/oss-attribution/attribution.txt
|
||||
|
||||
- name: Create pull request to update list
|
||||
uses: peter-evans/create-pull-request@v3
|
||||
uses: peter-evans/create-pull-request@923ad837f191474af6b1721408744feb989a4c27
|
||||
with:
|
||||
commit-message: Update OSS Attribution
|
||||
author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
|
||||
|
||||
2
.github/workflows/updateInvidous.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
run: npm run ci:invidious
|
||||
|
||||
- name: Create pull request to update list
|
||||
uses: peter-evans/create-pull-request@v3
|
||||
uses: peter-evans/create-pull-request@923ad837f191474af6b1721408744feb989a4c27
|
||||
with:
|
||||
commit-message: Update Invidious List
|
||||
author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
|
||||
|
||||
3
.gitignore
vendored
@@ -7,4 +7,5 @@ web-ext-artifacts
|
||||
dist/
|
||||
tmp/
|
||||
.DS_Store
|
||||
ci/data.json
|
||||
ci/data.json
|
||||
test-results
|
||||
@@ -1,6 +1,6 @@
|
||||
<p align="center">
|
||||
<a href="https://sponsor.ajay.app"><img src="public/icons/LogoSponsorBlocker256px.png" alt="Logo"></img></a>
|
||||
|
||||
|
||||
<br/>
|
||||
<sub>Logo by <a href="https://github.com/munadikieh">@munadikieh</a></sub>
|
||||
</p>
|
||||
@@ -13,7 +13,7 @@
|
||||
<a href="https://addons.mozilla.org/addon/sponsorblock/?src=external-github">Firefox</a> |
|
||||
<a href="https://github.com/ajayyy/SponsorBlock/wiki/Android">Android</a> |
|
||||
<a href="https://github.com/ajayyy/SponsorBlock/wiki/Edge">Edge</a> |
|
||||
<a href="https://github.com/ajayyy/SponsorBlock/wiki/Safari">Safari for MacOS</a> |
|
||||
<a href="https://github.com/ajayyy/SponsorBlock/wiki/Safari">Safari for MacOS and iOS</a> |
|
||||
<a href="https://sponsor.ajay.app">Website</a> |
|
||||
<a href="https://sponsor.ajay.app/stats">Stats</a>
|
||||
</p>
|
||||
@@ -72,7 +72,7 @@ You must have [Node.js 16](https://nodejs.org/) and npm installed.
|
||||
|
||||
- You can also run `npm run build` (for Chrome) or `npm run build:firefox` (for Firefox) to generate a production build.
|
||||
|
||||
4. The built extension is now in `dist/`. You can load it in Chrome as an [unpacked extension](https://developer.chrome.com/docs/extensions/mv3/getstarted/#manifest) or in Firefox as a [temporary extension](https://developer.mozilla.org/en-US/docs/Tools/about:debugging#loading_a_temporary_extension).
|
||||
4. The built extension is now in `dist/`. You can load this folder directly in Chrome as an [unpacked extension](https://developer.chrome.com/docs/extensions/mv3/getstarted/#manifest), or convert it to a zip file to load it as a [temporary extension](https://developer.mozilla.org/en-US/docs/Tools/about:debugging#loading_a_temporary_extension) in Firefox.
|
||||
|
||||
### Developing with a clean profile and hot reloading
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ const reliableCheck = mapped
|
||||
.filter(instance => instance.url.includes(instance.name))
|
||||
|
||||
// finally map to array
|
||||
const result: string[] = reliableCheck.map(instance => instance.name)
|
||||
const result: string[] = reliableCheck.map(instance => instance.name).sort()
|
||||
writeFile(join(__dirname, "./invidiouslist.json"), JSON.stringify(result), (err) => {
|
||||
if (err) return console.log(err);
|
||||
})
|
||||
@@ -1 +1 @@
|
||||
["yewtu.be","invidious.snopyta.org","vid.puffyan.us","invidious.kavin.rocks","invidio.xamh.de","inv.riverside.rocks","invidious-us.kavin.rocks","invidious.osi.kr","tube.cthd.icu","yt.artemislena.eu","youtube.076.ne.jp","invidious.namazso.eu"]
|
||||
["inv.cthd.icu","inv.riverside.rocks","invidio.xamh.de","invidious.kavin.rocks","invidious.namazso.eu","invidious.osi.kr","invidious.snopyta.org","vid.puffyan.us","yewtu.be","youtube.076.ne.jp","yt.artemislena.eu"]
|
||||
@@ -2,7 +2,7 @@
|
||||
"serverAddress": "https://sponsor.ajay.app",
|
||||
"testingServerAddress": "https://sponsor.ajay.app/test",
|
||||
"serverAddressComment": "This specifies the default SponsorBlock server to connect to",
|
||||
"categoryList": ["sponsor", "selfpromo", "exclusive_access", "interaction", "poi_highlight", "intro", "outro", "preview", "filler", "music_offtopic"],
|
||||
"categoryList": ["sponsor", "selfpromo", "exclusive_access", "interaction", "poi_highlight", "intro", "outro", "preview", "filler", "chapter", "music_offtopic"],
|
||||
"categorySupport": {
|
||||
"sponsor": ["skip", "mute", "full"],
|
||||
"selfpromo": ["skip", "mute", "full"],
|
||||
@@ -13,7 +13,8 @@
|
||||
"preview": ["skip", "mute"],
|
||||
"filler": ["skip", "mute"],
|
||||
"music_offtopic": ["skip"],
|
||||
"poi_highlight": ["poi"]
|
||||
"poi_highlight": ["poi"],
|
||||
"chapter": ["chapter"]
|
||||
},
|
||||
"wikiLinks": {
|
||||
"sponsor": "https://wiki.sponsor.ajay.app/w/Sponsor",
|
||||
@@ -27,6 +28,7 @@
|
||||
"music_offtopic": "https://wiki.sponsor.ajay.app/w/Music:_Non-Music_Section",
|
||||
"poi_highlight": "https://wiki.sponsor.ajay.app/w/Highlight",
|
||||
"guidelines": "https://wiki.sponsor.ajay.app/w/Guidelines",
|
||||
"mute": "https://wiki.sponsor.ajay.app/w/Mute_Segment"
|
||||
"mute": "https://wiki.sponsor.ajay.app/w/Mute_Segment",
|
||||
"chapter": "https://wiki.sponsor.ajay.app/w/Chapter"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,4 +5,5 @@ module.exports = {
|
||||
"transform": {
|
||||
"^.+\\.ts$": "ts-jest"
|
||||
},
|
||||
"reporters": ["default", "github-actions"]
|
||||
};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "__MSG_fullName__",
|
||||
"short_name": "SponsorBlock",
|
||||
"version": "4.2",
|
||||
"version": "5.0.7",
|
||||
"default_locale": "en",
|
||||
"description": "__MSG_Description__",
|
||||
"homepage_url": "https://sponsor.ajay.app",
|
||||
@@ -18,6 +18,7 @@
|
||||
],
|
||||
"css": [
|
||||
"content.css",
|
||||
"shared.css",
|
||||
"./libs/Source+Sans+Pro.css",
|
||||
"popup.css"
|
||||
]
|
||||
@@ -34,6 +35,7 @@
|
||||
"icons/settings.svg",
|
||||
"icons/pencil.svg",
|
||||
"icons/check.svg",
|
||||
"icons/check-smaller.svg",
|
||||
"icons/upvote.png",
|
||||
"icons/downvote.png",
|
||||
"icons/thumbs_down.svg",
|
||||
@@ -47,13 +49,28 @@
|
||||
"icons/beep.ogg",
|
||||
"icons/pause.svg",
|
||||
"icons/stop.svg",
|
||||
"icons/skip.svg",
|
||||
"icons/heart.svg",
|
||||
"icons/visible.svg",
|
||||
"icons/not_visible.svg",
|
||||
"icons/sort.svg",
|
||||
"icons/money.svg",
|
||||
"icons/segway.png",
|
||||
"icons/close-smaller.svg",
|
||||
"icons/right-arrow.svg",
|
||||
"icons/campaign.svg",
|
||||
"icons/star.svg",
|
||||
"icons/lightbulb.svg",
|
||||
"icons/bolt.svg",
|
||||
"icons/stopwatch.svg",
|
||||
"icons/music-note.svg",
|
||||
"icons/import.svg",
|
||||
"icons/export.svg",
|
||||
"icons/PlayerInfoIconSponsorBlocker.svg",
|
||||
"icons/PlayerDeleteIconSponsorBlocker.svg",
|
||||
"popup.html",
|
||||
"content.css"
|
||||
"content.css",
|
||||
"js/document.js"
|
||||
],
|
||||
"permissions": [
|
||||
"storage",
|
||||
@@ -64,7 +81,35 @@
|
||||
],
|
||||
"browser_action": {
|
||||
"default_title": "SponsorBlock",
|
||||
"default_popup": "popup.html"
|
||||
"default_popup": "popup.html",
|
||||
"default_icon": {
|
||||
"16": "icons/IconSponsorBlocker16px.png",
|
||||
"32": "icons/IconSponsorBlocker32px.png",
|
||||
"64": "icons/LogoSponsorBlocker64px.png",
|
||||
"128": "icons/LogoSponsorBlocker128px.png"
|
||||
},
|
||||
"theme_icons": [
|
||||
{
|
||||
"light": "icons/IconSponsorBlocker16px.png",
|
||||
"dark": "icons/IconSponsorBlocker16px.png",
|
||||
"size": 16
|
||||
},
|
||||
{
|
||||
"light": "icons/IconSponsorBlocker32px.png",
|
||||
"dark": "icons/IconSponsorBlocker32px.png",
|
||||
"size": 32
|
||||
},
|
||||
{
|
||||
"light": "icons/LogoSponsorBlocker64px.png",
|
||||
"dark": "icons/LogoSponsorBlocker64px.png",
|
||||
"size": 64
|
||||
},
|
||||
{
|
||||
"light": "icons/LogoSponsorBlocker128px.png",
|
||||
"dark": "icons/LogoSponsorBlocker128px.png",
|
||||
"size": 128
|
||||
}
|
||||
]
|
||||
},
|
||||
"background": {
|
||||
"scripts":[
|
||||
|
||||
14212
package-lock.json
generated
66
package.json
@@ -8,32 +8,35 @@
|
||||
"react-dom": "^17.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/chrome": "^0.0.178",
|
||||
"@types/chrome": "^0.0.193",
|
||||
"@types/firefox-webext-browser": "^94.0.1",
|
||||
"@types/jest": "^27.4.0",
|
||||
"@types/jest": "^28.1.6",
|
||||
"@types/react": "^17.0.47",
|
||||
"@types/react-dom": "^17.0.17",
|
||||
"@types/selenium-webdriver": "^4.1.2",
|
||||
"@types/wicg-mediasession": "^1.1.3",
|
||||
"@types/react": "^17.0.39",
|
||||
"@types/react-dom": "^17.0.11",
|
||||
"@types/selenium-webdriver": "^4.0.17",
|
||||
"@typescript-eslint/eslint-plugin": "^5.10.2",
|
||||
"@typescript-eslint/parser": "^5.10.2",
|
||||
"chromedriver": "^97.0.4",
|
||||
"concurrently": "^7.0.0",
|
||||
"copy-webpack-plugin": "^10.2.4",
|
||||
"eslint": "^8.8.0",
|
||||
"eslint-plugin-react": "^7.28.0",
|
||||
"jest": "^27.5.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.31.0",
|
||||
"@typescript-eslint/parser": "^5.31.0",
|
||||
"chromedriver": "^103.0.0",
|
||||
"concurrently": "^7.3.0",
|
||||
"copy-webpack-plugin": "^11.0.0",
|
||||
"eslint": "^8.20.0",
|
||||
"eslint-plugin-react": "^7.30.1",
|
||||
"fork-ts-checker-webpack-plugin": "^7.2.13",
|
||||
"jest": "^28.1.3",
|
||||
"jest-environment-jsdom": "^28.1.0",
|
||||
"rimraf": "^3.0.2",
|
||||
"schema-utils": "^4.0.0",
|
||||
"selenium-webdriver": "^4.1.1",
|
||||
"ts-jest": "^27.1.3",
|
||||
"ts-loader": "^9.2.6",
|
||||
"ts-node": "^10.4.0",
|
||||
"typescript": "4.5",
|
||||
"web-ext": "^6.6.0",
|
||||
"webpack": "^5.68.0",
|
||||
"webpack-cli": "^4.9.2",
|
||||
"webpack-merge": "^4.2.2"
|
||||
"selenium-webdriver": "^4.3.1",
|
||||
"speed-measure-webpack-plugin": "^1.5.0",
|
||||
"ts-jest": "^28.0.7",
|
||||
"ts-loader": "^9.3.1",
|
||||
"ts-node": "^10.9.1",
|
||||
"typescript": "4.7",
|
||||
"web-ext": "^7.1.1",
|
||||
"webpack": "^5.74.0",
|
||||
"webpack-cli": "^4.10.0",
|
||||
"webpack-merge": "^5.8.0"
|
||||
},
|
||||
"scripts": {
|
||||
"web-run": "npm run web-run:chrome",
|
||||
@@ -63,21 +66,26 @@
|
||||
"lint:fix": "eslint src --fix"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.20.0"
|
||||
"node": ">=16"
|
||||
},
|
||||
"funding": [{
|
||||
"funding": [
|
||||
{
|
||||
"type": "individual",
|
||||
"url": "hhttps://sponsor.ajay.app/donate"
|
||||
}, {
|
||||
"url": "https://sponsor.ajay.app/donate"
|
||||
},
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/ajayyy-org"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/ajayyy"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"type": "individual",
|
||||
"url": "https://paypal.me/ajayyy"
|
||||
}],
|
||||
}
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/ajayyy/SponsorBlock.git"
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
"message": "مسح الأجزاء"
|
||||
},
|
||||
"openPopup": {
|
||||
"message": "فتح نافذة سبونسر بلوك المنبثقة"
|
||||
"message": "فتح نافذة SponsorBlock المنبثقة"
|
||||
},
|
||||
"closePopup": {
|
||||
"message": "إغلاق النافذة المنبثقة"
|
||||
@@ -116,7 +116,7 @@
|
||||
"message": "إرسال الأجزاء"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "هل أنت متيقّن من إرسال هذا؟"
|
||||
"message": "هل أنت متأكد أنك تريد إرسال هذا؟"
|
||||
},
|
||||
"whitelistChannel": {
|
||||
"message": "إضافة القناة إلى القائمة البيضاء"
|
||||
@@ -134,13 +134,13 @@
|
||||
"message": "لقد وفّرت على الناس "
|
||||
},
|
||||
"viewLeaderboard": {
|
||||
"message": "لوحة الصدارة"
|
||||
"message": "المتصدرين"
|
||||
},
|
||||
"recordTimesDescription": {
|
||||
"message": "إرسال"
|
||||
},
|
||||
"submissionEditHint": {
|
||||
"message": "سيظهر تحرير القسم بعد النقر على إرسال",
|
||||
"message": "سيظهر تحرير الجزء بعد النقر على إرسال",
|
||||
"description": "Appears in the popup to inform them that editing has been moved to the video player."
|
||||
},
|
||||
"popupHint": {
|
||||
@@ -162,7 +162,10 @@
|
||||
"message": "تعيين اسم مستخدم"
|
||||
},
|
||||
"copyPublicID": {
|
||||
"message": "نسخ معرف المستخدم العام"
|
||||
"message": "نسخ رمز المستخدم"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "نسخ معرف الجزء"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "انضم إلى سيرفر \"ديسكورد\" الرسمي لتقديم اقتراحات وتعليقات!"
|
||||
@@ -200,9 +203,21 @@
|
||||
"showDeleteButton": {
|
||||
"message": "إظهار زر \"حذف\" على مشغّل اليوتيوب"
|
||||
},
|
||||
"enableViewTracking": {
|
||||
"message": "تمكين تتبع مرات التخطي"
|
||||
},
|
||||
"enableTrackDownvotes": {
|
||||
"message": "حفظ التصويت السلبي للمقاطع"
|
||||
},
|
||||
"whatTrackDownvotes": {
|
||||
"message": "أي مقاطع قمت بالتصويت السلبي لها ستبقى مخفية حتى بعد التحديث"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "إظهار الإشعار مرة أخرى"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "إظهار مساعدة الفئة"
|
||||
},
|
||||
"website": {
|
||||
"message": "موقع الويب",
|
||||
"description": "Used on Firefox Store Page"
|
||||
@@ -223,6 +238,10 @@
|
||||
"message": "إرسال الأجزاء",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"yourWork": {
|
||||
"message": "عملك",
|
||||
"description": "Used to describe the section that will show you the statistics from your submissions."
|
||||
},
|
||||
"errorCode": {
|
||||
"message": "رمز الخطأ: "
|
||||
},
|
||||
@@ -264,6 +283,9 @@
|
||||
"enableAutoSkip": {
|
||||
"message": "تفعيل التخطي التلقائي"
|
||||
},
|
||||
"youHaveSkipped": {
|
||||
"message": "قمت بتخطي "
|
||||
},
|
||||
"minLower": {
|
||||
"message": "دقيقة"
|
||||
},
|
||||
@@ -311,6 +333,12 @@
|
||||
"exportOptionsUpload": {
|
||||
"message": "تحميل من ملف"
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "تعيين الخيارات"
|
||||
},
|
||||
"confirmNoticeTitle": {
|
||||
"message": "إرسال المقطع"
|
||||
},
|
||||
"submit": {
|
||||
"message": "إرسال"
|
||||
},
|
||||
@@ -332,6 +360,9 @@
|
||||
"edit": {
|
||||
"message": "تعديل"
|
||||
},
|
||||
"copyDebugInformationFailed": {
|
||||
"message": "فشل في الكتابة إلى الحافظة"
|
||||
},
|
||||
"to": {
|
||||
"message": "إلى",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
@@ -339,9 +370,21 @@
|
||||
"category_sponsor": {
|
||||
"message": "الراعي"
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "دعايات مدفوعة"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "دعاية غير مدفوعة/ذاتية"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "وصول حصري"
|
||||
},
|
||||
"category_intro_short": {
|
||||
"message": "استراحة"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "فاصل بدون محتوى فعلي"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "الخاتمة/تترات النهاية"
|
||||
},
|
||||
@@ -354,9 +397,56 @@
|
||||
"category_music_offtopic": {
|
||||
"message": "الموسيقى: مقطع غير موسيقي"
|
||||
},
|
||||
"category_music_offtopic_short": {
|
||||
"message": "غير موسيقي"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "ابراز"
|
||||
},
|
||||
"category_livestream_messages_short": {
|
||||
"message": "قراءة الرسالة"
|
||||
},
|
||||
"autoSkip": {
|
||||
"message": "تخطي تلقائي"
|
||||
},
|
||||
"manualSkip": {
|
||||
"message": "تخطي يدوي"
|
||||
},
|
||||
"showOverlay": {
|
||||
"message": "إظهار في شريط البحث"
|
||||
},
|
||||
"disable": {
|
||||
"message": "تعطيل"
|
||||
},
|
||||
"autoSkip_POI": {
|
||||
"message": "تخطي تلقائي حتى البدء"
|
||||
},
|
||||
"manualSkip_POI": {
|
||||
"message": "اسأل عند تحميل الفيديو"
|
||||
},
|
||||
"showOverlay_POI": {
|
||||
"message": "إظهار في شريط البحث"
|
||||
},
|
||||
"showOverlay_full": {
|
||||
"message": "إظهار التسمية"
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "لون غير المرسل",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
"message": "لون شريط البحث"
|
||||
},
|
||||
"category": {
|
||||
"message": "الفئة"
|
||||
},
|
||||
"skipOption": {
|
||||
"message": "خيار التخطي",
|
||||
"description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
|
||||
},
|
||||
"enableTestingServer": {
|
||||
"message": "تمكين الخادم التجريبي"
|
||||
},
|
||||
"bracketNow": {
|
||||
"message": "(الآن)"
|
||||
},
|
||||
@@ -366,6 +456,18 @@
|
||||
"chooseACategory": {
|
||||
"message": "اختر فئة"
|
||||
},
|
||||
"bracketEnd": {
|
||||
"message": "(النهاية)"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "مخفي: تصويت سلبي"
|
||||
},
|
||||
"hiddenDueToDuration": {
|
||||
"message": "مخفي: قصير جداً"
|
||||
},
|
||||
"manuallyHidden": {
|
||||
"message": "مخفي يدوياً"
|
||||
},
|
||||
"permissionRequestSuccess": {
|
||||
"message": "نجح طلب الإذن!"
|
||||
},
|
||||
@@ -398,15 +500,42 @@
|
||||
"message": "فهمت",
|
||||
"description": "Used as the button to dismiss a tooltip"
|
||||
},
|
||||
"hideForever": {
|
||||
"message": "إخفاء دائم"
|
||||
},
|
||||
"warningTitle": {
|
||||
"message": "لقد حصلت على تحذير"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "لدي سؤال"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "أنا أفهم السبب"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "تبرع"
|
||||
},
|
||||
"considerDonating": {
|
||||
"message": "ساعد في تمويل التطوير"
|
||||
},
|
||||
"hideDonationLink": {
|
||||
"message": "إخفاء رابط التبرع"
|
||||
},
|
||||
"darkModeOptionsPage": {
|
||||
"message": "الوضع الداكن في صفحة الخيارات"
|
||||
},
|
||||
"helpPageThanksForInstalling": {
|
||||
"message": "شكرا على تثبيت SponsorBlock."
|
||||
},
|
||||
"helpPageReviewOptions": {
|
||||
"message": "يرجى مراجعة الخيارات أدناه"
|
||||
},
|
||||
"helpPageHowSkippingWorks": {
|
||||
"message": "كيف يعمل التخطي"
|
||||
},
|
||||
"Submitting": {
|
||||
"message": "إرسال"
|
||||
},
|
||||
"Editing": {
|
||||
"message": "التعديل"
|
||||
},
|
||||
@@ -428,6 +557,9 @@
|
||||
"LearnMore": {
|
||||
"message": "معرفة المزيد"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "التفاصيل الكاملة"
|
||||
},
|
||||
"OpenCategoryWikiPage": {
|
||||
"message": "افتح صفحة ويكي هذه الفئة."
|
||||
},
|
||||
@@ -437,6 +569,15 @@
|
||||
"ContinueVoting": {
|
||||
"message": "متابعة التصويت"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "تصويت سلبي"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "تصويت إيجابي"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "إخفاء المقطع"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "استخدم عجلة الماوس أثناء التمرير فوق مربع التعديل لضبط الوقت بسرعة. يمكن استخدام مجموعات مفتاح ctrl أو Shift لضبط التغييرات."
|
||||
},
|
||||
@@ -484,5 +625,17 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "هذا اختصار يوتيوب مدمج. هل أنت متأكد أنك تريد استخدامه؟"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "الخادم التجريبي مفعّل!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "فتح صفحة الخيارات"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "إعادة تعيين الإعدادات الإفتراضية"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "هل أنت متأكد من أنك تريد إعادة تعيين كافة الإعدادات إلى حالتها الافتراضية؟ لا يمكنك التراجع عن ذلك."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,19 @@
|
||||
"Segments": {
|
||||
"message": "сегмента"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Сегменти"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Глави"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Изобразяване на сегментите като глави",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"showSegmentNameInChapterBar": {
|
||||
"message": "Показване на текущия сегмент до времето на клипа"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Одобряване на това предложение"
|
||||
},
|
||||
@@ -112,9 +125,15 @@
|
||||
"closePopup": {
|
||||
"message": "Затваряне на прозореца"
|
||||
},
|
||||
"closeIcon": {
|
||||
"message": "Икона - затваряне"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Изпращане на сегментите"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Сортиране на сегментите"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Наистина ли искате да изпратите това?"
|
||||
},
|
||||
@@ -164,6 +183,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "Копиране на публичния UserID"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Копиране на идентификатора на сегмента"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Елате в официалния Discord сървър, за да давате предложения!"
|
||||
},
|
||||
@@ -230,12 +252,21 @@
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Ако видеоклипът е нов и няма намерени сегменти, той ще продължи да извлича на всеки няколко минути, докато гледате."
|
||||
},
|
||||
"enableShowCategoryWithoutPermission": {
|
||||
"message": "Показване на категории в менюто за изпращане дори без разрешение за изпращане"
|
||||
},
|
||||
"whatShowCategoryWithoutPermission": {
|
||||
"message": "Някои категории изискват разрешение за изпращане поради минимални изисквания за репутация"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Отново покажете известието"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Показване на известие след пропускане на сегмент"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Показване на помощ за категорията"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Известия за пропускане в пълен размер"
|
||||
},
|
||||
@@ -283,6 +314,14 @@
|
||||
"message": "Изпращане на сегментите",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Следваща глава",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Предишна глава",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Изберете клавиш, като го натиснете, заедно с всички клавишни модификатори, които искате да използвате."
|
||||
},
|
||||
@@ -382,16 +421,16 @@
|
||||
"message": "Проверете status.sponsor.ajay.app за състоянието на сървъра."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Импортиране/експортиране на вашия UserID"
|
||||
"message": "Импортиране/експортиране на вашия личен UserID"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Това трябва да се пази в тайна. То е като парола и не трябва да се споделя с никого. Ако някой го има, може да се представи за вас. Ако търсите своя публичен потребителски идентификатор, щракнете върху иконата на клипборда в изскачащия прозорец."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Задаване на UserID"
|
||||
"message": "Задаване на личен UserID"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Внимание: Промяната на UserID е постоянна. Наистина ли искате да направите това? Не забравяйте да архивирате стария си за всеки случай."
|
||||
"message": "Внимание: Промяната на личния UserID е постоянна. Наистина ли искате да направите това? Не забравяйте да архивирате стария си за всеки случай."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Създаден от"
|
||||
@@ -436,6 +475,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Сегменти, по-кратки от зададената стойност, няма да бъдат пропускани или показвани в плейъра."
|
||||
},
|
||||
"enableManualSkipOnFullVideo": {
|
||||
"message": "Използване на ръчно пропускане, когато съществува етикет за целия видеоклип"
|
||||
},
|
||||
"whatManualSkipOnFullVideo": {
|
||||
"message": "За хора, които искат да гледат видеоклипа без прекъсване, ако е изцяло спонсориран или саморекламен."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Продължителност на известието за пропускане (секунди):"
|
||||
},
|
||||
@@ -485,7 +530,7 @@
|
||||
"message": "Зареждане от файл"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Това е цялата ви конфигурация в JSON. Това включва вашия userID, така че се уверете, че споделяте това разумно."
|
||||
"message": "Това е цялата ви конфигурация в JSON. Това включва вашия личен userID, така че се уверете, че споделяте това разумно."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Задаване на опции"
|
||||
@@ -539,18 +584,43 @@
|
||||
"message": "до",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Копирано!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Включване на преходи"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Възпроизвежда се, сякаш нищо не е пропуснато"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Спонсорство"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Платена промоция, платени препоръки и директни реклами. Не за самореклама или безплатни препоръки за каузи/създатели/уебсайтове/продукти, които се харесват на автора."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Платени промоции"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Не за дарения или персонализирани стоки"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Неплатена/Самореклама"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Подобно на „спонсорство“, но за безплатна реклама или самореклама. Това включва търговия със стоки, дарения или информация с кого каналът има сътрудничество."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Дарения, членства и персонализирани стоки"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Безплатни възгласи, които не допринасят за видеоклипа"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Не за продукти и стоки с корпоративен дизайн"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Ексклузивен достъп"
|
||||
},
|
||||
@@ -561,12 +631,24 @@
|
||||
"message": "Този видеоклип представя продукт, услуга или място, до което е получен безплатен или субсидиран достъп",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Целият видеоклип показва нещо, до което е получен безплатен или субсидиран достъп"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Напомняне за действие (абониране)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Когато има кратко напомняне да харесате, да се абонирате или да последвате канала по средата на съдържанието. Ако е дълго или за нещо специфично, трябва да е под „самореклама“."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Кратки напомняния за харесване, абониране или следване"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Включва непреки напомняния за коментиране"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Не за общо популяризиране, а само за призиви за действие"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Напомняне за взаимодействие"
|
||||
},
|
||||
@@ -579,27 +661,54 @@
|
||||
"category_intro_short": {
|
||||
"message": "Антракт"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Интервал без реално съдържание"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Не за преходи с информация"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Крайни картички/Заслуги"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Заслуги или когато се показват крайните карти на YouTube. Не за заключения с информация."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Без съдържание, дори ако крайните карти са на екрана"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Кратко резюме/Обобщение"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Бързо обобщение на предишни епизоди или преглед на това, което предстои по-късно в текущия видеоклип. Предназначен за монтирани заедно клипове, а не за речеви обобщения."
|
||||
"message": "Колекция от клипове, които показват какво предстои в този видеоклип или в други видеоклипове от поредицата, където цялата информация се повтаря по-късно във видеоклипа."
|
||||
},
|
||||
"category_preview_guideline1": {
|
||||
"message": "Клипове, които се появяват по-късно или в бъдещ видеоклип"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Резюме на предишен видеоклип"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Не за части, които добавят допълнително съдържание"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Пълнеж/Шеги"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Съпътстващи сцени, добавени само за пълнеж или хумор, които не са необходими за разбирането на основното съдържание на видеоклипа. Това не трябва да включва сегменти, предоставящи контекст или справочни данни."
|
||||
"message": "Съпътстващи сцени, добавени само за пълнеж или хумор, които не са необходими за разбирането на основното съдържание на видеоклипа. Това не трябва да включва сегменти, предоставящи контекст или справочни данни. Това е много агресивна категория, предназначена за случаите, когато не сте в настроение за „забавление“."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Пълнеж"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Съпътстващи сцени само за пълнеж или хумор"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Отвличане на вниманието, гафове, повторения"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Не за сцени, необходими за разбиране на темата"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Музика: Част без музика"
|
||||
},
|
||||
@@ -609,12 +718,42 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Без музика"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Секции, които не са в официалните издания"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Немузикална част от изпълнение на живо"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Акцент"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "Частта от видеото, която повечето хора търсят. Подобно на коментарите „Видеото започва от х“."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "Секция, която повечето хора търсят"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Може да помогне за прескачане на миналия контекст"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Може да прескочи до заглавието или миниатюрата"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Глава"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "Потребителски наименувани глави, описващи основните части на видеоклипа."
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "Без споменаване имена на марки на спонсори"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "Използване на по-големи глави за общи раздели"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "По-малките глави могат да бъдат поставени в по-големите"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Поточно предаване: Четене на съобщения/дарения"
|
||||
},
|
||||
@@ -645,6 +784,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "Показване на етикета"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Показване на глави"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Автоматично пропускане на всички сегменти, когато има сегмент без музика"
|
||||
},
|
||||
@@ -700,6 +842,10 @@
|
||||
"bracketEnd": {
|
||||
"message": "(Край)"
|
||||
},
|
||||
"End": {
|
||||
"message": "Край",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "скрито: глас против"
|
||||
},
|
||||
@@ -713,11 +859,8 @@
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "ID на канала все още не е зареден. Ако използвате вграден видеоклип, опитайте вместо това да използвате началната страница на YouTube. Това може да бъде причинено и от промени в оформлението на YouTube, ако мислите така, направете коментар тук:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Изглежда, че нещо блокира способността на SponsorBlock да получава видео данни. Моля, вижте https://github.com/ajayyy/SponsorBlock/issues/741 за повече информация."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Изглежда, че SponsorBlock не може да достигне API на YouTube. За да поправите това, приемете подканата за разрешение, която ще се появи след това, изчакайте няколко секунди и след това презаредете страницата."
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "Браузърът е отменил разрешението, необходимо за функциониране на Invidious и други сайтове на трети страни. Моля, щракнете върху бутона по-долу, за да активирате отново това разрешение."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Даване на разрешение"
|
||||
@@ -743,6 +886,13 @@
|
||||
"downvoteDescription": {
|
||||
"message": "Грешно/Неправилно време"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Неправилно"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Вредно",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Промяна на категорията"
|
||||
},
|
||||
@@ -778,6 +928,9 @@
|
||||
"categoryPillTitleText": {
|
||||
"message": "Целият видеоклип е обозначен с тази категория и е твърде тясно интегриран, за да може да се раздели"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "Едно от имената на вашите глави е подобно на категория. Вместо това трябва да използвате категории, когато е възможно."
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Отказ от всички бъдещи експерименти",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
@@ -786,11 +939,19 @@
|
||||
"message": "Скриване завинаги"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Получихте предупреждение и временно не можете да изпращате сегменти. Това означава, че забелязахме, че допускате някои често срещани грешки, които не са злонамерени. Моля, просто потвърдете, че разбирате правилата и ние ще премахнем предупреждението. Можете също да се присъедините към този чат от discord.gg/SponsorBlock или matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Забелязахме, че правите някои често срещани грешки, които не са злонамерени"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Гласуването е отхвърлено поради предупреждение. Щракнете, за да отворите чат и да го разрешите, или се върнете по-късно, когато имате време.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "Имате предупреждение"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "Имам въпрос"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Разбирам причината"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Грешка при опит за потвърждаване на предупреждение:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Дарение"
|
||||
@@ -864,6 +1025,9 @@
|
||||
"LearnMore": {
|
||||
"message": "Научете повече"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Пълна информация"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Гласуване против и създаване на локално копие, за да го изпратите отново"
|
||||
},
|
||||
@@ -879,6 +1043,21 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Това незабавно ще се приложи към вашите сегменти"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Не одобрение"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Одобрение"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Скриване на сегмента"
|
||||
},
|
||||
"skipSegment": {
|
||||
"message": "Пропускане на сегмент"
|
||||
},
|
||||
"playChapter": {
|
||||
"message": "Пускане на главата"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Използвайте колелото на мишката, докато държите курсора върху полето за редактиране, за да коригирате бързо времето. Комбинации с клавиша ctrl или shift могат да се използват за фина настройка на промените."
|
||||
},
|
||||
@@ -929,5 +1108,140 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Това е вградена клавишна комбинация в YouTube. Наистина ли искате да я използвате?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "Сървърът BETA е активиран!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Отваряне на страницата с опции"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Възстановяване на първоначалните настройки"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Наистина ли искате да възстановите всички настройки до стойностите им по подразбиране? Това не може да бъде отменено."
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Експортиране на сегменти"
|
||||
},
|
||||
"importSegments": {
|
||||
"message": "Импортиране на сегменти"
|
||||
},
|
||||
"Import": {
|
||||
"message": "Импортиране",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "Осребряването е успешно!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "Лицензионният ключ е невалиден"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "Скриване на опциите, които не са налични без допълнително заплащане"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Изберете държава"
|
||||
},
|
||||
"noDiscount": {
|
||||
"message": "Не отговаряте на условията за отстъпка"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "Връзка за отстъпка (вижте розовата цена)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Изберете вашата държава"
|
||||
},
|
||||
"alreadyDonated": {
|
||||
"message": "Ако сте дарили някаква сума преди, можете да осребрите безплатен достъп чрез имейл:",
|
||||
"description": "After the colon is an email address"
|
||||
},
|
||||
"cantAfford": {
|
||||
"message": "Ако не можете да си позволите да закупите лиценз, щракнете {тук}, за да видите дали отговаряте на условията за отстъпка",
|
||||
"description": "Keep the curly braces. The word 'here' should be translated as well."
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Влезте с Patreon"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "Осребряване"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Абонирайте се в Patreon"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "Еднократна покупка"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Въведете лицензния ключ"
|
||||
},
|
||||
"chaptersPage1": {
|
||||
"message": "Функцията за групови глави на SponsorBlock е достъпна само за хора, закупили лиценз, или за хора, на които е предоставен безплатен достъп поради техния минал принос"
|
||||
},
|
||||
"chaptersPage2": {
|
||||
"message": "Забележка: Разрешението за изпращане на глави все още се основава на изчислена репутация. Закупуването на лиценз ви позволява само да преглеждате глави, изпратени от други",
|
||||
"description": "On the chapters page for getting access to the paid chapters feature"
|
||||
},
|
||||
"chapterNewFeature": {
|
||||
"message": "Нова функция: Персонализирани глави с краудсорсинг. Това са секции с персонализирани имена във видеоклипове, които могат да бъдат подредени, за да станат все по-прецизни. Закупете лиценз, за да видите главите, изпратени в това видео, като например: ",
|
||||
"description": "After the comma, a list of chapters for this video will appear"
|
||||
},
|
||||
"chapterNewFeature2": {
|
||||
"message": "Нова функция: Персонализирани глави с краудсорсинг. Това са секции с персонализирани имена във видеоклипове, които могат да бъдат подредени, за да станат все по-прецизни. Имате безплатен достъп, активирайте в опциите."
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "В момента имате {0} в {1}",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "В момента нямате неизпратени сегменти",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "неизпратен сегмент",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "неизпратени сегменти",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "видеоклип",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "видеоклипа",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "Изчистване на всички сегменти",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "Наистина ли искате да изтриете всички неизпратени сегменти?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "Показване на сегментите",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "Скриване на сегментите",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "Идентификатор на видеоклипа",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "Брой сегменти",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "Действия",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "Споделяне като URL"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,16 @@
|
||||
"Segments": {
|
||||
"message": "অংশগুলো"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "অংশগুলো"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "অধ্যায়সমূহ"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "অংশসমূহকে অধ্যায়সমূহতে পরিণত করুন",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "এই জমাটিকে সমর্থন করুন"
|
||||
},
|
||||
@@ -115,6 +125,9 @@
|
||||
"SubmitTimes": {
|
||||
"message": "সেগমেন্ট জমা দিন"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "সংক্ষিপ্ত অংশ"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "আপনি কি এটি জমা দেওয়ার বিষয়ে নিশ্চিত?"
|
||||
},
|
||||
@@ -162,7 +175,10 @@
|
||||
"message": "ব্যবহারকারীর নাম দিন"
|
||||
},
|
||||
"copyPublicID": {
|
||||
"message": "পাবলিক ইউজারআইডি কপি করুন"
|
||||
"message": "পাবলিক ইউজার আইডি কপি করুন"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "অংশের আইডি কপি করুন"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "পরামর্শ এবং প্রতিক্রিয়া জানাতে অফিসিয়াল ডিসকর্ড সার্ভারে যোগ দিন!"
|
||||
@@ -211,5 +227,727 @@
|
||||
},
|
||||
"enableTrackDownvotes": {
|
||||
"message": "স্টোর সেগমেন্ট ডাউনভোট"
|
||||
},
|
||||
"whatTrackDownvotes": {
|
||||
"message": "যেকোন ডাউনভোটকৃত অংশ রিফ্রেশ করার পরেও অদৃশ্য থাকবে"
|
||||
},
|
||||
"trackDownvotesWarning": {
|
||||
"message": "সতর্কীকরণ: এটি বন্ধ করলে পূর্বে সংরক্ষিত সব ডাউনভোট মুছে যাবে"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "হ্যাশের প্রিফিক্স দিয়ে খুজুন "
|
||||
},
|
||||
"whatQueryByHashPrefix": {
|
||||
"message": "সার্ভার থেকে videoID দিয়ে অংশ অনুরোধ করার পরিবর্তে videoID এর হ্যাশ এর প্রথম ৪ অক্ষর পাঠানো হয়। এই সার্ভার সমতুল্য হ্যাশ এর সকল ভিডিও এর তথ্য ফেরত পাঠাবে।"
|
||||
},
|
||||
"enableRefetchWhenNotFound": {
|
||||
"message": "নতুন ভিডিওতে আবার অংশটি যোগার করুন"
|
||||
},
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "যদি ভিডিওটি নতুন হয়, এবং কোন অংশ পাওয়া না যায়, আপনার দেখার সময় কয়েক মিনিট পর পরই এটি তথ্য আনতে থাকবে।"
|
||||
},
|
||||
"enableShowCategoryWithoutPermission": {
|
||||
"message": "জমার অনুমতি ছাড়াই বিভাগসমূহকে জমা মেনুতে দেখান"
|
||||
},
|
||||
"whatShowCategoryWithoutPermission": {
|
||||
"message": "নূন্যতম খ্যাতি প্রয়োজনীয়তার কারণে কিছু বিভাগ জমা দিতে অনুমতি প্রয়োজন"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "নোটিশ পুনরায় প্রদর্শন করুন"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "একটি অংশ এড়ানোর পরে নোটিস প্রদর্শন করুন"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "বিভাগের সাহায্য দেখান"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "পূর্ণ আকারের স্কিপ নোটিস"
|
||||
},
|
||||
"noticeVisibilityMode1": {
|
||||
"message": "স্বয়ংক্রিয় স্কিপের জন্য ক্ষুদ্র আকারের স্কিপ নোটিস"
|
||||
},
|
||||
"noticeVisibilityMode2": {
|
||||
"message": "সব ক্ষুদ্র আকারের স্কিপ নোটিস"
|
||||
},
|
||||
"noticeVisibilityMode3": {
|
||||
"message": "স্বয়ংক্রিয় স্কিপের জন্য অনুজ্বল স্কিপ নোটিস"
|
||||
},
|
||||
"noticeVisibilityMode4": {
|
||||
"message": "সব অনুজ্বল স্কিপ নোটিস"
|
||||
},
|
||||
"longDescription": {
|
||||
"message": "SponsorBlock আপনাকে YouTube ভিডিওসমূহের স্পন্সর বার্তা, সূচনাবার্তা, সমাপ্তিবার্তা, সাবস্ক্রাইব করার জন্য স্মরণ করানো, এবং অন্যান্য বিবিধ বিরক্তিকর অংশ এড়িয়ে যেতে সাহায্য করে। SponsorBlock জনসংগৃহীত তথ্যসম্বলিত একটি ব্রাউজার এক্সটেনশন যা যে কাউকে একটি ভিডিওর স্পন্সর বার্তা এবং অন্যান্য অংশের শুরু এবং শেষ সময় সাবমিট করতে দেয়। যখন কেউ একজন এই তথ্য সাবমিট করে, এই এক্সটেনশন ব্যবহারকারী সবাই ঐ স্পন্সর বার্তা সম্বলিত অংশ এড়িয়ে যাবে। মিউজিক ভিডিও এর মিউজিক বহির্ভুত অংশও আপনি এড়িয়ে যেতে পারেন।",
|
||||
"description": "Full description of the extension on the store pages."
|
||||
},
|
||||
"website": {
|
||||
"message": "ওয়েবসাইট",
|
||||
"description": "Used on Firefox Store Page"
|
||||
},
|
||||
"sourceCode": {
|
||||
"message": "সোর্স কোড",
|
||||
"description": "Used on Firefox Store Page"
|
||||
},
|
||||
"noticeUpdate": {
|
||||
"message": "নোটিসটি আপগ্রেড করা হয়েছে!",
|
||||
"description": "The first line of the message displayed after the notice was upgraded."
|
||||
},
|
||||
"noticeUpdate2": {
|
||||
"message": "আপনি যদি এখনও এটি পছন্দ না করেন তবে কখনই দেখাবে না বোতামটি চাপুন।",
|
||||
"description": "The second line of the message displayed after the notice was upgraded."
|
||||
},
|
||||
"setSkipShortcut": {
|
||||
"message": "সেগমেন্ট এড়িয়ে যান",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"setStartSponsorShortcut": {
|
||||
"message": "সেগমেন্ট শুরু/শেষ",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "সেগমেন্ট জমা দিন",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "পরবর্তী অধ্যায়",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "পূর্ববর্তী অধ্যায়",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "এটি টাইপ করে একটি কী নির্বাচন করুন এবং আপনি যে কোনও সংশোধক কীগুলি ব্যবহার করতে চান তা চয়ন করুন।"
|
||||
},
|
||||
"0": {
|
||||
"message": "সংযোগের সময়সীমা অতিক্রান্ত। আপনার ইন্টারনেট সংযোগ যাচাই করুন. যদি আপনার ইন্টারনেট কাজ করে থাকে তবে সার্ভারটি সম্ভবত ওভারলোডেড বা ডাউন।"
|
||||
},
|
||||
"disableSkipping": {
|
||||
"message": "স্কিপিং চালু করা হয়েছে"
|
||||
},
|
||||
"enableSkipping": {
|
||||
"message": "স্কিপিং বন্ধ করা হয়েছে"
|
||||
},
|
||||
"yourWork": {
|
||||
"message": "আপনার কাজ",
|
||||
"description": "Used to describe the section that will show you the statistics from your submissions."
|
||||
},
|
||||
"502": {
|
||||
"message": "সার্ভারটি সম্ভবত ওভারলোডেড। কয়েক সেকেন্ডের মধ্যে আবার চেষ্টা করুন।"
|
||||
},
|
||||
"errorCode": {
|
||||
"message": "ইরোর কোডঃ "
|
||||
},
|
||||
"skip": {
|
||||
"message": "এড়িয়ে যান"
|
||||
},
|
||||
"mute": {
|
||||
"message": "নিঃশব্দ করুন"
|
||||
},
|
||||
"full": {
|
||||
"message": "সমপূর্ণ ভিডিও",
|
||||
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
|
||||
},
|
||||
"skip_category": {
|
||||
"message": "{0} এড়িয়ে যান?"
|
||||
},
|
||||
"mute_category": {
|
||||
"message": "{0} নিঃশব্দ করুন?"
|
||||
},
|
||||
"skip_to_category": {
|
||||
"message": "{0} তে চলে যান?",
|
||||
"description": "Used for skipping to things (Skip to Highlight)"
|
||||
},
|
||||
"skipped": {
|
||||
"message": "{0} এড়িয়ে যাওয়া হয়েছে",
|
||||
"description": "Example: Sponsor Skipped"
|
||||
},
|
||||
"muted": {
|
||||
"message": "{0} নিঃশব্দ করা হয়েছে",
|
||||
"description": "Example: Sponsor Muted"
|
||||
},
|
||||
"skipped_to_category": {
|
||||
"message": "{0} তে চলে যাওয়া হয়েছে",
|
||||
"description": "Used for skipping to things (Skipped to Highlight)"
|
||||
},
|
||||
"disableAutoSkip": {
|
||||
"message": "স্বয়ংক্রিয়ভাবে স্কিপ করা বন্ধ করুন"
|
||||
},
|
||||
"enableAutoSkip": {
|
||||
"message": "স্বয়ংক্রিয়ভাবে স্কিপ করা চালু করুন"
|
||||
},
|
||||
"audioNotification": {
|
||||
"message": "স্কিপের জন্য অডিও নোটিস"
|
||||
},
|
||||
"audioNotificationDescription": {
|
||||
"message": "যখনই কোনও অংশ এড়িয়ে যাওয়া হয় তখন একটি শব্দ বাজাবে। যদি বন্ধ করা হয় (বা অটো স্কিপ বন্ধ থাকে) তবে কোনও শব্দ বাজানো হবে না।"
|
||||
},
|
||||
"showTimeWithSkips": {
|
||||
"message": "স্কিপগুলি সরানো সহ সময় দেখান"
|
||||
},
|
||||
"showTimeWithSkipsDescription": {
|
||||
"message": "এই সময়টি সময় বারের নীচে বর্তমান সময়ের পাশের বন্ধনীগুলিতে উপস্থিত হয়। এটি মোট ভিডিও সময়কাল যে কোনও বিভাগকে বিয়োগ করে তা দেখায়। এর মধ্যে কেবল \"সময় বার এ দেখান\" হিসাবে চিহ্নিত বিভাগগুলি অন্তর্ভুক্ত রয়েছে।"
|
||||
},
|
||||
"youHaveSkipped": {
|
||||
"message": "আপনি এড়িয়েছেন "
|
||||
},
|
||||
"minLower": {
|
||||
"message": "মিনিট"
|
||||
},
|
||||
"minsLower": {
|
||||
"message": "মিনিট"
|
||||
},
|
||||
"hourLower": {
|
||||
"message": "ঘন্টা"
|
||||
},
|
||||
"hoursLower": {
|
||||
"message": "ঘন্টা"
|
||||
},
|
||||
"youHaveSavedTime": {
|
||||
"message": "আপনি মানুষকে রক্ষা করেছেন",
|
||||
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
|
||||
},
|
||||
"youHaveSavedTimeEnd": {
|
||||
"message": "তাদের জীবন থেকে",
|
||||
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
|
||||
},
|
||||
"statusReminder": {
|
||||
"message": "সার্ভারের স্ট্যাটাস এর জন্য status.sponsor.ajay.app দেখুন করুন।"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "এটি ব্যক্তিগত রাখা উচিত। এটি একটি পাসওয়ার্ডের মতো এবং কারও সাথে ভাগ করা উচিত নয়। কারও যদি এটি থাকে তবে তারা আপনার ছদ্মবেশ ধারণ করতে পারে। আপনি যদি আপনার পাবলিক ইউজারআইডি খুঁজছেন তবে পপআপে ক্লিপবোর্ড আইকনটি ক্লিক করুন।"
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "সৃষ্টি করেছেন"
|
||||
},
|
||||
"supportOtherSites": {
|
||||
"message": "এটি ৩য় পক্ষের ইউটইউব সাইট সাপোর্ট করে"
|
||||
},
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "তৃতীয় পক্ষের ইউটিউব ক্লায়েন্টদের সমর্থন করুন। সমর্থন সক্ষম করতে, আপনাকে অবশ্যই অতিরিক্ত অনুমতিগুলি গ্রহণ করতে হবে। এটি ক্রোম এবং অন্যান্য ক্রোমিয়াম ভেরিয়েন্টগুলিতে ছদ্মবেশে কাজ করে না।",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "সমর্থিত সাইটসমুহ:"
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Indivious সমর্থন সক্ষম করুন, অটোস্কিপ বন্ধ করুন, বোতামগুলি লুকান এবং আরও অনেক কিছু করুন।"
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "তৃতীয় পক্ষের ক্লায়েন্ট যুক্ত করুন"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "একটি কাস্টম উদাহরণ যুক্ত করুন। এটি অবশ্যই ডোমেন দিয়ে ফর্ম্যাট করা উচিত। উদাহরণ: invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "যোগ করুন"
|
||||
},
|
||||
"addInvidiousInstanceError": {
|
||||
"message": "এটি একটি অবৈধ ডোমেন। এটিতে কেবল ডোমেন অংশ অন্তর্ভুক্ত করা উচিত। উদাহরণ: invidious.ajay.app"
|
||||
},
|
||||
"resetInvidiousInstance": {
|
||||
"message": "Invidious Instance এর তালিকা পুনরায় সেট করুন"
|
||||
},
|
||||
"resetInvidiousInstanceAlert": {
|
||||
"message": "আপনি এখন Invidious Instance এর তালিকা পুনরায় আগের মত করে দিবেন"
|
||||
},
|
||||
"currentInstances": {
|
||||
"message": "বর্তমান Instance এর তালিকা"
|
||||
},
|
||||
"minDuration": {
|
||||
"message": "সর্বনিম্ন দৈর্ঘ্য (সেকেন্ড):"
|
||||
},
|
||||
"minDurationDescription": {
|
||||
"message": "সেট করা মান (সেকেন্ডে) থেকে ছোট সেগমেন্টগুলি প্লেয়ারে এড়িয়ে যাওয়া হবে বা দেখানো হবে না"
|
||||
},
|
||||
"enableManualSkipOnFullVideo": {
|
||||
"message": "সম্পূর্ণ ভিডিওর লেবেল যুক্ত থাকলে ম্যানুয়াল স্কিপ দেখান"
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "নোটিশ প্রদর্শন করার দৈর্ঘ্য (সেকেন্ড):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "স্কিপ নোটিশটি কমপক্ষে এত সেকেন্ডের জন্য স্ক্রিনে থাকবে। নিজে এড়িয়ে যাওয়ার জন্য, এটি দীর্ঘকাল ধরে দৃশ্যমান হতে পারে।"
|
||||
},
|
||||
"shortCheck": {
|
||||
"message": "নিম্নলিখিত সাবমিশনটি আপনার ন্যূনতম সময়কাল অপশনের চেয়ে কম। এর মানে এই হতে পারে যে এটি ইতিমধ্যে জমা দেওয়া হয়েছে, এবং এই অপশনের কারণে উপেক্ষা করা হচ্ছে। আপনি কি জমা দিতে চান?"
|
||||
},
|
||||
"liveOrPremiere": {
|
||||
"message": "একটি সক্রিয় লাইভস্ট্রিম বা প্রিমিয়ারে জমা দেওয়ার অনুমতি নেই। এটি শেষ না হওয়া পর্যন্ত অপেক্ষা করুন, তারপরে পৃষ্ঠাটি রিফ্রেশ করুন এবং অংশগুলি এখনও বৈধ কিনা তা যাচাই করুন।"
|
||||
},
|
||||
"showUploadButton": {
|
||||
"message": "আপলোড করার বোতামটি দেখান"
|
||||
},
|
||||
"customServerAddress": {
|
||||
"message": "স্পনসরব্লক সার্ভার ঠিকানা"
|
||||
},
|
||||
"customServerAddressDescription": {
|
||||
"message": "এ ঠিকানা SponsorBlock সার্ভারে সাথে যোগাযোগ করতে ব্যবহার করে।\nআপনার নিজের সার্ভার না থাকলে এটি পরিবর্তন করবেন না।"
|
||||
},
|
||||
"save": {
|
||||
"message": "সংরক্ষণ করুন"
|
||||
},
|
||||
"reset": {
|
||||
"message": "পুনরায় সেট করুন"
|
||||
},
|
||||
"customAddressError": {
|
||||
"message": "এই ঠিকানাটি সঠিক আকারে নেই। এটিতে http: // বা https: // শুরুতে এবং কোনও পিছনের স্ল্যাশ নেই তা নিশ্চিত করুন।"
|
||||
},
|
||||
"areYouSureReset": {
|
||||
"message": "আপনি কি নিশ্চিতভাবে এটি মুছে ফেলতে চান??"
|
||||
},
|
||||
"mobileUpdateInfo": {
|
||||
"message": "m.youtube.com এখন সাপর্টেড"
|
||||
},
|
||||
"exportOptions": {
|
||||
"message": "সব অপশন ইম্পোর্ট/এক্সপোর্ট করুন"
|
||||
},
|
||||
"exportOptionsCopy": {
|
||||
"message": "সম্পাদন/কপি করুন"
|
||||
},
|
||||
"exportOptionsDownload": {
|
||||
"message": "ফাইল এ সেভ করুন"
|
||||
},
|
||||
"exportOptionsUpload": {
|
||||
"message": "ফাইল থেকে লোড করুন"
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "অপশন সেট করুন"
|
||||
},
|
||||
"exportOptionsWarning": {
|
||||
"message": "সতর্কতা: অপশনগুলি পরিবর্তন করা চিরস্থায়ী এবং আপনার ইনস্টলটি ভাঙতে পারে। আপনি কি নিশ্চিত যে আপনি এটি করতে চান? আপনার পুরানোটিকে সাবধানতার সার্থে ব্যাকআপ করার বিষয়টি নিশ্চিত করুন।"
|
||||
},
|
||||
"incorrectlyFormattedOptions": {
|
||||
"message": "এই JSON সঠিকভাবে ফর্ম্যাট করা হয় নাই। আপনার অপশনগুলি পরিবর্তন করা হয়নি।"
|
||||
},
|
||||
"confirmNoticeTitle": {
|
||||
"message": "অংশ জমা দিন"
|
||||
},
|
||||
"submit": {
|
||||
"message": "জমা দিন"
|
||||
},
|
||||
"cancel": {
|
||||
"message": "বাতিল করুন"
|
||||
},
|
||||
"delete": {
|
||||
"message": "মুছে ফেলুন"
|
||||
},
|
||||
"preview": {
|
||||
"message": "প্রিভিউ দেখুন"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "জমাকৃত নয়"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "পরিদর্শন করুন"
|
||||
},
|
||||
"edit": {
|
||||
"message": "সম্পাদন করুন"
|
||||
},
|
||||
"copyDebugInformation": {
|
||||
"message": "ডিবাগ তথ্য ক্লিপবোর্ডে কপি করুন"
|
||||
},
|
||||
"copyDebugInformationFailed": {
|
||||
"message": "ক্লিপবোর্ডে কপি করা যায় নি"
|
||||
},
|
||||
"copyDebugInformationOptions": {
|
||||
"message": " কোনও বাগ উত্থাপন করার সময় / যখন কোনও ডেভেলপার এটির জন্য অনুরোধ করে তখন ক্লিপবোর্ডে তথ্য কপি করে। সংবেদনশীল তথ্য যেমন আপনার ইউজার আইডি, সাদা তালিকাভুক্ত চ্যানেল এবং কাস্টম সার্ভারের ঠিকানা সরানো হয়েছে। তবে এটিতে আপনার ব্যবহারকারীর, ব্রাউজার, অপারেটিং সিস্টেম এবং এক্সটেনশন সংস্করণ নম্বরের মতো তথ্য রয়েছে।"
|
||||
},
|
||||
"copyDebugInformationComplete": {
|
||||
"message": "ডিবাগের তথ্য ক্লিপ বোর্ডে কপি করা হয়েছে। আপনি কোনও তথ্য দিতে অনিচ্ছুক হলে তা নির্দ্বিধায় অপসারণ করতে পারেন। এটি একটি টেক্সট ফাইলে সংরক্ষণ করুন বা বাগ প্রতিবেদনে পেস্ট করুন।"
|
||||
},
|
||||
"keyAlreadyUsed": {
|
||||
"message": "এই শর্টকাটটি অন্য ক্রিয়ায় আবদ্ধ। দয়া করে একটি আলাদা নির্বাচন করুন।"
|
||||
},
|
||||
"to": {
|
||||
"message": "থেকে",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "স্পন্সর"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "পেইড প্রমোশন, পেইড রেফারেল এবং সরাসরি বিজ্ঞাপন। নিজের পছন্দসই কারণ/স্রষ্টা/ওয়েবসাইট/পণ্যগুলিতে স্ব-প্রচার বা বিনামূল্যে প্রচারের জন্য নয়।"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "বিনা অর্থপ্রাপ্ত/স্ব-প্রচার"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "অবৈতনিক বা স্ব -প্রচার ব্যতীত \"স্পনসর\" এর মতো। এর মধ্যে পণ্যদ্রব্য, অনুদান বা তারা কার সাথে সহযোগিতা করেছে সে সম্পর্কে তথ্য অন্তর্ভুক্ত রয়েছে।"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "এক্সক্লুসিভ অ্যাক্সেস"
|
||||
},
|
||||
"category_exclusive_access_description": {
|
||||
"message": "শুধুমাত্র পুরো ভিডিও লেবেল করার জন্য। যখন কোনও ভিডিও কোনও পণ্য, পরিষেবা বা অবস্থান প্রদর্শন করে যা তারা নিখরচায় বা ভর্তুকিযুক্ত অ্যাক্সেস পেয়েছে।"
|
||||
},
|
||||
"category_exclusive_access_pill": {
|
||||
"message": "এই ভিডিওটি এমন একটি পণ্য, পরিষেবা বা অবস্থান প্রদর্শন করে যা তারা নিখরচায় বা ভর্তুকিযুক্ত অ্যাক্সেস পেয়েছে",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "ইন্টারঅ্যাকশন রেমাইন্ডার (সাবস্ক্রাইব)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "যখন সামগ্রীর মাঝখানে তাদেরকে লাইক, সাবস্ক্রাইব বা ফলো করার জন্য একটি সংক্ষিপ্ত অনুস্মারক থাকে। যদি এটি দীর্ঘ বা নির্দিষ্ট কিছু সম্পর্কে হয় তবে পরিবর্তে এটি স্ব -প্রচারের অধীনে থাকা উচিত।"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "ইন্টারঅ্যাকশন রেমাইন্ডার"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "ইন্টারমিশন/ইন্ট্র অ্যানিমেশন"
|
||||
},
|
||||
"category_intro_description": {
|
||||
"message": "প্রকৃত বিষয়বস্তু ছাড়াই একটি বিরতি। বিরতি, স্থির ফ্রেম, অ্যানিমেশন পুনরাবৃত্তি হতে পারে। এটি তথ্যযুক্ত ট্রানজিশনের জন্য ব্যবহার করা উচিত নয়।"
|
||||
},
|
||||
"category_intro_short": {
|
||||
"message": "ইন্টারমিশন"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "এন্ডকার্ডস/ক্রেডিট"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "ক্রেডিট বা যখন ইউটিউব এন্ডকার্ডগুলি উপস্থিত হয়। তথ্য সহ সিদ্ধান্তের জন্য নয়।"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "প্রিভিউ/রিক্যাপ"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "ফিলার ট্যানজেন্ট/জোকস"
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "ফিলার"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "সঙ্গীত: অসঙ্গীত বিভাগ"
|
||||
},
|
||||
"category_music_offtopic_description": {
|
||||
"message": "শুধুমাত্র সঙ্গীত ভিডিওতে ব্যবহারের জন্য। এটি কেবলমাত্র সংগীত ভিডিওর সেসব বিভাগের জন্য ব্যবহার করা উচিত যা ইতিমধ্যে অন্য কোনও বিভাগ দ্বারা আচ্ছাদিত নয়।"
|
||||
},
|
||||
"category_music_offtopic_short": {
|
||||
"message": "মিউসিক নয়"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "গুরুত্বপূর্ণ"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "ভিডিওর অংশটি যা বেশিরভাগ লোকেরা খুঁজছেন। \"ভিডিওটি x এ শুরু হয়\" মন্তব্যের মতো।"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "লাইভস্ট্রিম: অনুদান/বার্তা পাঠ"
|
||||
},
|
||||
"category_livestream_messages_short": {
|
||||
"message": "বার্তা পাঠ"
|
||||
},
|
||||
"autoSkip": {
|
||||
"message": "স্বয়ংক্রিয়ভাবে এড়িয়ে যান"
|
||||
},
|
||||
"manualSkip": {
|
||||
"message": "নিজে এড়িয়ে যান"
|
||||
},
|
||||
"showOverlay": {
|
||||
"message": "সময় বার এ দেখান"
|
||||
},
|
||||
"disable": {
|
||||
"message": "নিষ্ক্রিয় করুন"
|
||||
},
|
||||
"autoSkip_POI": {
|
||||
"message": "স্বয়ংক্রিয় ভাবে শুরুতে স্কিপ করুন"
|
||||
},
|
||||
"manualSkip_POI": {
|
||||
"message": "ভিডিও লোড হলে জিজ্ঞেস করুন"
|
||||
},
|
||||
"showOverlay_POI": {
|
||||
"message": "সময় বার এ দেখান"
|
||||
},
|
||||
"showOverlay_full": {
|
||||
"message": "লেবেল দেখান"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "যখন অ-সংগীত বিভাগ থাকে তখন স্বয়ংক্রিয়ভাবে সমস্ত বিভাগগুলি এড়িয়ে যান"
|
||||
},
|
||||
"muteSegments": {
|
||||
"message": "স্কিপের পরিবর্তে অডিও নিঃশব্দ এমন বিভাগগুলিকে দেখানোর অনুমতি দিন"
|
||||
},
|
||||
"fullVideoSegments": {
|
||||
"message": "যখন কোনও ভিডিও সম্পূর্ণ বিজ্ঞাপন হয় তখন একটি আইকন দেখান",
|
||||
"description": "Referring to the category pill that is now shown on videos that are entirely sponsor or entirely selfpromo"
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "জমাকৃত নয় এমন অংশের রঙ",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
"message": "সময় বারের রঙ"
|
||||
},
|
||||
"category": {
|
||||
"message": "বিভাগ"
|
||||
},
|
||||
"skipOption": {
|
||||
"message": "সেগমেন্ট এড়িয়ে যাওয়ার অপশন",
|
||||
"description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
|
||||
},
|
||||
"enableTestingServer": {
|
||||
"message": "বিটা টেস্টিং প্রোগ্রামে যোগদান করুন"
|
||||
},
|
||||
"whatEnableTestingServer": {
|
||||
"message": "আপনার জমাকৃত অংশ এবং ভোটগুলি মূল সার্ভারের হিসাবে গণনা করা হবে না। কেবল পরীক্ষার জন্য এটি ব্যবহার করুন।"
|
||||
},
|
||||
"testingServerWarning": {
|
||||
"message": "সমস্ত জমাকৃত অংশ এবং ভোট টেস্ট সার্ভারের সাথে সংযোগ করার সময় মূল সার্ভারের হিসাবে গণনা করা হবেনা। আপনি যখন সত্যিকারের অংশ ও ভোট জমা দিতে চান তখন এটি বন্ধ করার বিষয়টি নিশ্চিত করুন।"
|
||||
},
|
||||
"bracketNow": {
|
||||
"message": "(এখন)"
|
||||
},
|
||||
"moreCategories": {
|
||||
"message": "আরো বিভাগ"
|
||||
},
|
||||
"chooseACategory": {
|
||||
"message": "বিভাগ নির্বাচন করুন"
|
||||
},
|
||||
"enableThisCategoryFirst": {
|
||||
"message": "\"{0}\" বিভাগের অন্তর্ভুক্ত অংশ জমা দিতে, আপনাকে এটি অপশন এ গিয়ে চালু করতে হবে। আপনাকে এখন অপশন এ পাঠানো হবে।",
|
||||
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
|
||||
},
|
||||
"poiOnlyOneSegment": {
|
||||
"message": "সতর্কতা: এই ধরণের বিভাগে একসময়ে সর্বাধিক একবার সক্রিয় থাকতে পারে। একাধিক জমা দেওয়া হলে যেকোন একটি এলোমেলোভাবে বেছে সেটি দেখানো হবে।"
|
||||
},
|
||||
"youMustSelectACategory": {
|
||||
"message": "আপনাকে প্রত্যেকটি অংশের জন্য কমপক্ষে একটি করে ক্যাটাগরি সিলেক্ট করতে হবে!"
|
||||
},
|
||||
"bracketEnd": {
|
||||
"message": "(শেষ)"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "লুক্কায়িতঃ ডাউনভোট"
|
||||
},
|
||||
"hiddenDueToDuration": {
|
||||
"message": "লুক্কায়িতঃ খুব ছোট"
|
||||
},
|
||||
"manuallyHidden": {
|
||||
"message": "নিজে লুক্কায়িত"
|
||||
},
|
||||
"channelDataNotFound": {
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "চ্যানেল আইডি এখনও লোড হয় না। আপনি যদি এম্বেডে থাকা ভিডিও দেখছেন তবে পরিবর্তে ইউটিউব হোমপেজটি ব্যবহার করার চেষ্টা করুন। এটি ইউটিউব লেআউটে পরিবর্তনের কারণেও হতে পারে, আপনার যদি মনেহয় এটি লেআউটে পরিবর্তনের কারণে হয়েছে তাহলে এখানে একটি মন্তব্য করুনঃ "
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "অনুমতি একসেপ্ট করুন"
|
||||
},
|
||||
"permissionRequestSuccess": {
|
||||
"message": "অনুমতির অনুরোধ সফল হয়েছে!"
|
||||
},
|
||||
"permissionRequestFailed": {
|
||||
"message": "অনুমতির অনুরোধ ব্যর্থ হয়েছে, আপনি কি ডেনাই ক্লিক করেছেন?"
|
||||
},
|
||||
"adblockerIssueWhitelist": {
|
||||
"message": "আপনি যদি এটি সমাধান করতে অক্ষম হন তবে সেটিংস এ গিয়ে 'এড়িয়ে যাওয়ার আগে চ্যানেল চেক করুন' বন্ধ করুন, কারণ স্পনসরব্লক এই ভিডিওটির জন্য চ্যানেলের তথ্য পুনরুদ্ধার করতে অক্ষম"
|
||||
},
|
||||
"forceChannelCheck": {
|
||||
"message": "এড়িয়ে যাওয়ার আগে চ্যানেল চেক করুন"
|
||||
},
|
||||
"whatForceChannelCheck": {
|
||||
"message": "সাধারণত, এটি চ্যানেলটি কী তা জানার আগেই এটি এখনই বিভাগগুলি এড়িয়ে যাবে। সাধারণত, ভিডিওর শুরুতে কিছু বিভাগগুলি সাদা তালিকাভুক্ত চ্যানেলগুলিতে এড়িয়ে যেতে পারে। এই বিকল্পটি সক্ষম করা এটিকে প্রতিরোধ করবে তবে চ্যানেলআইডি পেতে কিছুটা সময় নিতে পারে বলে সমস্ত এড়িয়ে যাওয়া কিছুটা বিলম্বিত করে। আপনার যদি দ্রুত ইন্টারনেট থাকে তবে এই বিলম্বটি অদৃশ্য হতে পারে।"
|
||||
},
|
||||
"forceChannelCheckPopup": {
|
||||
"message": "\"এড়িয়ে যাওয়ার আগে চ্যানেল চেক করুন\" সেটিংস টি চালু করার বিষয়টি বিবেচনা করুন"
|
||||
},
|
||||
"downvoteDescription": {
|
||||
"message": "সময় ভুল দেওয়া হয়েছে"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "বিভাগ পরিবর্তন করুন"
|
||||
},
|
||||
"nonMusicCategoryOnMusic": {
|
||||
"message": "এই ভিডিওটি সংগীত হিসাবে শ্রেণীবদ্ধ করা হয়েছে। আপনি কি নিশ্চিত যে এটি একটি স্পনসর আছে? যদি এটি আসলে একটি \"অ-সংগীত বিভাগ\" হয় তবে এক্সটেনশন এর অপশন এ যান এবং এই বিভাগটি চালু করুন। তারপরে, আপনি এই বিভাগটিকে স্পনসর পরিবর্তে \"অ-সংগীত\" হিসাবে জমা দিতে পারেন। আপনি বিভ্রান্ত হলে দয়া করে নিয়মকানুনপড়ুন।"
|
||||
},
|
||||
"multipleSegments": {
|
||||
"message": "অনেকগুলো অংশ"
|
||||
},
|
||||
"guidelines": {
|
||||
"message": "নিয়মকানুন"
|
||||
},
|
||||
"readTheGuidelines": {
|
||||
"message": "নিয়মকানুন পড়ুন!!",
|
||||
"description": "Show the first time they submit or if they are \"high risk\""
|
||||
},
|
||||
"categoryUpdate1": {
|
||||
"message": "বিভাগ ফিচার এসেছে!"
|
||||
},
|
||||
"categoryUpdate2": {
|
||||
"message": "ইন্ট্রোস, আউট্রোস, মার্চ ইত্যাদি এড়িয়ে যাওয়ার জন্য অপশন খুলুন।"
|
||||
},
|
||||
"help": {
|
||||
"message": "সাহায্য"
|
||||
},
|
||||
"GotIt": {
|
||||
"message": "বুঝেছি",
|
||||
"description": "Used as the button to dismiss a tooltip"
|
||||
},
|
||||
"fullVideoTooltipWarning": {
|
||||
"message": "এই বিভাগটি বিশাল। যদি পুরো ভিডিওটি একটি বিষয় নিয়ে হয় তবে \"Skip\" থেকে \"Full Video\" এ পরিবর্তন করুন। আরও তথ্যের জন্য নিয়মকানুন দেখুন।"
|
||||
},
|
||||
"categoryPillTitleText": {
|
||||
"message": "এই পুরো ভিডিওটি এই বিভাগ হিসাবে লেবেলযুক্ত এবং পৃথক করা সম্ভব না কারন এটি খুব ঘন ঘন সংযুক্ত করা হয়েছে"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "ভবিষ্যতের সমস্ত পরীক্ষা-নিরীক্ষা পাওয়া থেকে বিরত থাকুন",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
},
|
||||
"hideForever": {
|
||||
"message": "চিরকালের জন্য এই বিষয়বস্তু লুকান"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "অনুদান"
|
||||
},
|
||||
"considerDonating": {
|
||||
"message": "অনুদানের মাধ্যমে ভবিষ্যতেে এর উন্নয়নের কাজে সাহায্য হবে"
|
||||
},
|
||||
"hideDonationLink": {
|
||||
"message": "অনুদানের লিঙ্ক লুকান"
|
||||
},
|
||||
"darkModeOptionsPage": {
|
||||
"message": "অপশন পেজে ডার্ক মোড "
|
||||
},
|
||||
"helpPageThanksForInstalling": {
|
||||
"message": "স্পনসরব্লক ইনস্টল করার জন্য আপনাকে ধন্যবাদ."
|
||||
},
|
||||
"helpPageReviewOptions": {
|
||||
"message": "নীচের অপশনগুলি পর্যালোচনা করুন"
|
||||
},
|
||||
"helpPageFeatureDisclaimer": {
|
||||
"message": "অনেকগুলি বৈশিষ্ট্য সাধারণত অক্ষম থাকে। আপনি যদি ইন্ট্রোস, আউট্রোস এড়িয়ে যেতে চান, Invidious ইত্যাদি ব্যবহার করতে চান তবে সেগুলি নীচে সক্ষম করুন। আপনি UI উপাদানগুলিও লুকাতে/দেখাতে পারেন।"
|
||||
},
|
||||
"helpPageHowSkippingWorks": {
|
||||
"message": "এটি কীভাবে কাজ করে"
|
||||
},
|
||||
"helpPageHowSkippingWorks1": {
|
||||
"message": "ভিডিও এর অংশ ডাটাবেসে পাওয়া গেলে সেগুলি স্বয়ংক্রিয়ভাবে এড়িয়ে যাবে। তারা কীরকম তা পূর্বরূপ দেখতেআপনি এক্সটেনশন আইকনে ক্লিক করে পপআপটি খুলতে পারেন।"
|
||||
},
|
||||
"helpPageHowSkippingWorks2": {
|
||||
"message": "আপনি যখনই কোনও বিভাগ এড়িয়ে যান, আপনি একটা নোটিস পাবেন। সময়টি যদি ভুল বলে মনে হয় তবে ডাউনভোটে ক্লিক করে ভোট দিন! আপনি পপআপ থেকেও ভোট দিতে পারেন।"
|
||||
},
|
||||
"Submitting": {
|
||||
"message": "নতুন অংশ জমা দেওয়া"
|
||||
},
|
||||
"helpPageSubmitting1": {
|
||||
"message": "জমা দেওয়া যায় পপআপে \"অংশ এখন শুরু হয়\" বোতামটি টিপ মেরে বা প্লেয়ারের বোতামগুলি সহ ভিডিও প্লেয়ারে টিপ মেরে করে।"
|
||||
},
|
||||
"helpPageSubmitting2": {
|
||||
"message": "প্লে বোতামটি ক্লিক করা একটি বিভাগের শুরু নির্দেশ করে এবং স্টপ আইকনটি ক্লিক করা শেষটি নির্দেশ করে। আপনি জমা দেওয়ার আগে একাধিক স্পনসর প্রস্তুত করতে পারেন। আপলোড বোতামটি ক্লিক করা জমা দেওয়া হবে। আবর্জনায় ক্লিক করে বাদ দিতে পারেন এটি।"
|
||||
},
|
||||
"Editing": {
|
||||
"message": "সম্পাদন করা"
|
||||
},
|
||||
"helpPageEditing1": {
|
||||
"message": "যদি আপনি ভুল করে বসেন তবে আপনি উপড়ের তীর বোতামটি ক্লিক করার পরে আপনার বিভাগগুলি সম্পাদনা বা মুছতে পারেন।"
|
||||
},
|
||||
"helpPageTooSlow": {
|
||||
"message": "গতি অত্যন্ত ধীর।"
|
||||
},
|
||||
"helpPageTooSlow1": {
|
||||
"message": "আপনি যদি ব্যবহার করতে চান তাইলে হটকি রয়েছে। স্পনসর বিভাগের শুরু/শেষ নির্দেশ করতে সেমিকোলন কী টিপুন এবং জমা দেওয়ার জন্য অ্যাপোস্ট্রোফে ক্লিক করুন। এগুলি পরিবর্তন করা যেতে পারে। আপনি যদি QWERTY ব্যবহার না করেন তবে আপনার সম্ভবত কীবাইন্ডিং পরিবর্তন করা উচিত।"
|
||||
},
|
||||
"helpPageCopyOfDatabase": {
|
||||
"message": "আমি কি ডাটাবেসের একটি অনুলিপি পেতে পারি? আপনি হারিয়ে গেলে হলে কি হবে?"
|
||||
},
|
||||
"helpPageCopyOfDatabase1": {
|
||||
"message": "ডাটাবেসটি সবার জন্য প্রকাশিত এবং পাওয়া যাবে এখানেঃ "
|
||||
},
|
||||
"helpPageCopyOfDatabase2": {
|
||||
"message": "এটির সোর্স কোড অবাধে উপলব্ধ। সুতরাং, যদি আমার কিছু ঘটেও যায় তবে আপনার জমাকৃত অংশগুলি হারিয়ে যাবে না।"
|
||||
},
|
||||
"helpPageNews": {
|
||||
"message": "খবর এবং এটি কীভাবে তৈরি হয়"
|
||||
},
|
||||
"helpPageSourceCode": {
|
||||
"message": "আমি সোর্স কোডটি কোথায় পেতে পারি?"
|
||||
},
|
||||
"Credits": {
|
||||
"message": "কৃতিত্ব"
|
||||
},
|
||||
"LearnMore": {
|
||||
"message": "আরও জানুন"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "ডাউনভোট করে আপনার জন্য পুনরায় জমা দেওয়ার জন্য একটি স্থানীয় অনুলিপি তৈরি করে"
|
||||
},
|
||||
"OpenCategoryWikiPage": {
|
||||
"message": "এই বিভাগের উইকি পাতা খুলুন."
|
||||
},
|
||||
"CopyAndDownvote": {
|
||||
"message": "কপি এবং ডাউনভোট"
|
||||
},
|
||||
"ContinueVoting": {
|
||||
"message": "ভোট করা চালিয়ে যান"
|
||||
},
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "এটি তাৎক্ষনিকভাবে আপনার অংশে দেওয়া হবে"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "ডাউনভোট"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "আপভোট"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "অংশ আড়াল করুন"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "দ্রুত সময়টি পরিবর্কতন করতে সম্পাদনা বাক্সে ঘুরে দেখার সময় আপনার মাউস এর হুইয়িলটি ব্যবহার করুন। কন্ট্রল বা শিফট কী এর সংমিশ্রণগুলি পরিবর্তনগুলি আরো নিখুতভাবে টিউন করতে ব্যবহার করা যেতে পারে।"
|
||||
},
|
||||
"categoryPillNewFeature": {
|
||||
"message": "নতুন! দেখুন যখন কোনও ভিডিও সম্পূর্ণ স্পনসর করা বা স্ব-প্রচার হয়"
|
||||
},
|
||||
"dayAbbreviation": {
|
||||
"message": " দিন",
|
||||
"description": "100d"
|
||||
},
|
||||
"hourAbbreviation": {
|
||||
"message": " ঘণ্টা",
|
||||
"description": "100h"
|
||||
},
|
||||
"optionsTabBehavior": {
|
||||
"message": "আচরণ",
|
||||
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabInterface": {
|
||||
"message": "ইন্টারফেস",
|
||||
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabKeyBinds": {
|
||||
"message": "কীবোর্ড শর্টকাট",
|
||||
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabBackup": {
|
||||
"message": "ব্যাকআপ এবং পুনঃস্থাপন",
|
||||
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabAdvanced": {
|
||||
"message": "বিবিধ",
|
||||
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"noticeVisibilityLabel": {
|
||||
"message": "নোটিশ প্রদর্শন করা বন্ধ করুন",
|
||||
"description": "Option label"
|
||||
},
|
||||
"unbind": {
|
||||
"message": "বাদ দিন",
|
||||
"description": "Unbind keyboard shortcut"
|
||||
},
|
||||
"notSet": {
|
||||
"message": "নির্ধারণ করা হয়নি"
|
||||
},
|
||||
"change": {
|
||||
"message": "বদল করুন"
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "এটি একটি অন্তর্নির্মিত ইউটিউব শর্টকাট। আপনি কি নিশ্চিত যে আপনি এটি ব্যবহার করতে চান?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "বেটা সার্ভার চালু করা হয়েছে!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "বিকল্প পাতা খুলুন"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
"message": "Deixa de silenciar"
|
||||
},
|
||||
"paused": {
|
||||
"message": "Pausat"
|
||||
"message": "En pausa"
|
||||
},
|
||||
"manualPaused": {
|
||||
"message": "S'ha aturat el temporitzador"
|
||||
@@ -217,10 +217,10 @@
|
||||
"statusReminder": {
|
||||
"message": "Visiteu status.sponsor.ajay.app per conèixer l'estat del servidor."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Importa/exporta la vostra identificació d'usuari"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Això hauria de romandre privat: és semblant a una contrasenya i no s'hauria de compartir amb cap persona. Si algú hi té accés, poden suplantar-vos. Si esteu cercant el vostre identificador d'usuari públic, premeu la icona del portanotes a la finestra."
|
||||
},
|
||||
"help": {
|
||||
"message": "Ajuda"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,19 @@
|
||||
"Segments": {
|
||||
"message": "segmentů"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Segmenty"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Kapitoly"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Zobrazit segmenty jako kapitoly",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"showSegmentNameInChapterBar": {
|
||||
"message": "Zobrazit aktuální segment vedle času videa"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Hlasovat pro tento příspěvek"
|
||||
},
|
||||
@@ -112,9 +125,15 @@
|
||||
"closePopup": {
|
||||
"message": "Zavřít vyskakovací okno"
|
||||
},
|
||||
"closeIcon": {
|
||||
"message": "Ikona pro zavření"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Odeslat segmenty"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Seřadit segmenty"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Opravdu to chcete odeslat?"
|
||||
},
|
||||
@@ -164,6 +183,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "Kopírovat veřejné uživatelské ID"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Zkopírovat ID segmentu"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Připojte se k oficiálnímu Discord serveru k podání návrhů a zpětné vazby!"
|
||||
},
|
||||
@@ -230,12 +252,21 @@
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Pokud je video nové a nejsou nalezeny žádné segmenty, bude rozšíření každých několik minut refetchovat data, zatímco sledujete video."
|
||||
},
|
||||
"enableShowCategoryWithoutPermission": {
|
||||
"message": "Zobrazit kategorie v nabídce odeslání i bez oprávnění k odeslání"
|
||||
},
|
||||
"whatShowCategoryWithoutPermission": {
|
||||
"message": "Některé kategorie vyžadují oprávnění k odeslání z důvodu minimálních požadavků na reputaci"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Znovu zobrazit upozornění"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Zobrazit upozornění po přeskočení segmentu"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Zobrazit nápovědu ke kategorii"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Oznámení o přeskočení v plné velikosti"
|
||||
},
|
||||
@@ -283,6 +314,14 @@
|
||||
"message": "Odeslat segmenty",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Další kapitola",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Předchozí kapitola",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Vyberte klávesu jejím zadáním a zvolte si modifikátory, které chcete použít."
|
||||
},
|
||||
@@ -382,16 +421,16 @@
|
||||
"message": "Podívejte se na status.sponsor.ajay.app pro stav serverů."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Importovat / exportovat vaše UserID"
|
||||
"message": "Importovat / exportovat vaše soukromé UserID"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Toto by mělo být ponecháno v soukromí. Je to jako heslo a nemělo by být s nikým sdíleno. Pokud to někdo má, může se za vás vydávat. Pokud hledáte vaše veřejné uživatelské ID, klikněte na ikonu schránky ve vyskakovacím okně."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Nastavit UserID"
|
||||
"message": "Nastavit soukromé UserID"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Varování: Změna UserID je nevratná. Opravdu to chcete udělat? Pro jistotu si zálohujte vaše staré ID, jen kdyby něco."
|
||||
"message": "Varování: Změna soukromého UserID je nevratná. Opravdu to chcete udělat? Pro jistotu si zálohujte vaše staré ID, jen kdyby něco."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Vytvořil"
|
||||
@@ -436,6 +475,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Segmenty kratší než nastavená hodnota nebudou přeskočeny nebo zobrazeny v přehrávači."
|
||||
},
|
||||
"enableManualSkipOnFullVideo": {
|
||||
"message": "Použít manuální přeskočení, pokud existuje štítek na celém videu"
|
||||
},
|
||||
"whatManualSkipOnFullVideo": {
|
||||
"message": "Pro lidi, kteří chtějí sledovat video bez přerušení, pokud je celé sponzorované nebo sebepropagace."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Délka trvání oznámení o přeskočení (v sekundách):"
|
||||
},
|
||||
@@ -485,7 +530,7 @@
|
||||
"message": "Načíst ze souboru"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Toto je celá vaše konfigurace ve formátu JSON. Zahrnuje vaše userID, takže s ní nakládejte opatrně."
|
||||
"message": "Toto je celá vaše konfigurace ve formátu JSON. Zahrnuje vaše soukromé UserID, takže s ní nakládejte opatrně."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Nastavit možnosti"
|
||||
@@ -539,17 +584,42 @@
|
||||
"message": "do",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Zkopírováno!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Zahrnout přechody segmentů"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Hraje, jako kdyby nebylo nic přeskočeno"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Sponzor"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Placená propagace, placená doporučení a přímé reklamy. Nezahrnuje sebepropagaci nebo shout-outy uživatelů/tvůrců/webů/produktů, které se tvůrcovi líbí."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Placené propagace"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Není pro dary nebo vlastní merch"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Neplacená / vlastní propagace"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Podobně jako \"sponzor\" s výjimkou neplacených nebo propagačních akcí. Zahrnuje sekce o zboží, dary nebo informace o tom, s kým spolupracují."
|
||||
"message": "Podobné jako „sponzor“, ale pro neplacenou nebo vlastní propagaci. Zahrnuje sekce o zboží, darech nebo informace o tom, s kým spolupracují."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Dary, členství a vlastní merch"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Bezplatné propagace, které nepřidávají nic k videu"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Není pro podnikové produkty a merch"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Exkluzivní přístup"
|
||||
@@ -561,11 +631,23 @@
|
||||
"message": "V tomto videu je zobrazován produkt, služba nebo místo, které autor obdržel zdarma nebo s bezplatným přístupem",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Celé video zobrazuje místo, kam autor obdržel bezplatný nebo dotovaný přístup"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Připomenutí interakce (odběr)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Při krátké připomínce dát like, odběr nebo sledování tvůrce uprostřed obsahu. Pokud je segment dlouhý nebo zahrnuje něco specifického, mělo by být místo toho zařazeno do vlastní propagace."
|
||||
"message": "Krátká připomínka, abyste dali like, odběr nebo jste sledovali tvůrce uprostřed obsahu. Pokud je segment dlouhý nebo zahrnuje něco specifického, mělo by být místo toho zařazeno do vlastní propagace."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Krátká připomenutí pro lajknutí, odebírání či sledování"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Zahrnuje nepřímé připomenutí komentování"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Není pro obecnou propagaci, pouze výzvy k akci"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Připomenutí interakce"
|
||||
@@ -579,42 +661,99 @@
|
||||
"category_intro_short": {
|
||||
"message": "Přestávka"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Část bez skutečného obsahu"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Není pro přechody s informacemi"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Koncové karty / titulky"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Titulky nebo když se objeví konečné karty YouTube. Není pro závěry s informacemi."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Nezahrnuje obsah, i když jsou na obrazovce závěrečné karty"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Náhled / shrnutí"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Rychlé shrnutí předchozích epizod nebo náhled toho, co se objeví v aktuálním videu. Myšleno pro upravené sloučené klipy, ne pro mluvená shrnutí."
|
||||
"message": "Sbírka klipů, které zobrazují, co se objeví v tomto videu nebo v jiných videích v sérii, kdy jsou všechny informace zopakovány později ve videu."
|
||||
},
|
||||
"category_preview_guideline1": {
|
||||
"message": "Klipy které se objeví později nebo v budoucím videu"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Shrnutí předchozího videa"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Není pro sekce, které přidávají další obsah"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Výplň / vtipy"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Výplňové scény přidané jen jako přídavek nebo humor, které nejsou vyžadovány pro pochopení hlavního obsahu videa. Toto by nemělo zahrnovat segmenty poskytující kontext nebo podrobnosti na pozadí."
|
||||
"message": "Scény přidané pouze jako výplň nebo humor, které nejsou nutné k pochopení hlavního obsahu videa. Kategorie by neměla zahrnovat segmenty poskytující podrobnosti o kontextu nebo pozadí. Jedná se o velmi agresivní kategorii myšlenou pro chvíle, kdy nemáte náladu na „zábavu“."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Výplň"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Tangenciální scény pouze pro výplň nebo humor"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Rozptýlení, nepovedené scénky, opakování"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Není pro scény vyžadované k pochopení tématu"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Hudba: nehudební sekce"
|
||||
},
|
||||
"category_music_offtopic_description": {
|
||||
"message": "Použijte pouze u hudebních videí. Mělo by to být použito pouze pro části hudebních videí, které nepokrývá jiná kategorie."
|
||||
"message": "Použijte pouze u hudebních videí. Mělo by být použito pouze pro části hudebních videí, které nepokrývá jiná kategorie."
|
||||
},
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Jiné než hudba"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Sekce, které nejsou v oficiálních vydáních"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Nehudební sekce na živém vystoupení"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Zvýraznění"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "Část videa, kterou hledá většina lidí. Podobné komentářům typu \"Video začíná v x\"."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "Sekce, kterou hledá většina lidí"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Může pomoci přeskočit předchozí kontext"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Může přeskočit k názvu nebo náhledu"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Kapitola"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "Vlastní názvy kapitol popisující hlavní části videa."
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "Nezmiňujte názvy značek sponzorů"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "Používejte větší kapitoly pro obecné části"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "Menší kapitoly mohou být umístěny uvnitř větších"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Livestream: Čtení donatů / zpráv"
|
||||
},
|
||||
@@ -645,6 +784,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "Zobrazit štítek"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Zobrazit kapitoly"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Automaticky přeskočit všechny segmenty, když je ve videu nehudební segment"
|
||||
},
|
||||
@@ -700,6 +842,10 @@
|
||||
"bracketEnd": {
|
||||
"message": "(Konec)"
|
||||
},
|
||||
"End": {
|
||||
"message": "Konec",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "skryté: protihlas"
|
||||
},
|
||||
@@ -713,11 +859,8 @@
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "ID kanálu ještě není načteno. Pokud používáte vložené video, zkuste místo toho použít domovskou stránku YouTube. Toto může být také způsobeno změnami v rozložení YouTube, pokud si myslíte, že tomu tak bude, zanechte zde komentář:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Vypadá to, že něco blokuje schopnost SponsorBlocku získat údaje o videu. Pro více informací prosím navštivte https://github.com/ajayyy/SponsorBlock/issues/741."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Vypadá to, že se SponsorBlock nemůže připojit k YouTube API. Pro opravení tohoto problému přijměte žádost o oprávnění, která se dále objeví, a poté znovu načtěte stránku."
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "Prohlížeč odvolal oprávnění potřebné k funkci na Invidious a dalších webech třetích stran. Klikněte prosím na tlačítko níže pro opětovnou aktivaci tohoto oprávnění."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Přijmout oprávnění"
|
||||
@@ -743,6 +886,13 @@
|
||||
"downvoteDescription": {
|
||||
"message": "Nesprávné / špatné časování"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Nesprávné"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Škodlivé",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Změnit kategorii"
|
||||
},
|
||||
@@ -778,6 +928,9 @@
|
||||
"categoryPillTitleText": {
|
||||
"message": "Toto celé video je označeno jako tato kategorie a je příliš integrované na to, aby se dalo rozdělit"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "Jeden z názvů kapitol je podobný kategorii. Pokud je to možné, raději používejte kategorie."
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Odhlásit se ze všech budoucích experimentů",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
@@ -786,11 +939,19 @@
|
||||
"message": "Skrýt napořád"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Dostali jste varování a nemůžete dočasně přidávat segmenty. To znamená, že jsme si všimli, že děláte běžné chyby, které nejsou škodlivé, stačí potvrdit přečtení pravidel a odebereme varování. Tají se můžete připojit do tohoto chatu pomocí discord.gg/SponsorBlock nebo matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Všimli jsme si, že děláte některé běžné chyby, které nejsou úmyslně zlé"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Hlas zamítnut kvůli varování. Klikněte pro otevření chatu pro vyřešení, nebo se vraťte později, až budete mít čas.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "Dostali jste varování"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "Mám otázku"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Chápu důvod"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Chyba při pokusu o potvrzení varování:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Přispět"
|
||||
@@ -864,6 +1025,9 @@
|
||||
"LearnMore": {
|
||||
"message": "Zjistit více"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Úplné podrobnosti"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Zahlasuje proti a vytvoří pro vás lokální kopii pro opětovné odeslání"
|
||||
},
|
||||
@@ -879,6 +1043,21 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Toto bude okamžitě platit pro vaše segmenty"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Hlas proti"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Hlas pro"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Skrýt segment"
|
||||
},
|
||||
"skipSegment": {
|
||||
"message": "Přeskočit segment"
|
||||
},
|
||||
"playChapter": {
|
||||
"message": "Přehrát kapitolu"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Použijte kolečko myši při přechodu přes editační okno pro rychlou úpravu času. Kombinace kláves Ctrl nebo Shift mohou být použity k doladění změn."
|
||||
},
|
||||
@@ -929,5 +1108,140 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Toto je vestavěná zkratka YouTube. Opravdu ji chcete použít?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "BETA server je povolen!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Otevřít stránku s možnostmi"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Obnovit nastavení na výchozí hodnoty"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Opravdu chcete obnovit všechna nastavení na jejich výchozí hodnoty? Tato akce je nevratná."
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Exportovat segmenty"
|
||||
},
|
||||
"importSegments": {
|
||||
"message": "Importovat segmenty"
|
||||
},
|
||||
"Import": {
|
||||
"message": "Importovat",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "Uplatnění bylo úspěšné!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "Licenční klíč není platný"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "Skrýt možnosti nedostupné bez další platby"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Vyberte zemi"
|
||||
},
|
||||
"noDiscount": {
|
||||
"message": "Nemáte nárok na slevu"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "Slevový odkaz (viz růžová cena)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Vyberte vaši zemi"
|
||||
},
|
||||
"alreadyDonated": {
|
||||
"message": "Pokud jste již přispěli jakoukoli částkou, můžete získat bezplatný přístup odesláním e-mailu na:",
|
||||
"description": "After the colon is an email address"
|
||||
},
|
||||
"cantAfford": {
|
||||
"message": "Pokud si nemůžete dovolit zakoupení licence, klikněte {sem}, abyste zjistili, zda máte nárok na slevu",
|
||||
"description": "Keep the curly braces. The word 'here' should be translated as well."
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Přihlásit se pomocí Patreonu"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "Uplatnit"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Odebírat na Patreonu"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "Jednorázový nákup"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Zadejte licenční klíč"
|
||||
},
|
||||
"chaptersPage1": {
|
||||
"message": "Funkce komunitních kapitol je dostupná pouze lidem, kteří si zakoupili licenci, nebo lidem, kteří získali přístup zdarma díky jejich příspěvkům"
|
||||
},
|
||||
"chaptersPage2": {
|
||||
"message": "Poznámka: Oprávnění k odesílání kapitol je stále založené na vypočítané reputaci. Zakoupení licence vám pouze umožní zobrazit si kapitoly odeslané ostatními uživateli",
|
||||
"description": "On the chapters page for getting access to the paid chapters feature"
|
||||
},
|
||||
"chapterNewFeature": {
|
||||
"message": "Nová funkce: komunitní vlastní kapitoly. Jedná se o komunitou vytvořené sekce ve videích, které lze slučovat, aby byly stále přesnější. Zakupte si licenci pro zobrazení kapitol u tohoto videa, jako například: ",
|
||||
"description": "After the comma, a list of chapters for this video will appear"
|
||||
},
|
||||
"chapterNewFeature2": {
|
||||
"message": "Nová funkce: komunitní vlastní kapitoly. Jedná se o komunitou vytvořené sekce ve videích, které lze slučovat, aby byly stále přesnější. Přístup máte zdarma, povolte jej v možnostech."
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "Momentálně máte {0} na {1}",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "V současné době nemáte žádné neodeslané segmenty",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "neodeslaný segment",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "neodeslaných segmentů",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "videu",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "videích",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "Vymazat všechny segmenty",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "Opravdu chcete vymazat všechny své neodeslané segmenty?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "Zobrazit segmenty",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "Skrýt segmenty",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "ID videa",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "Počet segmentů",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "Akce",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "Sdílet jako URL"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,19 @@
|
||||
"Segments": {
|
||||
"message": "segmenter"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Segmenter"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Kapitler"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Render segmenter som kapitler",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"showSegmentNameInChapterBar": {
|
||||
"message": "Vis nuværende segmenter ved siden af videotid"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Stem for dette forslag"
|
||||
},
|
||||
@@ -112,9 +125,15 @@
|
||||
"closePopup": {
|
||||
"message": "Luk Pop-op"
|
||||
},
|
||||
"closeIcon": {
|
||||
"message": "Luk ikon"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Indsend Segmenter"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Sortér Segmenter"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Er du sikker på, at du vil indsende dette?"
|
||||
},
|
||||
@@ -164,6 +183,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "Kopier Offentligt Bruger-ID"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Kopier Segment-Id"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Kom til den officielle Discord-server for at give forslag og feedback!"
|
||||
},
|
||||
@@ -209,6 +231,15 @@
|
||||
"enableViewTrackingInPrivate": {
|
||||
"message": "Aktiver Optælling Af Antal Spring Over I Private-/Inkognitovinduer"
|
||||
},
|
||||
"enableTrackDownvotes": {
|
||||
"message": "Gem segment nedstemmer"
|
||||
},
|
||||
"whatTrackDownvotes": {
|
||||
"message": "Ethvert segment, du nedstemmer vil forblive skjult selv efter genindlæsning"
|
||||
},
|
||||
"trackDownvotesWarning": {
|
||||
"message": "Advarsel: Deaktivering af dette vil slette alle tidligere gemte nedstemmer"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "Forespørg Efter Hashpræfiks"
|
||||
},
|
||||
@@ -221,12 +252,21 @@
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Hvis videoen er ny, og der ikke er nogle segmenter fundet, vil den opdatere hvert par minutter, mens du ser."
|
||||
},
|
||||
"enableShowCategoryWithoutPermission": {
|
||||
"message": "Vis kategorier i indsendelsesmenu selv uden indsendelse tilladelse"
|
||||
},
|
||||
"whatShowCategoryWithoutPermission": {
|
||||
"message": "Nogle kategorier kræver tilladelse til at indsende på grund af minimumskrav til omdømme"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Vis Bemærkning Igen"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Vis Bemærkning Efter Et Segment Skippes"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Vis Kategorihjælp"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Fuld Størrelse Skip-Bemærkninger"
|
||||
},
|
||||
@@ -274,6 +314,14 @@
|
||||
"message": "Indsend segmenter",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Næste kapitel",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Forrige kapitel",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Velg en tast ved at trykke på den og vælg de modificeringstaster du ønsker at bruge."
|
||||
},
|
||||
@@ -373,16 +421,16 @@
|
||||
"message": "Tjek status.sponsor.ajay.app for serverstatus."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Importer/Eksporter Dit Bruger-ID"
|
||||
"message": "Importer/Eksporter Dit Private User-ID"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Dette bør holdes privat. Det er ligesom en adgangskode og bør ikke deles med nogen. Hvis nogen har dette, kan de udgive sig for at være dig. Hvis du leder efter dit offentlige bruger-ID, skal du klikke på udklipsholderikonet i popup-vinduet."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Indstil Bruger-ID"
|
||||
"message": "Set Privat Bruger-ID"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Advarsel: Ændring af Bruger-IDet er permanent. Er du sikker på, at du vil gøre det? Sørg for at sikkerhedskopiere din gamle for en sikkerheds skyld."
|
||||
"message": "Advarsel: Ændring af private Bruger-IDet er permanent. Er du sikker på, at du vil gøre det? Sørg for at sikkerhedskopiere din gamle for en sikkerheds skyld."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Oprettet Af"
|
||||
@@ -427,6 +475,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Segmenter kortere end den indstillede værdi vil ikke blive sprunget over eller vist i spilleren."
|
||||
},
|
||||
"enableManualSkipOnFullVideo": {
|
||||
"message": "Spring manuelt over, når en fuld video etiket findes"
|
||||
},
|
||||
"whatManualSkipOnFullVideo": {
|
||||
"message": "For folk, som ønsker at se videoen uafbrudt, hvis det er fuldt sponsoreret eller selvpromovering."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Spring meddelelsesvarighed over (sekunder):"
|
||||
},
|
||||
@@ -476,7 +530,7 @@
|
||||
"message": "Indlæs fra fil"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Dette er hele din konfiguration i JSON. Dette inkluderer dit bruger-ID, så sørg for at dele dette med omtanke."
|
||||
"message": "Dette er hele din konfiguration i JSON. Dette inkluderer dit private bruger-ID, så sørg for at dele dette med omtanke."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Indstil Indstillinger"
|
||||
@@ -530,18 +584,43 @@
|
||||
"message": "til",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Kopieret!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Inkludér segue-overgange"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Spiller som om intet blev sprunget over"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Sponsor"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Betalt kampagne, betalte henvisninger og direkte reklamer. Ikke for selvpromoverende eller gratis shoutouts til årsager/skabere/hjemmesider/produkter, de kan lide."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Betalt markedsføring"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Ikke til donationer eller custom merch"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Ubetalt/Egen Markedsføring"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Ligesom \"sponsor\" bortset fra ubetalt- eller selfmarkedsføring. Dette inkluderer sektioner om merchandise, donationer eller oplysninger om hvem, de har samarbejdet med."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Donationer, medlemskaber og custom merch"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Gratis shoutouts, der ikke føjer til videoen"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Ikke for produkter og merchandise designet af virksomheder"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Eksklusiv Adgang"
|
||||
},
|
||||
@@ -552,12 +631,24 @@
|
||||
"message": "Denne video viser et produkt, tjeneste eller et sted, som de har modtaget gratis eller subsidieret adgang til",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Hele videoen viser noget med gratis eller subsidieret adgang"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Påmindelse Om Interaktion (Abonnement)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Når der er en kort påmindelse om at like, abonnere eller følge dem midt i indholdet. Hvis den er lang eller om noget specifikt, bør den i stedet være under selvpromovering."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Korte påmindelser om at synes godt om, abonnere eller følge"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Indeholder indirekte påmindelser om at kommentere"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Ikke til generel markedsføring, kun opfordringer til handling"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Påmindelse Om Interaktion"
|
||||
},
|
||||
@@ -570,24 +661,54 @@
|
||||
"category_intro_short": {
|
||||
"message": "Pause"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Interval uden egentligt indhold"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Ikke for overgange med information"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Slutkort/Kreditter"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Medvirkende eller når YouTube-endcards vises. Ikke for konklusioner med information."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Inkludér ikke indhold, selvom endcards er på skærmen"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Forhåndsvisning/Opsamling"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Hurtig opsummering af tidligere episoder eller en forsmag på, hvad der kommer senere i den aktuelle video. Er beregnet til sammenklippede klip, ikke til talte resuméer."
|
||||
"message": "Samling af klip, der viser, hvad der kommer op i denne video eller andre videoer i en serie, hvor alle oplysninger gentages senere i videoen."
|
||||
},
|
||||
"category_preview_guideline1": {
|
||||
"message": "Klip, der vises senere eller i en fremtidig video"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Resumé af en tidligere video"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Ikke for afsnit, der tilføjer yderligere indhold"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Fyldningstangent/Jokes"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Tangential scener kun tilføjet for fyldstof eller humor, som ikke er nødvendige for at forstå videoens hovedindhold. Dette bør ikke omfatte segmenter, der gtiver kontekst eller bagrundsoplysninger."
|
||||
"message": "Tangential scener kun tilføjet for fyldstof eller humor, som ikke er nødvendige for at forstå videoens hovedindhold. Dette bør ikke omfatte segmenter, der gtiver kontekst eller bagrundsoplysninger\"."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Fyldstof"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Tangentielle scener kun for fyld eller humor"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Distraktioner, bloopers, replays"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Ikke for scener, der er nødvendige for at forstå emnet"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Musik: Ikke-Musikalsk Sektion"
|
||||
},
|
||||
@@ -597,12 +718,42 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Ikke-Musikalsk"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Afsnit, der ikke findes i officielle udgivelser"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Ikke-musik i en live-optræden"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Fremhæv"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "Den del af videoen, som de fleste mennesker leder efter. Svarende til \"Video starter ved x\" kommentarer."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "Afsnit, som de fleste mennesker leder efter"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Kan springe kontekst over"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Kan springe til titlen eller thumbnailen"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Kapitel"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "Brugerdefinerede navngivne kapitler, der beskriver store afsnit af en video."
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "Undlad at nævne sponsor mærkenavne"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "Brug større kapitler til generelle sektioner"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "Mindre kapitler kan placeres inde i større kapitler"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Livestream: Donations-/Beskedsaflæsning"
|
||||
},
|
||||
@@ -633,6 +784,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "Vis Etiket"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Vis Kapitler"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Spring automatisk over alle segmenter, når der er et ikke-musik-segment"
|
||||
},
|
||||
@@ -688,21 +842,25 @@
|
||||
"bracketEnd": {
|
||||
"message": "(Slut)"
|
||||
},
|
||||
"End": {
|
||||
"message": "Slutning",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "skjult: downvote"
|
||||
"message": "skjult: nedstem"
|
||||
},
|
||||
"hiddenDueToDuration": {
|
||||
"message": "skjult: for kort"
|
||||
},
|
||||
"manuallyHidden": {
|
||||
"message": "manuelt skjult"
|
||||
},
|
||||
"channelDataNotFound": {
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "Kanal-ID er ikke indlæst endnu. Hvis du bruger en integreret video, så prøv i stedet at bruge YouTube-hjemmesiden. Dette kunne også være forårsaget af ændringer i YouTube-layout. Hvis du mener det, så lav en kommentar her:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Det ser ud til, at noget blokerer SponsorBlock's evne til at hente videodata. Se https://github.com/ajayyy/SponsorBlock/issues/741 for mere info."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Det ser ud til, at SponsorBlock ikke kan nå YouTube APIen. Acceptér tilladelsesprompten som vises næste gang, vent et par sekunder, og genindlæs siden."
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "Browseren har ophævet tilladelserne til at fungere på Invidious eller andre tredjepartssider. Klik venligst op knappen nedenfor for at genaktivere denne tilladelse."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Accepter tilladelse"
|
||||
@@ -728,6 +886,13 @@
|
||||
"downvoteDescription": {
|
||||
"message": "Ukorrekt/Forkert Timing"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Forkert"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Skadelig",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Skift Kategori"
|
||||
},
|
||||
@@ -763,6 +928,9 @@
|
||||
"categoryPillTitleText": {
|
||||
"message": "Hele denne video er mærket som denne kategori og er for tæt integreret til at være i stand til at adskille"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "Et af dine kapitelnavne er magen til en kategori. Du bør bruge kategorier, når det er muligt i stedet."
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Fravælg alle fremtidige eksperimenter",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
@@ -771,15 +939,26 @@
|
||||
"message": "Skjul for evigt"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Du har fået en advarsel og kan midlertidigt ikke indsende segmenter. Det betyder, at vi har bemærket, at du har begået nogle almindelige fejl, som ikke er skadelige. Bekræft venligst, at du har forstået reglerne, så fjerner vi advarslen. Du kan også deltage i denne chat ved hjælp af discord.gg/SponsorBlock eller matrix.to/#/##sponsor:ajay.app"
|
||||
"message": "Vi bemærkede, at du lavede nogle almindelige fejl, som ikke er ondsindede"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Afstemningen blev afvist på grund af en advarsel. Klik for at åbne en chat for at løse problemet, eller kom tilbage senere, når du har tid.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "Du fik en advarsel"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "Jeg har et spørgsmål"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Jeg forstår årsagen"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Fejl under anerkendelse af advarsel:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Doner"
|
||||
},
|
||||
"considerDonating": {
|
||||
"message": "Hjælp til at finansiere udvikling"
|
||||
},
|
||||
"hideDonationLink": {
|
||||
"message": "Skjul Donationslink"
|
||||
},
|
||||
@@ -802,7 +981,7 @@
|
||||
"message": "Videosegmenter vil automatisk blive sprunget over, hvis de findes i databasen. Du kan åbne popup-vinduet ved at klikke på ikonet for udvidelsen for at få et eksempel på, hvad de er."
|
||||
},
|
||||
"helpPageHowSkippingWorks2": {
|
||||
"message": "Når du springer et segment over, får du besked, når du springer et segment over. Hvis timingen virker forkert, kan du stemme ned ved at klikke på downvote! Du kan også stemme i popup-vinduet."
|
||||
"message": "Når du springer et segment over, får du besked, når du springer et segment over. Hvis timingen virker forkert, kan du stemme ned ved at klikke på nedstem! Du kan også stemme i popup-vinduet."
|
||||
},
|
||||
"Submitting": {
|
||||
"message": "Indsendelse"
|
||||
@@ -811,7 +990,7 @@
|
||||
"message": "Indsendelse kan enten ske i popup-vinduet ved at trykke på \"Segment Begynder Nu\"-knappen eller i videoafspilleren med knapperne på afspilleren."
|
||||
},
|
||||
"helpPageSubmitting2": {
|
||||
"message": "Ved at klikke på play-knappen vises starten af et segment, og ved at klikke på stop-ikonet vises slutningen. Du kan forberede flere sponsorer, før du trykker på Send. Hvis du klikker på upload-knappen, sendes det. Hvis du klikker på skraldespanden, slettes den."
|
||||
"message": "Clicking the play button indicated the start of a segment and clicking the stop icon indicates the end. You can prepare multiple sponsors before hitting submit. Clicking the upload button will submit. Clicking the garbage can will delete."
|
||||
},
|
||||
"Editing": {
|
||||
"message": "Redigering"
|
||||
@@ -846,6 +1025,9 @@
|
||||
"LearnMore": {
|
||||
"message": "Læs mere"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Alle Detaljer"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Nedstemmer og opretter en lokal kopi for dig at genindsende"
|
||||
},
|
||||
@@ -861,6 +1043,21 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Dette vil øjeblikkeligt gælde for dine indsendelser"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Downvote"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Upvote"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Skjul segment"
|
||||
},
|
||||
"skipSegment": {
|
||||
"message": "Spring segment over"
|
||||
},
|
||||
"playChapter": {
|
||||
"message": "Afspil kapitel"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Brug musehjulet, mens du holder musen over redigeringsfeltet for hurtigt at justere tiden. Kombinationer af ctrl eller shift-tastenerne kan bruges til at finjustere ændringerne."
|
||||
},
|
||||
@@ -911,5 +1108,140 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Dette er en indbygget Youtube-genvej. Er du sikker på, at du vil bruge den?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "BETA Server er aktiveret!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Åbn indstillinger"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Nulstil indstillinger til standard"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Er du sikker på, at du vil nulstille alle indstillinger til deres standardværdier? Dette kan ikke fortrydes."
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Eksporter segmenter"
|
||||
},
|
||||
"importSegments": {
|
||||
"message": "Importer segmenter"
|
||||
},
|
||||
"Import": {
|
||||
"message": "Importer",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "Indløsning Lykkedes!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "Licensnøglen er ugyldig"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "Skjul utilgængelige muligheder uden ekstra betaling"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Vælg et land"
|
||||
},
|
||||
"noDiscount": {
|
||||
"message": "Du kvalificerer dig ikke til en rabat"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "Rabat Link (Se den lyserøde pris)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Vælg dit land"
|
||||
},
|
||||
"alreadyDonated": {
|
||||
"message": "Hvis du har doneret et beløb før, kan du indløse gratis adgang via e-mail:",
|
||||
"description": "After the colon is an email address"
|
||||
},
|
||||
"cantAfford": {
|
||||
"message": "Hvis du ikke har råd til at købe en licens, så klik på {here} for at se, om du er berettiget til en rabat",
|
||||
"description": "Keep the curly braces. The word 'here' should be translated as well."
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Log på med Patreon"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "Indløs"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Abonner på Patreon"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "Engangskøb"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Indtast Licensnøgle"
|
||||
},
|
||||
"chaptersPage1": {
|
||||
"message": "SponsorBlock crowd-sourced kapitler funktion er kun tilgængelig for personer, der køber en licens, eller for personer, der har fået gratis adgang på grund af deres tidligere bidrag"
|
||||
},
|
||||
"chaptersPage2": {
|
||||
"message": "Bemærk: Tilladelse til at indsende kapitler er stadig baseret på beregnet omdømme. Indkøb af en licens giver dig kun mulighed for at se kapitler indsendt af andre",
|
||||
"description": "On the chapters page for getting access to the paid chapters feature"
|
||||
},
|
||||
"chapterNewFeature": {
|
||||
"message": "Ny funktion: Crowd-sourced brugerdefinerede kapitler. Disse er brugerdefinerede sektioner i videoer, der kan stables for at få mere og mere præcise. Køb en licens til at se kapitlerne indsendt på denne video såsom: ",
|
||||
"description": "After the comma, a list of chapters for this video will appear"
|
||||
},
|
||||
"chapterNewFeature2": {
|
||||
"message": "Ny funktion: Crowd-sourced brugerdefinerede kapitler. Disse er brugerdefinerede sektioner i videoer, der kan stables for at få mere og mere præcise. Du har gratis adgang, aktiver i indstillinger."
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "Du har lige nu {0} på {1}",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "Du har i øjeblikket ingen uindsendte segmenter",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "ikke-indsendt segment",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "ikke-indsendte segmenter",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "video",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "videoer",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "Ryd alle segmenter",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "Er du sikker på, at du vil rydde alle dine uindsendte segmenter?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "Vis segmenter",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "Skjul segmenter",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "Video ID",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "Segmentantal",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "Handlinger",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "Del som URL"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"Description": {
|
||||
"message": "Überspringe Sponsoren, Betteln um Abonnenten und mehr in YouTube-Videos. Melde Sponsoren in Videos, die du schaust, um Anderen Zeit zu ersparen.",
|
||||
"message": "Überspringe gesponserte Inhalte, Aufforderungen zum Interagieren und mehr in YouTube-Videos. Markiere Sponsoren in Videos, um anderen die Zeit zu ersparen.",
|
||||
"description": "Description of the extension."
|
||||
},
|
||||
"400": {
|
||||
@@ -25,6 +25,19 @@
|
||||
"Segments": {
|
||||
"message": "Segmente"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Segmente"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Kapitel"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Zeige Segmente als Kapitel",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"showSegmentNameInChapterBar": {
|
||||
"message": "Aktuelles Segment neben der Videozeit anzeigen"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Diese Einreichung positiv bewerten"
|
||||
},
|
||||
@@ -112,9 +125,15 @@
|
||||
"closePopup": {
|
||||
"message": "Pop-up schließen"
|
||||
},
|
||||
"closeIcon": {
|
||||
"message": "Symbol schließen"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Senden"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Segmente sortieren"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Bist du sicher, dass du dies übermitteln willst?"
|
||||
},
|
||||
@@ -164,6 +183,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "Öffentliche Benutzer-ID kopieren"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Segment-ID kopieren"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Tritt dem offiziellen Discord-Server bei und teile Anregungen und Feedback!"
|
||||
},
|
||||
@@ -183,7 +205,7 @@
|
||||
"message": "Versteckt die Schaltflächen im YouTube-Videoplayer, um Segmente einzusenden."
|
||||
},
|
||||
"showSkipButton": {
|
||||
"message": "\"Zum Highlight springen\"-Button im Youtube-Player anzeigen"
|
||||
"message": "Behalte „Zum beliebtesten Teil springen“-Schaltfläche im Wiedergabefenster"
|
||||
},
|
||||
"showInfoButton": {
|
||||
"message": "Zeige Info-Knopf im Youtube-Videoplayer"
|
||||
@@ -213,10 +235,10 @@
|
||||
"message": "Speichere Downvotes von Segmenten"
|
||||
},
|
||||
"whatTrackDownvotes": {
|
||||
"message": "Alle Segmente, welche du downvotest, werden verborgen und bleiben es auch dauerhaft"
|
||||
"message": "Alle von dir negativ bewerteten Segmente bleiben auch nach neu laden der Seite verborgen"
|
||||
},
|
||||
"trackDownvotesWarning": {
|
||||
"message": "Warnung: Das Deaktivieren wird alle vorher gespeicherten Downvotes löschen"
|
||||
"message": "Warnung: Das Deaktivieren wird alle zuvor gespeicherten negativen Bewertungen löschen"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "Abfrage nach Hash-Präfix"
|
||||
@@ -230,12 +252,21 @@
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Wenn das Video neu ist und keine Segmente gefunden wurden, wird während des Betrachtens alle paar Minuten erneut eine Anfrage gesendet."
|
||||
},
|
||||
"enableShowCategoryWithoutPermission": {
|
||||
"message": "Zeige Kategorien im Einsendungsmenü auch ohne Einreichungsberechtigungen"
|
||||
},
|
||||
"whatShowCategoryWithoutPermission": {
|
||||
"message": "Einige Kategorien benötigen Erlaubnis zum Übermitteln aufgrund von Mindestanforderungen an Reputation"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Hinweis erneut anzeigen"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Zeige Pop-up nach dem Überspringen eines Segments"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Zeige Kategorien-Hilfe"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Skip-Meldung in voller größe"
|
||||
},
|
||||
@@ -280,7 +311,15 @@
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "Segmente senden",
|
||||
"message": "Segmente einreichen",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Nächstes Kapitel",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Vorheriges Kapitel",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
@@ -300,7 +339,7 @@
|
||||
"description": "Used to describe the section that will show you the statistics from your submissions."
|
||||
},
|
||||
"502": {
|
||||
"message": "Der Server scheint überlastet zu sein. Probiere es in ein paar Sekunden erneut."
|
||||
"message": "Der Server ist wahrescheinlich überlastet. Probiere es später nochmal."
|
||||
},
|
||||
"errorCode": {
|
||||
"message": "Fehlermeldung: "
|
||||
@@ -330,7 +369,7 @@
|
||||
"description": "Example: Sponsor Skipped"
|
||||
},
|
||||
"muted": {
|
||||
"message": "{0} stummgeschaltet",
|
||||
"message": "{0} stumm geschaltet",
|
||||
"description": "Example: Sponsor Muted"
|
||||
},
|
||||
"skipped_to_category": {
|
||||
@@ -379,25 +418,25 @@
|
||||
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
|
||||
},
|
||||
"statusReminder": {
|
||||
"message": "Du kannst den Serverstatus auf https://status.sponsor.ajay.app überprüfen."
|
||||
"message": "Prüfe status.sponsor.ajay.app für den Serverstatus."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Benutzer-ID importieren/exportieren"
|
||||
"message": "Private Benutzer-ID importieren/exportieren"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Dies sollte geheim gehalten werden. Dies ist wie ein Passwort und sollte mit niemandem geteilt werden. Sollte es jemand haben, könnte er sich als dich ausgeben. Wenn du nach deiner öffentlichen Benutzer-ID suchst, klicke das \"Kopieren\"-Symbol bei deinem Benutzernamen im Popup."
|
||||
"message": "Dies sollte geheim gehalten und wie ein Passwort behandelt, also mit niemandem geteilt werden. Andere könnten sich damit als dich ausgeben. Wenn du nach deiner öffentlichen Profilkennung suchst, klicke auf das „Kopieren“-Symbol neben deinem Anmeldenamen im Pop-up."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Interne Benutzer-ID festlegen"
|
||||
"message": "Private Benutzer-ID festlegen"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Warnung: Das Ändern der Benutzer-ID ist permanent. Bist du dir sicher, dass du das tun möchtest? Lege dir zur Sicherheit erst eine Sicherheitskopie deiner alten ID an."
|
||||
"message": "Warnung: Das Ändern deiner privaten Benutzer-ID ist permanent. Bist du dir sicher, dass du das tun möchtest? Zur Sicherheit solltest du vorher ein Backup deiner alten ID erstellen."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Erstellt von"
|
||||
},
|
||||
"supportOtherSites": {
|
||||
"message": "Drittanbieter YouTube-Sites unterstützen"
|
||||
"message": "Unterstütze Drittanbieter YouTube-Seiten"
|
||||
},
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Unterstütze Drittanbieter YouTube Clients. Zum unterstützen müssen zusätzlichliche Berechtigungen akzeptiert werden. Dies funktioniert NICHT im Incognitomodus auf Chrome oder anderen Chromium Varianten.",
|
||||
@@ -419,7 +458,7 @@
|
||||
"message": "Hinzufügen"
|
||||
},
|
||||
"addInvidiousInstanceError": {
|
||||
"message": "Du hast eine ungültige Domain eingegeben. Es soll NUR den Domain-Teil beinhalten. Beispiel: invidious.ajay.app"
|
||||
"message": "Dies ist eine ungültige Domain. Dies soll NUR den Domain-Teil beinhalten. Beispiel: invidious.ajay.app"
|
||||
},
|
||||
"resetInvidiousInstance": {
|
||||
"message": "Invidious-Instanzliste zurücksetzen"
|
||||
@@ -436,14 +475,20 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Videosegmente, die kürzer als der festgelegte Wert sind, werden nicht übersprungen oder im Player angezeigt."
|
||||
},
|
||||
"enableManualSkipOnFullVideo": {
|
||||
"message": "Verwende manuelles Überspringen, wenn ein vollständiges Video Label existiert"
|
||||
},
|
||||
"whatManualSkipOnFullVideo": {
|
||||
"message": "Für Personen, welche ein Video ohne Unterbrechungen schauen wollen, während es vollständig gesponsert oder Eigenwerbung ist."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Dauer der Überspringen-Meldung (Sekunden):"
|
||||
"message": "Dauer des Überspringenhinweises (Sekunden):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "Die überspringen Benachrichtigung wird mindestens für so viele Sekunden angezeigt. Für manuelles Überspringen kann sie länger sichtbar sein."
|
||||
},
|
||||
"shortCheck": {
|
||||
"message": "Die folgende Einreichung ist kürzer als deine Mindestdauer. Das könnte bedeuten, dass dieses Videosegment bereits eingereicht wurde und aufgrund dieser Option einfach ignoriert wird. Bist du dir sicher, dass du es übermitteln möchtest?"
|
||||
"message": "Die folgende Einsendung ist kürzer als deine Mindestdauer. Das könnte bedeuten, dass dieses Videosegment bereits eingereicht wurde und aufgrund dieser Option einfach ignoriert wird. Bist du dir sicher, dass du es übermitteln möchtest?"
|
||||
},
|
||||
"liveOrPremiere": {
|
||||
"message": "Das Einreichen eines aktiven Livestreams oder Premiere ist nicht erlaubt. Bitte warte bis es zu ende ist, lade die Seite neu und überprüfe, dass die Segmente noch immer korrekt sind."
|
||||
@@ -473,7 +518,7 @@
|
||||
"message": "https://m.youtube.com wird jetzt unterstützt"
|
||||
},
|
||||
"exportOptions": {
|
||||
"message": "Import/Export aller Einstellungen"
|
||||
"message": "Alle Einstellungen importieren/exportieren"
|
||||
},
|
||||
"exportOptionsCopy": {
|
||||
"message": "Bearbeiten/kopieren"
|
||||
@@ -485,19 +530,19 @@
|
||||
"message": "Aus Datei laden"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Dies ist deine gesamte Konfiguration im JSON-Format. Da diese auch deine Benutzer-ID enthält, solltest du dir genau überlegen, mit wem du diese teilen möchtest."
|
||||
"message": "Dies ist deine gesamte Konfiguration in JSON. Sie enthält deine private Benutzer-ID, stelle also sicher, sie nicht mit jedem zu teilen."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Konfiguration aus dem Eingabefeld übernehmen"
|
||||
"message": "Optionen ändern"
|
||||
},
|
||||
"exportOptionsWarning": {
|
||||
"message": "Warnung: Das Übernehmen der Konfiguration aus dem Eingabefeld überschreibt deine aktuellen Einstellungen. Bist du dir sicher, dass du das tun möchtest? Lege dir zur Sicherheit erst eine Sicherheitskopie deiner alten Konfiguration an."
|
||||
"message": "Warnung: Das Ändern der Optionen ist permanent und kann deine Installation beschädigen. Bist du dir sicher, dass du das tun willst? Stelle sicher, dass du eine Sicherheitskopie deiner alten Optionen machst."
|
||||
},
|
||||
"incorrectlyFormattedOptions": {
|
||||
"message": "Dieses JSON ist nicht korrekt formatiert und kann daher nicht geladen werden. Es wurden keine Einstellungen geändert."
|
||||
},
|
||||
"confirmNoticeTitle": {
|
||||
"message": "Videosegment übermitteln"
|
||||
"message": "Segment übermitteln"
|
||||
},
|
||||
"submit": {
|
||||
"message": "Übermitteln"
|
||||
@@ -527,7 +572,7 @@
|
||||
"message": "Fehler beim Kopieren in die Zwischenablage"
|
||||
},
|
||||
"copyDebugInformationOptions": {
|
||||
"message": "Kopiert Informationen in die Zwischenablage, welche einem Entwickler gegebenenfalls (z.B. um einen Fehler zu melden) zur Verfügung gestellt werden können. Personenbezogene Daten wie die Benutzer-ID, Kanäle auf der Whitelist und die benutzerdefinierte Serveradresse werden entfernt. Die Debug-Informationen enthalten jedoch unter anderem den Useragent, den Browser, das Betriebssystem und die Versionsnummer der Erweiterung. "
|
||||
"message": "Kopiert Informationen in die Zwischenablage, die Entwickelnden gegebenenfalls bei Fehlermeldungen oder spezifischen Anfragen zur Verfügung gestellt werden können. Personenbezogene Daten wie deine Profilkennung, Kanäle auf der Positivliste und angepasste Server-Adressen wurden entfernt. Die Fehlerinformationen enthalten jedoch unter anderem den User Agent, den Browser, das Betriebssystem und die Versionsnummer der Erweiterung. "
|
||||
},
|
||||
"copyDebugInformationComplete": {
|
||||
"message": "Die Debug-Informationen wurden in die Zwischenablage kopiert. Du kannst alle Informationen entfernen, die du nicht teilen möchtest. Verwende einen Texteditor um die Informationen in einer Textdatei zu speichern (um diese ggf. einem Fehlerbericht hinzuzufügen)."
|
||||
@@ -539,17 +584,42 @@
|
||||
"message": "bis",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Kopiert!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Fließende Übergänge einbeziehen"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Wiedergeben, als ob nichts übersprungen worden wäre"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Gesponserte Videosegmente"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Bezahlte Werbung, bezahlte Empfehlungen und direkte Werbung, nicht für Eigenwerbung, kostenlose Fremdwerbung oder Empfehlungen für Anlässe/Personen/Webseiten/Produkte."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Bezahlte Werbung"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Nicht für Spenden oder eigene Fanartikel"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Unbezahlt/Eigenwerbung"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Ähnlich wie bei \"gesponserte Videosegmente\", mit Ausnahme von unbezahlten oder Selbstpromotionen. Dies beinhaltet Merchandising (Fan-Artikel), Spenden oder Informationen darüber, mit wem für das Video zusammengearbeitet wurde."
|
||||
"message": "Ähnlich wie \"Gesponsorte Videosegmente\", jedoch für unbezahlte oder Eigenwerbung. Dies beinhaltet Bereiche über Merchandise, Spenden, oder Informationen darüber, mit wem zusammengearbeitet wurde."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Spenden, Mitgliedschaften und eigene Fanartikel"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Unentgeltliche Erwähnungen, die nicht zum Video beitragen"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Nicht für Produkte und Merch von Firmen"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Exklusiver Zugriff"
|
||||
@@ -561,11 +631,23 @@
|
||||
"message": "Dieses Video präsentiert ein Produkt, eine Dienstleistung oder einen Ort, zu welchem sie freien oder subventionierten Zugriff erhalten haben",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Das gesamte Video zeigt etwas, zu dem man kostenlosen oder subventionierten Zugang erhalten hat"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Interaktions-Erinnerungen (Abonnieren, etc.)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Wenn es im Video eine kurze Erinnerung gibt, den Kanal zu abonnieren oder das Video mit \"Mag ich\" zu markieren."
|
||||
"message": "Wenn es eine kurze Erinnerung zum \"Daumen hoch\", Abonnieren, oder Folgen in der Mitte von Inhalt gibt. Falls es lang oder über etwas bestimmtes ist, sollte es stattdessen \"Unbezahlt/Eigenwerbung\" sein."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Kurze Erinnerungen zum Liken, Abonnieren oder Folgen"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Enthält indirekte Erinnerungen zum Kommentieren"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Nicht für allgemeine Förderung, nur Aufruf zum Handeln"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Interaktions-Erinnerung"
|
||||
@@ -579,29 +661,56 @@
|
||||
"category_intro_short": {
|
||||
"message": "Unterbrechung"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Intervall ohne tatsächlichen Inhalt"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Nicht für Übergänge mit Informationen"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Endkarten/Quellen/Anerkennungen"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Credits oder wenn die YouTube-Endkarten erscheinen. Nicht für videobeendende Schlussfolgerungen mit Informationen."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Enthalten keinen Inhalt, selbst wenn Endcards zu sehen sind"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Vorschau/Zusammenfassung"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Kurze Zusammenfassung bisheriger Videos oder eine Vorschau auf das aktuelle Video. Für zusammengeschnittene Clips gedacht, jedoch nicht für mündliche Zusammenfassungen."
|
||||
"message": "Sammlung von Clips, welche zeigen, was in diesem Video oder anderen Videos in einer Serie kommen wird, wo alle Informationen später wiederholt werden."
|
||||
},
|
||||
"category_preview_guideline1": {
|
||||
"message": "Clips welche später oder in einem zukünftigen Video erscheinen"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Recap eines vorherigen Videos"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Nicht für Bereiche, welche zusätzliche Inhalte geben"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Füller/Witze"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Nebensächliche Szenen, die nur als Füller oder Witz dienen und nicht benötigt sind um den Hauptinhalt des Videos zu verstehen. Dies bezieht sich nicht auf Segmente, die Kontext oder Hintergrunddetails liefern."
|
||||
"message": "Nebensächliche Szenen, die nur als Füller oder Witz dienen und nicht benötigt sind, um den Hauptinhalt des Videos zu verstehen. Dies bezieht sich nicht auf Segmente, die Kontext oder Hintergrunddetails liefern. Dies ist eine sehr aggressive Kategorie, die dafür gedacht ist, wenn du nicht in der Stimmung für \"Spaß\" bist."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Füller"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Tangentielle Szenen nur für Füller oder Humor"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Ablenkungen, Patzer, Replays"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Nicht für Szenen, welche zum verstehen des Topics sind"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Musikvideoteile ohne Musik"
|
||||
"message": "Musik: Nicht-Musik-Abschnitt"
|
||||
},
|
||||
"category_music_offtopic_description": {
|
||||
"message": "Nur für die Verwendung in Musikvideos. Dies sollte nur für Abschnitte von Musikvideos verwendet werden, die noch nicht von einer anderen Kategorie abgedeckt sind."
|
||||
@@ -609,17 +718,47 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Musikvideoteile ohne Musik"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Bereiche nicht in offiziellen Veröffentlichungen"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Nicht-Musik in einer Live-Performance"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Highlight"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "Der Teil des Videos, nach dem die meisten Leute suchen, ähnlich wie \"Video startet bei x\" Kommentare."
|
||||
"message": "Der Abschnitt des Videos, nach dem die meisten Leute suchen, ähnlich wie \"Video startet bei x\" Kommentare."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "Bereiche die die meisten Personen suchen"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Kann helfen, vergangene Inhalte zu überspringen"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Kann zum Titel oder Thumbnail überspringen"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Kapitel"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "Benutzerdefiniert benannte Kapitel, welche große Abschnitte eines Videos beschreiben."
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "Sponsor-Markennamen nicht erwähnen"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "Benutze grössere Kapitel für allgemeine Abschnitte"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "Kleinere Kapitel können innerhalb von grösseren platziert werden"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "In Livestreams Spenden/Nachrichten vorlesen"
|
||||
"message": "Livestream: Spenden/Nachrichten vorlesen"
|
||||
},
|
||||
"category_livestream_messages_short": {
|
||||
"message": "Wertschätzungen im Livestream"
|
||||
"message": "Nachrichten lesen"
|
||||
},
|
||||
"autoSkip": {
|
||||
"message": "Automatisch überspringen"
|
||||
@@ -645,6 +784,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "Zeige Label"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Kapitel zeigen"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Alle Segmente automatisch überspringen, wenn ein nicht-Musiksegment vorhanden ist"
|
||||
},
|
||||
@@ -700,6 +842,10 @@
|
||||
"bracketEnd": {
|
||||
"message": "(Ende)"
|
||||
},
|
||||
"End": {
|
||||
"message": "Ende",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "Ausgeblendet: negativ bewertet"
|
||||
},
|
||||
@@ -711,13 +857,10 @@
|
||||
},
|
||||
"channelDataNotFound": {
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "Kanal-ID ist noch nicht geladen. Falls es sich um ein eingebettetes Video handelt, probiere stattdessen die YouTube-Homepage. Dies könnte auch durch Änderungen im YouTube-Layout verursacht werden. Sollte das der Fall sein, kannst du es hier vermerken:"
|
||||
"message": "Kanal-ID ist noch nicht geladen. Falls es sich um ein eingebettetes Video handelt, probiere stattdessen die YouTube-Webseite. Dies könnte auch durch Änderungen im YouTube-Layout verursacht werden. Sollte das der Fall sein, kannst du es hier vermerken:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Etwas hält SponsorBlock davon ab, die Videodaten abzurufen. Eine mögliche Ursache sind Adblocker. Für weitere Informationen besuche: https://github.com/ajayyy/SponsorBlock/issues/741."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Anscheinend kann SponsorBlock die YouTube-API nicht erreichen. Um dies zu beheben, akzeptiere die nun folgende Berechtigungsanfrage, warte kurz, und lade dann die Seite neu."
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "Der Browser hat die Berechtigung, welche zum vewenden von Invidious und anderen Drittanbieter-Seiten benötigt wird, verweigert. Bitte klicke auf die Schaltfläche unten, um diese Berechtigung zu ractivieren."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Berechtigung erteilen"
|
||||
@@ -735,7 +878,7 @@
|
||||
"message": "Kanalprüfung vor dem Überspringen von Segmenten erzwingen"
|
||||
},
|
||||
"whatForceChannelCheck": {
|
||||
"message": "Standardmäßig werden Segmente schon übersprungen, bevor SponsorBlock die Kanal-ID einliest. Das kann dazu führen, dass Segmente am Anfang von Videos eines Kanals übersprungen werden, der zur Whitelist hinzugefügt wurde. Diese Option zwingt SponsorBlock dazu, auf die Kanal-ID zu warten - dies resultiert in einer kleinen Verzögerung, die aber mit einer schnellen Internetverbindung nicht spürbar sein sollte."
|
||||
"message": "Standardmäßig werden Segmente übersprungen, bevor SponsorBlock überhapt weiss, welcher Kanal das ist. Normalerweise führt dies dazu, dass Videosegmente von erlaubten Kanälen am Anfang übersprungen werden. Das aktivieren dieser Option verhindert dies, hat jedoch eine leichte Verzögerung beim überspringen zur folge, da die Kanal-ID erst eingelesen werden muss. Diese sollte bei einer schnellen Internetverbindung jedoch kaum bemerkbar sein."
|
||||
},
|
||||
"forceChannelCheckPopup": {
|
||||
"message": "Eventuell solltest du die Option \"Kanalprüfung vor dem Überspringen von Segmenten erzwingen\" aktivieren."
|
||||
@@ -743,6 +886,13 @@
|
||||
"downvoteDescription": {
|
||||
"message": "Nicht korrekt oder falsches Timing"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Falsch"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Schädlich",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Kategorie ändern"
|
||||
},
|
||||
@@ -756,7 +906,7 @@
|
||||
"message": "Richtlinien"
|
||||
},
|
||||
"readTheGuidelines": {
|
||||
"message": "Beachte die Richtlinien!",
|
||||
"message": "Lese die Richtlinien!",
|
||||
"description": "Show the first time they submit or if they are \"high risk\""
|
||||
},
|
||||
"categoryUpdate1": {
|
||||
@@ -778,6 +928,9 @@
|
||||
"categoryPillTitleText": {
|
||||
"message": "Das gesamte Video fällt unter diese Kategorie und ist zu stark integriert, um es zu trennen"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "Eines deiner Kapitelnamen ähnlet einer Kategorie. Du solltest Kategorien verwenden, wenn möglich."
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Aus allen zukünftigen Experimenten abmelden",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
@@ -786,11 +939,19 @@
|
||||
"message": "Dauerhaft verbergen"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Du hast eine Warnung erhalten und kannst vorübergehend keine Segmente einreichen. Uns ist nämlich aufgefallen, dass du nicht bösartige Fehler in deinen Einreichungen machst. Bitte bestätige, dass du die Regeln verstanden hast. Darauffolgend können wir die Warnung entfernen. Du kannst diesem Chat auch mit discord.gg/SponsorBlock oder matrix.to/#/#sponsor:ajay.app beitreten"
|
||||
"message": "Wir haben bemerkt, dass du einige häufige Fehler machst welche nicht bösartig sind"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Abstimmung wegen einer Warnung abgelehnt. Klicke hier um einen Chat zu öffnen, oder versuch es später erneut, wenn du Zeit hast.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "Du hast eine Verwarnung erhalten"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "Ich habe eine Frage"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Ich verstehe den Grund"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Fehler beim Anerkennen der Verwarnung:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Spenden"
|
||||
@@ -820,7 +981,7 @@
|
||||
"message": "Videosegmente werden automatisch übersprungen, wenn sie in der Datenbank gefunden werden. Du kannst das Popup öffnen, indem du auf das Erweiterungssymbol klickst, um eine Vorschau darüber zu erhalten, was diese sind."
|
||||
},
|
||||
"helpPageHowSkippingWorks2": {
|
||||
"message": "Wannimmer du ein Segment überspringst, wirst du benachrichtigt. Wenn das Timing falsch erscheint, kannst du as durch klicken auf den Downvote button downvoten! Du kannst auch im Popup voten."
|
||||
"message": "Wann immer du ein Segment überspringst, erhältst du eine Benachrichtigung. Wenn das Timing falsch erscheint, kannst du das Segment herunter stimmen! Du kannst auch im Pop-up abstimmen."
|
||||
},
|
||||
"Submitting": {
|
||||
"message": "Übermitteln"
|
||||
@@ -829,7 +990,7 @@
|
||||
"message": "Das übermitteln kann entweder im Popup durch das drücken vom \"Segment Started Jetzt\" Knopf oder im Videoplayer mit den Knöpfen im Player gemacht werden."
|
||||
},
|
||||
"helpPageSubmitting2": {
|
||||
"message": "Mit einem Klick auf den Play-Knopf wird der Beginn eines Segments und mit dem klick auf den Stop-Knopf das ende eines Segments markiert. Du kannst mehrere Sponsoren vorbereiten, bevor du auf Absenden klickst. Das klicken des Upload-Knopfes wird die Segmente übermitteln. Das klicken des Mülleimers löscht es."
|
||||
"message": "Mit einem Klick auf den Play-Button wird der Beginn eines Segments markiert, und mit einem Klick auf den Stop-Button dessen Ende. Du kannst mehrere Segmente anlegen, bevor du durch Klicken des Upload-Buttons zum Einreichen fortfährst. Ein Klick auf die Mülltonne löscht deine angelegten Segmente."
|
||||
},
|
||||
"Editing": {
|
||||
"message": "Bearbeitung"
|
||||
@@ -864,6 +1025,9 @@
|
||||
"LearnMore": {
|
||||
"message": "Erfahre mehr"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Vollständige Details"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Downvotet, und erstellt eine lokale Kopie zum erneuten Einreichen"
|
||||
},
|
||||
@@ -879,6 +1043,21 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Dies wirkt sich sofort auf eigene Segmente aus"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Dagegen stimmen"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Positiv bewerten"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Segment verbergen"
|
||||
},
|
||||
"skipSegment": {
|
||||
"message": "Segment überspringen"
|
||||
},
|
||||
"playChapter": {
|
||||
"message": "Kapitel abspielen"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Benutze das Mausrad während der Mauszeiger über dem Eingabefeld schwebt um die Zeit schnell anzupassen. Benutze Strg bzw. Shift für gröbere/genauere Änderungen."
|
||||
},
|
||||
@@ -890,7 +1069,7 @@
|
||||
"description": "100d"
|
||||
},
|
||||
"hourAbbreviation": {
|
||||
"message": "S",
|
||||
"message": "Std",
|
||||
"description": "100h"
|
||||
},
|
||||
"optionsTabBehavior": {
|
||||
@@ -898,7 +1077,7 @@
|
||||
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabInterface": {
|
||||
"message": "Aussehen",
|
||||
"message": "Oberfläche",
|
||||
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabKeyBinds": {
|
||||
@@ -929,5 +1108,140 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Dies ist ein vorhandenes YouTube-Kürzel. Bist du sicher, dass du es verwenden möchtest?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "BETA Server wurde aktiviert!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Einstellungen öffnen"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Einstellungen zurücksetzen"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Sind Sie sicher, dass Sie alle Einstellungen auf ihre Standardwerte zurücksetzen wollen? Dies kann nicht rückgängig gemacht werden."
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Segmente exportieren"
|
||||
},
|
||||
"importSegments": {
|
||||
"message": "Segmente importieren"
|
||||
},
|
||||
"Import": {
|
||||
"message": "Importieren",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "Einlösen erfolgreich!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "Lizenzschlüssel ist ungültig"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "Verstecke Optionen, welche ohne extra Zahlung nicht verfügbar sind"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Wähle ein Land"
|
||||
},
|
||||
"noDiscount": {
|
||||
"message": "Du bist nicht für einen Rabatt qualifiziert"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "Rabatt-Link (Siehe rosa Preis)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Wähle dein Land"
|
||||
},
|
||||
"alreadyDonated": {
|
||||
"message": "Wenn du zuvor etwas gespendet hast, kannst du einen kostenlosen Zugang per E-Mail einlösen:",
|
||||
"description": "After the colon is an email address"
|
||||
},
|
||||
"cantAfford": {
|
||||
"message": "Wenn du dir keine Lizenz leisten kannst, klicke {hier} um zu sehen, ob du für einen Rabatt in Frage kommen",
|
||||
"description": "Keep the curly braces. The word 'here' should be translated as well."
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Mit Patreon anmelden"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "Einlösen"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Auf Patreon abonnieren"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "Einmaliger Kauf"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Lizenzschlüssel eingeben"
|
||||
},
|
||||
"chaptersPage1": {
|
||||
"message": "Die Crowd-sourced Kapitel-Funktion von SponsorBlock ist nur für Personen verfügbar, welche eine Lizenz kaufen, oder gratis Zugriff für Ihre bisherigen Beiträge erhalten haben"
|
||||
},
|
||||
"chaptersPage2": {
|
||||
"message": "Hinweis: Erlaubnis zum Einreichen von Kapiteln basiert immer noch auf dem berechneten Ruf. Der kauf einer Lizenz berechtigt dich nur, die eingereichten Kapitel der anderen zu sehen",
|
||||
"description": "On the chapters page for getting access to the paid chapters feature"
|
||||
},
|
||||
"chapterNewFeature": {
|
||||
"message": "Neues Feature: Crowdsourced benutzerdefinierte Kapitel. Dies sind benutzerdefinierte Abschnitte in Videos, die gestapelt werden können, um mehr und mehr präzise zu werden. Kauf eine Lizenz, um Kapitel, die in diesem Video eingereicht wurden, anzusehen: ",
|
||||
"description": "After the comma, a list of chapters for this video will appear"
|
||||
},
|
||||
"chapterNewFeature2": {
|
||||
"message": "Neues Feature: Crowd-gesourcte benutzerdefinierte Kapitel. Dies sind benutzerdefiniert benannte Abschnitte in Videos, die gestapelt werden können, um mehr und mehr präzise zu werden. Du hast kostenlosen Zugang, aktiviere es in den Optionen."
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "Du hast derzeit {0} in {1}",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "Du hast aktuell keine nicht eingereichten Segmente",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "nicht eingereichtes Segment",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "nicht eingereichte Segmente",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "Video",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "Videos",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "Alle Segmente löschen",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "Möchtest du wirklich alle nicht eingereichten Segmente löschen?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "Segmente anzeigen",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "Segmente ausblenden",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "Video ID",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "Segmentanzahl",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "Aktionen",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "Als URL teilen"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,16 @@
|
||||
"Segments": {
|
||||
"message": "τμήματα"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Τμήματα"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Κεφάλαια"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Θεώρηση τμημάτων ως κεφάλαια",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Θετική ψήφος για αυτήν την υποβολή"
|
||||
},
|
||||
@@ -115,6 +125,9 @@
|
||||
"SubmitTimes": {
|
||||
"message": "Υποβολή Τμημάτων"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Ταξινόμηση Τμημάτων"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Είσαστε σίγουροι για την υποβολή σας;"
|
||||
},
|
||||
@@ -162,7 +175,10 @@
|
||||
"message": "Ορισμός ονόματος χρήστη"
|
||||
},
|
||||
"copyPublicID": {
|
||||
"message": "Αντιγραφή δημόσιου αναγνωριστικού"
|
||||
"message": "Αντιγραφή δημόσιου αναγνωριστικού χρήστη"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Αντιγραφή ταυτότητας τμήματος"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Μπείτε στον επίσημο διακομιστή μας στο Discord για ανατροφοδότηση και προτάσεις!"
|
||||
@@ -183,7 +199,7 @@
|
||||
"message": "Αυτό αποκρύπτει τα κουμπιά που εμφανίζονται στο πρόγραμμα αναπαραγωγής YouTube ώστε να υποβάλετε τμήματα προς παράλειψη."
|
||||
},
|
||||
"showSkipButton": {
|
||||
"message": "Διατήρηση του κουμπιού παράλειψης προς την καλύτερη στιγμή στο πρόγραμμα αναπαραγωγής"
|
||||
"message": "Διατήρηση του κουμπιού παράλειψης προς το κυριότερο περιεχόμενο του βίντεο στην οθόνη αναπαραγωγής"
|
||||
},
|
||||
"showInfoButton": {
|
||||
"message": "Εμφάνιση κουμπιού «πληροφορίες» στο πρόγραμμα αναπαραγωγής YouTube"
|
||||
@@ -209,6 +225,15 @@
|
||||
"enableViewTrackingInPrivate": {
|
||||
"message": "Ενεργοποίηση του μετρητή παραλείψεων σε καρτέλες Ιδιωτικής/Ανώνυμης περιήγησης"
|
||||
},
|
||||
"enableTrackDownvotes": {
|
||||
"message": "Αποθήκευση καταψηφίσεων τμημάτων"
|
||||
},
|
||||
"whatTrackDownvotes": {
|
||||
"message": "Όποια τμήματα καταψηφίζετε θα παραμένουν κρυμμένα ακόμα και μετά από ανανέωση της σελίδας"
|
||||
},
|
||||
"trackDownvotesWarning": {
|
||||
"message": "Προειδοποίηση: Η απενεργοποίηση αυτής της επιλογής θα διαγράψει όλες τις προηγούμενες αποθηκευμένες καταψηφίσεις"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "Αιτήματα μέσω προθέματος Hash"
|
||||
},
|
||||
@@ -227,6 +252,9 @@
|
||||
"showSkipNotice": {
|
||||
"message": "Εμφάνιση ειδοποιήσεων μετά την παράλειψη κάθε τμήματος"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Εμφάνιση βοήθειας κατηγοριών"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Ειδοποιήσεις παράλειψης πλήρους μεγέθους"
|
||||
},
|
||||
@@ -262,6 +290,21 @@
|
||||
"message": "Εάν δεν σας αρέσουν, πατήστε το κουμπί «Να μην ξαναεμφανιστεί».",
|
||||
"description": "The second line of the message displayed after the notice was upgraded."
|
||||
},
|
||||
"setSkipShortcut": {
|
||||
"message": "Παράλειψη τμήματος",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"setStartSponsorShortcut": {
|
||||
"message": "Έναρξη/Τέλος τμήματος",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "Υποβολή Τμημάτων",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Επιλέξτε ένα πλήκτρο πατώντας το και επιλέξτε όποιο πρόσθετο πλήκτρο ελέγχου επιθυμείτε."
|
||||
},
|
||||
"0": {
|
||||
"message": "Λήξη χρονικού ορίου σύνδεσης. Παρακαλώ ελέγξτε ότι η σύνδεσή σας με το διαδίκτυο λειτουργεί, αλλιώς ο διακομιστής μπορεί να υπερφορτώθηκε ή να έπεσε."
|
||||
},
|
||||
@@ -282,14 +325,21 @@
|
||||
"message": "Κωδικός σφάλματος: "
|
||||
},
|
||||
"skip": {
|
||||
"message": "Παράκαμψη"
|
||||
"message": "Παράλειψη"
|
||||
},
|
||||
"mute": {
|
||||
"message": "Σίγαση"
|
||||
},
|
||||
"full": {
|
||||
"message": "Όλο το βίντεο",
|
||||
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
|
||||
},
|
||||
"skip_category": {
|
||||
"message": "Παράλειψη {0};"
|
||||
},
|
||||
"mute_category": {
|
||||
"message": "Σίγαση {0};"
|
||||
},
|
||||
"skip_to_category": {
|
||||
"message": "Παράλειψη προς το σημείο «{0}»;",
|
||||
"description": "Used for skipping to things (Skip to Highlight)"
|
||||
@@ -298,15 +348,19 @@
|
||||
"message": "Παραλείφθηκε «{0}»",
|
||||
"description": "Example: Sponsor Skipped"
|
||||
},
|
||||
"muted": {
|
||||
"message": "Σίγαση {0}",
|
||||
"description": "Example: Sponsor Muted"
|
||||
},
|
||||
"skipped_to_category": {
|
||||
"message": "Παραλείφθηκε προς το σημείο «{0}»",
|
||||
"description": "Used for skipping to things (Skipped to Highlight)"
|
||||
},
|
||||
"disableAutoSkip": {
|
||||
"message": "Απενεργοποίηση Αυτόματης Παράληψης"
|
||||
"message": "Απενεργοποίηση Αυτόματης Παράλειψης"
|
||||
},
|
||||
"enableAutoSkip": {
|
||||
"message": "Ενεργοποίηση Αυτόματης Παράληψης"
|
||||
"message": "Ενεργοποίηση Αυτόματης Παράλειψης"
|
||||
},
|
||||
"audioNotification": {
|
||||
"message": "Ηχητική ειδοποίηση κατά την παράληψη"
|
||||
@@ -315,7 +369,7 @@
|
||||
"message": "Οι ειδοποιήσεις μετά την παράλειψη κάθε τμήματος θα αναπαράγουν ήχο. Εάν είναι ανενεργή αυτή η επιλογή εκτός αν η αυτόματη παράλειψη είναι ανενεργή."
|
||||
},
|
||||
"showTimeWithSkips": {
|
||||
"message": "Εμφάνιση χρόνου συμπεριλαμβάνοντας τις παραλήψεις"
|
||||
"message": "Εμφάνιση χρόνου συμπεριλαμβάνοντας τις παραλείψεις"
|
||||
},
|
||||
"showTimeWithSkipsDescription": {
|
||||
"message": "Αυτός ο χρόνος εμφανίζεται σε παρενθέσεις δίπλα από τον τρέχων χρόνο που είναι κάτω από την μπάρα χρόνου. Αυτό δείχνει την συνολική διάρκεια του βίντεο πλην οποιουδήποτε τμήματος. Αυτό περιλαμβάνει και τα τμήματα που εμφανίζονται μόνο στην μπάρα χρόνου."
|
||||
@@ -346,14 +400,8 @@
|
||||
"statusReminder": {
|
||||
"message": "Ελέγξτε το status.sponsor.ajay.app για την κατάσταση διακομιστή."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Εισαγωγή/Εξαγωγή της Ταυτότητας Χρήστη σας"
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Ορισμός Ταυτότητας Χρήστη"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Προσοχή: Η αλλαγή της Ταυτότητας Χρήστη είναι μόνιμη. Είστε βέβαιοι ότι θέλετε να το κάνετε; Βεβαιωθείτε ότι έχετε δημιουργήσει αντίγραφο ασφαλείας του παλιού σας για παν ενδεχόμενο."
|
||||
"whatChangeUserID": {
|
||||
"message": "Κρατείστε το μυστικό. Αυτό είναι σαν ένα κωδικό πρόσβασης όπου δε θα έπρεπε να μοιράζεστε με κανένα. Εάν το αποκτήσει κάποιος, μπορεί να σας υποδυθεί. Εάν ψάχνετε για τη δημόσια ταυτότητα χρήστη σας, πατήστε πάνω στο αναδυόμενο εικονίδιο πρόχειρου."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Δημιουργήθηκε από"
|
||||
@@ -369,7 +417,7 @@
|
||||
"message": "Υποστηριζόμενες Ιστοσελίδες: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Ενεργοποίηση υποστήριξης «Invidious», απενεργοποίηση αυτόματης παράληψης, απόκρυψη κουμπιών και άλλα."
|
||||
"message": "Ενεργοποίηση υποστήριξης «Invidious», απενεργοποίηση αυτόματης παράλειψης, απόκρυψη κουμπιών και άλλα."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Προσθήκη 3ου πελάτη συνεδρίας"
|
||||
@@ -407,6 +455,9 @@
|
||||
"shortCheck": {
|
||||
"message": "Η ακόλουθη υποβολή είναι μικρότερη από την επιλεγμένη ελάχιστη διάρκεια. Αυτό θα μπορούσε να σημαίνει ότι αυτό το τμήμα έχει ήδη υποβληθεί, και απλά αγνοείται λόγω αυτής της επιλογής. Είστε σίγουροι ότι θα θέλατε να το υποβάλετε;"
|
||||
},
|
||||
"liveOrPremiere": {
|
||||
"message": "Η υποβολή σε μια ζωντανή μετάδοση σε εξέλιξη ή σε μια πρεμιέρα δεν επιτρέπεται. Παρακαλώ περιμένετε μέχρι να τελειώσει, στην συνέχεια ανανεώστε την σελίδα και επαληθεύστε ότι τα τμήματα είναι έγκυρα."
|
||||
},
|
||||
"showUploadButton": {
|
||||
"message": "Εμφάνιση κουμπιού υποβολής"
|
||||
},
|
||||
@@ -434,8 +485,14 @@
|
||||
"exportOptions": {
|
||||
"message": "Εισαγωγή/Εξαγωγή όλων των ρυθμίσεων"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Αυτές είναι όλες σας οι ρυθμίσεις σε αρχείο JSON. Αυτό περιλαμβάνει και την Ταυτότητα Χρήστη, οπότε μοιραστείτε το με προσοχή."
|
||||
"exportOptionsCopy": {
|
||||
"message": "Επεξεργασία/αντιγραφή"
|
||||
},
|
||||
"exportOptionsDownload": {
|
||||
"message": "Αποθήκευση σε αρχείο"
|
||||
},
|
||||
"exportOptionsUpload": {
|
||||
"message": "Φόρτωση από αρχείο"
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Ορισμός Επιλογών"
|
||||
@@ -482,28 +539,74 @@
|
||||
"copyDebugInformationComplete": {
|
||||
"message": "Οι πληροφορίες εντοπισμού σφαλμάτων έχουν αντιγραφεί στο πρόχειρο. Μη διστάσετε να αφαιρέσετε οποιαδήποτε πληροφορία που προτιμάτε να μη μοιραστείτε. Αποθηκεύστε τες σε ένα αρχείο κειμένου ή επικολλήστε στην αναφορά σφάλματός σας."
|
||||
},
|
||||
"keyAlreadyUsed": {
|
||||
"message": "Αυτό το πλήκτρο έχει οριστεί ως συντόμευση για άλλη ενέργεια. Παρακαλώ επιλέξτε ένα άλλο πλήκτρο."
|
||||
},
|
||||
"to": {
|
||||
"message": "έως",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Συμπερίληψη τμημάτων μεταβάσεων"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Ροή περιεχομένου σαν να μην υπήρξε ποτέ παράλειψη"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Χορηγία"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Προώθηση επί πληρωμή, παραπομπές επί πληρωμή και άμεσες διαφημίσεις. Όχι, για προσωπική προώθηση ή δωρεάν αναφορές σε δημιουργούς/ιστοσελίδες/προϊόντα που τους αρέσουν."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Προώθηση επί πληρωμή"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Όχι για δωρεές ή προσαρμοσμένα προϊόντα"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Αφιλοκέρδεια/Προσωπική Προώθηση"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Παρόμοιο με τη «χορηγία» αλλά για μη κερδοσκοπικό σκοπό ή για προσωπική προώθηση. Αυτό συμπεριλαμβάνει τμήματα από εμπορεύματα, δωρεές, ή πληροφορίες σχετικές με το ποιους συνεργάστηκαν."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Δωρεές, συνδρομές και προσαρμοσμένα προϊόντα"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Δωρεάν αναφορές που δεν προστίθενται στο βίντεο"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Όχι για προϊόντα ή ρουχισμό που έχει κατασκευαστεί από αλυσίδες επιχειρήσεων"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Αποκλειστική Πρόσβαση"
|
||||
},
|
||||
"category_exclusive_access_description": {
|
||||
"message": "Μόνο για χαρακτηρισμό ολοκλήρου του βίντεο. Χρησιμοποιείται όταν ένα βίντεο παρουσιάζει ένα προϊόν, υπηρεσία, ή τοποθεσία αποκλειστικής ή δωρεάν πρόσβασής τους."
|
||||
},
|
||||
"category_exclusive_access_pill": {
|
||||
"message": "Αυτό το βίντεο παρουσιάζει ένα προϊόν, υπηρεσία, ή τοποθεσία αποκλειστικής ή δωρεάν πρόσβασής τους",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Ολόκληρο το βίντεο παρουσιάζει κάτι με δωρεάν ή επιδοτούμενη πρόσβαση"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Υπενθύμιση Αλληλεπίδρασης (Εγγραφή)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Όταν υπάρχει μια σύντομη υπενθύμιση για να προσθέσετε το βίντεο στα βίντεο που σας αρέσουν, να εγγραφείτε ή να τους ακολουθήσετε στη μέση του περιεχομένου. Εάν διαρκεί για αρκετή ώρα, τότε αυτό περιλαμβάνεται στη κατηγορία «προσωπική προώθηση»."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Σύντομες υπενθυμίσεις εγγραφής, μου αρέσει και ακολούθησης"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Περιλαμβάνει έμμεσες υπενθυμίσεις για σχόλια"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Όχι για γενικότερες προωθήσεις, μόνο για εκκλήσεις βοήθειας"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Υπενθύμιση Αλληλεπίδρασης"
|
||||
},
|
||||
@@ -516,17 +619,47 @@
|
||||
"category_intro_short": {
|
||||
"message": "Διάλειμμα"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Χρονικό διάστημα χωρίς ουσιαστικό περιεχόμενο"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Όχι για μεταβάσεις που συμπεριλαμβάνουν πληροφορίες"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Προτεινόμενα βίντεο καναλιών/Εύσημα"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Όταν εμφανίζονται τα εύσημα ή τα προτεινόμενα βίντεο των καναλιών. Όχι, για επίλογους που περιέχουν πληροφορίες."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Μη συμπερίληψη περιεχομένου, ακόμα και αν τα προτεινόμενα βίντεο βρίσκονται στην οθόνη"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Προεπισκόπηση/Αναθεώρηση"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Γρήγορη ανακεφαλαίωση προηγουμένων επεισοδίων, ή προεπισκόπηση του τι ακολουθεί στο τρέχων βίντεο. Εννοώντας επεξεργασία μερικών κλιπ μαζί, όχι για προφορικές περιγραφές."
|
||||
"category_preview_guideline1": {
|
||||
"message": "Κλιπ που εμφανίζονται μετά, ή σε μελλοντικά βίντεο"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Ανακεφαλαίωση προηγούμενου βίντεο"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Όχι για μέρη που περιλαμβάνουν πρόσθετο περιεχόμενο"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Σπατάλη Χρόνου/Περιττό σχόλιο"
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Περιττό"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Άσχετες σκηνές μόνο για σπατάλη χρόνου ή περιττά σχόλια"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Αποσπάσεις, επαναλήψεις, αποτυχημένες λήψεις"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Όχι για σκηνές που απαιτούνται για την κατανόηση του θέματος"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Μουσική: Τμήμα χωρίς μουσική"
|
||||
@@ -537,12 +670,27 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Χωρίς Μουσική"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Μέρη τα οποία δεν έχουν κυκλοφορήσει επίσημα"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Χωρίς μουσική σε ζωντανή συναυλία"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Καλύτερη στιγμή"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "Το κομμάτι του βίντεο που ψάχνουν να δουν οι περισσότεροι άνθρωποι. Παρόμοιο με το «Το βίντεο ξεκινάει από το x σημείο» στα σχόλια."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "Το μέρος που ψάχνουν οι περισσότεροι"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Ίσως παραλειφθεί κάτι που συμβάλει στην κατανόηση"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Παράλειψη προς το περιεχόμενο όπου παρουσιάζεται στον τίτλο ή το εικονίδιο"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Ζωντανή μετάδοση: Δωρεές/Ανάγνωση Μηνυμάτων από δωρεές"
|
||||
},
|
||||
@@ -550,10 +698,10 @@
|
||||
"message": "Ανάγνωση Μηνυμάτων"
|
||||
},
|
||||
"autoSkip": {
|
||||
"message": "Αυτόματη Παράληψη"
|
||||
"message": "Αυτόματη Παράλειψη"
|
||||
},
|
||||
"manualSkip": {
|
||||
"message": "Χειροκίνητη Παράληψη"
|
||||
"message": "Χειροκίνητη Παράλειψη"
|
||||
},
|
||||
"showOverlay": {
|
||||
"message": "Εμφάνιση στην μπάρα χρόνου"
|
||||
@@ -570,9 +718,19 @@
|
||||
"showOverlay_POI": {
|
||||
"message": "Εμφάνιση στην μπάρα χρόνου"
|
||||
},
|
||||
"showOverlay_full": {
|
||||
"message": "Εμφάνιση Ετικέτας"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Αυτόματη παράλειψη όλων των τμημάτων όταν είναι «Χωρίς μουσική»"
|
||||
},
|
||||
"muteSegments": {
|
||||
"message": "Επιτρέψτε τμήματα που κάνουν σίγαση αντί για παράλειψη"
|
||||
},
|
||||
"fullVideoSegments": {
|
||||
"message": "Εμφάνιση εικονιδίου όταν όλο το βίντεο είναι διαφημιστικό εξολοκλήρου",
|
||||
"description": "Referring to the category pill that is now shown on videos that are entirely sponsor or entirely selfpromo"
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Χρώμα Μη Υποβληθέντων",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
@@ -609,6 +767,9 @@
|
||||
"message": "Για να υποβάλετε τμήματα της «{0}» κατηγορίας, πρέπει να την ενεργοποιήσετε στις ρυθμίσεις. Θα μεταφερθείτε στις ρυθμίσεις τώρα.",
|
||||
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
|
||||
},
|
||||
"poiOnlyOneSegment": {
|
||||
"message": "Προσοχή: Αυτός ο τύπος τμήματος μπορεί να υπάρξει μόνο μια φορά. Εάν υποβάλετε πολλαπλά τότε εμφανίζεται ένα από τα τμήματα στην τύχη."
|
||||
},
|
||||
"youMustSelectACategory": {
|
||||
"message": "Πρέπει να επιλέξετε Κατηγορία για όλα τα τμήματα που υποβάλετε!"
|
||||
},
|
||||
@@ -621,16 +782,13 @@
|
||||
"hiddenDueToDuration": {
|
||||
"message": "κρυφό: πολύ κοντό"
|
||||
},
|
||||
"manuallyHidden": {
|
||||
"message": "χειροκίνητη απόκρυψη"
|
||||
},
|
||||
"channelDataNotFound": {
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "Η ταυτότητα καναλιού δεν έχει φορτώσει ακόμα. Εάν χρησιμοποιείτε ενσωματωμένο βίντεο, δοκιμάστε αντιθέτως να το ανοίξετε στο YouTube. Μπορεί επίσης να ευθύνονται αλλαγές στη διάταξη του YouTube, εάν το πιστεύετε, γράψτε ένα σχόλιο εδώ:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Φαίνεται ότι κάτι εμποδίζει το SponsorBlock να ανακτήσει δεδομένα βίντεο. Παρακαλώ δείτε αυτό https://github.com/ajayyy/SponsorBlock/issues/741 για περισσότερες πληροφορίες."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Φαίνεται ότι το SponsorBlock δεν μπορεί να επικοινωνήσει με το YouTube API. Για να το διορθώσετε αυτό, αποδεχτείτε την προτροπή άδειας, που θα εμφανιστεί στη συνέχεια, περιμένετε μερικά δευτερόλεπτα και στη συνέχεια ανανεώστε τη σελίδα."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Αποδεχτείτε την άδεια"
|
||||
},
|
||||
@@ -655,6 +813,9 @@
|
||||
"downvoteDescription": {
|
||||
"message": "Λάθος Συγχρονισμός"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Αλλαγή κατηγορίας"
|
||||
},
|
||||
"nonMusicCategoryOnMusic": {
|
||||
"message": "Αυτό το βίντεο έχει κατηγοριοποιηθεί ως μουσική. Είσαστε σίγουροι ότι έχει χορηγία; Εάν είναι ένα τμήμα «Χωρίς μουσική», ανοίξτε τις επιλογές της επέκτασης και ενεργοποιήστε αυτήν την κατηγορία. Μετά μπορείτε, να υποβάλετε αυτό το τμήμα ως «Χωρίς μουσική», αντί για χορηγία. Παρακαλώ διαβάστε τις οδηγίες, εάν είστε μπερδεμένοι."
|
||||
},
|
||||
@@ -681,6 +842,12 @@
|
||||
"message": "Το' χω",
|
||||
"description": "Used as the button to dismiss a tooltip"
|
||||
},
|
||||
"fullVideoTooltipWarning": {
|
||||
"message": "Αυτό το τμήμα είναι μεγάλο. Αν όλο το βίντεο έχει να κάνει με ένα θέμα, τότε αλλάξτε την επιλογή από \"Παράλειψη\" σε \"Όλο το βίντεο\". Δείτε τις οδηγίες για περισσότερες πληροφορίες."
|
||||
},
|
||||
"categoryPillTitleText": {
|
||||
"message": "Ολόκληρο το βίντεο έχει χαρακτηριστεί ως αυτής της κατηγορίας οπότε είναι αυστηρά ενσωματωμένη ώστε να μπορείτε να το διαφοροποιήσετε σε τμήματα"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Αποχή από μελλοντικά πειράματα",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
@@ -688,16 +855,33 @@
|
||||
"hideForever": {
|
||||
"message": "Απόκρυψη για πάντα"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Η ψήφος απορρίφθηκε λόγο μιας προειδοποίησης. Πατήστε για να ανοίξετε μια συνομιλία ώστε να το διορθώσετε, ή επιστρέψτε όταν έχετε περισσότερο χρόνο.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningChatInfo": {
|
||||
"message": "Παρατηρήσαμε ότι κάνατε συνηθισμένα μη κακόβουλα λάθη"
|
||||
},
|
||||
"warningTitle": {
|
||||
"message": "Λάβατε προειδοποίηση"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "Έχω μια ερώτηση"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Κατανοώ το λόγο"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Σφάλμα κατά τη γνωστοποίηση της προειδοποίησης:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Δωρεά"
|
||||
},
|
||||
"considerDonating": {
|
||||
"message": "Χρηματική βοήθεια για την ανάπτυξή μας"
|
||||
},
|
||||
"hideDonationLink": {
|
||||
"message": "Απόκρυψη Συνδέσμου Δωρεάς"
|
||||
},
|
||||
"darkModeOptionsPage": {
|
||||
"message": "Σκουρόχρωμη Λειτουργία στη σελίδα Ρυθμίσεις"
|
||||
},
|
||||
"helpPageThanksForInstalling": {
|
||||
"message": "Ευχαριστούμε που εγκαταστήσατε το SponsorBlock."
|
||||
},
|
||||
@@ -715,5 +899,137 @@
|
||||
},
|
||||
"helpPageHowSkippingWorks2": {
|
||||
"message": "Κάθε φορά που παραλείπετε κάποιο τμήμα, θα λαμβάνετε ειδοποίηση. Εάν ο συγχρονισμός σας φαίνεται λάθος, ψηφίστε αρνητικά πατώντας το εικονίδιο! Μπορείτε επίσης να ψηφίσετε μέσω του αναδυόμενου παράθυρου."
|
||||
},
|
||||
"Submitting": {
|
||||
"message": "Υποβολή"
|
||||
},
|
||||
"helpPageSubmitting1": {
|
||||
"message": "Η υποβολή μπορεί είτε να γίνει στο αναδυόμενο παράθυρο πατώντας το κουμπί «Το τμήμα ξεκινάει εδώ» είτε στα κουμπιά κάτω από την μπάρα χρόνου κατά την αναπαραγωγή βίντεο."
|
||||
},
|
||||
"helpPageSubmitting2": {
|
||||
"message": "Πατώντας το κουμπί αναπαραγωγής δείχνετε την αρχή του τμήματος και πατώντας το κουμπί της διακοπής δείχνετε το τέλος του τμήματος. Μπορείτε να ετοιμάσετε πολλαπλά τμήματα χορηγιών πρώτου πατήσετε υποβολή. Πατώντας το κουμπί της αποστολής τα τμήματα υποβάλλονται, ενώ πατώντας το εικονίδιο του κάδου απορριμάτων τα διαγραφεί."
|
||||
},
|
||||
"Editing": {
|
||||
"message": "Επεξεργασία"
|
||||
},
|
||||
"helpPageEditing1": {
|
||||
"message": "Αν κάνατε κάτι λάθος, μπορείτε να διορθώσετε ή να διαγράψετε τα τμήματα σας πατώντας το εικονίδιο πάνω βελάκι."
|
||||
},
|
||||
"helpPageTooSlow": {
|
||||
"message": "Το να υποβάλεις τμήματα παίρνει χρόνο, υπάρχει ποιο γρήγορος τρόπος;"
|
||||
},
|
||||
"helpPageTooSlow1": {
|
||||
"message": "Συντομεύσεις που μπορείτε να χρησιμοποιήσετε εάν το επιθυμείτε. Πατήστε την αγγλική άνω τελεία «;» για να δείξετε την αρχή/το τέλος ενός τμήματος χορηγίας και πατήστε την απόστροφο για υποβολή. Αυτές οι συντομεύσεις αλλάζουν στις ρυθμίσεις. Εάν δεν χρησιμοποιείτε το σύστημα πληκτρολόγησης «QWERTY», θα ήταν καλύτερο τα τις αλλάξετε."
|
||||
},
|
||||
"helpPageCopyOfDatabase": {
|
||||
"message": "Μπορώ να λάβω ένα αντίγραφο της βάσης δεδομένων; Τι θα συμβεί αν η επέκταση εξαφανιστεί;"
|
||||
},
|
||||
"helpPageCopyOfDatabase1": {
|
||||
"message": "Η βάση δεδομένων είναι δημόσια διαθέσιμη στη σελίδα"
|
||||
},
|
||||
"helpPageCopyOfDatabase2": {
|
||||
"message": "Ο πηγαίος κώδικας είναι δημόσια διαθέσιμος. Έτσι ώστε, ακόμα και αν συμβεί κάτι σε εμάς, οι υποβολές σας δε θα χαθούν."
|
||||
},
|
||||
"helpPageNews": {
|
||||
"message": "Νέα και πως δημιουργήθηκε η επέκταση"
|
||||
},
|
||||
"helpPageSourceCode": {
|
||||
"message": "Πού μπορώ να βρω τον πηγαίο κώδικα;"
|
||||
},
|
||||
"Credits": {
|
||||
"message": "Εύσημα"
|
||||
},
|
||||
"LearnMore": {
|
||||
"message": "Μάθετε περισσότερα"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Πλήρεις Λεπτομέρειες"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Καταψήφιση και δημιουργία τοπικού αντίγραφου για επανάληψη υποβολής"
|
||||
},
|
||||
"OpenCategoryWikiPage": {
|
||||
"message": "Άνοιγμα σελίδας wiki της κατηγορίας."
|
||||
},
|
||||
"CopyAndDownvote": {
|
||||
"message": "Αντίγραφο και καταψήφιση"
|
||||
},
|
||||
"ContinueVoting": {
|
||||
"message": "Συνεχίστε την ψηφοφορία"
|
||||
},
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Αυτό θα εφαρμοστεί απευθείας στα τμήματά σας"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Αρνητική ψήφος"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Θετική ψήφος"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Απόκρυψη τμήματος"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Χρήση της ροδέλας ποντικιού καθώς είναι πάνω από το παράθυρο επεξεργασίας για να αλλάξετε γρηγορότερα τον χρόνο. Συνδυασμοί όπως το ctrl ή το shift χρησιμοποιούνται για να τελειοποιήσετε τις αλλαγές."
|
||||
},
|
||||
"categoryPillNewFeature": {
|
||||
"message": "Νέο! Δείτε ποτέ ένα βίντεο αποτελείται εξολοκλήρου από προσωπικές προωθήσεις ή χορηγίες"
|
||||
},
|
||||
"dayAbbreviation": {
|
||||
"message": "ημ",
|
||||
"description": "100d"
|
||||
},
|
||||
"hourAbbreviation": {
|
||||
"message": "ω",
|
||||
"description": "100h"
|
||||
},
|
||||
"optionsTabBehavior": {
|
||||
"message": "Συμπεριφορά παραλ.",
|
||||
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabInterface": {
|
||||
"message": "Διεπαφή",
|
||||
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabKeyBinds": {
|
||||
"message": "Συντομεύσεις πλήκτρων",
|
||||
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabBackup": {
|
||||
"message": "Αντίγραφο/Επαναφορά",
|
||||
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabAdvanced": {
|
||||
"message": "Διάφορα",
|
||||
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"noticeVisibilityLabel": {
|
||||
"message": "Εμφάνιση ειδοποίησης παράλειψης",
|
||||
"description": "Option label"
|
||||
},
|
||||
"unbind": {
|
||||
"message": "Αφαίρεση",
|
||||
"description": "Unbind keyboard shortcut"
|
||||
},
|
||||
"notSet": {
|
||||
"message": "Δεν έχει οριστεί"
|
||||
},
|
||||
"change": {
|
||||
"message": "Αλλαγή"
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Αυτή η συντόμευση χρησιμοποιείται από το YouTube. Σίγουρα θέλετε να την χρησιμοποιήσετε;"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "Ο Δοκιμαστικός Διακομιστής είναι ενεργός!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Άνοιγμα σελίδας ρυθμίσεων"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Επαναφορά των προκαθορισμένων ρυθμίσεων"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Είστε βέβαιοι ότι θέλετε να επαναφέρετε όλες τις ρυθμίσεις στις προεπιλεγμένες τιμές τους; Αυτό δεν μπορεί να αναιρεθεί."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,19 @@
|
||||
"Segments": {
|
||||
"message": "segments"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Segments"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Chapters"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Render segments as chapters",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"showSegmentNameInChapterBar": {
|
||||
"message": "Show Current Segment Beside Video Time"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Upvote this submission"
|
||||
},
|
||||
@@ -77,10 +90,10 @@
|
||||
"message": "No segments found"
|
||||
},
|
||||
"sponsorStart": {
|
||||
"message": "Segment Starts Now"
|
||||
"message": "Start Segment Now"
|
||||
},
|
||||
"sponsorEnd": {
|
||||
"message": "Segment Ends Now"
|
||||
"message": "End Segment Now"
|
||||
},
|
||||
"sponsorCancel": {
|
||||
"message": "Cancel Creating Segment"
|
||||
@@ -101,7 +114,7 @@
|
||||
"message": "It seems the server is down. Contact the dev immediately."
|
||||
},
|
||||
"connectionError": {
|
||||
"message": "A connection error has occured. Error code: "
|
||||
"message": "A connection error has occurred. Error code: "
|
||||
},
|
||||
"clearTimes": {
|
||||
"message": "Clear Segments"
|
||||
@@ -112,9 +125,15 @@
|
||||
"closePopup": {
|
||||
"message": "Close Popup"
|
||||
},
|
||||
"closeIcon": {
|
||||
"message": "Close Icon"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Submit Segments"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Sort Segments"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Are you sure you want to submit this?"
|
||||
},
|
||||
@@ -164,6 +183,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "Copy Public UserID"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Copy Segment ID"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Come join the official discord server to give suggestions and feedback!"
|
||||
},
|
||||
@@ -230,12 +252,21 @@
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "If the video is new, and there are no segments found, it will keep refetching every few minutes while you watch."
|
||||
},
|
||||
"enableShowCategoryWithoutPermission": {
|
||||
"message": "Show categories in submission menu even without submission permission"
|
||||
},
|
||||
"whatShowCategoryWithoutPermission": {
|
||||
"message": "Some categories require permission to submit due to minimum reputation requirements"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Show Notice Again"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Show Notice After A Segment Is Skipped"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Show Category Help"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Full Size Skip Notices"
|
||||
},
|
||||
@@ -283,6 +314,14 @@
|
||||
"message": "Submit segments",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Next chapter",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Previous chapter",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Select a key by typing it and choose any modifier keys you wish to use."
|
||||
},
|
||||
@@ -353,7 +392,7 @@
|
||||
"message": "Show Time With Skips Removed"
|
||||
},
|
||||
"showTimeWithSkipsDescription": {
|
||||
"message": "This time appears in brackets next to the current time on below the seekbar. This shows the total video duration minus any segments. This includes segments marked as only \"Show In Seekbar\"."
|
||||
"message": "This time appears in brackets next to the current time on below the Seek Bar. This shows the total video duration minus any segments. This includes segments marked as only \"Show In Seek Bar\"."
|
||||
},
|
||||
"youHaveSkipped": {
|
||||
"message": "You've skipped "
|
||||
@@ -382,16 +421,16 @@
|
||||
"message": "Check status.sponsor.ajay.app for server status."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Import/Export Your UserID"
|
||||
"message": "Import/Export Your Private UserID"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "This should be kept private. This is like a password and should not be shared with anyone. If someone has this, they can impersonate you. If you are looking for your public userID, click the clipboard icon in the popup."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Set UserID"
|
||||
"message": "Set Private UserID"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Warning: Changing the UserID is permanent. Are you sure you would like to do this? Make sure to backup your old one just in case."
|
||||
"message": "Warning: Changing the Private UserID is permanent. Are you sure you would like to do this? Make sure to backup your old one just in case."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Created By"
|
||||
@@ -407,7 +446,7 @@
|
||||
"message": "Supported Sites: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Enable Invidious support, disable autoskip, hide buttons and more."
|
||||
"message": "Enable Invidious support, disable auto skip, hide buttons and more."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Add 3rd-Party Client Instance"
|
||||
@@ -436,6 +475,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Segments shorter than the set value will not be skipped or show in the player."
|
||||
},
|
||||
"enableManualSkipOnFullVideo": {
|
||||
"message": "Use manual skip when a full video label exists"
|
||||
},
|
||||
"whatManualSkipOnFullVideo": {
|
||||
"message": "For people who want to watch the video uninterrupted if it is fully sponsored or self promotion."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Skip notice duration (seconds):"
|
||||
},
|
||||
@@ -485,7 +530,7 @@
|
||||
"message": "Load from file"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "This is your entire configuration in JSON. This includes your userID, so be sure to share this wisely."
|
||||
"message": "This is your entire configuration in JSON. This includes your Private UserID, so be sure to share this wisely."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Set Options"
|
||||
@@ -496,7 +541,7 @@
|
||||
"incorrectlyFormattedOptions": {
|
||||
"message": "This JSON is not formatted correctly. Your options have not been changed."
|
||||
},
|
||||
"confirmNoticeTitle" : {
|
||||
"confirmNoticeTitle": {
|
||||
"message": "Submit Segment"
|
||||
},
|
||||
"submit": {
|
||||
@@ -539,18 +584,43 @@
|
||||
"message": "to",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Copied!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Include segue transitions"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Plays as if nothing was skipped"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Sponsor"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Paid promotion, paid referrals and direct advertisements. Not for self-promotion or free shoutouts to causes/creators/websites/products they like."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Paid promotions"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Not for donations or custom merch"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Unpaid/Self Promotion"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Similar to \"sponsor\" except for unpaid or self promotion. This includes sections about merchandise, donations, or information about who they collaborated with."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Donations, memberships and custom merch"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Free shoutouts that don't add to the video"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Not for corporate designed products and merch"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Exclusive Access"
|
||||
},
|
||||
@@ -561,12 +631,24 @@
|
||||
"message": "This video showcases a product, service or location that they've received free or subsidized access to",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Entire video showcases something with free or subsidized access"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Interaction Reminder (Subscribe)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "When there is a short reminder to like, subscribe or follow them in the middle of content. If it is long or about something specific, it should be under self promotion instead."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Short reminders to like, subscribe or follow"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Includes indirect reminders to comment"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Not for general promotion, only calls to action"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Interaction Reminder"
|
||||
},
|
||||
@@ -579,27 +661,54 @@
|
||||
"category_intro_short": {
|
||||
"message": "Intermission"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Interval without actual content"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Not for transitions with information"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Endcards/Credits"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Credits or when the YouTube endcards appear. Not for conclusions with information."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Don't include content, even if endcards are on screen"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Preview/Recap"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Quick recap of previous episodes, or a preview of what's coming up later in the current video. Meant for edited together clips, not for spoken summaries."
|
||||
"message": "Collection of clips that show what is coming up in in this video or other videos in a series where all information is repeated later in the video."
|
||||
},
|
||||
"category_preview_guideline1": {
|
||||
"message": "Clips that appear later, or in a future video"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Recap of a previous video"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Not for sections that add additional content"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Filler Tangent/Jokes"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Tangential scenes added only for filler or humor that are not required to understand the main content of the video. This should not include segments providing context or background details."
|
||||
"message": "Tangential scenes added only for filler or humor that are not required to understand the main content of the video. This should not include segments providing context or background details. This is a very aggressive category meant for when you aren't in the mood for \"fun\"."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Filler"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Tangential scenes only for filler or humor"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Distractions, bloopers, replays"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Not for scenes required to understand the topic"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Music: Non-Music Section"
|
||||
},
|
||||
@@ -609,12 +718,42 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Non-Music"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Sections not in official releases"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Non-music in a live performance"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Highlight"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "The part of the video that most people are looking for. Similar to \"Video starts at x\" comments."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "Section most people are looking for"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Can skip context"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Can skip to the title or thumbnail"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Chapter"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "Custom named chapters describing major sections of a video."
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "Don't mention sponsor brand names"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "Use larger chapters for general sections"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "Smaller chapters can be placed inside larger ones"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Livestream: Donation/Message Readings"
|
||||
},
|
||||
@@ -645,6 +784,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "Show Label"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Show Chapters"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Auto skip all segments when there is a non-music segment"
|
||||
},
|
||||
@@ -700,6 +842,10 @@
|
||||
"bracketEnd": {
|
||||
"message": "(End)"
|
||||
},
|
||||
"End": {
|
||||
"message": "End",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "hidden: downvote"
|
||||
},
|
||||
@@ -713,11 +859,8 @@
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "Channel ID is not loaded yet. If you are using an embedded video, try using the YouTube homepage instead. This could also be caused by changes in the YouTube layout, if you think so, make a comment here:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "It seems that something is blocking SponsorBlock's ability to get video data. Please see https://github.com/ajayyy/SponsorBlock/issues/741 for more info."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "It seems that SponsorBlock is unable to reach the YouTube API. To fix this, accept the permission prompt that will appear next, wait a few seconds, and then reload the page."
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "The browser has revoked the permission needed to function on Invidious and other 3rd-party sites. Please click the button below to reactivate this permission."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Accept permission"
|
||||
@@ -743,6 +886,13 @@
|
||||
"downvoteDescription": {
|
||||
"message": "Incorrect/Wrong Timing"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Incorrect"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Harmful",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Change Category"
|
||||
},
|
||||
@@ -778,6 +928,9 @@
|
||||
"categoryPillTitleText": {
|
||||
"message": "This entire video is labeled as this category and is too tightly integrated to be able to separate"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "One of your chapter names is similar to a category. You should use categories when possible instead."
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Opt-out of all future experiments",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
@@ -786,11 +939,19 @@
|
||||
"message": "Hide forever"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "You got a warning and cannot submit segments temporarily. This means that we noticed you were making some common mistakes that are not malicious, please just confirm that you understand the rules and we will remove the warning. You can also join this chat using discord.gg/SponsorBlock or matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "We noticed you were making some common mistakes that are not malicious"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Vote rejected due to a warning. Click to open a chat to resolve it, or come back later when you have time.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "You got a warning"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "I have a question"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "I understand the reason"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Error when trying to acknowledge warning:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Donate"
|
||||
@@ -864,21 +1025,39 @@
|
||||
"LearnMore": {
|
||||
"message": "Learn More"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"FullDetails": {
|
||||
"message": "Full Details"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Downvotes and creates a local copy for you to resubmit"
|
||||
},
|
||||
"OpenCategoryWikiPage": {
|
||||
"message": "Open this category's wiki page."
|
||||
},
|
||||
"CopyAndDownvote": {
|
||||
"OpenCategoryWikiPage": {
|
||||
"message": "Open this category's wiki page."
|
||||
},
|
||||
"CopyAndDownvote": {
|
||||
"message": "Copy and downvote"
|
||||
},
|
||||
"ContinueVoting": {
|
||||
"ContinueVoting": {
|
||||
"message": "Continue Voting"
|
||||
},
|
||||
"ChangeCategoryTooltip": {
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "This will instantly apply to your segments"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Downvote"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Upvote"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Hide segment"
|
||||
},
|
||||
"skipSegment": {
|
||||
"message": "Skip segment"
|
||||
},
|
||||
"playChapter": {
|
||||
"message": "Play chapter"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Use your mousewheel while hovering over the edit box to quickly adjust the time. Combinations of the ctrl or shift key can be used to fine tune the changes."
|
||||
},
|
||||
@@ -929,5 +1108,140 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "This is a built-in YouTube shortcut. Are you sure you want to use it?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "BETA Server is enabled!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Open options page"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Reset settings to default"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Are you sure you want to reset all settings to their default values? This cannot be undone."
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Export segments"
|
||||
},
|
||||
"importSegments": {
|
||||
"message": "Import segments"
|
||||
},
|
||||
"Import": {
|
||||
"message": "Import",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "Redeem Successful!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "License key is invalid"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "Hide options not available without extra payment"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Choose a country"
|
||||
},
|
||||
"noDiscount": {
|
||||
"message": "You do not qualify for a discount"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "Discount Link (See the pink price)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Select your country"
|
||||
},
|
||||
"alreadyDonated": {
|
||||
"message": "If you've donated any amount before now, you may redeem free access by emailing:",
|
||||
"description": "After the colon is an email address"
|
||||
},
|
||||
"cantAfford": {
|
||||
"message": "If you can't afford to purchase a license, click {here} to see if you are eligible for a discount",
|
||||
"description": "Keep the curly braces. The word 'here' should be translated as well."
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Sign in with Patreon"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "Redeem"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Subscribe on Patreon"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "One Time Purchase"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Enter License Key"
|
||||
},
|
||||
"chaptersPage1": {
|
||||
"message": "SponsorBlock crowd-sourced chapters feature is only available to people who purchase a license, or for people who are granted access for free due their past contributions"
|
||||
},
|
||||
"chaptersPage2": {
|
||||
"message": "Note: Permission to submit chapters is still based on calculated reputation. Purchasing a license only allows you to view chapters submitted by others",
|
||||
"description": "On the chapters page for getting access to the paid chapters feature"
|
||||
},
|
||||
"chapterNewFeature": {
|
||||
"message": "New Feature: Crowd-sourced custom chapters. These are custom-named sections in videos that can be stacked to get more and more precise. Purchase a license to view the chapters submitted on this video such as: ",
|
||||
"description": "After the comma, a list of chapters for this video will appear"
|
||||
},
|
||||
"chapterNewFeature2": {
|
||||
"message": "New Feature: Crowd-sourced custom chapters. These are custom-named sections in videos that can be stacked to get more and more precise. You have access for free, enable in options."
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "You currently have {0} on {1}",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "You currently have no unsubmitted segments",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "unsubmitted segment",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "unsubmitted segments",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "video",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "videos",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "Clear all segments",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "Are you sure you want to clear all your unsubmitted segments?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "Show segments",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "Hide segments",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "Video ID",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "Segment Count",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "Actions",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "Share as URL"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"description": "Description of the extension."
|
||||
},
|
||||
"400": {
|
||||
"message": "Servidor dijo que esta solicitud no es valida"
|
||||
"message": "El servidor dijo que esta solicitud no era válida"
|
||||
},
|
||||
"429": {
|
||||
"message": "Has enviado demasiados tiempos de sponsor en este video, ¿estas seguro de que hay tantos?"
|
||||
@@ -17,7 +17,7 @@
|
||||
"message": "Esto ya ha sido enviado antes"
|
||||
},
|
||||
"channelWhitelisted": {
|
||||
"message": "Canal Permitido!"
|
||||
"message": "¡Canal Permitido!"
|
||||
},
|
||||
"Segment": {
|
||||
"message": "segmento"
|
||||
@@ -25,6 +25,19 @@
|
||||
"Segments": {
|
||||
"message": "segmentos"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Segmentos"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Capítulos"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Procesar segmentos como capítulos",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"showSegmentNameInChapterBar": {
|
||||
"message": "Mostrar segmento actual al lado del tiempo del video"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Votar positivamente este envío"
|
||||
},
|
||||
@@ -77,10 +90,10 @@
|
||||
"message": "No se han encontrado segmentos"
|
||||
},
|
||||
"sponsorStart": {
|
||||
"message": "El Segmento Inicia Ahora"
|
||||
"message": "Marcar inicio de segmento"
|
||||
},
|
||||
"sponsorEnd": {
|
||||
"message": "El Segmento Termina Ahora"
|
||||
"message": "Marcar final de segmento"
|
||||
},
|
||||
"sponsorCancel": {
|
||||
"message": "Cancelar Creación de Segmento"
|
||||
@@ -112,9 +125,15 @@
|
||||
"closePopup": {
|
||||
"message": "Cerrar la ventana"
|
||||
},
|
||||
"closeIcon": {
|
||||
"message": "Icono de cerrar"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Enviar Segmentos"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Ordenar Segmentos"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "¿Estás seguro de que quieres enviar esto?"
|
||||
},
|
||||
@@ -162,7 +181,10 @@
|
||||
"message": "Escoger Nombre De Usuario"
|
||||
},
|
||||
"copyPublicID": {
|
||||
"message": "Copiar el ID de usuario público"
|
||||
"message": "Copiar el ID de usuario Público"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Copiar ID de Segmento"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "¡Únete al servidor oficial de discord para darnos sugerencias y comentarios!"
|
||||
@@ -230,12 +252,21 @@
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Si el video es nuevo, y no hay segmentos encontrados, seguirá recuperándose cada pocos minutos mientras veas."
|
||||
},
|
||||
"enableShowCategoryWithoutPermission": {
|
||||
"message": "Mostrar categorías en el menú de envío, incluso al no tener permiso de envío"
|
||||
},
|
||||
"whatShowCategoryWithoutPermission": {
|
||||
"message": "Algunas categorías requieren permiso para enviar debido a los requisitos mínimos de reputación"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Mostrar aviso de nuevo"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Mostrar aviso después de que se omita un segmento"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Mostrar Ayuda de la Categoría"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Avisos de Omisión de Tamaño Completo"
|
||||
},
|
||||
@@ -283,6 +314,14 @@
|
||||
"message": "Enviar segmentos",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Siguiente capítulo",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Capítulo anterior",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Selecciona una tecla escribiéndola y elige las teclas modificadoras que desees utilizar."
|
||||
},
|
||||
@@ -382,16 +421,16 @@
|
||||
"message": "Comprueba status.sponsor.ajay.app para ver el estado del servidor."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Importar/Exportar tu ID de usuario"
|
||||
"message": "Importar/Exportar su ID de usuario Privado"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Esto se debería mantener privado. Esto es como una contraseña y no debe ser compartido con nadie. Si alguien tiene esto, puede suplantarte. Si estás buscando tu ID de usuario público, haz clic en el icono de portapapeles en la ventana emergente."
|
||||
"message": "Esto se debería mantener privado. Esto es como una contraseña y no debe ser compartido con nadie. Si alguien tiene esto, puede suplantarte. Si estás buscando tu ID de usuario Público, haz clic en el icono de portapapeles en la ventana emergente."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Establecer el ID de usuario"
|
||||
"message": "Establecer ID de usuario Privado"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Advertencia: El cambio del ID de usuario es irreversible. ¿Está seguro de que le desea hacerlo? Asegúrese de hacer una copia de respaldo de la anterior por si acaso."
|
||||
"message": "Advertencia: El cambio del ID de usuario Privado es permanente. ¿Está seguro/a de que desea hacer esto? Asegúrese de respaldar el antiguo por si acaso."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Creado Por"
|
||||
@@ -436,6 +475,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Los segmentos más cortos que el valor configurado no se omitirán ni se mostrarán en el reproductor."
|
||||
},
|
||||
"enableManualSkipOnFullVideo": {
|
||||
"message": "Usar omisión manual cuando existe una etiqueta de vídeo completa"
|
||||
},
|
||||
"whatManualSkipOnFullVideo": {
|
||||
"message": "Para las personas que quieren ver el video sin interrupción si es totalmente patrocinado o autopromoción."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Duración del aviso de omisión (segundos):"
|
||||
},
|
||||
@@ -485,7 +530,7 @@
|
||||
"message": "Cargar desde archivo"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Esta es toda su configuración en JSON. Esto incluye tu ID de usuario, así que asegúrate de compartir esto sabiamente."
|
||||
"message": "Esta es toda su configuración en JSON. Esto incluye tu ID de usuario Privado, asegúrese de compartir esto con prudencia."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Configurar opciones"
|
||||
@@ -539,11 +584,27 @@
|
||||
"message": "a",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "¡Copiado!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Incluye transiciones entre segmentos"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Se reproduce como si no se hubiera omitido nada"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Sponsor"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Promoción pagada, recomendaciones pagadas y anuncios directos. No para promoción propia o anuncios gratuitos a causas/creadores/sitios web/productos que les gusten."
|
||||
"message": "Promoción pagada, recomendaciones pagadas y anuncios directos. No para promoción propia o agradecimientos gratuitos a causas/creadores/sitios web/productos que les gusten."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Promociones pagadas"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "No para donaciones o mercancía personalizada"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Promoción Propia/No Remunerada"
|
||||
@@ -551,6 +612,15 @@
|
||||
"category_selfpromo_description": {
|
||||
"message": "Similar a \"sponsor\", excepto que para la promoción propia o no remunerada. Esto incluye secciones sobre mercancía, donaciones o información sobre con quiénes colaboraron."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Donaciones, membresías y mercancía personalizada"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Agradecimientos gratuitos que no contribuyen al video"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "No para productos ni mercancía diseñados por empresas"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Acceso Exclusivo"
|
||||
},
|
||||
@@ -561,14 +631,26 @@
|
||||
"message": "Este video exhibe un producto, servicio o ubicación al que han recibido acceso gratuito o subsidiado",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Todo el video muestra algo con acceso gratuito o subsidiado"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Recordatorio de interacción (subscribir)"
|
||||
"message": "Recordatorio de Interacción (Suscribir)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Cuando hay un breve recordatorio para dar like, suscribirse o seguirlos en medio del contenido. Si es largo o sobre algo específico, debería estar bajo autopromoción en su lugar."
|
||||
"message": "Cuando hay un breve recordatorio para dar me gusta, suscribirse o seguirlos en medio del contenido. Si es largo o sobre algo específico, debería estar bajo promoción propia en su lugar."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Breve recordatorio para dar me gusta, suscribirse o seguir"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Incluye recordatorios indirectos para comentar"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "No para promoción general, solo llamadas a la acción"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Recordatorio de interacción"
|
||||
"message": "Recordatorio de Interacción"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Intermisión/Animación de Introducción"
|
||||
@@ -579,27 +661,54 @@
|
||||
"category_intro_short": {
|
||||
"message": "Intermisión"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Intervalo sin contenido real"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "No para transiciones con información"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Tarjetas/Créditos"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Créditos o cuando aparecen las tarjetas finales de YouTube. No para conclusiones con información."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "No incluyas contenido, aun si las tarjetas finales están en pantalla"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Vista previa/Recapitulación"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Recapitulación rápida de los episodios anteriores, o una vista previa de lo que va a ocurrir más adelante en el vídeo actual. Está pensado para clips editados juntos, no para resúmenes hablados."
|
||||
"message": "Colección de clips que muestran lo que vendrá en este video u otros videos en una serie en la cual toda la información es repetida en el video."
|
||||
},
|
||||
"category_preview_guideline1": {
|
||||
"message": "Clips que aparecen más tarde o en un video futuro"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Recapitulación de un video anterior"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "No para secciones que añaden contenido adicional"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Tangentes de Relleno/Chistes"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Escenas tangenciales añadidas solo para relleno o humor que no son necesarias para entender el contenido principal del video. Esto no debe incluir segmentos que proporcionen contexto o detalles de fondo."
|
||||
"message": "Escenas tangenciales añadidas solo de relleno o humor que no son necesarias para entender el contenido principal del video. Esto no debe incluir segmentos que proporcionen contexto o detalles de fondo. Esta es una categoría muy agresiva para cuando no está de humor para la \"diversión\"."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Relleno"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Escenas tangenciales solo de relleno o humor"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Distracciones, bloopers, repeticiones"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "No para escenas requeridas para entender el tema"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Música: Sección sin musica"
|
||||
},
|
||||
@@ -609,12 +718,42 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Sin Música"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Secciones que no están en versiones oficiales"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Secciones sin música en un espectáculo en vivo"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Destacado"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "La parte del video que la mayoría de gente está buscando. Similar a los comentarios que dicen \"El video comienza en x\"."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "La sección que la mayoría de personas están buscando"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Puede omitir contexto"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Puede saltar al título o miniatura"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Capítulo"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "Capítulos con nombre personalizado que describen las secciones principales de un vídeo."
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "No mencione las marcas del patrocinador"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "Usar capítulos más grandes para secciones generales"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "Los capítulos más pequeños pueden colocarse dentro de capítulos más grandes"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Directo: Lecturas de donaciones y mensajes"
|
||||
},
|
||||
@@ -645,6 +784,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "Mostrar Etiqueta"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Mostrar capítulos"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Omitir automáticamente todos los segmentos cuando hay un segmento sin música"
|
||||
},
|
||||
@@ -700,6 +842,10 @@
|
||||
"bracketEnd": {
|
||||
"message": "(Final)"
|
||||
},
|
||||
"End": {
|
||||
"message": "Final",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "oculto: voto negativo"
|
||||
},
|
||||
@@ -713,11 +859,8 @@
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "El ID del canal no está cargado todavía. Si está usando un vídeo incrustado, intente usar la página de inicio de YouTube en su lugar. Esto también podría ser causado por cambios en el diseño de YouTube, si lo cree, haga un comentario aquí:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Parece que algo está bloqueando la capacidad de SponsorBlock para obtener datos de video. Por favor, vea https://github.com/ajayyy/SponsorBlock/issues/741 para más información."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Parece que SponsorBlock no puede acceder a la API de YouTube. Para solucionarlo, acepte el aviso de permiso que aparecerá a continuación, espera unos segundos y vuelve a cargar la página."
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "El navegador ha revocado el permiso necesario para funcionar en Invidious y otros sitios de terceros. Por favor, haga clic en el botón de abajo para reactivar este permiso."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Aceptar permiso"
|
||||
@@ -732,17 +875,24 @@
|
||||
"message": "Si no puede resolverlo, desactive la opción \"Forzar Comprobación de Canal antes de Saltar\", ya que SponsorBlock no puede recuperar la información del canal de este video"
|
||||
},
|
||||
"forceChannelCheck": {
|
||||
"message": "Comprobación forzada del canal antes de saltarse"
|
||||
"message": "Forzar Comprobación de Canal antes de Saltar"
|
||||
},
|
||||
"whatForceChannelCheck": {
|
||||
"message": "Por defecto, se saltará los segmentos inmediatamente antes de saber cuál es el canal. Por defecto, algunos segmentos al principio del vídeo pueden ser salteados en los canales de la lista blanca. Al activar esta opción se evitará esto, pero haciendo que todos los saltos tengan un ligero retraso, ya que obtener el ID del canal puede llevar algún tiempo. Este retraso podría ser imperceptible si tienes una Internet rápida."
|
||||
},
|
||||
"forceChannelCheckPopup": {
|
||||
"message": "Considere la posibilidad de activar \"Comprobación del canal de fuerza antes de saltar\""
|
||||
"message": "Considere la posibilidad de activar \"Forzar Comprobación de Canal antes de Saltar\""
|
||||
},
|
||||
"downvoteDescription": {
|
||||
"message": "Tiempo incorrecto/equivocado"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Incorrecto"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Perjudicial",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Cambiar Categoría"
|
||||
},
|
||||
@@ -778,6 +928,9 @@
|
||||
"categoryPillTitleText": {
|
||||
"message": "Todo el video está etiquetado como esta categoría y está muy estrechamente integrado como para poder separarlo"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "Uno de los nombres de sus capítulos es similar a una categoría. Debería usar categorías cuando sea posible en su lugar."
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "No participar en futuros experimentos",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
@@ -786,11 +939,19 @@
|
||||
"message": "Ocultar para siempre"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Has recibido una advertencia y no puedes enviar segmentos temporalmente. Esto significa que hemos notado que estabas cometiendo algunos errores comunes que no son maliciosos, por favor, solo confirma que entiendes las reglas y anularemos la advertencia. También puedes unirte a este chat usando discord.gg/SponsorBlock o matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Hemos notado que has estado cometiendo algunos errores comunes que no son maliciosos"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Voto rechazado debido a una advertencia. Haga clic aquí para abrir un chat para resolverlo, o vuelva más tarde cuando tenga tiempo.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "Tienes una advertencia"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "Tengo una pregunta"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Entiendo la razón"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Error al intentar confirmar la advertencia:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Donar"
|
||||
@@ -864,6 +1025,9 @@
|
||||
"LearnMore": {
|
||||
"message": "Aprenda Más"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Detalles Completos"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Vota negativamente y crea una copia local para que la puedas volver a enviar"
|
||||
},
|
||||
@@ -879,6 +1043,21 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Esto se aplicará instantáneamente a tus segmentos"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Votar negativamente"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Votar positivamente"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Ocultar segmento"
|
||||
},
|
||||
"skipSegment": {
|
||||
"message": "Omitir segmento"
|
||||
},
|
||||
"playChapter": {
|
||||
"message": "Reproducir capítulo"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Utilice la rueda del ratón mientras pasa el cursor por encima del cuadro de edición para ajustar el tiempo. Se pueden utilizar combinaciones de la tecla ctrl o shift para afinar los cambios."
|
||||
},
|
||||
@@ -929,5 +1108,140 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Este un atajo incorporado de YouTube. ¿Estás seguro de que quieres usarlo?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "¡El servidor BETA está activado!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Abrir página de opciones"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Restablecer los ajustes por defecto"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "¿Estás seguro de que quieres restablecer todos los ajustes a sus valores por defecto? Esto no se puede deshacer."
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Exportar segmentos"
|
||||
},
|
||||
"importSegments": {
|
||||
"message": "Importar segmentos"
|
||||
},
|
||||
"Import": {
|
||||
"message": "Importar",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "¡Canje exitoso!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "La clave de la licencia no es válida"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "Ocultar opciones no disponibles sin pago extra"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Seleccione un país"
|
||||
},
|
||||
"noDiscount": {
|
||||
"message": "No calificas para un descuento"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "Enlace del descuento (ver el precio rosado)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Seleccione su país"
|
||||
},
|
||||
"alreadyDonated": {
|
||||
"message": "Si has donado cualquier cantidad antes del presente, puedes canjear el acceso gratuito vía correo electrónico:",
|
||||
"description": "After the colon is an email address"
|
||||
},
|
||||
"cantAfford": {
|
||||
"message": "Si no puedes permitirte comprar una licencia, haz clic en {here} para ver si eres elegible para un descuento",
|
||||
"description": "Keep the curly braces. The word 'here' should be translated as well."
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Iniciar sesión con Patreon"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "Canje"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Danos tu apoyo en Patreon"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "Compra única"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Ingresar clave de licencia"
|
||||
},
|
||||
"chaptersPage1": {
|
||||
"message": "La característica de los capítulos de origen de SponsorBlock sólo está disponible para personas que compran una licencia, o para las personas a las que se les concede acceso gratis debido a sus contribuciones anteriores"
|
||||
},
|
||||
"chaptersPage2": {
|
||||
"message": "Nota: El permiso para enviar capítulos todavía está basado en la reputación calculada. Comprar una licencia solo le permite ver los capítulos enviados por otros",
|
||||
"description": "On the chapters page for getting access to the paid chapters feature"
|
||||
},
|
||||
"chapterNewFeature": {
|
||||
"message": "Nueva Función: Capítulos personalizados marcados por la comunidad. Estos son secciones con nombres personalizados en los videos que pueden ser acumulados para ser cada vez más precisos. Compre una licencia para ver los capítulos enviados en este video, como: ",
|
||||
"description": "After the comma, a list of chapters for this video will appear"
|
||||
},
|
||||
"chapterNewFeature2": {
|
||||
"message": "Nueva Función: Capítulos personalizados marcados por la comunidad. Estos son secciones con nombres personalizados en los videos que pueden ser acumulados para ser cada vez más precisos. Tiene acceso gratuito, habilítelo en opciones."
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "Actualmente tienes {0} en {1}",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "Actualmente no tiene segmentos no enviados",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "segmento no enviado",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "segmentos no enviados",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "video",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "vídeos",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "Borrar todos los segmentos",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "¿Estás seguro de que quieres borrar todos tus segmentos no enviados?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "Mostrar segmentos",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "Ocultar segmentos",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "ID del vídeo",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "Conteo de segmentos",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "Acciones",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "Compartir como URL"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,19 @@
|
||||
"Segments": {
|
||||
"message": "segmenti"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Segmendid"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Peatükid"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Kuva segmendid peatükkidena",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"showSegmentNameInChapterBar": {
|
||||
"message": "Kuva praegune segment video kõrval"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Anna segmendile poolthääl"
|
||||
},
|
||||
@@ -112,9 +125,15 @@
|
||||
"closePopup": {
|
||||
"message": "Sulge hüpik"
|
||||
},
|
||||
"closeIcon": {
|
||||
"message": "Sulgemisikoon"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Esita segmendid"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Sorteeri segmendid"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Kas soovid kindlasti selle saata?"
|
||||
},
|
||||
@@ -164,6 +183,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "Kopeeri avalik UserID"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Kopeeri segmendi ID"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Tule liitu ametliku Discordi serveriga, et anda soovitusi ja tagasisidet!"
|
||||
},
|
||||
@@ -236,6 +258,9 @@
|
||||
"showSkipNotice": {
|
||||
"message": "Kuva segmendi vahelejätmisel teatis"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Kuva kategooria abi"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Täissuuruses vahelejätmise teavitused"
|
||||
},
|
||||
@@ -283,6 +308,14 @@
|
||||
"message": "Esita segmendid",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Järgmine peatükk",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Eelmine peatükk",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"0": {
|
||||
"message": "Ühenduse ajalõpp. Kontrolli oma võrguühendust. Kui internet töötab, on ilmselt server ülekoormatud või maas."
|
||||
},
|
||||
@@ -378,18 +411,9 @@
|
||||
"statusReminder": {
|
||||
"message": "Serveri oleku saamiseks vaata status.sponsor.ajay.app"
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Impordi/ekspordi oma UserID"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Seda tuleks privaatsena hoida. See on nagu parool ning seda ei tohiks kellegagi jagada. Kui kellelgi see on, saavad nad sinuna esineda.\nKui otsid avalikku UserID'd, klõpsa hüpikus olevat lõikelaua ikooni."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Seadista UserID"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Hoiatus: UserID muutmine on püsiv. Kas soovid kindlasti seda teha? Igaks juhuks soovitame eelmise UserID varundada."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Autor"
|
||||
},
|
||||
@@ -478,9 +502,6 @@
|
||||
"exportOptionsUpload": {
|
||||
"message": "Laadi failist"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "See on sinu kogu seadistus JSON-formaadis. Selle hulgas on ka UserID, seega jaga seda targalt."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Määra valikud"
|
||||
},
|
||||
@@ -530,18 +551,43 @@
|
||||
"message": "kuni",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Kopeeritud!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Kasuta sujuvaid üleminekuid"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Mängib nii, nagu midagi poleks vahele jäetud"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Sponsor"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Tasulised promod, tasulised viited ja otsesed reklaamid. Pole mõeldud enesepromo või tasuta petitsioonide/autorite/veebilehtede/toodete mainimiste puhul."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Tasulised kampaaniad"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Mitte annetuste ja omaloodud kauba jaoks"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Tasumata/enesepromo"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Sarnaneb \"sponsorile\", ent on mõeldud tasumata või enesepromo jaoks. Selle alla kuuluvad jaotised oma müüdava kauba, annetuste ja koostööpartnerite kohta."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Annetused, liikmesused ja omaloodud kaup"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Tasuta mainimised, mis ei anna videole lisaväärtust"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Mitte ettevõtete-disainitud toodete ja kauba jaoks"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Eksklusiivne ligipääs"
|
||||
},
|
||||
@@ -552,12 +598,24 @@
|
||||
"message": "See video esitleb toodet, teenust või asukohta, millele isik on tasuta või toetusega ligipääsu saanud",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Kogu video esitleb midagi, millele autor on saanud tasuta või toetusega ligipääsu"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Tegutsemise meeldetuletus (kanali tellimine)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Lühike sisukeskne meeldetuletus anda videole meeldib, tellida kanalit või jälgida autorit. Kui see on pikk või millegi kindlaga seotud, peaks see olema enesepromo all."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Lühikesed meeldetuletused vajutada \"meeldib\", \"telli\" või \"jälgi\""
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Sisaldab mitteotseseid meeldetuletusi kommenteerimiseks"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Mitte üldise promo jaoks, vaid üleskutsed tegevustele"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Tegutsemise meeldetuletus"
|
||||
},
|
||||
@@ -570,27 +628,51 @@
|
||||
"category_intro_short": {
|
||||
"message": "Vaheaeg"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Intervall ilma tegeliku sisuta"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Mitte informatsiooniga üleminekute jaoks"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Lõpukaardid/-tiitrid"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Tiitrid või YouTube'i lõpukaardid. Pole mõeldud informatsiooniga järelduste jaoks."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Ära kaasa sisu, isegi kui lõputiitrid on ekraanil"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Eelvaade/kokkuvõte"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Kiire kokkuvõte eelmistest episoodidest või eelvaade videos hiljem tulevast. Mõeldud valmis töödeldud klippide, mitte suuliste kokkuvõtete jaoks."
|
||||
"message": "Klippide kogum, mis näitab selles või teistes videotes tulevat sisu seerias, kus kogu info kuvatakse uuesti video sees."
|
||||
},
|
||||
"category_preview_guideline1": {
|
||||
"message": "Klipid, mida kuvatakse hiljem või tulevases videos"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Eelmise video kokkuvõte"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Mitte jaotistele, mis lisavad täiendavat sisu"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Täitesisu/naljad"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Video täiteks või huumori eesmärgil lisatud sisu, mis ei ole vajalik video põhieesmärgi mõistmiseks. Selle alla ei kuulu segmendid, mis annavad kontekstiteavet või taustainfot."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Täide"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Sisuga mitteseonduvad täite- või huumoristseenid"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Tähelepanu hajutajad, saatevead, kordused"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Mitte stseenid, mida on teema mõistmiseks vaja vaadata"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Muusika: mitte-muusika jaotis"
|
||||
},
|
||||
@@ -600,12 +682,30 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Mitte-muusika"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Jaotised, mida avalikes väljalasetes pole"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Mitte-muusika kontserdil"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Esiletõst"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "Video osa, mida enamus inimesed otsivad. Sarnaneb kommentaaridele stiilis \"video algab ajal x\"."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "Jaotis, mida inimesed enim otsivad"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Aitab konteksti vahele jätta"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Aitab pealkirja või pisipildi sisuni viia"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Peatükk"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Otseülekanne: annetuste ja sõnumite lugemine"
|
||||
},
|
||||
@@ -636,6 +736,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "Kuva silt"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Kuva peatükid"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Jäta automaatselt kõik segmendid vahele, kui eksisteerib mitte-muusika segment"
|
||||
},
|
||||
@@ -691,6 +794,10 @@
|
||||
"bracketEnd": {
|
||||
"message": "(lõpp)"
|
||||
},
|
||||
"End": {
|
||||
"message": "Lõpp",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "peidetud: vastuhääl"
|
||||
},
|
||||
@@ -704,12 +811,6 @@
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "Kanali ID pole veel laaditud. Kui vaatad manustatud videot, proovi seda vaadata YouTube'i kodulehelt. See võib olla põhjustatud ka YouTube'i paigutuse muudatustest - kui arvad et see nii on, kommenteeri siin:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Tundub, et miski segab SponsorBlocki video andmete hankimise võimalust. Rohkema abi saamiseks palun vaata: https://github.com/ajayyy/SponsorBlock/issues/741"
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Tundub, et SponsorBlock ei pääse YouTube'i rakendusliidesele ligi. Selle parandamiseks nõustu järgnevalt kuvatava loataotlusega, oota paar sekundit ning seejärel laadi leht uuesti."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Nõustu loaga"
|
||||
},
|
||||
@@ -734,6 +835,13 @@
|
||||
"downvoteDescription": {
|
||||
"message": "Sobimatu/vale ajastus"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Ebakorrektne"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Kahjulik",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Muuda kategooriat"
|
||||
},
|
||||
@@ -774,11 +882,19 @@
|
||||
"message": "Peida igaveseks"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Sa said hoiatuse ning ei saa ajutiselt segmente saata. See tähendab, et me leidsime sind tegemast teatud sagedasi, mitte-pahatahtlikke vigu - palun kinnita (inglise keeles), et mõistad reegleid ning me eemaldame hoiatuse. Sa võid selle vestlusega liituda ka discord.gg/SponsorBlock või matrix.to/#/#sponsor:ajay.app kaudu."
|
||||
"message": "Panime tähele, et tegid teatud sagedasi vigu, mis ei olnud pahatahtlikud"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Hääletus hoiatuse tõttu tagasilükatud. Klõpsa, et avada selle lahendamiseks vestlus või tule hiljem tagasi, kui aega saad.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "Sa said hoiatuse"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "Mul on küsimus"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Ma mõistan põhjust"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Hoiatuse mõistmise kinnitamisel esines viga:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Anneta"
|
||||
@@ -831,6 +947,9 @@
|
||||
"LearnMore": {
|
||||
"message": "Lisateave"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Täielikud üksikasjad"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Annab vastuhääle ja loob kohaliku koopia, mida saad uuesti saata"
|
||||
},
|
||||
@@ -846,9 +965,27 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "See rakendub sinu segmentidele koheselt"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Vastuhääl"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Poolthääl"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Peida segment"
|
||||
},
|
||||
"skipSegment": {
|
||||
"message": "Jäta segment vahele"
|
||||
},
|
||||
"playChapter": {
|
||||
"message": "Esita peatükk"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Kiireks aja reguleerimiseks keri hiirega muutmiskasti kohal. Täpsemaks reguleerimiseks hoia kerimise ajal all Ctrl või Shift klahvi."
|
||||
},
|
||||
"categoryPillNewFeature": {
|
||||
"message": "Uus! Näe, kui video on täielikult sponsoreeritud või enesepromo"
|
||||
},
|
||||
"dayAbbreviation": {
|
||||
"message": "p",
|
||||
"description": "100d"
|
||||
@@ -890,5 +1027,118 @@
|
||||
},
|
||||
"change": {
|
||||
"message": "Muuda"
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "See on YouTube'i sisseehitatud otsetee. Kas soovid kindlasti seda kasutada?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "BEETAserver on lubatud!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Ava valikute leht"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Lähtesta sätted vaikeväärtustele"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Kas soovid kindlasti kõik sätted vaikeväärtustele lähtestada? Seda ei saa tagasi võtta."
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Ekspordi segmendid"
|
||||
},
|
||||
"importSegments": {
|
||||
"message": "Impordi segmendid"
|
||||
},
|
||||
"Import": {
|
||||
"message": "Impordi",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "Lunastamine õnnestus!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "Litsentsivõti on sobimatu"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Vali riik"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "Soodushinna link (vaata roosat hinda)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Vali oma riik"
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Logi Patreoniga sisse"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "Lunasta"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Telli Patreonis"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "Ühekordne ost"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Sisesta litsentsivõti"
|
||||
},
|
||||
"chaptersPage1": {
|
||||
"message": "SponsorBlocki kogukonna-loodud peatükkide funktsioon on saadaval vaid inimestele, kes ostavad litsentsi või neile, kes saavad tasuta ligipääsu varasemate panuste tõttu"
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "Sul on hetkel {0} {1}",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "Sul pole hetkel saatmata segmente",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "esitamata segment",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "esitamata segmenti",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "videol",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "videol",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "Tühjenda kõik segmendid",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "Kas soovid kindlasti tühjendada kõik oma saatmata segmendid?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "Kuva segmendid",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "Peida segmendid",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "Video ID",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "Segmentide arv",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "Tegevused",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "Jaga URLina"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -344,13 +344,6 @@
|
||||
"hideForever": {
|
||||
"message": "مخفیسازی برای همیشه"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "شما یک اخطار دریافت کرده اید و موقتاً نمیتوانید بخشی را ثبت کنید. این یعنی ما متوجه شدیم که شما یک سری اشتباهات متداول داشتید اما قصد و نیت خرابکاری نداشتید، لطفاً فقط تایید کنید که شما از قوانین آگاهی دارید و سپس ما این اخطار را حذف خواهیم کرد. شما میتوانید به کمک discord.gg/SponsorBlock یا matrix.to/#/#sponsor:ajay.app عضو گروه ما بشوید."
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "رای شما رد شد چون شما یک اخطار دارید. برای حل این مشکل یک کلیک کنید تا گروه چت ما باز بشود، یا اینکه بعداً هر موقع وقت داشتید این کار را انجام بدهید.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
},
|
||||
"Donate": {
|
||||
"message": "کمک مالی"
|
||||
},
|
||||
|
||||
@@ -23,7 +23,20 @@
|
||||
"message": "osio"
|
||||
},
|
||||
"Segments": {
|
||||
"message": "osiot"
|
||||
"message": "osiota"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Osiot"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Kappaleet"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Piirrä osiot kappaleina",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"showSegmentNameInChapterBar": {
|
||||
"message": "Näytä nykyinen osio videon ajan vieressä"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Äänestä lähetystä"
|
||||
@@ -44,7 +57,7 @@
|
||||
"message": "Älä näytä koskaan"
|
||||
},
|
||||
"hitGoBack": {
|
||||
"message": "Paina 'älä ohita' palatakasesi kohtaan, jossa olit."
|
||||
"message": "Paina 'älä ohita' palataksesi kohtaan, jossa olit."
|
||||
},
|
||||
"unskip": {
|
||||
"message": "Älä ohita"
|
||||
@@ -112,9 +125,15 @@
|
||||
"closePopup": {
|
||||
"message": "Sulje ponnahdusikkuna"
|
||||
},
|
||||
"closeIcon": {
|
||||
"message": "Sulkukuvake"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Lähetä osiot"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Järjestä osiot"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Haluatko varmasti lähettää tämän?"
|
||||
},
|
||||
@@ -162,7 +181,10 @@
|
||||
"message": "Aseta käyttäjänimi"
|
||||
},
|
||||
"copyPublicID": {
|
||||
"message": "Kopio julkinen UserID"
|
||||
"message": "Kopioi julkinen UserID"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Kopioi osion ID"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Liity viralliselle Discord-palvelimelle antaaksesi ehdotuksia ja palautetta!"
|
||||
@@ -177,7 +199,7 @@
|
||||
"message": "Näytä painikkeet YouTuben soittimessa"
|
||||
},
|
||||
"hideButtons": {
|
||||
"message": "Piilota painikkeet YouTuben soittimesta"
|
||||
"message": "Piilota painikkeet YouTuben soittimessa"
|
||||
},
|
||||
"hideButtonsDescription": {
|
||||
"message": "Tämä piilottaa YouTuben soittimessa näkyvät, ohitettavien aikojen lähettämiseen käytetyt painikkeet."
|
||||
@@ -195,7 +217,7 @@
|
||||
"message": "Piilota info-painike automaattisesti"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Piilota poista-painike YouTuben soittimesta"
|
||||
"message": "Piilota poista-painike YouTuben soittimessa"
|
||||
},
|
||||
"showDeleteButton": {
|
||||
"message": "Näytä poista-painike YouTuben soittimessa"
|
||||
@@ -216,7 +238,7 @@
|
||||
"message": "Negatiivisesti äänestämäsi osiot pysyvät piilotettuina myös päivityksen jälkeen"
|
||||
},
|
||||
"trackDownvotesWarning": {
|
||||
"message": "Varoitus: Tämän käytöstä poisto poistaa kaikki negatiiviset äänet"
|
||||
"message": "Varoitus: Tämän käytöstä poisto poistaa kaikki aiemmin tallennetut negatiiviset äänet"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "Kysely tiiviste-etuliittellä"
|
||||
@@ -230,12 +252,21 @@
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Jos video on uusi, eikä osioita löydy, niitä haetaan uudelleen muutaman minuutin välein katsoessasi."
|
||||
},
|
||||
"enableShowCategoryWithoutPermission": {
|
||||
"message": "Näytä kategoriat lähetysvalikossa myös ilman lähetyslupaa"
|
||||
},
|
||||
"whatShowCategoryWithoutPermission": {
|
||||
"message": "Jotkin kategoriat vaativat lähetysluvan maineen vähimmäisvaatimusten vuoksi"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Näytä ilmoitus uudelleen"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Näytä ilmoitus ohitetun osion jälkeen"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Näytä kategorian ohje"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Täysikokoiset ohitusilmoitukset"
|
||||
},
|
||||
@@ -283,6 +314,14 @@
|
||||
"message": "Lähetä osiot",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Seuraava kappale",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Edellinen kappale",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Valitse näppäin painamalla sitä ja valitse haluamasi vaihtonäppäin."
|
||||
},
|
||||
@@ -382,16 +421,16 @@
|
||||
"message": "Tarkista palvelimen tila osoitteessa status.sponsor.ajay.app."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Tuo/vie UserID:si"
|
||||
"message": "Tuo/vie yksityinen UserID"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Tämä pitäisi pitää yksityisenä. Tämä on kuin salasana, eikä sitä pitäisi jakaa kenenkään kanssa. Jos jollakulla on tämä, he voivat esiintyä sinuna. Jos etsit julkista userID:täsi, napsauta leikepöydän kuvaketta ponnahdusikkunassa."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Aseta UserID"
|
||||
"message": "Määritä yksityinen UserID"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Varoitus: UserID:n vaihtaminen on pysyvää. Oletko varma, että haluat tehdä tämän? Varmuuskopioi vanha UserID:si varmuuden vuoksi."
|
||||
"message": "Varoitus: Yksityisen UserID:n vaihto on pysyvää. Haluatko varmasti tehdä tämän? Varmuuskopioi vanha UserID varmuuden vuoksi."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Luonut"
|
||||
@@ -436,6 +475,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Osioita jotka ovat asetettua arvoa lyhyempiä ei ohiteta tai näytetä soittimessa."
|
||||
},
|
||||
"enableManualSkipOnFullVideo": {
|
||||
"message": "Käytä manuaalista ohitusta, kun video on merkitty \"Koko video\" osiolla"
|
||||
},
|
||||
"whatManualSkipOnFullVideo": {
|
||||
"message": "Niille, jotka haluavat katsella täysin sponsoroitua sisältöä tai julkaisijan omaa markkinointia sisältävät videot keskeytyksettä."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Ohitusilmoituksen kesto (sekuntia):"
|
||||
},
|
||||
@@ -485,7 +530,7 @@
|
||||
"message": "Lataa tiedostosta"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Tämä on koko konfiguraatiosi JSON-tiedostona. Tämä sisältää userID:si, joten jaa sitä viisaasti."
|
||||
"message": "Tässä ovat kaikki määrityksesi JSON-muodossa. Myös yksityinen UserID sisältyy näihin tietoihin, joten jaa tiedostoa harkiten."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Käytä asetuksia"
|
||||
@@ -539,11 +584,27 @@
|
||||
"message": "-",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Kopioitu!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Sisällytä siirtymät osioon"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Video toistuu ikään kuin mitään ei olisi ohitettu"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Sponsori"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Maksettu mainostus, maksetut viittaukset ja suorat mainokset. Ei itsensä mainostukselle tai huikkauksille kampanjoista/luojista/nettisivuista/tuotteista, joista he pitävät."
|
||||
"message": "Maksettu mainostus, maksetut viittaukset ja suorat mainokset. Ei itsensä mainostukselle tai ilmaisille maininnoille kampanjoista/luojista/nettisivuista/tuotteista, joista he pitävät."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Maksetut mainostukset"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Ei lahjoituksille tai omalle kauppatavaralle"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Maksamaton/Itsensä mainostus"
|
||||
@@ -551,6 +612,15 @@
|
||||
"category_selfpromo_description": {
|
||||
"message": "Samankaltainen \"sponsorin\" kanssa, mutta maksamattomalle tai itsensä mainostukselle. Tämä sisältää osioita kauppatavarasta, lahjoituksista tai tietoa siitä, kenen kanssa he ovat tehneet yhteistyötä."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Lahjoitukset, jäsenyydet ja oma kauppatavara"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Ilmaiset maininnat, jotka eivät tuo videolle lisäarvoa"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Ei yritysten luomille tuotteille tai kauppatavaralle"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Yksinoikeudellinen ensikatsaus"
|
||||
},
|
||||
@@ -561,12 +631,24 @@
|
||||
"message": "Tämä video esittelee tuotteen, palvelun tai sijainnin, johon he ovat saaneet ilmaisen tai tuetun käyttöoikeuden",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Koko video esittelee jotakin, jonka käyttöoikeus on saatu veloituksetta tai tuetusti"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Vuorovaikutusmuistutus (tilaaminen)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Lyhyt muistutus tykätä, tilata tai seurata sisällön keskellä. Jos se on pitkä tai koskee jotain tiettyä asiaa, tulisi se merkitä mielummin itsensä mainostamiseksi."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Lyhyet muistutukset tykätä, tilata tai seurata"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Sisältää epäsuorat muistutukset kommenttien jättämisestä"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Ei yleiselle mainostukselle, vain toimintapyynnöille"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Vuorovaikutusmuistutus"
|
||||
},
|
||||
@@ -579,27 +661,54 @@
|
||||
"category_intro_short": {
|
||||
"message": "Tauko"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Tauko ilman varsinaista sisältöä"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Ei tietoa sisältäville siirtymille"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Loppukortit/-tekstit"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Lopputekstit tai kun YouTuben loppukortit tulevat näkyviin. Ei lopetuksille joissa on tietoa."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Älä sisällytä sisältöä, vaikka loppukortit olisivatkin näytöllä"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Esikatselu/Kertaus"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Nopea kertaus aiemmista jaksoista, tai esikatselu siitä, mitä on tulossa myöhemmin nykyisessä videossa. Tarkoitettu yhteen editoituja klippejä varten, ei puhutuille yhteenvedoille."
|
||||
"message": "Kokoelma leikkeitä, jotka kertovat mitä video sisältää tai sarjan muut videot sisältävät ja joiden kaikki informaatio toistuu videossa myöhemmin."
|
||||
},
|
||||
"category_preview_guideline1": {
|
||||
"message": "Myöhemmin tai tulevassa videossa ilmestyvät klipit"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Kertaus edellisestä videosta"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Ei osioille, jotka lisäävät uutta sisältöä"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Epäolennainen täytesisältö/Vitsit"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Täytteeksi tai huumoriksi lisättyjä toissijaisia kohtauksia, joita videon pääsisällön ymmärrys ei edellytä. Tämän ei tulisi sisältää aiheeseen liittyviä tai taustatietoja tarjoavia osioita."
|
||||
"message": "Täytteeksi tai huumoriksi lisättyjä toissijaisia kohtauksia, joita videon pääsisällön ymmärrys ei edellytä. Tämän ei tulisi sisältää aiheeseen liittyviä tai taustatietoja tarjoavia osioita. Tämä on erittäin aggressiivinen kategoria niihin hetkiin, kun et välitä \"huvituksista\"."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Täytesisältö"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Täytteeksi tai huumoriksi lisätyt toissijaiset kohtaukset"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Häiriöt, blooperit, uusinnat"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Ei aiheen ymmärtämiseen tarvittavia kohtauksia varten"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Musiikki: Musiikiton osa"
|
||||
},
|
||||
@@ -609,12 +718,42 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Musiikiton"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Osat, jotka eivät ole virallisissa julkaisuissa"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Musiikittomat kohdat live-esityksissä"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Kohokohta"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "Kohta videossa, mitä suurin osa ihmisistä etsivät.\nSamankaltainen \"Video alkaa kohdassa x\" kommenttien kanssa."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "Kohta mitä useimmat ihmiset etsivät"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Voi ohittaa kontekstin"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Voi ohittaa otsikon tai pikkukuvan viittaamaan kohtaan"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Kappale"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "Nimetyt kappaleet, jotka kuvaavat videon merkittäviä osia."
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "Älä mainitse sponsoreiden tuotemerkkejä"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "Käytä yleisille osille suurempia kappaleita"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "Pienemmät kappaleet voidaan sijoittaa suurempien kappaleiden sisälle"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Livestream: lahjoitusten/viestien lukeminen"
|
||||
},
|
||||
@@ -645,6 +784,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "Näytä merkki"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Näytä kappaleet"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Ohita kaikki osiot automaattisesti, kun videossa on \"Musiikiton\" osio"
|
||||
},
|
||||
@@ -700,6 +842,10 @@
|
||||
"bracketEnd": {
|
||||
"message": "(Loppu)"
|
||||
},
|
||||
"End": {
|
||||
"message": "Loppu",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "piilotettu: miinusääniä"
|
||||
},
|
||||
@@ -713,11 +859,8 @@
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "Kanavan ID ei ole vielä latautunut. Jos käytät upotettua videota, kokeile sen sijaan käyttää YouTuben kotisivua. Tämä voi myös johtua muutoksista YouTuben ulkoasussa. Jos luulet luulet niin, tee kommenti tänne:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Näyttää siltä, että jokin estää SponsorBlockin kykyä saada videotietoja. Katso https://github.com/ajayyy/SponsorBlock/issues/741 lisätietoja varten."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Näyttää siltä, että SponsorBlock ei pysty saavuttamaan YouTube-APIa. Korjataksesi tämän, hyväksy seuraavaksi ilmestyvä käyttöoikeusilmoitus, odota muutama sekunti ja lataa sitten sivu uudelleen."
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "Selain on perunut laajennuksen oikeuden toimia Invidious- ja muilla kolmannen osapuolen sivustoilla. Palauta käyttöoikeus painamalla alla olevaa painiketta."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Hyväksy käyttöoikeus"
|
||||
@@ -743,6 +886,13 @@
|
||||
"downvoteDescription": {
|
||||
"message": "Virheellinen/väärä aika"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Väärä"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Haitallinen",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Vaihda kategoria"
|
||||
},
|
||||
@@ -776,7 +926,10 @@
|
||||
"message": "Tämä osio on suuri. Jos koko video koskee yhtä aihetta, vaihda \"Ohita\" valintaan \"Koko video\". Katso lisätietoja säännöistä."
|
||||
},
|
||||
"categoryPillTitleText": {
|
||||
"message": "Koko video on merkitty tällä luokituksella ja se on liian tiiviisti integroitu eroteltavaksi"
|
||||
"message": "Koko video on merkitty tällä kategorialla ja on erotettavaksi liian tiiviisti integroitu"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "Jonkin kappaleesi nimi on samankaltainen kategorian kanssa. Kun mahdollista, kappaleiden sijaan on suositeltavaa käyttää kategorioita."
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Jättäydy pois kaikista tulevista kokeiluista",
|
||||
@@ -786,11 +939,19 @@
|
||||
"message": "Piilota ikuisesti"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Sait varoituksen ja et voi lähettää osioita väliaikaisesti. Tämä tarkoittaa, että huomasimme, että teit joitakin yleisiä virheitä, jotka eivät ole tahallisia, joten vahvistakaa, että ymmärrätte säännöt ja poistamme varoituksen. Voit myös liittyä tähän keskusteluun käyttäen discord.gg/SponsorBlock tai matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Huomasimme, että teit joitakin yleisiä virheitä, jotka eivät ole tahalleen tehtyjä"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Ääni hylättiin varoituksen takia. Klikkaa avataksesi chatin sen ratkaisemiseksi, tai tule takaisin myöhemmin kun sinulla on siihen aikaa.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "Sait varoituksen"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "Minulla on kysymys"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Ymmärrän syyn"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Virhe yritettäessä kuitata varoitusta:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Lahjoita"
|
||||
@@ -864,6 +1025,9 @@
|
||||
"LearnMore": {
|
||||
"message": "Opi lisää"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Täydet tiedot"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Äänestää alas ja luo paikallisen kopion, jonka voit lähettää uudelleen"
|
||||
},
|
||||
@@ -879,6 +1043,21 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Tämä vaikuttaa sinun osioihin välittömästi"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Äänestä alas"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Äänestä ylös"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Piilota osio"
|
||||
},
|
||||
"skipSegment": {
|
||||
"message": "Ohita osio"
|
||||
},
|
||||
"playChapter": {
|
||||
"message": "Toista kappale"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Käytä hiiren rullaa samalla kun osoitin on muokkauslaatikon päällä säätääksesi aikaa nopeasti. Ctrl- tai Shift-näppäimen yhdistelmiä voi käyttää muutoksien hienosäätelyyn."
|
||||
},
|
||||
@@ -918,7 +1097,7 @@
|
||||
"description": "Option label"
|
||||
},
|
||||
"unbind": {
|
||||
"message": "Poista valinta",
|
||||
"message": "Poista kytkös",
|
||||
"description": "Unbind keyboard shortcut"
|
||||
},
|
||||
"notSet": {
|
||||
@@ -929,5 +1108,140 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Tämä on YouTuben sisäänrakennettu pikanäppäin. Haluatko varmasti käyttää sitä?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "BETA-palvelin on käytössä!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Avaa asetussivu"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Palauta oletusasetukset"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Haluatko varmasti palauttaa kaikki asetukset oletusarvoihin? Tätä ei voi perua."
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Vie osiot"
|
||||
},
|
||||
"importSegments": {
|
||||
"message": "Tuo osiot"
|
||||
},
|
||||
"Import": {
|
||||
"message": "Tuo",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "Lunastus onnistui!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "Lisenssiavain on virheellinen"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "Piilotusvalinnat ovat käytettävissä vain lisämaksusta"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Valitse maa"
|
||||
},
|
||||
"noDiscount": {
|
||||
"message": "Et ole oikeutettu alennukseen"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "Alennuslinkki (ks. pinkki hinta)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Valitse maasi"
|
||||
},
|
||||
"alreadyDonated": {
|
||||
"message": "Jos olet aiemmin lahjoittanut jonkin summan, voit lunastaa käyttöoikeuden veloituksetta sähköpostitse:",
|
||||
"description": "After the colon is an email address"
|
||||
},
|
||||
"cantAfford": {
|
||||
"message": "Jos sinulla ei ole varaa lisenssiin, paina {tästä} nähdäksesi oletko oikeutettu alennukseen",
|
||||
"description": "Keep the curly braces. The word 'here' should be translated as well."
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Kirjaudu sisään Patreonilla"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "Lunasta"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Tilaa Patreonissa"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "Kertaluontoinen osto"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Syötä lisenssiavain"
|
||||
},
|
||||
"chaptersPage1": {
|
||||
"message": "SponsorBlockin joukkolähteinen kappaletoiminto on vain lisenssin ostaneiden tai aiempien tukien perusteella veloituksettoman käyttöoikeuden saaneiden henkilöiden käytettävissä"
|
||||
},
|
||||
"chaptersPage2": {
|
||||
"message": "Huomioi: Kappaleiden lähetysoikeus perustuu edelleen laskettuun maineeseen. Lisenssin hankinta sallii sinun ainoastaan tarkastella muiden lähettämiä kappaleita",
|
||||
"description": "On the chapters page for getting access to the paid chapters feature"
|
||||
},
|
||||
"chapterNewFeature": {
|
||||
"message": "Uusi ominaisuus: Joukkolähteisesti nimetyt kappaleet. Nämä ovat nimettyjä osia videoissa, joita voi pinota yhä paremman tarkkuuden saavuttamiseksi. Osta lisenssi nähdäksesi tähän videoon lisätyt kappaleet, kuten: ",
|
||||
"description": "After the comma, a list of chapters for this video will appear"
|
||||
},
|
||||
"chapterNewFeature2": {
|
||||
"message": "Uusi ominaisuus: Joukkolähteisesti nimetyt kappaleet. Nämä ovat nimettyjä osia videoissa, joita voi pinota yhä paremman tarkkuuden saavuttamiseksi. Sinulla on pääsy ominaisuuteen ilmaiseksi, ota se käyttöön asetuksissa."
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "Sinulla on tällä hetkellä {0} {1}",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "Sinulla ei ole lähettämättömiä osioita",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "lähettämätön osio",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "lähettämätöntä osiota",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "videossa",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "videossa",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "Tyhjennä kaikki osiot",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "Haluatko varmasti tyhjentää kaikki lähettämättömät osiosi?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "Näytä osiot",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "Piilota osiot",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "Videon ID",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "Osiomäärä",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "Toiminnot",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "Jaa web-osoitteena"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1,118 @@
|
||||
{}
|
||||
{
|
||||
"fullName": {
|
||||
"message": "SponsorBlock para YouTube - I-skip ang mga Sponsorships",
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"Description": {
|
||||
"message": "I-skip ang mga sponsorships, subscription begging at marami pa sa mga YouTube videos. I-report ang mga sponsor sa videos na napapanood mo upang makatipid sa oras ng iba.",
|
||||
"description": "Description of the extension."
|
||||
},
|
||||
"429": {
|
||||
"message": "Masyadong kang maraming beses na nagsumite ng sponsor times para sa video na ito, sigurado ka na marami yan?"
|
||||
},
|
||||
"409": {
|
||||
"message": "Naisumite na ito noon"
|
||||
},
|
||||
"channelWhitelisted": {
|
||||
"message": "Whitelisted na ang channel na ito!"
|
||||
},
|
||||
"Segment": {
|
||||
"message": "segment"
|
||||
},
|
||||
"Segments": {
|
||||
"message": "segments"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "I-upvote ang submission na ito"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "I-report"
|
||||
},
|
||||
"reportButtonInfo": {
|
||||
"message": "I-report ang submission na ito bilang mali."
|
||||
},
|
||||
"Dismiss": {
|
||||
"message": "I-dismiss"
|
||||
},
|
||||
"Loading": {
|
||||
"message": "Loading..."
|
||||
},
|
||||
"Hide": {
|
||||
"message": "Hindi ipakita"
|
||||
},
|
||||
"hitGoBack": {
|
||||
"message": "Pindutin ang \"unskip\" para bumalik ka sa iyong dating posisyon sa video."
|
||||
},
|
||||
"unskip": {
|
||||
"message": "I-unskip"
|
||||
},
|
||||
"reskip": {
|
||||
"message": "I-reskip"
|
||||
},
|
||||
"unmute": {
|
||||
"message": "I-unmute"
|
||||
},
|
||||
"paused": {
|
||||
"message": "Naka-pause na"
|
||||
},
|
||||
"manualPaused": {
|
||||
"message": "Tigilan ang timer"
|
||||
},
|
||||
"confirmMSG": {
|
||||
"message": "Para sa pag-edit o tanggalin ng mga individual values, pindutin ang info button o ang extension icon sa kanang sulok sa itaas."
|
||||
},
|
||||
"clearThis": {
|
||||
"message": "Sigurado ka bang gusto mong tanggalin ito?"
|
||||
},
|
||||
"Unknown": {
|
||||
"message": "May error na nagkaroon sa pagsusumite sa iyong sponsor times, subukang muli mamaya."
|
||||
},
|
||||
"sponsorFound": {
|
||||
"message": "May mga segments sa database para sa video na ito!"
|
||||
},
|
||||
"sponsor404": {
|
||||
"message": "Walang nakitang segment"
|
||||
},
|
||||
"sponsorStart": {
|
||||
"message": "Simula ang Segment Ngayon"
|
||||
},
|
||||
"sponsorEnd": {
|
||||
"message": "Nagtatapos ang Segment Ngayon"
|
||||
},
|
||||
"sponsorCancel": {
|
||||
"message": "Kanselahin ang Paggawa ng Segment"
|
||||
},
|
||||
"noVideoID": {
|
||||
"message": "Walang YouTube video na nakita.\nKung mali ito, i-refresh ang tab mo."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "I-refresh ang mga segments"
|
||||
},
|
||||
"success": {
|
||||
"message": "Tagumpay na!"
|
||||
},
|
||||
"voted": {
|
||||
"message": "Bumoto na!"
|
||||
},
|
||||
"connectionError": {
|
||||
"message": "Nagkaroon ng error sa koneksyon. Error code: "
|
||||
},
|
||||
"clearTimes": {
|
||||
"message": "I-clear ang mga segments"
|
||||
},
|
||||
"openPopup": {
|
||||
"message": "I-buksan ang SponsorBlock popup"
|
||||
},
|
||||
"closePopup": {
|
||||
"message": "Isara ang Popup"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "I-submit ang mga segments"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Sigurado ka bang gusto mong isumite ito?"
|
||||
},
|
||||
"whitelistChannel": {
|
||||
"message": "I-whitelist itong channel"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,16 @@
|
||||
"Segments": {
|
||||
"message": "segments"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Segments"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Chapitres"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Affiche les segments en tant que chapitre",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Voter pour cette entrée"
|
||||
},
|
||||
@@ -86,7 +96,7 @@
|
||||
"message": "Annuler la création de segment"
|
||||
},
|
||||
"noVideoID": {
|
||||
"message": "Aucune vidéo YouTube trouvée.\nActualisez l'onglet si il est censé y en avoir une."
|
||||
"message": "Aucune vidéo YouTube trouvée.\nActualisez l'onglet s'il s'agit d'une erreur."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Rafraîchir les segments"
|
||||
@@ -115,6 +125,9 @@
|
||||
"SubmitTimes": {
|
||||
"message": "Soumettre des segments"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Trier les segments"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Êtes-vous sûr de vouloir soumettre ces segments?"
|
||||
},
|
||||
@@ -164,6 +177,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "Copier l'ID utilisateur"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Copier l'identifiant du segment"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Rejoignez le serveur Discord officiel pour toutes suggestions ou remarques!"
|
||||
},
|
||||
@@ -213,10 +229,10 @@
|
||||
"message": "Enregistrer les segments contre lesquels vous avez voté"
|
||||
},
|
||||
"whatTrackDownvotes": {
|
||||
"message": "Tous les segments que contre lesquels vous votez resteront cachés même après rafraîchissement de la page"
|
||||
"message": "Tous les segments votés négativement resteront cachés même après rafraîchissement de la page"
|
||||
},
|
||||
"trackDownvotesWarning": {
|
||||
"message": "Attention : la désactivation supprimera tous vos votes précédemment enregistrés"
|
||||
"message": "Attention : Désactiver ceci supprimera tous les contre-votes précédemment enregistrés"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "Requête par préfixe du hash"
|
||||
@@ -236,6 +252,9 @@
|
||||
"showSkipNotice": {
|
||||
"message": "Notifier après qu'un segment ait été sauté"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Affiche l'aide de la catégorie"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Notifications de passage"
|
||||
},
|
||||
@@ -283,6 +302,14 @@
|
||||
"message": "Soumettre les segments",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Chapitre suivant",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Chapitre précédent",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Sélectionnez une touche en utilisant le clavier et choisissez les touches de modification que vous souhaitez utiliser."
|
||||
},
|
||||
@@ -312,7 +339,7 @@
|
||||
"message": "Couper le son"
|
||||
},
|
||||
"full": {
|
||||
"message": "Toute la vidéo",
|
||||
"message": "Vidéo entière",
|
||||
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
|
||||
},
|
||||
"skip_category": {
|
||||
@@ -322,7 +349,7 @@
|
||||
"message": "Mettre en sourdine {0} ?"
|
||||
},
|
||||
"skip_to_category": {
|
||||
"message": "Passer à {0}?",
|
||||
"message": "Passer à {0} ?",
|
||||
"description": "Used for skipping to things (Skip to Highlight)"
|
||||
},
|
||||
"skipped": {
|
||||
@@ -381,23 +408,14 @@
|
||||
"statusReminder": {
|
||||
"message": "Vérifiez status.sponsor.ajay.app pour le status du serveur."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Importer/Exporter Votre ID d'Utilisateur"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Cela devrait rester privé. C'est comme un mot de passe et ne devrait être partagé avec personne. Si quelqu'un a cela, il peut vous usurper. Si vous recherchez votre identifiant d'utilisateur public, cliquez sur l'icône du presse-papiers dans le popup."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Définir \"UserID\""
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Avertissement : La modification de \"UserID\" est permanente. Êtes-vous sûr de vouloir faire ça ? Assurez-vous de sauvegarder votre ancien au cas où."
|
||||
"message": "Il doit rester privé. 0 l'instar d'un mot de passe, il ne doit être partagé avec personne. Si une autre personne est en possession de cette information, elle peut usurper votre identité SponsorBlock. Si vous cherchez votre UserID public, cliquez sur l'icône du presse-papiers dans l'encart."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Créé par"
|
||||
},
|
||||
"supportOtherSites": {
|
||||
"message": "Support de YouTube-Sites tierces"
|
||||
"message": "Support de sites tiers YouTube"
|
||||
},
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Support de clients YouTube tierces. Pour habiliter le support, vous devez accepter les autorisations supplémentaires. Cela ne fonctionne PAS en incognito sur Chrome et d'autres variantes de Chromium.",
|
||||
@@ -436,6 +454,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Les segments plus courts que la valeur fixée ne seront pas sautés ou affichés dans le lecteur."
|
||||
},
|
||||
"enableManualSkipOnFullVideo": {
|
||||
"message": "Utiliser le saut manuel quand une étiquette vidéo complète existe"
|
||||
},
|
||||
"whatManualSkipOnFullVideo": {
|
||||
"message": "Pour les personnes qui veulent regarder la vidéo sans interruptions si elle est complétement sponsorisée ou auto-promu."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Durée du saut de segment (secondes):"
|
||||
},
|
||||
@@ -443,7 +467,7 @@
|
||||
"message": "L'avis du saut restera à l'écran pendant au moins aussi longtemps. Pour passer manuellement, il peut être visible plus longtemps."
|
||||
},
|
||||
"shortCheck": {
|
||||
"message": "Le segment suivant est plus court que votre option de durée minimale. Cela pourrait signifier qu'il est déjà soumis, et just ignoré par cette option. Êtes-vous sûr de vouloir soumettre ?"
|
||||
"message": "Le segment suivant est plus court que votre option de durée minimale. Cela pourrait signifier qu'il a déjà été soumis et est simplement ignoré à cause de cette option. Êtes-vous sûr de vouloir soumettre ce segment ?"
|
||||
},
|
||||
"liveOrPremiere": {
|
||||
"message": "La soumission de segments sur un direct en cours ou une première n'est pas autorisée. Veuillez attendre qu'il soit terminé puis actualisez la page et vérifiez que les segments sont toujours valides."
|
||||
@@ -484,14 +508,11 @@
|
||||
"exportOptionsUpload": {
|
||||
"message": "Charger à partir du fichier"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Contient toute votre configuration au format JSON. Inclut votre UserID privé, donc ne partagez pas ce fichier."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Définir les options"
|
||||
},
|
||||
"exportOptionsWarning": {
|
||||
"message": "Attention : La modification des options est permanente et peut casser votre installation. Êtes-vous sûr de vouloir faire ça ? Sauvegardez les anciennes au cas où."
|
||||
"message": "Attention : La modification des options est définitive et peut rendre instable voire planter votre installation. Êtes-vous sûr de vouloir faire ça ? Faites une sauvegarde de votre ancienne configuration au cas où."
|
||||
},
|
||||
"incorrectlyFormattedOptions": {
|
||||
"message": "Ce JSON n'est pas formaté correctement. Vos options n'ont pas été modifiées."
|
||||
@@ -539,17 +560,42 @@
|
||||
"message": "à",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Copié!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Inclure les transitions entre les segments"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Jouer comme si rien n'avait été passé"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Message sponsorisé"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Promotion rémunérée, parrainage rémunéré et publicité directe. Pas pour l'autopromotion ou les présentations gratuites de causes, de créateurs, de sites web ou de produits qu'ils aiment."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Promotions rémunérées"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Pas pour les dons ou les produits dérivés"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Non rémunéré/autopromotion"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Semblable au \"sponsor\", excepté pour la promotion non rémunérée ou l'auto-promotion. Cela inclut les marchandises, les dons et les informations sur leurs collaborateurs."
|
||||
"message": "Semblable aux \"messages commerciaux\", excepté pour la promotion non rémunérée ou l'autopromotion. Cela inclut les marchandises, les dons et les informations sur leurs collaborateurs."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Dons, abonnements (payant) et produits dérivés"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Remerciements gratuits qui n'apportent aucune information à la vidéo"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Pas pour des produits dérivés fait par des marques"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Accès exclusif"
|
||||
@@ -561,11 +607,23 @@
|
||||
"message": "Cette vidéo présente un produit, un service ou un lieu pour lequel un accès gratuit ou subventionné a été reçu",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Toute la vidéo présente quelque chose dont le créateur a eu un accès gratuit ou subventionné"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Rappel d'interaction (abonnement)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Lorsqu'il y a un bref rappel pour aimer, s'abonner ou les suivre parmi le contenu. Si le message est long ou porte sur quelque chose de spécifique, cela devrait plutôt être classé comme une autopromotion."
|
||||
"message": "Bref rappel d'aimer la vidéo ou de s'abonner à la chaîne au milieu de la vidéo. Si le message est long ou porte sur quelque chose de précis, classez plutôt le segment comme autopromotion."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Rappels courts à like, s'abonner ou suivre"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Inclut des rappels indirects à commenter"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Pas pour la promotion générale, seulement les appels à l'interaction"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Rappel d'interaction"
|
||||
@@ -579,27 +637,51 @@
|
||||
"category_intro_short": {
|
||||
"message": "Entracte"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Intervalle sans contenu réel"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Pas pour les transitions avec des informations"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Générique de fin"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Crédits ou écrans de fin YouTube. Pas pour les conclusions contenant des informations."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Ne dois pas inclure de contenu, même si les écrans de fin sont apparus"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Aperçu/Résumé"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Résumé rapide des épisodes précédents, ou aperçu de ce qui se passera plus tard dans la vidéo en cours. Pour les plans collectifs édités, pas pour les résumés parlés."
|
||||
"message": "Collection de clips qui montrent ce qui se passe dans cette vidéo ou d'autres vidéos d'une série où toutes les informations sont répétées plus tard dans la vidéo."
|
||||
},
|
||||
"category_preview_guideline1": {
|
||||
"message": "Clips apparaissant plus tard ou dans une prochaine vidéo"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Récapitulatif d'une vidéo précédente"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Pas pour les sections qui ajoutent du contenu supplémentaire"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Digressions/Blagues"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Digressions ajoutées uniquement dans un but de remplissage ou de l'humour non requis pour comprendre le sujet principal de la vidéo. Ne doit pas inclure des segments fournissant du contexte ou des détails de fond."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Remplissage"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Scènes digressives uniquement pour le remplissage ou l'humour"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Distractions, bêtisiers, replays"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Pas pour les scènes requises pour comprendre le sujet"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Musique : Segment non musical"
|
||||
},
|
||||
@@ -609,12 +691,42 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Hors musique"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Sections qui ne sont pas dans la musique officielle"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Pas de musique pendant les concerts en direct"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Point essentiel"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "La partie de la vidéo que la plupart des gens veulent voir. Similaire à \"la vidéo commence à x mins\"."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "Section la plus regardée"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Peut sauter le contexte"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Peut passer au sujet cité dans le titre ou la miniature"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Chapitre"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "Noms de chapitres personnalisés décrivant les sections importantes d'une vidéo."
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "Ne pas mentionner les marques du sponsor"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "Utiliser de plus grands chapitres pour les sections générales"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "Les plus petits chapitres peuvent être placés dans les plus grands"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Stream : lecture de dons et messages"
|
||||
},
|
||||
@@ -645,6 +757,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "Afficher l'étiquette"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Montre les chapitres"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Ignorer automatiquement tous les segments lorsqu'il y a un segment non-musical"
|
||||
},
|
||||
@@ -700,6 +815,10 @@
|
||||
"bracketEnd": {
|
||||
"message": "(Fin)"
|
||||
},
|
||||
"End": {
|
||||
"message": "Fin",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "masqué : vote négatif"
|
||||
},
|
||||
@@ -711,13 +830,10 @@
|
||||
},
|
||||
"channelDataNotFound": {
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "Le Channel ID n'est pas encore chargé. Si vous utilisez une vidéo intégrée, essayez d'utiliser la page d'accueil de YouTube. Cela pourrait également être causé par des changements dans l'interface de YouTube. Si vous pensez que c'est le cas, écrivez un commentaire ici :"
|
||||
"message": "Le Channel ID n'est pas encore chargé. Si vous utilisez une vidéo intégrée, essayez plutôt d'utiliser la page d'accueil de YouTube. Le problème peut également être causé par des changements dans l'interface de YouTube, si vous pensez que c'est le cas, écrivez un commentaire ici :"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Il semblerait que quelque chose empêche SponsorBlock de récupérer les données de la vidéo. Veuillez consulter https://github.com/ajayyy/SponsorBlock/issues/741 pour plus d'informations."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Il semblerait que SponsorBlock ne puisse pas accéder à l'API YouTube. Pour corriger cela, acceptez la demande de permission qui apparaîtra, attendez quelques secondes, puis rechargez la page."
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "Le navigateur a refusé l'autorisation nécessaire pour pouvoir fonctionner sur Invidious et d'autres sites tiers. Veuillez cliquer sur le bouton ci-dessous pour réactiver cette autorisation."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Accepter l'autorisation"
|
||||
@@ -743,6 +859,13 @@
|
||||
"downvoteDescription": {
|
||||
"message": "Segment de mauvaise qualité"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Incorrect"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Néfaste",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Changer de catégorie"
|
||||
},
|
||||
@@ -778,6 +901,9 @@
|
||||
"categoryPillTitleText": {
|
||||
"message": "L'intégralité de cette vidéo est classée dans cette catégorie ce qui la rend trop intriquée pour l'en séparer"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "Un des noms du chapitre est similaire à la catégorie. Tu devrais plutôt utiliser une catégorie si possible."
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Se désinscrire de toutes les futures expériences",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
@@ -786,11 +912,19 @@
|
||||
"message": "Cacher pour toujours"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Vous avez reçu un avertissement et ne pouvez temporairement pas soumettre de segments. Cela signifie que nous avons remarqué que vous commettiez des erreurs courantes non malveillantes. Veuillez confirmer que vous comprenez le règlement et nous supprimerons l'avertissement. Vous pouvez également rejoindre cette discussion en utilisant discord.gg/SponsorBlock ou matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Nous avons remarqué que vous faisiez des erreurs courantes qui ne sont pas intentionnelles"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Le vote a été rejeté en raison d'un avertissement. Cliquez pour ouvrir un chat et y mettre fin , ou revenez plus tard lorsque vous avez le temps.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "Vous avez reçu un avertissement"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "J’ai une question"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Je comprends les risques"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Erreur lors de la tentative de reconnaissance de l'avertissement :"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Faire un don"
|
||||
@@ -829,7 +963,7 @@
|
||||
"message": "La soumission peut être effectuée dans le popup en appuyant sur le bouton \"le segment commence maintenant\" ou dans le lecteur vidéo avec les boutons du lecteur."
|
||||
},
|
||||
"helpPageSubmitting2": {
|
||||
"message": "Cliquer sur le bouton de lecture indique le début d'un segment et cliquer sur l'icône d'arrêt indique la fin. Vous pouvez préparer plusieurs sponsors avant d'appuyer sur Soumettre. Cliquer sur le bouton de soumission enverra le segment. Cliquer sur le poubelle supprimera vos segments."
|
||||
"message": "Cliquer sur le bouton de lecture indique le début d'un segment et cliquer sur l'icône d'arrêt indique sa fin. Vous pouvez préparer plusieurs messages commerciaux avant d'appuyer sur Soumettre. Cliquer sur le bouton Téléverser soumettra vos segments. Cliquer sur la poubelle supprimera vos segments."
|
||||
},
|
||||
"Editing": {
|
||||
"message": "Édition en cours"
|
||||
@@ -864,6 +998,9 @@
|
||||
"LearnMore": {
|
||||
"message": "En savoir plus"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Tous les détails"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Vote contre et crée une copie locale à soumettre à nouveau"
|
||||
},
|
||||
@@ -879,6 +1016,15 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Cela s'appliquera instantanément à vos segments"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Voter contre"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Voter pour"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Cacher le segment"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Utilisez la molette de votre souris en survolant la boîte d'édition pour ajuster rapidement le minutage. Les combinaisons de touches ctrl ou maj peuvent être utilisées pour affiner les modifications."
|
||||
},
|
||||
@@ -929,5 +1075,133 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Il s'agit d'un raccourci intégré à YouTube. Êtes-vous sûr de vouloir l'utiliser ?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "Le serveur BETA est actif !"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Ouvrir la page d'options"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Rétablir les paramètres par défaut"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Êtes-vous sûr de vouloir rétablir tous les paramètres ? Cette action ne peut pas être annulée."
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Exporter les segments"
|
||||
},
|
||||
"importSegments": {
|
||||
"message": "Importer des segments"
|
||||
},
|
||||
"Import": {
|
||||
"message": "Importer",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "Code échangé avec succès!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "La clé de licence est invalide"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "Cache les potions non disponibles sans paiement supplémentaire"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Sélectionnez un pays"
|
||||
},
|
||||
"noDiscount": {
|
||||
"message": "Vous n'êtes pas éligibles à une réduction"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "Lien de réduction (Voir le prix rose)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Sélectionne ton pays"
|
||||
},
|
||||
"alreadyDonated": {
|
||||
"message": "Si tu as fait un don de n'importe quel montant avant, tu peux avoir un accès gratuit en envoyant un e-mail :",
|
||||
"description": "After the colon is an email address"
|
||||
},
|
||||
"cantAfford": {
|
||||
"message": "Si vous ne pouvez pas vous permettre d'acheter une licence, cliquez sur {here} pour voir si vous êtes admissible à une réduction",
|
||||
"description": "Keep the curly braces. The word 'here' should be translated as well."
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Se connecter avec Patreon"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "Réclamer"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Soutenir sur Patreon"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "Achat unique"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Entrer la clé de licence"
|
||||
},
|
||||
"chaptersPage1": {
|
||||
"message": "La fonctionnalité participative des chapitres de SponsorBlock n'est disponible que pour les personnes qui achètent une licence, ou pour les personnes qui en ont l'accès gratuitement grâce à leurs contributions passées"
|
||||
},
|
||||
"chapterNewFeature": {
|
||||
"message": "Nouvelle fonctionnalité : Chapitres personnalisés crowd-sourcés. Ce sont des sections dans les vidéos avec un nom personnalisé qui s'améliore au fur et à mesure. Achetez une licence pour voir les chapitres soumis sur cette vidéo tels que: ",
|
||||
"description": "After the comma, a list of chapters for this video will appear"
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "Vous avez actuellement {0} sur {1}",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "Vous avez actuellement soumis aucun segment",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "segment non soumis",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "segments non soumis",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "vidéo",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "vidéos",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "Effacer tous les segments",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "Êtes-vous sûr de vouloir effacer tout les segments non soumis?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "Montrer les segments",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "Cacher les segments",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "ID de la vidéo",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "Nombre de segments",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "Actions",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "Partager un URL"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,6 +52,9 @@
|
||||
"reskip": {
|
||||
"message": "דלג קדימה"
|
||||
},
|
||||
"unmute": {
|
||||
"message": "ביטול השתקה"
|
||||
},
|
||||
"paused": {
|
||||
"message": "מושהה"
|
||||
},
|
||||
@@ -79,9 +82,15 @@
|
||||
"sponsorEnd": {
|
||||
"message": "מקטע נגמר עכשיו"
|
||||
},
|
||||
"sponsorCancel": {
|
||||
"message": "ביטול יצירת מקטע"
|
||||
},
|
||||
"noVideoID": {
|
||||
"message": "לא נמצא סרטון יוטיוב.\nאם זה לא נכון, רענן את הכרטיסייה."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "רענן מקטעים"
|
||||
},
|
||||
"success": {
|
||||
"message": "הצלחה!"
|
||||
},
|
||||
@@ -137,21 +146,63 @@
|
||||
"popupHint": {
|
||||
"message": "רמז: אתה יכול להגדיר קיצורים מהמקלדת דרך תפריט אפשרויות כדי להזין זמנים"
|
||||
},
|
||||
"clearTimesButton": {
|
||||
"message": "נקה זמנים"
|
||||
},
|
||||
"submitTimesButton": {
|
||||
"message": "הגש זמנים"
|
||||
},
|
||||
"publicStats": {
|
||||
"message": "זה משומש בעמוד הסטטים הפומביים כדי להראות כמה תרמת. צפה בזה"
|
||||
},
|
||||
"Username": {
|
||||
"message": "שם משתמש"
|
||||
},
|
||||
"setUsername": {
|
||||
"message": "הגדר שם משתמש"
|
||||
},
|
||||
"copyPublicID": {
|
||||
"message": "העתק קוד משתמש פומבי"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "הצטרף לשרת הדיסקורד הרשמי כדי לביא הצעות וחוות דעת!"
|
||||
},
|
||||
"hideThis": {
|
||||
"message": "הסתר"
|
||||
},
|
||||
"Options": {
|
||||
"message": "אפשרויות"
|
||||
},
|
||||
"showButtons": {
|
||||
"message": "הראה כפתורים על הנגן של יוטיוב"
|
||||
},
|
||||
"hideButtons": {
|
||||
"message": "הסתר כפתורים על הנגן של יוטיוב"
|
||||
},
|
||||
"hideButtonsDescription": {
|
||||
"message": "זה מחביא את הכפתורים שמופיעים בנגן YouTube להגיש מקטעי דילוג."
|
||||
},
|
||||
"showSkipButton": {
|
||||
"message": "השאר את כפתור הדילוג לשיא הסרטון על הנגן באופן קבוע"
|
||||
},
|
||||
"showInfoButton": {
|
||||
"message": "הראה כפתור מידע בנגן YouTube"
|
||||
},
|
||||
"hideInfoButton": {
|
||||
"message": "החבא כפתור מידע בנגן YouTube"
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "הסתר אוטומטית כפתורי אינפורמציה"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "הסתר כפתור מחיקה על הנגן של יוטיוב"
|
||||
},
|
||||
"showDeleteButton": {
|
||||
"message": "הצג כפתור מחיקה על הנגן של יוטיוב"
|
||||
},
|
||||
"whatViewTracking": {
|
||||
"message": "הפיצ'ר הזה עוקב אחרי מקטעים שדילגת עליהם בכדי ליידע משתמשים אחרים כמה ההגשות שלך עזרו לאחרים ושומשו כמטריקה יחד עם ההצבעות בעד בכדי להבטיח שלא ייכנס ספאם אל תוך המערכת. ההרחבה שולחת הודעה לשרת בכל פעם שאתה מדלג על מקטע. התקווה היא שרוב האנשים לא ישנו את ההגדרה הזו כדי שהמספרי צפייה יהיו מדוייקים :)"
|
||||
},
|
||||
"website": {
|
||||
"message": "אתר",
|
||||
"description": "Used on Firefox Store Page"
|
||||
@@ -163,6 +214,15 @@
|
||||
"errorCode": {
|
||||
"message": "קוד שגיאה: "
|
||||
},
|
||||
"skip": {
|
||||
"message": "דלג"
|
||||
},
|
||||
"mute": {
|
||||
"message": "השתק"
|
||||
},
|
||||
"mute_category": {
|
||||
"message": "השתק {0}?"
|
||||
},
|
||||
"minLower": {
|
||||
"message": "דקה"
|
||||
},
|
||||
@@ -186,10 +246,225 @@
|
||||
"createdBy": {
|
||||
"message": "נוצר על ידי"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "אתרים נתמכים: "
|
||||
},
|
||||
"add": {
|
||||
"message": "הוסף"
|
||||
},
|
||||
"save": {
|
||||
"message": "שמור"
|
||||
},
|
||||
"reset": {
|
||||
"message": "אתחל"
|
||||
},
|
||||
"exportOptionsCopy": {
|
||||
"message": "ערוך/העתק"
|
||||
},
|
||||
"exportOptionsDownload": {
|
||||
"message": "שמור לקובץ"
|
||||
},
|
||||
"exportOptionsUpload": {
|
||||
"message": "טען מקובץ"
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "הגדר אפשרויות"
|
||||
},
|
||||
"confirmNoticeTitle": {
|
||||
"message": "הגש מקטע"
|
||||
},
|
||||
"submit": {
|
||||
"message": "הגש"
|
||||
},
|
||||
"cancel": {
|
||||
"message": "ביטול"
|
||||
},
|
||||
"delete": {
|
||||
"message": "מחק"
|
||||
},
|
||||
"preview": {
|
||||
"message": "תצוגה מקדימה"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "לא מוגש"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "סקור"
|
||||
},
|
||||
"edit": {
|
||||
"message": "עריכה"
|
||||
},
|
||||
"to": {
|
||||
"message": "עד ל",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "נותן חסות"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "גישה אקסקלוסיבית"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "מוזיקה: קטעים ללא מוזיקה"
|
||||
},
|
||||
"category_music_offtopic_short": {
|
||||
"message": "ללא מוזיקה"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "קטע חשוב"
|
||||
},
|
||||
"autoSkip": {
|
||||
"message": "דילוג אוטומטי"
|
||||
},
|
||||
"manualSkip": {
|
||||
"message": "דלג ידנית"
|
||||
},
|
||||
"showOverlay": {
|
||||
"message": "הראה בטיימליין"
|
||||
},
|
||||
"showOverlay_POI": {
|
||||
"message": "הראה בטיימליין"
|
||||
},
|
||||
"category": {
|
||||
"message": "קטגוריה"
|
||||
},
|
||||
"skipOption": {
|
||||
"message": "אפשרות דילוג",
|
||||
"description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
|
||||
},
|
||||
"bracketNow": {
|
||||
"message": "(עכשיו)"
|
||||
},
|
||||
"moreCategories": {
|
||||
"message": "עוד קטגוריות"
|
||||
},
|
||||
"chooseACategory": {
|
||||
"message": "בחר קטגוריה"
|
||||
},
|
||||
"bracketEnd": {
|
||||
"message": "(סוף)"
|
||||
},
|
||||
"downvoteDescription": {
|
||||
"message": "זמן שגוי/לא נכון"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "שנה קטגוריה"
|
||||
},
|
||||
"multipleSegments": {
|
||||
"message": "מספר מקטעים"
|
||||
},
|
||||
"guidelines": {
|
||||
"message": "הנחיות"
|
||||
},
|
||||
"readTheGuidelines": {
|
||||
"message": "קראו את ההנחיות!!",
|
||||
"description": "Show the first time they submit or if they are \"high risk\""
|
||||
},
|
||||
"categoryUpdate1": {
|
||||
"message": "קטגוריות נמצאות כאן!"
|
||||
},
|
||||
"help": {
|
||||
"message": "עזרה"
|
||||
},
|
||||
"GotIt": {
|
||||
"message": "הבנתי",
|
||||
"description": "Used as the button to dismiss a tooltip"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "לא מעוניין להשתתף בניסויים עתידיים",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
},
|
||||
"hideForever": {
|
||||
"message": "הסתר לעד"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "תרום"
|
||||
},
|
||||
"considerDonating": {
|
||||
"message": "עזרו לממן את הפיתוח"
|
||||
},
|
||||
"hideDonationLink": {
|
||||
"message": "הסתר כפתור תרומה"
|
||||
},
|
||||
"helpPageThanksForInstalling": {
|
||||
"message": "תודה שהתקנת את ספונסרבלוק."
|
||||
},
|
||||
"helpPageReviewOptions": {
|
||||
"message": "אנא סקור את האפשרויות הבאות"
|
||||
},
|
||||
"helpPageHowSkippingWorks": {
|
||||
"message": "כיצד דילוג עובד"
|
||||
},
|
||||
"Submitting": {
|
||||
"message": "שולח"
|
||||
},
|
||||
"Editing": {
|
||||
"message": "עריכה"
|
||||
},
|
||||
"helpPageTooSlow": {
|
||||
"message": "הקצב איטי מדי"
|
||||
},
|
||||
"helpPageCopyOfDatabase2": {
|
||||
"message": "קוד המקור זמין באופן חופשי ובחינם. אז, אפילו אם משהו יקרה לי, המקטעים שהגשתם לא יאבדו."
|
||||
},
|
||||
"helpPageNews": {
|
||||
"message": "חדשות וכיצד זה נעשה"
|
||||
},
|
||||
"helpPageSourceCode": {
|
||||
"message": "היכן אוכל להשיג את קוד המקור?"
|
||||
},
|
||||
"Credits": {
|
||||
"message": "קרדיטים"
|
||||
},
|
||||
"LearnMore": {
|
||||
"message": "למידע נוסף"
|
||||
},
|
||||
"CopyAndDownvote": {
|
||||
"message": "העתק ועשה דיסלייק"
|
||||
},
|
||||
"ContinueVoting": {
|
||||
"message": "המשך להצביע"
|
||||
},
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "זה מיידית ישפיע על כל המקטעים שלך"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "השתמש בגלגלת בזמן שהעכבר מעל הזמן בשלב העריכה על מנת לשנות את הזמן יותר מהר. שילוב של הלחצן Ctrl/Shift יכולים לשנות את מהירות השינוי."
|
||||
},
|
||||
"categoryPillNewFeature": {
|
||||
"message": "חדש! ראה מתי וידאו בשלמותו הוא פרסומת או פרסום עצמי"
|
||||
},
|
||||
"dayAbbreviation": {
|
||||
"message": "ימים",
|
||||
"description": "100d"
|
||||
},
|
||||
"hourAbbreviation": {
|
||||
"message": "שעות",
|
||||
"description": "100h"
|
||||
},
|
||||
"optionsTabBehavior": {
|
||||
"message": "התנהגות",
|
||||
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabInterface": {
|
||||
"message": "ממשק",
|
||||
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabKeyBinds": {
|
||||
"message": "קיצורי מקלדת",
|
||||
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabBackup": {
|
||||
"message": "גיבוי/שחזור",
|
||||
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"notSet": {
|
||||
"message": "לא הוגדר"
|
||||
},
|
||||
"change": {
|
||||
"message": "שנה"
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "זה הוא קיצור דרך מובנה ביוטיוב. האם אתה בטוח שאתה רוצה להשתמש בו?"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,16 @@
|
||||
"Segments": {
|
||||
"message": "odsječci"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Odsječci"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Poglavlja"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Iscrtaj isječke kao poglavlja",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Glasaj za ovaj unos"
|
||||
},
|
||||
@@ -115,6 +125,9 @@
|
||||
"SubmitTimes": {
|
||||
"message": "Podnesi isječke"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Razvrstaj isječke"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Jesi li siguran da želiš unijeti ovo?"
|
||||
},
|
||||
@@ -131,7 +144,7 @@
|
||||
"message": "Prijava"
|
||||
},
|
||||
"savedPeopleFrom": {
|
||||
"message": "Sačuvali ste ljude od"
|
||||
"message": "Spasili ste ljude od "
|
||||
},
|
||||
"viewLeaderboard": {
|
||||
"message": "Ljestvica"
|
||||
@@ -164,11 +177,14 @@
|
||||
"copyPublicID": {
|
||||
"message": "Kopiraj javni UserID"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Kopiraj ID odsječka"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Pridružite nam se u službenoj Discord zajednici i pošaljite svoje prijedloge i povrate informacije!"
|
||||
},
|
||||
"hideThis": {
|
||||
"message": "Sakrijte ovo"
|
||||
"message": "Sakrij ovo"
|
||||
},
|
||||
"Options": {
|
||||
"message": "Opcije"
|
||||
@@ -203,9 +219,42 @@
|
||||
"enableViewTracking": {
|
||||
"message": "Omogući brojanje preskakanja"
|
||||
},
|
||||
"whatViewTracking": {
|
||||
"message": "Ova značajka prati koje dijelove ste preskočili, kako bi korisnicima dali doznanja koliko je njihova prijava pomogla drugima, koristi se kao mjerni podatak zajedni s goreglasom, kako bi se osiguralo da spam ne ulazi u bazu podataka. Proširenje šalje poruku poslužitelju svaki put kada preskočite dio. Nadamo se da puno ljudi neće mijenjati ovu postavku, kako bi broj pregleda bio točan. :)"
|
||||
},
|
||||
"enableViewTrackingInPrivate": {
|
||||
"message": "Omogući praćenje broja preskakanja u Privatnim/Incognito karticama"
|
||||
},
|
||||
"enableTrackDownvotes": {
|
||||
"message": "Pohranjuj doljeglasove dijelova"
|
||||
},
|
||||
"whatTrackDownvotes": {
|
||||
"message": "Svaki odjeljak koji doljeglasate ostati će skriven čak i nakon osvježavanja"
|
||||
},
|
||||
"trackDownvotesWarning": {
|
||||
"message": "Upozorenje: Onemogućavanjem ovoga izbrisati će svi prijašnje spremljeni doljeglasovi"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "Upit po prefiksu kontrolnog identifikacijskog broja"
|
||||
},
|
||||
"whatQueryByHashPrefix": {
|
||||
"message": "Umjesto zahtijeva za odjeljke sa poslužitelja koristeći videoID, prva 4 znaka sigurnosnog kontrolnog broja videoID-a su poslani. Taj poslužitelj poslat će nazad podatke za sva videa sa sličnim sigurnosnim kontrolnim brojevima."
|
||||
},
|
||||
"enableRefetchWhenNotFound": {
|
||||
"message": "Ponovno dohvati odjeljke za nova videa"
|
||||
},
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Ukoliko je video nov, a nisu pronađeni novi odjeljci, nastavit će s dohvaćanjem svako par minuta dok gledate."
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Prikaži napomenu opet"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Pokaži obavijest nakon preskakanja isječka"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Prikaži pomoć za kategorije"
|
||||
},
|
||||
"website": {
|
||||
"message": "Web-stranica",
|
||||
"description": "Used on Firefox Store Page"
|
||||
@@ -214,6 +263,37 @@
|
||||
"message": "Izvorni kod",
|
||||
"description": "Used on Firefox Store Page"
|
||||
},
|
||||
"noticeUpdate": {
|
||||
"message": "Napomena je nadograđena!",
|
||||
"description": "The first line of the message displayed after the notice was upgraded."
|
||||
},
|
||||
"noticeUpdate2": {
|
||||
"message": "Ako ti se i dalje ne sviđa, pritisni gumb „Nikad ne prikazuj”.",
|
||||
"description": "The second line of the message displayed after the notice was upgraded."
|
||||
},
|
||||
"setSkipShortcut": {
|
||||
"message": "Preskoči odsječak",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"setStartSponsorShortcut": {
|
||||
"message": "Pokreni/prekini odsječak",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "Pošalji odsječke",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Sljedeće poglavlje",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Prethodno poglavlje",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Odaberi tipku upisom tipke i odaberi modifikatorske tipke koje želiš koristiti."
|
||||
},
|
||||
"0": {
|
||||
"message": "Veza istekla. Provjerite svoju internetski vezu. Ako vaš internet radi, poslužitelj je vjerojatno preopterećen ili nedostupan."
|
||||
},
|
||||
@@ -236,6 +316,13 @@
|
||||
"skip": {
|
||||
"message": "Preskoči"
|
||||
},
|
||||
"mute": {
|
||||
"message": "Isključi zvuk"
|
||||
},
|
||||
"full": {
|
||||
"message": "Cijeli video",
|
||||
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
|
||||
},
|
||||
"skip_category": {
|
||||
"message": "Preskočiti {0}?"
|
||||
},
|
||||
@@ -246,6 +333,14 @@
|
||||
"message": "Preskočiti na {0}?",
|
||||
"description": "Used for skipping to things (Skip to Highlight)"
|
||||
},
|
||||
"skipped": {
|
||||
"message": "Preskočeno: {0}",
|
||||
"description": "Example: Sponsor Skipped"
|
||||
},
|
||||
"muted": {
|
||||
"message": "Isključen zvuk: {0}",
|
||||
"description": "Example: Sponsor Muted"
|
||||
},
|
||||
"skipped_to_category": {
|
||||
"message": "Preskočeno na {0}",
|
||||
"description": "Used for skipping to things (Skipped to Highlight)"
|
||||
@@ -256,6 +351,15 @@
|
||||
"enableAutoSkip": {
|
||||
"message": "Aktiviraj automatsko preskakanje"
|
||||
},
|
||||
"audioNotification": {
|
||||
"message": "Zvučna obavijest pri preskakanju"
|
||||
},
|
||||
"audioNotificationDescription": {
|
||||
"message": "Zvučna obavijest o preskakanju reproducirat će zvuk kad god se odsječak preskoči. Ako je deaktivirano (ili je automatsko preskakanje deaktivirano), zvuk se neće reproducirati."
|
||||
},
|
||||
"youHaveSkipped": {
|
||||
"message": "Do sad ste preskočili "
|
||||
},
|
||||
"minLower": {
|
||||
"message": "min"
|
||||
},
|
||||
@@ -268,15 +372,17 @@
|
||||
"hoursLower": {
|
||||
"message": "h"
|
||||
},
|
||||
"youHaveSavedTime": {
|
||||
"message": "Spasili ste ljude od",
|
||||
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
|
||||
},
|
||||
"youHaveSavedTimeEnd": {
|
||||
"message": " njihova života",
|
||||
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
|
||||
},
|
||||
"statusReminder": {
|
||||
"message": "Provjerite status.sponsor.ajay.app za status poslužitelja."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Postavi UserID"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Oprez: Promjena UserID-a je trajna. Jesi li siguran da želiš ovo napraviti? Napravi kopiju starog UserID-a za svaki slučaj."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Izradio"
|
||||
},
|
||||
@@ -307,12 +413,21 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Isječci kraći od postavljene vrijednosti neće biti preskočeni ili prikazani u playeru."
|
||||
},
|
||||
"enableManualSkipOnFullVideo": {
|
||||
"message": "Koristi ručno preskakanje kad postoji etiketa za potuni video"
|
||||
},
|
||||
"whatManualSkipOnFullVideo": {
|
||||
"message": "Za osobe koji žele gledati video bez prekida ako je u potpunosti sponzoriran ili samopromocija."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Duljina trajanja obavijesti o preskakanju (sekunde):"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "Obavijest o preskakanju ostat će na zaslonu barem ovoliko dugo. Za ručno preskakanje može biti duže vidljivo."
|
||||
},
|
||||
"showUploadButton": {
|
||||
"message": "Prikaži gumb za prijenos"
|
||||
},
|
||||
"customServerAddress": {
|
||||
"message": "Adresa SponsorBlock poslužitelja"
|
||||
},
|
||||
@@ -322,12 +437,27 @@
|
||||
"reset": {
|
||||
"message": "Resetiraj"
|
||||
},
|
||||
"mobileUpdateInfo": {
|
||||
"message": "Sada se podržava m.youtube.com"
|
||||
},
|
||||
"exportOptions": {
|
||||
"message": "Uvezi/Izvezi sve postavke"
|
||||
},
|
||||
"exportOptionsCopy": {
|
||||
"message": "Uredi/kopiraj"
|
||||
},
|
||||
"exportOptionsDownload": {
|
||||
"message": "Spremi u datoteku"
|
||||
},
|
||||
"exportOptionsUpload": {
|
||||
"message": "Učitaj iz datoteke"
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Postavi opcije"
|
||||
},
|
||||
"incorrectlyFormattedOptions": {
|
||||
"message": "Ovaj JSON nije ispravno formatiran. Tvoje opcije nisu promijenjene."
|
||||
},
|
||||
"confirmNoticeTitle": {
|
||||
"message": "Pošalji segment"
|
||||
},
|
||||
@@ -359,18 +489,40 @@
|
||||
"message": "do",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Kopirano!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Uključi glatke prijelaze"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Reproducira kao da ništa nije preskočeno"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Sponzor"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Plaćene promocije, plaćene preporuke i izravne reklame. Nije za samopromociju ili besplatno pozivanje na događaje/kreatore/web stranice/proizvode koji im se sviđaju."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Plaćeni oglasi"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Ne za donacije ili proizvode"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Neplaćena promocija ili samopromocija"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Slično kao „sponzor”, osim za neplaćenu promociju i samopromociju. To uključuje odlomke marketinga, donacija ili informacija o tome, s kim su surađivali."
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Eksluzivni pristup"
|
||||
},
|
||||
"category_exclusive_access_description": {
|
||||
"message": "Samo za označavanje cijelih videa. Koristi se kad video prikazuje proizvod, uslugu ili lokaciju za koje su dobili besplatan ili subvencionirani pristup."
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Podsjetnik interakcije (Pretplati se)"
|
||||
},
|
||||
@@ -392,6 +544,9 @@
|
||||
"category_preview": {
|
||||
"message": "Pregled/Sažetak"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Zbirka isječaka koji pokazuju što dolazi u ovom videu ili drugim videima u nizu gdje se sve informacije kasnije ponavljaju u videu."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Popuna"
|
||||
},
|
||||
@@ -407,6 +562,21 @@
|
||||
"category_poi_highlight": {
|
||||
"message": "Istaknuto"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Poglavlje"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "Prilagođeno imenovana poglavlja koja opisuju glavne dijelove videa."
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "Ne spominji imena brendova sponzora"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "Koristi veća poglavlja za opće dijelove"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "Manja poglavlja se mogu smjestiti unutar većih"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Livestream: čitanje donacija/poruka"
|
||||
},
|
||||
@@ -419,6 +589,21 @@
|
||||
"manualSkip": {
|
||||
"message": "Ručno preskakanje"
|
||||
},
|
||||
"disable": {
|
||||
"message": "Deaktiviraj"
|
||||
},
|
||||
"autoSkip_POI": {
|
||||
"message": "Automatski skoči na početak"
|
||||
},
|
||||
"manualSkip_POI": {
|
||||
"message": "Pitaj kad se učitava video"
|
||||
},
|
||||
"showOverlay_full": {
|
||||
"message": "Prikaži oznaku"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Prikaži poglavlja"
|
||||
},
|
||||
"muteSegments": {
|
||||
"message": "Dopustite isječke koji isključuju zvuk umjesto da ga preskaču"
|
||||
},
|
||||
@@ -436,6 +621,9 @@
|
||||
"enableTestingServer": {
|
||||
"message": "Omogućite poslužitelj za beta testiranje"
|
||||
},
|
||||
"testingServerWarning": {
|
||||
"message": "Svi podnesci i glasovi NEĆE BROJATI u glavnom poslužitelju dok se povezuješ s testnim poslužiteljem. Obavezno deaktiviraj ovo kada želiš slati podneske."
|
||||
},
|
||||
"bracketNow": {
|
||||
"message": "(sada)"
|
||||
},
|
||||
@@ -446,7 +634,7 @@
|
||||
"message": "Odaberi kategoriju"
|
||||
},
|
||||
"enableThisCategoryFirst": {
|
||||
"message": "Da biste poslali segmente s kategorijom \"{0}\", morate je omogućiti u postavkama. Sada ćete biti preusmjereni na postavke.",
|
||||
"message": "Za slanje odsječaka kategorije „{0}”, moraš je aktivirati u postavkama. Sada ćemo te preusmjeriti na postavke.",
|
||||
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
|
||||
},
|
||||
"youMustSelectACategory": {
|
||||
@@ -455,9 +643,26 @@
|
||||
"bracketEnd": {
|
||||
"message": "(kraj)"
|
||||
},
|
||||
"End": {
|
||||
"message": "Kraj",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"manuallyHidden": {
|
||||
"message": "ručno skriveno"
|
||||
},
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "Preglednik je opozvao dopuštenje potrebno za funkcioniranje na Invidiousu i drugim stranicama trećih strana. Pritisni donji gumb za ponovno aktiviranje ove dozvole."
|
||||
},
|
||||
"downvoteDescription": {
|
||||
"message": "Neispravno/krivo vrijeme"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Neispravno"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Štetno",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Promijenite kategoriju"
|
||||
},
|
||||
@@ -480,12 +685,31 @@
|
||||
"categoryUpdate2": {
|
||||
"message": "Otvori opcije za preskakanje uvoda, kraja, proizvoda itd."
|
||||
},
|
||||
"help": {
|
||||
"message": "Pomoć"
|
||||
},
|
||||
"GotIt": {
|
||||
"message": "Razumijem",
|
||||
"description": "Used as the button to dismiss a tooltip"
|
||||
},
|
||||
"categoryPillTitleText": {
|
||||
"message": "Ovaj cijeli video označen je kao ova kategorija i previše je integriran da bi se mogao odvojiti"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "Jedno od tvojih imena poglavlja je slično kategoriji. Kad god moguće koristi kategorije."
|
||||
},
|
||||
"hideForever": {
|
||||
"message": "Sakrij zauvijek"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Doniraj"
|
||||
},
|
||||
"helpPageThanksForInstalling": {
|
||||
"message": "Hvala na instaliranju SponsorBlocka."
|
||||
},
|
||||
"helpPageFeatureDisclaimer": {
|
||||
"message": "Mnoge funkcije su standardno deaktivirane. Ako želiš preskočiti uvode, završne dijelove, koristiti Invidious, itd., aktiviraj ih niže dolje. Također možeš sakriti/prikazati elemente korisničkog sučelja."
|
||||
},
|
||||
"Submitting": {
|
||||
"message": "Slanje"
|
||||
},
|
||||
@@ -518,5 +742,115 @@
|
||||
},
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Ovo će se odmah primijeniti na vaše isječke"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Sakri odsječak"
|
||||
},
|
||||
"dayAbbreviation": {
|
||||
"message": "d",
|
||||
"description": "100d"
|
||||
},
|
||||
"hourAbbreviation": {
|
||||
"message": "h",
|
||||
"description": "100h"
|
||||
},
|
||||
"optionsTabBehavior": {
|
||||
"message": "Ponašanje",
|
||||
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabInterface": {
|
||||
"message": "Sučelje",
|
||||
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabKeyBinds": {
|
||||
"message": "Tipkovni prečaci",
|
||||
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabBackup": {
|
||||
"message": "Sigurnosna kopija/Obnova",
|
||||
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabAdvanced": {
|
||||
"message": "Razno",
|
||||
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"noticeVisibilityLabel": {
|
||||
"message": "Izgled napomene preskakanja",
|
||||
"description": "Option label"
|
||||
},
|
||||
"notSet": {
|
||||
"message": "Nije postavljeno"
|
||||
},
|
||||
"change": {
|
||||
"message": "Promijeni"
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Ovo je ugrađeni YouTube prečac. Stvarno ga želiš koristiti?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "BETA poslužitelj je aktiviran!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Otvori stranicu opcija"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Vrati standardne postavke"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Stvarno želiš vratiti sve postavke na standardne vrijednosti? To je nepovratna radnja."
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Izvezi odsječke"
|
||||
},
|
||||
"importSegments": {
|
||||
"message": "Uvezi odsječke"
|
||||
},
|
||||
"Import": {
|
||||
"message": "Uvezi",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "Uspješno korištenje kupona!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "Licencni ključ je neispravan"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "Sakrij opcije koje nisu dostupne bez dodatnog plaćanja"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Odaberi zemlju"
|
||||
},
|
||||
"noDiscount": {
|
||||
"message": "Ne ispunjavaš uvjete za popust"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "Poveznica za popust (pogledaj ružičastu cijenu)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Odaberi svoju zemlju"
|
||||
},
|
||||
"alreadyDonated": {
|
||||
"message": "Ako si već donirao/la, možeš iskoristiti kupon za besplatan pristup putem e-pošte:",
|
||||
"description": "After the colon is an email address"
|
||||
},
|
||||
"cantAfford": {
|
||||
"message": "Ako si ne možeš priuštiti kupnju licence, pritisni {here} da vidiš imaš li pravo na popust",
|
||||
"description": "Keep the curly braces. The word 'here' should be translated as well."
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Prijavi se putem Patreona"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "Iskoristi kupon"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Pretplati se na Patreon"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "Jednokratna kupnja"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Upiši licencni ključ"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,19 @@
|
||||
"Segments": {
|
||||
"message": "szegmens"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Szegmensek"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Fejezetek"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Szegmensek megjelenítése fejezetekként",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"showSegmentNameInChapterBar": {
|
||||
"message": "Aktuális szegmens megjelenítése a videó ideje mellett"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Részlet felszavazása"
|
||||
},
|
||||
@@ -112,9 +125,15 @@
|
||||
"closePopup": {
|
||||
"message": "Felugró ablak bezárása"
|
||||
},
|
||||
"closeIcon": {
|
||||
"message": "Bezárás ikon"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Szegmensek beküldése"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Szegmensek rendezése"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Biztosan be akarod küldeni?"
|
||||
},
|
||||
@@ -164,6 +183,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "Nyilvános UserID másolása"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Szegmens ID másolása"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Gyere, csatlakozz a hivatalos discord szerverhez, hogy javaslatokat és visszajelzést adhass!"
|
||||
},
|
||||
@@ -230,12 +252,21 @@
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Ha a videó új, és még nem találhatóak szegmensek, a bővítmény pár percenkét újra keresi őket, miközben nézed."
|
||||
},
|
||||
"enableShowCategoryWithoutPermission": {
|
||||
"message": "Kategóriák megjelenítése a beküldési menüben beküldési engedély nélkül is"
|
||||
},
|
||||
"whatShowCategoryWithoutPermission": {
|
||||
"message": "Néhány kategóriánál a beküldés engedélyhez kötött, ami egy minimum hírnév-szinttől függ"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Értesítés megjelenítése ismét"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Jelezzen, ha egy szegmens át lett ugorva"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Kategória útmutató megjelenítése"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Teljes méretű átugrási értesítők"
|
||||
},
|
||||
@@ -283,6 +314,14 @@
|
||||
"message": "Szegmensek beküldése",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Következő fejezet",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Előző fejezet",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Válassz egy billentyűt azzal, hogy lenyomod és válaszd ki a módosító billentyű(ke)t, amiket használni szeretnél."
|
||||
},
|
||||
@@ -382,16 +421,16 @@
|
||||
"message": "A szerver állapotához tekintsd meg a status.sponsor.ajay.app oldalt."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "UserID importálása / exportálása"
|
||||
"message": "Titkos UserID importálása / exportálása"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Ez privát információnak minősül. Ez olyan, mint egy jelszó, így nem ajánlott megosztani senkivel. Ha valakinek birtokában van, megszemélyesíthet téged. Ha a nyilvános userID-dat keresed, kattints a vágólap ikonra a felugró ablakban."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "UserID beállítása"
|
||||
"message": "Titkos UserID beállítása"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Figyelem: A UserID megváltoztatása végleges. Biztosan szeretnéd megtenni? Minden esetben készíts biztonsági másolatot a régiről!"
|
||||
"message": "Figyelem: A Titkos UserID megváltoztatása végleges. Biztosan szeretnéd megtenni? Minden esetben készíts biztonsági másolatot a régiről!"
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Készítette"
|
||||
@@ -436,6 +475,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "A beállított értéknél rövidebb szegmenseket nem ugorja át és nem jeleníti meg a lejátszó."
|
||||
},
|
||||
"enableManualSkipOnFullVideo": {
|
||||
"message": "Manuális átugrás használata, ha van teljes videó címke"
|
||||
},
|
||||
"whatManualSkipOnFullVideo": {
|
||||
"message": "Azoknak, akik megszakítás nélkül szeretnék végignézni a videót, ha az teljes egészében szponzorált, vagy önpromóció."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Átugrási értesítés hossza (másodpercekben):"
|
||||
},
|
||||
@@ -485,7 +530,7 @@
|
||||
"message": "Betöltés fájlból"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Ez az összes beállításod JSON formátumban. Ebbe bele tartozik a userID-d is, szóval csak ésszel oszd meg."
|
||||
"message": "Ez az összes beállításod JSON formátumban. Ebbe bele tartozik a Titkos UserID-d is, úgyhogy csak elővigyázatosan oszd meg."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Beállítások módosítása"
|
||||
@@ -539,11 +584,27 @@
|
||||
"message": "–",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Másolva!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Tartalmazza a felkonferálást/átvezetőket is"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Olyan a lejátszás, mintha semmi sem lett volna átugorva"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Szponzor"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Fizetett promóció, vagy közvetlen reklám. Nem önpromóció vagy ingyenes ajánlat (shoutout) emberekről/termékekről/weboldalakról amik tetszenek nekik."
|
||||
"message": "Fizetett promóció, vagy közvetlen reklám. Nem önpromóció, vagy ingyenes említése ügyeknek/tartalomkészítőknek/weboldalaknak/termékeknek amik tetszenek nekik."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Fizetett promóciók"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Nem adományok vagy saját termékek"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Nem fizetett/önpromóció"
|
||||
@@ -551,6 +612,15 @@
|
||||
"category_selfpromo_description": {
|
||||
"message": "Hasonló a szponzorhoz, de nem fizetett, vagy önpromóció. Beletartozik a saját ruhaáru, adományok, vagy infó arról, hogy kivel működtek együtt."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Adományok, tagságok és saját termékek"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Ingyenes köszönetnyilvánítások/említések, amik nem adnak hozzá a videóhoz"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Nem cégek által tervezett termékekhez"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Exkluzív hozzáférés"
|
||||
},
|
||||
@@ -561,12 +631,24 @@
|
||||
"message": "Ez a videó olyan terméket, szolgáltatást vagy helyszínt mutat be, amihez ingyenes vagy kedvezményes hozzáférést kaptak",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "A teljes videó olyan dolgot mutat be, amihez ingyenes vagy kedvezményes hozzáférést kaptak"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Emlékeztető (Feliratkozás)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Egy rövid emlékeztető arról, hogy likeoljunk, iratkozzunk fel, vagy kövessük a tartalom közben. Ha hosszabb szakasz, vagy egy adott témáról van, inkább az önpromóció alá tartozik."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Rövid emlékeztető lájkolásra, feliratkozásra, vagy követésre"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Beletartoznak a közvetett emlékeztetők kommentelésre"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Nem általános promóciók, csak felhívások cselekvésre"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Emlékeztető"
|
||||
},
|
||||
@@ -579,27 +661,54 @@
|
||||
"category_intro_short": {
|
||||
"message": "Megszakítás"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Tényleges tartalom nélküli szakasz"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Nem információt is tartalmazó átmenetekhez"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Záróképernyő/ Stáblista"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Stáblista, vagy amikor megjelennek a YouTube zárókártyák. Nem használandó információt tartalmazó következtetésekkor."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Ne legyen benne tartalom, akkor sem, ha a zárókártyák már a képernyőn vannak"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Előzetes/Ismétlés"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Az előző részekben történtek rövid ismétlése, vagy a videó további tartalmának előzetese. Összevágott jelenetekhez, nem szóbeli összegzéshez."
|
||||
"message": "Olyan klipek gyűjteménye, amik azt mutatják, hogy mi következik majd ebben, vagy a sorozat más videóiban és minden információ megismétlődik később a videóban."
|
||||
},
|
||||
"category_preview_guideline1": {
|
||||
"message": "Klipek amik megjelennek később, vagy egy jövőbeli videóban"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Korábbi videó összefoglalója"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Nem olyan részekhez, amik új tartalmat adnak a videóhoz"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Témától eltérő töltelék/viccek"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Csak töltelékként, vagy humornak hozzáadott részek, amik nem szükségesek a videó fő tartalmának megértéséhez. Ne tartalmazzon olyan szegmenseket, amik kontextust, vagy alapvető információkat szolgáltatnak."
|
||||
"message": "Csak töltelékként, vagy humornak hozzáadott részek, amik nem szükségesek a videó fő tartalmának megértéséhez. Ne tartalmazzon olyan szegmenseket, amik kontextust, vagy alapvető információkat szolgáltatnak\". Ez egy nagyon agresszív kategória arra, amikor nincs kedved a \"szórakozáshoz\"."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Töltelék"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Témától eltérő jelenetek tölteléknek, vagy humornak"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Figyelemelterelődés, bakik, újrajátszások"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Nem olyan jelenetek, amik a téma megértéséhez szükségesek"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Zene: nem-zene szegmens"
|
||||
},
|
||||
@@ -609,12 +718,42 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Nem-Zene"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Olyan részek, amik nincsenek a hivatalos kiadásokban"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Nem zene egy élő előadásban"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Kiemelés"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "A videónak az a része, amelyiket a legtöbb ember látni szeretne. Hasonlít az \"A videó x percnél kezdődik\" jellegű hozzászólásokhoz."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "A rész, amit a legtöbb ember keres"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Segíthet a kontextus átugrásában"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "A címhez, vagy indexképhez ugorhat"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Fejezet"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "Egyedileg elnevezett fejezetek a videó nagyobb részeinek leírására."
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "Ne említs szponzor márkaneveket"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "Használj hosszabb fejezeteket általános részekhez"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "Nagyobb fejezeteken belül lehetnek kisebb fejezetek"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Élő adás: Adomány / üzenet olvasások"
|
||||
},
|
||||
@@ -645,6 +784,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "Címke megjelenítése"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Fejezetek megtekintése"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Minden szegmens automatikus átugrása, ha van nem-zene szegmens"
|
||||
},
|
||||
@@ -700,6 +842,10 @@
|
||||
"bracketEnd": {
|
||||
"message": "(Vége)"
|
||||
},
|
||||
"End": {
|
||||
"message": "Vége",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "elrejtve: leszavazva"
|
||||
},
|
||||
@@ -713,11 +859,8 @@
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "A csatorna ID még nem került betöltésre. Ha beágyazott videót használsz, próbáld meg inkább a YouTube oldalon keresztül. Ezt okozhatja még a YouTube elrendezésének változása is. Ha így gondolod, hagyj egy kommentet itt:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Úgy tűnik, valami korlátozza a SponsorBlock hozzáférését a videó adataihoz. További információkért látogass el ide: https://github.com/ajayyy/SponsorBlock/issues/741 (angol nyelvű)."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Úgy tűnik, a SponsorBlock nem tud csatlakozni a YouTube API-hoz. A javításhoz fogadd el a megjelenő engedélykérést, várj néhány másodpercet, majd töltsd újra az oldalt."
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "A böngésző visszavonta az engedélyt, ami az Invidious és egyéb oldalakon való működéshez szükséges. Kérjük, kattints a lenti gombra az engedély újbóli megadásához!"
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Engedély jóváhagyása"
|
||||
@@ -743,6 +886,13 @@
|
||||
"downvoteDescription": {
|
||||
"message": "Helytelen/rossz időzítés"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Helytelen"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Káros",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Kategória módosítása"
|
||||
},
|
||||
@@ -778,6 +928,9 @@
|
||||
"categoryPillTitleText": {
|
||||
"message": "Az egész videó ezzel a kategóriával van megjelölve és túl szorosan kapcsolódik hozzá, hogy le lehessen választani"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "Az egyik fejezeted neve hasonlít egy kategóriára. Amikor lehetséges, mindig használj kategóriákat."
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Minden további kísérlet elutasítása",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
@@ -786,11 +939,19 @@
|
||||
"message": "Eltüntetés örökre"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Figyelmeztetést kaptál, és ideiglenesen nem tudsz szegmenseket beküldeni. Ez azt jelenti, hogy észrevettük, hogy néhány ártalmatlan gyakori hibát vétettél. Kérjük erősítsd meg, hogy megértetted a szabályokat és eltávolítjuk a figyelmeztetést. Ehhez a beszélgetéshez csatlakozhatsz a discord.gg/SponsorBlock vagy matrix.to/#/#sponsor:ajay.app címeken is."
|
||||
"message": "Észrevettük, hogy néhány nem rossz szándékú, gyakran előforduló hibát ejtettél"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Szavazás visszautasítva figyelmeztetés miatt. Kattints, hogy megnyiss egy beszélgetést a tisztázásához, vagy gyere vissza később, amikor időd van rá.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "Figyelmeztetést kaptál"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "Kérdésem van"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Megértettem az okot"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Hiba a figyelmeztetés nyugtázása közben:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Támogatás"
|
||||
@@ -864,6 +1025,9 @@
|
||||
"LearnMore": {
|
||||
"message": "Tudj meg többet"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Teljes részletek"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Leszavazza és készít egy helyi másolatot, amit beküldhetsz"
|
||||
},
|
||||
@@ -879,6 +1043,21 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Ez azonnal érvényes lesz a szegmenseidre"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Leszavazás"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Felszavazás"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Szegmens elrejtése"
|
||||
},
|
||||
"skipSegment": {
|
||||
"message": "Szegmens átugrása"
|
||||
},
|
||||
"playChapter": {
|
||||
"message": "Fejezet lejátszása"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Használd egérgörgődet a szerkesztő mező fölött, hogy gyorsan módosíthasd az időt. A ctrl vagy shift billentyűk kombinációjával finomhangolhatod a változás mértékét."
|
||||
},
|
||||
@@ -929,5 +1108,140 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Ez egy beépített YouTube gyorsbillentyű. Biztosan ezt szeretnéd használni?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "BÉTA szerver engedélyezve van!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Beállítások megnyitása"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Beállítások visszaállítása alapértelmezettre"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Biztosan vissza szeretnéd állítani az összes beállítást az alapértelmezett értékekre? A műveletet nem lehet visszavonni."
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Szegmensek exportálása"
|
||||
},
|
||||
"importSegments": {
|
||||
"message": "Szegmensek importálása"
|
||||
},
|
||||
"Import": {
|
||||
"message": "Importálás",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "Beváltás sikeres!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "A licenc kulcs érvénytelen"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "Fizetős opciók elrejtése"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Válassz országot"
|
||||
},
|
||||
"noDiscount": {
|
||||
"message": "Nem vagy jogosult kedvezményre"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "Kedvezményes link (A rózsaszín árat figyeld)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Válaszd ki az országodat"
|
||||
},
|
||||
"alreadyDonated": {
|
||||
"message": "Ha korábban már támogattad a bővítményt, kérhetsz ingyenes hozzáférést emailben:",
|
||||
"description": "After the colon is an email address"
|
||||
},
|
||||
"cantAfford": {
|
||||
"message": "Ha nem engedheted meg magadnak a licenc megvásárlását, kattints {ide}, hogy megtudd, jogosult vagy-e kedvezményre",
|
||||
"description": "Keep the curly braces. The word 'here' should be translated as well."
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Bejelentkezés Patreonnal"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "Beváltás"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Feliratkozás Patreonon"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "Egyszeri vásárlás"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Add meg a licenc kulcsot"
|
||||
},
|
||||
"chaptersPage1": {
|
||||
"message": "A SponsorBlock közösség által karbantartott fejezetek funkció csak azok számára érhető el, akik licencet vásárolnak, vagy ingyenes hozzáférést kaptak múltbeli hozzájárulásaikért"
|
||||
},
|
||||
"chaptersPage2": {
|
||||
"message": "Fontos: A fejezetek beküldésére való engedély még mindig a számolt hírnévtől függ. A megvásárolt licenc csak a mások által beküldött fejezetek megtekintésére vonatkozik.",
|
||||
"description": "On the chapters page for getting access to the paid chapters feature"
|
||||
},
|
||||
"chapterNewFeature": {
|
||||
"message": "Új funkció: Közösség által karbantartott fejezetek. Ezek egyedileg elnevezett részei a videóknak, amiket egymásba is lehet ágyazni, hogy egyre pontosabbak lehessenek. Vásárolj licencet, hogy láthasd az ezen a videón beküldött fejezeteket, mint: ",
|
||||
"description": "After the comma, a list of chapters for this video will appear"
|
||||
},
|
||||
"chapterNewFeature2": {
|
||||
"message": "Új funkció: Közösség által karbantartott fejezetek. Ezek egyedileg elnevezett részei a videóknak, amiket egymásba is lehet ágyazni, hogy egyre pontosabbak lehessenek. Neked van igyenes hozzáférésed, engedélyezd a beállításokban."
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "Jelenleg {0} van {1}",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "Jelenleg nincsenek beküldetlen szegmensek",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "beküldetlen szegmensed",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "beküldetlen szegmensed",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "videón",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "videón",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "Szegmensek törlése",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "Biztosan törölni szeretnéd az összes beküldetlen szegmensedet?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "Szegmensek mutatása",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "Szegmensek elrejtése",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "Videó ID",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "Szegmensek",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "Műveletek",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "Megosztás linkként"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -164,6 +164,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "Salin UserID Publik"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Salin ID Segmen"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Gabung dengan server resmi discord untuk memberikan kritik dan saran!"
|
||||
},
|
||||
@@ -236,6 +239,9 @@
|
||||
"showSkipNotice": {
|
||||
"message": "Tampilkan pemberitahuan setelah melewati segmen"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Tampilkan Bantuan Kategori"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Lewati maklumat ukuran penuh"
|
||||
},
|
||||
@@ -381,18 +387,9 @@
|
||||
"statusReminder": {
|
||||
"message": "Cek status.sponsor.ajay.app untuk status server."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Impor/Ekspor UserID"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Ini harus dirahasiakan. Ini seperti kata sandi dan tidak boleh dibagikan kepada siapa pun. Jika seseorang mempunyai ini, mereka bisa menyamar jadi anda. Jika anda mencari UserID publik anda, klik ikon papan tulis di popup."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Atur UserID"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Peringatan: Pengubahan UserID bersifat permanen. Apakah anda yakin ingin melakukan ini? Pastikan kamu sudah mencadangkan yang lama untuk berjaga."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Dibuat Oleh"
|
||||
},
|
||||
@@ -436,6 +433,9 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Segmen yang lebih kecil dari nilai yang diatur tidak akan dilewati atau tampil di pemutar."
|
||||
},
|
||||
"whatManualSkipOnFullVideo": {
|
||||
"message": "Untuk yang ingin menonton video tanpa gangguan jika sepenuhnya disponsori atau promosi sendiri."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Lewati maklumat berdurasi (detik):"
|
||||
},
|
||||
@@ -484,9 +484,6 @@
|
||||
"exportOptionsUpload": {
|
||||
"message": "Muat dari file"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Ini adalah seluruh konfigurasi anda di JSON. Ini mencakup userID anda, maka pastikan anda membagikan ini dengan bijak."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Atur Opsi"
|
||||
},
|
||||
@@ -539,18 +536,39 @@
|
||||
"message": "sampai",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Tampilkan transisi segue"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Memainkan sebagai tidak apa pun yang dilewati"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Sponsor"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Promosi dibayar, tautan dibayar dan iklan langsung. Tidak untuk promosi diri sendiri atau dukungan gratis untuk gerakan/kreator/situs/produk yang mereka suka."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Promosi berbayar"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Bukan untuk donasi atau barang dagangan kustom"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Promosi Diri Sendiri/Tidak Dibayar"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Mirip dengan \"sponsor\" kecuali ini tidak dibayar atau promosi diri sendiri. Ini termasuk merchandise, donasi, atau informasi tentang siapa yang berkolaborasi dengan mereka."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Donasi, langganan, dan barang dagangan kustom"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Sebutan gratis yang tidak menambahkan apa pun ke videonya"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Bukan untuk produk dan barang dagangan yang didesain oleh koperasi"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Akses Eksklusif"
|
||||
},
|
||||
@@ -561,12 +579,24 @@
|
||||
"message": "Video ini mempromosikan sebuah produk, layanan atau lokasi yang diterima secara gratis atau mendapatkan izin",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Seluruh video pertunjukkan sesuatu dengan akses gratis atau berbayar"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Pengingat Interaksi (Berlangganan)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Saat ada pengingat singkat untuk meminta suka, berlangganan atau mengikuti mereka di tengah konten. Jika panjang atau tentang sesuatu yang spesifik, sebaiknya pakai kategori promosi diri sendiri."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Pengingat pendek untuk menyukai video, berlangganan, atau ikuti"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Menampilkan pengingat tidak langsung untuk berkomentar"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Bukan untuk promosi umum, hanya bilang untuk melakukan tindakan"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Pengingat Interaksi"
|
||||
},
|
||||
@@ -579,27 +609,48 @@
|
||||
"category_intro_short": {
|
||||
"message": "Jeda"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Interval tanpa konten aslinya"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Bukan untuk transisi dengan informasi"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Kartu Akhir/Kredit"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Kredit atau saat kartu akhir YouTube muncul. Tidak untuk kesimpulan dengan informasi."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Jangan tampilkan konten, bahkan jika kartu akhir ada di layar"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Pratinjau/Rekap"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Rekapan singkat dari episode sebelumnya, atau pratinjau tentang apa yang akan terjadi nanti di video. Dimaksudkan untuk klip bersama yang di edit, bukan ringkasan yang diucapkan."
|
||||
"category_preview_guideline1": {
|
||||
"message": "Klip yang ditampilkan nanti, atau di video di masa mendatang"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Rekap dari video sebelumnya"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Bukan untuk bagian yang menambahkan konten tambahan"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Pengisi Tak berkaitan/Lawakan"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Adegan tangensial ditambahkan hanya untuk pengisi atau humor yang tidak diperlukan untuk memahami isi utama video. Ini tidak boleh mencakup segmen yang memberikan detail konteks atau latar belakang."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Isian"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Scene tangen hanya untuk isian atau humor"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Gangguan, blooper, replay"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Bukan untuk scene yang dibutuhkan untuk mengerti topik"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Musik: Bagian Non-Musik"
|
||||
},
|
||||
@@ -609,12 +660,27 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Non-Musik"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Bagian bukan di rilis resmi"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Non-musik di pertunjukkan langsung"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Sorotan"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "Bagian video yang banyak orang lihat. Sama untuk komentar \"Video dimulai di x\"."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "Bagian banyak orang yang mencari"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Dapat melewati topik"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Dapat melewati ke judul atau thumbnail"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Livestream: Baca Pesan/Donasi"
|
||||
},
|
||||
@@ -713,12 +779,6 @@
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "ID Channel belum dimuat. Apabila anda menggunakan video yang tersematkan, coba menggunakan halaman utama YouTube. Hal ini juga dapat disebabkan oleh perubahan yang ada pada tampilan YouTUbe, apabila anda mengira seperti itu, buat komentar disini:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Sepertinya sesuatu memnghalangi abilitas SponsorBlock untuk mendapatkan data video. Silahkan lihat https://github.com/ajayyy/SponsorBlock/issues/741 untuk info lebih lanjut."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Sepertinya SponsorBlock tidak dapat menjangkau API YouTube. Untuk menyelesaikan masalah ini, terima permintaan izin yang akan muncul selanjutnya, tunggu beberapa detik, dan muat ulang halaman ini."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Terima permintaan izin"
|
||||
},
|
||||
@@ -785,13 +845,6 @@
|
||||
"hideForever": {
|
||||
"message": "Sembunyikan selamanya"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Anda mendapatkan peringatan dan tidak bisa mengirim segmen sementara. Ini dikarenakan kami melihat kamu melakukan beberapa kesalahan yang umum, mohon konfirmasi bahwa kamu mengerti perundangan dan kami akan hapus peringatan. Kamu bisa bergabung ke obrolan menggunakan discord.gg/SponsorBlock atau matrix.io/#/#sponsor:ajay.app"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Suara ditolak karena peringatan. Klik untuk buka obrolan untuk menyelesaikannya, atau kembali beberapa saat lagi ketika ada waktu.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Donasi"
|
||||
},
|
||||
@@ -864,6 +917,9 @@
|
||||
"LearnMore": {
|
||||
"message": "Pelajari Lebih Lanjut"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Detail Penuh"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Menurunkan suara dan membuat salinan lokal untuk Anda kirim ulang"
|
||||
},
|
||||
@@ -879,6 +935,15 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Ini akan menerapkan ke segmen Anda"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Jempol bawah"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Jempol atas"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Sembunyikan segmen"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Gunakan roda mouse ketika berada di kotak edit untuk mengatur waktu dengan cepat. Kombinasi dengan tombol [Ctrl + Shift] bisa digunakan untuk perubahan yang halus."
|
||||
},
|
||||
@@ -929,5 +994,17 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Ini adalah pintasan YouTube. Apakah Anda yakin untuk menggunakannya?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "Server BETA diaktifkan!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Buka laman opsi"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Atur ulang pengaturan ke bawaan"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Apakah Anda yakin ingin mengatur ulang semua pengaturan ke nilai bawaan?\nTindakan ini tidak dapat diurungkan."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,19 @@
|
||||
"Segments": {
|
||||
"message": "segmenti"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Segmenti"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Capitoli"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Visualizza segmenti come capitoli",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"showSegmentNameInChapterBar": {
|
||||
"message": "Mostra il Segmento Corrente Affianco al Tempo del Video"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Vota questo contributo"
|
||||
},
|
||||
@@ -112,9 +125,15 @@
|
||||
"closePopup": {
|
||||
"message": "Chiudi il popup"
|
||||
},
|
||||
"closeIcon": {
|
||||
"message": "Icona Chiudi"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Invia i segmenti"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Ordina segmenti"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Sei sicuro di volerlo inviare?"
|
||||
},
|
||||
@@ -164,6 +183,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "Copia UserID Pubblico"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Copia ID Segmento"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Entra nel server Discord ufficiale per darci suggerimenti e feedback!"
|
||||
},
|
||||
@@ -183,7 +205,7 @@
|
||||
"message": "Nasconde i pulsanti che appaiono sul video per inviare i segmenti da nascondere."
|
||||
},
|
||||
"showSkipButton": {
|
||||
"message": "Mantieni Salta Per Evidenziare il Pulsante Sul Lettore"
|
||||
"message": "Mantieni l'Highlight del Video sulla Barra del Video"
|
||||
},
|
||||
"showInfoButton": {
|
||||
"message": "Mostra il pulsante delle informazioni sopra al video"
|
||||
@@ -213,7 +235,7 @@
|
||||
"message": "Memorizza i voti negativi del segmento"
|
||||
},
|
||||
"whatTrackDownvotes": {
|
||||
"message": "Qualsiasi segmento voti negativamente rimarrà nascosto anche dopo aver ricaricato"
|
||||
"message": "Segmenti votati negativamente rimarranno nascosti anche dopo aver ricaricato la pagina"
|
||||
},
|
||||
"trackDownvotesWarning": {
|
||||
"message": "Attenzione: Disabilitarlo eliminerà tutti i voti negativi precedentemente memorizzati"
|
||||
@@ -230,12 +252,21 @@
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Se il video è nuovo, e non risultano esserci segmenti, continueremo a cercarne di nuovi ogni pochi minuti."
|
||||
},
|
||||
"enableShowCategoryWithoutPermission": {
|
||||
"message": "Mostra le categorie nel menu d'invio anche senza l'autorizzazione all'invio"
|
||||
},
|
||||
"whatShowCategoryWithoutPermission": {
|
||||
"message": "Alcune categorie richiedono l'autorizzazione all'invio a causa dei requisiti di reputazione minimi"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Mostra di nuovo l'avviso"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Mostra Avviso Dopo Aver Saltato un Segmento"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Mostra Aiuto della Categoria"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Salta Avvisi di Dimensioni Complete"
|
||||
},
|
||||
@@ -276,15 +307,23 @@
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"setStartSponsorShortcut": {
|
||||
"message": "Inizio/Fine segmento",
|
||||
"message": "Inizia/Finisci segmento",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "Invia i segmenti",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Capitolo successivo",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Capitolo precedente",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Selezionare una chiave digitandola e scegliere qualsiasi tasto modificatore che si desidera utilizzare."
|
||||
"message": "Seleziona un tasto digitandolo e scegli qualsiasi tasto modificatore che desideri utilizzare."
|
||||
},
|
||||
"0": {
|
||||
"message": "Timeout della connessione. Controlla la tua connessione a Internet. Se internet sta funzionando, il server è probabilmente sovraccarico oppure giù."
|
||||
@@ -322,7 +361,7 @@
|
||||
"message": "Silenziare {0}?"
|
||||
},
|
||||
"skip_to_category": {
|
||||
"message": "Saltare a {0}?",
|
||||
"message": "Salta a {0}?",
|
||||
"description": "Used for skipping to things (Skip to Highlight)"
|
||||
},
|
||||
"skipped": {
|
||||
@@ -382,16 +421,16 @@
|
||||
"message": "Controlla status.sponsor.ajay.app per lo stato del server."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Importa/Esporta Il Tuo ID Utente"
|
||||
"message": "Importa/Esporta il Tuo UserID Privato"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Questo dovrebbe esser mantenuto privato. È come una password e non dovrebbe esser condiviso con nessuno. Se qualcuno lo possiede, può impersonarti. Se stai cercando il tuo userID pubblico, clicca l'icona degli appunti nel popup."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Imposta ID utente"
|
||||
"message": "Imposta UserID Privato"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Attenzione: cambiare l'ID utente è permanente. Sei sicuro di volerlo fare? Assicurati di eseguire il backup del tuo vecchio nel caso."
|
||||
"message": "Attenzione: La modifica dell'UserID Privato è permanente. Sei sicuro di volerlo fare? Assicurati di effettuare il backup di quello precedente."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Creato da"
|
||||
@@ -436,6 +475,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "I segmenti più brevi del valore impostato non verranno saltati o visualizzati nel lettore."
|
||||
},
|
||||
"enableManualSkipOnFullVideo": {
|
||||
"message": "Usa il salto manuale quando esiste un'etichetta del video completo"
|
||||
},
|
||||
"whatManualSkipOnFullVideo": {
|
||||
"message": "Per le persone che vogliono guardare il video senza interruzioni se contiene sponsorizzazioni o auto-promozioni."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Salta durata avviso (secondi):"
|
||||
},
|
||||
@@ -485,7 +530,7 @@
|
||||
"message": "Carica da file"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Questa è la tua intera configurazione in formaro JSON. Questo include il tuo ID utente, quindi presta attenzione se vuoi condividerlo."
|
||||
"message": "Questa è la tua intera configurazione in JSON. Ciò include il tuo UserID Privato, quindi assicurati di condividerla saggiamente."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Imposta Opzioni"
|
||||
@@ -539,18 +584,43 @@
|
||||
"message": "a",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Copiato!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Includi transizioni"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Riproduci come se nulla fosse stato saltato"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Sponsorizzazione"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Promozione a pagamento, referral a pagamento e pubblicità diretta. Non per auto-promozione o ringraziamenti gratuiti a cause/creatori/siti web/ prodotti di loro gradimento."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Promozioni a pagamento"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Non per donazioni o merchandise personalizzato"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Promozione non pagata/Autopromozione"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Simile alle \"sponsorizzazioni\" tranne che per promozioni non pagate o autopromozioni. Ciò include sezioni riguardanti vendita di merce, donazioni o informazioni in merito a collaboratori."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Donazioni, abbonamenti e merce personalizzata"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Shoutout non pagati che non aggiungono nulla al video"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Non per prodotti progettati da aziende e merce"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Accesso Esclusivo"
|
||||
},
|
||||
@@ -561,23 +631,41 @@
|
||||
"message": "Questo video mostra un prodotto, un servizio o un posto che hanno ricevuto gratuitamente o a cui hanno avuto un accesso sovvenzionato",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "L'intero video mostra qualcosa con accesso gratuito o sovvenzionato"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Promemoria d'Interazione (Iscrizione)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Quando nel punto centrale del contenuto è presente un breve promemoria per aggiunta di mi piace, iscrizione o seguito. Se dovesse risultare esteso o riguardare qualcosa di specifico, potrebbe essere un'autopromozione."
|
||||
"message": "Quando nel punto centrale del contenuto è presente un breve promemoria per like, iscrizione o follow. Se dovesse risultare esteso o riguardante qualcosa di specifico, potrebbe essere auto-promozione."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Brevi promemoria per mi piace, iscrizioni o follow"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Include promemoria indiretti al commento"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Non per promozione generale, solo chiamata all'azione"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Promemoria di Interazione"
|
||||
"message": "Promemoria d'Interazione"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Animazione Interruzione/Introduzione"
|
||||
"message": "Intermezzo/Intro Animata"
|
||||
},
|
||||
"category_intro_description": {
|
||||
"message": "Un intervallo senza contenuto effettivo. Potrebbe essere una pausa, una schermata statica, un'animazione ripetuta. Non dovrebbe essere usato per transizioni contenenti informazioni."
|
||||
},
|
||||
"category_intro_short": {
|
||||
"message": "Interruzione"
|
||||
"message": "Intermezzo"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Intervallo senza contenuto effettivo"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Non per transizioni con informazioni"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Conclusioni/Titoli di Coda"
|
||||
@@ -585,20 +673,41 @@
|
||||
"category_outro_description": {
|
||||
"message": "I titoli di coda o quando vengono mostrate annotazioni a fine video su YouTube. Non per conclusioni provviste di informazioni."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Non include contenuti, anche se le schede finali sono a schermo"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Anteprima/Riepilogo"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Riepilogo rapido degli episodi precedenti, o un'anteprima di ciò che sta arrivando più tardi nel video attuale. Inteso per clip, non per riassunti a voce."
|
||||
"message": "Raccolta di clip che mostra cosa succederà in questo video o altri video in una serie, in cui tutte le informazioni sono ripetute in seguito nel video."
|
||||
},
|
||||
"category_preview_guideline1": {
|
||||
"message": "Clip che appaiono più tardi in questo video, oppure in un video futuro"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Riepilogo o riassunto di un video precedente"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Non per sezioni che aggiungono contenuti in più"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Riempitivi irrilevanti/Battute"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Le scene riempitive sono aggiunte solo per riempire o per umorismo che non sono richieste per comprendere il contenuto principale del video. Questo non dovrebbe includere segmenti che forniscono contesto o dettagli di sfondo."
|
||||
"message": "Scene tangenziali aggiunte solo come riempimento o per umorismo, non necessarie alla comprensione del contenuto principale del video. Questo non dovrebbe includere i segmenti che forniscono contesto o dettagli di background. Questa è una categoria molto aggressiva, pensata per quanto non hai voglia di \"divertirti\"."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Riempimento"
|
||||
"message": "Filler"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Scene non correlate usate solo per filler o umorismo"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Distrazioni, blooper, replay"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Non per scene necessarie a capire l'argomento"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Musica: Sezione Non-Musicale"
|
||||
@@ -609,12 +718,42 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Non-Musicale"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Sezioni non presenti nelle release ufficiali"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Sezioni senza musica in una performance dal vivo"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Evidenzia"
|
||||
"message": "Highlight"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "La parte del video che gran parte delle persone stanno cercando. Simile ai commenti \"Il video inizia a x\"."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "La parte che la maggior parte delle persone sta cercando"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Può ignorare il contesto"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Può portare al titolo o alla miniatura del video"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Capitolo"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "Capitoli personalizzati che descrivono le sezioni principali di un video."
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "Non menzionare i nomi degli sponsor"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "Usa capitoli più grandi per le sezioni generali"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "I capitoli più piccoli possono essere collocati all'interno di quelli più grandi"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Livestream: Donazione/Letture dei Messaggi"
|
||||
},
|
||||
@@ -645,6 +784,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "Mostra Etichetta"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Mostra Capitoli"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Salta automaticamente tutti i segmenti quando c'è un segmento non musicale"
|
||||
},
|
||||
@@ -700,6 +842,10 @@
|
||||
"bracketEnd": {
|
||||
"message": "(Fine)"
|
||||
},
|
||||
"End": {
|
||||
"message": "Fine",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "nascosto: downvote"
|
||||
},
|
||||
@@ -713,11 +859,8 @@
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "L'ID del canale non è ancora caricato. Se stai usando un video incorporato, prova piuttosto a usare la pagina principale di YouTube. Questo potrebbe esser causato dalle modifiche al layout di YouTube, se pensi che sia così, scrivi qui un commento:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Sembra che qualcosa stia bloccando l'abilità di SponsorBlock di ottenere i dati del video. Sei pregato di vedere https://github.com/ajayyy/SponsorBlock/issues/741 per ulteriori informazioni."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Sembra che SponsorBlock non sia in grado di raggiungere l'API di YouTube. Per risolverlo, accetta la richiesta di autorizzazione che comparirà in seguito, attendi qualche secondo, quindi ricarica la pagina."
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "Il browser ha revocato il permesso necessario per funzionare su Invidious e altri siti di terze parti. Clicca sul pulsante qui sotto per riattivare questo permesso."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Accetta autorizzazione"
|
||||
@@ -735,7 +878,7 @@
|
||||
"message": "Forza controllo canale prima di andare avanti"
|
||||
},
|
||||
"whatForceChannelCheck": {
|
||||
"message": "Per impostazione predefinita, si salteranno subito i segmenti prima che si sappia anche che canale è. Per impostazione predefinita, alcuni segmenti all'inizio del video potrebbero essere saltati sui canali sulla whitelist. Abilitare questa opzione impedirà questo, ma fare saltare tutti hanno un leggero ritardo in quanto ottenere il channelID può richiedere un certo tempo. Questo ritardo potrebbe essere invisibile se si dispone di internet veloce."
|
||||
"message": "Di default, verranno saltati i segmenti subito, anche prima che si sappia il canale. Di default, alcuni segmenti all'inizio del video potrebbero essere saltati sui canali nella whitelist. L'attivazione di questa opzione eviterà che ciò accada, ma ogni salto avrà un leggero ritardo in quanto ottenere l'ID del canale può richiedere un certo tempo. Questo ritardo potrebbe essere impercettibile se si dispone di una connessione internet veloce."
|
||||
},
|
||||
"forceChannelCheckPopup": {
|
||||
"message": "Considera l'Attivazione dell'opzione \"Forza la Verifica del Canale Prima del Salto\""
|
||||
@@ -743,6 +886,13 @@
|
||||
"downvoteDescription": {
|
||||
"message": "Tempo Non Corretto/Errato"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Non corretto"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Dannoso",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Cambia Categoria"
|
||||
},
|
||||
@@ -778,6 +928,9 @@
|
||||
"categoryPillTitleText": {
|
||||
"message": "Questo intero video è etichettato come questa categoria ed è troppo integrato per poterlo separarare"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "Uno dei nomi dei tuoi capitoli è simile a una categoria. Quando possibile dovresti usare le categorie."
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Disiscriviti dagli esperimenti futuri",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
@@ -786,11 +939,19 @@
|
||||
"message": "Nascondi per sempre"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Hai ricevuto un avviso e non puoi inviare temporaneamente i segmenti. Questo significa che abbiamo notato che stavi commettendo degli errori comuni, non malevoli; sei pregato di confermare di comprendere le regole e rimuoveremo l'avviso. Puoi anche unirti a questa chat usando discord.gg/SponsorBlock o matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Abbiamo notato che stavi facendo alcuni errori comuni che non sono dannosi"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Voto rifiutato a causa di un ammonimento. Clicca per aprire una chat per risolverlo, oppure torna dopo quando hai tempo.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "Hai ricevuto un avviso"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "Ho una domanda"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Capisco il motivo"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Errore durante il tentativo di riconoscere l'avviso:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Dona"
|
||||
@@ -864,6 +1025,9 @@
|
||||
"LearnMore": {
|
||||
"message": "Scopri di Più"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Visualizza Dettagli Completi"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Vota negativamente e crea una copia locale da reinviare"
|
||||
},
|
||||
@@ -879,6 +1043,21 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Questo si applicherà istantaneamente ai tuoi segmenti"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Voto negativo"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Voto positivo"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Nascondi segmento"
|
||||
},
|
||||
"skipSegment": {
|
||||
"message": "Salta segmento"
|
||||
},
|
||||
"playChapter": {
|
||||
"message": "Riproduci capitolo"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Usa la rotellina del mouse passando sulla casella di modifica per regolare rapidamente il tempo. Le combinazioni dei tasti ctrl o shift sono utilizzabili per perfezionare le modifiche."
|
||||
},
|
||||
@@ -929,5 +1108,140 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Questa è una scorciatoia integrata da YouTube. Sei sicuro di volerla usare?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "Il server BETA è abilitato!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Apri la pagina delle opzioni"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Ripristina le impostazioni predefinite"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Sei sicuro di voler reimpostare tutte le impostazioni ai valori predefiniti? Questo non può essere annullato."
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Esporta segmenti"
|
||||
},
|
||||
"importSegments": {
|
||||
"message": "Importa i segmenti"
|
||||
},
|
||||
"Import": {
|
||||
"message": "Importa",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "Riscattato correttamente!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "Chiave di licenza non valida"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "Nascondi opzioni non disponibili senza pagamento aggiuntivo"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Scegli un paese"
|
||||
},
|
||||
"noDiscount": {
|
||||
"message": "Non ti qualifichi per uno sconto"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "Link Sconto (Vedi il prezzo rosa)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Seleziona il tuo paese"
|
||||
},
|
||||
"alreadyDonated": {
|
||||
"message": "Se hai donato qualsiasi importo prima di ora, puoi riscattare l'accesso gratuito contattando:",
|
||||
"description": "After the colon is an email address"
|
||||
},
|
||||
"cantAfford": {
|
||||
"message": "Se non puoi permetterti di acquistare una licenza, premi {here} per vedere se hai diritto a uno sconto",
|
||||
"description": "Keep the curly braces. The word 'here' should be translated as well."
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Accedi con Patreon"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "Riscatta"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Supportami su Patreon"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "Acquisto una tantum"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Inserisci chiave di licenza"
|
||||
},
|
||||
"chaptersPage1": {
|
||||
"message": "La funzionalità dei capitoli in crowd-sourcing di SponsorBlock è disponibile soltanto a coloro che acquistano una licenza o a coloro aventi l'accesso garantito gratuitamente grazie ai loro contributi passati"
|
||||
},
|
||||
"chaptersPage2": {
|
||||
"message": "Nota: L'autorizzazione a inviare i capitoli si basa ancora sulla reputazione calcolata. Acquistare una licenza ti consente di visualizzare soltanto i capitoli inviati dagli altri",
|
||||
"description": "On the chapters page for getting access to the paid chapters feature"
|
||||
},
|
||||
"chapterNewFeature": {
|
||||
"message": "Nuova Funzionalità: Capitoli personalizzati in crowdsourcing. Sono sezioni dal nome personalizzato nei video, che possono esser impilate per essere sempre più precise. Acquista una licenza per visualizzare i capitoli inviati in questo video come: ",
|
||||
"description": "After the comma, a list of chapters for this video will appear"
|
||||
},
|
||||
"chapterNewFeature2": {
|
||||
"message": "Nuova Funzionalità: Capitoli personalizzati in crowdsourcing. Sono sezioni dal nome personalizzato nei video, che possono esser impilate per essere sempre più precise. Hai accesso gratuitamente, abilitalo nelle opzioni."
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "Al momento hai {0} su {1}",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "Al momento non hai segmenti non inviati",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "segmento non inviato",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "segmenti non inviati",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "video",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "video",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "Elimina tutti i segmenti",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "Sei sicuro di voler cancellare tutti i segmenti non inviati?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "Mostra segmenti",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "Nascondi segmenti",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "ID Video",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "Numero di segmenti",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "Azioni",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "Condividi URL"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,19 @@
|
||||
"Segments": {
|
||||
"message": "セグメント"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "セグメント"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "チャプター"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "セグメントをチャプターとしてレンダリングする",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"showSegmentNameInChapterBar": {
|
||||
"message": "動画時間の横に現在のセグメントを表示"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "この提案を支持"
|
||||
},
|
||||
@@ -112,9 +125,15 @@
|
||||
"closePopup": {
|
||||
"message": "ポップアップを閉じる"
|
||||
},
|
||||
"closeIcon": {
|
||||
"message": "閉じるアイコン"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "セグメントを送信"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "セグメントを並び替え"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "本当に提出してよろしいですか?"
|
||||
},
|
||||
@@ -131,7 +150,7 @@
|
||||
"message": "提案数"
|
||||
},
|
||||
"savedPeopleFrom": {
|
||||
"message": "次のセグメント数から人々を救いました: "
|
||||
"message": "みんなの時間をこれだけ節約しました: "
|
||||
},
|
||||
"viewLeaderboard": {
|
||||
"message": "リーダーボード"
|
||||
@@ -164,6 +183,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "パブリックユーザIDをコピー"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "セグメントIDをコピー"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "公式Discordサーバーに参加して意見やフィードバックをお寄せください!"
|
||||
},
|
||||
@@ -230,12 +252,21 @@
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "動画がまだ新しくセグメントが見つからない場合は、動画を視聴している間、数分おきにセグメントを検索し続けます。"
|
||||
},
|
||||
"enableShowCategoryWithoutPermission": {
|
||||
"message": "提出権限を持っていないカテゴリーも提出メニューに表示する"
|
||||
},
|
||||
"whatShowCategoryWithoutPermission": {
|
||||
"message": "一部のカテゴリーは提出に一定以上の評判が必要です"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "再度通知を表示する"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "セグメントがスキップされた後に通知を表示する"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "カテゴリーのヘルプを表示"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "通常サイズのスキップ通知"
|
||||
},
|
||||
@@ -264,11 +295,11 @@
|
||||
"description": "Used on Firefox Store Page"
|
||||
},
|
||||
"noticeUpdate": {
|
||||
"message": "通知がアップグレードされました!",
|
||||
"message": "お知らせが更新されました!",
|
||||
"description": "The first line of the message displayed after the notice was upgraded."
|
||||
},
|
||||
"noticeUpdate2": {
|
||||
"message": "もしそれでも気に入らない場合は、非表示ボタンをクリックしてください。",
|
||||
"message": "もしそれでも気に入らない場合は、再度表示しないボタンをクリックしてください。",
|
||||
"description": "The second line of the message displayed after the notice was upgraded."
|
||||
},
|
||||
"setSkipShortcut": {
|
||||
@@ -283,6 +314,14 @@
|
||||
"message": "セグメントを提出",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "次のチャプター",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "前のチャプター",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "使用したいキーをキーボードで入力し、修飾キーを以下から選択してください。"
|
||||
},
|
||||
@@ -382,16 +421,16 @@
|
||||
"message": "サーバーの状態についてはstatus.sponsor.ajay.appを確認してください。"
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "ユーザーIDのインポート/エクスポート"
|
||||
"message": "プライベートユーザーIDをインポート/エクスポート"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "これは厳重に保管してください。これはパスワードのようなもので、誰とも共有すべきではありません。 他の誰かがこれを使って、あなたになりすますことができてしまいます。なおパブリックユーザーIDを探している場合は、ポップアップ内のクリップボードアイコンをクリックしてください。"
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "ユーザーIDを設定"
|
||||
"message": "プライベートユーザーIDを設定"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "警告: ユーザーIDの変更は恒久的です。本当に実行しますか? 念のため以前のユーザーIDは控えておいてください。"
|
||||
"message": "警告: プライベートユーザーIDの変更は恒久的です。本当に実行しますか? 念のため以前のユーザーIDは控えておいてください。"
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "作成者:"
|
||||
@@ -436,6 +475,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "設定値より短いセグメントはスキップされず、プレーヤーにも表示されません。"
|
||||
},
|
||||
"enableManualSkipOnFullVideo": {
|
||||
"message": "動画全体のラベルが存在する場合は手動スキップを使用する"
|
||||
},
|
||||
"whatManualSkipOnFullVideo": {
|
||||
"message": "動画全体がスポンサー付きまたはセルフプロモーションである場合に、動画を邪魔されずに観たい方向け。"
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "スキップ通知の表示時間(秒):"
|
||||
},
|
||||
@@ -485,7 +530,7 @@
|
||||
"message": "ファイルから読み込み"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "JSON形式のすべての個人設定です。これにはあなたのユーザーIDが含まれているので、共有するときは注意してください。"
|
||||
"message": "これがJSON形式の設定項目全体になります。これにはあなたのプライベートユーザーIDが含まれているので、共有するときは注意してください。"
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "オプション設定"
|
||||
@@ -539,18 +584,43 @@
|
||||
"message": "~",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "コピーしました!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "場面転換のつなぎ目も含める"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "スキップしても自然に見えるようにする"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "スポンサー"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "報酬のある販売促進・製品紹介,および直接広告です。自己販促や好きな運動・製作者・Webサイト・製品に対する無報酬での宣伝とは違います。"
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "有料のプロモーション"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "寄付やオリジナルグッズには使わない"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "無報酬 / セルフプロモーション"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "無報酬での宣伝あるいは自己販促であるという点を除いては「スポンサー」と同様です。商品、寄付、コラボ情報に関する内容を含みます。"
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "寄付、メンバーシップ、オリジナルグッズ"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "動画とは関係のない呼びかけ"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "企業がデザインした製品やグッズには使わない"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "限定アクセス"
|
||||
},
|
||||
@@ -561,12 +631,24 @@
|
||||
"message": "この動画は無償または補助金を受けて利用した製品、サービス、または場所を紹介するものです",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "動画全体が無料または補助金を受けてアクセスしたものを紹介するものである"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "行動を促すメッセージ(チャンネル登録)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "動画の途中に挟まれる,高評価,チャンネル登録・通知の有効化を促す短かい場面。長かったり具体的な商品についての場面は,中断ではなく自己販売促進に分類するべきです。"
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "高評価、登録、フォローの短いお願い"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "間接的なコメントのお願いも含む"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "一般的なプロモーションではなく、直接的な呼びかけのみに使用すること"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "動画の間に挟まる告知"
|
||||
},
|
||||
@@ -579,27 +661,54 @@
|
||||
"category_intro_short": {
|
||||
"message": "インターミッション"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "実際のコンテンツを含まないインターバル"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "情報を含むトランジションには使用しない"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "エンドカード/クレジット"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "提供表示やYouTubeの終了画面が表示されている場面。動画の内容を結論している場面には使用しないで下さい。"
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "画面上にエンドカードが表示されているかに関わらず、コンテンツを含めない"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "予告と前回の粗筋"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "前回の粗筋,または動画の後半内容の予告。音声による要約ではなく,編集された映像を指します。"
|
||||
"message": "この動画や他の動画でこのあと起きる内容など、今後再び登場する場面を連続的にまとめたクリップ。"
|
||||
},
|
||||
"category_preview_guideline1": {
|
||||
"message": "動画後ほどや将来の動画に登場する場面"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "前回の動画のあらすじ"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "新たなコンテンツを含むセクションには使用しない"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "無駄な脱線/冗談"
|
||||
"message": "繋ぎの話/冗談"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "動画の本編を理解するのに必要のない、繋ぎの話やユーモアによって脱線したシーン。これには、文脈や背景の詳細を提供しているセグメントを含めないでください。"
|
||||
"message": "動画の本編を理解するのに必要のない、繋ぎの話やユーモアによって脱線したシーン。これには、文脈や背景にある情報を含むセグメントを含めないでください。これは、あなたが楽しい気分になれないときなどのための、非常にアグレッシブなカテゴリーです。"
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "繋ぎの話"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "繋ぎの話やユーモアのみを含む本筋とは無関係な場面"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "逸脱シーン、NGシーン、リプレイ"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "トピックの理解に必要な場面には使用しない"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "音楽: 音楽以外のセクション"
|
||||
},
|
||||
@@ -609,12 +718,42 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "音楽以外の部分"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "公式リリースには含まれないセクション"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "ライブパフォーマンスにおける音楽以外の部分"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "ハイライト"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "多くの人が求めている動画の部分。「本編はXから開始」といったコメントのような機能です。"
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "多くの人々が求めているであろう内容のセクション"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "それまでの文脈はスキップできるものである"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "タイトルやサムネイルの場面までスキップできるものである"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "チャプター"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "動画の主要なセクションを説明するカスタムのチャプター名"
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "スポンサーのブランド名には言及しない"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "全般的なセクションには大きなチャプターを使用する"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "大きいチャプターの中には小さいチャプターを設けられます"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "ライブ配信: 寄付/メッセージの読み上げ"
|
||||
},
|
||||
@@ -645,6 +784,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "ラベルを表示"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "チャプターを表示"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "非音楽区域がある場合,全区域を自動的に飛び越す"
|
||||
},
|
||||
@@ -700,6 +842,10 @@
|
||||
"bracketEnd": {
|
||||
"message": "(終了)"
|
||||
},
|
||||
"End": {
|
||||
"message": "終端へ",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "低い評価の区間を無視する"
|
||||
},
|
||||
@@ -713,11 +859,8 @@
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "番組IDがまだ読み込まれていません。埋め込み動画でご覧になっている場合は,代わりにYouTubeの公式サイトで再生してみてください。この問題はYouTubeの画面構成を変えた際にも発生する可能性があります。その場合は,こちらに意見をお書きください:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "SponsorBlockの動画情報取得が拒否されています。詳細は https://github.com/ajayyy/SponsorBlock/issues/741 を参照してください。"
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "SponsorBlockがYouTube APIを参照できないようです。修正するには,次に表示される画面で許可を承認してから,数秒後に再読み込みしてください。"
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "Invidiousなどのサードパーティーサイトで機能するために必要な権限をブラウザーが拒否しています。この権限を許可するには下のボタンをクリックしてください。"
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "許可を承認する"
|
||||
@@ -743,6 +886,13 @@
|
||||
"downvoteDescription": {
|
||||
"message": "不正確あるいは間違った時刻です"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "間違っている"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "有害である",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "カテゴリーを変更"
|
||||
},
|
||||
@@ -778,6 +928,9 @@
|
||||
"categoryPillTitleText": {
|
||||
"message": "この動画は全体がこのカテゴリーとして指定されており、密に結合されているため分割することができません"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "一部のチャプター名はカテゴリーにした方が良さそうです。可能な場合はカテゴリーを使用してください。"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "実験的機能をすべて無効にする",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
@@ -786,11 +939,19 @@
|
||||
"message": "二度と表示しない"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "警告によりあなたは一時的にセグメントを提出することができません。これはあなたが悪意からではなく、単に誤った行為をしていることを私たちが認識したためです。ルールを理解していることを確認していただければこの警告は解除します。discord.gg/SponsorBlock または matrix.to/#/#sponsor:ajay.app よりチャットに参加することもできます。"
|
||||
"message": "悪意によるものではないよくある間違いを犯していたようです"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "警告により投票が拒否されました。クリックして運営に連絡するか,少し時間を置いてからやりなおしてください。",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "警告を付与されました"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "質問があります"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "理由を理解しました"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "警告の確認中にエラーが発生しました:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "寄付"
|
||||
@@ -864,6 +1025,9 @@
|
||||
"LearnMore": {
|
||||
"message": "さらに詳しく"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "詳細"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "低評価を押し、再提出するためのローカルコピーを作成"
|
||||
},
|
||||
@@ -879,6 +1043,21 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "この変更はすぐにあなたのセグメントに適用されます"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "低評価"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "高評価"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "セグメントを表示しない"
|
||||
},
|
||||
"skipSegment": {
|
||||
"message": "セグメントをスキップ"
|
||||
},
|
||||
"playChapter": {
|
||||
"message": "チャプターを再生"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "編集ボックスにカーソルを合わせながらマウスホイールを使用すると、時間をすばやく調整できます。 CtrlキーまたはShiftキーの組み合わせを使用して変更を微調整できます。"
|
||||
},
|
||||
@@ -929,5 +1108,140 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "これはYouTubeにデフォルトで使用されているショートカットです。本当にこれを使用しますか?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "ベータサーバーが有効です!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "オプションページを開く"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "設定をデフォルトに戻す"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "全ての設定を初期値にリセットしてもよろしいですか?元に戻すことはできません。"
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "セグメントをエクスポート"
|
||||
},
|
||||
"importSegments": {
|
||||
"message": "セグメントをインポート"
|
||||
},
|
||||
"Import": {
|
||||
"message": "インポート",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "適用に成功しました!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "ライセンスキーが無効です"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "追加課金が必要なオプションを非表示にする"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "国を選択"
|
||||
},
|
||||
"noDiscount": {
|
||||
"message": "割引の資格を満たしていません"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "割引リンク (ピンク色の価格を参照)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "国を選択してください"
|
||||
},
|
||||
"alreadyDonated": {
|
||||
"message": "今までにいくらかの寄付をしていただいた方は、メールにて無料アクセスの引き換えが可能です:",
|
||||
"description": "After the colon is an email address"
|
||||
},
|
||||
"cantAfford": {
|
||||
"message": "ライセンスを購入する余裕がない方は、{こちら} をクリックして割引が適用されるかどうか確認できます",
|
||||
"description": "Keep the curly braces. The word 'here' should be translated as well."
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Patreonでサインイン"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "適用する"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Patreonで購読する"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "買い切り購入"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "ライセンスキーを入力"
|
||||
},
|
||||
"chaptersPage1": {
|
||||
"message": "SponsorBlockのクラウドソーシングによるチャプター機能は、ライセンス購入をされた方、もしくは過去の貢献により許可された方のみが利用できます"
|
||||
},
|
||||
"chaptersPage2": {
|
||||
"message": "注: チャプターの提出権限は算出された評判に基づいています。ライセンスを購入することで、他の人が提出したチャプターを閲覧できるようになります",
|
||||
"description": "On the chapters page for getting access to the paid chapters feature"
|
||||
},
|
||||
"chapterNewFeature": {
|
||||
"message": "新機能: クラウドソーシングによるカスタムチャプター。動画内のセクションを入れ子構造にできるので、より精密な区分けができます。この動画に登録されたチャプターを表示するにはライセンスをご購入ください。チャプターはこのように表示されます: ",
|
||||
"description": "After the comma, a list of chapters for this video will appear"
|
||||
},
|
||||
"chapterNewFeature2": {
|
||||
"message": "新機能: クラウドソーシングによるカスタムチャプター。動画内のセクションを入れ子構造にできるので、より精密な区分けができます。あなたはこの機能に無料でアクセスできます。オプションより有効化してください。"
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "現在、{1} に {0} があります",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "現在、未送信のセグメントはありません",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "個の未送信セグメント",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "個の未送信セグメント",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "本の動画",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "本の動画",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "全てのセグメントを消去",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "本当に全ての未送信セグメントを消去してもよろしいですか?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "セグメントを表示",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "セグメントを非表示",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "動画ID",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "セグメント数",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "操作",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "URLとして共有"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1,25 @@
|
||||
{}
|
||||
{
|
||||
"fullName": {
|
||||
"message": "SponsorBlock priekš YouTube - Izlaid sponsorus",
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"Description": {
|
||||
"message": "Izlaidiet sponsorus, abonēšanas lūgumus un vairāk, skatoties YouTube video. Ziņojiet par sponsoriem video, kurus jūs skatāties, lai ietaupītu citu laiku.",
|
||||
"description": "Description of the extension."
|
||||
},
|
||||
"400": {
|
||||
"message": "Serveris ziņo, ka šis pieprasījums ir nederīgs"
|
||||
},
|
||||
"429": {
|
||||
"message": "Jūs esat aizsūtījis pārāk daudz sponsoru laika sprīžus šim video; vai esat pārliecināts, ka šeit ir tik daudz?"
|
||||
},
|
||||
"409": {
|
||||
"message": "Šis jau ir ticis aizsūtīts iepriekš"
|
||||
},
|
||||
"channelWhitelisted": {
|
||||
"message": "Kanāls iekļauts baltajā sarakstā!"
|
||||
},
|
||||
"Segment": {
|
||||
"message": "segments"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -295,15 +295,6 @@
|
||||
"statusReminder": {
|
||||
"message": "സെർവർ നിലയ്ക്കായി status.sponsor.ajay.app പരിശോധിക്കുക."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "നിങ്ങളുടെ യൂസർ ഐഡി ഇറക്കുമതി ചെയ്യുക / കയറ്റുമതി ചെയ്യുക"
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "യൂസർ ഐഡി സജ്ജമാക്കുക"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "മുന്നറിയിപ്പ്: യൂസർ ഐഡി മാറ്റുന്നത് ശാശ്വതമാണ്. ഇത് ചെയ്യാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെന്ന് ഉറപ്പാണോ? നിങ്ങളുടെ പഴയത് ബാക്കപ്പ് ചെയ്യുന്നത് ഉറപ്പാക്കുക."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "ഉണ്ടാക്കിയത്"
|
||||
},
|
||||
@@ -361,9 +352,6 @@
|
||||
"exportOptions": {
|
||||
"message": "എല്ലാ ഓപ്ഷനുകളും ഇറക്കുമതി ചെയ്യുക / കയറ്റുമതി ചെയ്യുക"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "JSON ലെ നിങ്ങളുടെ മുഴുവൻ കോൺഫിഗറേഷനും ഇതാണ്. ഇതിൽ നിങ്ങളുടെ യൂസർ ഐഡി ഉൾപ്പെടുന്നു, അതിനാൽ ഇത് വിവേകത്തോടെ പങ്കിടുന്നത് ഉറപ്പാക്കുക."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "ഓപ്ഷനുകൾ സജ്ജമാക്കുക"
|
||||
},
|
||||
|
||||
@@ -295,15 +295,6 @@
|
||||
"statusReminder": {
|
||||
"message": "Periksa status.sponsor.ajay.app untuk status pelayan."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Import / Eksport Id Pengguna Anda"
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Tetapkan Id Pengguna"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Amaran: Mengubah UserID adalah kekal. Adakah anda pasti mahu melakukan ini? Pastikan untuk membuat sandaran lama anda sekiranya berlaku."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Dicipta oleh"
|
||||
},
|
||||
@@ -361,9 +352,6 @@
|
||||
"exportOptions": {
|
||||
"message": "Import / Eksport Semua Pilihan"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Ini adalah keseluruhan konfigurasi anda di JSON. Ini termasuk ID pengguna anda, jadi pastikan untuk membagikannya dengan bijak."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Tetapkan Pilihan"
|
||||
},
|
||||
|
||||
@@ -25,6 +25,16 @@
|
||||
"Segments": {
|
||||
"message": "segmenten"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Segmenten"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Hoofdstukken"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Segmenten weergeven als hoofdstukken",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Stemmen op deze inzending"
|
||||
},
|
||||
@@ -62,7 +72,7 @@
|
||||
"message": "Timer gestopt"
|
||||
},
|
||||
"confirmMSG": {
|
||||
"message": "Om individuele waarden te bewerken of te verwijderen, klikt u op de info-knop of opent u de extensie-popup door op het extensie-pictogram in de rechterbovenhoek te klikken."
|
||||
"message": "Om individuele waarden te bewerken of te verwijderen, klikt u op de info-knop of opent u de extensie-pop-up door op het extensie-pictogram in de rechterbovenhoek te klikken."
|
||||
},
|
||||
"clearThis": {
|
||||
"message": "Weet u zeker dat u dit wilt wissen?\n\n"
|
||||
@@ -107,14 +117,17 @@
|
||||
"message": "Segmenten verwijderen"
|
||||
},
|
||||
"openPopup": {
|
||||
"message": "SponsorBlock-popup openen"
|
||||
"message": "SponsorBlock-pop-up openen"
|
||||
},
|
||||
"closePopup": {
|
||||
"message": "Popup sluiten"
|
||||
"message": "Pop-up sluiten"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Segmenten indienen"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Segmenten sorteren"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Weet u zeker dat u dit wilt indienen?"
|
||||
},
|
||||
@@ -164,6 +177,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "Publieke gebruikers-ID kopiëren"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Segment-ID kopiëren"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Word lid van de officiële Discord-server om suggesties en feedback te geven!"
|
||||
},
|
||||
@@ -210,13 +226,13 @@
|
||||
"message": "Bijhouden van het aantal keren overslaan inschakelen in privé-/incognito-tabbladen"
|
||||
},
|
||||
"enableTrackDownvotes": {
|
||||
"message": "Segment-downvotes opslaan"
|
||||
"message": "Segment-tegenstemmen opslaan"
|
||||
},
|
||||
"whatTrackDownvotes": {
|
||||
"message": "Segmenten waarop u een downvote doet, blijven verborgen, zelfs na vernieuwen"
|
||||
"message": "Segmenten waarop u een tegenstem doet, blijven verborgen, zelfs na vernieuwen"
|
||||
},
|
||||
"trackDownvotesWarning": {
|
||||
"message": "Waarschuwing: als u dit uitschakelt, worden alle eerder opgeslagen downvotes verwijderd"
|
||||
"message": "Waarschuwing: als u dit uitschakelt, worden alle eerder opgeslagen tegenstemmen verwijderd"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "Opvragen via hash-voorvoegsel"
|
||||
@@ -230,12 +246,21 @@
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Als de video nieuw is en er geen segmenten worden gevonden, zal om de zoveel minuten opnieuw worden gecontroleerd terwijl u kijkt."
|
||||
},
|
||||
"enableShowCategoryWithoutPermission": {
|
||||
"message": "Categorieën in indieningsmenu weergeven, zelfs zonder toestemming voor indienen"
|
||||
},
|
||||
"whatShowCategoryWithoutPermission": {
|
||||
"message": "Voor sommige categorieën is toestemming nodig om in te dienen vanwege minimale reputatie-eisen"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Melding opnieuw weergeven"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Melding weergeven nadat een segment is overgeslagen"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Categorie-hulp weergeven"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Volledige grootte overslaan-meldingen"
|
||||
},
|
||||
@@ -283,6 +308,14 @@
|
||||
"message": "Segmenten indienen",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Volgend hoofdstuk",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Vorig hoofdstuk",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Selecteer een toets door hem in te typen en kies de modificatietoetsen die u wilt gebruiken."
|
||||
},
|
||||
@@ -382,16 +415,16 @@
|
||||
"message": "Controleer status.sponsor.ajay.app voor de serverstatus."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Uw gebruikers-ID importeren/exporteren"
|
||||
"message": "Uw privé-gebruikers-ID importeren/exporteren"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Dit moet privé gehouden worden. Dit is als een wachtwoord en mag met niemand gedeeld worden. Als iemand dit heeft, kan hij zich voordoen als u. Klik op het klembordpictogram in de popup als u op zoek bent naar uw publieke gebrukers-ID."
|
||||
"message": "Dit moet privé gehouden worden. Dit is als een wachtwoord en mag met niemand gedeeld worden. Als iemand dit heeft, kan hij zich voordoen als u. Klik op het klembordpictogram in de pop-up als u op zoek bent naar uw publieke gebruikers-ID."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Gebruikers-ID instellen"
|
||||
"message": "Privé-gebruikers-ID instellen"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Waarschuwing: wijzigen van de gebruikers-ID is permanent. Weet u zeker dat u dit wilt doen? Zorg ervoor dat u een back-up maakt van uw oude ID, voor het geval dat."
|
||||
"message": "Waarschuwing: wijzigen van de privé-gebruikers-ID is permanent. Weet u zeker dat u dit wilt doen? Zorg ervoor dat u een back-up maakt van uw oude ID, voor het geval dat."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Gemaakt door"
|
||||
@@ -436,6 +469,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Segmenten korter dan de ingestelde waarde worden niet overgeslagen of weergegeven in de speler."
|
||||
},
|
||||
"enableManualSkipOnFullVideo": {
|
||||
"message": "Handmatig overslaan gebruiken wanneer een label voor volledige video bestaat"
|
||||
},
|
||||
"whatManualSkipOnFullVideo": {
|
||||
"message": "Voor mensen die de video ononderbroken willen bekijken als deze volledig gesponsord of zelfpromotie is."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Duur van overslaan-melding (seconden):"
|
||||
},
|
||||
@@ -485,7 +524,7 @@
|
||||
"message": "Laden uit bestand"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Dit is uw volledige configuratie in JSON. Dit is inclusief uw gebruikers-ID, dus zorg ervoor dat u dit verstandig deelt."
|
||||
"message": "Dit is uw volledige configuratie in JSON. Dit is inclusief uw privé-gebruikers-ID, dus zorg ervoor dat u dit verstandig deelt."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Opties instellen"
|
||||
@@ -539,18 +578,43 @@
|
||||
"message": "tot",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Gekopieerd!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Inclusief vlotte overgangen"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Speelt af alsof niets overgeslagen werd"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Sponsor"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Betaalde promotie, betaalde aanbevelingen en directe reclame. Niet voor zelfpromotie of gratis uitroepen naar zaken/makers/websites/producten waar ze van houden."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Betaalde promoties"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Niet voor donaties of aangepaste koopwaar"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Onbetaalde promotie of zelfpromotie"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Vergelijkbaar met \"sponsor\", behalve voor onbetaalde of zelfpromotie. Dit is inclusief secties over koopwaar, donaties of informatie over met wie ze hebben samengewerkt."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Donaties, lidmaatschappen en aangepaste koopwaar"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Gratis uitroepen die niets aan de video toevoegen"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Niet voor bedrijfsontworpen producten en koopwaar"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Exclusieve toegang"
|
||||
},
|
||||
@@ -561,12 +625,24 @@
|
||||
"message": "Deze video toont een product, dienst of locatie waartoe men gratis of gesubsidieerd toegang heeft gekregen",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Volledige video laat iets zien met gratis of gesubsidieerde toegang"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Interactieherinnering (abonneren)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Als er een korte herinnering is om ze leuk te vinden, u te abonneren of ze te volgen in het midden van de inhoud. Als het lang is of over iets specifieks gaat, moet het in plaats daarvan onder zelfpromotie vallen."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Korte herinneringen om leuk te vinden, te abonneren of te volgen"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Bevat indirecte herinneringen voor commentaar"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Niet voor algemene promotie, roept alleen op tot actie"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Interactieherinnering"
|
||||
},
|
||||
@@ -579,27 +655,54 @@
|
||||
"category_intro_short": {
|
||||
"message": "Onderbreking"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Interval zonder werkelijke inhoud"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Niet voor overgangen met informatie"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Eindkaarten/aftiteling"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Aftiteling of wanneer de YouTube-eindkaarten verschijnen. Niet voor conclusies met informatie."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Inhoud niet toevoegen, zelfs niet als eindkaarten op het scherm staan"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Voorbeeld/samenvatting"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Snelle samenvatting van vorige afleveringen of een voorbeeld van wat er later komt in de huidige video. Bedoeld voor samengevoegde clips, niet voor gesproken samenvattingen."
|
||||
"message": "Collectie van clips die laten zien wat er in deze video of andere video's komt in een serie waar alle informatie later in de video wordt herhaald."
|
||||
},
|
||||
"category_preview_guideline1": {
|
||||
"message": "Clips die later of in een toekomstige video verschijnen"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Samenvatting van een vorige video"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Niet voor secties die extra inhoud toevoegen"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Opvulling zijspoor/humor"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Zijspoor-scènes die alleen ter opvulling of als humor worden toegevoegd en niet noodzakelijk zijn om de hoofdinhoud van de video te begrijpen. Segmenten die context of achtergrondinformatie verschaffen, mogen hier niet onder vallen."
|
||||
"message": "Zijspoor-scènes die alleen ter opvulling of als humor worden toegevoegd en niet noodzakelijk zijn om de hoofdinhoud van de video te begrijpen. Segmenten die context of achtergrondinformatie verschaffen, mogen hier niet onder vallen. Dit is een zeer agressieve categorie, bedoeld voor als u niet in de stemming bent voor \"plezier\"."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Opvulling"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Zijspoor-scènes alleen voor opvulling of humor"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Afleidingen, bloopers, herhalingen"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Niet voor scènes vereist om het onderwerp te begrijpen"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Muziek: sectie niet-muziek"
|
||||
},
|
||||
@@ -609,12 +712,42 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Niet-muziek"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Secties niet in officiële releases"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Niet-muziek in een live optreden"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Hoogtepunt"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "Het deel van de video waar de meeste mensen naar op zoek zijn. Gelijkaardig aan \"video begint bij x\"-opmerkingen."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "Sectie die de meeste mensen zoeken"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Kan context overslaan"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Kan naar titel of pictogram overslaan"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Hoofdstuk"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "Hoofdstukken met een aangepaste naam die de belangrijkste delen van een video beschrijven."
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "Merknamen van sponsors niet vermelden"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "Grotere hoofdstukken gebruiken voor algemene secties"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "Kleinere hoofdstukken kunnen in grotere worden geplaatst"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Livestream: donaties/lezen van berichten"
|
||||
},
|
||||
@@ -645,6 +778,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "Label weergeven"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Hoofdstukken weergeven"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Automatisch alle segmenten overslaan wanneer er een niet-muziek-segment is"
|
||||
},
|
||||
@@ -700,8 +836,12 @@
|
||||
"bracketEnd": {
|
||||
"message": "(einde)"
|
||||
},
|
||||
"End": {
|
||||
"message": "Einde",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "verborgen: downvote"
|
||||
"message": "verborgen: tegenstem"
|
||||
},
|
||||
"hiddenDueToDuration": {
|
||||
"message": "verborgen: te kort"
|
||||
@@ -713,11 +853,8 @@
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "Kanaal-ID is nog niet geladen. Als u een ingesloten video gebruikt, probeer dan in plaats daarvan de YouTube-homepagina. Dit kan ook worden veroorzaakt door wijzigingen in de YouTube-lay-out. Als u denkt dat dit het geval is, maak dan hier een opmerking:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Het lijkt erop dat iets de mogelijkheid van SponsorBlock om videogegevens op te halen, blokkeert. Zie https://github.com/ajayyy/SponsorBlock/issues/741 voor meer informatie."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Het lijkt erop dat SponsorBlock de YouTube API niet kan bereiken. Om dit op te lossen, accepteer het machtigingsverzoek dat hierna wordt weergegeven, wacht een aantal seconden en laad de pagina vervolgens opnieuw."
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "De browser heeft de toestemming ingetrokken die nodig is om te functioneren op Invidious en andere sites van derden. Klik op de knop hieronder om deze toestemming opnieuw te activeren."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Machtiging accepteren"
|
||||
@@ -743,6 +880,13 @@
|
||||
"downvoteDescription": {
|
||||
"message": "Verkeerde timing"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Onjuist"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Schadelijk",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Categorie wijzigen"
|
||||
},
|
||||
@@ -778,6 +922,9 @@
|
||||
"categoryPillTitleText": {
|
||||
"message": "De hele video is gelabeld als deze categorie en is te strak geïntegreerd om te kunnen scheiden"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "Een van uw hoofdstuknamen lijkt op een categorie. Gebruik in plaats daarvan waar mogelijk categorieën."
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Uitschrijven van alle toekomstige experimenten",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
@@ -786,17 +933,25 @@
|
||||
"message": "Voor altijd verbergen"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "U heeft een waarschuwing gekregen en kunt tijdelijk geen segmenten indienen. Dit betekent dat we gemerkt hebben dat u een aantal veelvoorkomende fouten maakt die niet kwaadaardig zijn. Bevestig dat u de regels begrijpt en we zullen de waarschuwing verwijderen. U kunt ook deelnemen aan deze chat via discord.gg/SponsorBlock of matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "We hebben gemerkt dat u een aantal veelvoorkomende fouten maakte zonder slechte bedoelingen"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Stem geweigerd vanwege een waarschuwing. Klik om een chat te openen om het op te lossen, of kom later terug als u tijd hebt.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "U heeft een waarschuwing gekregen"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "Ik heb een vraag"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Ik begrijp de reden"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Fout bij het bevestigen van de waarschuwing:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Doneren"
|
||||
},
|
||||
"considerDonating": {
|
||||
"message": "Ontwikkeling helpen"
|
||||
"message": "Ontwikkeling steunen"
|
||||
},
|
||||
"hideDonationLink": {
|
||||
"message": "Donatiekoppeling verbergen"
|
||||
@@ -817,16 +972,16 @@
|
||||
"message": "Hoe overslaan werkt"
|
||||
},
|
||||
"helpPageHowSkippingWorks1": {
|
||||
"message": "Videosegmenten zullen automatisch worden overgeslagen als ze in de database worden gevonden. U kunt de popup openen door op het pictogram van de extensie te klikken om een voorbeeld te krijgen van wat ze zijn."
|
||||
"message": "Videosegmenten zullen automatisch worden overgeslagen als ze in de database worden gevonden. U kunt de pop-up openen door op het pictogram van de extensie te klikken om een voorbeeld te krijgen van wat ze zijn."
|
||||
},
|
||||
"helpPageHowSkippingWorks2": {
|
||||
"message": "Als u een segment overslaat, krijgt u een bericht. Als de timing verkeerd lijkt, stem dan door op downvote te klikken! U kunt ook stemmen in de popup."
|
||||
"message": "Als u een segment overslaat, krijgt u een bericht. Als de timing verkeerd lijkt, stem dan door op tegenstemmen te klikken! U kunt ook stemmen in de pop-up."
|
||||
},
|
||||
"Submitting": {
|
||||
"message": "Indienen"
|
||||
},
|
||||
"helpPageSubmitting1": {
|
||||
"message": "Indienen kan ofwel in de popup door op de knop \"segment begint nu\" te drukken of in de videospeler met de knoppen op de speler."
|
||||
"message": "Indienen kan ofwel in de pop-up door op de knop \"segment begint nu\" te drukken of in de videospeler met de knoppen op de speler."
|
||||
},
|
||||
"helpPageSubmitting2": {
|
||||
"message": "Klikken op de afspelen-knop geeft het begin van een segment aan en klikken op het stop-pictogram geeft het einde aan. U kunt meerdere sponsors voorbereiden voordat u op indienen klikt. Klikken op de uploadknop zal indienen. Klikken op de vuilnisbak zal verwijderen."
|
||||
@@ -864,14 +1019,17 @@
|
||||
"LearnMore": {
|
||||
"message": "Meer informatie"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Volledige details"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Doet een downvote en maakt een lokale kopie aan die u opnieuw kunt indienen"
|
||||
"message": "Doet een tegenstem en maakt een lokale kopie aan die u opnieuw kunt indienen"
|
||||
},
|
||||
"OpenCategoryWikiPage": {
|
||||
"message": "Wikipagina van deze categorie openen."
|
||||
},
|
||||
"CopyAndDownvote": {
|
||||
"message": "Kopiëren en downvote doen"
|
||||
"message": "Kopiëren en tegenstemmen"
|
||||
},
|
||||
"ContinueVoting": {
|
||||
"message": "Doorgaan met stemmen"
|
||||
@@ -879,6 +1037,15 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Dit is direct van toepassing op uw segmenten"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Tegenstemmen"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Stemmen"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Segment verbergen"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Gebruik het muiswiel terwijl u over het invoerveld beweegt om de tijd snel aan te passen. Combinaties van de ctrl- of shift-toets kunnen worden gebruikt om de wijzigingen te verfijnen."
|
||||
},
|
||||
@@ -929,5 +1096,140 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Dit is een ingebouwde YouTube-snelkoppeling. Weet u zeker dat u deze wilt gebruiken?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "BETAserver is ingeschakeld!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Pagina met opties openen"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Instellingen terugzetten op standaard"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Weet u zeker dat u alle instellingen wilt terugzetten naar hun standaardwaarden? Dit kan niet ongedaan gemaakt worden."
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Segmenten exporteren"
|
||||
},
|
||||
"importSegments": {
|
||||
"message": "Segmenten importeren"
|
||||
},
|
||||
"Import": {
|
||||
"message": "Importeren",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "Inwisselen geslaagd!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "Licentiesleutel is ongeldig"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "Opties verbergen die niet beschikbaar zijn zonder extra betaling"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Land kiezen"
|
||||
},
|
||||
"noDiscount": {
|
||||
"message": "U komt niet in aanmerking voor een korting"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "Kortingslink (zie de roze prijs)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Selecteer uw land"
|
||||
},
|
||||
"alreadyDonated": {
|
||||
"message": "Als u al eerder een bedrag hebt gedoneerd, kunt u gratis toegang krijgen door een e-mail te sturen:",
|
||||
"description": "After the colon is an email address"
|
||||
},
|
||||
"cantAfford": {
|
||||
"message": "Als u het zich niet kunt veroorloven om een licentie aan te schaffen, klik dan {hier} om te zien of u in aanmerking komt voor een korting",
|
||||
"description": "Keep the curly braces. The word 'here' should be translated as well."
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Aanmelden met Patreon"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "Inwisselen"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Abonneren op Patreon"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "Eenmalige aankoop"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Licentiesleutel invoeren"
|
||||
},
|
||||
"chaptersPage1": {
|
||||
"message": "De SponsorBlock-functie voor crowd-sourced hoofdstukken is alleen beschikbaar voor mensen die een licentie kopen of voor mensen die gratis toegang krijgen vanwege hun bijdragen in het verleden"
|
||||
},
|
||||
"chaptersPage2": {
|
||||
"message": "Opmerking: toestemming om hoofdstukken in te dienen is nog steeds gebaseerd op berekende reputatie. Door een licentie te kopen kunt u enkel hoofdstukken bekijken die door anderen zijn ingediend",
|
||||
"description": "On the chapters page for getting access to the paid chapters feature"
|
||||
},
|
||||
"chapterNewFeature": {
|
||||
"message": "Nieuwe functie: gecrowdsourcete aangepaste hoofdstukken. Dit zijn hoofdstukken met een eigen naam in video's die gestapeld kunnen worden om steeds preciezer te worden. Koop een licentie om de ingezonden hoofdstukken op deze video te bekijken, zoals: ",
|
||||
"description": "After the comma, a list of chapters for this video will appear"
|
||||
},
|
||||
"chapterNewFeature2": {
|
||||
"message": "Nieuwe functie: gecrowdsourcete aangepaste hoofdstukken. Dit zijn hoofdstukken met een eigen naam in video's die gestapeld kunnen worden om steeds preciezer te worden. U heeft gratis toegang. In te schakelen via de opties."
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "U hebt momenteel {0} in {1}",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "U hebt momenteel geen niet-ingediende segmenten",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "niet-ingediend segment",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "niet-ingediende segmenten",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "video",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "video's",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "Alle segmenten wissen",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "Weet u zeker dat u al uw niet-ingediende segmenten wilt wissen?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "Segmenten weergeven",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "Segmenten verbergen",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "Video-ID",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "Aantal segmenten",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "Acties",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "Delen als URL"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
"message": "Hopp igjen"
|
||||
},
|
||||
"unmute": {
|
||||
"message": "Lyd"
|
||||
"message": "Skru av demping"
|
||||
},
|
||||
"paused": {
|
||||
"message": "På pause"
|
||||
@@ -372,18 +372,9 @@
|
||||
"statusReminder": {
|
||||
"message": "Sjekk status.sponsor.ajay.app for tjenerstatus."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Importer/Eksporter din bruker-ID"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Dette bør holdes privat. Det er som et passord og bør ikke deles med noen. Hvis noen har dette kan de utgi seg som deg. Hvis du leter etter din offentlige bruker-ID, klikker du på utklippstavlen i oppsprettsvinduet."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Angi bruker-ID"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Advarsel: Å endre bruker-ID-en din er permanent. Er du sikker på at du vil gjøre dette? Sørg for å ta sikkerhetskopi av din gamle for sikkerhets skyld."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Opprettet av"
|
||||
},
|
||||
@@ -475,9 +466,6 @@
|
||||
"exportOptionsUpload": {
|
||||
"message": "Last fra fil"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Dette er hele oppsettet ditt i JSON. Det inkluderer bruker-ID-en din, så sørg for å være beskjeden med å dele det."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Angi innstillinger"
|
||||
},
|
||||
@@ -579,12 +567,6 @@
|
||||
"category_preview": {
|
||||
"message": "Forhåndsvisning/Oppsummering"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Hurtig oppsummering av tidligere episoder, eller forhåndsvisning av hva som kommer senere i denne videoen. Ment for redigerte klipp, ikke muntlige sammendrag."
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Intetsigende segmenter kun lagt til som fyllstoff eller humor som ikke er nødvendig for å forstå hovedinnholdet i videoen. Dette bør ikke inkludere segmenter som gir kontekst eller bakgrunnsdetaljer."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Fyllstoff"
|
||||
},
|
||||
@@ -698,12 +680,6 @@
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "Kanal-ID er ikke lastet enda. Hvis du bruker en innebygd video, prøv å bruke YouTube-hjemmesiden i stedet. Dette kan også forårsakes av endringer i YouTube-oppsett, hvis du mistenker det, kommenter her:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Det virker som om noe blokkerer SponsorBlock's mulighet til å få videodata. Vennligst se https://github.com/ajayyy/SponsorBlock/issues/741 for mer info."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Det ser ut til at SponsorBlock ikke klarer å nå YouTube-API-en. For å fikse dette, godta tillatelsesspørringen som dukker opp etter dette, vent noen sekunder, og så last inn siden på nytt."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Godta tillatelse"
|
||||
},
|
||||
@@ -770,12 +746,8 @@
|
||||
"hideForever": {
|
||||
"message": "Skjul for alltid"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Du fikk en advarsel og vil midlertidig ikke kunne sende inn segmenter. Dette betyr at vi la merke til at du gjorde noen vanlige feil som ikke var vondt ment, vennligst bare bekreft at du er inneforstått med reglene og vi vil fjerne advarslen. Du kan også bli med i denne chatten på discord.gg/SponsorBlock eller matrix.to/#/#sponsor:ajay.app"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Stemme avvist på grunn av en advarsel. Klikk for å åpne chatten for å løse dette, eller kom tilbake senere når du har tid.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"questionButton": {
|
||||
"message": "SpørsmålsKnapp"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Donér"
|
||||
@@ -861,6 +833,9 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Dette vil umiddelbart gjelde for dine segmenter"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Skjul segment"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Bruk musehjulet mens du peker over redigeringsboksen for å raskt justere tiden. Kombinasjoner av ctrl- eller shift-tasten kan brukes til å finjustere endringene."
|
||||
},
|
||||
@@ -911,5 +886,17 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Dette er en innebygget YouTube-hurtigtast. Er du sikker på at du vil bruke den?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "BETA Server er aktivert!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Åpne innstillingsside"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Tilbakestill innstillinger til standard"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Er du sikker på at du vil tilbakestille alle innstillingene til standardverdiene? Dette kan ikke angres."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
"message": "Serwer odpowiedział, że to zapytanie jest niepoprawne"
|
||||
},
|
||||
"429": {
|
||||
"message": "Zgłosiłeś za dużo segmentów sponsora dla tego jednego filmu. Jesteś pewien, że jest ich tak dużo?"
|
||||
"message": "Zgłoszono za dużo segmentów sponsora dla tego jednego filmu. Czy na pewno jest ich tak dużo?"
|
||||
},
|
||||
"409": {
|
||||
"message": "To już zostało wysłane wcześniej"
|
||||
@@ -25,6 +25,16 @@
|
||||
"Segments": {
|
||||
"message": "segmentów"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Segmenty"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Rozdziały"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Pokazuj segmenty jako rozdziały",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Zagłosuj na ten segment"
|
||||
},
|
||||
@@ -53,7 +63,7 @@
|
||||
"message": "Pomiń"
|
||||
},
|
||||
"unmute": {
|
||||
"message": "Odcisz"
|
||||
"message": "Anuluj wyciszenie"
|
||||
},
|
||||
"paused": {
|
||||
"message": "Zatrzymany"
|
||||
@@ -115,6 +125,9 @@
|
||||
"SubmitTimes": {
|
||||
"message": "Prześlij segmenty"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Sortuj segmenty"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Czy na pewno chcesz to zamieścić?"
|
||||
},
|
||||
@@ -164,6 +177,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "Kopiuj publiczny identyfikator użytkownika"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Kopiuj ID segmentu"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Dołącz do oficjalnego serwera na discordzie i podziel się wrażeniami i sugestiami!"
|
||||
},
|
||||
@@ -236,20 +252,23 @@
|
||||
"showSkipNotice": {
|
||||
"message": "Pokaż informację po pominięciu segmentu"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Pokaż pomoc kategorii"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Pełnowymiarowe powiadomienia o przewinięciu"
|
||||
},
|
||||
"noticeVisibilityMode1": {
|
||||
"message": "Małe powiadomienia o automatycznym przewijaniu"
|
||||
"message": "Małe powiadomienia o automatycznym przewinięciu"
|
||||
},
|
||||
"noticeVisibilityMode2": {
|
||||
"message": "Małe powiadomienia o przewinięciu"
|
||||
},
|
||||
"noticeVisibilityMode3": {
|
||||
"message": "Znikające powiadomienia o automatycznym przewijaniu"
|
||||
"message": "Półprzezroczyste powiadomienie o automatycznym przewinięciu"
|
||||
},
|
||||
"noticeVisibilityMode4": {
|
||||
"message": "Znikające powiadomienia o przewijaniu"
|
||||
"message": "Półprzezroczyste powiadomienie dla wszystkich przewinięć"
|
||||
},
|
||||
"longDescription": {
|
||||
"message": "SponsorBlock pozwala pomijać sponsorów, intra, outra, przypomnienia o subskrypcjach i inne irytujące fragmenty filmów na YouTube. SponsorBlock jest opartym na crowdsourcingu rozszerzeniem do przeglądarki, które pozwala każdemu zgłosić początek i koniec segmentów sponsorowanych oraz innych segmentów w filmach na YouTube. Kiedy ktoś już zamieści te informacje, wszyscy pozostali z tym rozszerzeniem będą pomijać segment sponsorowany. Możesz również pomijać fragmenty teledysków bez muzyki.",
|
||||
@@ -283,6 +302,14 @@
|
||||
"message": "Prześlij segmenty",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Następny rozdział",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Poprzedni rozdział",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Wybierz przycisk, wpisując go i wybierz dowolne klucze modyfikujące, których chcesz użyć."
|
||||
},
|
||||
@@ -319,7 +346,7 @@
|
||||
"message": "{0} — pominąć?"
|
||||
},
|
||||
"mute_category": {
|
||||
"message": "Wyciszyć {0}?"
|
||||
"message": "{0} — wyciszyć?"
|
||||
},
|
||||
"skip_to_category": {
|
||||
"message": "Przejść do {0}?",
|
||||
@@ -381,18 +408,9 @@
|
||||
"statusReminder": {
|
||||
"message": "Sprawdź status serwera na status.sponsor.ajay.app"
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Importuj/Eksportuj swój identyfikator użytkownika"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "To powinno pozostać prywatne. Jest to niczym hasło i nie powinno zostać nikomu udostępnione. Przy jego użyciu ktoś może się pod ciebie podszywać. Jeśli szukasz publicznego ID użytkownika, kliknij ikonę schowka w wyskakującym oknie."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Ustaw identyfikator użytkownika"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Uwaga: Zmiana identyfikatora użytkownika jest trwała. Czy na pewno chcesz to zrobić? Na wszelki wypadek skopiuj swój poprzedni."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Stworzony przez"
|
||||
},
|
||||
@@ -446,7 +464,7 @@
|
||||
"message": "Ten segment jest krótszy od ustawionego przez Ciebie minimalnego czasu trwania. Może to oznaczać, że ktoś już to zamieścił, ale nie widzisz tego przez to ustawienie. Czy na pewno chcesz to zamieścić?"
|
||||
},
|
||||
"liveOrPremiere": {
|
||||
"message": "Przesyłanie na aktywnej transmisji na żywo lub premierze jest niedozwolone. Poczekaj aż ona się zakończy, a następnie odśwież stronę i sprawdź, czy te segmenty są nadal prawidłowe."
|
||||
"message": "Przesyłanie segmentów podczas transmisji na żywo lub trwającej premiery jest niedozwolone. Poczekaj, aż się zakończy, a następnie odśwież stronę i sprawdź, czy te segmenty są nadal prawidłowe."
|
||||
},
|
||||
"showUploadButton": {
|
||||
"message": "Pokaż przycisk wysyłania"
|
||||
@@ -461,7 +479,7 @@
|
||||
"message": "Zapisz"
|
||||
},
|
||||
"reset": {
|
||||
"message": "Reset"
|
||||
"message": "Resetuj"
|
||||
},
|
||||
"customAddressError": {
|
||||
"message": "Ten adres nie jest w prawidłowej formie. Upewnij się, że http:// lub https:// znajduje się na początku i nie ma końcowych ukośników."
|
||||
@@ -484,9 +502,6 @@
|
||||
"exportOptionsUpload": {
|
||||
"message": "Wczytaj z pliku"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Jest to cała twoja konfiguracja w formacie JSON. Zawarty jest w niej twój identyfikator użytkownika, więc uważaj, komu ją udostępniasz."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Zapisz ustawienia"
|
||||
},
|
||||
@@ -533,39 +548,76 @@
|
||||
"message": "Informacje do debugowania zostały skopiowane do schowka. Możesz usunąć dane, których nie chcesz udostępniać. Zapisz je w pliku tekstowym albo wklej do raportu podczas zgłaszania błędu."
|
||||
},
|
||||
"keyAlreadyUsed": {
|
||||
"message": "Ten skrót jest przypisany do innej akcji. Proszę wybrać inny."
|
||||
"message": "Ten skrót jest przypisany do innej czynności. Wybierz inny."
|
||||
},
|
||||
"to": {
|
||||
"message": "do",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Skopiowano!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Zawiera płynne przejścia"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Pominięcie bez zauważalnego przeskoku"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Sponsor"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Płatna promocja, płatne rekomendacje oraz bezpośrednie reklamy. Nie do autopromocji ani darmowych wyrazów uznania dla kwestii/twórców/stron/produktów, które im się podobają."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Segmenty sponsorowane"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Nie dla donateów lub merchu"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Nieopłacona/Własna promocja"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Podobnie jak \"sponsor\", ale nieodpłatnie bądź w ramach promocji własnej. Obejmuje to sekcje o własnych produktach, donacjach czy informacje o tym, z kim współpracowali."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Dotacje, płatne członkostwo i merch"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Szybkie przypomnienia, które nie wnoszą nic do filmu"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Nie dla produktów zaprojektowanych przez duże firmy"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Ekskluzywny dostęp"
|
||||
"message": "Dostęp na wyłączność"
|
||||
},
|
||||
"category_exclusive_access_description": {
|
||||
"message": "Tylko do oznaczania całych filmów. Używane, gdy wideo wyświetla produkt, usługę lub lokalizację, do których otrzymali darmowy lub subsydiowany dostęp."
|
||||
"message": "Tylko do oznaczania całych filmów. Używane, gdy materiał wideo przedstawia produkt, usługę lub miejsce, do którego dostęp został otrzymany bezpłatnie lub dzięki dofinansowaniu."
|
||||
},
|
||||
"category_exclusive_access_pill": {
|
||||
"message": "Ten film pokazuje produkt, usługę lub lokalizację, do których otrzymali darmowy lub subsydiowany dostęp",
|
||||
"message": "Ten materiał wideo przedstawia produkt, usługę lub miejsce, do którego dostęp został otrzymany bezpłatnie lub dzięki dofinansowaniu",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Cały film jest poświęcony czemuś z darmowym lub płatnym dostępem"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Przypomnienie o interakcji (Subskrybuj)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Gdy ma miejsce krótkie przypomnienie, by lajkować, subskrybować lub śledzić ich w trakcie kontentu. Jeśli trwa to długo lub dotyczy czegoś konkretnego, powinno być zamiast tego jako promocja własna."
|
||||
"message": "Gdy w materiale zostaje zawarte krótkie przypomnienie o polubieniu, subskrypcji lub obserwowaniu. Jeśli trwa długo lub dotyczy czegoś konkretnego, powinno być oznaczone jako autopromocja."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Krótkie przypomnienia, by polubić lub zasubskrybować"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Zawiera niebezpośrednie zachęcanie do komentowania"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Nie dla ogólnej promocji, tylko zaproszenia do działania"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Przypomnienie o interakcji"
|
||||
@@ -579,24 +631,51 @@
|
||||
"category_intro_short": {
|
||||
"message": "Przerwa"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Przerwy bez rzeczywistej zawartości"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Nie dla przejść zawierających informacje"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Ekran końcowy/Napisy"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Napisy końcowe lub gdy pojawia się ekran końcowy. Nie do konkluzji zawierających informacje."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Nie zawiera treści, nawet jeśli na ekranie są karty końcowe"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Zapowiedź/Podsumowanie"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Szybkie podsumowanie poprzednich odcinków lub podgląd tego, co pojawia się później w bieżącym filmie. Dotyczy zmontowanych klipów, a nie ustnych podsumowań."
|
||||
"message": "Zbiór klipów pokazujących to, co pojawi się w tym filmie lub innych filmach w serii, w której wszystkie informacje są powtarzane później w filmie."
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Sceny nietematyczne dodawane tylko jako wypełniacz lub dla humoru, które nie są wymagane do zrozumienia głównej treści filmu. Nie powinno to obejmować segmentów zawierających informacje kontekstowe lub szczegółowe."
|
||||
"category_preview_guideline1": {
|
||||
"message": "Klipy, które pojawiają się później lub w następnym filmie"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Podsumowanie poprzedniego filmu"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Nie dla sekcji, które zawierają potrzebne informacje"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Wypełniacz nietematyczny/żart"
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Wypełniacz"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Przerywniki lub sceny czysto humorystyczne"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Rozpraszacze, wpadki, powtórki"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Nie nadaje się do scen wymaganych do zrozumienia tematu"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Muzyka: Sekcja niemuzyczna"
|
||||
},
|
||||
@@ -606,12 +685,42 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Bez muzyki"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Sekcje, których nie ma w oficjalnych wydaniach"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Niemuzyczna część wystąpienia na żywo"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Wyróżnione"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "Część filmu, która interesuje większość osób. Podobne do komentarzy typu „Filmik zaczyna się od x”."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "Część filmu, której szuka większość osób"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Może pomóc pominąć kontekst"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Może pominąć do karty tytułowej lub miniaturki"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Rozdział"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "Innaczej nazwane rozdziały opisujące znaczące fragmenty filmu."
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "Nie wspominaj o nazwach sponsorów"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "Używaj większych rozdziałów dla ogólnych sekcji"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "Mniejsze rozdziały mogą być wstawione w większe"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Transmisja live: Dotacja/Czytanie wiadomości"
|
||||
},
|
||||
@@ -642,6 +751,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "Wyświetl etykietę"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Pokaż rozdziały"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Automatycznie pomiń wszystkie segmenty, gdy istnieje segment niemuzyczny"
|
||||
},
|
||||
@@ -653,7 +765,7 @@
|
||||
"description": "Referring to the category pill that is now shown on videos that are entirely sponsor or entirely selfpromo"
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Nieprzesłany kolor",
|
||||
"message": "Kolor nieprzesłanego segmentu",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
@@ -689,7 +801,7 @@
|
||||
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
|
||||
},
|
||||
"poiOnlyOneSegment": {
|
||||
"message": "Ostrzeżenie: Ten typ segmentu, może być maksymalnie jeden. Przesyłanie kilku na raz spowoduje, że pojawi się losowy."
|
||||
"message": "Ostrzeżenie: Ten typ segmentu może być maksymalnie jeden. Przesyłanie kilku na raz spowoduje, że pojawi się losowy."
|
||||
},
|
||||
"youMustSelectACategory": {
|
||||
"message": "Musisz wybrać kategorię dla każdego segmentu, który zamieszczasz!"
|
||||
@@ -697,21 +809,25 @@
|
||||
"bracketEnd": {
|
||||
"message": "(Koniec)"
|
||||
},
|
||||
"End": {
|
||||
"message": "Koniec",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "ukryty: zminusowany"
|
||||
},
|
||||
"hiddenDueToDuration": {
|
||||
"message": "ukryty: zbyt krótki"
|
||||
},
|
||||
"manuallyHidden": {
|
||||
"message": "ręcznie ukryty"
|
||||
},
|
||||
"channelDataNotFound": {
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "ID kanału nie zostało jeszcze załadowane. Jeśli używasz embeddowanego filmu, spróbuj użyć strony głównej YouTube'a. Może to być również spowodowane zmianami w layout'cie YouTube'a, jeśli myślisz, że to przez to, dodaj swój komentarz tutaj:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Wygląda na to, że coś blokuje możliwość pobierania danych o filmach przez SponsorBlock. Sprawdź proszę https://github.com/ajayyy/SponsorBlock/issues/741 po więcej informacji."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Wygląda na to, że SponsorBlock nie jest w stanie połączyć się z API YouTube. Aby to naprawić, zaakceptuj monit o pozwolenie, który pojawi się za chwilę, odczekaj kilka sekund, a następnie odśwież stronę."
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "Przeglądarka cofnęła uprawnienia potrzebne do działania na witrynach Invidious i innych witrynach stron trzecich. Kliknij poniższy przycisk, aby reaktywować to uprawnienie."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Zaakceptuj uprawnienie"
|
||||
@@ -737,6 +853,13 @@
|
||||
"downvoteDescription": {
|
||||
"message": "Niepoprawne/Zły czas"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Nieprawidłowy"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Szkodliwy",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Zmień kategorię"
|
||||
},
|
||||
@@ -772,6 +895,9 @@
|
||||
"categoryPillTitleText": {
|
||||
"message": "Cały film jest oznaczony jako ta kategoria i jest za bardzo zintegrowany, aby można było go podzielić"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "Jedna z nazw twojego rozdziału jest podobna do kategorii. Powinieneś używać kategorii, jeśli to możliwe."
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Wyłączenie wszystkich przyszłych eksperymentów",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
@@ -780,20 +906,28 @@
|
||||
"message": "Schowaj na zawsze"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Otrzymałeś ostrzeżenie i tymczasowo nie możesz przesyłać segmentów. Oznacza to, że zauważyliśmy, że popełniłeś/aś pewne powszechne błędy, które nie są złośliwe, proszę tylko potwierdzić, że rozumiesz zasady i usuniemy ostrzeżenie. Możesz również dołączyć do tego czatu używając discord.gg/SponsorBlock lub matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Zauważyliśmy, że popełniałeś pewne powszechne błędy, które nie są złośliwe"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Głosowanie odrzucone z powodu ostrzeżenia. Kliknij, aby otworzyć czat w celu rozwiązania problemu lub wróć później, gdy będziesz miał czas.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "Otrzymałeś ostrzeżenie"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "Mam pytanie"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Rozumiem powód"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Błąd podczas próby potwierdzenia ostrzeżenia:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Dotacje"
|
||||
"message": "Wesprzyj nas"
|
||||
},
|
||||
"considerDonating": {
|
||||
"message": "Wesprzyj"
|
||||
"message": "Wesprzyj rozwój wtyczki"
|
||||
},
|
||||
"hideDonationLink": {
|
||||
"message": "Ukryj Link Do Dotacji"
|
||||
"message": "Ukryj link do darowizny"
|
||||
},
|
||||
"darkModeOptionsPage": {
|
||||
"message": "Tryb ciemny na stronie opcji"
|
||||
@@ -817,10 +951,10 @@
|
||||
"message": "Za każdym razem, gdy pominiesz segment, otrzymasz powiadomienie. Jeśli moment nie wydaje się być poprawny, kliknij łapkę w dół! Możesz również głosować w okienku pop-up."
|
||||
},
|
||||
"Submitting": {
|
||||
"message": "Wysyłanie"
|
||||
"message": "Przesyłanie"
|
||||
},
|
||||
"helpPageSubmitting1": {
|
||||
"message": "Wysyłanie może być wykonane w wyskakującym okienku, poprzez kliknięcie przycisku \"Początek segmentu\" lub za pomocą przycisków na odtwarzaczu wideo."
|
||||
"message": "Zgłoszenia można dokonać w wyskakującym okienku, naciskając przycisk „Początek segmentu”, lub za pomocą przycisków w odtwarzaczu wideo."
|
||||
},
|
||||
"helpPageSubmitting2": {
|
||||
"message": "Kliknięcie przycisku odtwarzania wskazuje początek segmentu a kliknięcie ikony stop wskazuje koniec segmentu. Możesz przygotować wielu segmentów przed wysłaniem. Aby wysłać kliknij przycisk potwierdzający, a aby usunąć - na śmietnik."
|
||||
@@ -858,6 +992,9 @@
|
||||
"LearnMore": {
|
||||
"message": "Dowiedz się więcej"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Pełne szczegóły"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Daje łapkę w dół i tworzy lokalną kopię, abyś mógł przesłać poprawioną wersję"
|
||||
},
|
||||
@@ -873,6 +1010,15 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "To natychmiastowo zostanie zastosowane do twoich segmentów"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Głos przeciw"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Głos za"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Ukryj segment"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Użyj scroll'a myszy po najechaniu nad pole edycji, aby szybko dostosować czas. Kombinacje z ctrl'em i shift'em mogą być użyte, aby doszlifować zmiany."
|
||||
},
|
||||
@@ -908,7 +1054,7 @@
|
||||
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"noticeVisibilityLabel": {
|
||||
"message": "Pomiń wygląd wpisu",
|
||||
"message": "Wygląd okna pomijania",
|
||||
"description": "Option label"
|
||||
},
|
||||
"unbind": {
|
||||
@@ -923,5 +1069,113 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "To jest wbudowany skrót YouTube. Czy na pewno chcesz go użyć?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "Serwer BETA jest włączony!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Otwórz stronę ustawień"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Resetuj do ustawień domyślnych"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Czy na pewno chcesz przywrócić wszystkie ustawienia do ich domyślnych wartości? Tego nie można cofnąć."
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Eksportuj segmenty"
|
||||
},
|
||||
"Import": {
|
||||
"message": "Importuj",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "Pomyślnie zrealizowano!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "Klucz licencji jest nieprawidłowy"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "Ukryj opcje niedostępne bez dodatkowej płatności"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Wybierz kraj"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Wybierz swój kraj"
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Zaloguj się za pomocą Patreon"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "Wykorzystaj"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Wesprzyj na Patreon"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "Jednorazowy zakup"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Wprowadź klucz licencyjny"
|
||||
},
|
||||
"chapterNewFeature": {
|
||||
"message": "Nowa funkcja: niestandardowe rozdziały ze źródeł społecznościowych. Są to sekcje niestandardowo nazwane w filmach, które mogą być ustawione w sposób bardziej precyzyjny. Kup licencję, aby wyświetlić rozdziały przedstawione na tym filmie, takie jak: ",
|
||||
"description": "After the comma, a list of chapters for this video will appear"
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "Aktualnie masz {0} na {1}",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "Aktualnie nie masz żadnych nieprzesłanych segmentów",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "nieprzesłany segment",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "nieprzesłanych segmentów",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "filmie",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "filmach",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "Wyczyść wszystkie segmenty",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "Czy na pewno chcesz wyczyścić wszystkie nieprzesłane segmenty?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "Pokaż segmenty",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "Ukryj segmenty",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "ID filmu",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "Liczba segmentów",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "Akcje",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "Udostępnij jako adres URL"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,16 @@
|
||||
"Segments": {
|
||||
"message": "segmentos"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Segmentos"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Capítulos"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Renderizar segmentos como capítulos",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Votar nesse segmento positivamente"
|
||||
},
|
||||
@@ -115,6 +125,9 @@
|
||||
"SubmitTimes": {
|
||||
"message": "Enviar Segmentos"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Organizar Segmentos"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Você tem certeza que deseja enviar isto?"
|
||||
},
|
||||
@@ -164,6 +177,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "Copiar ID Pública de Usuário"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Copiar ID do segmento"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Junte-se ao servidor do discord oficial para dar dicas e sugestões!"
|
||||
},
|
||||
@@ -236,6 +252,9 @@
|
||||
"showSkipNotice": {
|
||||
"message": "Mostrar Aviso Após Um Segmento Ser Ignorado"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Mostrar Categoria de Ajuda"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Avisos de Ignorar em Tamanho Inteiro"
|
||||
},
|
||||
@@ -283,6 +302,14 @@
|
||||
"message": "Enviar Segmentos",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Próximo capítulo",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Capítulo anterior",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Pressione a tecla desejada e escolha quaisquer teclas modificadoras deseja utilizar."
|
||||
},
|
||||
@@ -381,18 +408,9 @@
|
||||
"statusReminder": {
|
||||
"message": "Verifique status.sponsor.ajay.app para o status do servidor."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Importar/Exportar seu ID de usuário"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Esta informação deve se mantida privada. Ela é como uma senha e não deve ser compartilhada. Outras pessoas poderão se passar por você caso obtenham acesso. Se estiver procurando por sua ID Pública de Usuário, clique no ícone de prancheta no popup."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Definir ID de usuário"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Atenção: A alteração do ID de usuário é permanente. Você tem certeza que deseja fazer isso? Certifique-se de fazer backup de seu ID antigo por precaução."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Criado por"
|
||||
},
|
||||
@@ -484,9 +502,6 @@
|
||||
"exportOptionsUpload": {
|
||||
"message": "Importar de um arquivo"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Essas são suas preferências no formato JSON. Isso inclui seu ID de usuário, então lembre-se de compartilhar com cuidado."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Definir Opções"
|
||||
},
|
||||
@@ -539,18 +554,43 @@
|
||||
"message": "até",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Copiado!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Inclui âncoras de transição"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Reproduzir como se nada tivesse sido pulado"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Patrocinador"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Promoção paga, referências pagas e anúncios diretos. Não deve ser usado para Auto promoção ou mensagens grátis para causas/criadores/sites/produtos que eles gostam."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Promoções pagas"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Não é para doações ou mercadoria personalizada"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Não-pago/Auto promoção"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Similar a \"patrocinador\", mas para auto promoções e segmentos não-pagos. Isso inclui seções sobre vendas, doações ou informações sobre com quem colaboraram."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Doações, programa de membros e mercadoria personalizada"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Divulgação gratuita que não acrescenta ao vídeo"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Não é para produtos de origem corporativa ou mercadorias"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Acesso Exclusivo"
|
||||
},
|
||||
@@ -561,12 +601,24 @@
|
||||
"message": "Este vídeo apresenta um produto, serviço ou local ao qual eles receberam acesso gratuito ou subsidiado",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Todo o vídeo promove algo de acesso gratuito ou subsidiado"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Lembrete de interação (inscrever-se)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Quando houver um pequeno lembrete para curtir, inscrever-se ou segui-los no meio do conteúdo. Se é longo ou sobre algo em específico, deveria ser sob Não-pago/Auto promoção."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Lembretes rápidos para curtir, inscrever ou seguir"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Inclui lembretes indiretos para comentar"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Não é para promoção geral, apenas chamado à ação"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Lembrete de interação"
|
||||
},
|
||||
@@ -579,27 +631,51 @@
|
||||
"category_intro_short": {
|
||||
"message": "Intervalo"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Intervalo sem conteúdo real"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Não é para transições com informações"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Finalização/Créditos"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Créditos ou quando os cards finais do YouTube aparecem. Não deve ser usado para conclusões informativas."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Não inclue conteúdo, mesmo que cartões de finalização estejam na tela"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Pré-visualização/Recapitulação"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Recapitulação rápida de episódios anteriores, ou uma prévia do que está chegando mais tarde no vídeo atual. Destinado a clipes editados juntos, não para resumos falados."
|
||||
"message": "Coleção de clipes que mostram o que está por vir neste vídeo ou em outros vídeos em uma série onde todas as informações são repetidas mais tarde no vídeo."
|
||||
},
|
||||
"category_preview_guideline1": {
|
||||
"message": "Clipes que aparecem mais tarde ou em um vídeo futuro"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Recapitulação de um vídeo anterior"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Não é para seções que adicionam conteúdo adicional"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Enrolação/Piadas"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Cenas tangenciais inseridas apenas por enrolação ou humor que não são necessárias para compreender o tópico principal do vídeo. Isto não deve incluir segmentos que fornecem contexto ou detalhes de segundo plano."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Enrolação"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Cenas tangenciais apenas para enrolação ou humor"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Distrações, erros de gravação, replays"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Não é para cenas necessárias para o entendimento do tópico"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Música: Seção sem música"
|
||||
},
|
||||
@@ -609,12 +685,30 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Não musical"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Seções que não estão nos lançamentos oficiais"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Sem música numa performance ao vivo"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Destaques"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "A parte do vídeo que a maioria das pessoas procura. Similar aos comentários \"Vídeo começa aos x\"."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "A seção que maioria das pessoas está procurando"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Pode pular o contexto"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Pode pular para o título ou miniatura"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Capítulo"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Livestream: Leituras de Doação/Mensagem"
|
||||
},
|
||||
@@ -713,12 +807,6 @@
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "O ID do canal ainda não foi carregado. Se você estiver usando um vídeo embutido, tente usar a página inicial do YouTube. Isso também pode ser causado por mudanças no layout do YouTube, se você achar que este é o caso, faça um comentário aqui:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Parece que algo está bloqueando a habilidade do SponsorBlock de obter dados de vídeo. Por favor, veja https://github.com/ajayyy/SponsorBlock/issues/741 para mais informações."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Parece que o SponsorBlock não foi capaz de acessar a API do YouTube. Para corrigir isso, aceite a permissão do prompt que aparecerá a seguir, espere alguns segundos, e recarregue a página."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Aceitar permissão"
|
||||
},
|
||||
@@ -785,13 +873,6 @@
|
||||
"hideForever": {
|
||||
"message": "Ocultar para sempre"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Você recebeu um aviso e não pode enviar segmentos temporariamente. Isso significa que notamos que você estava cometendo erros comuns não maliciosos, por favor confirme que você entende as regras e removeremos o aviso. Você também pode participar do chat usando discord.gg/SponsorBlock ou matrix.to/#/#sponsor:ajay.app"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Voto rejeitado devido a um aviso. Clique para abrir um chat para resolvê-lo, ou volte mais tarde quando tiver tempo.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Doar"
|
||||
},
|
||||
@@ -879,6 +960,15 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Isto irá aplicar instantaneamente seus segmentos"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Voto negativo"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Voto positivo"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Ocultar segmento"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Use a roda do mouse enquanto mantêm o cursor sobre a caixa de edição para ajustar o tempo rapidamente. Combinações das teclas ctrl e shift podem ser usadas para refinar as mudanças."
|
||||
},
|
||||
@@ -929,5 +1019,17 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Este já é um atalho padrão do YouTube. Tem certeza que deseja utilizá-lo?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "Os Servidores BETA estão ativos!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Abrir página de opções"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Redefinir configurações para o padrão"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Tem certeza de que deseja redefinir todas as configurações para os valores padrão? Essa ação não poderá ser desfeita."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
"message": "Isso já foi enviado antes"
|
||||
},
|
||||
"channelWhitelisted": {
|
||||
"message": "Canal adicionado à whitelist!"
|
||||
"message": "Canal adicionado à lista de autorizados!"
|
||||
},
|
||||
"Segment": {
|
||||
"message": "segmento"
|
||||
@@ -159,10 +159,13 @@
|
||||
"message": "Nome de Utilizador"
|
||||
},
|
||||
"setUsername": {
|
||||
"message": "Criar nomde de utilizador"
|
||||
"message": "Criar nome de utilizador"
|
||||
},
|
||||
"copyPublicID": {
|
||||
"message": "Copiar UserID Publico"
|
||||
"message": "Copiar ID público de utilizador"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Copiar ID do segmento"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Junte-se ao discord oficial para sugerir dicas e sugestões!"
|
||||
@@ -224,15 +227,274 @@
|
||||
"whatQueryByHashPrefix": {
|
||||
"message": "Em vez de solicitar segmentos do servidor usando o ID do Vídeo, são enviados os primeiros 4 caracteres do hash do ID do Vídeo. Este servidor enviará de volta dados para todos os vídeos com hashes semelhantes."
|
||||
},
|
||||
"enableRefetchWhenNotFound": {
|
||||
"message": "Recuperar segmentos em novos vídeos"
|
||||
},
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Se o vídeo for novo e nenhum segmento for encontrado, continuaremos a monitorizar enquanto assiste."
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Mostrar notificação outra vez"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Mostrar aviso após um segmento ser ignorado"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Avisos de ignorar em tamanho inteiro"
|
||||
},
|
||||
"noticeVisibilityMode1": {
|
||||
"message": "Avisos pequenos quando ignorado automaticamente"
|
||||
},
|
||||
"noticeVisibilityMode2": {
|
||||
"message": "Todos os avisos de ignorar em tamanho pequeno"
|
||||
},
|
||||
"website": {
|
||||
"message": "Site",
|
||||
"description": "Used on Firefox Store Page"
|
||||
},
|
||||
"sourceCode": {
|
||||
"message": "Código fonte",
|
||||
"message": "Código-fonte",
|
||||
"description": "Used on Firefox Store Page"
|
||||
},
|
||||
"errorCode": {
|
||||
"message": "Código de erro: "
|
||||
},
|
||||
"skip": {
|
||||
"message": "Saltar"
|
||||
},
|
||||
"mute": {
|
||||
"message": "Silenciar"
|
||||
},
|
||||
"full": {
|
||||
"message": "Vídeo completo",
|
||||
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
|
||||
},
|
||||
"skip_category": {
|
||||
"message": "Saltar {0}?"
|
||||
},
|
||||
"mute_category": {
|
||||
"message": "Silenciar {0}?"
|
||||
},
|
||||
"skip_to_category": {
|
||||
"message": "Avançar para {0}?",
|
||||
"description": "Used for skipping to things (Skip to Highlight)"
|
||||
},
|
||||
"skipped": {
|
||||
"message": "{0} ignorado",
|
||||
"description": "Example: Sponsor Skipped"
|
||||
},
|
||||
"muted": {
|
||||
"message": "{0} silenciado",
|
||||
"description": "Example: Sponsor Muted"
|
||||
},
|
||||
"minLower": {
|
||||
"message": "minuto"
|
||||
},
|
||||
"minsLower": {
|
||||
"message": "minutos"
|
||||
},
|
||||
"hourLower": {
|
||||
"message": "hora"
|
||||
},
|
||||
"hoursLower": {
|
||||
"message": "horas"
|
||||
},
|
||||
"youHaveSavedTime": {
|
||||
"message": "Poupou pessoas de",
|
||||
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
|
||||
},
|
||||
"youHaveSavedTimeEnd": {
|
||||
"message": " das suas vidas",
|
||||
"description": "You've saved people from 887,362 segments (236d 15h 5.3 minutes of their lives)."
|
||||
},
|
||||
"areYouSureReset": {
|
||||
"message": "Tem certeza que deseja redefinir?"
|
||||
},
|
||||
"mobileUpdateInfo": {
|
||||
"message": "m.youtube.com é agora suportado"
|
||||
},
|
||||
"exportOptions": {
|
||||
"message": "Importar/Exportar todas as opções"
|
||||
},
|
||||
"exportOptionsCopy": {
|
||||
"message": "Editar/copiar"
|
||||
},
|
||||
"exportOptionsDownload": {
|
||||
"message": "Guardar num ficheiro"
|
||||
},
|
||||
"exportOptionsUpload": {
|
||||
"message": "Carregar a partir de ficheiro"
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Definir opções"
|
||||
},
|
||||
"submit": {
|
||||
"message": "Enviar"
|
||||
},
|
||||
"cancel": {
|
||||
"message": "Cancelar"
|
||||
},
|
||||
"delete": {
|
||||
"message": "Eliminar"
|
||||
},
|
||||
"preview": {
|
||||
"message": "Pré-visualizar"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Inspecionar"
|
||||
},
|
||||
"edit": {
|
||||
"message": "Editar"
|
||||
},
|
||||
"copyDebugInformation": {
|
||||
"message": "Copiar informações de depuração para a área de transferência"
|
||||
},
|
||||
"copyDebugInformationFailed": {
|
||||
"message": "Falha ao copiar para a área de transferência"
|
||||
},
|
||||
"to": {
|
||||
"message": "até",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Reproduz como se nada tivesse sido ignorado"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Patrocinador"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Acesso exclusivo"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Lembrete de interação"
|
||||
},
|
||||
"category_livestream_messages_short": {
|
||||
"message": "Leitura de mensagens"
|
||||
},
|
||||
"autoSkip": {
|
||||
"message": "Saltar automaticamente"
|
||||
},
|
||||
"manualSkip": {
|
||||
"message": "Saltar manualmente"
|
||||
},
|
||||
"disable": {
|
||||
"message": "Desativar"
|
||||
},
|
||||
"category": {
|
||||
"message": "Categoria"
|
||||
},
|
||||
"bracketNow": {
|
||||
"message": "(agora)"
|
||||
},
|
||||
"moreCategories": {
|
||||
"message": "Mais categorias"
|
||||
},
|
||||
"chooseACategory": {
|
||||
"message": "Escolher uma categoria"
|
||||
},
|
||||
"bracketEnd": {
|
||||
"message": "(fim)"
|
||||
},
|
||||
"manuallyHidden": {
|
||||
"message": "ocultado manualmente"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Alterar categoria"
|
||||
},
|
||||
"guidelines": {
|
||||
"message": "Orientações"
|
||||
},
|
||||
"readTheGuidelines": {
|
||||
"message": "Leia as nossas orientações!!",
|
||||
"description": "Show the first time they submit or if they are \"high risk\""
|
||||
},
|
||||
"darkModeOptionsPage": {
|
||||
"message": "Modo escuro na página de opções"
|
||||
},
|
||||
"helpPageThanksForInstalling": {
|
||||
"message": "Obrigado por instalar o SponsorBlock."
|
||||
},
|
||||
"helpPageReviewOptions": {
|
||||
"message": "Por favor, reveja as opções abaixo"
|
||||
},
|
||||
"helpPageHowSkippingWorks": {
|
||||
"message": "Como a função saltar funciona"
|
||||
},
|
||||
"Submitting": {
|
||||
"message": "A enviar"
|
||||
},
|
||||
"Editing": {
|
||||
"message": "A editar"
|
||||
},
|
||||
"helpPageTooSlow": {
|
||||
"message": "Está demasiado lento"
|
||||
},
|
||||
"Credits": {
|
||||
"message": "Créditos"
|
||||
},
|
||||
"LearnMore": {
|
||||
"message": "Saber mais"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Todos os detalhes"
|
||||
},
|
||||
"CopyAndDownvote": {
|
||||
"message": "Copiar e dar voto negativo"
|
||||
},
|
||||
"ContinueVoting": {
|
||||
"message": "Continuar a votar"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Voto negativo"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Voto positivo"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Ocultar segmento"
|
||||
},
|
||||
"dayAbbreviation": {
|
||||
"message": "d",
|
||||
"description": "100d"
|
||||
},
|
||||
"hourAbbreviation": {
|
||||
"message": "h",
|
||||
"description": "100h"
|
||||
},
|
||||
"optionsTabBehavior": {
|
||||
"message": "Comportamento",
|
||||
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabInterface": {
|
||||
"message": "Interface",
|
||||
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabKeyBinds": {
|
||||
"message": "Atalhos de teclado",
|
||||
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabBackup": {
|
||||
"message": "Cópia de seg./restauro",
|
||||
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabAdvanced": {
|
||||
"message": "Diversos",
|
||||
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"unbind": {
|
||||
"message": "Desvincular",
|
||||
"description": "Unbind keyboard shortcut"
|
||||
},
|
||||
"notSet": {
|
||||
"message": "Não definido"
|
||||
},
|
||||
"change": {
|
||||
"message": "Alterar"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "O servidor BETA está ativado!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Abrir página de opções"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,6 +52,9 @@
|
||||
"reskip": {
|
||||
"message": "Sari peste"
|
||||
},
|
||||
"unmute": {
|
||||
"message": "Activare sunet"
|
||||
},
|
||||
"paused": {
|
||||
"message": "Pauză"
|
||||
},
|
||||
@@ -79,9 +82,15 @@
|
||||
"sponsorEnd": {
|
||||
"message": "Segmentul se termină acum"
|
||||
},
|
||||
"sponsorCancel": {
|
||||
"message": "Anulare creare segment"
|
||||
},
|
||||
"noVideoID": {
|
||||
"message": "Nu s-a găsit niciun videoclip YouTube.\nDacă acest lucru este incorect, actualizați fila."
|
||||
},
|
||||
"refreshSegments": {
|
||||
"message": "Reîmprospătare segmente"
|
||||
},
|
||||
"success": {
|
||||
"message": "Succes!"
|
||||
},
|
||||
@@ -152,6 +161,12 @@
|
||||
"setUsername": {
|
||||
"message": "Setează Numele De Utilizator"
|
||||
},
|
||||
"copyPublicID": {
|
||||
"message": "Copiază ID-Utilizator Public"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Copiază ID-ul Segmentului"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Vino și alătură-te serverului oficial de discord pentru a oferi sugestii și feedback!"
|
||||
},
|
||||
@@ -170,12 +185,18 @@
|
||||
"hideButtonsDescription": {
|
||||
"message": "Asta ascunde butoanele ce apar pe playerul de YouTube pentru a trimite segmente."
|
||||
},
|
||||
"showSkipButton": {
|
||||
"message": "Păstrează Butonul de Sari Peste Secțiunea Evidențiată În Player"
|
||||
},
|
||||
"showInfoButton": {
|
||||
"message": "Arată Butoanele De Informații Pe Playerul De YouTube"
|
||||
},
|
||||
"hideInfoButton": {
|
||||
"message": "Ascunde Butoanele De Informații Pe Playerul De YouTube"
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Ascunde Automat Butonul De Info"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Ascunde Butonul De Ștergere Pe Playerul De YouTube"
|
||||
},
|
||||
@@ -188,6 +209,18 @@
|
||||
"whatViewTracking": {
|
||||
"message": "Acest lucru urmărește peste ce segmente ai sărit pentru a informa utilizatorii cât de mult înregistrările lor i-au ajutat pe alții și este folosit ca un contor împreună cu upvoturile pentru a ne asigura că spamul nu pătrunde în baza de date. Extensia trimite un mesaj serverului de fiecare dată când sari peste un segment. Sperăm că majoritatea oamenilor nu vor schimba această setare astfel că numerele să fie exacte. :)"
|
||||
},
|
||||
"enableViewTrackingInPrivate": {
|
||||
"message": "Activează Monitorizarea Numărului de Segmente Omise în Ferestre Private/Incognito"
|
||||
},
|
||||
"enableTrackDownvotes": {
|
||||
"message": "Stochează Segmente Downvotuite"
|
||||
},
|
||||
"whatTrackDownvotes": {
|
||||
"message": "Segmentele la care ați dat downvote vor rămâne ascunse chiar si după reîncărcarea paginii"
|
||||
},
|
||||
"trackDownvotesWarning": {
|
||||
"message": "Atenție: Dezactivarea acestei opțiuni va șterge toate downvote-urile stocate anterior"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "Interogare după Prefix Hash"
|
||||
},
|
||||
@@ -206,6 +239,24 @@
|
||||
"showSkipNotice": {
|
||||
"message": "Arată o notificare după ce un segment este sărit"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Afișează Categoria de Ajutor"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Notificări de Omiteri de Dimensiune Originală"
|
||||
},
|
||||
"noticeVisibilityMode1": {
|
||||
"message": "Notificări de Omiteri de Dimensiune Mică Pentru Omiteri Automate"
|
||||
},
|
||||
"noticeVisibilityMode2": {
|
||||
"message": "Toate Notificările de Omiteri de Dimensiune Mică"
|
||||
},
|
||||
"noticeVisibilityMode3": {
|
||||
"message": "Notificări Estompate pentru Omiteri Automate"
|
||||
},
|
||||
"noticeVisibilityMode4": {
|
||||
"message": "Toate Notificările de Omiteri Estompate"
|
||||
},
|
||||
"longDescription": {
|
||||
"message": "SponsorBlock vă permite să săriți peste sponsori, intro, outros, memento-uri pentru abonament și alte părți enervante ale videoclipurilor YouTube SponsorBlock este o extensie crowdsourced de browser, care hai să trimită oricui timpul de început și de sfârșit pentru segmente sponsorizate și alte segmente de videoclipuri YouTube. Odată ce o persoană transmite aceste informații, toți ceilalți cu această extensie vor sări peste segmentul sponsorizat. De asemenea, poți sări peste secțiunile non-muzicale ale videoclipurilor.",
|
||||
"description": "Full description of the extension on the store pages."
|
||||
@@ -226,6 +277,21 @@
|
||||
"message": "Dacă nu îți place, apasă butonul nu mai arăta niciodată.",
|
||||
"description": "The second line of the message displayed after the notice was upgraded."
|
||||
},
|
||||
"setSkipShortcut": {
|
||||
"message": "Sari peste segment",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"setStartSponsorShortcut": {
|
||||
"message": "Pornește/oprește segmentul",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "Predă segmentele",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Selectează o tastă prin a o tasta, și alege orice taste modificatoare pe care dorești să o folosești."
|
||||
},
|
||||
"0": {
|
||||
"message": "Eroare de Conexiune. Verifică-ți conexiunea la internet. Daca internetul functionează, serverul este probabil supraîncărcat sau a căzut."
|
||||
},
|
||||
@@ -248,9 +314,35 @@
|
||||
"skip": {
|
||||
"message": "Sari"
|
||||
},
|
||||
"mute": {
|
||||
"message": "Mut"
|
||||
},
|
||||
"full": {
|
||||
"message": "Întregul Videoclip",
|
||||
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
|
||||
},
|
||||
"skip_category": {
|
||||
"message": "Omiteți {0}?"
|
||||
},
|
||||
"mute_category": {
|
||||
"message": "Mut {0}?"
|
||||
},
|
||||
"skip_to_category": {
|
||||
"message": "Sari la {0}?",
|
||||
"description": "Used for skipping to things (Skip to Highlight)"
|
||||
},
|
||||
"skipped": {
|
||||
"message": "Sărit peste {0}",
|
||||
"description": "Example: Sponsor Skipped"
|
||||
},
|
||||
"muted": {
|
||||
"message": "{0} pus pe mut",
|
||||
"description": "Example: Sponsor Muted"
|
||||
},
|
||||
"skipped_to_category": {
|
||||
"message": "Sărit la {0}",
|
||||
"description": "Used for skipping to things (Skipped to Highlight)"
|
||||
},
|
||||
"disableAutoSkip": {
|
||||
"message": "Dezactivează Autoskip"
|
||||
},
|
||||
@@ -295,21 +387,28 @@
|
||||
"statusReminder": {
|
||||
"message": "Verificați status.sponsor.ajay.app pentru starea serverului."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Importă/Exportă Id-ul Tău De Utilizator"
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Setează Id-ul Utilizatorului"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Atenție: Schimbarea Id-ului Utilizatorului este permanentă. Sunteți sigur că doriți să faceți asta? Asigurați-vă că ați făcut o copie de rezervă."
|
||||
"whatChangeUserID": {
|
||||
"message": "Aceste informații sunt private și nu ar trebui să fie dezvăluite nimănui. Dacă cineva are aceste informații, pot fi folosite pentru a vă imita. În cazul în care vă căutați ID-ul public de utilizator, dați click pe icoana de clipboard din popup."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Creat De"
|
||||
},
|
||||
"supportOtherSites": {
|
||||
"message": "Sprijină Site-uri YouTube 3rd Party"
|
||||
},
|
||||
"supportOtherSitesDescription": {
|
||||
"message": "Sprijină Clienți YouTube 3rd party. Pentru a activa setarea, trebuie să acceptați permisiunile suprimentare. Această funcție NU funcționează în incognito pe Chrome sau în alte variante Chromium.",
|
||||
"description": "This replaces the 'supports Invidious' option because it now works on other YouTube sites such as Cloudtube"
|
||||
},
|
||||
"supportedSites": {
|
||||
"message": "Site-uri cu Sprijin: "
|
||||
},
|
||||
"optionsInfo": {
|
||||
"message": "Activează suportul Invidious, dezactivează autoskip-ul, ascunde butoanele și altele."
|
||||
},
|
||||
"addInvidiousInstance": {
|
||||
"message": "Adaugă Instanță pentru clienți 3rd-party"
|
||||
},
|
||||
"add": {
|
||||
"message": "Adaugă"
|
||||
},
|
||||
@@ -331,6 +430,9 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Segmentele mai scurte decât valoarea setată nu vor fi omise sau afișate în player."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Durata notificărilor de omitere (secunde):"
|
||||
},
|
||||
"shortCheck": {
|
||||
"message": "Următoarea înregistrare este mai mică decât opțiunea voastră de durată minimă. Acest lucru ar putea însemna că a fost deja trimisă și a fost ignorat datorită acestei opțiuni. Sunteți sigur că doriți să trimiteți?"
|
||||
},
|
||||
@@ -361,8 +463,14 @@
|
||||
"exportOptions": {
|
||||
"message": "Importă/Exportă Toate Opțiunile"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Aceasta este întreaga configurație în format JSON. Asta include si ID-ul tău de utilizator, așa că fi sigur să împărtășești asta cu înțelepciune."
|
||||
"exportOptionsCopy": {
|
||||
"message": "Editare/Copiere"
|
||||
},
|
||||
"exportOptionsDownload": {
|
||||
"message": "Salvează în Fișier"
|
||||
},
|
||||
"exportOptionsUpload": {
|
||||
"message": "Încarcă din fișier"
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Setează Opțiuni"
|
||||
@@ -388,6 +496,9 @@
|
||||
"preview": {
|
||||
"message": "Previzualizare"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "Nepredat"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Inspectează"
|
||||
},
|
||||
@@ -416,12 +527,27 @@
|
||||
"category_sponsor_description": {
|
||||
"message": "Promovare plătită, refferali plătiți și reclame directe. Nu pentru autopromovări sau promovări gratis ale cauzelor/creatorilor/website-urilor/produselor."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Promoții plătite"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Nu este pentru donații sau mărfuri personalizate"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Promovare neplătită/autopromovare"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Similar cu \"sponsorizare\" doar că este neplătit sau autopromovare. Aceasta include secțiuni despre merchandise, donații, sau informații despre cei cu care au colaborat."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Donații, abonamente și mărfuri personalizate"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Mențiuni neplătite care nu ajută videoclipul"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Acces Exclusiv"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Reamintire de Interactiune (Abonare)"
|
||||
},
|
||||
@@ -446,6 +572,9 @@
|
||||
"category_outro_description": {
|
||||
"message": "Credite sau atunci când apare ecranul de final YouTube. Nu pentru concluzii cu informații."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Materiale de umplutură"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Muzică: Secţiune Non-Muzicală"
|
||||
},
|
||||
@@ -470,6 +599,14 @@
|
||||
"disable": {
|
||||
"message": "Dezactivare"
|
||||
},
|
||||
"fullVideoSegments": {
|
||||
"message": "Arată o icoană atunci când un videoclip este în întregime o reclamă",
|
||||
"description": "Referring to the category pill that is now shown on videos that are entirely sponsor or entirely selfpromo"
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Culoare Nepredată",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
"message": "Culoarea Barei de Derulare"
|
||||
},
|
||||
@@ -502,6 +639,9 @@
|
||||
"message": "Pentru a trimite segmente cu categoria \"{0}\", trebuie să o activați în opțiuni. Veți fi redirecționat către opțiuni acum.",
|
||||
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
|
||||
},
|
||||
"poiOnlyOneSegment": {
|
||||
"message": "Atenție: Acest tip de segment poate avea un singur segment activ. Predarea mai multor segmente va cauza un segment aleatoriu să fie afișat."
|
||||
},
|
||||
"youMustSelectACategory": {
|
||||
"message": "Trebuie să selectaţi o categorie pentru toate segmentele pe care le trimiteţi!"
|
||||
},
|
||||
@@ -514,6 +654,12 @@
|
||||
"hiddenDueToDuration": {
|
||||
"message": "ascuns: prea scurt"
|
||||
},
|
||||
"manuallyHidden": {
|
||||
"message": "ascuns manual"
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Acceptă permisiunea"
|
||||
},
|
||||
"forceChannelCheck": {
|
||||
"message": "Forțează verificarea canalului înainte de a sări"
|
||||
},
|
||||
@@ -544,5 +690,61 @@
|
||||
},
|
||||
"categoryUpdate2": {
|
||||
"message": "Deschide opțiunile pentru a sări peste intro-uri, outro-uri, merch, etc."
|
||||
},
|
||||
"Credits": {
|
||||
"message": "Contribuții"
|
||||
},
|
||||
"LearnMore": {
|
||||
"message": "Află mai multe"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Detalii Complete"
|
||||
},
|
||||
"CopyAndDownvote": {
|
||||
"message": "Copiază și dă downvote"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Downvote"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Upvote"
|
||||
},
|
||||
"dayAbbreviation": {
|
||||
"message": "zile",
|
||||
"description": "100d"
|
||||
},
|
||||
"hourAbbreviation": {
|
||||
"message": "ore",
|
||||
"description": "100h"
|
||||
},
|
||||
"optionsTabBehavior": {
|
||||
"message": "Comportament",
|
||||
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabInterface": {
|
||||
"message": "Interfață",
|
||||
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabKeyBinds": {
|
||||
"message": "Shortcut-uri pentru taste",
|
||||
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabBackup": {
|
||||
"message": "Backup/Restaurare",
|
||||
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabAdvanced": {
|
||||
"message": "Diverse",
|
||||
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"noticeVisibilityLabel": {
|
||||
"message": "Aspectul notificării de omiteri",
|
||||
"description": "Option label"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Resetați setările la valori implicite"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Ești sigur că vrei sa resetezi toate setările la valorile lor implicite? Această acțiune nu poate fi anulată."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,19 @@
|
||||
"Segments": {
|
||||
"message": "сегментов"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Сегменты"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Эпизоды"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Отображать сегменты как эпизоды",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"showSegmentNameInChapterBar": {
|
||||
"message": "Показывать название текущего сегмента рядом со временем"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Проголосовать за этот сегмент"
|
||||
},
|
||||
@@ -112,9 +125,15 @@
|
||||
"closePopup": {
|
||||
"message": "Закрыть окно"
|
||||
},
|
||||
"closeIcon": {
|
||||
"message": "Кнопка закрытия"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Отправить сегменты"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Сортировать сегменты"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Вы уверены, что хотите это отправить?"
|
||||
},
|
||||
@@ -144,7 +163,7 @@
|
||||
"description": "Appears in the popup to inform them that editing has been moved to the video player."
|
||||
},
|
||||
"popupHint": {
|
||||
"message": "Подсказка: Вы можете настроить сочетания клавиш для отправки в опциях"
|
||||
"message": "Подсказка: Вы можете настроить сочетания клавиш для отправки в настройках"
|
||||
},
|
||||
"clearTimesButton": {
|
||||
"message": "Очистить время"
|
||||
@@ -164,6 +183,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "Копировать публичный UserID"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Копировать ID сегмента"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Присоединяйтесь к официальному серверу Discord, чтобы оставить предложения и обратную связь!"
|
||||
},
|
||||
@@ -230,12 +252,21 @@
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Если видео новое и для него не найдено сегментов, то информация о них будет обновляться каждые пару минут, пока вы смотрите видео."
|
||||
},
|
||||
"enableShowCategoryWithoutPermission": {
|
||||
"message": "Показывать категории в меню отправки даже без разрешения на публикацию"
|
||||
},
|
||||
"whatShowCategoryWithoutPermission": {
|
||||
"message": "Некоторые категории требуют разрешения для отправки из-за минимальных требований к репутации"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Показать уведомление снова"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Показывать уведомление после пропуска сегмента"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Показать справку для категории"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Полноразмерные уведомления о пропусках"
|
||||
},
|
||||
@@ -283,6 +314,14 @@
|
||||
"message": "Отправить сегменты",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Следующий эпизод",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Предыдущий эпизод",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Нажмите на любую кнопку, чтобы выбрать её, а так же выберите модификаторы, если нужно."
|
||||
},
|
||||
@@ -382,16 +421,16 @@
|
||||
"message": "Смотрите состояние сервера на status.sponsor.ajay.app."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Импорт/Экспорт Вашего идентификатора пользователя"
|
||||
"message": "Импорт/Экспорт приватного UserID"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Держите его в тайне. Относитесь к нему как к паролю и не передавайте никому. Если кто-то им завладеет, то сможет выдать себя за вас. Если вы ищете публичный ID пользователя, нажмите значок буфера обмена во всплывающем окне."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Установить идентификатор пользователя"
|
||||
"message": "Установить приватный UserID"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Внимание: изменение идентификатора пользователя необратимо. Вы действительно хотите это сделать? Сделайте резервную копию на всякий случай."
|
||||
"message": "Внимание: изменение приватного UserID необратимо. Вы действительно хотите это сделать? Сделайте резервную копию на всякий случай."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Создано"
|
||||
@@ -436,6 +475,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Сегменты короче этого значения не будут пропускаться и не будут показаны в плеере."
|
||||
},
|
||||
"enableManualSkipOnFullVideo": {
|
||||
"message": "Использовать пропуск вручную, когда видео помечено целиком"
|
||||
},
|
||||
"whatManualSkipOnFullVideo": {
|
||||
"message": "Для тех, кто хочет просматривать полностью проспонсированные или саморекламные видео без автоматических пропусков."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Длительность отображения окошка о пропуске (в секундах):"
|
||||
},
|
||||
@@ -485,7 +530,7 @@
|
||||
"message": "Загрузить из файла"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Все настройки в формате JSON. Этот файл содержит Ваш идентификатор пользователя, будьте осторожны когда делитесь этими данными."
|
||||
"message": "Все настройки в формате JSON. Этот файл содержит Ваш приватный UserID, будьте осторожны когда делитесь этими данными."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Параметры установки"
|
||||
@@ -539,18 +584,43 @@
|
||||
"message": "до",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Скопировано!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Содержит плавный переход от одной темы к другой"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Пропуск должен произойти незаметно"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Спонсор"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Рекламные интеграции, реферальные ссылки и реклама напрямую. Не для саморекламы или рекомендаций разных событий/создателей/сайтов/продуктов, которые нравятся автору видео."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Реклама"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Не для доната или мерчендайза"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Самореклама/рекомендация"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Похоже на \"Спонсора\", но для бесплатной рекламы и саморекламы. Включает себя вставки про мерчендайз, пожертвования или информацию о тех, вместе с кем было сделано видео."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Донаты, платное членство и мерчендайз"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Рекомендации, не добавляющие контекста видео"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Не для корпоративной продукции"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Эксклюзивный доступ"
|
||||
},
|
||||
@@ -561,12 +631,24 @@
|
||||
"message": "Это видео демонстрирует продукт, сервис или местоположение, к которому автор получил бесплатный или проспонсированный доступ",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Всё видео - демонстрация чего-либо, к чему авторам был дан эксклюзивный доступ"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Напоминание о взаимодействии (подписка)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Когда есть краткое напоминание поставить лайк, подписаться на канал или в соцсетях в середине содержимого. Если эта вставка длительная или о чём-то конкретном, она должна классифицироваться как самореклама."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Краткие напоминания поставить лайк, подписаться или нажать на колокольчик"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Включает косвенные предложения оставить комментарий"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Не для рекламы, только призывы к действию"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Напоминание о взаимодействии"
|
||||
},
|
||||
@@ -579,27 +661,54 @@
|
||||
"category_intro_short": {
|
||||
"message": "Заставка"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Сегмент без контента"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Не для переходных сегментов с информацией"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Конечная заставка/титры"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Титры или время появления конечных заставок YouTube. Не для подведения итогов сказанного в видео."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Не для сегментов с контентом, даже если на видео показываются конечные заставки"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Предпросмотр/краткое содержание"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Краткое содержание предыдущих эпизодов или предварительный просмотр того, что будет в данном видео. Предназначено для сегментов, смонтированных из кусков видео, а не для устных пересказов."
|
||||
"message": "Коллекция клипов, которые показывают, что происходит в этом видео или других эпизодах, все клипы позже повторяются в видео."
|
||||
},
|
||||
"category_preview_guideline1": {
|
||||
"message": "Фрагменты, которые появляются позже или в будущем видео"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Пересказ предыдущего видео"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Не для сегментов с дополнительным контентом"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Заполнение отвлечёнными темами/шутками"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Сегменты, которые увеличивают длительность видео за счёт отвлечённых тем или шуток, но не требуются для понимания основного содержания. Не должно иметь сегментов, объясняющие контекст или предысторию."
|
||||
"message": "Сегменты, которые увеличивают длительность видео за счёт отвлечённых тем или шуток, но не требуются для понимания основного содержания. Не должно иметь сегментов, объясняющих контекст или предысторию. Это очень агрессивная категория, используется тогда, когда вам не до \"веселья\"."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Заполнитель"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Сцены с отвлечёнными темами или шутками"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Разговоры не по теме, неудачные дубли, повторы"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Не для сегментов, необходимых для понимания темы"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Музыка: Сегмент без музыки"
|
||||
},
|
||||
@@ -609,12 +718,42 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Без музыки"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Сегменты, не включённые в официальные релизы"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Сегменты без музыки во время живого выступления"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Важное"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "Часть видео, которую ищет большинство людей. По сути заменяет комментарии типа \"Видео начинается с x:xx\"."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "Момент, который будет интересен большинству людей"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Может помочь пропустить контекст"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Может пропустить до объекта заголовка или превью"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Эпизод"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "Пользовательские названия эпизодов, описывающие основные разделы видео."
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "Не упоминайте названия спонсорских брендов"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "Используйте длинные эпизоды для разделов на общие темы"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "Короткие эпизоды могут быть помещены внутри длинных"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Прямые трансляции: пожертвование/чтение сообщения"
|
||||
},
|
||||
@@ -645,6 +784,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "Показывать категорию"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Показывать эпизоды"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Пропускать все сегменты автоматически при наличии сегмента без музыки"
|
||||
},
|
||||
@@ -700,6 +842,10 @@
|
||||
"bracketEnd": {
|
||||
"message": "(Конец)"
|
||||
},
|
||||
"End": {
|
||||
"message": "Конец",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "скрыто: проголосовали против"
|
||||
},
|
||||
@@ -713,11 +859,8 @@
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "ID канала еще не загружен. Если вы используете встроенное видео, попробуйте вместо этого воспользоваться домашней страницей YouTube. Это также может быть вызвано изменениями в дизайне YouTube, если вы считаете, что это так, оставьте комментарий здесь:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Похоже, что-то блокирует возможность SponsorBlock'а получать данные о видео. Подробнее: https://github.com/ajayyy/SponsorBlock/issues/741."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Кажется, SponsorBlock не может получить доступ к API YouTube. Чтобы исправить эту ошибку, дайте разрешение в окне, которое сейчас появится, подождите несколько секунд и затем перезагрузите страницу."
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "Браузер отозвал разрешение, необходимое для работы на Invidious и других сторонних сайтах. Пожалуйста, нажмите на кнопку ниже, чтобы восстановить это разрешение."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Дать разрешение"
|
||||
@@ -735,7 +878,7 @@
|
||||
"message": "Принудительная проверка каналов перед пропуском"
|
||||
},
|
||||
"whatForceChannelCheck": {
|
||||
"message": "По умолчанию расширение пропускает сегменты сразу же, не проверяя то, какой это канал. По умолчанию некоторые сегменты в начале видео могут быть пропущены на каналах из белого списка. Включение этой опции предотвратит это, но все пропуски будут иметь небольшую задержку, так как получение ID канала может занять некоторое время. Эта задержка может быть незаметной, если у вас быстрый интернет."
|
||||
"message": "По умолчанию расширение пропускает сегменты сразу же, не проверяя то, какой это канал. По умолчанию некоторые сегменты в начале видео могут быть пропущены на каналах из белого списка. Включение этой настройки предотвратит это, но все пропуски будут иметь небольшую задержку, так как получение ID канала может занять некоторое время. Эта задержка может быть незаметной, если у вас быстрый интернет."
|
||||
},
|
||||
"forceChannelCheckPopup": {
|
||||
"message": "Рекомендуем включить \"Принудительная проверка каналов перед пропуском\""
|
||||
@@ -743,6 +886,13 @@
|
||||
"downvoteDescription": {
|
||||
"message": "Не нужен/неверно указано время"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Неверно"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Оскорбительно",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Изменить категорию"
|
||||
},
|
||||
@@ -778,6 +928,9 @@
|
||||
"categoryPillTitleText": {
|
||||
"message": "Данная категория применена для всего видео, так как она тесно интегрирована в видео"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "Название одного из ваших эпизодов похоже на категорию. Постарайтесь использовать категории когда возможно."
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Отказаться от всех будущих экспериментов",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
@@ -786,11 +939,19 @@
|
||||
"message": "Скрыть навсегда"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Вы получили предупреждение и временно не можете отправлять сегменты. Мы заметили, что вы совершали распространенные ошибки, которые не были злонамеренными. Пожалуйста, подтвердите, что вы прочитали правила и предупреждение будет удалено. Вы также можете присоединиться к нашему чату, используя discord.gg/SponsorBlock или matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Мы заметили, что вы совершаете распространённые и не злонамеренные ошибки"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Голосование отклонено из-за предупреждения. Нажмите, чтобы открыть чат, где вы можете решить проблему, или вернитесь, когда у вас будет время.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "Вы получили предупреждение"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "У меня есть вопрос"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Я понимаю причину"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Не удалось подтвердить предупреждение:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Пожертвовать"
|
||||
@@ -864,6 +1025,9 @@
|
||||
"LearnMore": {
|
||||
"message": "Узнать больше"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Полная информация"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Голосует против и создаёт локальную копию сегмента для повторной отправки"
|
||||
},
|
||||
@@ -879,6 +1043,21 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Это мгновенно применится к вашим сегментам"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Голос «против»"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Голос «за»"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Скрыть сегмент"
|
||||
},
|
||||
"skipSegment": {
|
||||
"message": "Пропустить сегмент"
|
||||
},
|
||||
"playChapter": {
|
||||
"message": "Воспроизвести эпизод"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Наведите курсор на поле редактирования и используйте колесо мыши для быстрой настройки времени. Клавиши Ctrl или Shift могут быть использованы для точной настройки."
|
||||
},
|
||||
@@ -929,5 +1108,140 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Это сочетание используется на сайте YouTube. Вы уверены, что хотите его использовать?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "Используется BETA сервер!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Открыть страницу настроек"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Восстановить настройки по умолчанию"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Вы уверены, что вы хотите восстановить настройки по умолчанию? Это действие не может быть отменено."
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Экспортировать сегменты"
|
||||
},
|
||||
"importSegments": {
|
||||
"message": "Импортировать сегменты"
|
||||
},
|
||||
"Import": {
|
||||
"message": "Импортировать",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "Купон активирован!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "Ключ лицензии недействителен"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "Скрыть опции, не доступные без дополнительной платы"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Выберите страну"
|
||||
},
|
||||
"noDiscount": {
|
||||
"message": "Вы не подпадаете под условия скидки"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "Ссылка на скидку (смотрите розовую цену)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Выберите вашу страну"
|
||||
},
|
||||
"alreadyDonated": {
|
||||
"message": "Если вы когда-то жертвовали любую сумму, вы можете получить доступ, отправив электронное письмо сюда:",
|
||||
"description": "After the colon is an email address"
|
||||
},
|
||||
"cantAfford": {
|
||||
"message": "Если вы не можете позволить себе приобрести лицензию, нажмите {сюда}, чтобы узнать, имеете ли вы право на скидку",
|
||||
"description": "Keep the curly braces. The word 'here' should be translated as well."
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Войти через Patreon"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "Использовать"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Подписаться на Patreon"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "Единоразовая покупка"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Введите лицензионный ключ"
|
||||
},
|
||||
"chaptersPage1": {
|
||||
"message": "Функция SponsorBlock \"эпизоды от сообщества\" доступна только для тех, кто приобрёл лицензию, и тех, кому был предоставлен бесплатный доступ благодаря их прошлым вкладам"
|
||||
},
|
||||
"chaptersPage2": {
|
||||
"message": "Примечание: разрешение на отправку эпизодов все еще основывается на рассчитываемой репутации. Приобретая лицензию, вы можете просматривать только эпизоды, отправленные другими",
|
||||
"description": "On the chapters page for getting access to the paid chapters feature"
|
||||
},
|
||||
"chapterNewFeature": {
|
||||
"message": "Новая функция: эпизоды от сообщества. Это разделы видео с пользовательскими названиями, которые могут быть помещены внутри других эпизодов для более точной разметки. Приобретите лицензию, чтобы видеть названия эпизодов, как, например, эпизоды в этом видео: ",
|
||||
"description": "After the comma, a list of chapters for this video will appear"
|
||||
},
|
||||
"chapterNewFeature2": {
|
||||
"message": "Новая функция: эпизоды от сообщества. Это разделы видео с пользовательскими названиями, которые могут быть помещены внутри других эпизодов для более точной разметки. У вас есть бесплатный доступ к этой функции, включите её в настройках."
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "Сейчас у вас есть {0} в {1}",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "В настоящее время у вас нет неопубликованных сегментов",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "неопубликованный сегмент",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "неопубликованных сегмент(-а, -ов)",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "видео",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "видео",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "Очистить все сегменты",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "Вы уверены, что хотите очистить все неопубликованные сегменты?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "Показать сегменты",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "Скрыть сегменты",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "ID видео",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "Количество сегментов",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "Действия",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "Поделиться ссылкой"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,19 @@
|
||||
"Segments": {
|
||||
"message": "segmentov"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Segmenty"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Kapitoly"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Zobraziť segmenty ako kapitoly",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"showSegmentNameInChapterBar": {
|
||||
"message": "Zobraziť aktuálny segment vedľa času videa"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Hlasovať pre tento príspevok"
|
||||
},
|
||||
@@ -112,6 +125,9 @@
|
||||
"closePopup": {
|
||||
"message": "Zavrieť okno"
|
||||
},
|
||||
"closeIcon": {
|
||||
"message": "Ikona pre zatvorenie"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Odoslať segmenty"
|
||||
},
|
||||
@@ -164,6 +180,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "Skopírovať verejné ID používateľa"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Skopírovať ID segmentu"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Pripojte sa k oficiálnemu Discord serveru a zanechajte nám pripomienky!"
|
||||
},
|
||||
@@ -221,12 +240,21 @@
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Ak je video nové a nenašli sa žiadne segmenty, opakovane sa budú každých pár minút načítavať kým sa video prehráva."
|
||||
},
|
||||
"enableShowCategoryWithoutPermission": {
|
||||
"message": "Zobraziť kategórie v odosielacom menu aj bez oprávnenia na odosielanie"
|
||||
},
|
||||
"whatShowCategoryWithoutPermission": {
|
||||
"message": "Niektoré kategórie vyžadujú oprávnenie na odoslanie kvôli požiadavke na minimálnu reputáciu"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Znovu zobraziť upozornenie"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Zobraziť upozornenie pri preskočení segmentu"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Zobraziť pomocníka ku kategórii"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Veľké upozornenia o preskočení"
|
||||
},
|
||||
@@ -262,6 +290,14 @@
|
||||
"message": "Ak sa vám to stále nepáčí, stlačte tlačidlo Nikdy nezobrazovať.",
|
||||
"description": "The second line of the message displayed after the notice was upgraded."
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Ďalšia kapitola",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Predošlá kapitola",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"0": {
|
||||
"message": "Spojenie vypršalo. Skontrolujte svoje internetové pripojenie. Ak vám internet funguje, server je pravdepodobne preťažený alebo nefunkčný."
|
||||
},
|
||||
@@ -357,18 +393,9 @@
|
||||
"statusReminder": {
|
||||
"message": "Stav servera skontrolujete na status.sponsor.ajay.app."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Import/export vášho ID používateľa"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Toto si starostlivo uchovajte. Podobne ako heslo by ste to nemali s nikým zdieľať. Ak by to získal niekto ďalší, mohol by vám uškodiť. Ak hľadáte vaše verejné ID používateľa, stlačte ikonu schránky v podokne."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Nastaviť Používateľove ID"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Varovanie: Zmena ID používateľa je nezvratná. Naozaj to chcete spraviť? Pre istotu si staré ID používateľa zazálohujte."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Vytvoril"
|
||||
},
|
||||
@@ -451,9 +478,6 @@
|
||||
"exportOptions": {
|
||||
"message": "Import/export všetkých nastavení"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Toto sú vaše kompletné nastavenia vo formáte JSON. Obsahuje aj vaše Používateľské ID, takže s ním narábajte opatrne."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Nastaviť Nastavenia"
|
||||
},
|
||||
@@ -503,18 +527,43 @@
|
||||
"message": "do",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Skopírované!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Zahŕňa plynulé prechody"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Prehrať tak, ako keby nebolo nič preskočené"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Sponzor"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Platená propagácia, platené odporúčania a priame reklamy. Neplatí pre vlastnú propagáciu alebo neplatenú propagáciu dobročinností/tvorcov/webových stránok/produktov, ktoré sa im páčia."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Platené promo"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Nie pre dary a vlastný merch"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Neplatená/Vlastná propagácia"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Podobné ako sponzor, okrem neplatenej alebo vlastnej propagácie. Patria sem sekcie týkajúce sa merchu, donatov alebo informácií o tom, s kým spolupracovali."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Dary, členstvo a vlastný merch"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Obsah mimo témy, ktorý nepridáva žiadne informácie"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Nie pre firemne navrhnuté produkty a merch"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Exkluzívny Prístup"
|
||||
},
|
||||
@@ -525,12 +574,24 @@
|
||||
"message": "Toto video predstavuje produkt, službu alebo miesto, ku ktorým získali bezplatný alebo dotovaný prístup",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Celé video predstavuje niečo, kde sa dá získať voľný alebo zľavnený prístup"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Pripomienka interakcie (Prihlásiť sa na odber)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Krátka výzva dať like, prihlásiť sa na odber alebo sledovať ich v strede obsahu. Ak je to dlhé alebo sa týka niečoho konkrétneho, malo by to radšej byť v ramci vlastnej propagácie."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Krátke pripomienky na \"Páči sa mi to\", Odber a Sledovanie"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Zahŕňa nepriame pripomienky na komentovanie"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Nie pre všeobecné promo, iba výzvy k akcii"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Pripomienka interakcie"
|
||||
},
|
||||
@@ -543,24 +604,48 @@
|
||||
"category_intro_short": {
|
||||
"message": "Prerušenie"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Interval bez samotného obsahu"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Nie pre prechody bez informácie"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Koncové karty / titulky"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Kredity alebo keď sa zobrazia YouTube koncové karty. Neplatí pre zhrnutia s informáciami."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Nezahrňte obsah, aj keby už boli vidieť koncové karty"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Ukážka/Rekapitulácia"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Rýchla rekapitulácia predošlej epizódy alebo ukážka toho, čo bude nasledovať neskôr v aktuálnom videu. Myslené pre zostrihané videá, nie pre hovorený súhrn."
|
||||
"message": "Zbierka klipov, ktoré ukazujú, čo nasleduje v tomto alebo ďalších videách zo série, kde sa potom všetky informácie opakujú."
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Odbočky mimo tému pridané len pre zábavu, nepotrebné pre pochopenie hlavného obsahu videa. Nemalo by zahŕňať segmenty, ktoré vysvetľujú kontext alebo vedľajšie detaily."
|
||||
"category_preview_guideline1": {
|
||||
"message": "Ukážky, ktoré sa zobrazia neskôr alebo v budúcom videu"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Zhrnutie predošlého videa"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Nie pre sekcie, ktoré majú dodatočný obsah"
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Odbočka"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Nepodstatné scény slúžiace len ako výplň alebo humor"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Nepodarené a opakované zábery"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Nie pre scény vyžadované pre pochopenie témy"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Hudba: časť bez hudby"
|
||||
},
|
||||
@@ -570,12 +655,42 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Bez hudby"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Sekcie, ktoré nie sú v oficiálnom vydaní"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Sekcia bez hudby v živom vystúpení"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Hlavný obsah videa"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "Tá časť videa, ktorú ľudia vyhľadávajú. Podobné komentárom \"Video začína v čase x\"."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "Sekcia, ktorú vyhľadáva väčšina ľudí"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Môže pomôcť preskočiť predošlý obsah"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Môže preskočiť na hlavný obsah alebo náhľad"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Kapitola"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "Vlastné pomenovania kapitol opisujúce hlavné sekcie videa."
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "Nezmieňovať sponzorove značky"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "Použiť veľké kapitoly pre všeobecné sekcie"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "Menšie kapitoly môžu byť umiestnené vo väčších"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Živé vysielanie: oznamy a dary"
|
||||
},
|
||||
@@ -606,6 +721,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "Ukázať Označenie"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Zobraziť kapitoly"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Automaticky preskočiť všetky segmenty ak neexistuje segment bez hudby"
|
||||
},
|
||||
@@ -661,6 +779,10 @@
|
||||
"bracketEnd": {
|
||||
"message": "(Koniec)"
|
||||
},
|
||||
"End": {
|
||||
"message": "Koniec",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "skryté: negatívne hlasy"
|
||||
},
|
||||
@@ -671,11 +793,8 @@
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "ID kanála sa ešte nenačítalo. Ak pozeráte video vložené na stránke, skúste ísť radšej priamo na YouTube. Problém mohli spôsobiť zmeny na YouTube. Ak je tomu tak, zanechajte komentár:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Zdá sa, že niečo blokuje SponsorBlocku možnosť získať dáta o videu. Prosím navštívte https://github.com/ajayyy/SponsorBlock/issues/741 pre viac informácií."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "SponsorBlock nemá prístup k YouTube API. Povoľte oprávnenie v nasledovnej výzve, počkajte pár sekúnd a znovu nahrajte stránku."
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "Prehliadač odmietol oprávnenia potrebné pre Invidious a iné stránky 3. strany. Pre opätovnú aktiváciu oprávnení kliknite na tlačidlo nižšie."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Povoľte oprávnenie"
|
||||
@@ -701,6 +820,13 @@
|
||||
"downvoteDescription": {
|
||||
"message": "Nesprávne/Zlé načasovanie"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Nesprávne"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Škodlivé",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Zmeniť kategóriu"
|
||||
},
|
||||
@@ -736,6 +862,9 @@
|
||||
"categoryPillTitleText": {
|
||||
"message": "Celé video je označené touto kategóriou a je príliš previazané, aby sa to dalo rozlíšiť"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "Jedna z vašich kapitol sa volá podobne ako kategória. Ak je to možné, použite radšej kategóriu."
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Odmietnuť všetky budúce experimenty",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
@@ -744,11 +873,19 @@
|
||||
"message": "Navždy skryť"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Dostali ste varovanie a nemôžete tak dočasne odosielať segmenty. To znamená, že sme si všimli, že ste spravili nejaké chyby, ktoré nie sú myslené zle, a chceme Vám len objasniť pravidlá a potom Vám to varovanie odoberieme. Môžete sa pripojiť do konverzácie pomocou discord.gg/SponsorBlock alebo matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Zaznamenali sme, že robíte omylom chyby"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Hlasovanie bolo zamietnuté kvôli varovaniu. Kliknite pre otvorenie chatu, aby ste ho vyriešili, alebo sa vráťte až budete mať čas.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "Dostali ste varovanie"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "Mám otázku"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Rozumiem dôvodu"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Chyb a pri pokuse o súhlas s upozornením:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Prispieť"
|
||||
@@ -816,6 +953,9 @@
|
||||
"LearnMore": {
|
||||
"message": "Zistiť viac"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Úplné podrobnosti"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Dá palec dole a vytvorí kópiu, aby ste mohli segment znova odoslať"
|
||||
},
|
||||
@@ -831,6 +971,21 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Týmto ihneď vykonáte zmeny v segmentoch"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Hlasovať proti"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Hlasovať za"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Skryť segment"
|
||||
},
|
||||
"skipSegment": {
|
||||
"message": "Preskočiť segment"
|
||||
},
|
||||
"playChapter": {
|
||||
"message": "Prehrať kapitolu"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Čas môžete rýchlo zmeniť kolieskom myši, ak je kurzor nad zadávacím políčkom. Pre jemné zmeny pritom držte kláves ctrl alebo shift."
|
||||
},
|
||||
@@ -844,5 +999,66 @@
|
||||
"hourAbbreviation": {
|
||||
"message": "h",
|
||||
"description": "100h"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "Je zapnutý BETA server!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Otvoriť stránku s nastaveniami"
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Exportovať segmenty"
|
||||
},
|
||||
"Import": {
|
||||
"message": "Import",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "Licenčný kľúč nie je platný"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "Skryť platené nastavenia"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Vybrať krajinu"
|
||||
},
|
||||
"noDiscount": {
|
||||
"message": "Nemáte nárok na zľavu"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "Odkaz na zľavu (ružová cena)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Vyberte krajinu"
|
||||
},
|
||||
"alreadyDonated": {
|
||||
"message": "Ak ste už v minulosti prispeli, získajte voľný prístup napísaním emailu:",
|
||||
"description": "After the colon is an email address"
|
||||
},
|
||||
"cantAfford": {
|
||||
"message": "Ak si nemôžete dovoliť kúpiť licenciu, kliknite {sem} a zistite, či máte nárok na zľavu",
|
||||
"description": "Keep the curly braces. The word 'here' should be translated as well."
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Prihlásiť sa cez Patreon"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "Uplatniť"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Kúpte si Patreon predplatné"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "Jednorazový nákup"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Zadajte licenčný kľúč"
|
||||
},
|
||||
"chaptersPage1": {
|
||||
"message": "Crowd-sourcované kapitovly v SponsorBlock-u sú dostupné len po zakúpení licencie alebo zadarmo pre ľudí, ktorí už v minulosti prispeli"
|
||||
},
|
||||
"chapterNewFeature": {
|
||||
"message": "Nová funkcia: Crowd-sourcované vlastné kapitoly. Toto sú sekcie videa s vlastnými názvami, ktoré môžu byť pre väčšiu presnosť vyskladané. Ak si kúpite licenciu, uvidíte kapitoly v tomto videu, ako napr.: ",
|
||||
"description": "After the comma, a list of chapters for this video will appear"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
{
|
||||
"fullName": {
|
||||
"message": "SponsorBlock for YouTube - Skip Sponsorships",
|
||||
"message": "SponsorBlock för YouTube - Hoppa över sponsringar",
|
||||
"description": "Name of the extension."
|
||||
},
|
||||
"Description": {
|
||||
"message": "Hoppa över sponsring, prenumerationstiggande och mer på YouTube-videor. Rapportera sponsorer på videor du tittar på för att spara andras tid.",
|
||||
"message": "Hoppa över sponsringar, prenumerationstiggande och mer på YouTube-videor. Rapportera sponsorer på videor du tittar på för att spara andras tid.",
|
||||
"description": "Description of the extension."
|
||||
},
|
||||
"400": {
|
||||
"message": "Servern sa att denna begäran var ogiltig"
|
||||
},
|
||||
"429": {
|
||||
"message": "Du har rapporterat för många sponsormeddelanden för den här videon, är du säker att det finns så många?"
|
||||
"message": "Du har skickat in för många sponsormeddelanden för den här videon. Är du säker på att det finns så många?"
|
||||
},
|
||||
"409": {
|
||||
"message": "Den här har redan blivit rapporterad"
|
||||
"message": "Den här har redan skickats in"
|
||||
},
|
||||
"channelWhitelisted": {
|
||||
"message": "Kanalen är vitlistad!"
|
||||
@@ -25,8 +25,21 @@
|
||||
"Segments": {
|
||||
"message": "segment"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Segment"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Kapitel"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Gör segment som kapitel",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"showSegmentNameInChapterBar": {
|
||||
"message": "Visa nuvarande segment bredvid videotid"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Rösta på detta inlägg"
|
||||
"message": "Rösta på detta inskick"
|
||||
},
|
||||
"reportButtonTitle": {
|
||||
"message": "Rapportera"
|
||||
@@ -44,13 +57,13 @@
|
||||
"message": "Visa aldrig"
|
||||
},
|
||||
"hitGoBack": {
|
||||
"message": "Tryck på Tillbaka för att ångra åtgärden."
|
||||
"message": "Tryck på hoppa inte över för att återgå till där du kom i från."
|
||||
},
|
||||
"unskip": {
|
||||
"message": "Hoppa inte över"
|
||||
},
|
||||
"reskip": {
|
||||
"message": "Hoppa över igen"
|
||||
"message": "Hoppa över"
|
||||
},
|
||||
"unmute": {
|
||||
"message": "Ljud"
|
||||
@@ -62,13 +75,13 @@
|
||||
"message": "Timern stoppad"
|
||||
},
|
||||
"confirmMSG": {
|
||||
"message": "Klicka på infoknappen eller öppna popup-rutan genom att klicka på tilläggets ikon i hörnet uppe till höger för att redigera eller ta bort inviduella värden."
|
||||
"message": "Klicka på infoknappen eller öppna popup-rutan genom att klicka på tilläggets ikon i det översta högra hörnet för att redigera eller ta bort individuella värden."
|
||||
},
|
||||
"clearThis": {
|
||||
"message": "Är du säker på att du vill rensa detta?\n\n"
|
||||
},
|
||||
"Unknown": {
|
||||
"message": "Ett fel uppstod vid rapportering av sponsormeddelandet, försök igen senare."
|
||||
"message": "Ett fel uppstod vid inskickningen av sponsortiderna, försök igen senare."
|
||||
},
|
||||
"sponsorFound": {
|
||||
"message": "Denna video har segment i databasen!"
|
||||
@@ -98,7 +111,7 @@
|
||||
"message": "Röstat!"
|
||||
},
|
||||
"serverDown": {
|
||||
"message": "Det verkar som att servern är nere. Kontakta utvecklaren omedelbart."
|
||||
"message": "Det verkar som att servern ligger nere. Kontakta utvecklaren omedelbart."
|
||||
},
|
||||
"connectionError": {
|
||||
"message": "Anslutningsfel. Felkod: "
|
||||
@@ -112,11 +125,17 @@
|
||||
"closePopup": {
|
||||
"message": "Stäng popup"
|
||||
},
|
||||
"closeIcon": {
|
||||
"message": "Stäng ikon"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Skicka in segment"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Sortera segment"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Är du säker på att du vill rapportera detta?"
|
||||
"message": "Är du säker på att du vill skicka in detta?"
|
||||
},
|
||||
"whitelistChannel": {
|
||||
"message": "Vitlistkanal"
|
||||
@@ -144,16 +163,16 @@
|
||||
"description": "Appears in the popup to inform them that editing has been moved to the video player."
|
||||
},
|
||||
"popupHint": {
|
||||
"message": "Tips: Du kan ställa in snabbtangenter för att skicka in i alternativen"
|
||||
"message": "Tips: Du kan i alternativen ställa in snabbtangenter för att skicka in"
|
||||
},
|
||||
"clearTimesButton": {
|
||||
"message": "Rensa tider"
|
||||
},
|
||||
"submitTimesButton": {
|
||||
"message": "Skicka tider"
|
||||
"message": "Skicka in tider"
|
||||
},
|
||||
"publicStats": {
|
||||
"message": "Detta kommer att användas på den publika statistiksidan för att visa hur mycket du har bidragit. Spana in den"
|
||||
"message": "Detta används på den offentliga statistiksidan för att visa hur mycket du har bidragit. Ta en titt"
|
||||
},
|
||||
"Username": {
|
||||
"message": "Användarnamn"
|
||||
@@ -164,8 +183,11 @@
|
||||
"copyPublicID": {
|
||||
"message": "Kopiera publikt Användar-ID"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Kopiera Segment-ID"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Gå med i den officiella discordservern för att ge förslag och feedback!"
|
||||
"message": "Gå med i den officiella Discord-servern för att ge förslag och feedback!"
|
||||
},
|
||||
"hideThis": {
|
||||
"message": "Dölj detta"
|
||||
@@ -177,28 +199,28 @@
|
||||
"message": "Visa knappar på YouTube-spelaren"
|
||||
},
|
||||
"hideButtons": {
|
||||
"message": "Dölj Knappar På YouTube-spelaren"
|
||||
"message": "Dölj knappar på YouTube-spelaren"
|
||||
},
|
||||
"hideButtonsDescription": {
|
||||
"message": "Detta döljer knapparna på YouTube-spelaren som du kan skicka in segment med som ska hoppas över."
|
||||
"message": "Detta döljer knapparna på YouTube-spelaren som du skickar in överhoppade segment med."
|
||||
},
|
||||
"showSkipButton": {
|
||||
"message": "Behåll knappen hoppa till markerat på spelaren"
|
||||
"message": "Behåll knappen hoppa till höjdpunkt på spelaren"
|
||||
},
|
||||
"showInfoButton": {
|
||||
"message": "Visa Infoknapp På YouTube-spelaren"
|
||||
"message": "Visa infoknappen på YouTube-spelaren"
|
||||
},
|
||||
"hideInfoButton": {
|
||||
"message": "Dölj Infoknapp På YouTube-spelaren"
|
||||
"message": "Dölj infoknappen på YouTube-spelaren"
|
||||
},
|
||||
"autoHideInfoButton": {
|
||||
"message": "Dölj informationsknappen automatiskt"
|
||||
},
|
||||
"hideDeleteButton": {
|
||||
"message": "Dölj \"Ta Bort\"-knappen På YouTube-spelaren"
|
||||
"message": "Dölj borttagningsknappen på YouTube-spelaren"
|
||||
},
|
||||
"showDeleteButton": {
|
||||
"message": "Visa knappen ta bort på YouTube-spelaren"
|
||||
"message": "Visa borttagningsknappen på YouTube-spelaren"
|
||||
},
|
||||
"enableViewTracking": {
|
||||
"message": "Aktivera spåra antalet hoppa över"
|
||||
@@ -230,26 +252,35 @@
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Om videon är ny och inga segment hittades då kommer den att uppdateras med några minuters mellanrum medan du tittar på videon."
|
||||
},
|
||||
"enableShowCategoryWithoutPermission": {
|
||||
"message": "Visa kategorier i inlämningsmenyn även utan inlämningstillstånd"
|
||||
},
|
||||
"whatShowCategoryWithoutPermission": {
|
||||
"message": "Vissa kategorier kräver tillstånd att lämna in på grund av minimikrav på rykte"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Visa meddelandet igen"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Visa ett meddelande efter att ett segment har hoppats över"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Visa kategorihjälp"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Hoppa över-meddelanden i fullstorlek"
|
||||
"message": "Fullstorlek"
|
||||
},
|
||||
"noticeVisibilityMode1": {
|
||||
"message": "Små meddelanden för automatisk hoppa över"
|
||||
"message": "Litet meddelande för hoppa över automatiskt"
|
||||
},
|
||||
"noticeVisibilityMode2": {
|
||||
"message": "Alla hoppa över-meddelanden är små"
|
||||
"message": "Alla meddelanden är små"
|
||||
},
|
||||
"noticeVisibilityMode3": {
|
||||
"message": "Meddelanden som tonar bort för automatisk hoppa över"
|
||||
"message": "Tonat meddelande för hoppa över automatiskt"
|
||||
},
|
||||
"noticeVisibilityMode4": {
|
||||
"message": "Alla hoppa över-meddelanden tonas bort"
|
||||
"message": "Tonat meddelande"
|
||||
},
|
||||
"longDescription": {
|
||||
"message": "SponsorBlock låter dig hoppa över sponsormeddelanden, introduktioner, eftertexter, prenumerationspåminnelser och andra irriterande delar av YouTube-videor. SponsorBlock är ett crowdsourced webbläsartillägg som låter vem som helst att skicka in start- och sluttid på sponsorsegment och andra segment av YouTube-videor. När en person skickar in denna information kommer alla andra som har detta tillägg installerat att hoppa över det sponsrade segmentet. Du kan även hoppa över icke-musikavsnitt i musikvideor.",
|
||||
@@ -280,14 +311,22 @@
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "Skicka in segment",
|
||||
"message": "Skicka segment",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Nästa kapitel",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Föregående kapitel",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Välj en tangent genom att trycka på den och välj sedan en av modifieringstangenterna som du vill använda."
|
||||
},
|
||||
"0": {
|
||||
"message": "Anslutningsfel. Se över din internetanslutning. Om du kan komma åt internet så är servern förmodligen överbelastad eller nere."
|
||||
"message": "Anslutningsfel. Kontrollera din internetanslutning. Om du kan komma åt internet är servern förmodligen överbelastad eller så ligger den nere."
|
||||
},
|
||||
"disableSkipping": {
|
||||
"message": "Hoppa över är aktiverat"
|
||||
@@ -326,11 +365,11 @@
|
||||
"description": "Used for skipping to things (Skip to Highlight)"
|
||||
},
|
||||
"skipped": {
|
||||
"message": "{0} överhoppad",
|
||||
"message": "{0} överhoppade",
|
||||
"description": "Example: Sponsor Skipped"
|
||||
},
|
||||
"muted": {
|
||||
"message": "{0} ljudlös",
|
||||
"message": "{0} ljudlösa",
|
||||
"description": "Example: Sponsor Muted"
|
||||
},
|
||||
"skipped_to_category": {
|
||||
@@ -341,7 +380,7 @@
|
||||
"message": "Inaktivera hoppa över automatiskt"
|
||||
},
|
||||
"enableAutoSkip": {
|
||||
"message": "Aktivera Hoppa Över Automatiskt"
|
||||
"message": "Aktivera hoppa över automatiskt"
|
||||
},
|
||||
"audioNotification": {
|
||||
"message": "Ljudavisering vid hoppa över"
|
||||
@@ -359,13 +398,13 @@
|
||||
"message": "Du har hoppat över "
|
||||
},
|
||||
"minLower": {
|
||||
"message": "minuter"
|
||||
"message": "minut"
|
||||
},
|
||||
"minsLower": {
|
||||
"message": "minuter"
|
||||
},
|
||||
"hourLower": {
|
||||
"message": "timma"
|
||||
"message": "timme"
|
||||
},
|
||||
"hoursLower": {
|
||||
"message": "timmar"
|
||||
@@ -382,16 +421,16 @@
|
||||
"message": "Gå till status.sponsor.ajay.app för serverstatus."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Importera/Exportera Ditt AnvändarID"
|
||||
"message": "Importera/Exportera ditt privata Användar-ID"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Detta ska hållas privat. Detta är som ett lösenord och ska inte delas med någon. Om andra får tag i det kan de utge sig för att vara dig. Om du letar efter ditt offentliga Användar-ID kan du klicka på urklippsikonen i popupen."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Ange AnvändarID"
|
||||
"message": "Ange privat Användar-ID"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Varning: Ändring av AnvändarID är permanent. Är du säker att du vill göra det? Se till att ta en backup av ditt gamla för säkerhets skull."
|
||||
"message": "Varning: Ändring av ditt Användar-ID är permanent. Är du säker att du vill göra detta? Se till att ta en säkerhetskopia av ditt gamla för säkerhets skull."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Skapad av"
|
||||
@@ -422,10 +461,10 @@
|
||||
"message": "Detta är en ogiltig domän. Den ska ENDAST inkludera domändelen. Exempelvis: invidious.ajay.app"
|
||||
},
|
||||
"resetInvidiousInstance": {
|
||||
"message": "Rensa Invidious instanslista"
|
||||
"message": "Återställa Invidious instanslista"
|
||||
},
|
||||
"resetInvidiousInstanceAlert": {
|
||||
"message": "Du kommer nu att rensa Invidious instanslista"
|
||||
"message": "Du kommer nu att återställa Invidious instanslista"
|
||||
},
|
||||
"currentInstances": {
|
||||
"message": "Nuvarande Instanser:"
|
||||
@@ -436,14 +475,20 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Segment som är kortare än det angivna värdet kommer inte att hoppas över eller visas i spelaren."
|
||||
},
|
||||
"enableManualSkipOnFullVideo": {
|
||||
"message": "Använd manuellt hoppa över när en fullständig videoetikett visas"
|
||||
},
|
||||
"whatManualSkipOnFullVideo": {
|
||||
"message": "För personer som vill titta på videon utan avbrott om den är fullt sponsrad eller självbefordran."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Varaktighet på hoppa över-meddelande (sekunder):"
|
||||
"message": "Antalet sekunder meddelandet för hoppa över ska visas:"
|
||||
},
|
||||
"skipNoticeDurationDescription": {
|
||||
"message": "Meddelandet om att hoppa över kommer att visas på skärmen åtminstone så här länge. För manuell överhoppning kan det visas längre."
|
||||
"message": "Meddelandet om att hoppa över kommer att visas på skärmen åtminstone så här många sekunder. För manuell överhoppning kan det visas längre."
|
||||
},
|
||||
"shortCheck": {
|
||||
"message": "Följande rapport är kortare än ditt minstavärde i inställningarna. Det skulle kunna betyda att det redan är rapporterat och bara ignorerat på grund av denna inställning. Är du säker på att du vill rapportera?"
|
||||
"message": "Följande inskickning är kortare än ditt minstavärde i alternativen. Det skulle kunna betyda att det redan är inskickat och bara ignorerat på grund av detta alternativ. Är du säker på att du vill skicka in?"
|
||||
},
|
||||
"liveOrPremiere": {
|
||||
"message": "Att skicka in på en aktiv liveström eller premiär är inte tillåtet. Vänta tills den är färdig, uppdatera sedan sidan och kontrollera att segmenten fortfarande är giltiga."
|
||||
@@ -455,22 +500,22 @@
|
||||
"message": "Serveradress för SponsorBlock"
|
||||
},
|
||||
"customServerAddressDescription": {
|
||||
"message": "Adressen SponsorBlock använder för att kommunicera med servern.\nOm du inte har din egen serverinstans ska den här inställningen inte ändras."
|
||||
"message": "Adressen SponsorBlock använder för att kommunicera med servern.\nOm du inte har en egen serverinstans ska den här inställningen inte ändras."
|
||||
},
|
||||
"save": {
|
||||
"message": "Spara"
|
||||
},
|
||||
"reset": {
|
||||
"message": "Rensa"
|
||||
"message": "Återställ"
|
||||
},
|
||||
"customAddressError": {
|
||||
"message": "Denna adressen är inte korrekt formaterad. Se till att du har http:// eller https:// i början och inga snedstreck i slutet."
|
||||
},
|
||||
"areYouSureReset": {
|
||||
"message": "Är du säker på att du vill rensa?"
|
||||
"message": "Är du säker på att du vill återställa detta?"
|
||||
},
|
||||
"mobileUpdateInfo": {
|
||||
"message": "m.youtube.com stöds nu"
|
||||
"message": "Nu stöds även m.youtube.com"
|
||||
},
|
||||
"exportOptions": {
|
||||
"message": "Importera/Exportera alla alternativen"
|
||||
@@ -485,7 +530,7 @@
|
||||
"message": "Ladda från fil"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Detta är alla dina alternativ i JSON-format. Det inkluderar ditt användar-ID, så var noga med hur du hanterar informationen."
|
||||
"message": "Detta är hela din konfiguration i JSON-format. Det inkluderar ditt Användar-ID, så var noga med hur du hanterar informationen."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Ange alternativ"
|
||||
@@ -497,7 +542,7 @@
|
||||
"message": "Denna JSON är inte korrekt formaterad. Dina alternativ har inte ändrats."
|
||||
},
|
||||
"confirmNoticeTitle": {
|
||||
"message": "Skicka in segment"
|
||||
"message": "Skicka segment"
|
||||
},
|
||||
"submit": {
|
||||
"message": "Skicka"
|
||||
@@ -512,7 +557,7 @@
|
||||
"message": "Förhandsgranska"
|
||||
},
|
||||
"unsubmitted": {
|
||||
"message": "Ej inskickade"
|
||||
"message": "Oinskickade"
|
||||
},
|
||||
"inspect": {
|
||||
"message": "Granska"
|
||||
@@ -524,13 +569,13 @@
|
||||
"message": "Kopiera felsökningsinformation till urklippet"
|
||||
},
|
||||
"copyDebugInformationFailed": {
|
||||
"message": "Misslyckades med att kopiera debuginformation till urklipp"
|
||||
"message": "Misslyckades med att skriva till urklippet"
|
||||
},
|
||||
"copyDebugInformationOptions": {
|
||||
"message": "Kopierar information till urklipp för att dela med en utvecklare vid rapportering av en bugg / när en utvecklare ber om det. Känslig data som användar-ID, vitlistade kanaler, och anpassad serveradress följer inte med. Däremot innehåller det information om useragent, webbläsare, operativsystem, och tilläggsversion. "
|
||||
"message": "Kopierar information till urklippet för att dela med en utvecklare vid rapportering av ett fel / när en utvecklare ber om det. Känslig data som Användar-ID, vitlistade kanaler, och anpassad serveradress följer inte med. Däremot innehåller det information om useragent, webbläsare, operativsystem, och tilläggsversion. "
|
||||
},
|
||||
"copyDebugInformationComplete": {
|
||||
"message": "Debuginformationen har kopierats till urklipp. Ta bort eventuell information du inte vill dela med dig av. Spara informationen i en textfil eller klistra in den i en buggrapport."
|
||||
"message": "Felsökningsinformation har kopierats till urklippet. Ta bort eventuell information du inte vill dela med dig av. Spara informationen i en textfil eller klistra in den i en felrapport."
|
||||
},
|
||||
"keyAlreadyUsed": {
|
||||
"message": "Denna genväg är bunden till en annan åtgärd. Du måste välja en annan."
|
||||
@@ -539,18 +584,43 @@
|
||||
"message": "till",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Kopierad!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Inkludera mjuka övergångar"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Spelar som om ingenting hoppades över"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Sponsormeddelande"
|
||||
"message": "Sponsor"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Betald marknadsföring, betalda hänvisningar och direktannonser, men inte till självbefodran eller gratis shoutouts till skapare/webbplatser/produkter de gillar."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Betalda kampanjer"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Inte för donationer eller anpassade varor"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Obetald/självbefodran"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Som \"sponsormeddelande\" men med undantag för obetald eller självkampanj. Detta inkluderar avsnitt om varor, donationer eller information om vem de samarbetade med."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Donationer, medlemskap och anpassade varor"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Gratis shoutouts som inte läggs till i videon"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Inte för företagsdesignade produkter och varor"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Exklusiv tillgång"
|
||||
},
|
||||
@@ -561,17 +631,29 @@
|
||||
"message": "Denna video visar en produkt, tjänst eller plats som de har fått gratis eller subventionerad tillgång till",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Hela videon visar något med gratis eller subventionerad tillgång"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Interaktionspåminnelse (Prenumerera)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "När där är en kort påminnelse att gilla, prenumerera eller följa dem. Om det är långt eller om det gäller något specifikt bör det istället vara under självbefodran."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Korta påminnelser om att gilla, prenumerera eller följa"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Inkluderar indirekta påminnelser att kommentera"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Inte för allmän marknadsföring, endast för uppmaningar"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Interaktionspåminnelse"
|
||||
},
|
||||
"category_intro": {
|
||||
"message": "Paus/Introduktion"
|
||||
"message": "Uppehåll/Introduktion"
|
||||
},
|
||||
"category_intro_description": {
|
||||
"message": "Ett intervall utan faktiskt innehåll. Kan vara en paus, statisk ram, upprepande animation. Denna bör inte användas för övergångar som innehåller information."
|
||||
@@ -579,27 +661,54 @@
|
||||
"category_intro_short": {
|
||||
"message": "Uppehåll"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Intervall utan egentligt innehåll"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Inte för övergångar med information"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Slutkort/Credits"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Credits eller när YouTube-slutkort visas. Inte för slut med information."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Inkludera inte innehåll, även om slutkort visas på skärmen"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Förhandsgranska/sammanfatta"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Snabb sammanfattning av tidigare avsnitt eller en förhandsvisning av vad som kommer upp senare i den aktuella videon. Avsett för redigerade klipp, inte för sammanfattningar."
|
||||
"message": "Samling av klipp som visar vad som kommer upp i den här videon eller andra videos i en serie där all information upprepas senare i videon."
|
||||
},
|
||||
"category_preview_guideline1": {
|
||||
"message": "Klipp som visas senare, eller i en framtida video"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Sammanfattning av en tidigare video"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Inte för sektioner som lägger till ytterligare innehåll"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Ämnesavvikelse/Skämt"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Tangentiella scener endast tillagda för utfyllnad eller humor som inte krävs för att förstå det huvudsakliga innehållet i videon. Detta bör inte omfatta segment som tillhandahåller innehåll eller bakgrundsdetaljer."
|
||||
"message": "Tangentiella scener endast för utfyllnad eller humor som inte krävs för att förstå det huvudsakliga innehållet i videon. Detta bör inte omfatta segment som tillhandahåller kontext eller bakgrundsdetaljer. Detta är en mycket aggressiv kategori avsedd för när du inte är på humör för \"kul\"."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Utfyllnad"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Tangentiella scener endast för utfyllnad eller humor"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Distraktioner, bloopers, repriser"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Inte för scener som krävs för att förstå ämnet"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Musik: Icke-musikavsnitt"
|
||||
},
|
||||
@@ -609,12 +718,42 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Icke-musik"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Avsnitt som inte finns i officiella utgåvor"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Icke-musik i ett liveframträdande"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Markera"
|
||||
"message": "Höjdpunkt"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "Den del av videon som de flesta letar efter. Liknande kommentarer \"Video börjar på x\"."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "Avsnitt som de flesta personer letar efter"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Kan hoppa över sammanhang"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Kan hoppa över till titeln eller miniatyrbilden"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Kapitel"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "Anpassade namngivna kapitel som beskriver större delar av en video."
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "Nämn inte sponsormärkets namn"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "Använd större kapitel för allmänna sektioner"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "Mindre kapitel kan placeras inuti större kapitel"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Liveström: Donations-/meddelandeavläsningar"
|
||||
},
|
||||
@@ -645,6 +784,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "Visa etikett"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Visa kapitel"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Hoppa över alla segment automatiskt när det finns ett icke-musiksegment"
|
||||
},
|
||||
@@ -656,7 +798,7 @@
|
||||
"description": "Referring to the category pill that is now shown on videos that are entirely sponsor or entirely selfpromo"
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Färg på ej inskickade",
|
||||
"message": "Färg på oinskickade",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
@@ -670,10 +812,10 @@
|
||||
"description": "Used on the options page to describe the ways to skip the segment (auto skip, manual, etc.)"
|
||||
},
|
||||
"enableTestingServer": {
|
||||
"message": "Aktivera Server För Betatestning"
|
||||
"message": "Aktivera server för betatestning"
|
||||
},
|
||||
"whatEnableTestingServer": {
|
||||
"message": "Dina rapporter och röster KOMMER INTE RÄKNAS mot huvudservern. Använd endast detta för testning."
|
||||
"message": "Dina inskickningar och röster KOMMER INTE ATT RÄKNAS mot huvudservern. Använd endast detta för testning."
|
||||
},
|
||||
"testingServerWarning": {
|
||||
"message": "Alla inskickningar och röster KOMMER INTE ATT RÄKNAS mot huvudservern så länge du är ansluten mot testservern. Se till att inaktivera detta när du vill skicka in riktiga inskickningar."
|
||||
@@ -682,13 +824,13 @@
|
||||
"message": "(Nu)"
|
||||
},
|
||||
"moreCategories": {
|
||||
"message": "Fler Kategorier"
|
||||
"message": "Fler kategorier"
|
||||
},
|
||||
"chooseACategory": {
|
||||
"message": "Välj en kategori"
|
||||
},
|
||||
"enableThisCategoryFirst": {
|
||||
"message": "För att skicka segment med kategorin \"{0}\" måste du först aktivera det i alternativen. Du kommer nu att bli omdirigerad till alternativen.",
|
||||
"message": "För att skicka in segment med kategorin \"{0}\" måste du först aktivera det i alternativen. Du kommer nu att bli omdirigerad till alternativen.",
|
||||
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
|
||||
},
|
||||
"poiOnlyOneSegment": {
|
||||
@@ -700,6 +842,10 @@
|
||||
"bracketEnd": {
|
||||
"message": "(Slut)"
|
||||
},
|
||||
"End": {
|
||||
"message": "Slut",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "dold: rösta ner"
|
||||
},
|
||||
@@ -713,11 +859,8 @@
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "Kanal-ID:t är inte laddat ännu. Om du använder en inbäddad video, prova att använda YouTube-hemsidan istället. Detta kan också bero på förändringar i layouten hos YouTube och om du tror så är fallet kommentera det här:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Det verkar som om något blockerar SponsorBlock från att hämta videodata. Gå till https://github.com/ajayyy/SponsorBlock/issues/741 för mer info."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Det verkar som att SponsorBlock inte kan nå YouTube-API:t. För att åtgärda problemet ska du acceptera behörighetsfrågan som visas härnäst och vänta några sekunder och sedan ladda om sidan."
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "Webbläsaren har återkallat behörigheten som behövs för att fungera på Invidious och andra tredjepartssajter. Klicka på knappen nedan för att återaktivera denna behörighet."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Godkänn behörighet"
|
||||
@@ -743,6 +886,13 @@
|
||||
"downvoteDescription": {
|
||||
"message": "Fel/Fel tidsintervall"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Felaktig"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Skadlig",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Ändra kategori"
|
||||
},
|
||||
@@ -778,6 +928,9 @@
|
||||
"categoryPillTitleText": {
|
||||
"message": "Hela den här videon är märkt som denna kategori och är alltför tätt integrerad för att kunna separeras"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "Ett av dina kapitelnamn liknar en kategori. Du bör i stället använda kategorier när det är möjligt."
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Hoppa av alla framtida experiment",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
@@ -786,11 +939,19 @@
|
||||
"message": "Dölj för alltid"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Du har fått en tillfällig varning och kan inte längre skicka in segment. Vi har upptäckt att du har gjort några vanliga misstag som inte är uppsåtliga. Bekräfta därför att du förstår reglerna, så tar vi bort varningen. Du kan också gå med i den här chatten genom att använda discord.gg/SponsorBlock eller matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Vi märkte att du gjorde några vanliga misstag som inte var uppsåtligt"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Rösten avvisades på grund av en varning. Klicka för att öppna ett chattfönster för att lösa problemet eller kom tillbaka senare när du har tid.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "Du har fått en varning"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "Jag har en fråga"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Jag förstår varför"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Fel vid försök att bekräfta varning:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Donera"
|
||||
@@ -829,7 +990,7 @@
|
||||
"message": "Skicka in kan antingen göras i popup-fönstret genom att trycka på knappen \"Segmentet startar nu\" eller i videospelaren med knapparna på spelaren."
|
||||
},
|
||||
"helpPageSubmitting2": {
|
||||
"message": "Genom att klicka på uppspelningsknappen anges början på ett segment och genom att klicka på stopp-ikonen anges slutet. Du kan förbereda flera sponsorer innan du trycker på skicka. Klicka på uppladdningsknappen för att skicka in. Klicka på papperskorgen för att ta bort."
|
||||
"message": "Genom att klicka på uppspelningsknappen anges början på ett segment och genom att klicka på stoppikonen anges slutet. Du kan förbereda flera sponsorer innan du trycker på skicka. Klicka på uppladdningsknappen för att skicka in. Klicka på papperskorgen för att ta bort."
|
||||
},
|
||||
"Editing": {
|
||||
"message": "Redigerar"
|
||||
@@ -864,8 +1025,11 @@
|
||||
"LearnMore": {
|
||||
"message": "Läs mer"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Fullständiga detaljer"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Rösta ner och skapar en lokal kopia för dig att skicka igen"
|
||||
"message": "Rösta ner och skapar en lokal kopia för dig att skicka in igen"
|
||||
},
|
||||
"OpenCategoryWikiPage": {
|
||||
"message": "Öppna denna kategoris wiki-sida."
|
||||
@@ -879,6 +1043,21 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Detta kommer omedelbart att verkställas till dina segment"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Rösta ner"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Rösta upp"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Dölj segment"
|
||||
},
|
||||
"skipSegment": {
|
||||
"message": "Hoppa över segment"
|
||||
},
|
||||
"playChapter": {
|
||||
"message": "Spela kapitel"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Använd mushjulet medan du håller muspekaren över redigeringsrutan för att snabbt justera tiden. Kombinationer av CTRL- eller SKIFT-tangenten kan användas för att finjustera tiden."
|
||||
},
|
||||
@@ -914,7 +1093,7 @@
|
||||
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"noticeVisibilityLabel": {
|
||||
"message": "Utseende på hoppa över-meddelandet",
|
||||
"message": "Utseende på meddelandet för hoppa över",
|
||||
"description": "Option label"
|
||||
},
|
||||
"unbind": {
|
||||
@@ -929,5 +1108,140 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Detta är en inbyggd YouTube-genväg. Är du säker på att du vill använda den?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "BETA-servern är aktiverad!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Öppna alternativsidan"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Återställ inställningar till standard"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Är du säker på att du vill återställa alla inställningar till deras standardvärden? Detta kan inte ångras."
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Exportera segment"
|
||||
},
|
||||
"importSegments": {
|
||||
"message": "Importera segment"
|
||||
},
|
||||
"Import": {
|
||||
"message": "Importera",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "Inlöst!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "Licensnyckeln är ogiltig"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "Dölj alternativ som inte är tillgängliga utan extra betalning"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Välj ett land"
|
||||
},
|
||||
"noDiscount": {
|
||||
"message": "Du kvalificerar dig inte för att få rabatt"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "Rabattlänk (se priset i rosa)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Välj ditt land"
|
||||
},
|
||||
"alreadyDonated": {
|
||||
"message": "Om du har donerat tidigare kan du lösa in fri åtkomst genom att skicka e-post till:",
|
||||
"description": "After the colon is an email address"
|
||||
},
|
||||
"cantAfford": {
|
||||
"message": "Om du inte har råd att köpa en licens kan du klicka {här} för att se om du är berättigad till rabatt",
|
||||
"description": "Keep the curly braces. The word 'here' should be translated as well."
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Logga in med Patreon"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "Lös in"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Prenumerera på Patreon"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "Engångsköp"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Ange licensnyckel"
|
||||
},
|
||||
"chaptersPage1": {
|
||||
"message": "SponsorBlock crowd-sourced kapitelfunktionen är endast tillgänglig för personer som köper en licens eller för de personer som beviljats gratis tillgång på grund av att de bidragit tidigare"
|
||||
},
|
||||
"chaptersPage2": {
|
||||
"message": "Obs: Tillstånd att skicka in kapitel är fortfarande baserat på beräknat rykte. Köpa en licens låter dig bara visa kapitel som lämnats in av andra",
|
||||
"description": "On the chapters page for getting access to the paid chapters feature"
|
||||
},
|
||||
"chapterNewFeature": {
|
||||
"message": "Ny funktion: Crowd-sourced anpassade kapitel. Dessa är anpassade namngivna avsnitt i videor som kan staplas för att få mer och mer exakt. Köp en licens för att se de kapitel som lämnats på denna video såsom: ",
|
||||
"description": "After the comma, a list of chapters for this video will appear"
|
||||
},
|
||||
"chapterNewFeature2": {
|
||||
"message": "Ny funktion: Crowd-sourced anpassade kapitel. Dessa är anpassade namngivna avsnitt i videor som kan staplas för att få mer och mer exakt. För dig är det gratis, aktivera det i alternativen."
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "Du har för närvarande {0} på {1}",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "Du har för närvarande inga oinskickade segment",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "oinskickade segment",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "oinskickade segment",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "video",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "videor",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "Rensa alla segment",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "Är du säker på att du vill rensa alla dina oinskickade segment?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "Visa segment",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "Dölj segment",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "Video-ID",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "Antal segment",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "Åtgärder",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "Dela som webbadress"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -164,6 +164,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "பொது பயனர் IDயை நகலெடுக்கவும்"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "துண்டத்தின் IDஐ நகலெடு"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "பரிந்துரைகள் மற்றும் கருத்துக்களை வழங்க அதிகாரப்பூர்வ டிஸ்கார்ட் சேவையகத்தில் சேர வாருங்கள்!"
|
||||
},
|
||||
@@ -209,6 +212,15 @@
|
||||
"enableViewTrackingInPrivate": {
|
||||
"message": "தனிப்பட்ட/மறைநிலை தாவல்களில் ஸ்கிப் கவுண்ட் டிராக்கிங்கை இயக்கவும்"
|
||||
},
|
||||
"enableTrackDownvotes": {
|
||||
"message": "துண்டத்தின் வாக்கிறக்கங்களைச் சேமி"
|
||||
},
|
||||
"whatTrackDownvotes": {
|
||||
"message": "புதுப்பித்தப் பின் நீங்கள் வாக்கிறக்கிய துண்டங்கள் மறைந்தே இருக்கும்"
|
||||
},
|
||||
"trackDownvotesWarning": {
|
||||
"message": "எச்சரிக்கை: இதை முடக்குதல் முன்னர் சேமித்த எல்லா வாக்கிறக்கங்களையும் அழிக்கும்"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "ஹாஷ் முன்னொட்டு மூலம் வினவல்"
|
||||
},
|
||||
@@ -262,6 +274,18 @@
|
||||
"message": "உங்களுக்கு இன்னும் பிடிக்கவில்லை என்றால், ஒருபோதும் காண்பி பொத்தானை அழுத்தவும்.",
|
||||
"description": "The second line of the message displayed after the notice was upgraded."
|
||||
},
|
||||
"setSkipShortcut": {
|
||||
"message": "துண்டத்தைக் கெந்து",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"setStartSponsorShortcut": {
|
||||
"message": "துண்டத்தை ஆரம்பி/நிறுத்து",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "துண்டங்களைச் சமர்ப்பி",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"0": {
|
||||
"message": "இணைப்பு நேரம் முடிந்தது. உங்கள் இணைய இணைப்பைச் சரிபார்க்கவும். உங்கள் இணையம் இயங்கினால், சேவையகம் அதிக சுமை அல்லது கீழே இருக்கும்."
|
||||
},
|
||||
@@ -287,6 +311,10 @@
|
||||
"mute": {
|
||||
"message": "ஒலியடக்கு"
|
||||
},
|
||||
"full": {
|
||||
"message": "முழு காணொளி",
|
||||
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
|
||||
},
|
||||
"skip_category": {
|
||||
"message": "{0} ஐ தவிர்?"
|
||||
},
|
||||
@@ -353,18 +381,9 @@
|
||||
"statusReminder": {
|
||||
"message": "சேவையக நிலைக்கு status.sponsor.ajay.app ஐச் சரிபார்க்கவும்."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "உங்கள் பயனர் ஐடியை இறக்குமதி / ஏற்றுமதி செய்யுங்கள்"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "இதை தனிப்பட்டதாக வைத்திருக்க வேண்டும். இது கடவுச்சொல் போன்றது, அதை யாருடனும் பகிரக்கூடாது. யாரிடமாவது இது இருந்தால், அவர் உங்களைப் போல் ஆள்மாறாட்டம் செய்யலாம். உங்கள் பொது பயனர் IDயை நீங்கள் தேடுகிறீர்களானால், பாப்அப்பில் உள்ள கிளிப்போர்டு ஐகானைக் கிளிக் செய்யவும்."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "UserID ஐ அமைக்கவும்"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "எச்சரிக்கை: பயனர் ஐடியை மாற்றுவது நிரந்தரமானது. இதை நிச்சயமாக செய்ய விரும்புகிறீர்களா? உங்கள் பழையதை காப்புப்பிரதி எடுக்க உறுதிசெய்க."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "உருவாக்கியது"
|
||||
},
|
||||
@@ -444,8 +463,14 @@
|
||||
"exportOptions": {
|
||||
"message": "அனைத்து விருப்பங்களையும் இறக்குமதி / ஏற்றுமதி"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "இது JSON இல் உங்கள் முழு உள்ளமைவு. இது உங்கள் பயனர் ஐடியை உள்ளடக்கியது, எனவே இதை புத்திசாலித்தனமாக பகிர்ந்து கொள்ளுங்கள்."
|
||||
"exportOptionsCopy": {
|
||||
"message": "திருத்து/நகலெடு"
|
||||
},
|
||||
"exportOptionsDownload": {
|
||||
"message": "கோப்பிற்கு சேமி"
|
||||
},
|
||||
"exportOptionsUpload": {
|
||||
"message": "கோப்பிலிருந்து ஏற்று"
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "விருப்பங்களை அமைக்கவும்"
|
||||
@@ -508,6 +533,9 @@
|
||||
"category_selfpromo_description": {
|
||||
"message": "செலுத்தப்படாத அல்லது சுய விளம்பரத்தைத் தவிர \"ஸ்பான்சர்\" போன்றது. பொருட்கள், நன்கொடைகள் அல்லது அவர்கள் யாருடன் ஒத்துழைத்தார்கள் என்பது பற்றிய தகவல்கள் இதில் அடங்கும்."
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "பிரத்யேக அணுகல்"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "தொடர்பு நினைவூட்டல் (குழுசேர்)"
|
||||
},
|
||||
@@ -535,8 +563,8 @@
|
||||
"category_preview": {
|
||||
"message": "முன்னோட்டம்/மறுபரிசீலனை"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "முந்தைய எபிசோடுகளின் விரைவான மறுபரிசீலனை அல்லது தற்போதைய வீடியோவில் பின்னர் என்ன வரப்போகிறது என்பதற்கான முன்னோட்டம். ஒன்றாக தொகுக்கப்பட்ட கிளிப்புகள், பேசப்பட்ட சுருக்கங்களுக்கு அல்ல."
|
||||
"category_filler_short": {
|
||||
"message": "நிரப்பி"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "இசை: இசை அல்லாத பிரிவு"
|
||||
@@ -571,6 +599,16 @@
|
||||
"disable": {
|
||||
"message": "முடக்கு"
|
||||
},
|
||||
"autoSkip_POI": {
|
||||
"message": "துவக்கத்திற்கு தானாகக் கெந்து"
|
||||
},
|
||||
"manualSkip_POI": {
|
||||
"message": "காணொளி ஏறுகையில் கேள்"
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "சமர்ப்பிக்கப்படாதவை நிறம்",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
},
|
||||
"seekBarColor": {
|
||||
"message": "பார் வண்ணத்தைத் தேடுங்கள்"
|
||||
},
|
||||
@@ -615,6 +653,15 @@
|
||||
"hiddenDueToDuration": {
|
||||
"message": "மறைக்கப்பட்ட: மிகக் குறுகிய"
|
||||
},
|
||||
"manuallyHidden": {
|
||||
"message": "கைமுறையாக மறைக்கப்பட்டது"
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "அனுமதியை ஏற்றுக்கொள்"
|
||||
},
|
||||
"permissionRequestSuccess": {
|
||||
"message": "அனுமதி கோரிக்கை வெற்றி!"
|
||||
},
|
||||
"forceChannelCheck": {
|
||||
"message": "தவிர்ப்பதற்கு முன் சேனல் சோதனை கட்டாயப்படுத்தவும்"
|
||||
},
|
||||
@@ -627,6 +674,9 @@
|
||||
"downvoteDescription": {
|
||||
"message": "தவறான / தவறான நேரம்"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "வகையை மாற்று"
|
||||
},
|
||||
"nonMusicCategoryOnMusic": {
|
||||
"message": "இந்த வீடியோ இசை என வகைப்படுத்தப்பட்டுள்ளது. இதற்கு ஒரு ஸ்பான்சர் இருப்பதை நீங்கள் உறுதியாக நம்புகிறீர்களா? இது உண்மையில் \"இசை அல்லாத பிரிவு\" என்றால், நீட்டிப்பு விருப்பங்களைத் திறந்து இந்த வகையை இயக்கவும். பின்னர், நீங்கள் இந்த பகுதியை ஸ்பான்சருக்கு பதிலாக \"இசை அல்லாதது\" என்று சமர்ப்பிக்கலாம். நீங்கள் குழப்பமாக இருந்தால் வழிகாட்டுதல்களைப் படிக்கவும்."
|
||||
},
|
||||
@@ -645,5 +695,82 @@
|
||||
},
|
||||
"categoryUpdate2": {
|
||||
"message": "அறிமுகங்கள், அவுட்ரோஸ், மெர்ச் போன்றவற்றைத் தவிர்க்க விருப்பங்களைத் திறக்கவும்."
|
||||
},
|
||||
"help": {
|
||||
"message": "உதவி"
|
||||
},
|
||||
"GotIt": {
|
||||
"message": "புரிந்தது",
|
||||
"description": "Used as the button to dismiss a tooltip"
|
||||
},
|
||||
"hideForever": {
|
||||
"message": "என்றென்றும் மறை"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "கொடையளி"
|
||||
},
|
||||
"hideDonationLink": {
|
||||
"message": "நன்கொடை இணைப்பை மறை"
|
||||
},
|
||||
"darkModeOptionsPage": {
|
||||
"message": "தெரிவுகள் பக்கத்தில் இருண்ட பயன்முறை"
|
||||
},
|
||||
"helpPageThanksForInstalling": {
|
||||
"message": "ஸ்பான்சர்ப்ளாக் நிறுவியதற்கு நன்றி."
|
||||
},
|
||||
"ContinueVoting": {
|
||||
"message": "தொடர்ந்து வாக்களி"
|
||||
},
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "இது உம் துண்டங்களை உடனடியாகச் செயல்படுத்தும்"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "வாக்கிறக்கு"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "வாக்கேற்று"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "துண்டத்தை மறை"
|
||||
},
|
||||
"dayAbbreviation": {
|
||||
"message": "நா",
|
||||
"description": "100d"
|
||||
},
|
||||
"hourAbbreviation": {
|
||||
"message": "ம",
|
||||
"description": "100h"
|
||||
},
|
||||
"optionsTabBehavior": {
|
||||
"message": "நடத்தை",
|
||||
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabInterface": {
|
||||
"message": "இடைமுகம்",
|
||||
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabKeyBinds": {
|
||||
"message": "விசைப்பலகை குறுக்குவழிகள்",
|
||||
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabBackup": {
|
||||
"message": "காப்புநகல்/மீட்டெடுப்பு",
|
||||
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabAdvanced": {
|
||||
"message": "இதர",
|
||||
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"notSet": {
|
||||
"message": "அமைக்கவில்லை"
|
||||
},
|
||||
"change": {
|
||||
"message": "மாற்று"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "பீட்டா சேவையகம் இயக்கப்பட்டுள்ளது!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "தெரிவுகள் பக்கத்தைத் திற"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -295,15 +295,6 @@
|
||||
"statusReminder": {
|
||||
"message": "సర్వర్ స్థితి కోసం status.sponsor.ajay.app ని తనిఖీ చేయండి."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "మీ యూజర్ఐడిని దిగుమతి / ఎగుమతి చేయండి"
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "UserID ని సెట్ చేయండి"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "హెచ్చరిక: యూజర్ఐడిని మార్చడం శాశ్వతం. మీరు దీన్ని ఖచ్చితంగా చేయాలనుకుంటున్నారా? ఒకవేళ మీ పాతదాన్ని బ్యాకప్ చేయాలని నిర్ధారించుకోండి."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "సృష్టికర్త"
|
||||
},
|
||||
@@ -361,9 +352,6 @@
|
||||
"exportOptions": {
|
||||
"message": "అన్ని ఎంపికలను దిగుమతి / ఎగుమతి చేయండి"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "ఇది JSON లో మీ మొత్తం కాన్ఫిగరేషన్. ఇది మీ యూజర్ఐడిని కలిగి ఉంది, కాబట్టి దీన్ని తెలివిగా పంచుకోండి."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "ఎంపికలను సెట్ చేయండి"
|
||||
},
|
||||
|
||||
@@ -52,6 +52,9 @@
|
||||
"reskip": {
|
||||
"message": "ข้ามใหม่"
|
||||
},
|
||||
"unmute": {
|
||||
"message": "เปิดเสียง"
|
||||
},
|
||||
"paused": {
|
||||
"message": "กำลังหยุดชั่วคราว"
|
||||
},
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
"message": "Bu daha önce zaten gönderilmiş"
|
||||
},
|
||||
"channelWhitelisted": {
|
||||
"message": "Kanal beyazlistede!"
|
||||
"message": "Kanala izin verildi!"
|
||||
},
|
||||
"Segment": {
|
||||
"message": "kısım"
|
||||
@@ -25,6 +25,19 @@
|
||||
"Segments": {
|
||||
"message": "kısım"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Kısımlar"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Bölümler"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Kısımları bölüm olarak göster",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"showSegmentNameInChapterBar": {
|
||||
"message": "Geçerli kısmı video zamanının yanında göster"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Bu öneriye oy ver"
|
||||
},
|
||||
@@ -112,9 +125,15 @@
|
||||
"closePopup": {
|
||||
"message": "Açılır Pencereyi kapat"
|
||||
},
|
||||
"closeIcon": {
|
||||
"message": "Kapat Simgesi"
|
||||
},
|
||||
"SubmitTimes": {
|
||||
"message": "Kısımları gönder"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Kısımları Sırala"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Bunu göndermek istediğinize emin misiniz?"
|
||||
},
|
||||
@@ -164,6 +183,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "Herkese Açık Kullanıcı Kimliğini Kopyala"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Segment Kimliğini Kopyala"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Öneri ve geri bildirimleriniz için resmi Discord serverımıza katılın!"
|
||||
},
|
||||
@@ -230,12 +252,21 @@
|
||||
"whatRefetchWhenNotFound": {
|
||||
"message": "Eğer video yeni ve kısımları bulunmuyorsa, sen videoyu izlerken her birkaç dakikada bir kısımları edinmeye çalışır."
|
||||
},
|
||||
"enableShowCategoryWithoutPermission": {
|
||||
"message": "Gönderim izni olmasa bile gönderim menüsünde kategorileri gösterme"
|
||||
},
|
||||
"whatShowCategoryWithoutPermission": {
|
||||
"message": "Bazı kategoriler, minimum itibar gereksinimleri nedeniyle göndermek için izin gerektirir"
|
||||
},
|
||||
"showNotice": {
|
||||
"message": "Uyarıyı Tekrar Göster"
|
||||
},
|
||||
"showSkipNotice": {
|
||||
"message": "Bir Kısmı Atladıktan Sonra Uyarı Göster"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Kategori Yardımını Göster"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Tam Boyutlu Atlama Bildirimleri"
|
||||
},
|
||||
@@ -283,6 +314,14 @@
|
||||
"message": "Kısımları gönder",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Sonraki bölüm",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Önceki bölüm",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Kullanmak istediğiniz tuşu yazın ve kombine etmek istediğiniz tuşları seçin."
|
||||
},
|
||||
@@ -382,16 +421,16 @@
|
||||
"message": "Sunucu durumu için status.sponsor.ajay.app kontrol edin."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Kullanıcı kimliğini Dışarı/İçeri Aktar"
|
||||
"message": "Özel Kullanıcı Kimliğini İçe/Dışa Aktar"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Bu gizli tutulmalıdır. Bu bir şifre gibidir ve kimseyle paylaşılmamalıdır. Eğer birisi buna sahipse, seni taklit edebilir. Herkese açık kullanıcı kimliğinizi arıyorsanız, açılır pencerede pano simgesine tıklayın."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Kullanıcı kimliği Belirle"
|
||||
"message": "Özel Kullanıcı Kimliğini Ayarla"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Uyarı: Kullanıcı kimliği değiştirmek kalıcıdır. Bunu yapmak istediğinizden emin misiniz? Eskisini yedeklediğinizden emin olun."
|
||||
"message": "Uyarı: Özel Kullanıcı Kimliğini değiştirmek kalıcıdır. Bunu yapmak istediğinizden emin misiniz? Her ihtimale karşı eskisini yedeklediğinizden emin olun."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Oluşturan"
|
||||
@@ -436,6 +475,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "Ayarlanan değerden daha kısa kısımlar atlanmayacak veya oynatıcıda gösterilmeyecektir."
|
||||
},
|
||||
"enableManualSkipOnFullVideo": {
|
||||
"message": "Tam bir video etiketi mevcut olduğunda manuel atlama özelliğini kullanın"
|
||||
},
|
||||
"whatManualSkipOnFullVideo": {
|
||||
"message": "Video boyunca sponsorlu veya kendi reklamını yapıyorsa videoyu kesintisiz izlemek isteyenler için."
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "Atlandı uyarısı süresi (saniye cinsinden):"
|
||||
},
|
||||
@@ -485,7 +530,7 @@
|
||||
"message": "Dosyadan yükle"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Bu, JSON formatında bütün kurulumunuzu gösterir. Kullanıcı kimliğinizi içerir, bu sebeple paylaşırken dikkatli olun."
|
||||
"message": "Bu, JSON'daki tüm yapılandırmanızdır. Buna Özel Kullanıcı Kimliğiniz de dahildir, bu yüzden bunu paylaşırken dikkatli olun."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Seçenekleri Ayarla"
|
||||
@@ -539,18 +584,43 @@
|
||||
"message": "'e",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Kopyalandı!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Segue geçişlerini dahil et"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Hiçbir şey atlanmamış gibi oynuyor"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Sponsor"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Ücretli tanıtım, ücretli yönlendirmeler ve doğrudan reklamlar. Kendini pazarlayan veya beğendiği içerik üreticilerine/sitelere/ürünlere atıfta bulunanlar için değil."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Ücretli promosyonlar"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Bağışlar veya özel ürünler için değil"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Karşılıksız/Kendi Reklamı"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "\"Sponsor\" seçeneğinden farkı para karşılığı olmaması veya kendi reklamını yapmasıdır. Buna kendi markalı ürünlerini satmak, bağış toplamak ve videoda işbirliği yaptığı kimselerden bahsetmek dahildir."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Bağışlar, üyelikler ve özel ürünler"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Videoya eklenmeyen ücretsiz konuşmalar"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Kurumsal tasarım ürünleri ve malları için değil"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Özel Erişim"
|
||||
},
|
||||
@@ -561,12 +631,24 @@
|
||||
"message": "Bu video; yayıncıya özel ücretle veya ücretsiz sunulan bir ürünün, hizmetin veya bir yerin reklamını yapıyor",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Tüm video, ücretsiz veya sübvansiyonlu erişime sahip bir şeyi sergiliyor"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Etkileşim Hatırlatıcısı (Abonelik)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Videonun ortasında beğenmek, abone olmak veya takip etmek için kısa bir hatırlatma olan kısımdır. Eğer süresi uzunsa veya belirli bir şey hakkındaysa, kendi reklamını yapan kategorisi seçilmelidir."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Beğenmek, abone olmak veya takip etmek için kısa hatırlatıcılar"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Yorum yapmak için dolaylı hatırlatıcılar içerir"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Genel tanıtım için değil, yalnızca harekete geçirici mesajlar"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Etkileşim Hatırlatıcısı"
|
||||
},
|
||||
@@ -579,27 +661,54 @@
|
||||
"category_intro_short": {
|
||||
"message": "Aralık"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Gerçek içerik olmayan aralık"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Bilgi içeren geçişler için değil"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Bitiş Ekranı/Jenerik"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Videoda emeği geçenlerin veya video sonunda çıkan kartların gösterildiği kısımlar. Bilgilendirici sona sahip videolar için değil."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Bitiş kartları ekranda olsa bile içerik eklemeyin"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Ön İzleme/Özet"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Önceki bölümlerin bir özeti veya geçerli videonun içeriğine yönelik bir ön izleme. Bu özellik birleştirilmiş klipler içindir, konuşarak anlatılan özetleri kapsamaz."
|
||||
"message": "Bu videoda veya diğer videolarda neler olduğunu gösteren, videonun ilerleyen zamanında tüm bilgilerin tekrarlandığı bir dizi klip koleksiyonudur."
|
||||
},
|
||||
"category_preview_guideline1": {
|
||||
"message": "Daha sonra veya gelecekteki bir videoda görünen klipler"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "Bir önceki videonun özeti"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Ek içerik ekleyen bölümler için değil"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Konuyla Alakasız / Şaka"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Videonun ana içeriğini anlamak için gerekli olmayan, yalnızca alakasız konu veya mizah için eklenen sahneler. Bu, alakalı veya arka plan ayrıntısı veren kısımları içermemelidir."
|
||||
"message": "Videonun ana içeriğini anlamak için gerekli olmayan, yalnızca zaman geçirme veya mizah için eklenen teğet sahnelerdir. Bu, bağlam veya arka plan ayrıntılarını sağlayan kısımları içermemelidir. Bu, \"eğlence\" havasında olmadığınız zamanlar için tasarlanmış çok agresif bir kategoridir."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Alakasız Konu"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "Yalnızca dolgu veya mizah için teğet sahneler"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "Dikkat dağıtıcı şeyler, hatalar, tekrarlar"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Konuyu anlamak için gerekli sahneler için değil"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Müzik: Müzik Olmayan Bölüm"
|
||||
},
|
||||
@@ -609,12 +718,42 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Müzik Olmayan Bölüm"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Resmi sürümlerde olmayan bölümler"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Canlı performansta müzik dışı"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Vurgu"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "Videoda, çoğu insanın aradığı kısım. \"Video x sürede başlıyor\" yorumlarına benzer."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "Çoğu kişinin aradığı bölüm"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Bağlamı atlayabilir"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Başlığa veya küçük resme atlayabilir"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Bölüm"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "Bir videonun ana kısımlarını açıklayan özel adlandırılmış bölümler."
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "Sponsor marka isimlerinden bahsetme"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "Genel kısımlar için daha büyük bölümler kullanın"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "Daha küçük bölümler daha büyük bölümlerin içine yerleştirilebilir"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Canlı Yayın: Bağış/Mesaj Okuma"
|
||||
},
|
||||
@@ -645,6 +784,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "Etiketi Göster"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Bölümleri Göster"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Müzik olmayan kısım varsa tüm kısımları otomatik atla"
|
||||
},
|
||||
@@ -700,6 +842,10 @@
|
||||
"bracketEnd": {
|
||||
"message": "(Son)"
|
||||
},
|
||||
"End": {
|
||||
"message": "Son",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "gizlendi: eksile"
|
||||
},
|
||||
@@ -713,11 +859,8 @@
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "Kanal kimliği henüz yüklenmedi. Gömülü bir video kullanıyorsanız, bunun yerine YouTube ana sayfasından izlemeyi deneyin. Bu, YouTube düzenindeki değişikliklerden de kaynaklanabilir, eğer öyleyse, buraya bir yorum yazın:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "SponsorBlock'un video verilerini almasını engelleyen bir şey var gibi görünüyor. Lütfen daha fazla bilgi için şuraya göz atın: https://github.com/ajayyy/SponsorBlock/issues/741"
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "SponsorBlock YouTube API'sine ulaşamıyor gibi gözüküyor. Bunu düzeltmek için, bundan sonra görünecek izin isteğini kabul edin, birkaç saniye bekleyin ve ardından sayfayı yeniden yükleyin."
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "Tarayıcınız, eklentinin Invidious ve diğer 3. taraf sitelerde çalışması için gerekli izni kaldırdı. Bu izni yeniden etkinleştirmek için lütfen aşağıdaki butona tıklayın."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "İzni kabul et"
|
||||
@@ -743,6 +886,13 @@
|
||||
"downvoteDescription": {
|
||||
"message": "Hatalı/Yanlış Zaman"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Hatalı"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Zararlı",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Kategoriyi değiştir"
|
||||
},
|
||||
@@ -778,6 +928,9 @@
|
||||
"categoryPillTitleText": {
|
||||
"message": "Bu videonun bütünü bu şekilde sınıflandırılmış ve kısımları birbirinden ayrılamayacak kadar sıkı bütünleştirilmiş"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "Bölüm adlarınızdan biri bir kategoriye benziyor. Bunun yerine mümkün olduğunda kategorileri kullanmalısınız."
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "Gelecekteki deneylerin hiçbirine katılma",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
@@ -786,11 +939,19 @@
|
||||
"message": "Asla gösterme"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Bir uyarı aldınız ve geçici olarak gönderim yapamazsınız. Bu, kötü niyetli olmayan bazı yaygın hatalar yaptığınızı fark ettiğimiz anlamına gelir, lütfen kuralları anladığınızı onaylayın, uyarıyı sonra kaldıracağız. Bu konuşmaya discord.gg/SponsorBlock ya da matrix.to/#/#sponsor:ajay.app kullanarak katılabilirsiniz."
|
||||
"message": "Kötü amaçlı olmayan bazı yaygın hatalar yaptığınızı fark ettik"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Bir uyarı nedeniyle oy reddedildi. Çözüm bulmak için buraya tıklayarak bir sohbet açın veya daha sonra vaktiniz olduğunda uğrayın.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "Bir uyarı aldın"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "Bir sorum var"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Nedenini anlıyorum"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Uyarıyı tanımlamaya çalışırken hata oluştu:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Bağış Yap"
|
||||
@@ -817,19 +978,19 @@
|
||||
"message": "Atlama nasıl çalışıyor"
|
||||
},
|
||||
"helpPageHowSkippingWorks1": {
|
||||
"message": "Video kısımları veri tabanında mevcut ise otomatikman atlanır. Eklentinin simgesine tıklayınca açılan pencereden, video için mevcut olan kısımları görebilirsiniz."
|
||||
"message": "Segmen video akan otomatis dilewati jika ditemukan di databasis. Kamu bisa buka munculan dengan klik ikon ekstensi untuk mendapatkan pratinjau apa adanya."
|
||||
},
|
||||
"helpPageHowSkippingWorks2": {
|
||||
"message": "Bir kısmı atladığınızda size bildirim gönderilir. Eğer kısım hatalıysa bunu eksi oylayınız. Eklentinin penceresinde de oy verebilirsiniz."
|
||||
"message": "Når du springer et segment over, får du besked, når du springer et segment over. Hvis timingen virker forkert, kan du stemme ned ved at klikke på downvote! Du kan også stemme i popup-vinduet."
|
||||
},
|
||||
"Submitting": {
|
||||
"message": "Gönderme"
|
||||
"message": "Submitting"
|
||||
},
|
||||
"helpPageSubmitting1": {
|
||||
"message": "Gönderi, açılır pencerede \"Kısım Şimdi Başlıyor\" düğmesine basılarak veya oynatıcıdaki düğmelerle video oynatıcıda yapılabilir."
|
||||
"message": "Indsendelse kan enten ske i popup-vinduet ved at trykke på \"Segment Begynder Nu\"-knappen eller i videoafspilleren med knapperne på afspilleren."
|
||||
},
|
||||
"helpPageSubmitting2": {
|
||||
"message": "Oynat düğmesine tıklamak bir kısımın başlangıcını, durdurma simgesine tıklamak ise bitişini gösterir. Gönder düğmesine basmadan önce birden fazla sponsor hazırlayabilirsiniz. Yükle düğmesine tıklamak kısımları gönderir. Çöp kutusuna tıkladığınızda silinir."
|
||||
"message": "Clicking the play button indicated the start of a segment and clicking the stop icon indicates the end. You can prepare multiple sponsors before hitting submit. Clicking the upload button will submit. Clicking the garbage can will delete."
|
||||
},
|
||||
"Editing": {
|
||||
"message": "Düzenleme"
|
||||
@@ -864,6 +1025,9 @@
|
||||
"LearnMore": {
|
||||
"message": "Dahasını Öğren"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Tüm Detaylar"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Olumsuz oy verir ve yeni bir kısım seçmeniz için bir kopya oluşturur"
|
||||
},
|
||||
@@ -879,6 +1043,21 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Bu, kısımlarınız için anında geçerli olur"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Eksi oy"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Olumlu oy"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Segmenti gizleyin"
|
||||
},
|
||||
"skipSegment": {
|
||||
"message": "Kısmı atla"
|
||||
},
|
||||
"playChapter": {
|
||||
"message": "Bölümü oynat"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Zaman aralığını hızlı bir şekilde ayarlamak için düzenleme kutusunun üzerinde fare tekerini kullanın. Değişikliklere ince ayar yapmak için ctrl veya shift tuşunun kombinasyonları kullanılabilir."
|
||||
},
|
||||
@@ -886,11 +1065,11 @@
|
||||
"message": "Yeni! Videonun bütünü sponsor veya kendi reklamıysa bu uyarıyı görün"
|
||||
},
|
||||
"dayAbbreviation": {
|
||||
"message": "d",
|
||||
"message": "g",
|
||||
"description": "100d"
|
||||
},
|
||||
"hourAbbreviation": {
|
||||
"message": "h",
|
||||
"message": "s",
|
||||
"description": "100h"
|
||||
},
|
||||
"optionsTabBehavior": {
|
||||
@@ -929,5 +1108,140 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Bu kısayol YouTube tarafından kullanılıyor. Bunu kullanmak istediğinize emin misiniz?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "BETA Sunucusu etkinleştirildi!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Seçenekler sayfasını aç"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Ayarları varsayılana sıfırla"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Tüm ayarları varsayılan değerlerine sıfırlamak istediğinizden emin misiniz? Bu geri alınamaz."
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Segmentleri dışa aktar"
|
||||
},
|
||||
"importSegments": {
|
||||
"message": "Kısımları içe aktar"
|
||||
},
|
||||
"Import": {
|
||||
"message": "İçeri aktar",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "Kullanım Başarılı!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "Lisans anahtarı geçersiz"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "Ekstra ödeme olmadan kullanılamayan özellikleri gizle"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Bir ülke seçiniz"
|
||||
},
|
||||
"noDiscount": {
|
||||
"message": "İndirim için uygun değilsiniz"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "İndirim Bağlantısı (Pembe fiyatı gör)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Ülkenizi seçin"
|
||||
},
|
||||
"alreadyDonated": {
|
||||
"message": "Şimdiye kadar herhangi bir miktarda bağış yaptıysanız, bu adrese e-posta göndererek ücretsiz erişim hakkına sahip olabilirsin:",
|
||||
"description": "After the colon is an email address"
|
||||
},
|
||||
"cantAfford": {
|
||||
"message": "Lisans satın almaya gücünüz yetmiyorsa, indirim almaya uygun olup olmadığınızı görmek için {here} tıklayın",
|
||||
"description": "Keep the curly braces. The word 'here' should be translated as well."
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Patreon ile giriş yap"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "Kullan"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Patreon'da Destekle"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "Tek seferlik satın alım"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Lisans Anahtarını Girin"
|
||||
},
|
||||
"chaptersPage1": {
|
||||
"message": "SponsorBlock'un topluluk kaynaklı bölümler özelliği yalnızca lisans satın alan veya geçmiş katkılarından dolayı ücretsiz erişim hakkı verilen kişiler tarafından kullanılabilir"
|
||||
},
|
||||
"chaptersPage2": {
|
||||
"message": "Not: Bölüm gönderme izni hala hesaplanan itibara dayanmaktadır. Bir lisans satın almak, yalnızca başkaları tarafından gönderilen bölümleri görüntülemenize izin verir",
|
||||
"description": "On the chapters page for getting access to the paid chapters feature"
|
||||
},
|
||||
"chapterNewFeature": {
|
||||
"message": "Yeni Özellik: Topluluk kaynaklı özel bölümler. Bunlar, giderek daha doğru hale gelmek için istiflenebilen videolardaki özel adlandırılmış bölümlerdir. Bu videodaki gibi gönderilen bölümleri görüntülemek için bir lisans satın alın: ",
|
||||
"description": "After the comma, a list of chapters for this video will appear"
|
||||
},
|
||||
"chapterNewFeature2": {
|
||||
"message": "Yeni Özellik: Topluluk kaynaklı özel bölümler. Bunlar, giderek daha doğru hale gelmek için istiflenebilen videolardaki özel adlandırılmış bölümlerdir. Ücretsiz erişiminiz var, seçeneklerden etkinleştirin."
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "Şu anda {1} da {0} var",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "Gönderilmemiş kısmınız bulunmamaktadır",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "gönderilmemiş kısım",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "gönderilmemiş kısımlar",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "video",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "videolar",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "Tüm kısımları temizle",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "Gönderilmemiş tüm kısımları temizlemek istediğinizden emin misiniz?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "Kısımları göster",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "Kısımları gizle",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "Video ID",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "Kısım Sayısı",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "İşlemler",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "URL olarak paylaş"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,16 @@
|
||||
"Segments": {
|
||||
"message": "сегментів"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "Сегменти"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "Розділи"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "Показувати сегменти як розділи",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "Проголосувати за цей сегмент"
|
||||
},
|
||||
@@ -115,6 +125,9 @@
|
||||
"SubmitTimes": {
|
||||
"message": "Надіслати сегменти"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "Сортувати сегменти"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "Ви впевнені, що хочете надіслати цю інформацію?"
|
||||
},
|
||||
@@ -164,6 +177,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "Копіювати публічний UserID"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Копіювати ID сегменту"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Приєднуйтесь до офіційного сервера Discord, щоб залишити пропозиції і зворотний зв'язок!"
|
||||
},
|
||||
@@ -236,6 +252,9 @@
|
||||
"showSkipNotice": {
|
||||
"message": "Показувати сповіщення після пропуску сегмента"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Показати Довідку по Категоріях"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Повнорозмірні сповіщення про пропуски"
|
||||
},
|
||||
@@ -283,6 +302,14 @@
|
||||
"message": "Надіслати сегменти",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "Наступний розділ",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "Попередній розділ",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Виберіть клавішу, набравши її та виберіть бажану клавішу-модифікатор."
|
||||
},
|
||||
@@ -381,18 +408,9 @@
|
||||
"statusReminder": {
|
||||
"message": "Дивіться стан сервера на status.sponsor.ajay.app."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Імпортувати/Експортувати Ваш ідентифікатор користувача"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Тримайте його в таємниці. Ставтеся до нього як до паролю і не передавайте нікому. Якщо хтось їм заволодіє, то зможе видати себе за вас. Якщо ви шукаєте публічний ID користувача, натисніть значок буфера обміну у спливаючому вікні."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Встановити ідентифікатор користувача"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Увага: зміна ідентифікатора користувача є незворотнім. Ви дійсно хочете це зробити? Зробіть резервну копію вашого старого про всяк випадок."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Створено"
|
||||
},
|
||||
@@ -484,9 +502,6 @@
|
||||
"exportOptionsUpload": {
|
||||
"message": "Завантажити з файлу"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Це вся конфігурація в форматі JSON. Цей файл містить Ваш ідентифікатор користувача, тому не забудьте ділитися з цим розумно."
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Встановити параметри"
|
||||
},
|
||||
@@ -539,12 +554,25 @@
|
||||
"message": "до",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "Скопійовано!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "Включає плавний перехід до наступної теми"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Програється, наче нічого не пропущено"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Спонсор"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Рекламні інтеграції, реферальні посилання і реклама безпосередньо. Не для самореклами або рекомендацій різних подій/творців/сайтів/продуктів, які подобаються автору відео."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Платні акції"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Самореклама/рекомендація"
|
||||
},
|
||||
@@ -589,14 +617,11 @@
|
||||
"message": "Попередній перегляд/короткий зміст"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Короткий зміст попередніх епізодів або попередній перегляд того, що буде в даному відео. Призначено для сегментів, змонтованих зі шматків відео, а не для усних переказів."
|
||||
"message": "Колекція кліпів, які показують, що відбувається в цьому відео або інших відео в серії, де вся інформація повторюється пізніше у відео."
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Дотичне наповнення/Жарти"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Дотичні сцени додані лише для наповнення або гумору, які не потрібні для розуміння основного вмісту відео. Це не повинно включати сегменти, що надають контекст або передісторію."
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Наповнення"
|
||||
},
|
||||
@@ -609,12 +634,24 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Без музики"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Не музика під час виступу наживо"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Основне"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "Частина відео яку шукає більшість людей (Аналогічно коментарю \"Відео починається з Х:ХХ\")."
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Може пропустити контекст"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Можна перейти до назви або ескізу"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "Розділ"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Прямі трансляції: пожертвування/читання повідомлення"
|
||||
},
|
||||
@@ -645,6 +682,9 @@
|
||||
"showOverlay_full": {
|
||||
"message": "Показати мітку"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "Показати розділи"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Автоматично пропустити усі сегменти, якщо присутній сегмент без музики"
|
||||
},
|
||||
@@ -700,6 +740,10 @@
|
||||
"bracketEnd": {
|
||||
"message": "(Кінець)"
|
||||
},
|
||||
"End": {
|
||||
"message": "Кінець",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "приховано: проголосували проти"
|
||||
},
|
||||
@@ -713,11 +757,8 @@
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "ID каналу ще не завантажений. Якщо ви використовуєте вбудоване відео, спробуйте замість цього скористатися домашньою сторінкою YouTube. Це також може бути викликано змінами в дизайні YouTube, якщо ви вважаєте, що це так, залиште коментар тут:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "Схоже, щось блокує можливість SponsorBlock'а отримувати дані про відео. Докладніше: https://github.com/ajayyy/SponsorBlock/issues/741."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Здається, SponsorBlock не може отримати доступ до API YouTube. Щоб виправити цю помилку, дайте дозвіл у вікні, яке зараз з'явиться, зачекайте кілька секунд і потім перезавантажте сторінку."
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "Браузер відкликав дозвіл, необхідний для роботи на Invidious та інших сторонніх сайтах. Будь ласка, натисніть кнопку нижче, щоб повторно активувати цей дозвіл."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Надати дозвіл"
|
||||
@@ -743,6 +784,13 @@
|
||||
"downvoteDescription": {
|
||||
"message": "Невірно вказано час"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "Неправильно"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "Шкідливе",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "Змінити категорію"
|
||||
},
|
||||
@@ -786,11 +834,19 @@
|
||||
"message": "Сховати назавжди"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Ви отримали попередження, тому тимчасово не можете надсилати сегменти. Це означає, що ми помітили, що ви робили кілька поширених помилок не маючи шкідливих намірів. Будь ласка просто підтвердьте, що ви розумієте правила, і ми приберемо попередження. Ви також можете приєднатися до чату з правилами використовуючи discord.gg/SponsorBlock or matrix.to/#/#sponsor:ajay.app"
|
||||
"message": "Ми помітили, що ви не зловмисно робили деякі поширені помилки"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Голосування відхилено через попередження. Натисніть, щоб відкрити чат для вирішення цієї проблеми, або поверніться пізніше.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"warningTitle": {
|
||||
"message": "Ви отримали попередження"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "У мене є питання"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Я розумію причину"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "Помилка при спробі визнати попередження:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Пожертвувати"
|
||||
@@ -864,6 +920,9 @@
|
||||
"LearnMore": {
|
||||
"message": "Дізнатися більше"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Повна інформація"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Голосує проти та створює локальну копію для повторного надсилання"
|
||||
},
|
||||
@@ -879,6 +938,15 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Це миттєво буде застосовано до ваших сегментів"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Голос \"проти\""
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Голос \"за\""
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Приховати сегмент"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Навівши курсор на поле редагування, користуйтеся колесом прокрутки, щоб швидко відрегулювати час. Комбінації клавіш ctrl або shift можуть бути використані для точнішої настройки змін."
|
||||
},
|
||||
@@ -929,5 +997,100 @@
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Це вбудована комбінація YouTube. Ви впевнені що хочете її використовувати?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "BETA сервер увімкнено!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Відкрити сторінку налаштувань"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Повернутись до стандартних налаштувань"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Ви впевнені, що хочете скинути всі налаштування до значень за замовчуванням? Це не можна буде скасувати."
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "Експортувати сегменти"
|
||||
},
|
||||
"Import": {
|
||||
"message": "Імпорт",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "Ліцензійний ключ недійсний"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "Виберіть країну"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "Виберіть вашу країну"
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "Вхід через Patreon"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "Підписатися на Patreon"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "Разова покупка"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "Введіть ліцензійний ключ"
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "Наразі у вас є {0} на {1}",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "У вас наразі немає не надісланих сегментів",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "не надісланий сегмент",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "не надіслані сегменти",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "відео",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "відео",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "Очистити всі сегменти",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "Ви впевнені, що хочете очистити всі ваші не надіслані сегменти?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "Показати сегменти",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "Приховати сегменти",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "ID відео",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "Кількість сегментів",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "Дії",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "Поділитися посиланням"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -164,6 +164,9 @@
|
||||
"copyPublicID": {
|
||||
"message": "Sao chép Public UserID"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "Sao chép ID phân đoạn"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "Hãy tham gia server Discord chính thức để đưa ra gợi ý và phản hồi!"
|
||||
},
|
||||
@@ -209,6 +212,15 @@
|
||||
"enableViewTrackingInPrivate": {
|
||||
"message": "Bật việc theo dõi số lượng người bỏ qua phân đoạn trong tab Riêng tư/Ẩn danh"
|
||||
},
|
||||
"enableTrackDownvotes": {
|
||||
"message": "Lưu trữ phiếu phản đối phân đoạn"
|
||||
},
|
||||
"whatTrackDownvotes": {
|
||||
"message": "Bất kỳ phân đoạn nào bạn phản đối sẽ vẫn bị ẩn ngay cả sau khi làm mới"
|
||||
},
|
||||
"trackDownvotesWarning": {
|
||||
"message": "Cảnh báo: Tắt tính năng này sẽ xóa tất cả các phiếu phản đối đã lưu trữ trước đó"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "Truy vấn theo Hash Prefix"
|
||||
},
|
||||
@@ -227,6 +239,9 @@
|
||||
"showSkipNotice": {
|
||||
"message": "Hiển thị thông báo sau khi bỏ qua phân đoạn"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "Hiển thị Danh mục Trợ giúp"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "Thông báo bỏ qua với kích thước đầy đủ"
|
||||
},
|
||||
@@ -262,6 +277,21 @@
|
||||
"message": "Nếu bạn vẫn không thích, hãy nhấn nút không hiển thị lại.",
|
||||
"description": "The second line of the message displayed after the notice was upgraded."
|
||||
},
|
||||
"setSkipShortcut": {
|
||||
"message": "Bỏ qua phân đoạn",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"setStartSponsorShortcut": {
|
||||
"message": "Bắt đầu/dừng phân đoạn",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "Gửi phân đoạn",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "Chọn một phím bằng cách nhập nó và chọn bất kỳ phím bổ trợ nào bạn muốn sử dụng."
|
||||
},
|
||||
"0": {
|
||||
"message": "Kết nối quá hạn thời gian. Hãy kiểm tra đường truyền mạng của bạn. Nếu mạng của bạn vẫn hoạt động, có thể máy chủ đang bị quá tải hoặc không hoạt động."
|
||||
},
|
||||
@@ -357,18 +387,9 @@
|
||||
"statusReminder": {
|
||||
"message": "Truy cập trang status.sponsor.ajay.app để biết tình trạng máy chủ."
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "Nhập/Xuất mã người dùng của bạn"
|
||||
},
|
||||
"whatChangeUserID": {
|
||||
"message": "Đây là mã cần được giữ bí mật. Nó giống như mật khẩu và không nên được chia sẻ cho bất kì ai khác. Nếu có ai đó lấy được mã này, họ có thể mạo danh bạn. Còn nếu như bạn đang tìm khoá ID công khai, hãy nhấn vào nút \"Sao chép Public UserID\" trong popup của SponsorBlock."
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "Đặt mã người dùng"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "Cảnh báo: Việc thay đổi mã người dùng có tác dụng vĩnh viễn. Bạn có chắc muốn thay đổi không? Hãy nhớ sao lưu lại mã người dùng cũ để đề phòng."
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "Được tạo bởi"
|
||||
},
|
||||
@@ -421,6 +442,9 @@
|
||||
"shortCheck": {
|
||||
"message": "Đoạn quảng cáo sau ngắn hơn tùy chọn độ dài ngắn nhất của bạn. Điều này có thể có nghĩa là nó đã được đăng rồi, và không được bỏ qua vì tùy chọn này. Bạn có chắc muốn đăng nó không?"
|
||||
},
|
||||
"liveOrPremiere": {
|
||||
"message": "Không được phép gửi trên một buổi phát trực tiếp hoặc buổi ra mắt đang hoạt động. Vui lòng đợi cho đến khi kết thúc, sau đó làm mới trang và xác minh rằng các phân đoạn vẫn hợp lệ."
|
||||
},
|
||||
"showUploadButton": {
|
||||
"message": "Hiển thị nút tải lên"
|
||||
},
|
||||
@@ -448,8 +472,14 @@
|
||||
"exportOptions": {
|
||||
"message": "Nhập/xuất tất cả tùy chọn"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "Đây là toàn bộ cấu hình của bạn trong tệp JSON. Nó chứa cả mã người dùng của bạn, nên hãy chia sẻ cẩn thận."
|
||||
"exportOptionsCopy": {
|
||||
"message": "Chỉnh sửa/sao chép"
|
||||
},
|
||||
"exportOptionsDownload": {
|
||||
"message": "Lưu vào tệp"
|
||||
},
|
||||
"exportOptionsUpload": {
|
||||
"message": "Tải từ tệp"
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "Đặt tùy chọn"
|
||||
@@ -496,31 +526,71 @@
|
||||
"copyDebugInformationComplete": {
|
||||
"message": "Thông tin gỡ lỗi đã được sao chép vào bộ nhớ tạm. Hãy thoải mái xóa thông tin mà bạn không muốn chia sẻ. Lưu thông tin này vào một tập tin văn bản hoặc dán nó vào bản báo cáo lỗi."
|
||||
},
|
||||
"keyAlreadyUsed": {
|
||||
"message": "Phím tắt này liên kết với một hành động khác. Vui lòng chọn một cái khác."
|
||||
},
|
||||
"to": {
|
||||
"message": "đến",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "Chơi như thể không có gì bị bỏ qua"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "Nhà tài trợ"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "Nội dung được trả tiền để quảng cáo, giới thiệu và quảng cáo trực tiếp. Không phải là quảng cáo không trả công hay được đề cập miễn phí."
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "Quảng cáo trả phí"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "Không dành cho các khoản đóng góp"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "Quảng cáo không trả công/Tự quảng cáo"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "Tương tự như 'nhà tài trợ' ngoại trừ việc quảng cáo không được trả tiền hay tự quảng cáo. Điều này bao gồm các phần hàng hóa, đóng góp, hoặc thông tin về người mà họ hợp tác cùng."
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "Quyên góp, tư cách thành viên và hàng hóa tùy chỉnh"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "Lời cảm ơn miễn phí không thêm vào video"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "Không dành cho các sản phẩm và hàng hóa do công ty thiết kế"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "Truy cập riêng"
|
||||
},
|
||||
"category_exclusive_access_description": {
|
||||
"message": "Chỉ để dán nhãn cho toàn bộ video. Được sử dụng khi video giới thiệu một sản phẩm, dịch vụ hoặc vị trí mà họ đã nhận được quyền truy cập miễn phí hoặc được trợ cấp."
|
||||
},
|
||||
"category_exclusive_access_pill": {
|
||||
"message": "Video này giới thiệu sản phẩm, dịch vụ hoặc vị trí mà họ đã nhận được quyền truy cập miễn phí hoặc được trợ cấp",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "Toàn bộ video giới thiệu nội dung nào đó có quyền truy cập miễn phí hoặc được trợ cấp"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "Nhắc tương tác (Đăng ký)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "Nhắc nhở người xem Thích, Đăng ký hoặc Theo dõi. Nếu nó dài hoặc là một cái gì cụ thể, nó nên là danh mục \"Tự quảng cáo\"."
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "Lời nhắc ngắn gọn để thích, đăng ký hoặc theo dõi"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "Bao gồm lời nhắc gián tiếp để bình luận"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "Không dành cho quảng cáo chung, chỉ dành cho lời kêu gọi hành động"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "Nhắc nhở tương tác"
|
||||
},
|
||||
@@ -533,24 +603,42 @@
|
||||
"category_intro_short": {
|
||||
"message": "Tạm ngừng"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "Khoảng thời gian không thực sự chứa nội dung"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "Không dành cho chuyển tiếp có chứa thông tin"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "Màn hình kết thúc/Danh đề"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "Credits hoặc khi thẻ màn hình kết thúc của YouTube xuất hiện. Không dùng với những đoạn có thông tin."
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "Không bao gồm nội dung, ngay cả khi thẻ kết thúc ở trên màn hình"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "Xem trước/Tóm tắt"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "Tóm tắt nhanh về tập trước/tập sau trong 1 chuỗi video (series) dài (hoặc cũng có thể là tóm tắt trước về video sắp chiếu)."
|
||||
"category_preview_guideline1": {
|
||||
"message": "Các clip xuất hiện sau đó hoặc trong một video trong tương lai"
|
||||
},
|
||||
"category_filler_description": {
|
||||
"message": "Tập hợp các cảnh không bắt buộc để xem trong video. Điều này không bao gồm các đoạn chứa nội dung hoặc nói về ngữ cảnh của video."
|
||||
"category_preview_guideline2": {
|
||||
"message": "Tóm tắt video trước đó"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "Không dành cho các phần thêm nội dung bổ sung"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "Cảnh phụ"
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "Cảnh phụ"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "Không dùng cho các cảnh cần thiết để hiểu chủ đề"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "Nhạc: Phần không nhạc"
|
||||
},
|
||||
@@ -560,12 +648,27 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "Không có nhạc"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "Phần không có trong bản phát hành chính thức"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "Phần không nhạc trong một buổi biểu diễn trực tiếp"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "Điểm/Khoảnh khắc quan trọng"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "Phần của video mà hầu hết mọi người đang tìm kiếm. Tương tự với câu nói \"Video bắt đầu từ x\"."
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "Phần mà hầu hết mọi người đang tìm kiếm"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "Có thể bỏ qua ngữ cảnh"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "Có thể bỏ qua để đến tiêu đề hoặc hình thu nhỏ"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "Luồng phát trực tiếp: Đọc Quyên góp/Tin nhắn"
|
||||
},
|
||||
@@ -593,12 +696,19 @@
|
||||
"showOverlay_POI": {
|
||||
"message": "Hiện ở thanh xem trước"
|
||||
},
|
||||
"showOverlay_full": {
|
||||
"message": "Hiển thị nhãn"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "Tự động bỏ qua tất cả các phân đoạn nếu trong video có phân đoạn không phải nhạc"
|
||||
},
|
||||
"muteSegments": {
|
||||
"message": "Cho phép các phân đoạn bị tắt tiếng hay vì bỏ qua"
|
||||
},
|
||||
"fullVideoSegments": {
|
||||
"message": "Hiển thị biểu tượng khi video hoàn toàn là quảng cáo",
|
||||
"description": "Referring to the category pill that is now shown on videos that are entirely sponsor or entirely selfpromo"
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "Màu khi chưa được gửi đi",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
@@ -650,16 +760,13 @@
|
||||
"hiddenDueToDuration": {
|
||||
"message": "đã bị ẩn: quá ngắn"
|
||||
},
|
||||
"manuallyHidden": {
|
||||
"message": "ẩn thủ công"
|
||||
},
|
||||
"channelDataNotFound": {
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "Không xác định được ID kênh. Nếu bạn đang xem video này trên 1 trang web thứ 3, hãy mở lại video này trên trang chủ Youtube rồi thử lại. Điều này cũng có thể do những thay đổi trong mã nguồn trang web YouTube, nếu bạn nghĩ vậy, hãy bình luận tại đây:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "SponsorBlock không thể truy vấn dữ liệu lịch sử phân đoạn video. Có thể do trình chặn quảng cáo của bạn. Bạn có thể tìm hiểu nguyên nhân và cách fix ở đây: https://github.com/ajayyy/SponsorBlock/issues/741."
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "Có vẻ như SponsorBlock không thể truy cập API YouTube. Để khắc phục điều này, hãy chấp nhận lời nhắc cấp quyền sẽ xuất hiện tiếp theo, đợi vài giây rồi tải lại trang."
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "Cho phép truy cập"
|
||||
},
|
||||
@@ -713,6 +820,9 @@
|
||||
"message": "Đã hiểu",
|
||||
"description": "Used as the button to dismiss a tooltip"
|
||||
},
|
||||
"fullVideoTooltipWarning": {
|
||||
"message": "Phân đoạn này là lớn. Nếu toàn bộ video nói về một chủ đề, hãy chuyển từ \"Bỏ qua\" thành \"Toàn bộ video\". Xem hướng dẫn để biết thêm thông tin."
|
||||
},
|
||||
"categoryPillTitleText": {
|
||||
"message": "Toàn bộ video này được gắn thẻ vào thể loại này và được tích hợp quá chặt chẽ để có thể tách ra"
|
||||
},
|
||||
@@ -723,19 +833,27 @@
|
||||
"hideForever": {
|
||||
"message": "Ẩn vĩnh viễn"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "Bạn đã nhận được một cảnh báo và tạm thời không thể gửi các phân đoạn. Bạn đã mắc lỗi trong việc tạo phân đoạn quá nhiều lần (có thể là chọn sai kiểu phân đoạn hoặc sai thời gian phân đoạn). Chúng tôi muốn bạn nhận ra điều đó để giúp bạn không mắc lỗi trong tương lai. Bạn có thể gặp các Vip User tại đây: discord.gg/SponsorBlock hoặc matrix.to/#/#sponsor:ajay.app. Bọn họ sẽ giúp bạn gỡ cảnh báo sau khi bạn đã hiểu ra lỗi sai của bạn"
|
||||
"warningTitle": {
|
||||
"message": "Bạn đã bị cảnh cáo"
|
||||
},
|
||||
"voteRejectedWarning": {
|
||||
"message": "Bỏ phiếu bị từ chối do có cảnh báo. Nhấp để mở cuộc trò chuyện để giải quyết hoặc quay lại sau.",
|
||||
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
|
||||
"questionButton": {
|
||||
"message": "Tôi có một câu hỏi"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "Tôi hiểu lí do này"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "Ủng hộ"
|
||||
},
|
||||
"considerDonating": {
|
||||
"message": "Hỗ trợ phát triển cấp quỹ"
|
||||
},
|
||||
"hideDonationLink": {
|
||||
"message": "Ẩn link donate"
|
||||
},
|
||||
"darkModeOptionsPage": {
|
||||
"message": "Chế độ tối trên trang tùy chọn"
|
||||
},
|
||||
"helpPageThanksForInstalling": {
|
||||
"message": "Cảm ơn bạn đã cài đặt SponsorBlock."
|
||||
},
|
||||
@@ -796,6 +914,9 @@
|
||||
"LearnMore": {
|
||||
"message": "Tìm hiểu thêm"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "Xem toàn bộ đầy đủ thông tin"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "Hạ bình chọn và tạo một bản sao cục bộ cho bạn gửi lại"
|
||||
},
|
||||
@@ -811,6 +932,15 @@
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "Điều này sẽ ngay lập tức áp dụng cho phân đoạn của bạn"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "Phản đối"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "Bình chọn"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "Ẩn phân đoạn"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "Sử dụng con lăn chuột của bạn khi di chuột qua hộp chỉnh sửa để nhanh chóng điều chỉnh thời gian. Kết hợp phím ctrl hoặc shift có thể được sử dụng để tinh chỉnh các thay đổi."
|
||||
},
|
||||
@@ -824,5 +954,54 @@
|
||||
"hourAbbreviation": {
|
||||
"message": "h",
|
||||
"description": "100h"
|
||||
},
|
||||
"optionsTabBehavior": {
|
||||
"message": "Hành vi",
|
||||
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabInterface": {
|
||||
"message": "Giao diện",
|
||||
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabKeyBinds": {
|
||||
"message": "Phím tắt bàn phím",
|
||||
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabBackup": {
|
||||
"message": "Sao lưu/Khôi phục",
|
||||
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabAdvanced": {
|
||||
"message": "Điều khoản khác",
|
||||
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"noticeVisibilityLabel": {
|
||||
"message": "Bỏ qua thông báo xuất hiện",
|
||||
"description": "Option label"
|
||||
},
|
||||
"unbind": {
|
||||
"message": "Gỡ liên kết",
|
||||
"description": "Unbind keyboard shortcut"
|
||||
},
|
||||
"notSet": {
|
||||
"message": "Chưa thiết lập"
|
||||
},
|
||||
"change": {
|
||||
"message": "Thay đổi"
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "Đây là lối tắt YouTube được tích hợp sẵn. Bạn có chắc chắn muốn sử dụng nó không?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "Máy chủ THỬ NGHIỆM đã được kích hoạt!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "Mở trang tùy chọn"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "Thiết lập lại cài đặt gốc"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "Bạn chắc chắn muốn đặt lại cài đặt về mặc định? Điều này sẽ không thể hoàn tác được."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -298,15 +298,6 @@
|
||||
"statusReminder": {
|
||||
"message": "在 status.sponsor.ajay.app 检查服务器状态。"
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "导入/导出您的用户 ID"
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "设定用户 ID"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "警告:更改用户 ID 是永久性的。您确定要这么做吗?请务必备份您的旧用户 ID 以防万一。"
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "创建者"
|
||||
},
|
||||
@@ -367,9 +358,6 @@
|
||||
"exportOptions": {
|
||||
"message": "导入/导出所有选项"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "这是您全部配置的 JSON 格式。它包含了您的用户 ID ,所以您一定要谨慎的保管它。"
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "设定选项"
|
||||
},
|
||||
|
||||
@@ -25,6 +25,16 @@
|
||||
"Segments": {
|
||||
"message": "片段"
|
||||
},
|
||||
"SegmentsCap": {
|
||||
"message": "片段"
|
||||
},
|
||||
"Chapters": {
|
||||
"message": "章節"
|
||||
},
|
||||
"renderAsChapters": {
|
||||
"message": "以章節渲染片段",
|
||||
"description": "Refers to drawing segments on the YouTube seek bar as split up chapters, similar to the existing chapter system"
|
||||
},
|
||||
"upvoteButtonInfo": {
|
||||
"message": "為這個提交按讚"
|
||||
},
|
||||
@@ -53,7 +63,7 @@
|
||||
"message": "繼續跳過"
|
||||
},
|
||||
"unmute": {
|
||||
"message": "解除靜音"
|
||||
"message": "取消靜音"
|
||||
},
|
||||
"paused": {
|
||||
"message": "已暫停"
|
||||
@@ -115,6 +125,9 @@
|
||||
"SubmitTimes": {
|
||||
"message": "提交分段"
|
||||
},
|
||||
"sortSegments": {
|
||||
"message": "排序片段"
|
||||
},
|
||||
"submitCheck": {
|
||||
"message": "您確定要提交這個嗎?"
|
||||
},
|
||||
@@ -161,6 +174,12 @@
|
||||
"setUsername": {
|
||||
"message": "設定使用者名稱"
|
||||
},
|
||||
"copyPublicID": {
|
||||
"message": "複製公開使用者ID"
|
||||
},
|
||||
"copySegmentID": {
|
||||
"message": "複製片段 ID"
|
||||
},
|
||||
"discordAdvert": {
|
||||
"message": "快加入官方 Discord 伺服器來給予建議和反應!"
|
||||
},
|
||||
@@ -179,6 +198,9 @@
|
||||
"hideButtonsDescription": {
|
||||
"message": "這會隱藏 YouTube 播放器上提交片段的按鈕"
|
||||
},
|
||||
"showSkipButton": {
|
||||
"message": "在播放器保留跳至精華按鈕"
|
||||
},
|
||||
"showInfoButton": {
|
||||
"message": "在 YouTube 播放器上顯示資訊按鈕"
|
||||
},
|
||||
@@ -203,6 +225,15 @@
|
||||
"enableViewTrackingInPrivate": {
|
||||
"message": "在私人/無痕分頁啟用跳過次數追蹤"
|
||||
},
|
||||
"enableTrackDownvotes": {
|
||||
"message": "儲存片段倒讚"
|
||||
},
|
||||
"whatTrackDownvotes": {
|
||||
"message": "所有你按倒讚的片段在重新整理後仍會保留"
|
||||
},
|
||||
"trackDownvotesWarning": {
|
||||
"message": "警告: 停用此項將全數刪除先前儲存的倒讚"
|
||||
},
|
||||
"enableQueryByHashPrefix": {
|
||||
"message": "使用雜湊前綴查詢"
|
||||
},
|
||||
@@ -221,6 +252,24 @@
|
||||
"showSkipNotice": {
|
||||
"message": "在跳過片段後顯示通知"
|
||||
},
|
||||
"showCategoryGuidelines": {
|
||||
"message": "顯示分類說明"
|
||||
},
|
||||
"noticeVisibilityMode0": {
|
||||
"message": "完整大小的略過提醒"
|
||||
},
|
||||
"noticeVisibilityMode1": {
|
||||
"message": "較小大小的自動略過提醒"
|
||||
},
|
||||
"noticeVisibilityMode2": {
|
||||
"message": "所有大小為小的略過提醒"
|
||||
},
|
||||
"noticeVisibilityMode3": {
|
||||
"message": "消逝的自動跳過提醒"
|
||||
},
|
||||
"noticeVisibilityMode4": {
|
||||
"message": "所有消逝的略過提醒"
|
||||
},
|
||||
"longDescription": {
|
||||
"message": "SponsorBlock 讓您可以跳過贊助工商,開場動畫,結束動畫,訂閱提醒等煩人的 YouTube 影片片段。SponsorBlock 是個大眾外包的網頁瀏覽器擴充功能,能讓任何人提交贊助片段的始與末。當一個人提交這個片段後,所有使用這個擴充功能的人都可以跳過該片段。您也可以跳過在音樂中的非音樂片段",
|
||||
"description": "Full description of the extension on the store pages."
|
||||
@@ -241,6 +290,29 @@
|
||||
"message": "如果您還是不喜歡它,請按下永不顯示按鈕",
|
||||
"description": "The second line of the message displayed after the notice was upgraded."
|
||||
},
|
||||
"setSkipShortcut": {
|
||||
"message": "略過片段",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"setStartSponsorShortcut": {
|
||||
"message": "開始/停止片段",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"setSubmitKeybind": {
|
||||
"message": "提交片段",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"nextChapterKeybind": {
|
||||
"message": "下一章節",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"previousChapterKeybind": {
|
||||
"message": "上一章節",
|
||||
"description": "Keybind label"
|
||||
},
|
||||
"keybindDescription": {
|
||||
"message": "按下按鍵以選擇並選擇想要使用的修飾鍵"
|
||||
},
|
||||
"0": {
|
||||
"message": "連線超時。請檢查您的網路連線。若您的網路運作正常,則可能是伺服器超載或離線"
|
||||
},
|
||||
@@ -266,16 +338,32 @@
|
||||
"mute": {
|
||||
"message": "靜音"
|
||||
},
|
||||
"full": {
|
||||
"message": "整部影片",
|
||||
"description": "Used for the name of the option to label an entire video as sponsor or self promotion."
|
||||
},
|
||||
"skip_category": {
|
||||
"message": "跳過 {0}?"
|
||||
},
|
||||
"mute_category": {
|
||||
"message": "要靜音 {0} 嗎?"
|
||||
},
|
||||
"skip_to_category": {
|
||||
"message": "跳到 {0}?",
|
||||
"description": "Used for skipping to things (Skip to Highlight)"
|
||||
},
|
||||
"skipped": {
|
||||
"message": "{0} 已略過",
|
||||
"description": "Example: Sponsor Skipped"
|
||||
},
|
||||
"muted": {
|
||||
"message": "{0} 已靜音",
|
||||
"description": "Example: Sponsor Muted"
|
||||
},
|
||||
"skipped_to_category": {
|
||||
"message": "已跳到 {0}",
|
||||
"description": "Used for skipping to things (Skipped to Highlight)"
|
||||
},
|
||||
"disableAutoSkip": {
|
||||
"message": "停用自動跳過"
|
||||
},
|
||||
@@ -320,14 +408,8 @@
|
||||
"statusReminder": {
|
||||
"message": "在 status.sponsor.ajay.app 檢查伺服器狀態"
|
||||
},
|
||||
"changeUserID": {
|
||||
"message": "匯入/匯出您的使用者 ID"
|
||||
},
|
||||
"setUserID": {
|
||||
"message": "設定使用者 ID"
|
||||
},
|
||||
"userIDChangeWarning": {
|
||||
"message": "警告:更改用戶 ID 是永久性的。您確定要這麼做嗎?請務必備份您的舊用戶 ID 來以防萬一。"
|
||||
"whatChangeUserID": {
|
||||
"message": "密鑰應被保密。它就像是密碼,不應與他人分享。若密鑰落入他人手中,他人將可以冒充你。若你在尋找你的公開使用者ID,點擊彈出視窗上的剪貼簿圖示"
|
||||
},
|
||||
"createdBy": {
|
||||
"message": "作者"
|
||||
@@ -348,6 +430,9 @@
|
||||
"addInvidiousInstance": {
|
||||
"message": "新增第三方的客戶端實例"
|
||||
},
|
||||
"addInvidiousInstanceDescription": {
|
||||
"message": "添加一個自定進程。它必須只有域名。例如:invidious.ajay.app"
|
||||
},
|
||||
"add": {
|
||||
"message": "新增"
|
||||
},
|
||||
@@ -369,6 +454,12 @@
|
||||
"minDurationDescription": {
|
||||
"message": "小於設定值的片段不會被跳過或在播放器中顯示"
|
||||
},
|
||||
"enableManualSkipOnFullVideo": {
|
||||
"message": "當完整影片標籤存在時使用手動跳過"
|
||||
},
|
||||
"whatManualSkipOnFullVideo": {
|
||||
"message": "給在一部都是贊助或都是自我推廣的影片中,想要享受不間斷觀看體驗的人使用。"
|
||||
},
|
||||
"skipNoticeDuration": {
|
||||
"message": "跳過通知持續顯示時間(秒):"
|
||||
},
|
||||
@@ -378,6 +469,9 @@
|
||||
"shortCheck": {
|
||||
"message": "以下的提交小於您的最小時間設定。這表是它們可能已經被提交,只是被該設定忽略了。您確定要提交嗎?"
|
||||
},
|
||||
"liveOrPremiere": {
|
||||
"message": "在進行中的直播或首播提交片段是不被允許的。請等到該直播完成後,重新整理頁面再重新確認片段並提交。"
|
||||
},
|
||||
"showUploadButton": {
|
||||
"message": "顯示上傳按鈕"
|
||||
},
|
||||
@@ -405,8 +499,14 @@
|
||||
"exportOptions": {
|
||||
"message": "匯入/匯出所有設定"
|
||||
},
|
||||
"whatExportOptions": {
|
||||
"message": "這是您全部設定的 JSON 格式。它包含了您的用戶 ID ,所以您一定要謹慎的保管它。"
|
||||
"exportOptionsCopy": {
|
||||
"message": "編輯/複製"
|
||||
},
|
||||
"exportOptionsDownload": {
|
||||
"message": "儲存到檔案"
|
||||
},
|
||||
"exportOptionsUpload": {
|
||||
"message": "從檔案載入"
|
||||
},
|
||||
"setOptions": {
|
||||
"message": "設定選項"
|
||||
@@ -453,28 +553,78 @@
|
||||
"copyDebugInformationComplete": {
|
||||
"message": "除錯資訊已複製到剪貼板中。您可以任意移除任何您不想分享的資訊。請將其另存為文字文件或貼到錯誤報告中。"
|
||||
},
|
||||
"keyAlreadyUsed": {
|
||||
"message": "這個快捷鍵已被綁定到另一個動作,請另擇快捷鍵。"
|
||||
},
|
||||
"to": {
|
||||
"message": "到",
|
||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||
},
|
||||
"CopiedExclamation": {
|
||||
"message": "已複製!",
|
||||
"description": "Used after something has been copied to the clipboard. Example: 'Copied!'"
|
||||
},
|
||||
"generic_guideline1": {
|
||||
"message": "包含轉場"
|
||||
},
|
||||
"generic_guideline2": {
|
||||
"message": "如同沒有略過任何片段般播放"
|
||||
},
|
||||
"category_sponsor": {
|
||||
"message": "贊助廣告"
|
||||
},
|
||||
"category_sponsor_description": {
|
||||
"message": "有收錢的工商廣告和直接廣告。不是為了自我推銷或為了其他創作的免費推銷"
|
||||
},
|
||||
"category_sponsor_guideline1": {
|
||||
"message": "付費促銷"
|
||||
},
|
||||
"category_sponsor_guideline2": {
|
||||
"message": "並非捐款或客製週邊商品"
|
||||
},
|
||||
"category_selfpromo": {
|
||||
"message": "非付費/自我推廣"
|
||||
},
|
||||
"category_selfpromo_description": {
|
||||
"message": "類似 “贊助商廣告” ,但是非付費或自我推廣。這包括有關商品、捐贈或與他人合作的信息。"
|
||||
},
|
||||
"category_selfpromo_guideline1": {
|
||||
"message": "贊助、會員或客製週邊商品"
|
||||
},
|
||||
"category_selfpromo_guideline2": {
|
||||
"message": "與影片無關之免費的推廣"
|
||||
},
|
||||
"category_selfpromo_guideline3": {
|
||||
"message": "不是企業設計的商品和週邊商品"
|
||||
},
|
||||
"category_exclusive_access": {
|
||||
"message": "獨家限定"
|
||||
},
|
||||
"category_exclusive_access_description": {
|
||||
"message": "只限於標記整部影片,用於影片在獲得特殊或免費存取後,展示產品、服務或位置時使用。"
|
||||
},
|
||||
"category_exclusive_access_pill": {
|
||||
"message": "此影片展示了獲得特殊或免費存取的產品、服務或位置",
|
||||
"description": "Short description for this category"
|
||||
},
|
||||
"category_exclusive_access_guideline1": {
|
||||
"message": "整部影片在展示收到的免費或付費存取權"
|
||||
},
|
||||
"category_interaction": {
|
||||
"message": "互動提醒 (訂閱)"
|
||||
},
|
||||
"category_interaction_description": {
|
||||
"message": "當有短提醒來請觀眾按讚、訂閱或跟隨他們時。如果該片段很長或很針對某事,它應該歸類為自我推銷。"
|
||||
},
|
||||
"category_interaction_guideline1": {
|
||||
"message": "要求點讚、訂閱或跟隨的短暫提醒"
|
||||
},
|
||||
"category_interaction_guideline2": {
|
||||
"message": "包含要求評論的非直接提醒"
|
||||
},
|
||||
"category_interaction_guideline3": {
|
||||
"message": "並非一般促銷、只限於要求進行某動作"
|
||||
},
|
||||
"category_interaction_short": {
|
||||
"message": "互動提醒"
|
||||
},
|
||||
@@ -487,17 +637,50 @@
|
||||
"category_intro_short": {
|
||||
"message": "開場"
|
||||
},
|
||||
"category_intro_guideline1": {
|
||||
"message": "無實際內容的片段"
|
||||
},
|
||||
"category_intro_guideline2": {
|
||||
"message": "不是含有資訊的轉場"
|
||||
},
|
||||
"category_outro": {
|
||||
"message": "結束畫面/鳴謝"
|
||||
},
|
||||
"category_outro_description": {
|
||||
"message": "鳴謝或當 YouTube 結尾資訊卡出現時。不是含有資訊的總結"
|
||||
},
|
||||
"category_outro_guideline1": {
|
||||
"message": "即使結尾的資訊卡已開始顯示也不應包含內容"
|
||||
},
|
||||
"category_preview": {
|
||||
"message": "預覽/摘要"
|
||||
},
|
||||
"category_preview_description": {
|
||||
"message": "係指影片的前情提要或內容預告等刻意編輯過的內容"
|
||||
"message": "展示即將播放的影片或整系列內容的短片集錦,所有內容都會在後面影片中重複"
|
||||
},
|
||||
"category_preview_guideline1": {
|
||||
"message": "出現在後面或未來影片的片段"
|
||||
},
|
||||
"category_preview_guideline2": {
|
||||
"message": "上一部影片的回顧"
|
||||
},
|
||||
"category_preview_guideline3": {
|
||||
"message": "不是有額外內容的部分"
|
||||
},
|
||||
"category_filler": {
|
||||
"message": "離題閒聊/玩笑"
|
||||
},
|
||||
"category_filler_short": {
|
||||
"message": "填充詞"
|
||||
},
|
||||
"category_filler_guideline1": {
|
||||
"message": "為了幽默而離題的片段"
|
||||
},
|
||||
"category_filler_guideline2": {
|
||||
"message": "分心、失誤、重播"
|
||||
},
|
||||
"category_filler_guideline3": {
|
||||
"message": "不是需要觀看才能理解主題的片段"
|
||||
},
|
||||
"category_music_offtopic": {
|
||||
"message": "音樂:非音樂部分"
|
||||
@@ -508,9 +691,42 @@
|
||||
"category_music_offtopic_short": {
|
||||
"message": "非音樂"
|
||||
},
|
||||
"category_music_offtopic_guideline1": {
|
||||
"message": "不在官方釋出內容的片段"
|
||||
},
|
||||
"category_music_offtopic_guideline2": {
|
||||
"message": "在現場演出的非音樂片段"
|
||||
},
|
||||
"category_poi_highlight": {
|
||||
"message": "重點"
|
||||
},
|
||||
"category_poi_highlight_description": {
|
||||
"message": "大部分的人在影片尋找的部分。類似「影片在幾分幾秒開始」的留言"
|
||||
},
|
||||
"category_poi_highlight_guideline1": {
|
||||
"message": "大部分觀眾想要看的部分"
|
||||
},
|
||||
"category_poi_highlight_guideline2": {
|
||||
"message": "可以幫助略過前後文"
|
||||
},
|
||||
"category_poi_highlight_guideline3": {
|
||||
"message": "可以跳過到標題或縮圖的內容"
|
||||
},
|
||||
"category_chapter": {
|
||||
"message": "章節"
|
||||
},
|
||||
"category_chapter_description": {
|
||||
"message": "用以描述影片主要區段自定義的章節。"
|
||||
},
|
||||
"category_chapter_guideline1": {
|
||||
"message": "不要提及贊助商名稱"
|
||||
},
|
||||
"category_chapter_guideline2": {
|
||||
"message": "再較通泛的區段使用較大的章節"
|
||||
},
|
||||
"category_chapter_guideline3": {
|
||||
"message": "較小的章節可以放在較大的裡面"
|
||||
},
|
||||
"category_livestream_messages": {
|
||||
"message": "直播:捐贈/訊息閱讀"
|
||||
},
|
||||
@@ -529,9 +745,31 @@
|
||||
"disable": {
|
||||
"message": "停用"
|
||||
},
|
||||
"autoSkip_POI": {
|
||||
"message": "自動略過至開頭"
|
||||
},
|
||||
"manualSkip_POI": {
|
||||
"message": "在影片載入時詢問"
|
||||
},
|
||||
"showOverlay_POI": {
|
||||
"message": "在時間條顯示"
|
||||
},
|
||||
"showOverlay_full": {
|
||||
"message": "顯示標籤"
|
||||
},
|
||||
"showOverlay_chapter": {
|
||||
"message": "顯示所有章節"
|
||||
},
|
||||
"autoSkipOnMusicVideos": {
|
||||
"message": "自動跳過非音樂片段(如果有的話)"
|
||||
},
|
||||
"muteSegments": {
|
||||
"message": "允許靜音式片段"
|
||||
},
|
||||
"fullVideoSegments": {
|
||||
"message": "在整個影片都是廣告時顯示圖示",
|
||||
"description": "Referring to the category pill that is now shown on videos that are entirely sponsor or entirely selfpromo"
|
||||
},
|
||||
"previewColor": {
|
||||
"message": "未提交的顏色",
|
||||
"description": "Referring to submissions that have not been sent to the server yet."
|
||||
@@ -568,27 +806,34 @@
|
||||
"message": "若想要提交{0} 類的分段,您必須要在選項內將其啟用。您現在將被重新導向至選項頁面。",
|
||||
"description": "Used when submitting segments to only let them select a certain category if they have it enabled in the options."
|
||||
},
|
||||
"poiOnlyOneSegment": {
|
||||
"message": "注意:這種片段同時只能有一個啟用,提交多個片段將顯示隨機一個"
|
||||
},
|
||||
"youMustSelectACategory": {
|
||||
"message": "您必須為所有您要提交的片段選擇類別!"
|
||||
},
|
||||
"bracketEnd": {
|
||||
"message": "(結束)"
|
||||
},
|
||||
"End": {
|
||||
"message": "結束",
|
||||
"description": "Button that skips to the end of a segment"
|
||||
},
|
||||
"hiddenDueToDownvote": {
|
||||
"message": "隱藏:負評"
|
||||
},
|
||||
"hiddenDueToDuration": {
|
||||
"message": "隱藏:太短"
|
||||
},
|
||||
"manuallyHidden": {
|
||||
"message": "手動隱藏"
|
||||
},
|
||||
"channelDataNotFound": {
|
||||
"description": "This error appears in an alert when they try to whitelist a channel and the extension is unable to determine what channel they are looking at.",
|
||||
"message": "未偵測到頻道ID,如果您正在使用嵌入式YouTube播放器,請移至YouTube網站上觀看本影片。此問題亦有可能是由於YouTube改變了系統架構,如果你認為這是造成此問題的原因,請留言告訴我們:"
|
||||
},
|
||||
"videoInfoFetchFailed": {
|
||||
"message": "似乎有東西在阻止 SponsorBlock 取得影片資料。請至 https://github.com/ajayyy/SponsorBlock/issues/741 以了解更多資訊。"
|
||||
},
|
||||
"youtubePermissionRequest": {
|
||||
"message": "SponsorBlock 貌似無法存取 YouTube API。若要解決此問題,請同意稍後出現的權限提示,等待幾秒鐘,然後重新載入頁面。"
|
||||
"invidiousPermissionRefresh": {
|
||||
"message": "瀏覽器已收回存取第三方網頁 (例如 Invidious) 的權限,請點擊下方按鈕以重新給予此權限。"
|
||||
},
|
||||
"acceptPermission": {
|
||||
"message": "允許權限"
|
||||
@@ -614,6 +859,16 @@
|
||||
"downvoteDescription": {
|
||||
"message": "不正確/錯誤的時間"
|
||||
},
|
||||
"incorrectVote": {
|
||||
"message": "不正確的"
|
||||
},
|
||||
"harmfulVote": {
|
||||
"message": "有害的",
|
||||
"description": "Used for chapter segments when the text is harmful/offensive to remove it faster"
|
||||
},
|
||||
"incorrectCategory": {
|
||||
"message": "變更類別"
|
||||
},
|
||||
"nonMusicCategoryOnMusic": {
|
||||
"message": "這個影片被分類為音樂。您確定這有贊助內容嗎?如果這其實是\"非音樂片段\"的話,開啟擴充功能設定並啟用這個類別。接下來您即可提交這個片段為\"非音樂片段\"。如果您感到困惑,請閱讀方針"
|
||||
},
|
||||
@@ -640,6 +895,15 @@
|
||||
"message": "知道了",
|
||||
"description": "Used as the button to dismiss a tooltip"
|
||||
},
|
||||
"fullVideoTooltipWarning": {
|
||||
"message": "這個片段有點長,如果整部影片都跟一個主題有關,請將「跳過」改為「整部影片」。請參照方針以獲得更多資訊"
|
||||
},
|
||||
"categoryPillTitleText": {
|
||||
"message": "這整部影片都被標示為此類別且過於相關而不可分開"
|
||||
},
|
||||
"chapterNameTooltipWarning": {
|
||||
"message": "你有一個與類別名稱相似的章節,你應該盡可能地使用類別。"
|
||||
},
|
||||
"experiementOptOut": {
|
||||
"message": "關閉所有未來的實驗性功能",
|
||||
"description": "This is used in a popup about a new experiment to get a list of unlisted videos to back up since all unlisted videos uploaded before 2017 will be set to private."
|
||||
@@ -647,21 +911,138 @@
|
||||
"hideForever": {
|
||||
"message": "永久隱藏"
|
||||
},
|
||||
"warningChatInfo": {
|
||||
"message": "我們注意到你犯下了一些不帶有惡意的常見錯誤"
|
||||
},
|
||||
"warningTitle": {
|
||||
"message": "你收到了一支警告"
|
||||
},
|
||||
"questionButton": {
|
||||
"message": "我要發問"
|
||||
},
|
||||
"warningConfirmButton": {
|
||||
"message": "我了解原因"
|
||||
},
|
||||
"warningError": {
|
||||
"message": "在認知警告時發生錯誤:"
|
||||
},
|
||||
"Donate": {
|
||||
"message": "贊助"
|
||||
},
|
||||
"considerDonating": {
|
||||
"message": "資助開發"
|
||||
},
|
||||
"hideDonationLink": {
|
||||
"message": "隱藏贊助選項"
|
||||
},
|
||||
"darkModeOptionsPage": {
|
||||
"message": "選項頁面深色模式"
|
||||
},
|
||||
"helpPageThanksForInstalling": {
|
||||
"message": "感謝你安裝 SponsorBlock。"
|
||||
},
|
||||
"helpPageReviewOptions": {
|
||||
"message": "請確認以下選項"
|
||||
},
|
||||
"helpPageFeatureDisclaimer": {
|
||||
"message": "許多功能預設為停用,若欲跳過開頭、結尾或使用Invidious等,在下方啟用它們。你也可以隱藏/顯示介面內容"
|
||||
},
|
||||
"helpPageHowSkippingWorks": {
|
||||
"message": "略過如何運作"
|
||||
},
|
||||
"helpPageHowSkippingWorks1": {
|
||||
"message": "影片片段如果出現於資料庫將自動被略過,你可以點擊擴充功能圖示以打開浮窗以便預覽"
|
||||
},
|
||||
"helpPageHowSkippingWorks2": {
|
||||
"message": "當你略過片段時,你會被提醒。若你認為跳過時間有誤,請按下倒讚以反對之。你也可以用浮窗投票。"
|
||||
},
|
||||
"Submitting": {
|
||||
"message": "正在提交"
|
||||
},
|
||||
"helpPageSubmitting1": {
|
||||
"message": "提交可以透過在浮窗內點擊「片段由此開始」按鈕或在影片播放器中的按鈕執行"
|
||||
},
|
||||
"helpPageSubmitting2": {
|
||||
"message": "點擊播放按鈕表示片段的開始,停止按鈕表示結束。你可以在提交前設定多個片段。點擊上傳按鈕將會提交片段,點擊垃圾桶按鈕將會刪除片段"
|
||||
},
|
||||
"Editing": {
|
||||
"message": "編輯中"
|
||||
},
|
||||
"helpPageEditing1": {
|
||||
"message": "若你失誤了,你可以按下箭頭向上按鍵以編輯或刪除你的片段"
|
||||
},
|
||||
"helpPageTooSlow": {
|
||||
"message": "這太慢了"
|
||||
},
|
||||
"helpPageTooSlow1": {
|
||||
"message": "快捷鍵是被支援的,按下分號以標示片段的開始或結束,並按下逗號以提交。你可以在選項裡更改快捷鍵設定。若你不是用QWERTY鍵盤的話,你應該更改設定。"
|
||||
},
|
||||
"helpPageCopyOfDatabase": {
|
||||
"message": "我可以下載資料庫嗎?作者消失怎麼辦?"
|
||||
},
|
||||
"helpPageCopyOfDatabase1": {
|
||||
"message": "資料庫是公開的且可以在這取用:"
|
||||
},
|
||||
"helpPageCopyOfDatabase2": {
|
||||
"message": "原始碼是公開的,若作者發生狀況,你的提交將不會化為烏有"
|
||||
},
|
||||
"helpPageNews": {
|
||||
"message": "消息和製作過程"
|
||||
},
|
||||
"helpPageSourceCode": {
|
||||
"message": "我在哪裡可以找到原始碼?"
|
||||
},
|
||||
"Credits": {
|
||||
"message": "致謝"
|
||||
},
|
||||
"LearnMore": {
|
||||
"message": "了解更多"
|
||||
},
|
||||
"FullDetails": {
|
||||
"message": "完整詳細資料"
|
||||
},
|
||||
"CopyDownvoteButtonInfo": {
|
||||
"message": "按倒讚和建立本機副本以便你重新提交"
|
||||
},
|
||||
"OpenCategoryWikiPage": {
|
||||
"message": "打開此類別之維基頁面"
|
||||
},
|
||||
"CopyAndDownvote": {
|
||||
"message": "複製並按倒讚"
|
||||
},
|
||||
"ContinueVoting": {
|
||||
"message": "繼續投票"
|
||||
},
|
||||
"ChangeCategoryTooltip": {
|
||||
"message": "這將會立即套用至你的片段"
|
||||
},
|
||||
"downvote": {
|
||||
"message": "按倒讚"
|
||||
},
|
||||
"upvote": {
|
||||
"message": "按讚"
|
||||
},
|
||||
"hideSegment": {
|
||||
"message": "隱藏片段"
|
||||
},
|
||||
"SponsorTimeEditScrollNewFeature": {
|
||||
"message": "在滑鼠鼠標放在編輯框上時使用滾輪以快速調製時間。Ctrl和Shift可以用於精密調整"
|
||||
},
|
||||
"categoryPillNewFeature": {
|
||||
"message": "新功能》知道整部影片是不是贊助或自我推廣"
|
||||
},
|
||||
"dayAbbreviation": {
|
||||
"message": "天",
|
||||
"description": "100d"
|
||||
},
|
||||
"hourAbbreviation": {
|
||||
"message": "小時",
|
||||
"description": "100h"
|
||||
},
|
||||
"optionsTabBehavior": {
|
||||
"message": "行為",
|
||||
"description": "Appears in Options as a tab header for options related to categories and skipping behavior. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabInterface": {
|
||||
"message": "介面",
|
||||
"description": "Appears in Options as a tab header for options related to GUI and sounds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
@@ -670,8 +1051,150 @@
|
||||
"message": "鍵盤快捷鍵",
|
||||
"description": "Appears in Options as a tab header for keybinds. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabBackup": {
|
||||
"message": "備份/還原",
|
||||
"description": "Appears in Options as a tab header for options related to saving/restoring your settings. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"optionsTabAdvanced": {
|
||||
"message": "其他",
|
||||
"description": "Appears in Options as a tab header for advanced/niche options. To fit inside the button, it should not be longer than ~20-25 characters (depending on their width)."
|
||||
},
|
||||
"noticeVisibilityLabel": {
|
||||
"message": "略過通知外觀",
|
||||
"description": "Option label"
|
||||
},
|
||||
"unbind": {
|
||||
"message": "取消綁定",
|
||||
"description": "Unbind keyboard shortcut"
|
||||
},
|
||||
"notSet": {
|
||||
"message": "未設定"
|
||||
},
|
||||
"change": {
|
||||
"message": "更改"
|
||||
},
|
||||
"youtubeKeybindWarning": {
|
||||
"message": "這是YouTube內建捷徑,你真的要取代它嗎?"
|
||||
},
|
||||
"betaServerWarning": {
|
||||
"message": "測試版伺服器已啟用!"
|
||||
},
|
||||
"openOptionsPage": {
|
||||
"message": "打開選項頁面"
|
||||
},
|
||||
"resetToDefault": {
|
||||
"message": "重設設定為預設值"
|
||||
},
|
||||
"confirmResetToDefault": {
|
||||
"message": "你確定要將所有設定重設為預設值嗎?此動作無法還原。"
|
||||
},
|
||||
"exportSegments": {
|
||||
"message": "匯出片段"
|
||||
},
|
||||
"Import": {
|
||||
"message": "匯入",
|
||||
"description": "Button to initiate importing segments. Appears under the textbox where they paste in the data"
|
||||
},
|
||||
"redeemSuccess": {
|
||||
"message": "兌換成功!"
|
||||
},
|
||||
"redeemFailed": {
|
||||
"message": "授權金鑰無效"
|
||||
},
|
||||
"hideUpsells": {
|
||||
"message": "隱藏選項需要額外付款才可使用"
|
||||
},
|
||||
"chooseACountry": {
|
||||
"message": "選擇國家"
|
||||
},
|
||||
"noDiscount": {
|
||||
"message": "你不能使用優惠"
|
||||
},
|
||||
"discountLink": {
|
||||
"message": "優惠連結 (看粉色的價格)"
|
||||
},
|
||||
"selectYourCountry": {
|
||||
"message": "選擇國家"
|
||||
},
|
||||
"alreadyDonated": {
|
||||
"message": "如果你在之前捐獻過 (任何金額),你可以發送電子郵件到以下地址以獲得免費存取權:",
|
||||
"description": "After the colon is an email address"
|
||||
},
|
||||
"cantAfford": {
|
||||
"message": "若你無法購買授權,請點 {here} 以檢查你是否可用優惠",
|
||||
"description": "Keep the curly braces. The word 'here' should be translated as well."
|
||||
},
|
||||
"patreonSignIn": {
|
||||
"message": "使用 Patreon 登入"
|
||||
},
|
||||
"redeem": {
|
||||
"message": "兌換"
|
||||
},
|
||||
"joinOnPatreon": {
|
||||
"message": "在 Patreon 上訂閱"
|
||||
},
|
||||
"oneTimePurchase": {
|
||||
"message": "一次性購買"
|
||||
},
|
||||
"enterLicenseKey": {
|
||||
"message": "請輸入授權金鑰"
|
||||
},
|
||||
"chaptersPage1": {
|
||||
"message": "SponsorBlock 僅供有購買授權或在過去有貢獻者使用"
|
||||
},
|
||||
"unsubmittedSegmentCounts": {
|
||||
"message": "你現在在 {1} 上有 {0}",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 videos"
|
||||
},
|
||||
"unsubmittedSegmentCountsZero": {
|
||||
"message": "你現在沒有未提交的片段",
|
||||
"description": "Replaces 'unsubmittedSegmentCounts' string when there are no unsubmitted segments"
|
||||
},
|
||||
"unsubmittedSegmentsSingular": {
|
||||
"message": "未提交的片段",
|
||||
"description": "Example: You currently have 1 *unsubmitted segment* on 1 video"
|
||||
},
|
||||
"unsubmittedSegmentsPlural": {
|
||||
"message": "未提交的片段",
|
||||
"description": "Example: You currently have 12 *unsubmitted segments* on 5 videos"
|
||||
},
|
||||
"videosSingular": {
|
||||
"message": "影片",
|
||||
"description": "Example: You currently have 3 unsubmitted segments on 1 *video*"
|
||||
},
|
||||
"videosPlural": {
|
||||
"message": "影片",
|
||||
"description": "Example: You currently have 12 unsubmitted segments on 5 *videos*"
|
||||
},
|
||||
"clearUnsubmittedSegments": {
|
||||
"message": "清除所有片段",
|
||||
"description": "Label for a button in settings"
|
||||
},
|
||||
"clearUnsubmittedSegmentsConfirm": {
|
||||
"message": "你確定要清除所有未提交的片段嗎?",
|
||||
"description": "Confirmation message for the Clear unsubmitted segments button"
|
||||
},
|
||||
"showUnsubmittedSegments": {
|
||||
"message": "顯示片段",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"hideUnsubmittedSegments": {
|
||||
"message": "隱藏片段",
|
||||
"description": "Show/hide button for the unsubmitted segments list"
|
||||
},
|
||||
"videoID": {
|
||||
"message": "影片ID",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"segmentCount": {
|
||||
"message": "片段數量",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"actions": {
|
||||
"message": "操作",
|
||||
"description": "Header of the unsubmitted segments list"
|
||||
},
|
||||
"exportSegmentsAsURL": {
|
||||
"message": "分享連結"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
:root {
|
||||
--skip-notice-right: 10px;
|
||||
--skip-notice-padding: 5px;
|
||||
--skip-notice-margin: 5px;
|
||||
--skip-notice-border-horizontal: 5px;
|
||||
--skip-notice-border-vertical: 10px;
|
||||
--sb-dark-red-outline: rgb(130,0,0,0.9);
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
@@ -9,15 +18,23 @@
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
pointer-events: none;
|
||||
|
||||
|
||||
height: 100%;
|
||||
transform: scaleY(0.6) translateY(-30%) translateY(1.5px);
|
||||
z-index: 40;
|
||||
z-index: 42;
|
||||
|
||||
transition: transform .1s cubic-bezier(0,0,0.2,1);
|
||||
}
|
||||
|
||||
#previewbar.hovered {
|
||||
.ytp-big-mode #previewbar {
|
||||
transform: scaleY(0.625) translateY(-30%) translateY(1.5px);
|
||||
}
|
||||
|
||||
.progress-bar-line > #previewbar {
|
||||
height: 3px;
|
||||
}
|
||||
|
||||
div:hover > #previewbar.sbNotInvidious {
|
||||
transform: scaleY(1)
|
||||
}
|
||||
|
||||
@@ -26,6 +43,10 @@
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.previewbar.requiredSegment {
|
||||
transform: scaleY(3)
|
||||
}
|
||||
|
||||
/* Make sure settings are upfront */
|
||||
.ytp-settings-menu {
|
||||
z-index: 6000 !important;
|
||||
@@ -41,23 +62,48 @@
|
||||
transform: translateY(-1em) !important;
|
||||
}
|
||||
|
||||
.ytp-tooltip.sponsorCategoryTooltipVisible.sponsorTwoTooltips {
|
||||
transform: translateY(-2em) !important;
|
||||
}
|
||||
|
||||
.ytp-big-mode .ytp-tooltip.sponsorCategoryTooltipVisible {
|
||||
transform: translateY(-2em) !important;
|
||||
}
|
||||
|
||||
.ytp-big-mode .ytp-tooltip.sponsorCategoryTooltipVisible.sponsorTwoTooltips {
|
||||
transform: translateY(-4em) !important;
|
||||
}
|
||||
|
||||
#movie_player:not(.ytp-big-mode) .ytp-tooltip.sponsorCategoryTooltipVisible > .ytp-tooltip-text-wrapper {
|
||||
transform: translateY(1em) !important;
|
||||
}
|
||||
|
||||
#movie_player:not(.ytp-big-mode) .ytp-tooltip.sponsorCategoryTooltipVisible.sponsorTwoTooltips > .ytp-tooltip-text-wrapper {
|
||||
transform: translateY(2em) !important;
|
||||
}
|
||||
|
||||
.ytp-big-mode .ytp-tooltip.sponsorCategoryTooltipVisible > .ytp-tooltip-text-wrapper {
|
||||
transform: translateY(0.5em) !important;
|
||||
}
|
||||
|
||||
.ytp-big-mode .ytp-tooltip.sponsorCategoryTooltipVisible.sponsorTwoTooltips > .ytp-tooltip-text-wrapper {
|
||||
transform: translateY(1em) !important;
|
||||
}
|
||||
|
||||
.ytp-big-mode .ytp-tooltip.sponsorCategoryTooltipVisible > .ytp-tooltip-text-wrapper > .ytp-tooltip-text {
|
||||
display: block !important;
|
||||
transform: translateY(1em) !important;
|
||||
}
|
||||
|
||||
.ytp-big-mode .ytp-tooltip.sponsorCategoryTooltipVisible.sponsorTwoTooltips > .ytp-tooltip-text-wrapper > .ytp-tooltip-text {
|
||||
display: block !important;
|
||||
transform: translateY(2em) !important;
|
||||
}
|
||||
|
||||
div:hover > .sponsorBlockChapterBar {
|
||||
z-index: 41 !important;
|
||||
}
|
||||
|
||||
/* */
|
||||
|
||||
.popup {
|
||||
@@ -84,6 +130,20 @@
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.playerButton.hidden:not(.autoHiding) {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Removes auto width from being a ytp-player-button */
|
||||
.sbPlayerDownvote {
|
||||
width: auto !important;
|
||||
}
|
||||
|
||||
/* Adds back the padding */
|
||||
.sbPlayerDownvote svg {
|
||||
padding-right: 3.6px;
|
||||
}
|
||||
|
||||
.autoHiding {
|
||||
overflow: visible !important;
|
||||
}
|
||||
@@ -108,9 +168,9 @@
|
||||
|
||||
.sponsorSkipObject {
|
||||
font-family: Roboto, Arial, Helvetica, sans-serif;
|
||||
|
||||
margin-left: 2px;
|
||||
margin-right: 2px;
|
||||
|
||||
margin-left: var(--skip-notice-margin);
|
||||
margin-right: var(--skip-notice-margin);
|
||||
}
|
||||
|
||||
.sponsorSkipLogo {
|
||||
@@ -141,7 +201,7 @@
|
||||
position: absolute;
|
||||
right: 5px;
|
||||
bottom: 100px;
|
||||
right: 10px;
|
||||
right: var(--skip-notice-right);
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeParent {
|
||||
@@ -152,9 +212,6 @@
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeParent, .sponsorSkipNotice {
|
||||
min-width: 350px;
|
||||
max-width: 50%;
|
||||
|
||||
border-spacing: 5px 10px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
@@ -162,18 +219,32 @@
|
||||
border-collapse: unset;
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeParent {
|
||||
min-width: 350px;
|
||||
max-width: 50%;
|
||||
}
|
||||
|
||||
.sponsorSkipNotice {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeTableContainer {
|
||||
color: white;
|
||||
background-color: rgba(28, 28, 28, 0.9);
|
||||
border-radius: 5px;
|
||||
min-width: 100%;
|
||||
}
|
||||
|
||||
.exportCopiedNotice .sponsorSkipNoticeTableContainer {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.sponsorSkipNotice {
|
||||
transition: all 0.1s ease-out;
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeLimitWidth {
|
||||
min-width: calc(100% - 50px);
|
||||
max-width: calc(100% - 50px);
|
||||
}
|
||||
|
||||
.sponsorSkipNotice .hidden {
|
||||
@@ -189,6 +260,10 @@
|
||||
animation: fadeIn 0.5s ease-out;
|
||||
}
|
||||
|
||||
.exportCopiedNotice .sponsorSkipNoticeFadeIn {
|
||||
animation: none;
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeFaded {
|
||||
opacity: 0.5;
|
||||
}
|
||||
@@ -253,7 +328,7 @@
|
||||
.sponsorSkipNoticeButton:hover {
|
||||
background-color: rgba(235, 235, 235,0.2);
|
||||
border-radius: 4px;
|
||||
|
||||
|
||||
transition: background-color 0.4s;
|
||||
}
|
||||
|
||||
@@ -288,7 +363,7 @@
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
box-sizing: unset;
|
||||
|
||||
|
||||
padding: 2px 5px;
|
||||
|
||||
margin-left: 2px;
|
||||
@@ -303,7 +378,7 @@
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
color: rgb(235, 235, 235);
|
||||
|
||||
|
||||
margin-top: auto;
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
@@ -341,15 +416,27 @@
|
||||
.sponsorTimesInfoMessage {
|
||||
font-size: 13.3333px;
|
||||
color: rgb(235, 235, 235);
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
.voteButton {
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
cursor: pointer;
|
||||
.sb-guidelines-notice .sponsorTimesInfoMessage td {
|
||||
padding-left: 5px;
|
||||
padding-top: 2px;
|
||||
padding-bottom: 2px;
|
||||
font-size: 15px;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.voteButton:hover {
|
||||
filter: brightness(80%);
|
||||
|
||||
.sponsorTimesInfoIcon {
|
||||
width: 30px;
|
||||
padding-right: 10px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.segmentSummary {
|
||||
outline: none !important;
|
||||
}
|
||||
|
||||
.submitButton {
|
||||
@@ -365,7 +452,7 @@
|
||||
padding:4px 15px;
|
||||
text-decoration:none;
|
||||
text-shadow:0px 0px 0px #662727;
|
||||
|
||||
|
||||
margin-top: 5px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
@@ -401,7 +488,7 @@
|
||||
padding:4px 15px;
|
||||
text-decoration:none;
|
||||
text-shadow:0px 0px 0px #662727;
|
||||
|
||||
|
||||
margin-top: 5px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
@@ -463,7 +550,7 @@
|
||||
margin-right: 20px;
|
||||
|
||||
font-size: 13px;
|
||||
|
||||
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@@ -488,6 +575,12 @@ input::-webkit-inner-spin-button {
|
||||
|
||||
.sponsorTimeEditInput {
|
||||
width: 90px;
|
||||
border: 3px solid var(--sb-dark-red-outline);
|
||||
}
|
||||
|
||||
.sponsorTimeEditInput.sponsorChapterNameInput {
|
||||
width: auto;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.sponsorNowButton {
|
||||
@@ -502,35 +595,68 @@ input::-webkit-inner-spin-button {
|
||||
margin-bottom: 5px;
|
||||
|
||||
background-color: rgba(28, 28, 28, 0.9);
|
||||
border-color: rgb(130,0,0,0.9);
|
||||
border-color: var(--sb-dark-red-outline);
|
||||
color: white;
|
||||
border-width: 3px;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.sponsorTimeEditSelector > option {
|
||||
background-color: rgba(28, 28, 28, 0.9);
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* Start SelectorComponent */
|
||||
|
||||
.sbSelector {
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
width: calc(100% - var(--skip-notice-right) - var(--skip-notice-padding) * 2 - var(--skip-notice-margin) * 2 - var(--skip-notice-border-horizontal) * 2);
|
||||
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.sbSelectorBackground {
|
||||
text-align: center;
|
||||
|
||||
background-color: rgba(28, 28, 28, 0.9);
|
||||
border-radius: 6px;
|
||||
padding: 3px;
|
||||
margin: auto;
|
||||
width: 170px;
|
||||
}
|
||||
|
||||
.sbSelectorOption {
|
||||
cursor: pointer;
|
||||
background-color: rgb(43, 43, 43);
|
||||
padding: 5px;
|
||||
margin: 5px;
|
||||
color: white;
|
||||
border-radius: 5px;
|
||||
font-size: 14px;
|
||||
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.sbSelectorOption:hover {
|
||||
background-color: #3a0000;
|
||||
}
|
||||
|
||||
/* End SelectorComponent */
|
||||
|
||||
.helpButton {
|
||||
height: 25px;
|
||||
cursor: pointer;
|
||||
padding: 5px;
|
||||
|
||||
|
||||
margin: auto;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
position: absolute;
|
||||
}
|
||||
.helpButton:hover {
|
||||
filter: brightness(80%);
|
||||
}
|
||||
|
||||
.sbChatNotice iframe {
|
||||
height: 32px;
|
||||
cursor: pointer;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.sbChatClose {
|
||||
height: 14px;
|
||||
cursor: pointer;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.skipButtonControlBarContainer {
|
||||
@@ -588,6 +714,7 @@ input::-webkit-inner-spin-button {
|
||||
line-height: 1.5em;
|
||||
color: white;
|
||||
font-size: 12px;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.sponsorBlockTooltip a {
|
||||
@@ -605,8 +732,13 @@ input::-webkit-inner-spin-button {
|
||||
border-color: rgba(28, 28, 28, 0.7) transparent transparent transparent;
|
||||
}
|
||||
|
||||
.sponsorBlockTooltip.sbTriangle.centeredSBTriangle::after {
|
||||
left: 50%;
|
||||
right: 50%;
|
||||
}
|
||||
|
||||
.sponsorBlockLockedColor {
|
||||
color: #ffc83d;
|
||||
color: #ffc83d !important;
|
||||
}
|
||||
|
||||
.sponsorBlockRectangleTooltip {
|
||||
@@ -641,10 +773,18 @@ input::-webkit-inner-spin-button {
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
box-sizing: unset;
|
||||
|
||||
|
||||
margin: 0px 0px 0px 5px;
|
||||
}
|
||||
|
||||
.sponsorBlockCategoryPill:hover .categoryPillClose {
|
||||
display: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
/* tweak for mobile duration */
|
||||
#sponsorBlockDurationAfterSkips.ytm-time-display {
|
||||
padding-left: 4px;
|
||||
margin: 0px;
|
||||
color: #fff;
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
37
public/icons/bolt.svg
Normal file
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
height="48"
|
||||
width="48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="bolt.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
id="namedview6"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="13.125"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="983"
|
||||
inkscape:window-x="482"
|
||||
inkscape:window-y="768"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M19.95 42 22 27.9H14.7Q14.15 27.9 13.9 27.4Q13.65 26.9 13.9 26.45L26.15 6H28.2L26.15 20.05H33.35Q33.9 20.05 34.175 20.55Q34.45 21.05 34.2 21.5L22 42Z"
|
||||
id="path2"
|
||||
style="fill:#ffffff" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
37
public/icons/campaign.svg
Normal file
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
height="48"
|
||||
width="48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="campaign.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
id="namedview6"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="13.125"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="983"
|
||||
inkscape:window-x="482"
|
||||
inkscape:window-y="768"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M36.5 25.5V22.5H44V25.5ZM39 40 32.95 35.5 34.75 33.1 40.8 37.6ZM34.9 14.85 33.1 12.45 39 8 40.8 10.4ZM10.5 38V30H7Q5.75 30 4.875 29.125Q4 28.25 4 27V21Q4 19.75 4.875 18.875Q5.75 18 7 18H16L26 12V36L16 30H13.5V38ZM28 30.7V17.3Q29.35 18.5 30.175 20.225Q31 21.95 31 24Q31 26.05 30.175 27.775Q29.35 29.5 28 30.7Z"
|
||||
id="path2"
|
||||
style="fill:#ffffff" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
38
public/icons/check-smaller.svg
Normal file
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="check-smaller.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
id="namedview6"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="26.25"
|
||||
inkscape:cx="12.038095"
|
||||
inkscape:cy="12"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="983"
|
||||
inkscape:window-x="482"
|
||||
inkscape:window-y="768"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
fill="#ffffff"
|
||||
d="M 17.69347,4.9833775 9.9421192,12.940517 6.3065298,9.5107153 3.7684768,12.048769 9.9421192,18.016623 20.231523,7.5214304 Z"
|
||||
id="path2"
|
||||
style="stroke-width:0.68596" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
37
public/icons/close-smaller.svg
Normal file
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
height="48"
|
||||
width="48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="close-smaller.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
id="namedview6"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="13.125"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-width="1366"
|
||||
inkscape:window-height="731"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M12.45 37.65 10.35 35.55 21.9 24 10.35 12.45 12.45 10.35 24 21.9 35.55 10.35 37.65 12.45 26.1 24 37.65 35.55 35.55 37.65 24 26.1Z"
|
||||
id="path2"
|
||||
style="fill:#ffffff" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
124
public/icons/export.svg
Normal file
@@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
version="1.1"
|
||||
id="Capa_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 67.671 67.671"
|
||||
style="enable-background:new 0 0 67.671 67.671;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="export.svg"
|
||||
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs41" /><sodipodi:namedview
|
||||
id="namedview39"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.309749"
|
||||
inkscape:cx="33.889206"
|
||||
inkscape:cy="33.835499"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="983"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="768"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Capa_1"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<g
|
||||
id="g6"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,6)">
|
||||
<path
|
||||
d="M 52.946,23.348 H 42.834 v 6 h 10.112 c 3.007,0 5.34,1.536 5.34,2.858 v 26.606 c 0,1.322 -2.333,2.858 -5.34,2.858 H 14.724 c -3.007,0 -5.34,-1.536 -5.34,-2.858 V 32.207 c 0,-1.322 2.333,-2.858 5.34,-2.858 h 10.11 v -6 h -10.11 c -6.359,0 -11.34,3.891 -11.34,8.858 v 26.606 c 0,4.968 4.981,8.858 11.34,8.858 h 38.223 c 6.358,0 11.34,-3.891 11.34,-8.858 V 32.207 C 64.286,27.239 59.305,23.348 52.946,23.348 Z"
|
||||
id="path2"
|
||||
style="fill:#ffffff" />
|
||||
<path
|
||||
d="m 24.957,14.955 c 0.768,0 1.535,-0.293 2.121,-0.879 l 3.756,-3.756 v 13.028 6 11.494 c 0,1.657 1.343,3 3,3 1.657,0 3,-1.343 3,-3 v -11.494 -6 -13.231 l 3.959,3.959 c 0.586,0.586 1.354,0.879 2.121,0.879 0.767,0 1.535,-0.293 2.121,-0.879 1.172,-1.171 1.172,-3.071 0,-4.242 L 36.078,0.877 C 35.492,0.291 34.725,0 33.958,0 33.95,0 33.943,0 33.935,0 33.927,0 33.92,0 33.912,0 33.145,0 32.378,0.291 31.792,0.877 l -8.957,8.957 c -1.172,1.171 -1.172,3.071 0,4.242 0.587,0.586 1.354,0.879 2.122,0.879 z"
|
||||
id="path4"
|
||||
style="fill:#ffffff" />
|
||||
</g>
|
||||
<g
|
||||
id="g8"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
|
||||
</g>
|
||||
<g
|
||||
id="g10"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
|
||||
</g>
|
||||
<g
|
||||
id="g12"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
|
||||
</g>
|
||||
<g
|
||||
id="g14"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
|
||||
</g>
|
||||
<g
|
||||
id="g16"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
|
||||
</g>
|
||||
<g
|
||||
id="g18"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
|
||||
</g>
|
||||
<g
|
||||
id="g20"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
|
||||
</g>
|
||||
<g
|
||||
id="g22"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
|
||||
</g>
|
||||
<g
|
||||
id="g24"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
|
||||
</g>
|
||||
<g
|
||||
id="g26"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
|
||||
</g>
|
||||
<g
|
||||
id="g28"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
|
||||
</g>
|
||||
<g
|
||||
id="g30"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
|
||||
</g>
|
||||
<g
|
||||
id="g32"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
|
||||
</g>
|
||||
<g
|
||||
id="g34"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
|
||||
</g>
|
||||
<g
|
||||
id="g36"
|
||||
style="fill:#ffffff"
|
||||
transform="matrix(0.82363056,0,0,0.82363056,5.9675483,5.9675483)">
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.8 KiB |
93
public/icons/import.svg
Normal file
@@ -0,0 +1,93 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
version="1.1"
|
||||
id="Capa_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 67.671 67.671"
|
||||
style="enable-background:new 0 0 67.671 67.671;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="import.svg"
|
||||
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs41" /><sodipodi:namedview
|
||||
id="namedview39"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.309749"
|
||||
inkscape:cx="33.889206"
|
||||
inkscape:cy="33.835499"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="983"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="768"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g6"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<g
|
||||
id="g6">
|
||||
<path
|
||||
d="M 49.575492,25.197675 H 41.24694 v 4.941783 h 8.328552 c 2.476657,0 4.398187,1.265096 4.398187,2.353936 v 21.913515 c 0,1.088839 -1.92153,2.353936 -4.398187,2.353936 H 18.094685 c -2.476657,0 -4.398188,-1.265097 -4.398188,-2.353936 V 32.494218 c 0,-1.08884 1.921531,-2.353936 4.398188,-2.353936 h 8.326905 v -4.941784 h -8.326905 c -5.237467,0 -9.3399709,3.204747 -9.3399709,7.29572 v 21.913514 c 0,4.091797 4.1025039,7.29572 9.3399709,7.29572 h 31.48163 c 5.236643,0 9.339971,-3.204747 9.339971,-7.29572 V 32.494218 c -8.24e-4,-4.091797 -4.103328,-7.296543 -9.340794,-7.296543 z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;stroke-width:0.823631" />
|
||||
<path
|
||||
d="m 41.312006,34.701548 c -0.632548,0 -1.128592,0.43489 -1.74692,0.723971 L 36.47153,38.519075 V 22.847033 17.90525 8.4384399 c 0,-1.3647558 -1.106136,-2.4708916 -2.470892,-2.4708916 -1.364756,0 -2.470892,1.1061358 -2.470892,2.4708916 v 9.4668101 9.883566 10.897456 l -3.260753,-3.260753 c -0.482648,-0.482648 -1.115196,-0.723971 -1.746921,-0.723971 -0.631724,0 -1.264272,0.241323 -1.74692,0.723971 -0.965295,0.964471 -0.965295,2.529369 0,3.493841 l 7.377259,7.377259 c 0.482647,0.482647 1.114372,0.722324 1.746097,0.722324 h 0.01894 0.01894 c 0.631724,0 1.263449,-0.239677 1.746097,-0.722324 L 43.05975,38.91936 c 0.965295,-0.964472 0.965295,-2.52937 0,-3.493841 -0.483471,-0.482648 -1.115195,-0.723971 -1.747744,-0.723971 z"
|
||||
id="path4"
|
||||
sodipodi:nodetypes="sscccssscccssccsscssccs"
|
||||
style="fill:#ffffff;stroke-width:0.823631" />
|
||||
</g>
|
||||
<g
|
||||
id="g8">
|
||||
</g>
|
||||
<g
|
||||
id="g10">
|
||||
</g>
|
||||
<g
|
||||
id="g12">
|
||||
</g>
|
||||
<g
|
||||
id="g14">
|
||||
</g>
|
||||
<g
|
||||
id="g16">
|
||||
</g>
|
||||
<g
|
||||
id="g18">
|
||||
</g>
|
||||
<g
|
||||
id="g20">
|
||||
</g>
|
||||
<g
|
||||
id="g22">
|
||||
</g>
|
||||
<g
|
||||
id="g24">
|
||||
</g>
|
||||
<g
|
||||
id="g26">
|
||||
</g>
|
||||
<g
|
||||
id="g28">
|
||||
</g>
|
||||
<g
|
||||
id="g30">
|
||||
</g>
|
||||
<g
|
||||
id="g32">
|
||||
</g>
|
||||
<g
|
||||
id="g34">
|
||||
</g>
|
||||
<g
|
||||
id="g36">
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
37
public/icons/lightbulb.svg
Normal file
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
height="48"
|
||||
width="48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="lightbulb.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
id="namedview6"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="13.125"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="983"
|
||||
inkscape:window-x="482"
|
||||
inkscape:window-y="768"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M24 44Q22.3 44 21.125 42.825Q19.95 41.65 19.95 39.95H28.05Q28.05 41.65 26.875 42.825Q25.7 44 24 44ZM15.9 36.85V33.85H32.1V36.85ZM16.15 30.8Q12.85 28.65 10.925 25.425Q9 22.2 9 18.15Q9 12.05 13.45 7.6Q17.9 3.15 24 3.15Q30.1 3.15 34.55 7.6Q39 12.05 39 18.15Q39 22.2 37.1 25.425Q35.2 28.65 31.85 30.8Z"
|
||||
id="path2"
|
||||
style="fill:#ffffff" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
37
public/icons/money.svg
Normal file
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
height="48"
|
||||
width="48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="money.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
id="namedview6"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="6.5625"
|
||||
inkscape:cx="37.942857"
|
||||
inkscape:cy="29.714286"
|
||||
inkscape:window-width="1366"
|
||||
inkscape:window-height="731"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M 22.070204,47.757552 V 42.214123 Q 18.308592,41.554191 15.89984,39.343419 13.491088,37.132647 12.435197,33.766994 l 3.695619,-1.517844 q 1.121884,3.167674 3.233667,4.718514 2.111782,1.55084 5.081476,1.55084 3.167674,0 5.213463,-1.583837 2.045789,-1.583837 2.045789,-4.355551 0,-2.903701 -1.814813,-4.487538 -1.814813,-1.583836 -6.830296,-3.233666 -4.75151,-1.517844 -7.094269,-4.025586 -2.342759,-2.507741 -2.342759,-6.269354 0,-3.629626 2.342759,-6.0713741 2.342759,-2.4417484 6.104371,-2.7717144 V 0.24244792 h 3.959592 V 5.7198835 q 2.969694,0.329966 5.114473,1.9467994 2.144779,1.6168335 3.266663,4.1245751 l -3.695619,1.583837 q -0.923905,-2.111783 -2.474745,-3.068684 -1.55084,-0.9569014 -4.058582,-0.9569014 -3.035687,0 -4.817503,1.3858574 -1.781817,1.385857 -1.781817,3.761612 0,2.507742 1.979796,4.058582 1.979796,1.55084 7.325246,3.20067 4.487537,1.385857 6.632316,3.992589 2.144779,2.606731 2.144779,6.566323 0,4.157572 -2.441748,6.69831 -2.441749,2.540738 -7.193259,3.266663 v 5.477436 z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;stroke-width:1.31986" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
37
public/icons/music-note.svg
Normal file
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
height="48"
|
||||
width="48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="music-note.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
id="namedview6"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="13.125"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="983"
|
||||
inkscape:window-x="482"
|
||||
inkscape:window-y="768"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M19.65 42Q16.5 42 14.325 39.825Q12.15 37.65 12.15 34.5Q12.15 31.35 14.325 29.175Q16.5 27 19.65 27Q21.05 27 22.175 27.4Q23.3 27.8 24.15 28.5V6H35.85V12.75H27.15V34.5Q27.15 37.65 24.975 39.825Q22.8 42 19.65 42Z"
|
||||
id="path2"
|
||||
style="fill:#ffffff" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
37
public/icons/right-arrow.svg
Normal file
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
height="48"
|
||||
width="48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="right-arrow.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
id="namedview6"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="13.125"
|
||||
inkscape:cx="24.07619"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="983"
|
||||
inkscape:window-x="482"
|
||||
inkscape:window-y="768"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M 17.039265,39.62264 14.838095,37.382164 28.320259,23.9 14.838095,10.417836 17.039265,8.1773601 32.761905,23.9 Z"
|
||||
id="path2"
|
||||
style="fill:#ffffff;stroke-width:0.786132" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
BIN
public/icons/segway.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
1
public/icons/skip.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#FFFFFF"><path d="M0 0h24v24H0z" fill="none"/><path d="M4 18l8.5-6L4 6v12zm9-12v12l8.5-6L13 6z"/></svg>
|
||||
|
After Width: | Height: | Size: 196 B |
1
public/icons/sort.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#FFFFFF"><path d="M0 0h24v24H0z" fill="none"/><path d="M3 18h6v-2H3v2zM3 6v2h18V6H3zm0 7h12v-2H3v2z"/></svg>
|
||||
|
After Width: | Height: | Size: 201 B |
37
public/icons/star.svg
Normal file
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
height="48"
|
||||
width="48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="star.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
id="namedview6"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="13.125"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="983"
|
||||
inkscape:window-x="482"
|
||||
inkscape:window-y="768"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M11.65 44 16.3 28.8 4 20H19.2L24 4L28.8 20H44L31.7 28.8L36.35 44L24 34.6Z"
|
||||
id="path2"
|
||||
style="fill:#ffffff" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
37
public/icons/stopwatch.svg
Normal file
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
height="48"
|
||||
width="48"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="stopwatch.svg"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
id="namedview6"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="13.125"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="24"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="983"
|
||||
inkscape:window-x="482"
|
||||
inkscape:window-y="768"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="M14.45 34Q16.3 35.95 18.8 36.975Q21.3 38 24 38Q29.85 38 33.925 33.925Q38 29.85 38 24Q38 18.15 33.925 14.075Q29.85 10 24 10V24ZM24 44Q19.75 44 16.1 42.475Q12.45 40.95 9.75 38.25Q7.05 35.55 5.525 31.9Q4 28.25 4 24Q4 19.8 5.525 16.15Q7.05 12.5 9.75 9.8Q12.45 7.1 16.1 5.55Q19.75 4 24 4Q28.2 4 31.85 5.55Q35.5 7.1 38.2 9.8Q40.9 12.5 42.45 16.15Q44 19.8 44 24Q44 28.25 42.45 31.9Q40.9 35.55 38.2 38.25Q35.5 40.95 31.85 42.475Q28.2 44 24 44Z"
|
||||
id="path2"
|
||||
style="fill:#ffffff" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
@@ -123,6 +123,14 @@ html, body {
|
||||
border-image: linear-gradient(to right, var(--border-color), #00000000 80%) 1;
|
||||
}
|
||||
|
||||
.categoryExtraOptions {
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
#music_offtopic_autoSkipOnMusicVideos {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.option-group > div:last-child, .option-group > #keybind-dialog {
|
||||
border-bottom: inherit;
|
||||
}
|
||||
@@ -309,6 +317,15 @@ input[type='number'] {
|
||||
color: grey;
|
||||
}
|
||||
|
||||
.sb-toggle-option.disabled .slider {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/* To hide everything except upsell button */
|
||||
.disabled td:not(.skipOption, .categoryExtraOptions), .disabled td.skipOption > :not(.upsellButton) {
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
#options {
|
||||
height: 100vh;
|
||||
flex-basis: 80%;
|
||||
@@ -346,6 +363,10 @@ input[type='number'] {
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.switch-label {
|
||||
width: inherit;
|
||||
}
|
||||
|
||||
.switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
@@ -670,4 +691,9 @@ svg {
|
||||
#options > div {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.upsellButton {
|
||||
cursor: pointer;
|
||||
vertical-align: middle;
|
||||
}
|
||||
@@ -66,18 +66,6 @@
|
||||
|
||||
</div>
|
||||
|
||||
<div data-type="toggle" data-sync="autoSkipOnMusicVideos">
|
||||
<div class="switch-container">
|
||||
<label class="switch">
|
||||
<input id="autoSkipOnMusicVideos" type="checkbox" checked>
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
<label class="switch-label" for="autoSkipOnMusicVideos">
|
||||
__MSG_autoSkipOnMusicVideos__
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div data-type="toggle" data-sync="muteSegments">
|
||||
<div class="switch-container">
|
||||
<label class="switch">
|
||||
@@ -110,6 +98,20 @@
|
||||
|
||||
<div class="small-description">__MSG_minDurationDescription__</div>
|
||||
</div>
|
||||
|
||||
<div data-type="toggle" data-sync="manualSkipOnFullVideo">
|
||||
<div class="switch-container">
|
||||
<label class="switch">
|
||||
<input id="manualSkipOnFullVideo" type="checkbox" checked>
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
<label class="switch-label" for="manualSkipOnFullVideo">
|
||||
__MSG_enableManualSkipOnFullVideo__
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="small-description">__MSG_whatManualSkipOnFullVideo__</div>
|
||||
</div>
|
||||
|
||||
<div data-type="toggle" data-sync="forceChannelCheck">
|
||||
<div class="switch-container">
|
||||
@@ -139,6 +141,20 @@
|
||||
<div class="small-description">__MSG_whatRefetchWhenNotFound__</div>
|
||||
</div>
|
||||
|
||||
<div data-type="toggle" data-sync="showCategoryWithoutPermission">
|
||||
<div class="switch-container">
|
||||
<label class="switch">
|
||||
<input id="showCategoryWithoutPermission" type="checkbox" checked>
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
<label class="switch-label" for="showCategoryWithoutPermission">
|
||||
__MSG_enableShowCategoryWithoutPermission__
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="small-description">__MSG_whatShowCategoryWithoutPermission__</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="interface" class="option-group hidden">
|
||||
@@ -175,6 +191,18 @@
|
||||
<option value="4">__MSG_noticeVisibilityMode4__</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div data-type="toggle" data-sync="showCategoryGuidelines">
|
||||
<div class="switch-container">
|
||||
<label class="switch">
|
||||
<input id="showCategoryGuidelines" type="checkbox" checked>
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
<label class="switch-label" for="showCategoryGuidelines">
|
||||
__MSG_showCategoryGuidelines__
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div data-type="toggle" data-toggle-type="reverse" data-sync="hideVideoPlayerControls">
|
||||
<div class="switch-container">
|
||||
@@ -302,6 +330,18 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div data-type="toggle" data-toggle-type="reverse" data-sync="showUpsells" data-no-safari="true">
|
||||
<div class="switch-container">
|
||||
<label class="switch">
|
||||
<input id="showUpsell" type="checkbox" checked>
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
<label class="switch-label" for="showUpsells">
|
||||
__MSG_hideUpsells__
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="keybinds" class="option-group hidden">
|
||||
@@ -321,6 +361,16 @@
|
||||
<div class="inline"></div>
|
||||
</div>
|
||||
|
||||
<div data-type="keybind-change" data-sync="nextChapterKeybind">
|
||||
<label class="optionLabel">__MSG_nextChapterKeybind__:</label>
|
||||
<div class="inline"></div>
|
||||
</div>
|
||||
|
||||
<div data-type="keybind-change" data-sync="previousChapterKeybind">
|
||||
<label class="optionLabel">__MSG_previousChapterKeybind__:</label>
|
||||
<div class="inline"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="import" class="option-group hidden">
|
||||
@@ -340,6 +390,8 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div data-type="react-UnsubmittedVideosComponent"></div>
|
||||
|
||||
<div data-type="private-text-change" data-sync="*" data-confirm-message="exportOptionsWarning">
|
||||
<h2>__MSG_exportOptions__</h2>
|
||||
@@ -368,6 +420,12 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div data-type="button-press" data-sync="resetToDefault" data-confirm-message="confirmResetToDefault">
|
||||
<div class="option-button trigger-button">
|
||||
__MSG_resetToDefault__
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="advanced" class="option-group hidden">
|
||||
@@ -462,7 +520,7 @@
|
||||
|
||||
<div class="small-description">__MSG_copyDebugInformationOptions__</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div data-type="toggle" data-sync="testingServer" data-confirm-message="testingServerWarning" data-no-safari="true">
|
||||
<div class="switch-container">
|
||||
<label class="switch">
|
||||
|
||||
@@ -19,6 +19,12 @@
|
||||
|
||||
<br/>
|
||||
|
||||
<div class="center">
|
||||
__MSG_invidiousPermissionRefresh__
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
|
||||
<div class="center">
|
||||
<div id="acceptPermissionButton" class="option-button inline">
|
||||
__MSG_acceptPermission__
|
||||
|
||||
667
public/popup.css
@@ -1,29 +1,64 @@
|
||||
:root {
|
||||
--sb-main-font-family: "Source Sans Pro", sans-serif;
|
||||
--sb-main-bg-color: #222626;
|
||||
--sb-main-bg-color: #222;
|
||||
--sb-main-fg-color: #fff;
|
||||
--sb-grey-bg-color: #333;
|
||||
--sb-grey-fg-color: #999;
|
||||
--sb-red-bg-color: #cc1717;
|
||||
}
|
||||
|
||||
/*
|
||||
* IDs on container element (when inserted in page), <html> element,
|
||||
* <body> element and main container
|
||||
* Generic utilities
|
||||
*/
|
||||
|
||||
#sponsorBlockPopupContainer {
|
||||
margin-bottom: 16px;
|
||||
.grey-text {
|
||||
color: var(--sb-grey-fg-color);
|
||||
}
|
||||
.white-text {
|
||||
color: var(--sb-main-fg-color);
|
||||
}
|
||||
.sbHeader {
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
margin: 0;
|
||||
}
|
||||
#sponsorBlockPopupBody .u-mZ {
|
||||
margin: 0 !important;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#sponsorBlockPopupBody .hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/*
|
||||
* <button> elements that have icons
|
||||
*/
|
||||
#setUsernameButton,
|
||||
#copyUserID,
|
||||
#submitUsername {
|
||||
color: var(--sb-main-fg-color);
|
||||
background: transparent;
|
||||
width: fit-content;
|
||||
padding: none;
|
||||
border: none;
|
||||
}
|
||||
|
||||
/*
|
||||
* Main containers
|
||||
*/
|
||||
#sponsorBlockPopupHTML {
|
||||
color-scheme: dark;
|
||||
max-height: 600px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
#sponsorBlockPopupBody {
|
||||
margin: 0;
|
||||
width: 374px;
|
||||
font-family: var(--sb-main-font-family);
|
||||
max-width: 100%; /* NOTE: Ensures content doesn't exceed restricted popup widths in Firefox */
|
||||
font-size: 14px;
|
||||
font-family: var(--sb-main-font-family);
|
||||
background-color: var(--sb-main-bg-color);
|
||||
color: var(--sb-main-fg-color);
|
||||
color-scheme: dark;
|
||||
@@ -33,63 +68,141 @@
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#sponsorblockPopup a,
|
||||
#sponsorblockPopup button {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/*
|
||||
* Disable transition on all elements until the extension has loaded
|
||||
*/
|
||||
|
||||
.sb-preload * {
|
||||
transition: none !important;
|
||||
}
|
||||
|
||||
/*
|
||||
* Header logo
|
||||
* Alert indicating that Beta server is enabled
|
||||
*/
|
||||
|
||||
.sbPopupLogo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 32px;
|
||||
font-weight: bold;
|
||||
justify-content: center;
|
||||
user-select: none;
|
||||
padding: 20px 0 10px;
|
||||
}
|
||||
|
||||
.sbPopupLogo img {
|
||||
margin-right: 8px;
|
||||
#sbBetaServerWarning {
|
||||
padding: 8px;
|
||||
font-size: 1em;
|
||||
font-weight: 700;
|
||||
color: var(--sb-main-fg-color);
|
||||
background-color: var(--sb-red-bg-color);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/*
|
||||
* Refresh segments button
|
||||
* Container when popup displayed in-page (content.ts)
|
||||
*/
|
||||
|
||||
#refreshSegmentsButton {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-radius: 50%;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
padding: 5px;
|
||||
margin: 5px auto;
|
||||
align-items: center;
|
||||
#sponsorBlockPopupContainer {
|
||||
position: relative;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
#refreshSegmentsButton:hover {
|
||||
#sponsorBlockPopupContainer iframe {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/*
|
||||
* Disable popup max height when displayed in-page (content.ts)
|
||||
*/
|
||||
#sponsorBlockPopupContainer #sponsorBlockPopupHTML {
|
||||
max-height: none;
|
||||
}
|
||||
|
||||
/*
|
||||
* Disable fixed popup width when displayed in-page (content.ts)
|
||||
*/
|
||||
#sponsorBlockPopupBody.is-embedded {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/*
|
||||
* Close popup button when displayed in-page (top-right corner)
|
||||
*/
|
||||
.sbCloseButton {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
padding: 8px;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
right: 5px;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.sbCloseButton:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Header logo
|
||||
*/
|
||||
.sbPopupLogo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-weight: bold;
|
||||
user-select: none;
|
||||
padding: 10px 0px 0px;
|
||||
font-size: 32px;
|
||||
}
|
||||
.sbPopupLogo img {
|
||||
margin: 8px;
|
||||
}
|
||||
|
||||
#refreshSegmentsButton {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 5px;
|
||||
margin: 5px auto;
|
||||
}
|
||||
|
||||
#issueReporterImportExport {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#refreshSegmentsButton, #issueReporterImportExport button {
|
||||
background: transparent;
|
||||
border-radius: 50%;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#refreshSegmentsButton:hover, #issueReporterImportExport button:hover {
|
||||
background-color: var(--sb-grey-bg-color);
|
||||
}
|
||||
|
||||
#issueReporterImportExport button {
|
||||
padding: 5px;
|
||||
margin-right: 15px;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
#issueReporterImportExport img {
|
||||
width: 24px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#importSegmentsText {
|
||||
margin-top: 7px;
|
||||
}
|
||||
|
||||
#importSegmentsMenu button {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
/*
|
||||
* <details> wrapper around each segment
|
||||
*/
|
||||
|
||||
.votingButtons {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
border-radius: 8px;
|
||||
margin: 4px 16px;
|
||||
}
|
||||
|
||||
.votingButtons[open] {
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.votingButtons:hover {
|
||||
background-color: var(--sb-grey-bg-color);
|
||||
}
|
||||
@@ -97,44 +210,72 @@
|
||||
/*
|
||||
* Individual segments summaries (clickable <summary>)
|
||||
*/
|
||||
|
||||
.segmentSummary {
|
||||
cursor: pointer;
|
||||
font-weight: bold;
|
||||
padding: 7px;
|
||||
list-style: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
white-space: nowrap;
|
||||
font-weight: bold;
|
||||
list-style: none;
|
||||
cursor: pointer;
|
||||
padding: 4px 8px;
|
||||
}
|
||||
.segmentSummary > div {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.segmentSummary::-webkit-details-marker {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.segmentActive {
|
||||
color: #bdfffb;
|
||||
}
|
||||
|
||||
.segmentPassed {
|
||||
color: #adadad;
|
||||
}
|
||||
|
||||
/*
|
||||
* Category dot in segment
|
||||
*/
|
||||
|
||||
.sponsorTimesCategoryColorCircle {
|
||||
margin: 0 8px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.dot {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 50%;
|
||||
display: inline-block;
|
||||
}
|
||||
/*
|
||||
* Category name in segment
|
||||
*/
|
||||
.summaryLabel {
|
||||
overflow-wrap: break-word;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.sbVoteButtonsContainer {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/*
|
||||
* Buttons that appear under a segment on click
|
||||
*/
|
||||
|
||||
.voteButton {
|
||||
height: 20px;
|
||||
padding: 0 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.voteButton:hover {
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
/*
|
||||
* "Voted!" text that appears after voting on a segment
|
||||
*/
|
||||
|
||||
.sponsorTimesThanksForVotingText {
|
||||
font-size: large;
|
||||
}
|
||||
@@ -142,113 +283,44 @@
|
||||
/*
|
||||
* Main controls menu
|
||||
*/
|
||||
|
||||
.sbControlsMenu {
|
||||
margin: 16px;
|
||||
margin-top: 6px;
|
||||
border-radius: 8px;
|
||||
background-color: var(--sb-grey-bg-color);
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.sbControlsMenu-item {
|
||||
background-color: var(--sb-grey-bg-color);
|
||||
border: 0;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
padding: 10px 15px;
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.sbControlsMenu-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
background: transparent;
|
||||
user-select: none;
|
||||
cursor: pointer;
|
||||
border: none;
|
||||
flex: 1;
|
||||
padding: 10px 15px;
|
||||
transition: background-color 0.2s ease-in-out;
|
||||
}
|
||||
.sbControlsMenu-item:hover {
|
||||
background-color: #444;
|
||||
}
|
||||
|
||||
.sbControlsMenu-itemIcon {
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
/*
|
||||
* "Skipping is enabled" toggle
|
||||
*/
|
||||
|
||||
.toggleSwitchContainer {
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.toggleSwitchContainer-switch {
|
||||
display: flex;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.switchBg {
|
||||
display: block;
|
||||
width: 50px;
|
||||
height: 23px;
|
||||
border-radius: 18.5px;
|
||||
}
|
||||
|
||||
.switchBg.shadow {
|
||||
box-shadow: 0.75px 0.75px 10px 0px rgba(50, 50, 50, 0.5);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.switchBg.white {
|
||||
position: absolute;
|
||||
background-color: #ccc;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.switchBg.green {
|
||||
position: absolute;
|
||||
background-color: #00a205;
|
||||
opacity: 0;
|
||||
transition: opacity 0.2s ease-out;
|
||||
}
|
||||
|
||||
.switchDot {
|
||||
background-color: var(--sb-main-fg-color);
|
||||
border-radius: 50%;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
margin: 4px;
|
||||
position: absolute;
|
||||
box-shadow: 0.75px 0.75px 3.8px 0px rgba(50, 50, 50, 0.45);
|
||||
transition: transform 0.2s ease-out;
|
||||
}
|
||||
|
||||
#toggleSwitch:checked ~ .switchDot {
|
||||
transform: translateX(27px);
|
||||
}
|
||||
|
||||
#toggleSwitch:checked ~ .switchBg.green {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#toggleSwitch:checked ~ .switchBg.white {
|
||||
opacity: 0;
|
||||
transition: opacity 0.2s step-end;
|
||||
}
|
||||
|
||||
/*
|
||||
* Whitelist add/remove icon
|
||||
*/
|
||||
|
||||
.SBWhitelistIcon > path {
|
||||
fill: var(--sb-main-fg-color);
|
||||
}
|
||||
|
||||
.SBWhitelistIcon.rotated {
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
|
||||
@keyframes rotate {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
@@ -258,258 +330,303 @@
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* "Skipping is enabled" toggle
|
||||
*/
|
||||
.toggleSwitchContainer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
}
|
||||
.toggleSwitchContainer-switch {
|
||||
display: flex;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
.switchBg {
|
||||
width: 50px;
|
||||
height: 23px;
|
||||
display: block;
|
||||
border-radius: 18.5px;
|
||||
}
|
||||
.switchBg.shadow {
|
||||
box-shadow: 0.75px 0.75px 10px 0px rgba(50, 50, 50, 0.5);
|
||||
opacity: 1;
|
||||
}
|
||||
.switchBg.white {
|
||||
opacity: 1;
|
||||
position: absolute;
|
||||
background-color: #ccc;
|
||||
}
|
||||
.switchBg.green {
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
background-color: #00a205;
|
||||
transition: opacity 0.2s ease-out;
|
||||
}
|
||||
.switchDot {
|
||||
width: 15px;
|
||||
margin: 4px;
|
||||
height: 15px;
|
||||
border-radius: 50%;
|
||||
position: absolute;
|
||||
transition: transform 0.2s ease-out;
|
||||
background-color: var(--sb-main-fg-color);
|
||||
box-shadow: 0.75px 0.75px 3.8px 0px rgba(50, 50, 50, 0.45);
|
||||
}
|
||||
#toggleSwitch:checked ~ .switchDot {
|
||||
transform: translateX(27px);
|
||||
}
|
||||
#toggleSwitch:checked ~ .switchBg.green {
|
||||
opacity: 1;
|
||||
}
|
||||
#toggleSwitch:checked ~ .switchBg.white {
|
||||
transition: opacity 0.2s step-end;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Notice that appears when whitelisting a channel, that recommends
|
||||
* enabling the "Force Channel Check Before Skipping" option
|
||||
*/
|
||||
|
||||
#whitelistForceCheck {
|
||||
font-weight: bold;
|
||||
text-decoration: underline;
|
||||
font-size: large;
|
||||
cursor: pointer;
|
||||
padding: 10px 0;
|
||||
background-color: #fff3cd;
|
||||
padding: 10px 15px;
|
||||
display: block;
|
||||
color: #664d03;
|
||||
}
|
||||
#whitelistForceCheck:hover {
|
||||
background-color: #f2e4b7;
|
||||
}
|
||||
|
||||
/*
|
||||
* Container around the "Segment Starts Now" and "Submit Times" buttons
|
||||
* Submit box
|
||||
*/
|
||||
|
||||
#mainControls {
|
||||
flex-flow: column;
|
||||
align-items: center;
|
||||
margin-bottom: 12px;
|
||||
margin: 16px;
|
||||
padding: 8px 14px;
|
||||
text-align: left;
|
||||
border-radius: 8px;
|
||||
border: 2px solid var(--sb-grey-bg-color);
|
||||
}
|
||||
.sponsorStartHint {
|
||||
display: block;
|
||||
text-align: left;
|
||||
padding-top: 3px;
|
||||
}
|
||||
|
||||
/*
|
||||
* Generic buttons used for "Segment Starts Now" and "Submit Times"
|
||||
* Generic red buttons used for "Start Segment Now", "Submit Times" etc.
|
||||
*/
|
||||
|
||||
.sbMediumButton {
|
||||
background-color: var(--sb-red-bg-color);
|
||||
border: 0;
|
||||
-moz-border-radius: 28px;
|
||||
-webkit-border-radius: 28px;
|
||||
border: none;
|
||||
font-size: 16px;
|
||||
padding: 8px 16px;
|
||||
border-radius: 28px;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
-moz-border-radius: 28px;
|
||||
-webkit-border-radius: 28px;
|
||||
color: var(--sb-main-fg-color);
|
||||
font-size: 16px;
|
||||
padding: 8px 37px;
|
||||
font-family: var(--sb-main-font-family);
|
||||
transition: 0.01s background-color;
|
||||
font-family: var(--sb-main-font-family);
|
||||
background-color: var(--sb-red-bg-color);
|
||||
}
|
||||
|
||||
.sbMediumButton:hover,
|
||||
.sbMediumButton:focus {
|
||||
outline: none;
|
||||
background-color: #ec1c1c;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.sbMediumButton:active {
|
||||
position: relative;
|
||||
top: 1px;
|
||||
}
|
||||
|
||||
/*
|
||||
* "Submit Times" button
|
||||
*/
|
||||
|
||||
#submitTimes {
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
/*
|
||||
* Heading utility class
|
||||
* Your Work box
|
||||
*/
|
||||
|
||||
.sbHeader {
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
margin: 10px 0 5px;
|
||||
.sbYourWorkBox {
|
||||
margin: 16px;
|
||||
margin-bottom: 8px;
|
||||
border-radius: 8px;
|
||||
border: 2px solid var(--sb-grey-bg-color);
|
||||
}
|
||||
|
||||
/*
|
||||
* Side-by-side section of "Your Work"
|
||||
*/
|
||||
|
||||
.sbYourWorkCols {
|
||||
display: flex;
|
||||
margin: 0 20px 12px;
|
||||
border-top: 2px solid var(--sb-grey-bg-color);
|
||||
border-bottom: 2px solid var(--sb-grey-bg-color);
|
||||
}
|
||||
|
||||
.sbYourWorkCols > div {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 50%;
|
||||
justify-content: center;
|
||||
.sbStatsSentence {
|
||||
padding: 6px 14px;
|
||||
}
|
||||
|
||||
/*
|
||||
* <button> elements that have icons
|
||||
*/
|
||||
|
||||
#setUsernameButton,
|
||||
#submitUsername,
|
||||
#copyUserID {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
cursor: pointer;
|
||||
padding: 0;
|
||||
color: var(--sb-main-fg-color);
|
||||
width: fit-content;
|
||||
}
|
||||
|
||||
/*
|
||||
* Prevent username from wrapping
|
||||
*/
|
||||
|
||||
#setUsernameButton {
|
||||
flex: 0 1;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
/*
|
||||
* Set username button
|
||||
*/
|
||||
|
||||
#submitUsername {
|
||||
padding-left: 7px;
|
||||
.sbExtraInfo {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/*
|
||||
* Increase font size of username input and display
|
||||
*/
|
||||
|
||||
#usernameValue,
|
||||
#usernameInput,
|
||||
#sponsorTimesContributionsDisplay {
|
||||
#usernameInput {
|
||||
font-size: 16px;
|
||||
flex: 1 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Left align "Username" and "Submissions" labels
|
||||
#sponsorTimesContributionsDisplay {
|
||||
font-size: 16px;
|
||||
}
|
||||
/*
|
||||
* Improve alignment of username and submissions
|
||||
*/
|
||||
|
||||
#usernameElement > div > p,
|
||||
#usernameElement > p,
|
||||
#sponsorTimesContributionsContainer {
|
||||
text-align: start;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/*
|
||||
* Enable flexbox for buttons with SVG icon
|
||||
* Username
|
||||
*/
|
||||
|
||||
#usernameElement {
|
||||
padding: 8px 14px;
|
||||
min-width: 50%;
|
||||
width: 100%;
|
||||
}
|
||||
#setUsernameContainer {
|
||||
display: flex;
|
||||
width: fit-content;
|
||||
}
|
||||
#setUsernameContainer > button {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
/*
|
||||
* Improve position of "Copy User ID" button
|
||||
*/
|
||||
|
||||
#setUsernameButton {
|
||||
margin-right: 5px;
|
||||
flex: 0 1;
|
||||
}
|
||||
#submitUsername {
|
||||
padding-left: 16px;
|
||||
}
|
||||
#copyUserID {
|
||||
width: 100%;
|
||||
flex: 0 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Container around username display and edit
|
||||
*/
|
||||
|
||||
#setUsernameContainer {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
/*
|
||||
* Improve alignment of username and submissions
|
||||
*/
|
||||
|
||||
#usernameElement > div,
|
||||
#sponsorTimesContributionsContainer > div {
|
||||
display: flex;
|
||||
flex-flow: column nowrap;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
/*
|
||||
* Truncate username display
|
||||
*/
|
||||
|
||||
#usernameValue {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
margin: 0 8px 0 0;
|
||||
max-width: 130px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
/*
|
||||
* Set username form container with "expanded" state
|
||||
*/
|
||||
|
||||
#setUsername {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
#setUsername.SBExpanded {
|
||||
width: 200%;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/*
|
||||
* Set username input
|
||||
*/
|
||||
|
||||
#usernameInput {
|
||||
background: transparent;
|
||||
padding: 2px;
|
||||
border: var(--sb-main-fg-color) 1px solid;
|
||||
color: var(--sb-main-fg-color);
|
||||
width: calc(100% - 24px);
|
||||
border: none;
|
||||
padding: 4px 8px;
|
||||
border-radius: 4px;
|
||||
width: calc(100% - 68px);
|
||||
text-overflow: ellipsis;
|
||||
color: var(--sb-main-fg-color);
|
||||
background-color: var(--sb-grey-bg-color);
|
||||
}
|
||||
|
||||
/*
|
||||
* Submissions
|
||||
*/
|
||||
#sponsorTimesContributionsContainer {
|
||||
padding: 8px 14px;
|
||||
border-left: 2px solid var(--sb-grey-bg-color);
|
||||
}
|
||||
|
||||
/*
|
||||
* Footer
|
||||
*/
|
||||
|
||||
#sbFooter {
|
||||
margin-top: 10px;
|
||||
padding-bottom: 20px;
|
||||
padding: 8px 0;
|
||||
}
|
||||
#sbFooter a {
|
||||
transition: background 0.3s ease !important;
|
||||
color: var(--sb-main-fg-color);
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
border-radius: 4px;
|
||||
background-color: #333;
|
||||
padding: 4px 8px;
|
||||
font-weight: 500;
|
||||
margin: 2px 1px;
|
||||
}
|
||||
#sbFooter a:hover {
|
||||
background-color: #444;
|
||||
}
|
||||
|
||||
#sbFooter a {
|
||||
#sponsorTimesDonateContainer a {
|
||||
color: var(--sb-main-fg-color);
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/*
|
||||
* "Show Notice Again" button
|
||||
*/
|
||||
|
||||
#showNoticeAgain {
|
||||
background: transparent;
|
||||
border: 1px solid #fff;
|
||||
border-radius: 5px;
|
||||
color: var(--sb-main-fg-color);
|
||||
cursor: pointer;
|
||||
margin-bottom: 20px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
/*
|
||||
* Generic spacing classes
|
||||
*/
|
||||
|
||||
.u-mZ {
|
||||
#sponsorBlockPopupBody .u-mZ {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
/*
|
||||
* Generic hide utility classes
|
||||
*/
|
||||
|
||||
#sponsorBlockPopupBody .hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#issueReporterTabs {
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
#issueReporterTabs > span {
|
||||
padding: 2px 4px;
|
||||
margin: 0 3px;
|
||||
cursor: pointer;
|
||||
background-color: #444848;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#issueReporterTabs > span > span {
|
||||
position: relative;
|
||||
padding: 0.2em 0;
|
||||
}
|
||||
|
||||
#issueReporterTabs > span > span::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 0.1em;
|
||||
background-color: rgb(145, 0, 0);
|
||||
transition: transform 300ms;
|
||||
transform: scaleX(0);
|
||||
transform-origin: center;
|
||||
}
|
||||
|
||||
#issueReporterTabs > span.sbSelected > span::after {
|
||||
transform: scaleX(0.8);
|
||||
}
|
||||
@@ -6,11 +6,20 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<link id="sponsorBlockPopupFont" href="/libs/Source+Sans+Pro.css" rel="stylesheet">
|
||||
<link id="sponsorBlockStyleSheet" href="popup.css" rel="stylesheet">
|
||||
<link id="sponsorBlockStyleSheet" href="shared.css" rel="stylesheet">
|
||||
</head>
|
||||
|
||||
<body id="sponsorBlockPopupBody">
|
||||
<body id="sponsorBlockPopupBody" style="visibility: hidden">
|
||||
<div id="sponsorblockPopup" class="sponsorBlockPageBody sb-preload">
|
||||
|
||||
<button id="sbCloseButton" title="__MSG_closePopup__" class="sbCloseButton hidden">
|
||||
<img src="icons/close.png" width="15" height="15" alt="Close icon">
|
||||
</button>
|
||||
|
||||
<div id="sbBetaServerWarning" class="hidden" title="__MSG_openOptionsPage__">
|
||||
__MSG_betaServerWarning__
|
||||
</div>
|
||||
|
||||
<header class="sbPopupLogo">
|
||||
<img src="icons/IconSponsorBlocker256px.png" alt="SponsorBlock" width="40" height="40" id="sponsorBlockPopupLogo">
|
||||
<p class="u-mZ">SponsorBlock</p>
|
||||
@@ -18,20 +27,48 @@
|
||||
|
||||
<div id="videoInfo">
|
||||
<!-- Loading text -->
|
||||
<p id="loadingIndicator" class="u-mZ">__MSG_noVideoID__</p>
|
||||
<p id="loadingIndicator" class="u-mZ grey-text">__MSG_noVideoID__</p>
|
||||
<!-- If the video was found in the database -->
|
||||
<p id="videoFound" class="u-mZ"></p>
|
||||
<p id="videoFound" class="u-mZ grey-text"></p>
|
||||
<button id="refreshSegmentsButton" title="__MSG_refreshSegments__">
|
||||
<img src="/icons/refresh.svg" alt="Refresh icon" id="refreshSegments" />
|
||||
</button>
|
||||
<!-- Video Segments -->
|
||||
<div id="issueReporterContainer">
|
||||
<div id="issueReporterTabs" class="hidden">
|
||||
<span id="issueReporterTabSegments" class="sbSelected">
|
||||
<span>__MSG_SegmentsCap__</span>
|
||||
</span>
|
||||
<span id="issueReporterTabChapters">
|
||||
<span>__MSG_Chapters__</span>
|
||||
</span>
|
||||
</div>
|
||||
<div id="issueReporterTimeButtons"></div>
|
||||
<div id="issueReporterImportExport" class="hidden">
|
||||
<div id="importExportButtons">
|
||||
<button id="importSegmentsButton" title="__MSG_importSegments__">
|
||||
<img src="/icons/import.svg" alt="Refresh icon" id="importSegments" />
|
||||
</button>
|
||||
<button id="exportSegmentsButton" class="hidden" title="__MSG_exportSegments__">
|
||||
<img src="/icons/export.svg" alt="Export icon" id="exportSegments" />
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<span id="importSegmentsMenu" class="hidden">
|
||||
<textarea id="importSegmentsText" rows="5" style="width:80%"></textarea>
|
||||
|
||||
<button id="importSegmentsSubmit" title="__MSG_importSegments__">
|
||||
__MSG_Import__
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Toggle Box -->
|
||||
<div class="sbControlsMenu">
|
||||
<label id="whitelistButton" for="whitelistToggle" class="hidden sbControlsMenu-item" title="__MSG_forceChannelCheckPopup__">
|
||||
<input type="checkbox" style="display:none;" id="whitelistToggle">
|
||||
<label id="whitelistButton" for="whitelistToggle" class="hidden sbControlsMenu-item">
|
||||
<input type="checkbox" style="display: none" id="whitelistToggle">
|
||||
<svg viewBox="0 0 24 24" width="23" height="23" class="SBWhitelistIcon sbControlsMenu-itemIcon">
|
||||
<path d="M24 10H14V0h-4v10H0v4h10v10h4V14h10z" />
|
||||
</svg>
|
||||
@@ -41,7 +78,7 @@
|
||||
<!--github: mbledkowski/toggle-switch-->
|
||||
<label id="disableExtension" for="toggleSwitch" class="toggleSwitchContainer sbControlsMenu-item">
|
||||
<span class="toggleSwitchContainer-switch">
|
||||
<input type="checkbox" style="display:none;" id="toggleSwitch" checked>
|
||||
<input type="checkbox" style="display: none" id="toggleSwitch" checked>
|
||||
<span class="switchBg shadow"></span>
|
||||
<span class="switchBg white"></span>
|
||||
<span class="switchBg green"></span>
|
||||
@@ -56,31 +93,37 @@
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<p id="whitelistForceCheck" class="u-mZ hidden">
|
||||
<a id="whitelistForceCheck" class="hidden">
|
||||
__MSG_forceChannelCheckPopup__
|
||||
</p>
|
||||
</a>
|
||||
|
||||
<!-- Submit box -->
|
||||
<div id="mainControls" style="display: none">
|
||||
<p class="sbHeader">
|
||||
<h1 class="sbHeader">
|
||||
__MSG_recordTimesDescription__
|
||||
</p>
|
||||
<sub style="margin-bottom: 12px;">__MSG_popupHint__</sub>
|
||||
<div>
|
||||
<button id="sponsorStart" class="sbMediumButton">__MSG_sponsorStart__</button>
|
||||
</div>
|
||||
<div id="submissionSection" style="display: none">
|
||||
<b style="display: block; margin-top: 12px;">__MSG_submissionEditHint__</b>
|
||||
<button id="submitTimes" class="sbMediumButton">__MSG_submitTimesButton__</button>
|
||||
</h1>
|
||||
<sub class="sponsorStartHint grey-text">__MSG_popupHint__</sub>
|
||||
<div style="text-align: center; margin: 8px 0;">
|
||||
<button id="sponsorStart" class="sbMediumButton" style="margin-right: 8px">__MSG_sponsorStart__</button>
|
||||
<button id="submitTimes" class="sbMediumButton" style="display: none">__MSG_submitTimesButton__</button>
|
||||
</div>
|
||||
<span id="submissionHint" style="display: none">__MSG_submissionEditHint__</span>
|
||||
</div>
|
||||
|
||||
<h1 class="recordingSubtitle sbHeader">__MSG_yourWork__</h1>
|
||||
<div class="sbYourWorkCols">
|
||||
<div id="usernameElement">
|
||||
<div>
|
||||
<p class="u-mZ">__MSG_Username__:</p>
|
||||
<!-- Your Work box -->
|
||||
<div class="sbYourWorkBox">
|
||||
<h1 class="sbHeader" style="padding: 8px 15px;">
|
||||
__MSG_yourWork__
|
||||
</h1>
|
||||
<div class="sbYourWorkCols">
|
||||
<!-- Username -->
|
||||
<div id="usernameElement">
|
||||
<p class="u-mZ grey-text">__MSG_Username__:
|
||||
<!-- loading/errors -->
|
||||
<span id="setUsernameStatus" class="u-mZ white-text" style="display: none"></span>
|
||||
</p>
|
||||
<div id="setUsernameContainer">
|
||||
<p id="usernameValue" class="u-mZ"></p>
|
||||
<p id="usernameValue"></p>
|
||||
<button id="setUsernameButton" title="__MSG_setUsername__">
|
||||
<img src="/icons/pencil.svg" alt="__MSG_setUsername__" width="16" height="16" id="sbPopupIconEdit">
|
||||
</button>
|
||||
@@ -89,65 +132,69 @@
|
||||
</button>
|
||||
</div>
|
||||
<div id="setUsername" style="display: none">
|
||||
<div id="setUsernameStatusContainer" style="display: none">
|
||||
<p id="setUsernameStatus" class="u-mZ"></p>
|
||||
</div>
|
||||
<input id="usernameInput" placeholder="Username">
|
||||
<button id="submitUsername">
|
||||
<img src="/icons/check.svg" alt="__MSG_setUsername__" width="16" height="16" id="sbPopupIconCheck">
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="sponsorTimesContributionsContainer" class="hidden">
|
||||
<div>
|
||||
<p class="u-mZ">__MSG_Submissions__:</p>
|
||||
<span id="sponsorTimesContributionsDisplay">
|
||||
0
|
||||
</span>
|
||||
<!-- Submissions -->
|
||||
<div id="sponsorTimesContributionsContainer" class="hidden">
|
||||
<p class="u-mZ grey-text">__MSG_Submissions__:</p>
|
||||
<p id="sponsorTimesContributionsDisplay" class="u-mZ">0</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p id="sponsorTimesViewsContainer" style="display: none" class="u-mZ sbStatsSentence">
|
||||
__MSG_savedPeopleFrom__
|
||||
<b>
|
||||
<span id="sponsorTimesViewsDisplay">0</span>
|
||||
</b>
|
||||
<span id="sponsorTimesViewsDisplayEndWord">__MSG_Segments__</span>
|
||||
<br />
|
||||
<span class="sbExtraInfo">
|
||||
(
|
||||
<b>
|
||||
<span id="sponsorTimesOthersTimeSavedDisplay">0</span>
|
||||
<span id="sponsorTimesOthersTimeSavedEndWord">__MSG_minsLower__</span>
|
||||
</b>
|
||||
<span>__MSG_youHaveSavedTimeEnd__</span>
|
||||
)
|
||||
</span>
|
||||
</p>
|
||||
<p id="sponsorTimesSkipsDoneContainer" style="display: none" class="u-mZ sbStatsSentence">
|
||||
__MSG_youHaveSkipped__
|
||||
<b>
|
||||
<span id="sponsorTimesSkipsDoneDisplay">0</span>
|
||||
</b>
|
||||
<span id="sponsorTimesSkipsDoneEndWord">__MSG_Segments__</span>
|
||||
<span class="sbExtraInfo">
|
||||
(
|
||||
<b>
|
||||
<span id="sponsorTimeSavedDisplay">0</span>
|
||||
<span id="sponsorTimeSavedEndWord">__MSG_minsLower__</span>
|
||||
</b>
|
||||
)
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<p id="sponsorTimesViewsContainer" style="display: none" class="u-mZ">
|
||||
__MSG_savedPeopleFrom__
|
||||
<b><span id="sponsorTimesViewsDisplay">
|
||||
0
|
||||
</span></b>
|
||||
<span id="sponsorTimesViewsDisplayEndWord">__MSG_Segments__</span>
|
||||
<br>
|
||||
(<b><span id="sponsorTimesOthersTimeSavedDisplay">0</span>
|
||||
<span id="sponsorTimesOthersTimeSavedEndWord">__MSG_minsLower__</span></b>
|
||||
<span>__MSG_youHaveSavedTimeEnd__</span>).
|
||||
</p>
|
||||
<p id="sponsorTimesSkipsDoneContainer" style="display: none" class="u-mZ">
|
||||
__MSG_youHaveSkipped__
|
||||
<b><span id="sponsorTimesSkipsDoneDisplay">
|
||||
0
|
||||
</span></b>
|
||||
<span id="sponsorTimesSkipsDoneEndWord">__MSG_Segments__</span>
|
||||
(<b><span id="sponsorTimeSavedDisplay">
|
||||
0
|
||||
</span>
|
||||
<span id="sponsorTimeSavedEndWord">__MSG_minsLower__</span></b>).
|
||||
</p>
|
||||
<div id="sponsorTimesDonateContainer" style="display: none; align-items: center; justify-content: center;">
|
||||
<img class="sbHeart" src="/icons/heart.svg" alt="Heart icon" />
|
||||
<a id="sbConsiderDonateLink" href="https://sponsor.ajay.app/donate" target="_blank" rel="noopener">
|
||||
__MSG_considerDonating__
|
||||
</a>
|
||||
<img id="sbCloseDonate" src="/icons/close.png" alt="__MSG_closeIcon__" height="8" style="padding-left: 5px; cursor: pointer;" />
|
||||
</div>
|
||||
|
||||
<footer id="sbFooter">
|
||||
<div id="sponsorTimesDonateContainer" style="display: none; align-items: center; justify-content: center;">
|
||||
<img class="sbHeart" src="/icons/heart.svg" alt="Heart icon" />
|
||||
<a id="sbConsiderDonateLink" href="https://sponsor.ajay.app/donate" target="_blank" rel="noopener">
|
||||
__MSG_considerDonating__
|
||||
</a>
|
||||
<img id="sbCloseDonate" src="/icons/close.png" alt="Close icon" height="8" style="padding-left: 5px; cursor: pointer;" />
|
||||
</div>
|
||||
|
||||
<a href="https://sponsor.ajay.app" target="_blank" rel="noopener">__MSG_website__</a> |
|
||||
<a href="https://sponsor.ajay.app/stats" target="_blank" rel="noopener">__MSG_viewLeaderboard__</a> |
|
||||
<a id="helpButton">__MSG_help__</a>
|
||||
<a href="https://sponsor.ajay.app" target="_blank" rel="noopener">__MSG_website__</a>
|
||||
<a href="https://sponsor.ajay.app/stats" target="_blank" rel="noopener">__MSG_viewLeaderboard__</a>
|
||||
<br />
|
||||
<a href="https://github.com/ajayyy/SponsorBlock" target="_blank" rel="noopener">GitHub</a>
|
||||
<br/>
|
||||
<a href="https://discord.gg/SponsorBlock" target="_blank" rel="noopener">Discord</a> |
|
||||
<a href="https://matrix.to/#/#sponsor:ajay.app?via=ajay.app&via=matrix.org&via=mozilla.org" target="_blank" rel="noopener">Matrix</a> |
|
||||
<a id="helpButton">__MSG_help__</a> |
|
||||
<a href="https://discord.gg/SponsorBlock" target="_blank" rel="noopener">Discord</a>
|
||||
<a href="https://matrix.to/#/#sponsor:ajay.app?via=ajay.app&via=matrix.org&via=mozilla.org" target="_blank" rel="noopener">Matrix</a>
|
||||
<a href="https://sponsor.ajay.app/donate" target="_blank" rel="noopener" id="sbDonate">$</a>
|
||||
</footer>
|
||||
|
||||
|
||||
1
public/res/countries.json
Normal file
@@ -0,0 +1 @@
|
||||
{"Albania":{"allowed":true},"Algeria":{"allowed":true},"Angola":{"allowed":true},"Argentina":{"allowed":true},"Armenia":{"allowed":true},"Australia":{"allowed":false},"Austria":{"allowed":false},"Azerbaijan":{"allowed":true},"Bangladesh":{"allowed":true},"Belarus":{"allowed":true},"Belgium":{"allowed":false},"Belize":{"allowed":true},"Benin":{"allowed":true},"Bhutan":{"allowed":true},"Bolivia":{"allowed":true},"Bosnia and Herzegovina":{"allowed":true},"Botswana":{"allowed":true},"Brazil":{"allowed":true},"Bulgaria":{"allowed":true},"Burkina Faso":{"allowed":true},"Burundi":{"allowed":true},"Cameroon":{"allowed":true},"Canada":{"allowed":false},"Central African Republic":{"allowed":true},"Chad":{"allowed":true},"Chile":{"allowed":true},"China":{"allowed":true},"Colombia":{"allowed":true},"Comoros":{"allowed":true},"Costa Rica":{"allowed":true},"Croatia":{"allowed":true},"Cyprus":{"allowed":false},"Czech Republic":{"allowed":false},"Denmark":{"allowed":false},"Djibouti":{"allowed":true},"Dominican Republic":{"allowed":true},"DR Congo":{"allowed":true},"Ecuador":{"allowed":true},"Egypt":{"allowed":true},"El Salvador":{"allowed":true},"Estonia":{"allowed":false},"Eswatini":{"allowed":true},"Ethiopia":{"allowed":true},"Fiji":{"allowed":true},"Finland":{"allowed":false},"France":{"allowed":false},"Gabon":{"allowed":true},"Gambia":{"allowed":true},"Georgia":{"allowed":true},"Germany":{"allowed":false},"Ghana":{"allowed":true},"Greece":{"allowed":true},"Guatemala":{"allowed":true},"Guinea":{"allowed":true},"Guinea-Bissau":{"allowed":true},"Guyana":{"allowed":true},"Haiti":{"allowed":true},"Honduras":{"allowed":true},"Hungary":{"allowed":true},"Iceland":{"allowed":false},"India":{"allowed":true},"Iran":{"allowed":true},"Iraq":{"allowed":true},"Ireland":{"allowed":false},"Israel":{"allowed":false},"Italy":{"allowed":false},"Ivory Coast":{"allowed":true},"Jamaica":{"allowed":true},"Japan":{"allowed":false},"Jordan":{"allowed":true},"Kazakhstan":{"allowed":true},"Kenya":{"allowed":true},"Kiribati":{"allowed":true},"Kyrgyzstan":{"allowed":true},"Laos":{"allowed":true},"Latvia":{"allowed":true},"Lebanon":{"allowed":true},"Lesotho":{"allowed":true},"Liberia":{"allowed":true},"Lithuania":{"allowed":true},"Luxembourg":{"allowed":false},"Madagascar":{"allowed":true},"Malawi":{"allowed":true},"Malaysia":{"allowed":true},"Maldives":{"allowed":true},"Mali":{"allowed":true},"Malta":{"allowed":false},"Mauritania":{"allowed":true},"Mauritius":{"allowed":true},"Mexico":{"allowed":true},"Micronesia":{"allowed":true},"Moldova":{"allowed":true},"Mongolia":{"allowed":true},"Montenegro":{"allowed":true},"Morocco":{"allowed":true},"Mozambique":{"allowed":true},"Myanmar":{"allowed":true},"Namibia":{"allowed":true},"Nepal":{"allowed":true},"Netherlands":{"allowed":false},"Nicaragua":{"allowed":true},"Niger":{"allowed":true},"Nigeria":{"allowed":true},"North Macedonia":{"allowed":true},"Norway":{"allowed":false},"Pakistan":{"allowed":true},"Panama":{"allowed":true},"Papua New Guinea":{"allowed":true},"Paraguay":{"allowed":true},"Peru":{"allowed":true},"Philippines":{"allowed":true},"Poland":{"allowed":true},"Portugal":{"allowed":true},"Republic of the Congo":{"allowed":true},"Romania":{"allowed":true},"Russia":{"allowed":true},"Rwanda":{"allowed":true},"Saint Lucia":{"allowed":true},"Samoa":{"allowed":true},"Sao Tome and Principe":{"allowed":true},"Senegal":{"allowed":true},"Serbia":{"allowed":true},"Seychelles":{"allowed":true},"Sierra Leone":{"allowed":true},"Slovakia":{"allowed":true},"Slovenia":{"allowed":false},"Solomon Islands":{"allowed":true},"South Africa":{"allowed":true},"South Korea":{"allowed":false},"South Sudan":{"allowed":true},"Spain":{"allowed":false},"Sri Lanka":{"allowed":true},"Sudan":{"allowed":true},"Suriname":{"allowed":true},"Sweden":{"allowed":false},"Switzerland":{"allowed":false},"Syria":{"allowed":true},"Taiwan":{"allowed":false},"Tajikistan":{"allowed":true},"Tanzania":{"allowed":true},"Thailand":{"allowed":true},"Timor-Leste":{"allowed":true},"Togo":{"allowed":true},"Tonga":{"allowed":true},"Trinidad and Tobago":{"allowed":true},"Tunisia":{"allowed":true},"Turkey":{"allowed":true},"Turkmenistan":{"allowed":true},"Tuvalu":{"allowed":true},"Uganda":{"allowed":true},"Ukraine":{"allowed":true},"United Arab Emirates":{"allowed":false},"United Kingdom":{"allowed":false},"United States":{"allowed":false},"Uruguay":{"allowed":true},"Uzbekistan":{"allowed":true},"Vanuatu":{"allowed":true},"Venezuela":{"allowed":true},"Vietnam":{"allowed":true},"Yemen":{"allowed":true},"Zambia":{"allowed":true},"Zimbabwe":{"allowed":true}}
|
||||
219
public/shared.css
Normal file
@@ -0,0 +1,219 @@
|
||||
.sponsorSkipNoticeParent {
|
||||
position: absolute;
|
||||
|
||||
bottom: 100px;
|
||||
right: var(--skip-notice-right);
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeParent, .sponsorSkipNotice {
|
||||
border-spacing: var(--skip-notice-border-horizontal) var(--skip-notice-border-vertical);
|
||||
padding-left: var(--skip-notice-padding);
|
||||
padding-right: var(--skip-notice-padding);
|
||||
|
||||
border-collapse: unset;
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeParent {
|
||||
min-width: 350px;
|
||||
max-width: 50%;
|
||||
}
|
||||
|
||||
.sponsorSkipNotice {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeTableContainer {
|
||||
background-color: rgba(28, 28, 28, 0.9);
|
||||
border-radius: 5px;
|
||||
min-width: 100%;
|
||||
}
|
||||
|
||||
.sponsorSkipNotice {
|
||||
transition: all 0.1s ease-out;
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeLimitWidth {
|
||||
max-width: calc(100% - 50px);
|
||||
}
|
||||
|
||||
.sponsorSkipNotice .hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* For Cloudtube */
|
||||
.sponsorSkipNotice td, .sponsorSkipNotice table, .sponsorSkipNotice th {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeFadeIn {
|
||||
animation: fadeIn 0.5s ease-out;
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeFaded {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeFadeOut {
|
||||
transition: opacity 3s cubic-bezier(0.55, 0.055, 0.675, 0.19);
|
||||
opacity: 0 !important;
|
||||
animation: none !important;
|
||||
}
|
||||
|
||||
.sponsorSkipNotice .sponsorSkipNoticeTimeLeft {
|
||||
color: #eeeeee;
|
||||
|
||||
border-radius: 4px;
|
||||
padding: 2px 5px;
|
||||
font-size: 12px;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
border: 1px solid #eeeeee;
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeTimeLeft img {
|
||||
vertical-align: middle;
|
||||
height: 13px;
|
||||
|
||||
padding-top: 7.8%;
|
||||
padding-bottom: 7.8%;
|
||||
}
|
||||
|
||||
/* if two are very close to eachother */
|
||||
.secondSkipNotice {
|
||||
bottom: 290px;
|
||||
}
|
||||
|
||||
.noticeLeftIcon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.sponsorSkipNotice .sponsorSkipNoticeUnskipSection {
|
||||
float: left;
|
||||
|
||||
border-left: 1px solid rgb(150, 150, 150);
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeButton {
|
||||
background: none;
|
||||
color: rgb(235, 235, 235);
|
||||
border: none;
|
||||
display: inline-block;
|
||||
font-size: 13.3333px !important;
|
||||
|
||||
cursor: pointer;
|
||||
|
||||
margin-right: 10px;
|
||||
|
||||
padding: 2px 5px;
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeButton:hover {
|
||||
background-color: rgba(235, 235, 235,0.2);
|
||||
border-radius: 4px;
|
||||
|
||||
transition: background-color 0.4s;
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeFirstRow .sponsorSkipNoticeButton.sponsorSkipSmallButton {
|
||||
height: 1.3em;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.sponsorTimesVoteButtonsContainer {
|
||||
float: left;
|
||||
vertical-align:middle;
|
||||
padding: 2px 5px;
|
||||
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.sponsorTimesVoteButtonsContainer div{
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeRightSection {
|
||||
right: 0;
|
||||
position: absolute;
|
||||
|
||||
float: right;
|
||||
|
||||
margin-right: 10px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeRightButton {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeCloseButton {
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
box-sizing: unset;
|
||||
|
||||
padding: 2px 5px;
|
||||
|
||||
margin-left: 2px;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.sponsorSkipNoticeCloseButton.biggerCloseButton {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.sponsorSkipMessage {
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
color: rgb(235, 235, 235);
|
||||
|
||||
margin-top: auto;
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
margin-bottom: auto;
|
||||
}
|
||||
|
||||
.sponsorSkipInfo {
|
||||
font-size: 10px;
|
||||
color: #000000;
|
||||
text-align: center;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
#sponsorTimesThanksForVotingText {
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
color: #000000;
|
||||
text-align: center;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
#sponsorTimesThanksForVotingInfoText {
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
color: #000000;
|
||||
text-align: center;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
.sponsorTimesVoteButtonMessage {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.sponsorTimesInfoMessage {
|
||||
font-size: 13.3333px;
|
||||
color: rgb(235, 235, 235);
|
||||
}
|
||||
|
||||
.sb-guidelines-notice .sponsorTimesInfoMessage td {
|
||||
padding-left: 5px;
|
||||
padding-top: 2px;
|
||||
padding-bottom: 2px;
|
||||
font-size: 15px;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
101
public/upsell/index.html
Normal file
@@ -0,0 +1,101 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<head>
|
||||
<title>Upsell - SponsorBlock</title>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<link href="styles.css" rel="stylesheet" />
|
||||
|
||||
<script src="../js/vendor.js"></script>
|
||||
<script src="../js/upsell.js"></script>
|
||||
</head>
|
||||
|
||||
<body class="sponsorBlockPageBody">
|
||||
|
||||
<div id="title" class="titleBar">
|
||||
<img src="../icons/LogoSponsorBlocker256px.png" height="80" class="profilepic" />
|
||||
SponsorBlock
|
||||
</div>
|
||||
|
||||
<br />
|
||||
|
||||
<div class="center">
|
||||
<p>
|
||||
__MSG_chaptersPage1__
|
||||
</p>
|
||||
|
||||
<p class="smaller">
|
||||
__MSG_chaptersPage2__
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="center">
|
||||
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/H_mP7bpbA_c?modestbranding=1&rel=0" title="Demo Video"
|
||||
frameborder="0" allow="autoplay; clipboard-write; encrypted-media; picture-in-picture"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<br />
|
||||
|
||||
<div class="center row-item">
|
||||
<a href="https://buy.ajay.app/l/sponsorblock" class="option-link side-by-side" target="_blank" rel="noreferrer">
|
||||
<div id="oneTimePurchase" class="option-button inline">
|
||||
__MSG_oneTimePurchase__
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://www.patreon.com/ajayyy" class="option-link side-by-side" target="_blank" rel="noreferrer">
|
||||
<div class="option-button side-by-side inline">
|
||||
__MSG_joinOnPatreon__
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="center row-item">
|
||||
<input id="redeemCodeInput" class="option-text-box" type="text" placeholder="__MSG_enterLicenseKey__">
|
||||
<div id="redeemButton" class="option-button inline">
|
||||
__MSG_redeem__
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="center row-item">
|
||||
<a href="https://www.patreon.com/oauth2/authorize?response_type=code&client_id=-W7ib8J-LB3jowb1fqE07A7RDUovy45_pOoWcjby6yr5upo6At8Jlg2BPhWDXO2k&redirect_uri=https%3A%2F%2Fsponsor.ajay.app%2Fapi%2FgenerateToken%2Fpatreon"
|
||||
class="option-link" target="_blank" rel="noreferrer">
|
||||
<div class="option-button inline">
|
||||
__MSG_patreonSignIn__
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="center">
|
||||
<p id="cantAfford" class="smaller no-margin">
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="center">
|
||||
<p class="smaller no-margin">
|
||||
__MSG_alreadyDonated__ sponsorblock-free@ajay.app
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="subsidizedPrice" class="center hidden">
|
||||
__MSG_selectYourCountry__
|
||||
</div>
|
||||
|
||||
<div id="subsidizedLink" class="center hidden">
|
||||
<a href="https://buy.ajay.app/l/sponsorblock/purchasing-power" class="option-link" target="_blank"
|
||||
rel="noreferrer">
|
||||
<div class="option-button inline">
|
||||
__MSG_discountLink__
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="noSubsidizedLink" class="center hidden">
|
||||
__MSG_noDiscount__
|
||||
</div>
|
||||
|
||||
</body>
|
||||
397
public/upsell/styles.css
Normal file
@@ -0,0 +1,397 @@
|
||||
/* Based on options page CSS */
|
||||
html {
|
||||
color-scheme: dark;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
.center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.center p {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.inline {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.row-item {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.keybind-status {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.small-description {
|
||||
color: white;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.medium-description {
|
||||
color: white;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.option-text-box {
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
.option-button {
|
||||
cursor: pointer;
|
||||
|
||||
background-color: #c00000;
|
||||
padding: 10px;
|
||||
color: white;
|
||||
border-radius: 5px;
|
||||
font-size: 14px;
|
||||
|
||||
width: max-content;
|
||||
}
|
||||
|
||||
.option-link {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.option-link.side-by-side {
|
||||
padding: 50px;
|
||||
}
|
||||
|
||||
.option-button:hover {
|
||||
background-color: #fc0303;
|
||||
}
|
||||
|
||||
.option-button.disabled {
|
||||
cursor: default;
|
||||
|
||||
background-color: #520000;
|
||||
color: grey;
|
||||
}
|
||||
|
||||
#options {
|
||||
max-width: 60%;
|
||||
text-align: left;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.switch-container:after {
|
||||
content: attr(label-name);
|
||||
position: absolute;
|
||||
padding: 4px;
|
||||
width: max-content;
|
||||
|
||||
font-size: 14px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.text-label-container {
|
||||
font-size: 14px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 40px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.switch input {
|
||||
opacity: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #707070;
|
||||
}
|
||||
|
||||
.animated * {
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
|
||||
.slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
left: 4px;
|
||||
bottom: 4px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.animated .slider:before {
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
|
||||
input:checked + .slider {
|
||||
background-color: #fc0303;
|
||||
}
|
||||
|
||||
input:checked + .slider:before {
|
||||
-webkit-transform: translateX(16px);
|
||||
-ms-transform: translateX(16px);
|
||||
transform: translateX(16px);
|
||||
}
|
||||
|
||||
/* Rounded sliders */
|
||||
.slider.round {
|
||||
border-radius: 34px;
|
||||
}
|
||||
|
||||
.slider.round:before {
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
|
||||
/* Boilerplate CSS from https://ajay.app */
|
||||
|
||||
body {
|
||||
background-color: #333333;
|
||||
}
|
||||
|
||||
.projectPreview {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.projectPreviewImage {
|
||||
position: absolute;
|
||||
left: -90px;
|
||||
width: 80px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.projectPreviewImageLarge {
|
||||
position: absolute;
|
||||
left: -210px;
|
||||
width: 200px;
|
||||
top: 50%;
|
||||
transform: translateY(-20%);
|
||||
}
|
||||
|
||||
.projectPreviewImageLargeRight {
|
||||
position: absolute;
|
||||
right: -210px;
|
||||
width: 200px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.createdBy {
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
padding-top: 0px;
|
||||
padding-bottom: 0px;
|
||||
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#title {
|
||||
background-color: #636363;
|
||||
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
|
||||
font-size: 50px;
|
||||
color: #212121;
|
||||
|
||||
padding: 20px;
|
||||
|
||||
text-decoration: none;
|
||||
|
||||
transition: font-size 1s;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-size: 40px;
|
||||
color: #dad8d8;
|
||||
|
||||
padding-top: 10px;
|
||||
|
||||
transition: font-size 0.4s;
|
||||
}
|
||||
|
||||
.subtitle:hover {
|
||||
font-size: 45px;
|
||||
|
||||
transition: font-size 0.4s;
|
||||
}
|
||||
|
||||
.profilepic {
|
||||
background-color: #636363 !important;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.profilepiccircle {
|
||||
vertical-align: middle;
|
||||
overflow: hidden;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: underline;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.link {
|
||||
padding: 20px;
|
||||
|
||||
height: 80px;
|
||||
|
||||
transition: height 0.2s;
|
||||
}
|
||||
|
||||
.link:hover {
|
||||
height: 95px;
|
||||
|
||||
transition: height 0.2s;
|
||||
}
|
||||
|
||||
#contact,.smalllink {
|
||||
font-size: 25px;
|
||||
color: #e8e8e8;
|
||||
|
||||
text-align: center;
|
||||
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#contact {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
p,li {
|
||||
font-size: 20px;
|
||||
color: #c4c4c4;
|
||||
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.smaller {
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.no-margin {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
p,li,code,a {
|
||||
max-width: 60%;
|
||||
text-align: left;
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
@media screen and (orientation:portrait) {
|
||||
p,li,code,a {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.projectPreviewImage {
|
||||
position: unset;
|
||||
width: 130px;
|
||||
display: block;
|
||||
margin: auto;
|
||||
transform: none;
|
||||
}
|
||||
}
|
||||
|
||||
.previewImage {
|
||||
max-height: 200px;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#recentPostTitle {
|
||||
font-size: 30px;
|
||||
color: #dad8d8;
|
||||
}
|
||||
|
||||
#recentPostDate {
|
||||
font-size: 15px;
|
||||
color: #dad8d8;
|
||||
}
|
||||
|
||||
h1,h2,h3,h4,h5,h6 {
|
||||
color: #dad8d8;
|
||||
}
|
||||
|
||||
svg {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.number-container:before {
|
||||
content: attr(label-name);
|
||||
padding-right: 4px;
|
||||
width: max-content;
|
||||
|
||||
font-size: 14px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* React styles */
|
||||
|
||||
.categoryTableElement {
|
||||
font-size: 16px;
|
||||
|
||||
color: white;
|
||||
}
|
||||
|
||||
.categoryTableElement > * {
|
||||
padding-right: 15px;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
|
||||
.optionsSelector {
|
||||
background-color: #c00000;
|
||||
color: white;
|
||||
|
||||
border: none;
|
||||
font-size: 14px;
|
||||
padding: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.categoryColorTextBox {
|
||||
width: 60px;
|
||||
|
||||
background: none;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#subsidizedPrice {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
#discountButton {
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
}
|
||||
@@ -8,11 +8,14 @@ import { Registration } from "./types";
|
||||
window.SB = Config;
|
||||
|
||||
import Utils from "./utils";
|
||||
import { GenericUtils } from "./utils/genericUtils";
|
||||
const utils = new Utils({
|
||||
registerFirefoxContentScript,
|
||||
unregisterFirefoxContentScript
|
||||
});
|
||||
|
||||
const popupPort: Record<string, chrome.runtime.Port> = {};
|
||||
|
||||
// Used only on Firefox, which does not support non persistent background pages.
|
||||
const contentScriptRegistrations = {};
|
||||
|
||||
@@ -23,20 +26,46 @@ if (utils.isFirefox()) {
|
||||
});
|
||||
}
|
||||
|
||||
chrome.tabs.onUpdated.addListener(function(tabId) {
|
||||
chrome.tabs.sendMessage(tabId, {
|
||||
function onTabUpdatedListener(tabId: number) {
|
||||
chrome.tabs.sendMessage(tabId, {
|
||||
message: 'update',
|
||||
}, () => void chrome.runtime.lastError ); // Suppress error on Firefox
|
||||
}, () => void chrome.runtime.lastError ); // Suppress error on Firefox
|
||||
}
|
||||
|
||||
function onNavigationApiAvailableChange(changes: {[key: string]: chrome.storage.StorageChange}) {
|
||||
if (changes.navigationApiAvailable) {
|
||||
if (changes.navigationApiAvailable.newValue) {
|
||||
chrome.tabs.onUpdated.removeListener(onTabUpdatedListener);
|
||||
} else {
|
||||
chrome.tabs.onUpdated.addListener(onTabUpdatedListener);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If Navigation API is not supported, then background has to inform content script about video change.
|
||||
// This happens on Safari, Firefox, and Chromium 101 (inclusive) and below.
|
||||
chrome.tabs.onUpdated.addListener(onTabUpdatedListener);
|
||||
utils.wait(() => Config.local !== null).then(() => {
|
||||
if (Config.local.navigationApiAvailable) {
|
||||
chrome.tabs.onUpdated.removeListener(onTabUpdatedListener);
|
||||
}
|
||||
});
|
||||
|
||||
if (!Config.configSyncListeners.includes(onNavigationApiAvailableChange)) {
|
||||
Config.configSyncListeners.push(onNavigationApiAvailableChange);
|
||||
}
|
||||
|
||||
chrome.runtime.onMessage.addListener(function (request, sender, callback) {
|
||||
switch(request.message) {
|
||||
switch(request.message) {
|
||||
case "openConfig":
|
||||
chrome.tabs.create({url: chrome.runtime.getURL('options/options.html' + (request.hash ? '#' + request.hash : ''))});
|
||||
return;
|
||||
case "openHelp":
|
||||
chrome.tabs.create({url: chrome.runtime.getURL('help/index.html')});
|
||||
return;
|
||||
case "openUpsell":
|
||||
chrome.tabs.create({url: chrome.runtime.getURL('upsell/index.html')});
|
||||
return;
|
||||
case "openPage":
|
||||
chrome.tabs.create({url: chrome.runtime.getURL(request.url)});
|
||||
return;
|
||||
@@ -61,14 +90,45 @@ chrome.runtime.onMessage.addListener(function (request, sender, callback) {
|
||||
case "unregisterContentScript":
|
||||
unregisterFirefoxContentScript(request.id)
|
||||
return false;
|
||||
case "tabs": {
|
||||
chrome.tabs.query({
|
||||
active: true,
|
||||
currentWindow: true
|
||||
}, tabs => {
|
||||
chrome.tabs.sendMessage(
|
||||
tabs[0].id,
|
||||
request.data,
|
||||
(response) => {
|
||||
callback(response);
|
||||
}
|
||||
);
|
||||
});
|
||||
return true;
|
||||
}
|
||||
case "time":
|
||||
if (sender.tab) {
|
||||
popupPort[sender.tab.id]?.postMessage(request);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
chrome.runtime.onConnect.addListener((port) => {
|
||||
if (port.name === "popup") {
|
||||
chrome.tabs.query({
|
||||
active: true,
|
||||
currentWindow: true
|
||||
}, tabs => {
|
||||
popupPort[tabs[0].id] = port;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//add help page on install
|
||||
chrome.runtime.onInstalled.addListener(function () {
|
||||
// This let's the config sync to run fully before checking.
|
||||
// This is required on Firefox
|
||||
setTimeout(function() {
|
||||
setTimeout(async () => {
|
||||
const userID = Config.config.userID;
|
||||
|
||||
// If there is no userID, then it is the first install.
|
||||
@@ -77,13 +137,19 @@ chrome.runtime.onInstalled.addListener(function () {
|
||||
chrome.tabs.create({url: chrome.extension.getURL("/help/index.html")});
|
||||
|
||||
//generate a userID
|
||||
const newUserID = utils.generateUserID();
|
||||
const newUserID = GenericUtils.generateUserID();
|
||||
//save this UUID
|
||||
Config.config.userID = newUserID;
|
||||
|
||||
// Don't show update notification
|
||||
Config.config.categoryPillUpdate = true;
|
||||
}
|
||||
|
||||
if (Config.config.supportInvidious) {
|
||||
if (!(await utils.containsInvidiousPermission())) {
|
||||
chrome.tabs.create({url: chrome.extension.getURL("/permissions/index.html")});
|
||||
}
|
||||
}
|
||||
}, 1500);
|
||||
});
|
||||
|
||||
@@ -120,7 +186,7 @@ async function submitVote(type: number, UUID: string, category: string) {
|
||||
|
||||
if (userID == undefined || userID === "undefined") {
|
||||
//generate one
|
||||
userID = utils.generateUserID();
|
||||
userID = GenericUtils.generateUserID();
|
||||
Config.config.userID = userID;
|
||||
}
|
||||
|
||||
@@ -167,7 +233,7 @@ async function asyncRequestToServer(type: string, address: string, data = {}) {
|
||||
async function sendRequestToCustomServer(type: string, url: string, data = {}) {
|
||||
// If GET, convert JSON to parameters
|
||||
if (type.toLowerCase() === "get") {
|
||||
url = utils.objectToURI(url, data, true);
|
||||
url = GenericUtils.objectToURI(url, data, true);
|
||||
|
||||
data = null;
|
||||
}
|
||||
|
||||
129
src/components/ChapterVoteComponent.tsx
Normal file
@@ -0,0 +1,129 @@
|
||||
import * as React from "react";
|
||||
import Config from "../config";
|
||||
import { Category, SegmentUUID, SponsorTime } from "../types";
|
||||
|
||||
import ThumbsUpSvg from "../svg-icons/thumbs_up_svg";
|
||||
import ThumbsDownSvg from "../svg-icons/thumbs_down_svg";
|
||||
import { downvoteButtonColor, SkipNoticeAction } from "../utils/noticeUtils";
|
||||
import { VoteResponse } from "../messageTypes";
|
||||
import { AnimationUtils } from "../utils/animationUtils";
|
||||
import { GenericUtils } from "../utils/genericUtils";
|
||||
import { Tooltip } from "../render/Tooltip";
|
||||
|
||||
export interface ChapterVoteProps {
|
||||
vote: (type: number, UUID: SegmentUUID, category?: Category) => Promise<VoteResponse>;
|
||||
size?: string;
|
||||
}
|
||||
|
||||
export interface ChapterVoteState {
|
||||
segment?: SponsorTime;
|
||||
show: boolean;
|
||||
size?: string;
|
||||
}
|
||||
|
||||
class ChapterVoteComponent extends React.Component<ChapterVoteProps, ChapterVoteState> {
|
||||
tooltip?: Tooltip;
|
||||
|
||||
constructor(props: ChapterVoteProps) {
|
||||
super(props);
|
||||
|
||||
this.state = {
|
||||
segment: null,
|
||||
show: false,
|
||||
size: props.size ?? "22px"
|
||||
};
|
||||
}
|
||||
|
||||
render(): React.ReactElement {
|
||||
if (this.tooltip && !this.state.show) {
|
||||
this.tooltip.close();
|
||||
this.tooltip = null;
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{/* Upvote Button */}
|
||||
<button id={"sponsorTimesDownvoteButtonsContainerUpvoteChapter"}
|
||||
className={"playerButton sbPlayerUpvote ytp-button " + (!this.state.show ? "hidden" : "")}
|
||||
draggable="false"
|
||||
title={chrome.i18n.getMessage("upvoteButtonInfo")}
|
||||
onClick={(e) => this.vote(e, 1)}>
|
||||
<ThumbsUpSvg className="playerButtonImage"
|
||||
fill={Config.config.colorPalette.white}
|
||||
width={this.state.size} height={this.state.size} />
|
||||
</button>
|
||||
|
||||
{/* Downvote Button */}
|
||||
<button id={"sponsorTimesDownvoteButtonsContainerDownvoteChapter"}
|
||||
className={"playerButton sbPlayerDownvote ytp-button " + (!this.state.show ? "hidden" : "")}
|
||||
draggable="false"
|
||||
title={chrome.i18n.getMessage("reportButtonInfo")}
|
||||
onClick={(e) => {
|
||||
const chapterNode = document.querySelector(".ytp-chapter-container") as HTMLElement;
|
||||
|
||||
if (this.tooltip) {
|
||||
this.tooltip.close();
|
||||
this.tooltip = null;
|
||||
} else {
|
||||
const referenceNode = chapterNode?.parentElement?.parentElement;
|
||||
if (referenceNode) {
|
||||
const outerBounding = referenceNode.getBoundingClientRect();
|
||||
const buttonBounding = (e.target as HTMLElement)?.parentElement?.getBoundingClientRect();
|
||||
|
||||
this.tooltip = new Tooltip({
|
||||
referenceNode: chapterNode?.parentElement?.parentElement,
|
||||
prependElement: chapterNode?.parentElement,
|
||||
showLogo: false,
|
||||
showGotIt: false,
|
||||
bottomOffset: `${outerBounding.height + 25}px`,
|
||||
leftOffset: `${buttonBounding.x - outerBounding.x}px`,
|
||||
extraClass: "centeredSBTriangle",
|
||||
buttons: [
|
||||
{
|
||||
name: chrome.i18n.getMessage("incorrectVote"),
|
||||
listener: (event) => this.vote(event, 0, e.target as HTMLElement).then(() => {
|
||||
this.tooltip?.close();
|
||||
this.tooltip = null;
|
||||
})
|
||||
}, {
|
||||
name: chrome.i18n.getMessage("harmfulVote"),
|
||||
listener: (event) => this.vote(event, 30, e.target as HTMLElement).then(() => {
|
||||
this.tooltip?.close();
|
||||
this.tooltip = null;
|
||||
})
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
}
|
||||
}}>
|
||||
<ThumbsDownSvg
|
||||
className="playerButtonImage"
|
||||
fill={downvoteButtonColor(this.state.segment ? [this.state.segment] : null, SkipNoticeAction.Downvote, SkipNoticeAction.Downvote)}
|
||||
width={this.state.size}
|
||||
height={this.state.size} />
|
||||
</button>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
private async vote(event: React.MouseEvent, type: number, element?: HTMLElement): Promise<void> {
|
||||
event.stopPropagation();
|
||||
if (this.state.segment) {
|
||||
const stopAnimation = AnimationUtils.applyLoadingAnimation(element ?? event.currentTarget as HTMLElement, 0.3);
|
||||
|
||||
const response = await this.props.vote(type, this.state.segment.UUID);
|
||||
await stopAnimation();
|
||||
|
||||
if (response.successType == 1 || (response.successType == -1 && response.statusCode == 429)) {
|
||||
this.setState({
|
||||
show: type === 1
|
||||
});
|
||||
} else if (response.statusCode !== 403) {
|
||||
alert(GenericUtils.getErrorMessage(response.statusCode, response.responseText));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default ChapterVoteComponent;
|
||||
@@ -11,6 +11,7 @@ export interface NoticeProps {
|
||||
noticeTitle: string,
|
||||
|
||||
maxCountdownTime?: () => number,
|
||||
dontPauseCountdown?: boolean,
|
||||
amountOfPreviousNotices?: number,
|
||||
showInSecondSlot?: boolean,
|
||||
timed?: boolean,
|
||||
@@ -18,12 +19,15 @@ export interface NoticeProps {
|
||||
|
||||
fadeIn?: boolean,
|
||||
startFaded?: boolean,
|
||||
firstColumn?: React.ReactElement,
|
||||
firstColumn?: React.ReactElement[] | React.ReactElement,
|
||||
firstRow?: React.ReactElement,
|
||||
bottomRow?: React.ReactElement[],
|
||||
|
||||
smaller?: boolean,
|
||||
limitWidth?: boolean,
|
||||
extraClass?: string,
|
||||
hideLogo?: boolean,
|
||||
hideRightInfo?: boolean,
|
||||
|
||||
// Callback for when this is closed
|
||||
closeListener: () => void,
|
||||
@@ -35,8 +39,6 @@ export interface NoticeProps {
|
||||
}
|
||||
|
||||
export interface NoticeState {
|
||||
noticeTitle: string,
|
||||
|
||||
maxCountdownTime: () => number,
|
||||
|
||||
countdownTime: number,
|
||||
@@ -54,9 +56,13 @@ class NoticeComponent extends React.Component<NoticeProps, NoticeState> {
|
||||
|
||||
amountOfPreviousNotices: number;
|
||||
|
||||
parentRef: React.RefObject<HTMLDivElement>;
|
||||
|
||||
constructor(props: NoticeProps) {
|
||||
super(props);
|
||||
|
||||
this.parentRef = React.createRef();
|
||||
|
||||
const maxCountdownTime = () => {
|
||||
if (this.props.maxCountdownTime) return this.props.maxCountdownTime();
|
||||
else return Config.config.skipNoticeDuration;
|
||||
@@ -71,8 +77,6 @@ class NoticeComponent extends React.Component<NoticeProps, NoticeState> {
|
||||
|
||||
// Setup state
|
||||
this.state = {
|
||||
noticeTitle: props.noticeTitle,
|
||||
|
||||
maxCountdownTime,
|
||||
|
||||
//the countdown until this notice closes
|
||||
@@ -97,9 +101,11 @@ class NoticeComponent extends React.Component<NoticeProps, NoticeState> {
|
||||
return (
|
||||
<div id={"sponsorSkipNotice" + this.idSuffix}
|
||||
className={"sponsorSkipObject sponsorSkipNoticeParent"
|
||||
+ (this.props.showInSecondSlot ? " secondSkipNotice" : "")}
|
||||
+ (this.props.showInSecondSlot ? " secondSkipNotice" : "")
|
||||
+ (this.props.extraClass ? ` ${this.props.extraClass}` : "")}
|
||||
onMouseEnter={(e) => this.onMouseEnter(e) }
|
||||
onMouseLeave={() => this.timerMouseLeave()}
|
||||
ref={this.parentRef}
|
||||
style={noticeStyle} >
|
||||
<div className={"sponsorSkipNoticeTableContainer"
|
||||
+ (this.props.fadeIn ? " sponsorSkipNoticeFadeIn" : "")
|
||||
@@ -114,16 +120,18 @@ class NoticeComponent extends React.Component<NoticeProps, NoticeState> {
|
||||
{/* Left column */}
|
||||
<td className="noticeLeftIcon">
|
||||
{/* Logo */}
|
||||
<img id={"sponsorSkipLogo" + this.idSuffix}
|
||||
className="sponsorSkipLogo sponsorSkipObject"
|
||||
src={chrome.extension.getURL("icons/IconSponsorBlocker256px.png")}>
|
||||
</img>
|
||||
{!this.props.hideLogo &&
|
||||
<img id={"sponsorSkipLogo" + this.idSuffix}
|
||||
className="sponsorSkipLogo sponsorSkipObject"
|
||||
src={chrome.extension.getURL("icons/IconSponsorBlocker256px.png")}>
|
||||
</img>
|
||||
}
|
||||
|
||||
<span id={"sponsorSkipMessage" + this.idSuffix}
|
||||
style={{float: "left"}}
|
||||
style={{float: "left", marginRight: this.props.hideLogo ? "0px" : null}}
|
||||
className="sponsorSkipMessage sponsorSkipObject">
|
||||
|
||||
{this.state.noticeTitle}
|
||||
{this.props.noticeTitle}
|
||||
</span>
|
||||
|
||||
{this.props.firstColumn}
|
||||
@@ -132,28 +140,30 @@ class NoticeComponent extends React.Component<NoticeProps, NoticeState> {
|
||||
{this.props.firstRow}
|
||||
|
||||
{/* Right column */}
|
||||
<td className="sponsorSkipNoticeRightSection"
|
||||
style={{top: "9.32px"}}>
|
||||
{!this.props.hideRightInfo &&
|
||||
<td className="sponsorSkipNoticeRightSection"
|
||||
style={{top: "9.32px"}}>
|
||||
|
||||
{/* Time left */}
|
||||
{this.props.timed ? (
|
||||
<span id={"sponsorSkipNoticeTimeLeft" + this.idSuffix}
|
||||
onClick={() => this.toggleManualPause()}
|
||||
className="sponsorSkipObject sponsorSkipNoticeTimeLeft">
|
||||
|
||||
{this.getCountdownElements()}
|
||||
|
||||
</span>
|
||||
) : ""}
|
||||
|
||||
{/* Time left */}
|
||||
{this.props.timed ? (
|
||||
<span id={"sponsorSkipNoticeTimeLeft" + this.idSuffix}
|
||||
onClick={() => this.toggleManualPause()}
|
||||
className="sponsorSkipObject sponsorSkipNoticeTimeLeft">
|
||||
|
||||
{this.getCountdownElements()}
|
||||
|
||||
</span>
|
||||
) : ""}
|
||||
|
||||
|
||||
{/* Close button */}
|
||||
<img src={chrome.extension.getURL("icons/close.png")}
|
||||
className={"sponsorSkipObject sponsorSkipNoticeButton sponsorSkipNoticeCloseButton sponsorSkipNoticeRightButton"
|
||||
+ (this.props.biggerCloseButton ? " biggerCloseButton" : "")}
|
||||
onClick={() => this.close()}>
|
||||
</img>
|
||||
</td>
|
||||
{/* Close button */}
|
||||
<img src={chrome.extension.getURL("icons/close.png")}
|
||||
className={"sponsorSkipObject sponsorSkipNoticeButton sponsorSkipNoticeCloseButton sponsorSkipNoticeRightButton"
|
||||
+ (this.props.biggerCloseButton ? " biggerCloseButton" : "")}
|
||||
onClick={() => this.close()}>
|
||||
</img>
|
||||
</td>
|
||||
}
|
||||
</tr>
|
||||
|
||||
{this.props.children}
|
||||
@@ -286,7 +296,7 @@ class NoticeComponent extends React.Component<NoticeProps, NoticeState> {
|
||||
}
|
||||
|
||||
pauseCountdown(): void {
|
||||
if (!this.props.timed) return;
|
||||
if (!this.props.timed || this.props.dontPauseCountdown) return;
|
||||
|
||||
//remove setInterval
|
||||
if (this.countdownInterval) clearInterval(this.countdownInterval);
|
||||
@@ -344,12 +354,6 @@ class NoticeComponent extends React.Component<NoticeProps, NoticeState> {
|
||||
if (!silent) this.props.closeListener();
|
||||
}
|
||||
|
||||
changeNoticeTitle(title: string): void {
|
||||
this.setState({
|
||||
noticeTitle: title
|
||||
});
|
||||
}
|
||||
|
||||
addNoticeInfoMessage(message: string, message2 = ""): void {
|
||||
//TODO: Replace
|
||||
|
||||
@@ -384,6 +388,10 @@ class NoticeComponent extends React.Component<NoticeProps, NoticeState> {
|
||||
document.querySelector("#sponsorSkipNotice" + this.idSuffix + " > tbody").insertBefore(thanksForVotingText2, document.getElementById("sponsorSkipNoticeSpacer" + this.idSuffix));
|
||||
}
|
||||
}
|
||||
|
||||
getElement(): React.RefObject<HTMLDivElement> {
|
||||
return this.parentRef;
|
||||
}
|
||||
}
|
||||
|
||||
export default NoticeComponent;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import * as React from "react";
|
||||
|
||||
export interface NoticeTextSelectionProps {
|
||||
icon?: string,
|
||||
text: string,
|
||||
idSuffix: string,
|
||||
onClick?: (event: React.MouseEvent) => unknown
|
||||
@@ -24,14 +25,42 @@ class NoticeTextSelectionComponent extends React.Component<NoticeTextSelectionPr
|
||||
}
|
||||
|
||||
return (
|
||||
<p id={"sponsorTimesInfoMessage" + this.props.idSuffix}
|
||||
<tr id={"sponsorTimesInfoMessage" + this.props.idSuffix}
|
||||
onClick={this.props.onClick}
|
||||
style={style}
|
||||
className="sponsorTimesInfoMessage">
|
||||
{this.props.text}
|
||||
</p>
|
||||
|
||||
<td>
|
||||
{this.props.icon ?
|
||||
<img src={chrome.runtime.getURL(this.props.icon)} className="sponsorTimesInfoIcon" />
|
||||
: null}
|
||||
|
||||
<span>
|
||||
{this.getTextElements(this.props.text)}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
);
|
||||
}
|
||||
|
||||
private getTextElements(text: string): Array<string | React.ReactElement> {
|
||||
const elements: Array<string | React.ReactElement> = [];
|
||||
const textParts = text.split(/(?=\s+)/);
|
||||
for (const textPart of textParts) {
|
||||
if (textPart.match(/^\s*http/)) {
|
||||
elements.push(
|
||||
<a href={textPart} target="_blank" rel="noreferrer">
|
||||
{textPart}
|
||||
</a>
|
||||
);
|
||||
} else {
|
||||
elements.push(textPart);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return elements;
|
||||
}
|
||||
}
|
||||
|
||||
export default NoticeTextSelectionComponent;
|
||||
63
src/components/SelectorComponent.tsx
Normal file
@@ -0,0 +1,63 @@
|
||||
import * as React from "react";
|
||||
|
||||
export interface SelectorOption {
|
||||
label: string;
|
||||
}
|
||||
|
||||
export interface SelectorProps {
|
||||
id: string;
|
||||
options: SelectorOption[];
|
||||
onChange: (value: string) => void;
|
||||
onMouseEnter?: () => void;
|
||||
onMouseLeave?: () => void;
|
||||
}
|
||||
|
||||
export interface SelectorState {
|
||||
|
||||
}
|
||||
|
||||
class SelectorComponent extends React.Component<SelectorProps, SelectorState> {
|
||||
|
||||
constructor(props: SelectorProps) {
|
||||
super(props);
|
||||
|
||||
// Setup state
|
||||
this.state = {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
render(): React.ReactElement {
|
||||
return (
|
||||
<div id={this.props.id}
|
||||
style={{display: this.props.options.length > 0 ? "inherit" : "none"}}
|
||||
className="sbSelector">
|
||||
<div onMouseEnter={this.props.onMouseEnter}
|
||||
onMouseLeave={this.props.onMouseLeave}
|
||||
className="sbSelectorBackground">
|
||||
{this.getOptions()}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
getOptions(): React.ReactElement[] {
|
||||
const result: React.ReactElement[] = [];
|
||||
for (const option of this.props.options) {
|
||||
result.push(
|
||||
<div className="sbSelectorOption"
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
this.props.onChange(option.label);
|
||||
}}
|
||||
key={option.label}>
|
||||
{option.label}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export default SelectorComponent;
|
||||
@@ -1,7 +1,7 @@
|
||||
import * as React from "react";
|
||||
import * as CompileConfig from "../../config.json";
|
||||
import Config from "../config"
|
||||
import { Category, ContentContainer, SponsorHideType, SponsorTime, NoticeVisbilityMode, ActionType, SponsorSourceType, SegmentUUID } from "../types";
|
||||
import { Category, ContentContainer, SponsorTime, NoticeVisbilityMode, ActionType, SponsorSourceType, SegmentUUID } from "../types";
|
||||
import NoticeComponent from "./NoticeComponent";
|
||||
import NoticeTextSelectionComponent from "./NoticeTextSectionComponent";
|
||||
import Utils from "../utils";
|
||||
@@ -13,11 +13,19 @@ import ThumbsUpSvg from "../svg-icons/thumbs_up_svg";
|
||||
import ThumbsDownSvg from "../svg-icons/thumbs_down_svg";
|
||||
import PencilSvg from "../svg-icons/pencil_svg";
|
||||
import { downvoteButtonColor, SkipNoticeAction } from "../utils/noticeUtils";
|
||||
import { GenericUtils } from "../utils/genericUtils";
|
||||
|
||||
enum SkipButtonState {
|
||||
Undo, // Unskip
|
||||
Redo, // Reskip
|
||||
Start // Skip
|
||||
}
|
||||
|
||||
export interface SkipNoticeProps {
|
||||
segments: SponsorTime[];
|
||||
|
||||
autoSkip: boolean;
|
||||
startReskip?: boolean;
|
||||
// Contains functions and variables from the content script needed by the skip notice
|
||||
contentContainer: ContentContainer;
|
||||
|
||||
@@ -38,9 +46,9 @@ export interface SkipNoticeState {
|
||||
maxCountdownTime?: () => number;
|
||||
countdownText?: string;
|
||||
|
||||
skipButtonText?: string;
|
||||
skipButtonCallback?: (index: number) => void;
|
||||
showSkipButton?: boolean;
|
||||
skipButtonStates?: SkipButtonState[];
|
||||
skipButtonCallbacks?: Array<(buttonIndex: number, index: number, forceSeek: boolean) => void>;
|
||||
showSkipButton?: boolean[];
|
||||
|
||||
editing?: boolean;
|
||||
choosingCategory?: boolean;
|
||||
@@ -65,7 +73,7 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
|
||||
amountOfPreviousNotices: number;
|
||||
showInSecondSlot: boolean;
|
||||
|
||||
|
||||
idSuffix: string;
|
||||
|
||||
noticeRef: React.MutableRefObject<NoticeComponent>;
|
||||
@@ -98,7 +106,7 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
if (this.segments.length > 1) {
|
||||
this.segments.sort((a, b) => a.segment[0] - b.segment[0]);
|
||||
}
|
||||
|
||||
|
||||
// This is the suffix added at the end of every id
|
||||
for (const segment of this.segments) {
|
||||
this.idSuffix += segment.UUID;
|
||||
@@ -109,6 +117,15 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
this.unselectedColor = Config.config.colorPalette.white;
|
||||
this.lockedColor = Config.config.colorPalette.locked;
|
||||
|
||||
const isMuteSegment = this.segments[0].actionType === ActionType.Mute;
|
||||
const maxCountdownTime = isMuteSegment ? this.getFullDurationCountdown(0) : () => Config.config.skipNoticeDuration;
|
||||
|
||||
const defaultSkipButtonState = this.props.startReskip ? SkipButtonState.Redo : SkipButtonState.Undo;
|
||||
const skipButtonStates = [defaultSkipButtonState, isMuteSegment ? SkipButtonState.Start : defaultSkipButtonState];
|
||||
|
||||
const defaultSkipButtonCallback = this.props.startReskip ? this.reskip.bind(this) : this.unskip.bind(this);
|
||||
const skipButtonCallbacks = [defaultSkipButtonCallback, isMuteSegment ? this.reskip.bind(this) : defaultSkipButtonCallback];
|
||||
|
||||
// Setup state
|
||||
this.state = {
|
||||
noticeTitle,
|
||||
@@ -116,13 +133,13 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
messageOnClick: null,
|
||||
|
||||
//the countdown until this notice closes
|
||||
maxCountdownTime: () => Config.config.skipNoticeDuration,
|
||||
countdownTime: Config.config.skipNoticeDuration,
|
||||
maxCountdownTime,
|
||||
countdownTime: maxCountdownTime(),
|
||||
countdownText: null,
|
||||
|
||||
skipButtonText: this.getUnskipText(),
|
||||
skipButtonCallback: (index) => this.unskip(index),
|
||||
showSkipButton: true,
|
||||
skipButtonStates,
|
||||
skipButtonCallbacks,
|
||||
showSkipButton: [true, true],
|
||||
|
||||
editing: false,
|
||||
choosingCategory: false,
|
||||
@@ -141,7 +158,7 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
|
||||
if (!this.autoSkip) {
|
||||
// Assume manual skip is only skipping 1 submission
|
||||
Object.assign(this.state, this.getUnskippedModeInfo(0, this.getSkipText()));
|
||||
Object.assign(this.state, this.getUnskippedModeInfo(null, 0, SkipButtonState.Start));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -152,10 +169,11 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
noticeStyle.transform = "scale(0.8) translate(10%, 10%)";
|
||||
}
|
||||
|
||||
// If it started out as smaller, always keep the
|
||||
// If it started out as smaller, always keep the
|
||||
// skip button there
|
||||
const firstColumn = this.props.smaller ? (
|
||||
this.getSkipButton()
|
||||
const showFirstSkipButton = this.props.smaller || this.segments[0].actionType === ActionType.Mute;
|
||||
const firstColumn = showFirstSkipButton ? (
|
||||
this.getSkipButton(0)
|
||||
) : null;
|
||||
|
||||
return (
|
||||
@@ -164,7 +182,7 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
showInSecondSlot={this.showInSecondSlot}
|
||||
idSuffix={this.idSuffix}
|
||||
fadeIn={true}
|
||||
startFaded={Config.config.noticeVisibilityMode >= NoticeVisbilityMode.FadedForAll
|
||||
startFaded={Config.config.noticeVisibilityMode >= NoticeVisbilityMode.FadedForAll
|
||||
|| (Config.config.noticeVisibilityMode >= NoticeVisbilityMode.FadedForAutoSkip && this.autoSkip)}
|
||||
timed={true}
|
||||
maxCountdownTime={this.state.maxCountdownTime}
|
||||
@@ -188,7 +206,7 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
key={0}>
|
||||
|
||||
{/* Vote Button Container */}
|
||||
{!this.state.thanksForVotingText ?
|
||||
{!this.state.thanksForVotingText ?
|
||||
<td id={"sponsorTimesVoteButtonsContainer" + this.idSuffix}
|
||||
className="sponsorTimesVoteButtonsContainer">
|
||||
|
||||
@@ -247,10 +265,11 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
}
|
||||
|
||||
{/* Unskip/Skip Button */}
|
||||
{!this.props.smaller ? this.getSkipButton() : null}
|
||||
{!this.props.smaller || this.segments[0].actionType === ActionType.Mute
|
||||
? this.getSkipButton(1) : null}
|
||||
|
||||
{/* Never show button if autoSkip is enabled */}
|
||||
{!this.autoSkip ? "" :
|
||||
{/* Never show button */}
|
||||
{!this.autoSkip || this.props.startReskip ? "" :
|
||||
<td className="sponsorSkipNoticeRightSection"
|
||||
key={1}>
|
||||
<button className="sponsorSkipObject sponsorSkipNoticeButton sponsorSkipNoticeRightButton"
|
||||
@@ -324,14 +343,17 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
];
|
||||
}
|
||||
|
||||
getSkipButton(): JSX.Element {
|
||||
if (this.state.showSkipButton && (this.segments.length > 1
|
||||
getSkipButton(buttonIndex: number): JSX.Element {
|
||||
if (this.state.showSkipButton[buttonIndex] && (this.segments.length > 1
|
||||
|| this.segments[0].actionType !== ActionType.Poi
|
||||
|| this.props.unskipTime)) {
|
||||
|
||||
const forceSeek = buttonIndex === 1 && this.segments[0].actionType === ActionType.Mute;
|
||||
|
||||
const style: React.CSSProperties = {
|
||||
marginLeft: "4px",
|
||||
color: (this.state.actionState === SkipNoticeAction.Unskip) ? this.selectedColor : this.unselectedColor
|
||||
color: ([SkipNoticeAction.Unskip0, SkipNoticeAction.Unskip1].includes(this.state.actionState))
|
||||
? this.selectedColor : this.unselectedColor
|
||||
};
|
||||
if (this.contentContainer().onMobileYouTube) {
|
||||
style.padding = "20px";
|
||||
@@ -343,8 +365,10 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
<button id={"sponsorSkipUnskipButton" + this.idSuffix}
|
||||
className="sponsorSkipObject sponsorSkipNoticeButton"
|
||||
style={style}
|
||||
onClick={() => this.prepAction(SkipNoticeAction.Unskip)}>
|
||||
{this.state.skipButtonText + (this.state.showKeybindHint ? " (" + keybindToString(Config.config.skipKeybind) + ")" : "")}
|
||||
onClick={() => this.prepAction(buttonIndex === 1 ? SkipNoticeAction.Unskip1 : SkipNoticeAction.Unskip0)}>
|
||||
{this.getSkipButtonText(buttonIndex, forceSeek ? ActionType.Skip : null)
|
||||
+ (!forceSeek && this.state.showKeybindHint
|
||||
? " (" + keybindToString(Config.config.skipKeybind) + ")" : "")}
|
||||
</button>
|
||||
</span>
|
||||
);
|
||||
@@ -356,7 +380,7 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
for (let i = 0; i < this.segments.length; i++) {
|
||||
elements.push(
|
||||
<button className="sponsorSkipObject sponsorSkipNoticeButton"
|
||||
style={{opacity: this.getSubmissionChooserOpacity(i),
|
||||
style={{opacity: this.getSubmissionChooserOpacity(i),
|
||||
color: this.getSubmissionChooserColor(i)}}
|
||||
onClick={() => this.performAction(i)}
|
||||
key={"submission" + i + this.segments[i].category + this.idSuffix}>
|
||||
@@ -381,7 +405,7 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
getSubmissionChooserColor(index: number): string {
|
||||
const isDownvote = this.state.actionState == SkipNoticeAction.Downvote;
|
||||
const isCopyDownvote = this.state.actionState == SkipNoticeAction.CopyDownvote;
|
||||
const shouldWarnUser = Config.config.isVip && (isDownvote || isCopyDownvote)
|
||||
const shouldWarnUser = Config.config.isVip && (isDownvote || isCopyDownvote)
|
||||
&& this.segments[index].locked === 1;
|
||||
|
||||
return shouldWarnUser ? this.lockedColor : this.unselectedColor;
|
||||
@@ -445,8 +469,11 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
case SkipNoticeAction.CopyDownvote:
|
||||
this.resetStateToStart(SkipNoticeAction.CopyDownvote, true);
|
||||
break;
|
||||
case SkipNoticeAction.Unskip:
|
||||
this.resetStateToStart(SkipNoticeAction.Unskip);
|
||||
case SkipNoticeAction.Unskip0:
|
||||
this.resetStateToStart(SkipNoticeAction.Unskip0);
|
||||
break;
|
||||
case SkipNoticeAction.Unskip1:
|
||||
this.resetStateToStart(SkipNoticeAction.Unskip1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -454,8 +481,8 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
|
||||
/**
|
||||
* Performs the action from the current state
|
||||
*
|
||||
* @param index
|
||||
*
|
||||
* @param index
|
||||
*/
|
||||
performAction(index: number, action?: SkipNoticeAction): void {
|
||||
switch (action ?? this.state.actionState) {
|
||||
@@ -474,8 +501,11 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
case SkipNoticeAction.CopyDownvote:
|
||||
this.copyDownvote(index);
|
||||
break;
|
||||
case SkipNoticeAction.Unskip:
|
||||
this.unskipAction(index);
|
||||
case SkipNoticeAction.Unskip0:
|
||||
this.unskipAction(0, index, false);
|
||||
break;
|
||||
case SkipNoticeAction.Unskip1:
|
||||
this.unskipAction(1, index, true);
|
||||
break;
|
||||
default:
|
||||
this.resetStateToStart();
|
||||
@@ -511,7 +541,7 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
const sponsorVideoID = this.props.contentContainer().sponsorVideoID;
|
||||
const sponsorTimesSubmitting : SponsorTime = {
|
||||
segment: this.segments[index].segment,
|
||||
UUID: utils.generateUserID() as SegmentUUID,
|
||||
UUID: GenericUtils.generateUserID() as SegmentUUID,
|
||||
category: this.segments[index].category,
|
||||
actionType: this.segments[index].actionType,
|
||||
source: SponsorSourceType.Local
|
||||
@@ -537,8 +567,8 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
});
|
||||
}
|
||||
|
||||
unskipAction(index: number): void {
|
||||
this.state.skipButtonCallback(index);
|
||||
unskipAction(buttonIndex: number, index: number, forceSeek: boolean): void {
|
||||
this.state.skipButtonCallbacks[buttonIndex](buttonIndex, index, forceSeek);
|
||||
}
|
||||
|
||||
openEditingOptions(): void {
|
||||
@@ -565,28 +595,29 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
return this.props.contentContainer().lockedCategories.includes(category) ? "sponsorBlockLockedColor" : ""
|
||||
}
|
||||
|
||||
unskip(index: number): void {
|
||||
this.contentContainer().unskipSponsorTime(this.segments[index], this.props.unskipTime);
|
||||
unskip(buttonIndex: number, index: number, forceSeek: boolean): void {
|
||||
this.contentContainer().unskipSponsorTime(this.segments[index], this.props.unskipTime, forceSeek);
|
||||
|
||||
this.unskippedMode(index, this.getReskipText());
|
||||
this.unskippedMode(buttonIndex, index, SkipButtonState.Redo);
|
||||
}
|
||||
|
||||
reskip(index: number): void {
|
||||
this.contentContainer().reskipSponsorTime(this.segments[index]);
|
||||
reskip(buttonIndex: number, index: number, forceSeek: boolean): void {
|
||||
this.contentContainer().reskipSponsorTime(this.segments[index], forceSeek);
|
||||
|
||||
const skipButtonStates = this.state.skipButtonStates;
|
||||
skipButtonStates[buttonIndex] = SkipButtonState.Undo;
|
||||
|
||||
const skipButtonCallbacks = this.state.skipButtonCallbacks;
|
||||
skipButtonCallbacks[buttonIndex] = this.unskip.bind(this);
|
||||
|
||||
const newState: SkipNoticeState = {
|
||||
skipButtonText: this.getUnskipText(),
|
||||
skipButtonCallback: this.unskip.bind(this),
|
||||
skipButtonStates,
|
||||
skipButtonCallbacks,
|
||||
|
||||
maxCountdownTime: () => Config.config.skipNoticeDuration,
|
||||
countdownTime: Config.config.skipNoticeDuration
|
||||
};
|
||||
|
||||
// See if the title should be changed
|
||||
if (!this.autoSkip) {
|
||||
newState.noticeTitle = chrome.i18n.getMessage("noticeTitle");
|
||||
}
|
||||
|
||||
//reset countdown
|
||||
this.setState(newState, () => {
|
||||
this.noticeRef.current.resetCountdown();
|
||||
@@ -594,30 +625,54 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
}
|
||||
|
||||
/** Sets up notice to be not skipped yet */
|
||||
unskippedMode(index: number, buttonText: string): void {
|
||||
unskippedMode(buttonIndex: number, index: number, skipButtonState: SkipButtonState): void {
|
||||
//setup new callback and reset countdown
|
||||
this.setState(this.getUnskippedModeInfo(index, buttonText), () => {
|
||||
this.setState(this.getUnskippedModeInfo(buttonIndex, index, skipButtonState), () => {
|
||||
this.noticeRef.current.resetCountdown();
|
||||
});
|
||||
}
|
||||
|
||||
getUnskippedModeInfo(index: number, buttonText: string): SkipNoticeState {
|
||||
getUnskippedModeInfo(buttonIndex: number, index: number, skipButtonState: SkipButtonState): SkipNoticeState {
|
||||
const changeCountdown = this.segments[index].actionType !== ActionType.Poi;
|
||||
|
||||
const maxCountdownTime = changeCountdown ? () => {
|
||||
const maxCountdownTime = changeCountdown ?
|
||||
this.getFullDurationCountdown(index) : this.state.maxCountdownTime;
|
||||
|
||||
const skipButtonStates = this.state.skipButtonStates;
|
||||
const skipButtonCallbacks = this.state.skipButtonCallbacks;
|
||||
if (buttonIndex === null) {
|
||||
for (let i = 0; i < this.segments.length; i++) {
|
||||
skipButtonStates[i] = skipButtonState;
|
||||
skipButtonCallbacks[i] = this.reskip.bind(this);
|
||||
}
|
||||
} else {
|
||||
skipButtonStates[buttonIndex] = skipButtonState;
|
||||
skipButtonCallbacks[buttonIndex] = this.reskip.bind(this);
|
||||
|
||||
if (buttonIndex === 1) {
|
||||
// Trigger both to move at once
|
||||
skipButtonStates[0] = SkipButtonState.Redo;
|
||||
skipButtonCallbacks[0] = this.reskip.bind(this);
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
skipButtonStates,
|
||||
skipButtonCallbacks,
|
||||
// change max duration to however much of the sponsor is left
|
||||
maxCountdownTime,
|
||||
countdownTime: maxCountdownTime(),
|
||||
showSkipButton: buttonIndex === 1 ? [true, true] : this.state.showSkipButton
|
||||
} as SkipNoticeState;
|
||||
}
|
||||
|
||||
getFullDurationCountdown(index: number): () => number {
|
||||
return () => {
|
||||
const sponsorTime = this.segments[index];
|
||||
const duration = Math.round((sponsorTime.segment[1] - this.contentContainer().v.currentTime) * (1 / this.contentContainer().v.playbackRate));
|
||||
|
||||
return Math.max(duration, Config.config.skipNoticeDuration);
|
||||
} : this.state.maxCountdownTime;
|
||||
|
||||
return {
|
||||
skipButtonText: buttonText,
|
||||
skipButtonCallback: (index) => this.reskip(index),
|
||||
// change max duration to however much of the sponsor is left
|
||||
maxCountdownTime: maxCountdownTime,
|
||||
countdownTime: maxCountdownTime()
|
||||
} as SkipNoticeState;
|
||||
};
|
||||
}
|
||||
|
||||
afterVote(segment: SponsorTime, type: number, category: Category): void {
|
||||
@@ -664,7 +719,7 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
messages
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
addVoteButtonInfo(message: string): void {
|
||||
this.setState({
|
||||
thanksForVotingText: message
|
||||
@@ -690,12 +745,12 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
}
|
||||
}
|
||||
|
||||
unmutedListener(): void {
|
||||
if (this.props.segments.length === 1
|
||||
&& this.props.segments[0].actionType === ActionType.Mute
|
||||
&& this.contentContainer().v.currentTime >= this.props.segments[0].segment[1]) {
|
||||
unmutedListener(time: number): void {
|
||||
if (this.props.segments.length === 1
|
||||
&& this.props.segments[0].actionType === ActionType.Mute
|
||||
&& time >= this.props.segments[0].segment[1]) {
|
||||
this.setState({
|
||||
showSkipButton: false
|
||||
showSkipButton: [false, true]
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -710,36 +765,50 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
||||
});
|
||||
}
|
||||
|
||||
private getUnskipText(): string {
|
||||
switch (this.props.segments[0].actionType) {
|
||||
private getSkipButtonText(buttonIndex: number, forceType?: ActionType): string {
|
||||
switch (this.state.skipButtonStates[buttonIndex]) {
|
||||
case SkipButtonState.Undo:
|
||||
return this.getUndoText(forceType);
|
||||
case SkipButtonState.Redo:
|
||||
return this.getRedoText(forceType);
|
||||
case SkipButtonState.Start:
|
||||
return this.getStartText(forceType);
|
||||
}
|
||||
}
|
||||
|
||||
private getUndoText(forceType?: ActionType): string {
|
||||
const actionType = forceType || this.segments[0].actionType;
|
||||
switch (actionType) {
|
||||
case ActionType.Mute: {
|
||||
return chrome.i18n.getMessage("unmute");
|
||||
}
|
||||
case ActionType.Skip:
|
||||
case ActionType.Skip:
|
||||
default: {
|
||||
return chrome.i18n.getMessage("unskip");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private getReskipText(): string {
|
||||
switch (this.props.segments[0].actionType) {
|
||||
private getRedoText(forceType?: ActionType): string {
|
||||
const actionType = forceType || this.segments[0].actionType;
|
||||
switch (actionType) {
|
||||
case ActionType.Mute: {
|
||||
return chrome.i18n.getMessage("mute");
|
||||
}
|
||||
case ActionType.Skip:
|
||||
case ActionType.Skip:
|
||||
default: {
|
||||
return chrome.i18n.getMessage("reskip");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private getSkipText(): string {
|
||||
switch (this.props.segments[0].actionType) {
|
||||
private getStartText(forceType?: ActionType): string {
|
||||
const actionType = forceType || this.segments[0].actionType;
|
||||
switch (actionType) {
|
||||
case ActionType.Mute: {
|
||||
return chrome.i18n.getMessage("mute");
|
||||
}
|
||||
case ActionType.Skip:
|
||||
case ActionType.Skip:
|
||||
default: {
|
||||
return chrome.i18n.getMessage("skip");
|
||||
}
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
import * as React from "react";
|
||||
import * as CompileConfig from "../../config.json";
|
||||
import Config from "../config";
|
||||
import { ActionType, Category, ContentContainer, SponsorTime } from "../types";
|
||||
import { ActionType, Category, ChannelIDStatus, ContentContainer, SponsorTime } from "../types";
|
||||
import Utils from "../utils";
|
||||
import SubmissionNoticeComponent from "./SubmissionNoticeComponent";
|
||||
import { RectangleTooltip } from "../render/RectangleTooltip";
|
||||
import SelectorComponent, { SelectorOption } from "./SelectorComponent";
|
||||
import { GenericUtils } from "../utils/genericUtils";
|
||||
import { noRefreshFetchingChaptersAllowed } from "../utils/licenseKey";
|
||||
import { DEFAULT_CATEGORY } from "../utils/categoryUtils";
|
||||
|
||||
|
||||
const utils = new Utils();
|
||||
@@ -18,15 +22,21 @@ export interface SponsorTimeEditProps {
|
||||
|
||||
submissionNotice: SubmissionNoticeComponent;
|
||||
categoryList?: Category[];
|
||||
categoryChangeListener?: (index: number, category: Category) => void;
|
||||
}
|
||||
|
||||
export interface SponsorTimeEditState {
|
||||
editing: boolean;
|
||||
sponsorTimeEdits: [string, string];
|
||||
selectedCategory: Category;
|
||||
description: string;
|
||||
suggestedNames: SelectorOption[];
|
||||
chapterNameSelectorOpen: boolean;
|
||||
chapterNameSelectorHovering: boolean;
|
||||
}
|
||||
|
||||
const DEFAULT_CATEGORY = "chooseACategory";
|
||||
const categoryNamesGrams: string[] = [].concat(...CompileConfig.categoryList.filter((name) => name !== "chapter")
|
||||
.map((name) => chrome.i18n.getMessage("category_" + name).split(/\/|\s|-/)));
|
||||
|
||||
class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, SponsorTimeEditState> {
|
||||
|
||||
@@ -34,6 +44,7 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
|
||||
categoryOptionRef: React.RefObject<HTMLSelectElement>;
|
||||
actionTypeOptionRef: React.RefObject<HTMLSelectElement>;
|
||||
descriptionOptionRef: React.RefObject<HTMLInputElement>;
|
||||
|
||||
configUpdateListener: () => void;
|
||||
|
||||
@@ -41,26 +52,36 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
// Used when selecting POI or Full
|
||||
timesBeforeChanging: number[] = [];
|
||||
fullVideoWarningShown = false;
|
||||
categoryNameWarningShown = false;
|
||||
|
||||
// For description auto-complete
|
||||
fetchingSuggestions: boolean;
|
||||
|
||||
constructor(props: SponsorTimeEditProps) {
|
||||
super(props);
|
||||
|
||||
this.categoryOptionRef = React.createRef();
|
||||
this.actionTypeOptionRef = React.createRef();
|
||||
this.descriptionOptionRef = React.createRef();
|
||||
|
||||
this.idSuffix = this.props.idSuffix;
|
||||
|
||||
this.previousSkipType = ActionType.Skip;
|
||||
|
||||
const sponsorTime = this.props.contentContainer().sponsorTimesSubmitting[this.props.index];
|
||||
this.state = {
|
||||
editing: false,
|
||||
sponsorTimeEdits: [null, null],
|
||||
selectedCategory: DEFAULT_CATEGORY as Category
|
||||
selectedCategory: DEFAULT_CATEGORY as Category,
|
||||
description: sponsorTime.description || "",
|
||||
suggestedNames: [],
|
||||
chapterNameSelectorOpen: false,
|
||||
chapterNameSelectorHovering: false
|
||||
};
|
||||
}
|
||||
|
||||
componentDidMount(): void {
|
||||
// Prevent inputs from triggering key events
|
||||
document.getElementById("sponsorTimesContainer" + this.idSuffix).addEventListener('keydown', function (event) {
|
||||
document.getElementById("sponsorTimeEditContainer" + this.idSuffix).addEventListener('keydown', function (event) {
|
||||
event.stopPropagation();
|
||||
});
|
||||
|
||||
@@ -86,6 +107,7 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
|
||||
render(): React.ReactElement {
|
||||
this.checkToShowFullVideoWarning();
|
||||
this.checkToShowChapterWarning();
|
||||
|
||||
const style: React.CSSProperties = {
|
||||
textAlign: "center"
|
||||
@@ -95,14 +117,6 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
style.marginTop = "15px";
|
||||
}
|
||||
|
||||
// This method is required to get !important
|
||||
// https://stackoverflow.com/a/45669262/1985387
|
||||
const oldYouTubeDarkStyles = (node) => {
|
||||
if (node) {
|
||||
node.style.setProperty("color", "black", "important");
|
||||
node.style.setProperty("text-shadow", "none", "important");
|
||||
}
|
||||
};
|
||||
// Create time display
|
||||
let timeDisplay: JSX.Element;
|
||||
const timeDisplayStyle: React.CSSProperties = {};
|
||||
@@ -122,11 +136,11 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
</span>
|
||||
<input id={"submittingTime0" + this.idSuffix}
|
||||
className="sponsorTimeEdit sponsorTimeEditInput"
|
||||
ref={oldYouTubeDarkStyles}
|
||||
type="text"
|
||||
style={{color: "inherit", backgroundColor: "inherit"}}
|
||||
value={this.state.sponsorTimeEdits[0]}
|
||||
onChange={(e) => {this.handleOnChange(0, e, sponsorTime, e.target.value)}}
|
||||
onWheel={(e) => {this.changeTimesWhenScrolling(0, e, sponsorTime)}}>
|
||||
onChange={(e) => this.handleOnChange(0, e, sponsorTime, e.target.value)}
|
||||
onWheel={(e) => this.changeTimesWhenScrolling(0, e, sponsorTime)}>
|
||||
</input>
|
||||
|
||||
{sponsorTime.actionType !== ActionType.Poi ? (
|
||||
@@ -137,11 +151,11 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
|
||||
<input id={"submittingTime1" + this.idSuffix}
|
||||
className="sponsorTimeEdit sponsorTimeEditInput"
|
||||
ref={oldYouTubeDarkStyles}
|
||||
type="text"
|
||||
style={{color: "inherit", backgroundColor: "inherit"}}
|
||||
value={this.state.sponsorTimeEdits[1]}
|
||||
onChange={(e) => {this.handleOnChange(1, e, sponsorTime, e.target.value)}}
|
||||
onWheel={(e) => {this.changeTimesWhenScrolling(1, e, sponsorTime)}}>
|
||||
onChange={(e) => this.handleOnChange(1, e, sponsorTime, e.target.value)}
|
||||
onWheel={(e) => this.changeTimesWhenScrolling(1, e, sponsorTime)}>
|
||||
</input>
|
||||
|
||||
<span id={"nowButton1" + this.idSuffix}
|
||||
@@ -166,15 +180,15 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
style={timeDisplayStyle}
|
||||
className="sponsorTimeDisplay"
|
||||
onClick={this.toggleEditTime.bind(this)}>
|
||||
{utils.getFormattedTime(segment[0], true) +
|
||||
{GenericUtils.getFormattedTime(segment[0], true) +
|
||||
((!isNaN(segment[1]) && sponsorTime.actionType !== ActionType.Poi)
|
||||
? " " + chrome.i18n.getMessage("to") + " " + utils.getFormattedTime(segment[1], true) : "")}
|
||||
? " " + chrome.i18n.getMessage("to") + " " + GenericUtils.getFormattedTime(segment[1], true) : "")}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<div style={style}>
|
||||
<div id={"sponsorTimeEditContainer" + this.idSuffix} style={style}>
|
||||
|
||||
{timeDisplay}
|
||||
|
||||
@@ -184,7 +198,8 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
className="sponsorTimeEditSelector sponsorTimeCategories"
|
||||
defaultValue={sponsorTime.category}
|
||||
ref={this.categoryOptionRef}
|
||||
onChange={this.categorySelectionChange.bind(this)}>
|
||||
style={{color: "inherit", backgroundColor: "inherit"}}
|
||||
onChange={(event) => this.categorySelectionChange(event)}>
|
||||
{this.getCategoryOptions()}
|
||||
</select>
|
||||
|
||||
@@ -207,6 +222,7 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
<select id={"sponsorTimeActionTypes" + this.idSuffix}
|
||||
className="sponsorTimeEditSelector sponsorTimeActionTypes"
|
||||
defaultValue={sponsorTime.actionType}
|
||||
style={{color: "inherit", backgroundColor: "inherit"}}
|
||||
ref={this.actionTypeOptionRef}
|
||||
onChange={(e) => this.actionTypeSelectionChange(e)}>
|
||||
{this.getActionTypeOptions(sponsorTime)}
|
||||
@@ -214,6 +230,32 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
</div>
|
||||
): ""}
|
||||
|
||||
{/* Chapter Name */}
|
||||
{sponsorTime.actionType === ActionType.Chapter ? (
|
||||
<div onBlur={() => this.setState({chapterNameSelectorOpen: false})}>
|
||||
<input id={"chapterName" + this.idSuffix}
|
||||
className="sponsorTimeEdit sponsorTimeEditInput sponsorChapterNameInput"
|
||||
style={{color: "inherit", backgroundColor: "inherit"}}
|
||||
ref={this.descriptionOptionRef}
|
||||
type="text"
|
||||
value={this.state.description}
|
||||
onContextMenu={(e) => e.stopPropagation()}
|
||||
onChange={(e) => this.descriptionUpdate(e.target.value)}
|
||||
onFocus={() => this.setState({chapterNameSelectorOpen: true})}>
|
||||
</input>
|
||||
{this.state.description
|
||||
&& (this.state.chapterNameSelectorOpen || this.state.chapterNameSelectorHovering) &&
|
||||
<SelectorComponent
|
||||
id={"chapterNameSelector" + this.idSuffix}
|
||||
options={this.state.suggestedNames}
|
||||
onMouseEnter={() => this.setState({chapterNameSelectorHovering: true})}
|
||||
onMouseLeave={() => this.setState({chapterNameSelectorHovering: false})}
|
||||
onChange={(v) => this.descriptionUpdate(v)}
|
||||
/>
|
||||
}
|
||||
</div>
|
||||
): ""}
|
||||
|
||||
<br/>
|
||||
|
||||
{/* Editing Tools */}
|
||||
@@ -224,7 +266,8 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
{chrome.i18n.getMessage("delete")}
|
||||
</span>
|
||||
|
||||
{(!isNaN(segment[1]) && ![ActionType.Poi, ActionType.Full].includes(sponsorTime.actionType)) ? (
|
||||
{(!isNaN(segment[1]) && ![ActionType.Poi, ActionType.Full].includes(sponsorTime.actionType))
|
||||
&& sponsorTime.actionType !== ActionType.Chapter ? (
|
||||
<span id={"sponsorTimePreviewButton" + this.idSuffix}
|
||||
className="sponsorTimeEditButton"
|
||||
onClick={(e) => this.previewTime(e.ctrlKey, e.shiftKey)}>
|
||||
@@ -240,6 +283,15 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
</span>
|
||||
): ""}
|
||||
|
||||
{(!isNaN(segment[1]) && ![ActionType.Poi, ActionType.Full].includes(sponsorTime.actionType))
|
||||
&& sponsorTime.actionType === ActionType.Chapter ? (
|
||||
<span id={"sponsorTimePreviewButton" + this.idSuffix}
|
||||
className="sponsorTimeEditButton"
|
||||
onClick={(e) => this.previewTime(e.ctrlKey, e.shiftKey)}>
|
||||
{chrome.i18n.getMessage("End")}
|
||||
</span>
|
||||
): ""}
|
||||
|
||||
{(!isNaN(segment[1]) && sponsorTime.actionType != ActionType.Full) ? (
|
||||
<span id={"sponsorTimeEditButton" + this.idSuffix}
|
||||
className="sponsorTimeEditButton"
|
||||
@@ -255,16 +307,15 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
const sponsorTimeEdits = this.state.sponsorTimeEdits;
|
||||
|
||||
// check if change is small engough to show tooltip
|
||||
const before = utils.getFormattedTimeToSeconds(sponsorTimeEdits[index]);
|
||||
const after = utils.getFormattedTimeToSeconds(targetValue);
|
||||
const before = GenericUtils.getFormattedTimeToSeconds(sponsorTimeEdits[index]);
|
||||
const after = GenericUtils.getFormattedTimeToSeconds(targetValue);
|
||||
const difference = Math.abs(before - after);
|
||||
if (0 < difference && difference< 0.5) this.showScrollToEditToolTip();
|
||||
if (0 < difference && difference < 0.5) this.showScrollToEditToolTip();
|
||||
|
||||
sponsorTimeEdits[index] = targetValue;
|
||||
if (index === 0 && sponsorTime.actionType === ActionType.Poi) sponsorTimeEdits[1] = targetValue;
|
||||
|
||||
this.setState({sponsorTimeEdits});
|
||||
this.saveEditTimes();
|
||||
this.setState({sponsorTimeEdits}, () => this.saveEditTimes());
|
||||
}
|
||||
|
||||
changeTimesWhenScrolling(index: number, e: React.WheelEvent, sponsorTime: SponsorTime): void {
|
||||
@@ -280,7 +331,7 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
}
|
||||
|
||||
const sponsorTimeEdits = this.state.sponsorTimeEdits;
|
||||
let timeAsNumber = utils.getFormattedTimeToSeconds(this.state.sponsorTimeEdits[index]);
|
||||
let timeAsNumber = GenericUtils.getFormattedTimeToSeconds(this.state.sponsorTimeEdits[index]);
|
||||
if (timeAsNumber !== null && e.deltaY != 0) {
|
||||
if (e.deltaY < 0) {
|
||||
timeAsNumber += step;
|
||||
@@ -289,7 +340,8 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
} else {
|
||||
timeAsNumber = 0;
|
||||
}
|
||||
sponsorTimeEdits[index] = utils.getFormattedTime(timeAsNumber, true);
|
||||
|
||||
sponsorTimeEdits[index] = GenericUtils.getFormattedTime(timeAsNumber, true);
|
||||
if (sponsorTime.actionType === ActionType.Poi) sponsorTimeEdits[1] = sponsorTimeEdits[0];
|
||||
|
||||
this.setState({sponsorTimeEdits});
|
||||
@@ -299,26 +351,29 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
|
||||
showScrollToEditToolTip(): void {
|
||||
if (!Config.config.scrollToEditTimeUpdate && document.getElementById("sponsorRectangleTooltip" + "sponsorTimesContainer" + this.idSuffix) === null) {
|
||||
this.showToolTip(chrome.i18n.getMessage("SponsorTimeEditScrollNewFeature"), () => { Config.config.scrollToEditTimeUpdate = true });
|
||||
this.showToolTip(chrome.i18n.getMessage("SponsorTimeEditScrollNewFeature"), "scrollToEdit", () => { Config.config.scrollToEditTimeUpdate = true });
|
||||
}
|
||||
}
|
||||
|
||||
showToolTip(text: string, buttonFunction?: () => void): boolean {
|
||||
showToolTip(text: string, id: string, buttonFunction?: () => void): boolean {
|
||||
const element = document.getElementById("sponsorTimesContainer" + this.idSuffix);
|
||||
if (element) {
|
||||
new RectangleTooltip({
|
||||
text,
|
||||
referenceNode: element.parentElement,
|
||||
prependElement: element,
|
||||
timeout: 15,
|
||||
bottomOffset: 0 + "px",
|
||||
leftOffset: -318 + "px",
|
||||
backgroundColor: "rgba(28, 28, 28, 1.0)",
|
||||
htmlId: "sponsorTimesContainer" + this.idSuffix,
|
||||
buttonFunction,
|
||||
fontSize: "14px",
|
||||
maxHeight: "200px"
|
||||
});
|
||||
if (element) {
|
||||
const htmlId = `sponsorRectangleTooltip${id + this.idSuffix}`;
|
||||
if (!document.getElementById(htmlId)) {
|
||||
new RectangleTooltip({
|
||||
text,
|
||||
referenceNode: element.parentElement,
|
||||
prependElement: element,
|
||||
timeout: 15,
|
||||
bottomOffset: 0 + "px",
|
||||
leftOffset: -318 + "px",
|
||||
backgroundColor: "rgba(28, 28, 28, 1.0)",
|
||||
htmlId,
|
||||
buttonFunction,
|
||||
fontSize: "14px",
|
||||
maxHeight: "200px"
|
||||
});
|
||||
}
|
||||
|
||||
return true;
|
||||
} else {
|
||||
@@ -333,12 +388,25 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
|
||||
if (videoPercentage > 0.6 && !this.fullVideoWarningShown
|
||||
&& (sponsorTime.category === "sponsor" || sponsorTime.category === "selfpromo" || sponsorTime.category === "chooseACategory")) {
|
||||
if (this.showToolTip(chrome.i18n.getMessage("fullVideoTooltipWarning"))) {
|
||||
if (this.showToolTip(chrome.i18n.getMessage("fullVideoTooltipWarning"), "fullVideoWarning")) {
|
||||
this.fullVideoWarningShown = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
checkToShowChapterWarning(): void {
|
||||
const sponsorTime = this.props.contentContainer().sponsorTimesSubmitting[this.props.index];
|
||||
|
||||
if (sponsorTime.actionType === ActionType.Chapter && sponsorTime.description
|
||||
&& !this.categoryNameWarningShown
|
||||
&& categoryNamesGrams.some(
|
||||
(category) => sponsorTime.description.toLowerCase().includes(category.toLowerCase()))) {
|
||||
if (this.showToolTip(chrome.i18n.getMessage("chapterNameTooltipWarning"), "chapterWarning")) {
|
||||
this.categoryNameWarningShown = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getCategoryOptions(): React.ReactElement[] {
|
||||
const elements = [(
|
||||
<option value={DEFAULT_CATEGORY}
|
||||
@@ -348,6 +416,13 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
)];
|
||||
|
||||
for (const category of (this.props.categoryList ?? CompileConfig.categoryList)) {
|
||||
// If permission not loaded, treat it like we have permission except chapter
|
||||
const defaultBlockCategories = ["chapter"];
|
||||
const permission = (Config.config.showCategoryWithoutPermission
|
||||
|| Config.config.permissions[category as Category]) && (category !== "chapter" || noRefreshFetchingChaptersAllowed());
|
||||
if ((defaultBlockCategories.includes(category)
|
||||
|| (permission !== undefined && !Config.config.showCategoryWithoutPermission)) && !permission) continue;
|
||||
|
||||
elements.push(
|
||||
<option value={category}
|
||||
key={category}
|
||||
@@ -365,9 +440,10 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
}
|
||||
|
||||
categorySelectionChange(event: React.ChangeEvent<HTMLSelectElement>): void {
|
||||
const chosenCategory = event.target.value as Category;
|
||||
|
||||
// See if show more categories was pressed
|
||||
if (event.target.value !== DEFAULT_CATEGORY && !Config.config.categorySelections.some((category) => category.name === event.target.value)) {
|
||||
const chosenCategory = event.target.value;
|
||||
if (chosenCategory !== DEFAULT_CATEGORY && !Config.config.categorySelections.some((category) => category.name === chosenCategory)) {
|
||||
event.target.value = DEFAULT_CATEGORY;
|
||||
|
||||
// Alert that they have to enable this category first
|
||||
@@ -381,8 +457,12 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
}
|
||||
|
||||
const sponsorTime = this.props.contentContainer().sponsorTimesSubmitting[this.props.index];
|
||||
this.handleReplacingLostTimes(event.target.value as Category, sponsorTime.actionType, sponsorTime);
|
||||
this.handleReplacingLostTimes(chosenCategory, sponsorTime.actionType, sponsorTime);
|
||||
this.saveEditTimes();
|
||||
|
||||
if (this.props.categoryChangeListener) {
|
||||
this.props.categoryChangeListener(this.props.index, chosenCategory);
|
||||
}
|
||||
}
|
||||
|
||||
actionTypeSelectionChange(event: React.ChangeEvent<HTMLSelectElement>): void {
|
||||
@@ -414,7 +494,8 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
}
|
||||
|
||||
this.previousSkipType = ActionType.Full;
|
||||
} else if ((category === "chooseACategory" || (CompileConfig.categorySupport[category]?.includes(ActionType.Skip)
|
||||
} else if ((category === "chooseACategory" || ((CompileConfig.categorySupport[category]?.includes(ActionType.Skip)
|
||||
|| CompileConfig.categorySupport[category]?.includes(ActionType.Chapter))
|
||||
&& ![ActionType.Poi, ActionType.Full].includes(this.getNextActionType(category, actionType))))
|
||||
&& this.previousSkipType !== ActionType.Skip) {
|
||||
if (this.timesBeforeChanging[0]) {
|
||||
@@ -464,7 +545,7 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
|
||||
this.setState({
|
||||
sponsorTimeEdits: this.getFormattedSponsorTimesEdits(sponsorTime)
|
||||
}, this.saveEditTimes);
|
||||
}, () => this.saveEditTimes());
|
||||
}
|
||||
|
||||
toggleEditTime(): void {
|
||||
@@ -487,16 +568,16 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
|
||||
/** Returns an array in the sponsorTimeEdits form (formatted time string) from a normal seconds sponsor time */
|
||||
getFormattedSponsorTimesEdits(sponsorTime: SponsorTime): [string, string] {
|
||||
return [utils.getFormattedTime(sponsorTime.segment[0], true),
|
||||
utils.getFormattedTime(sponsorTime.segment[1], true)];
|
||||
return [GenericUtils.getFormattedTime(sponsorTime.segment[0], true),
|
||||
GenericUtils.getFormattedTime(sponsorTime.segment[1], true)];
|
||||
}
|
||||
|
||||
saveEditTimes(): void {
|
||||
const sponsorTimesSubmitting = this.props.contentContainer().sponsorTimesSubmitting;
|
||||
|
||||
if (this.state.editing) {
|
||||
const startTime = utils.getFormattedTimeToSeconds(this.state.sponsorTimeEdits[0]);
|
||||
const endTime = utils.getFormattedTimeToSeconds(this.state.sponsorTimeEdits[1]);
|
||||
const startTime = GenericUtils.getFormattedTimeToSeconds(this.state.sponsorTimeEdits[0]);
|
||||
const endTime = GenericUtils.getFormattedTimeToSeconds(this.state.sponsorTimeEdits[1]);
|
||||
|
||||
// Change segment time only if the format was correct
|
||||
if (startTime !== null && endTime !== null) {
|
||||
@@ -507,8 +588,11 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
const category = this.categoryOptionRef.current.value as Category
|
||||
sponsorTimesSubmitting[this.props.index].category = category;
|
||||
|
||||
const inputActionType = this.actionTypeOptionRef?.current?.value as ActionType;
|
||||
sponsorTimesSubmitting[this.props.index].actionType = this.getNextActionType(category, inputActionType);
|
||||
const actionType = this.getNextActionType(category, this.actionTypeOptionRef?.current?.value as ActionType);
|
||||
sponsorTimesSubmitting[this.props.index].actionType = actionType;
|
||||
|
||||
const description = actionType === ActionType.Chapter ? this.descriptionOptionRef?.current?.value : "";
|
||||
sponsorTimesSubmitting[this.props.index].description = description;
|
||||
|
||||
Config.config.unsubmittedSegments[this.props.contentContainer().sponsorVideoID] = sponsorTimesSubmitting;
|
||||
Config.forceSyncUpdate("unsubmittedSegments");
|
||||
@@ -530,14 +614,19 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
previewTime(ctrlPressed = false, shiftPressed = false): void {
|
||||
const sponsorTimes = this.props.contentContainer().sponsorTimesSubmitting;
|
||||
const index = this.props.index;
|
||||
|
||||
const skipTime = sponsorTimes[index].segment[0];
|
||||
|
||||
let seekTime = 2;
|
||||
if (ctrlPressed) seekTime = 0.5;
|
||||
if (shiftPressed) seekTime = 0.25;
|
||||
|
||||
this.props.contentContainer().previewTime(skipTime - (seekTime * this.props.contentContainer().v.playbackRate));
|
||||
const startTime = sponsorTimes[index].segment[0];
|
||||
const endTime = sponsorTimes[index].segment[1];
|
||||
const isChapter = sponsorTimes[index].actionType === ActionType.Chapter;
|
||||
|
||||
// If segment starts at 0:00, start playback at the end of the segment
|
||||
const skipToEndTime = startTime === 0 || isChapter;
|
||||
const skipTime = skipToEndTime ? endTime : (startTime - (seekTime * this.props.contentContainer().v.playbackRate));
|
||||
|
||||
this.props.contentContainer().previewTime(skipTime, !isChapter);
|
||||
}
|
||||
|
||||
inspectTime(): void {
|
||||
@@ -581,6 +670,41 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
||||
}
|
||||
}
|
||||
|
||||
descriptionUpdate(description: string): void {
|
||||
this.setState({
|
||||
description
|
||||
});
|
||||
|
||||
if (!this.fetchingSuggestions) {
|
||||
this.fetchSuggestions(description);
|
||||
}
|
||||
|
||||
this.saveEditTimes();
|
||||
}
|
||||
|
||||
async fetchSuggestions(description: string): Promise<void> {
|
||||
if (this.props.contentContainer().channelIDInfo.status !== ChannelIDStatus.Found) return;
|
||||
|
||||
this.fetchingSuggestions = true;
|
||||
const result = await utils.asyncRequestToServer("GET", "/api/chapterNames", {
|
||||
description,
|
||||
channelID: this.props.contentContainer().channelIDInfo.id
|
||||
});
|
||||
|
||||
if (result.ok) {
|
||||
try {
|
||||
const names = JSON.parse(result.responseText) as {description: string}[];
|
||||
this.setState({
|
||||
suggestedNames: names.map(n => ({
|
||||
label: n.description
|
||||
}))
|
||||
});
|
||||
} catch (e) {} //eslint-disable-line no-empty
|
||||
}
|
||||
|
||||
this.fetchingSuggestions = false;
|
||||
}
|
||||
|
||||
configUpdate(): void {
|
||||
this.forceUpdate();
|
||||
}
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
import * as React from "react";
|
||||
import Config from "../config"
|
||||
import { ContentContainer } from "../types";
|
||||
import GenericNotice from "../render/GenericNotice";
|
||||
import { Category, ContentContainer } from "../types";
|
||||
import * as CompileConfig from "../../config.json";
|
||||
|
||||
import NoticeComponent from "./NoticeComponent";
|
||||
import NoticeTextSelectionComponent from "./NoticeTextSectionComponent";
|
||||
import SponsorTimeEditComponent from "./SponsorTimeEditComponent";
|
||||
import { getGuidelineInfo } from "../utils/constants";
|
||||
import { exportTimes } from "../utils/exporter";
|
||||
|
||||
export interface SubmissionNoticeProps {
|
||||
// Contains functions and variables from the content script needed by the skip notice
|
||||
@@ -32,6 +36,8 @@ class SubmissionNoticeComponent extends React.Component<SubmissionNoticeProps, S
|
||||
|
||||
videoObserver: MutationObserver;
|
||||
|
||||
guidelinesReminder: GenericNotice;
|
||||
|
||||
constructor(props: SubmissionNoticeProps) {
|
||||
super(props);
|
||||
this.noticeRef = React.createRef();
|
||||
@@ -68,12 +74,29 @@ class SubmissionNoticeComponent extends React.Component<SubmissionNoticeProps, S
|
||||
}
|
||||
|
||||
render(): React.ReactElement {
|
||||
const sortButton =
|
||||
<img id={"sponsorSkipSortButton" + this.state.idSuffix}
|
||||
className="sponsorSkipObject sponsorSkipNoticeButton sponsorSkipSmallButton"
|
||||
onClick={() => this.sortSegments()}
|
||||
title={chrome.i18n.getMessage("sortSegments")}
|
||||
key="sortButton"
|
||||
src={chrome.extension.getURL("icons/sort.svg")}>
|
||||
</img>;
|
||||
const exportButton =
|
||||
<img id={"sponsorSkipExportButton" + this.state.idSuffix}
|
||||
className="sponsorSkipObject sponsorSkipNoticeButton sponsorSkipSmallButton"
|
||||
onClick={() => this.exportSegments()}
|
||||
title={chrome.i18n.getMessage("exportSegments")}
|
||||
key="exportButton"
|
||||
src={chrome.extension.getURL("icons/export.svg")}>
|
||||
</img>;
|
||||
return (
|
||||
<NoticeComponent noticeTitle={this.state.noticeTitle}
|
||||
idSuffix={this.state.idSuffix}
|
||||
ref={this.noticeRef}
|
||||
closeListener={this.cancel.bind(this)}
|
||||
zIndex={5000}>
|
||||
zIndex={5000}
|
||||
firstColumn={[sortButton, exportButton]}>
|
||||
|
||||
{/* Text Boxes */}
|
||||
{this.getMessageBoxes()}
|
||||
@@ -95,7 +118,7 @@ class SubmissionNoticeComponent extends React.Component<SubmissionNoticeProps, S
|
||||
|
||||
{/* Guidelines button */}
|
||||
<button className="sponsorSkipObject sponsorSkipNoticeButton sponsorSkipNoticeRightButton"
|
||||
onClick={() => window.open("https://wiki.sponsor.ajay.app/index.php/Guidelines")}>
|
||||
onClick={() => window.open("https://wiki.sponsor.ajay.app/w/Guidelines")}>
|
||||
|
||||
{chrome.i18n.getMessage(Config.config.submissionCountSinceCategories > 3 ? "guidelines" : "readTheGuidelines")}
|
||||
</button>
|
||||
@@ -128,6 +151,7 @@ class SubmissionNoticeComponent extends React.Component<SubmissionNoticeProps, S
|
||||
index={i}
|
||||
contentContainer={this.props.contentContainer}
|
||||
submissionNotice={this}
|
||||
categoryChangeListener={this.categoryChangeListener.bind(this)}
|
||||
ref={timeRef}>
|
||||
</SponsorTimeEditComponent>
|
||||
);
|
||||
@@ -154,9 +178,10 @@ class SubmissionNoticeComponent extends React.Component<SubmissionNoticeProps, S
|
||||
}
|
||||
|
||||
cancel(): void {
|
||||
this.guidelinesReminder?.close();
|
||||
this.noticeRef.current.close(true);
|
||||
|
||||
this.contentContainer().resetSponsorSubmissionNotice();
|
||||
this.contentContainer().resetSponsorSubmissionNotice(false);
|
||||
|
||||
this.props.closeListener();
|
||||
}
|
||||
@@ -190,6 +215,79 @@ class SubmissionNoticeComponent extends React.Component<SubmissionNoticeProps, S
|
||||
|
||||
this.cancel();
|
||||
}
|
||||
|
||||
sortSegments(): void {
|
||||
let sponsorTimesSubmitting = this.props.contentContainer().sponsorTimesSubmitting;
|
||||
sponsorTimesSubmitting = sponsorTimesSubmitting.sort((a, b) => a.segment[0] - b.segment[0]);
|
||||
|
||||
Config.config.unsubmittedSegments[this.props.contentContainer().sponsorVideoID] = sponsorTimesSubmitting;
|
||||
Config.forceSyncUpdate("unsubmittedSegments");
|
||||
|
||||
this.forceUpdate();
|
||||
}
|
||||
|
||||
exportSegments() {
|
||||
const sponsorTimesSubmitting = this.props.contentContainer()
|
||||
.sponsorTimesSubmitting.sort((a, b) => a.segment[0] - b.segment[0]);
|
||||
window.navigator.clipboard.writeText(exportTimes(sponsorTimesSubmitting));
|
||||
|
||||
new GenericNotice(null, "exportCopied", {
|
||||
title: chrome.i18n.getMessage(`CopiedExclamation`),
|
||||
timed: true,
|
||||
maxCountdownTime: () => 0.6,
|
||||
referenceNode: document.querySelector(".noticeLeftIcon"),
|
||||
dontPauseCountdown: true,
|
||||
style: {
|
||||
top: 0,
|
||||
bottom: 0,
|
||||
minWidth: 0,
|
||||
right: "30px",
|
||||
margin: "auto"
|
||||
},
|
||||
hideLogo: true,
|
||||
hideRightInfo: true,
|
||||
extraClass: "exportCopiedNotice"
|
||||
});
|
||||
}
|
||||
|
||||
categoryChangeListener(index: number, category: Category): void {
|
||||
const dialogWidth = this.noticeRef?.current?.getElement()?.current?.offsetWidth;
|
||||
if (category !== "chooseACategory" && Config.config.showCategoryGuidelines
|
||||
&& this.contentContainer().v.offsetWidth > dialogWidth * 2) {
|
||||
const options = {
|
||||
title: chrome.i18n.getMessage(`category_${category}`),
|
||||
textBoxes: getGuidelineInfo(category),
|
||||
buttons: [{
|
||||
name: chrome.i18n.getMessage("FullDetails"),
|
||||
listener: () => window.open(CompileConfig.wikiLinks[category])
|
||||
},
|
||||
{
|
||||
name: chrome.i18n.getMessage("Hide"),
|
||||
listener: () => {
|
||||
Config.config.showCategoryGuidelines = false;
|
||||
this.guidelinesReminder?.close();
|
||||
this.guidelinesReminder = null;
|
||||
}
|
||||
}],
|
||||
timed: false,
|
||||
style: {
|
||||
right: `${dialogWidth + 10}px`,
|
||||
},
|
||||
extraClass: "sb-guidelines-notice"
|
||||
};
|
||||
|
||||
if (options.textBoxes) {
|
||||
if (this.guidelinesReminder) {
|
||||
this.guidelinesReminder.update(options);
|
||||
} else {
|
||||
this.guidelinesReminder = new GenericNotice(null, "GuidelinesReminder", options);
|
||||
}
|
||||
} else {
|
||||
this.guidelinesReminder?.close();
|
||||
this.guidelinesReminder = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default SubmissionNoticeComponent;
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
import * as React from "react";
|
||||
import Config from "../config";
|
||||
import { Category, SegmentUUID, SponsorTime } from "../types";
|
||||
|
||||
export interface TooltipProps {
|
||||
text: string;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import * as React from "react";
|
||||
|
||||
import * as CompileConfig from "../../config.json";
|
||||
import { Category } from "../types";
|
||||
import * as CompileConfig from "../../../config.json";
|
||||
import { Category } from "../../types";
|
||||
import CategorySkipOptionsComponent from "./CategorySkipOptionsComponent";
|
||||
|
||||
export interface CategoryChooserProps {
|
||||
@@ -1,10 +1,13 @@
|
||||
import * as React from "react";
|
||||
|
||||
import Config from "../config"
|
||||
import * as CompileConfig from "../../config.json";
|
||||
import { Category, CategorySkipOption } from "../types";
|
||||
import Config from "../../config"
|
||||
import * as CompileConfig from "../../../config.json";
|
||||
import { Category, CategorySkipOption } from "../../types";
|
||||
|
||||
import { getCategorySuffix } from "../utils/categoryUtils";
|
||||
import { getCategorySuffix } from "../../utils/categoryUtils";
|
||||
import ToggleOptionComponent from "./ToggleOptionComponent";
|
||||
import { fetchingChaptersAllowed } from "../../utils/licenseKey";
|
||||
import LockSvg from "../../svg-icons/lock_svg";
|
||||
|
||||
export interface CategorySkipOptionsProps {
|
||||
category: Category;
|
||||
@@ -15,9 +18,17 @@ export interface CategorySkipOptionsProps {
|
||||
export interface CategorySkipOptionsState {
|
||||
color: string;
|
||||
previewColor: string;
|
||||
hideChapter: boolean;
|
||||
}
|
||||
|
||||
export interface ToggleOption {
|
||||
configKey: string;
|
||||
label: string;
|
||||
dontDisable?: boolean;
|
||||
}
|
||||
|
||||
class CategorySkipOptionsComponent extends React.Component<CategorySkipOptionsProps, CategorySkipOptionsState> {
|
||||
setBarColorTimeout: NodeJS.Timeout;
|
||||
|
||||
constructor(props: CategorySkipOptionsProps) {
|
||||
super(props);
|
||||
@@ -26,10 +37,28 @@ class CategorySkipOptionsComponent extends React.Component<CategorySkipOptionsPr
|
||||
this.state = {
|
||||
color: props.defaultColor || Config.config.barTypes[this.props.category]?.color,
|
||||
previewColor: props.defaultPreviewColor || Config.config.barTypes["preview-" + this.props.category]?.color,
|
||||
}
|
||||
hideChapter: true
|
||||
};
|
||||
|
||||
fetchingChaptersAllowed().then((allowed) => {
|
||||
this.setState({
|
||||
hideChapter: !allowed
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
render(): React.ReactElement {
|
||||
if (this.state.hideChapter) {
|
||||
// Ensure force update refreshes this
|
||||
fetchingChaptersAllowed().then((allowed) => {
|
||||
if (allowed) {
|
||||
this.setState({
|
||||
hideChapter: !allowed
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
let defaultOption = "disable";
|
||||
// Set the default opton properly
|
||||
for (const categorySelection of Config.config.categorySelections) {
|
||||
@@ -50,10 +79,20 @@ class CategorySkipOptionsComponent extends React.Component<CategorySkipOptionsPr
|
||||
}
|
||||
}
|
||||
|
||||
let extraClasses = "";
|
||||
const disabled = this.props.category === "chapter" && this.state.hideChapter;
|
||||
if (disabled) {
|
||||
extraClasses += " disabled";
|
||||
|
||||
if (!Config.config.showUpsells) {
|
||||
return <></>;
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<tr id={this.props.category + "OptionsRow"}
|
||||
className="categoryTableElement">
|
||||
className={`categoryTableElement${extraClasses}`} >
|
||||
<td id={this.props.category + "OptionName"}
|
||||
className="categoryTableLabel">
|
||||
{chrome.i18n.getMessage("category_" + this.props.category)}
|
||||
@@ -64,21 +103,29 @@ class CategorySkipOptionsComponent extends React.Component<CategorySkipOptionsPr
|
||||
<select
|
||||
className="optionsSelector"
|
||||
defaultValue={defaultOption}
|
||||
disabled={disabled}
|
||||
onChange={this.skipOptionSelected.bind(this)}>
|
||||
{this.getCategorySkipOptions()}
|
||||
</select>
|
||||
</td>
|
||||
|
||||
<td id={this.props.category + "ColorOption"}
|
||||
className="colorOption">
|
||||
<input
|
||||
className="categoryColorTextBox option-text-box"
|
||||
type="color"
|
||||
onChange={(event) => this.setColorState(event, false)}
|
||||
value={this.state.color} />
|
||||
|
||||
{disabled &&
|
||||
<LockSvg className="upsellButton" onClick={() => chrome.tabs.create({url: chrome.runtime.getURL('upsell/index.html')})}/>
|
||||
}
|
||||
</td>
|
||||
|
||||
{this.props.category !== "exclusive_access" &&
|
||||
{this.props.category !== "chapter" &&
|
||||
<td id={this.props.category + "ColorOption"}
|
||||
className="colorOption">
|
||||
<input
|
||||
className="categoryColorTextBox option-text-box"
|
||||
type="color"
|
||||
disabled={disabled}
|
||||
onChange={(event) => this.setColorState(event, false)}
|
||||
value={this.state.color} />
|
||||
</td>
|
||||
}
|
||||
|
||||
{!["chapter", "exclusive_access"].includes(this.props.category) &&
|
||||
<td id={this.props.category + "PreviewColorOption"}
|
||||
className="previewColorOption">
|
||||
<input
|
||||
@@ -92,7 +139,7 @@ class CategorySkipOptionsComponent extends React.Component<CategorySkipOptionsPr
|
||||
</tr>
|
||||
|
||||
<tr id={this.props.category + "DescriptionRow"}
|
||||
className="small-description categoryTableDescription">
|
||||
className={`small-description categoryTableDescription${extraClasses}`}>
|
||||
<td
|
||||
colSpan={2}>
|
||||
{chrome.i18n.getMessage("category_" + this.props.category + "_description")}
|
||||
@@ -102,6 +149,8 @@ class CategorySkipOptionsComponent extends React.Component<CategorySkipOptionsPr
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{this.getExtraOptionComponents(this.props.category, extraClasses, disabled)}
|
||||
|
||||
</>
|
||||
);
|
||||
@@ -110,10 +159,10 @@ class CategorySkipOptionsComponent extends React.Component<CategorySkipOptionsPr
|
||||
skipOptionSelected(event: React.ChangeEvent<HTMLSelectElement>): void {
|
||||
let option: CategorySkipOption;
|
||||
|
||||
this.removeCurrentCategorySelection();
|
||||
|
||||
switch (event.target.value) {
|
||||
case "disable":
|
||||
case "disable":
|
||||
Config.config.categorySelections = Config.config.categorySelections.filter(
|
||||
categorySelection => categorySelection.name !== this.props.category);
|
||||
return;
|
||||
case "showOverlay":
|
||||
option = CategorySkipOption.ShowOverlay;
|
||||
@@ -129,35 +178,25 @@ class CategorySkipOptionsComponent extends React.Component<CategorySkipOptionsPr
|
||||
break;
|
||||
}
|
||||
|
||||
Config.config.categorySelections.push({
|
||||
name: this.props.category,
|
||||
option: option
|
||||
});
|
||||
|
||||
// Forces the Proxy to send this to the chrome storage API
|
||||
Config.config.categorySelections = Config.config.categorySelections;
|
||||
}
|
||||
|
||||
/** Removes this category from the config list of category selections */
|
||||
removeCurrentCategorySelection(): void {
|
||||
// Remove it if it exists
|
||||
for (let i = 0; i < Config.config.categorySelections.length; i++) {
|
||||
if (Config.config.categorySelections[i].name === this.props.category) {
|
||||
Config.config.categorySelections.splice(i, 1);
|
||||
|
||||
// Forces the Proxy to send this to the chrome storage API
|
||||
Config.config.categorySelections = Config.config.categorySelections;
|
||||
|
||||
break;
|
||||
}
|
||||
const existingSelection = Config.config.categorySelections.find(selection => selection.name === this.props.category);
|
||||
if (existingSelection) {
|
||||
existingSelection.option = option;
|
||||
} else {
|
||||
Config.config.categorySelections.push({
|
||||
name: this.props.category,
|
||||
option: option
|
||||
});
|
||||
}
|
||||
|
||||
Config.forceSyncUpdate("categorySelections");
|
||||
}
|
||||
|
||||
getCategorySkipOptions(): JSX.Element[] {
|
||||
const elements: JSX.Element[] = [];
|
||||
|
||||
let optionNames = ["disable", "showOverlay", "manualSkip", "autoSkip"];
|
||||
if (this.props.category === "exclusive_access") optionNames = ["disable", "showOverlay"];
|
||||
if (this.props.category === "chapter") optionNames = ["disable", "showOverlay"]
|
||||
else if (this.props.category === "exclusive_access") optionNames = ["disable", "showOverlay"];
|
||||
|
||||
for (const optionName of optionNames) {
|
||||
elements.push(
|
||||
@@ -172,6 +211,8 @@ class CategorySkipOptionsComponent extends React.Component<CategorySkipOptionsPr
|
||||
}
|
||||
|
||||
setColorState(event: React.FormEvent<HTMLInputElement>, preview: boolean): void {
|
||||
clearTimeout(this.setBarColorTimeout);
|
||||
|
||||
if (preview) {
|
||||
this.setState({
|
||||
previewColor: event.currentTarget.value
|
||||
@@ -188,7 +229,51 @@ class CategorySkipOptionsComponent extends React.Component<CategorySkipOptionsPr
|
||||
}
|
||||
|
||||
// Make listener get called
|
||||
Config.config.barTypes = Config.config.barTypes;
|
||||
this.setBarColorTimeout = setTimeout(() => {
|
||||
Config.config.barTypes = Config.config.barTypes;
|
||||
}, 50);
|
||||
}
|
||||
|
||||
getExtraOptionComponents(category: string, extraClasses: string, disabled: boolean): JSX.Element[] {
|
||||
const result = [];
|
||||
for (const option of this.getExtraOptions(category)) {
|
||||
result.push(
|
||||
<tr key={option.configKey} className={extraClasses}>
|
||||
<td id={`${category}_${option.configKey}`} className="categoryExtraOptions">
|
||||
<ToggleOptionComponent
|
||||
configKey={option.configKey}
|
||||
label={option.label}
|
||||
disabled={!option.dontDisable && disabled}
|
||||
style={{width: "inherit"}}
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
)
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
getExtraOptions(category: string): ToggleOption[] {
|
||||
switch (category) {
|
||||
case "chapter":
|
||||
return [{
|
||||
configKey: "renderSegmentsAsChapters",
|
||||
label: chrome.i18n.getMessage("renderAsChapters"),
|
||||
dontDisable: true
|
||||
}, {
|
||||
configKey: "showSegmentNameInChapterBar",
|
||||
label: chrome.i18n.getMessage("showSegmentNameInChapterBar"),
|
||||
dontDisable: true
|
||||
}];
|
||||
case "music_offtopic":
|
||||
return [{
|
||||
configKey: "autoSkipOnMusicVideos",
|
||||
label: chrome.i18n.getMessage("autoSkipOnMusicVideos"),
|
||||
}];
|
||||
default:
|
||||
return [];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import * as React from "react";
|
||||
import * as ReactDOM from "react-dom";
|
||||
import Config from "../config";
|
||||
import { Keybind } from "../types";
|
||||
import Config from "../../config";
|
||||
import { Keybind } from "../../types";
|
||||
import KeybindDialogComponent from "./KeybindDialogComponent";
|
||||
import { keybindEquals, keybindToString, formatKey } from "../utils/configUtils";
|
||||
import { keybindEquals, keybindToString, formatKey } from "../../utils/configUtils";
|
||||
|
||||
export interface KeybindProps {
|
||||
option: string;
|
||||
@@ -1,8 +1,8 @@
|
||||
import * as React from "react";
|
||||
import { ChangeEvent } from "react";
|
||||
import Config from "../config";
|
||||
import { Keybind } from "../types";
|
||||
import { keybindEquals, formatKey } from "../utils/configUtils";
|
||||
import Config from "../../config";
|
||||
import { Keybind } from "../../types";
|
||||
import { keybindEquals, formatKey } from "../../utils/configUtils";
|
||||
|
||||
export interface KeybindDialogProps {
|
||||
option: string;
|
||||
57
src/components/options/ToggleOptionComponent.tsx
Normal file
@@ -0,0 +1,57 @@
|
||||
import * as React from "react";
|
||||
|
||||
import Config from "../../config";
|
||||
|
||||
export interface ToggleOptionProps {
|
||||
configKey: string;
|
||||
label: string;
|
||||
disabled?: boolean;
|
||||
style?: React.CSSProperties;
|
||||
}
|
||||
|
||||
export interface ToggleOptionState {
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
class ToggleOptionComponent extends React.Component<ToggleOptionProps, ToggleOptionState> {
|
||||
|
||||
constructor(props: ToggleOptionProps) {
|
||||
super(props);
|
||||
|
||||
// Setup state
|
||||
this.state = {
|
||||
enabled: Config.config[props.configKey]
|
||||
}
|
||||
}
|
||||
|
||||
render(): React.ReactElement {
|
||||
return (
|
||||
<div className={`sb-toggle-option ${this.props.disabled ? "disabled" : ""}`}>
|
||||
<div className="switch-container" style={this.props.style}>
|
||||
<label className="switch">
|
||||
<input id={this.props.configKey}
|
||||
type="checkbox"
|
||||
checked={this.state.enabled}
|
||||
disabled={this.props.disabled}
|
||||
onChange={(e) => this.clicked(e)}/>
|
||||
<span className="slider round"></span>
|
||||
</label>
|
||||
<label className="switch-label" htmlFor={this.props.configKey}>
|
||||
{this.props.label}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
clicked(event: React.ChangeEvent<HTMLInputElement>): void {
|
||||
Config.config[this.props.configKey] = event.target.checked;
|
||||
|
||||
this.setState({
|
||||
enabled: event.target.checked
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default ToggleOptionComponent;
|
||||
72
src/components/options/UnsubmittedVideoListComponent.tsx
Normal file
@@ -0,0 +1,72 @@
|
||||
import * as React from "react";
|
||||
|
||||
import Config from "../../config";
|
||||
import UnsubmittedVideoListItem from "./UnsubmittedVideoListItem";
|
||||
|
||||
export interface UnsubmittedVideoListProps {
|
||||
|
||||
}
|
||||
|
||||
export interface UnsubmittedVideoListState {
|
||||
|
||||
}
|
||||
|
||||
class UnsubmittedVideoListComponent extends React.Component<UnsubmittedVideoListProps, UnsubmittedVideoListState> {
|
||||
|
||||
constructor(props: UnsubmittedVideoListProps) {
|
||||
super(props);
|
||||
|
||||
// Setup state
|
||||
this.state = {
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
render(): React.ReactElement {
|
||||
// Render nothing if there are no unsubmitted segments
|
||||
if (Object.keys(Config.config.unsubmittedSegments).length == 0)
|
||||
return <></>;
|
||||
|
||||
return (
|
||||
<table id="unsubmittedVideosList"
|
||||
className="categoryChooserTable"
|
||||
style={{marginTop: "10px"}} >
|
||||
<tbody>
|
||||
{/* Headers */}
|
||||
<tr id="UnsubmittedVideosListHeader"
|
||||
className="categoryTableElement categoryTableHeader">
|
||||
<th id="UnsubmittedVideoID">
|
||||
{chrome.i18n.getMessage("videoID")}
|
||||
</th>
|
||||
|
||||
<th id="UnsubmittedSegmentCount">
|
||||
{chrome.i18n.getMessage("segmentCount")}
|
||||
</th>
|
||||
|
||||
<th id="UnsubmittedVideoActions">
|
||||
{chrome.i18n.getMessage("actions")}
|
||||
</th>
|
||||
|
||||
</tr>
|
||||
|
||||
{this.getUnsubmittedVideos()}
|
||||
</tbody>
|
||||
</table>
|
||||
);
|
||||
}
|
||||
|
||||
getUnsubmittedVideos(): JSX.Element[] {
|
||||
const elements: JSX.Element[] = [];
|
||||
|
||||
for (const videoID of Object.keys(Config.config.unsubmittedSegments)) {
|
||||
elements.push(
|
||||
<UnsubmittedVideoListItem videoID={videoID} key={videoID}>
|
||||
</UnsubmittedVideoListItem>
|
||||
);
|
||||
}
|
||||
|
||||
return elements;
|
||||
}
|
||||
}
|
||||
|
||||
export default UnsubmittedVideoListComponent;
|
||||