Compare commits

...

56 Commits

Author SHA1 Message Date
6286ca90b9 Merge branch 'main' of gitea.nicecrew.digital:matty/peertube-plugin-livechat 2024-12-03 17:04:03 -05:00
a4bf37d534 Merge branch 'main' of https://github.com/JohnXLivingston/peertube-plugin-livechat 2024-12-03 17:03:42 -05:00
John Livingston
a37438bdaf
Bump v12.0.0 + npm audit fix 2024-12-03 17:36:59 +01:00
John Livingston
9b01d8ed09
Update ConverseJS. 2024-12-03 17:29:14 +01:00
John Livingston
5d3a0288d4
Merge pull request #615 from JohnXLivingston/dependabot/npm_and_yarn/multi-a001adc68c
Bump cookie, express and socket.io
2024-12-03 17:13:49 +01:00
John Livingston
3a0138b70d
Merge pull request #593 from framabot/weblate-peertube-livechat-peertube-plugin-livechat
Translations update from Framasoft Weblate
2024-12-03 17:11:06 +01:00
dependabot[bot]
0d3cb9957e
Bump cookie, express and socket.io
Bumps [cookie](https://github.com/jshttp/cookie), [express](https://github.com/expressjs/express) and [socket.io](https://github.com/socketio/socket.io). These dependencies needed to be updated together.

Updates `cookie` from 0.4.2 to 0.7.1
- [Release notes](https://github.com/jshttp/cookie/releases)
- [Commits](https://github.com/jshttp/cookie/compare/v0.4.2...v0.7.1)

Updates `express` from 4.21.0 to 4.21.1
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.1/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.0...4.21.1)

Updates `socket.io` from 4.7.5 to 4.8.1
- [Release notes](https://github.com/socketio/socket.io/releases)
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io/compare/socket.io@4.7.5...socket.io@4.8.1)

---
updated-dependencies:
- dependency-name: cookie
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
- dependency-name: socket.io
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-03 16:10:38 +00:00
Eder Etxebarria
60531dc502
Translated using Weblate (Basque)
Currently translated at 9.1% (29 of 316 strings)

Translation: PeerTube LiveChat/Peertube Plugin LiveChat
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/eu/
2024-12-03 17:10:32 +01:00
Jiří Podhorecký
1f7028703f
Translated using Weblate (Czech)
Currently translated at 100.0% (316 of 316 strings)

Translation: PeerTube LiveChat/Peertube Plugin LiveChat
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/cs/
2024-12-03 17:10:32 +01:00
Jiří Podhorecký
35b802f580
Translated using Weblate (Czech)
Currently translated at 95.5% (302 of 316 strings)

Translation: PeerTube LiveChat/Peertube Plugin LiveChat
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/cs/
2024-12-03 17:10:32 +01:00
Jiří Podhorecký
d113b4cabe
Translated using Weblate (Czech)
Currently translated at 93.6% (296 of 316 strings)

Translation: PeerTube LiveChat/Peertube Plugin LiveChat
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/cs/
2024-12-03 17:10:32 +01:00
Jiří Podhorecký
d2027b7fe2
Translated using Weblate (Czech)
Currently translated at 77.8% (246 of 316 strings)

Translation: PeerTube LiveChat/Peertube Plugin LiveChat
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/cs/
2024-12-03 17:10:32 +01:00
Jiří Podhorecký
e0d356eb35
Translated using Weblate (Czech)
Currently translated at 56.9% (180 of 316 strings)

Translation: PeerTube LiveChat/Peertube Plugin LiveChat
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/cs/
2024-12-03 17:10:32 +01:00
Piotr Strębski
437dcdb09c
Translated using Weblate (Polish)
Currently translated at 31.9% (101 of 316 strings)

Translation: PeerTube LiveChat/Peertube Plugin LiveChat
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/pl/
2024-12-03 17:10:32 +01:00
Jiří Podhorecký
46acb4a186
Translated using Weblate (Czech)
Currently translated at 55.3% (175 of 316 strings)

Translation: PeerTube LiveChat/Peertube Plugin LiveChat
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/cs/
2024-12-03 17:10:32 +01:00
Jiří Podhorecký
d6b90b87c0
Translated using Weblate (Czech)
Currently translated at 47.4% (150 of 316 strings)

Translation: PeerTube LiveChat/Peertube Plugin LiveChat
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/cs/
2024-12-03 17:10:32 +01:00
Jiří Podhorecký
bf9c51d80e
Translated using Weblate (Czech)
Currently translated at 44.3% (140 of 316 strings)

Translation: PeerTube LiveChat/Peertube Plugin LiveChat
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/cs/
2024-12-03 17:10:32 +01:00
Jiří Podhorecký
7c90d40f42
Translated using Weblate (Czech)
Currently translated at 43.9% (139 of 316 strings)

Translation: PeerTube LiveChat/Peertube Plugin LiveChat
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/cs/
2024-12-03 17:10:32 +01:00
Jiří Podhorecký
1459a7c51b
Translated using Weblate (Czech)
Currently translated at 41.4% (131 of 316 strings)

Translation: PeerTube LiveChat/Peertube Plugin LiveChat
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/cs/
2024-12-03 17:10:32 +01:00
Jiří Podhorecký
ec8c66d490
Translated using Weblate (Czech)
Currently translated at 37.6% (119 of 316 strings)

Translation: PeerTube LiveChat/Peertube Plugin LiveChat
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/cs/
2024-12-03 17:10:32 +01:00
Jiří Podhorecký
6ebcacdd41
Translated using Weblate (Czech)
Currently translated at 37.0% (117 of 316 strings)

Translation: PeerTube LiveChat/Peertube Plugin LiveChat
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/cs/
2024-12-03 17:10:32 +01:00
Jiří Podhorecký
940d7b630d
Translated using Weblate (Czech)
Currently translated at 31.3% (99 of 316 strings)

Translation: PeerTube LiveChat/Peertube Plugin LiveChat
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/cs/
2024-12-03 17:10:32 +01:00
Jiří Podhorecký
575ea7cdd3
Translated using Weblate (Czech)
Currently translated at 10.7% (34 of 316 strings)

Translation: PeerTube LiveChat/Peertube Plugin LiveChat
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/cs/
2024-12-03 17:10:32 +01:00
John Livingston
629a01e55e
Merge pull request #600 from framabot/weblate-peertube-livechat-peertube-plugin-livechat-documentation
Translations update from Framasoft Weblate
2024-12-03 17:10:26 +01:00
Jiří Podhorecký
195c56b5ec
Translated using Weblate (Czech)
Currently translated at 9.1% (82 of 899 strings)

Translation: PeerTube LiveChat/Peertube Plugin Livechat Documentation
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat-documentation/cs/
2024-12-03 17:09:35 +01:00
Jiří Podhorecký
11ae5f8e5a
Translated using Weblate (Czech)
Currently translated at 7.5% (68 of 899 strings)

Translation: PeerTube LiveChat/Peertube Plugin Livechat Documentation
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat-documentation/cs/
2024-12-03 17:09:35 +01:00
Jiří Podhorecký
4c23e17dfe
Translated using Weblate (Czech)
Currently translated at 7.1% (64 of 899 strings)

Translation: PeerTube LiveChat/Peertube Plugin Livechat Documentation
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat-documentation/cs/
2024-12-03 17:09:35 +01:00
Jiří Podhorecký
c511484511
Translated using Weblate (Czech)
Currently translated at 6.6% (60 of 899 strings)

Translation: PeerTube LiveChat/Peertube Plugin Livechat Documentation
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat-documentation/cs/
2024-12-03 17:09:35 +01:00
Jiří Podhorecký
76a25326e8
Translated using Weblate (Czech)
Currently translated at 5.4% (49 of 899 strings)

Translation: PeerTube LiveChat/Peertube Plugin Livechat Documentation
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat-documentation/cs/
2024-12-03 17:09:35 +01:00
Jiří Podhorecký
c51245501c
Translated using Weblate (Czech)
Currently translated at 4.3% (39 of 899 strings)

Translation: PeerTube LiveChat/Peertube Plugin Livechat Documentation
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat-documentation/cs/
2024-12-03 17:09:35 +01:00
John Livingston
6156429e31
Merge pull request #613 from JohnXLivingston/dependabot/npm_and_yarn/minor-and-patch-acab3de618
Bump the minor-and-patch group across 1 directory with 8 updates
2024-12-03 17:09:30 +01:00
John Livingston
eb50ef5524
Merge pull request #610 from Chocobozzz/feature/peertube-v7
Add style compat with peertube v7
2024-12-03 17:06:52 +01:00
dependabot[bot]
950643ac1d
Bump the minor-and-patch group across 1 directory with 8 updates
Bumps the minor-and-patch group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.12.0` | `9.16.0` |
| [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin) | `2.9.0` | `2.11.0` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `16.18.113` | `16.18.121` |
| [globals](https://github.com/sindresorhus/globals) | `15.11.0` | `15.13.0` |
| [sass](https://github.com/sass/dart-sass) | `1.79.5` | `1.81.1` |
| [stylelint](https://github.com/stylelint/stylelint) | `16.10.0` | `16.11.0` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.8.1` | `8.17.0` |
| [yaml](https://github.com/eemeli/yaml) | `2.6.0` | `2.6.1` |



Updates `@eslint/js` from 9.12.0 to 9.16.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.16.0/packages/js)

Updates `@stylistic/eslint-plugin` from 2.9.0 to 2.11.0
- [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases)
- [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v2.11.0/packages/eslint-plugin)

Updates `@types/node` from 16.18.113 to 16.18.121
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `globals` from 15.11.0 to 15.13.0
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v15.11.0...v15.13.0)

Updates `sass` from 1.79.5 to 1.81.1
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.79.5...1.81.1)

Updates `stylelint` from 16.10.0 to 16.11.0
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.10.0...16.11.0)

Updates `typescript-eslint` from 8.8.1 to 8.17.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.17.0/packages/typescript-eslint)

Updates `yaml` from 2.6.0 to 2.6.1
- [Release notes](https://github.com/eemeli/yaml/releases)
- [Commits](https://github.com/eemeli/yaml/compare/v2.6.0...v2.6.1)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: "@stylistic/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: globals
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: yaml
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-03 03:59:42 +00:00
Chocobozzz
577eec6fa4
Add style compat with peertube v7 2024-11-28 10:47:29 +01:00
John Livingston
2e011a8022
Merge pull request #588 from JohnXLivingston/dependabot/npm_and_yarn/eslint-config-love-84.1.1
Bump eslint-config-love from 84.1.0 to 84.1.1
2024-10-14 10:28:23 +02:00
John Livingston
7b91684e47
Merge pull request #587 from JohnXLivingston/dependabot/npm_and_yarn/minor-and-patch-fc99efc694
Bump the minor-and-patch group with 2 updates
2024-10-14 10:27:55 +02:00
John Livingston
0477f7e656
Merge pull request #586 from framabot/weblate-peertube-livechat-peertube-plugin-livechat-documentation
Translations update from Framasoft Weblate
2024-10-14 10:26:05 +02:00
dependabot[bot]
b354ac2895
Bump eslint-config-love from 84.1.0 to 84.1.1
Bumps [eslint-config-love](https://github.com/mightyiam/eslint-config-love) from 84.1.0 to 84.1.1.
- [Release notes](https://github.com/mightyiam/eslint-config-love/releases)
- [Changelog](https://github.com/mightyiam/eslint-config-love/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mightyiam/eslint-config-love/compare/v84.1.0...v84.1.1)

---
updated-dependencies:
- dependency-name: eslint-config-love
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-14 03:40:29 +00:00
dependabot[bot]
c6340a289c
Bump the minor-and-patch group with 2 updates
Bumps the minor-and-patch group with 2 updates: [stylelint](https://github.com/stylelint/stylelint) and [yaml](https://github.com/eemeli/yaml).


Updates `stylelint` from 16.9.0 to 16.10.0
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.9.0...16.10.0)

Updates `yaml` from 2.5.1 to 2.6.0
- [Release notes](https://github.com/eemeli/yaml/releases)
- [Commits](https://github.com/eemeli/yaml/compare/v2.5.1...v2.6.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: yaml
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-14 03:40:11 +00:00
Ihor Hordiichuk
903c291e2c
Translated using Weblate (Ukrainian)
Currently translated at 3.1% (28 of 899 strings)

Translation: PeerTube LiveChat/Peertube Plugin Livechat Documentation
Translate-URL: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat-documentation/uk/
2024-10-13 11:25:45 +02:00
John Livingston
afbece60ab
Merge pull request #585 from JohnXLivingston/dependabot/npm_and_yarn/minor-and-patch-bfbdea340a
Bump sass from 1.79.4 to 1.79.5 in the minor-and-patch group
2024-10-11 10:24:52 +02:00
dependabot[bot]
79893c5cea
Bump sass from 1.79.4 to 1.79.5 in the minor-and-patch group
Bumps the minor-and-patch group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.79.4 to 1.79.5
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.79.4...1.79.5)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-11 03:31:07 +00:00
John Livingston
d217836bc8
Merge pull request #584 from JohnXLivingston/dependabot/npm_and_yarn/minor-and-patch-7898c72144
Bump globals from 15.10.0 to 15.11.0 in the minor-and-patch group
2024-10-10 10:07:33 +02:00
dependabot[bot]
fee56c383d
Bump globals from 15.10.0 to 15.11.0 in the minor-and-patch group
Bumps the minor-and-patch group with 1 update: [globals](https://github.com/sindresorhus/globals).


Updates `globals` from 15.10.0 to 15.11.0
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v15.10.0...v15.11.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-10 04:08:08 +00:00
John Livingston
b871d873c6
Better github CI configuration. 2024-10-08 17:28:30 +02:00
John Livingston
1e97193030
Merge pull request #578 from JohnXLivingston/dependabot/npm_and_yarn/eslint-config-love-84.1.0
Bump eslint-config-love from 66.0.0 to 84.1.0
2024-10-08 17:23:50 +02:00
John Livingston
bb992e29a6
Fix linting according to new rules, and disable buggy rules. 2024-10-08 17:23:18 +02:00
dependabot[bot]
6836138fc1
Bump eslint-config-love from 66.0.0 to 84.1.0
Bumps [eslint-config-love](https://github.com/mightyiam/eslint-config-love) from 66.0.0 to 84.1.0.
- [Release notes](https://github.com/mightyiam/eslint-config-love/releases)
- [Changelog](https://github.com/mightyiam/eslint-config-love/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mightyiam/eslint-config-love/compare/v66.0.0...v84.1.0)

---
updated-dependencies:
- dependency-name: eslint-config-love
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-08 15:03:01 +00:00
John Livingston
77ec284ade
Fix build & CI 2024-10-08 16:53:55 +02:00
John Livingston
3f0f6e4d3b
Github CI: new job to test build and lint. 2024-10-08 16:44:46 +02:00
John Livingston
8a481ecb0e
Merge pull request #570 from JohnXLivingston/dependabot/npm_and_yarn/types/express-5.0.0
Bump @types/express from 4.17.21 to 5.0.0
2024-10-08 16:40:18 +02:00
dependabot[bot]
e1195c18d8
Bump @types/express from 4.17.21 to 5.0.0
Bumps [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express) from 4.17.21 to 5.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/express)

---
updated-dependencies:
- dependency-name: "@types/express"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-08 14:28:46 +00:00
John Livingston
ce8ec5cee4
Merge pull request #583 from JohnXLivingston/dependabot/npm_and_yarn/minor-and-patch-406fc9582c
Bump the minor-and-patch group with 9 updates
2024-10-08 16:27:23 +02:00
dependabot[bot]
1aa406cae8
Bump the minor-and-patch group with 9 updates
Bumps the minor-and-patch group with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.10.0` | `9.12.0` |
| [@lit/context](https://github.com/lit/lit/tree/HEAD/packages/context) | `1.1.2` | `1.1.3` |
| [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin) | `2.8.0` | `2.9.0` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `16.18.108` | `16.18.113` |
| [esbuild](https://github.com/evanw/esbuild) | `0.23.1` | `0.24.0` |
| [globals](https://github.com/sindresorhus/globals) | `15.9.0` | `15.10.0` |
| [lit](https://github.com/lit/lit/tree/HEAD/packages/lit) | `3.2.0` | `3.2.1` |
| [sass](https://github.com/sass/dart-sass) | `1.78.0` | `1.79.4` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.6.0` | `8.8.1` |


Updates `@eslint/js` from 9.10.0 to 9.12.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.12.0/packages/js)

Updates `@lit/context` from 1.1.2 to 1.1.3
- [Release notes](https://github.com/lit/lit/releases)
- [Changelog](https://github.com/lit/lit/blob/main/packages/context/CHANGELOG.md)
- [Commits](https://github.com/lit/lit/commits/@lit/context@1.1.3/packages/context)

Updates `@stylistic/eslint-plugin` from 2.8.0 to 2.9.0
- [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases)
- [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v2.9.0/packages/eslint-plugin)

Updates `@types/node` from 16.18.108 to 16.18.113
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `esbuild` from 0.23.1 to 0.24.0
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.23.1...v0.24.0)

Updates `globals` from 15.9.0 to 15.10.0
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v15.9.0...v15.10.0)

Updates `lit` from 3.2.0 to 3.2.1
- [Release notes](https://github.com/lit/lit/releases)
- [Changelog](https://github.com/lit/lit/blob/main/packages/lit/CHANGELOG.md)
- [Commits](https://github.com/lit/lit/commits/lit@3.2.1/packages/lit)

Updates `sass` from 1.78.0 to 1.79.4
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.78.0...1.79.4)

Updates `typescript-eslint` from 8.6.0 to 8.8.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.8.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: "@lit/context"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: "@stylistic/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: esbuild
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: globals
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: lit
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-08 14:20:27 +00:00
John Livingston
1bb6f6fc41
update package.json 2024-10-08 16:17:01 +02:00
John Livingston
b2f8595198
Dependabot: trying grouping strategy. 2024-10-08 16:05:29 +02:00
32 changed files with 2116 additions and 802 deletions

View File

@ -9,7 +9,16 @@ updates:
schedule:
interval: daily
open-pull-requests-limit: 10
groups:
minor-and-patch:
applies-to: version-updates
update-types:
- "patch"
- "minor"
versioning-strategy: increase
ignore:
- dependency-name: typescript
versions:

34
.github/workflows/gh-build.yml vendored Normal file
View File

@ -0,0 +1,34 @@
# SPDX-FileCopyrightText: 2024 John Livingston <https://www.john-livingston.fr/>
#
# SPDX-License-Identifier: AGPL-3.0-only
name: github build and lint
on:
push:
branches:
- main
pull_request:
types: [assigned, opened, synchronize, reopened]
jobs:
build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
submodules: false # Fetch Hugo themes (true OR recursive)
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
- uses: actions/setup-node@v4
with:
node-version: '20.x'
- name: Install build dependencies
run: sudo apt update && sudo apt install wget reuse -y
- name: Build
run: npm install
- name: Lint
run: npm run lint

View File

@ -1,10 +1,6 @@
# Changelog
## 12.0.0 (Not Released Yet)
TODO Before releasing:
* update ConverseJS with latest merges (there are currently some known bugs).
* as the Prosody version changes, check these stress test https://github.com/JohnXLivingston/livechat-perf-test/tree/main/tests/33-prosody-gc and apply the correct gc parameter. Also see https://github.com/JohnXLivingston/peertube-plugin-livechat/issues/300
## 12.0.0
### Importante Notes
@ -19,6 +15,7 @@ If you use the "system Prosody", you should update to Prosody 0.12.4, and Lua 5.
* #516: new option for the moderation bot: forbid duplicate messages.
* #517: new option for the moderation bot: forbid messages with too many special characters.
* #518: moderators can send announcements and highlighted messages.
* #610: compatibility with PeerTube v7
### Minor changes and fixes

View File

@ -15,7 +15,7 @@
/* See Peertube sub-menu-h1 mixin */
font-size: 1.3rem;
border-bottom: 2px solid var(--greyBackgroundColor);
border-bottom: 2px solid var(--bg-secondary-400, var(--greyBackgroundColor));
padding-bottom: 15px;
}
@ -42,45 +42,49 @@
input[type="submit"],
button[type="submit"] {
// Peertube orange-button mixin
&,
&:active,
&.active,
&:focus {
color: #fff;
background-color: var(--mainColor);
color: var(--on-primary, #fff);
background-color: var(--primary, var(--mainColor));
border: 1px solid var(--primary, var(--mainColor));
}
&:hover {
color: #fff;
background-color: var(--mainHoverColor);
color: var(--on-primary, #fff);
background-color: var(--primary-400, var(--mainHoverColor));
}
&[disabled],
&.disabled {
cursor: default;
color: #fff;
background-color: var(--inputBorderColor);
&[disabled] {
pointer-events: none;
opacity: 0.6;
}
}
input[type="reset"],
button[type="reset"] {
// Peertube grey-button mixin
background-color: var(--greyBackgroundColor);
color: var(--greyForegroundColor);
color: var(--fg, var(--mainForegroundColor));
background-color: transparent;
border: 1px solid var(--bg-secondary-500, var(--inputBorderColor)) !important;
&:hover,
&:active,
&.active,
&:focus,
&[disabled],
&.disabled {
color: var(--greyForegroundColor);
background-color: var(--greySecondaryBackgroundColor);
&:focus-visible {
color: var(--fg, var(--mainForegroundColor));
background-color: var(--bg-secondary-500, var(--inputBorderColor));
border-color: var(--bg-secondary-500, var(--inputBorderColor));
}
&[disabled],
&.disabled {
cursor: default;
&:hover {
color: var(--fg, var(--mainForegroundColor));
background-color: var(--bg-secondary-450, var(--inputBorderColor));
}
&[disabled] {
pointer-events: none;
opacity: 0.8;
}
}

View File

@ -21,7 +21,7 @@ $small-view: 800px;
/* See Peertube sub-menu-h1 mixin */
font-size: 1.3rem;
border-bottom: 2px solid var(--greyBackgroundColor);
border-bottom: 2px solid var(--bg-secondary-400, var(--greyBackgroundColor));
padding-bottom: 15px;
}
@ -29,7 +29,7 @@ $small-view: 800px;
&.peertube-plugin-livechat-configuration-channel {
.peertube-plugin-livechat-configuration-channel-info {
/* stylelint-disable-next-line value-keyword-case */
color: var(--mainForegroundColor);
color: var(--fg, var(--mainForegroundColor));
span:first-child {
/* See Peertube .video-channel-display-name */
@ -48,7 +48,7 @@ $small-view: 800px;
h2 {
// See Peertube settings-big-title mixin
text-transform: uppercase;
color: var(--mainColor);
color: var(--primary, var(--mainColor));
font-weight: variables.$font-bold;
font-size: 1rem;
margin-bottom: 10px;
@ -82,35 +82,35 @@ $small-view: 800px;
&:active,
&:focus {
color: #fff;
background-color: var(--mainColor);
background-color: var(--primary, var(--mainColor));
}
&:hover {
color: #fff;
background-color: var(--mainHoverColor);
background-color: var(--fg-400, var(--mainHoverColor));
}
&[disabled],
&.disabled {
cursor: default;
color: #fff;
background-color: var(--inputBorderColor);
background-color: var(--input-border-color, var(--inputBorderColor));
}
}
input[type="reset"],
button[type="reset"] {
// Peertube grey-button mixin
background-color: var(--greyBackgroundColor);
color: var(--greyForegroundColor);
background-color: var(--bg-secondary-400, var(--greyBackgroundColor));
color: var(--fg-400, var(--greyForegroundColor));
&:hover,
&:active,
&:focus,
&[disabled],
&.disabled {
color: var(--greyForegroundColor);
background-color: var(--greySecondaryBackgroundColor);
color: var(--fg-400, var(--greyForegroundColor));
background-color: var(--bg-secondary-300, var(--greySecondaryBackgroundColor));
}
&[disabled],
@ -178,7 +178,7 @@ $small-view: 800px;
display: flex;
align-items: baseline;
/* stylelint-disable-next-line value-keyword-case */
color: var(--mainForegroundColor);
color: var(--fg, var(--mainForegroundColor));
&:hover,
&:focus,

View File

@ -56,7 +56,7 @@ livechat-share-chat {
&.livechat-shareurl-suboptions-disabled {
label {
/* stylelint-disable-next-line custom-property-pattern */
color: var(--greyForegroundColor);
color: var(--fg-400, var(--greyForegroundColor));
}
}
}

View File

@ -15,9 +15,9 @@ livechat-spinner,
height: 48px;
margin: 20px;
/* stylelint-disable-next-line custom-property-pattern */
border: 5px solid var(--greyBackgroundColor) !important; // !important is required for it to work in ConverseJS
border: 5px solid var(--bg-secondary-400, var(--greyBackgroundColor)) !important; // !important is required for it to work in ConverseJS
/* stylelint-disable-next-line custom-property-pattern */
border-bottom-color: var(--mainColor) !important; // !important is required for it to work in ConverseJS
border-bottom-color: var(--primary, var(--mainColor)) !important; // !important is required for it to work in ConverseJS
border-radius: 50%;
display: inline-block;
box-sizing: border-box;

View File

@ -51,14 +51,14 @@ livechat-tags-input {
transition-duration: 0.3s;
@supports (scrollbar-width: auto) {
scrollbar-color: var(--greyForegroundColor) transparent;
scrollbar-color: var(--fg-400, var(--greyForegroundColor)) transparent;
scrollbar-width: thin;
}
}
.livechat-tags-container,
.livechat-tags-searched {
border-bottom: 1px dashed var(--greyForegroundColor);
border-bottom: 1px dashed var(--fg-400, var(--greyForegroundColor));
&.livechat-empty {
height: 0;
@ -104,7 +104,7 @@ livechat-tags-input {
text-align: center;
font-size: 10px;
margin-left: var(--tag-padding-horizontal);
color: var(--mainColor);
color: var(--primary, var(--mainColor));
border-radius: 50%;
background: #fff;
cursor: pointer;
@ -118,19 +118,19 @@ livechat-tags-input {
&:active,
&:focus {
color: #fff;
background-color: var(--mainColor);
background-color: var(--primary, var(--mainColor));
.livechat-tag-close {
color: var(--mainColor);
color: var(--primary, var(--mainColor));
}
}
&:hover {
color: #fff;
background-color: var(--mainHoverColor);
background-color: var(--fg-400, var(--mainHoverColor));
.livechat-tag-close {
color: var(--mainHoverColor);
color: var(--fg-400, var(--mainHoverColor));
}
}
@ -138,10 +138,10 @@ livechat-tags-input {
&.disabled {
cursor: default;
color: #fff;
background-color: var(--inputBorderColor);
background-color: var(--input-border-color, var(--inputBorderColor));
.livechat-tag-close {
color: var(--inputBorderColor);
color: var(--input-border-color, var(--inputBorderColor));
}
}

View File

@ -19,7 +19,7 @@ table.peertube-plugin-livechat-prosody-list-rooms tr:nth-child(even) {
table.peertube-plugin-livechat-prosody-list-rooms th {
/* stylelint-disable-next-line custom-property-pattern */
background-color: var(--mainHoverColor);
background-color: var(--fg-400, var(--mainHoverColor));
border: 1px solid black;
/* stylelint-disable-next-line custom-property-pattern */
color: var(--mainBackgroundColor);

View File

@ -54,7 +54,7 @@ $bs-green: #39cc0b;
&.disabled {
cursor: default;
color: #fff;
background-color: var(--inputBorderColor);
background-color: var(--input-border-color, var(--inputBorderColor));
}
}
@ -67,7 +67,7 @@ $bs-green: #39cc0b;
&:active,
&:focus {
color: #fff;
background-color: var(--mainColor);
background-color: var(--primary, var(--mainColor));
}
&:focus,
@ -77,13 +77,13 @@ $bs-green: #39cc0b;
&:hover {
color: #fff;
background-color: var(--mainHoverColor);
background-color: var(--fg-400, var(--mainHoverColor));
}
&[disabled],
&.disabled {
cursor: default;
color: #fff;
background-color: var(--inputBorderColor);
background-color: var(--input-border-color, var(--inputBorderColor));
}
}

View File

@ -13,7 +13,7 @@
text-align: center;
tr {
border: 1px var(--greyBackgroundColor) solid;
border: 1px var(--bg-secondary-400, var(--greyBackgroundColor)) solid;
}
td,
@ -34,6 +34,6 @@
}
tbody tr:nth-child(odd) {
background-color: var(--greySecondaryBackgroundColor);
background-color: var(--bg-secondary-300, var(--greySecondaryBackgroundColor));
}
}

View File

@ -143,7 +143,7 @@ function register (clientOptions: RegisterClientOptions): void {
lastActivityEl.textContent = date.toLocaleDateString() + ' ' + date.toLocaleTimeString()
}
const promoteButton = document.createElement('a')
promoteButton.classList.add('orange-button', 'peertube-button-link')
promoteButton.classList.add('primary-button', 'orange-button', 'peertube-button-link')
promoteButton.style.margin = '5px'
promoteButton.onclick = async () => {
await fetch(

View File

@ -103,7 +103,7 @@ export class AdminFirewallElement extends LivechatElement {
public readonly getInputValidationClass = (propertyName: string): Record<string, boolean> => {
const validationErrorTypes: ValidationErrorType[] | undefined =
this.validationError?.properties[`${propertyName}`]
this.validationError?.properties[propertyName]
return validationErrorTypes ? (validationErrorTypes.length ? { 'is-invalid': true } : { 'is-valid': true }) : {}
}
@ -111,7 +111,7 @@ export class AdminFirewallElement extends LivechatElement {
propertyName: string): TemplateResult | typeof nothing => {
const errorMessages: TemplateResult[] = []
const validationErrorTypes: ValidationErrorType[] | undefined =
this.validationError?.properties[`${propertyName}`] ?? undefined
this.validationError?.properties[propertyName] ?? undefined
// FIXME: this code is duplicated in dymamic table form
if (validationErrorTypes && validationErrorTypes.length !== 0) {

View File

@ -115,7 +115,7 @@ export class ChannelConfigurationElement extends LivechatElement {
public readonly getInputValidationClass = (propertyName: string): Record<string, boolean> => {
const validationErrorTypes: ValidationErrorType[] | undefined =
this.validationError?.properties[`${propertyName}`]
this.validationError?.properties[propertyName]
return validationErrorTypes ? (validationErrorTypes.length ? { 'is-invalid': true } : { 'is-valid': true }) : {}
}
@ -123,7 +123,7 @@ export class ChannelConfigurationElement extends LivechatElement {
propertyName: string): TemplateResult | typeof nothing => {
const errorMessages: TemplateResult[] = []
const validationErrorTypes: ValidationErrorType[] | undefined =
this.validationError?.properties[`${propertyName}`] ?? undefined
this.validationError?.properties[propertyName] ?? undefined
// FIXME: this code is duplicated in dymamic table form
if (validationErrorTypes && validationErrorTypes.length !== 0) {

View File

@ -66,15 +66,16 @@ async function registerConfiguration (clientOptions: RegisterClientOptions): Pro
for (const link of links) {
if (typeof link !== 'object') { continue }
if (!('key' in link)) { continue }
if (link.key !== 'in-my-library') { continue }
if (link.key === 'in-my-library' || link.key === 'my-video-space') {
myLibraryLinks = link
break
}
}
if (!myLibraryLinks) { return links }
if (!Array.isArray(myLibraryLinks.links)) { return links }
const label = await peertubeHelpers.translate(LOC_MENU_CONFIGURATION_LABEL)
myLibraryLinks.links.push({
myLibraryLinks.links.unshift({
label,
shortLabel: label,
path: '/p/livechat/configuration',

View File

@ -38,7 +38,7 @@ export class HelpButtonElement extends LivechatElement {
href="${this.url.href}"
target=_blank
title="${this.buttonTitle}"
class="orange-button peertube-button-link"
class="primary-button orange-button peertube-button-link"
>${unsafeHTML(helpButtonSVG())}</a>`
})
}

View File

@ -27,7 +27,7 @@ type displayButtonOptions = displayButtonOptionsCallback | displayButtonOptionsH
function displayButton (dbo: displayButtonOptions): void {
const button = document.createElement('a')
button.classList.add(
'orange-button', 'peertube-button-link',
'primary-button', 'orange-button', 'peertube-button-link',
'peertube-plugin-livechat-button',
'peertube-plugin-livechat-button-' + dbo.name
)

View File

@ -24,18 +24,41 @@ function computeAutoColors (): AutoColors | null {
const buttonStyles = window.getComputedStyle(button)
const autocolors: AutoColors = {
mainForeground: styles.getPropertyValue('--mainForegroundColor').trim(),
mainBackground: styles.getPropertyValue('--mainBackgroundColor').trim(),
greyForeground: styles.getPropertyValue('--greyForegroundColor').trim(),
greyBackground: styles.getPropertyValue('--greyBackgroundColor').trim(),
menuForeground: styles.getPropertyValue('--menuForegroundColor').trim(),
menuBackground: styles.getPropertyValue('--menuBackgroundColor').trim(),
inputForeground: styles.getPropertyValue('--inputForegroundColor').trim(),
inputBackground: styles.getPropertyValue('--inputBackgroundColor').trim(),
buttonForeground: buttonStyles.color.trim(),
buttonBackground: styles.getPropertyValue('--mainColor').trim(),
link: styles.getPropertyValue('--mainForegroundColor').trim(),
linkHover: styles.getPropertyValue('--mainForegroundColor').trim()
mainForeground: styles.getPropertyValue('--fg').trim() ||
styles.getPropertyValue('--mainForegroundColor').trim(),
mainBackground: styles.getPropertyValue('--bg').trim() ||
styles.getPropertyValue('--mainBackgroundColor').trim(),
greyForeground: styles.getPropertyValue('--fg-300').trim() ||
styles.getPropertyValue('--greyForegroundColor').trim(),
greyBackground: styles.getPropertyValue('--bg-secondary-300').trim() ||
styles.getPropertyValue('--greyBackgroundColor').trim(),
menuForeground: styles.getPropertyValue('--fg').trim() ||
styles.getPropertyValue('--menuForegroundColor').trim(),
menuBackground: styles.getPropertyValue('--bg-secondary-400').trim() ||
styles.getPropertyValue('--menuBackgroundColor').trim(),
inputForeground: styles.getPropertyValue('--input-fg').trim() ||
styles.getPropertyValue('--inputForegroundColor').trim(),
inputBackground: styles.getPropertyValue('--input-bg').trim() ||
styles.getPropertyValue('--inputBackgroundColor').trim(),
buttonForeground: styles.getPropertyValue('--on-primary').trim() ||
buttonStyles.color.trim(),
buttonBackground: styles.getPropertyValue('--primary').trim() ||
styles.getPropertyValue('--mainColor').trim(),
link: styles.getPropertyValue('--fg').trim() ||
styles.getPropertyValue('--mainForegroundColor').trim(),
linkHover: styles.getPropertyValue('--fg-400').trim() ||
styles.getPropertyValue('--mainForegroundColor').trim()
}
const autoColorsTest = areAutoColorsValid(autocolors)
if (autoColorsTest !== true) {

View File

@ -20,6 +20,8 @@ CONVERSE_REPO="https://github.com/conversejs/converse.js.git"
# You can eventually set CONVERSE_COMMIT to a specific commit ID, if you want to apply some patches.
# 2024-09-17: using Converse upstream (v11 WIP).
CONVERSE_COMMIT="07dc6f4f5da5890b02a46a8a2f2d0498649786bc"
# 2024-12-03: using Converse upstream (v11 WIP).
CONVERSE_COMMIT="8f32df723e3aa392db02326dc6a3279c9497b6fb"
# It is possible to use another repository, if we want some customization that are not upstream (yet):
# CONVERSE_VERSION="livechat"

View File

@ -22,7 +22,7 @@ body.livechat-iframe {
}
#conversejs .livechat-mini-muc-bar-buttons {
a.orange-button {
a.primary-button {
// force these colors...
color: var(--peertube-button-foreground);
background-color: var(--peertube-button-background);

View File

@ -71,6 +71,14 @@ export default tseslint.config(
'@typescript-eslint/class-methods-use-this': 'off',
'@typescript-eslint/non-nullable-type-assertion-style': 'off',
'@typescript-eslint/no-magic-numbers': 'off',
'@typescript-eslint/no-unsafe-member-access': 'off', // FIXME: comes with eslint-config-love 84 update, and should be used.
'@typescript-eslint/no-unsafe-return': 'off', // FIXME: comes with eslint-config-love 84 update, and should be used.
'@typescript-eslint/no-unsafe-assignment': 'off', // FIXME: comes with eslint-config-love 84 update, and should be used.
'@typescript-eslint/no-unsafe-call': 'off', // FIXME: comes with eslint-config-love 84 update, and should be used.
'@typescript-eslint/no-unnecessary-condition': 'off', // FIXME: comes with eslint-config-love 84 update, but seems buggy (false positive).
'max-len': [
'error',
{

View File

@ -0,0 +1,548 @@
open_chat_new_window: Otevřít chat v novém okně
open_chat: Otevřít chat
close_chat: Zavřít chat
use_current_theme_color: Použít aktuální barvy motivu
not_found: Nenalezeno
video: Video
web: Web
important_note_title: <h3>Důležité poznámky</h3>
chat: Chat
last_activity: Poslední aktivita
use_chat: Použití chatu
use_chat_help: Pokud je to povoleno, vedle videa se zobrazí chat.
share_chat_link: Sdílet odkaz na chat
read_only: Pouze pro čtení
link_copied: Odkaz zkopírován
error: Chyba
chat_terms_label: Podmínky a pravidla
show_scrollbarr: Zobrazit posuvník
transparent_background: Průhledné pozadí (pro integraci streamu, například s OBS)
copy: Kopírovat
copied: Zkopírováno
open: Otevřít
generate_iframe: Vytvoření iframe pro vložení chatu do webové stránky
chat_for_live_stream: 'Chat pro živý stream:'
room_name: Název místnosti
room_description: Popis místnosti
connect_using_xmpp: Připojení pomocí XMPP
connect_using_xmpp_help: K místnosti se můžete připojit pomocí externího účtu XMPP
a svého oblíbeného klienta XMPP.
important_note_text: "Dokumentaci pluginu naleznete zde:\n<a href=\"https://livingston.frama.io/peertube-plugin-livechat/\"\
\ target=\"_blank\">\n Dokumentace k zásuvnému modulu Peertube Livechat\n</a>.\n"
diagnostic: "Než požádáte o pomoc, použijte prosím diagnostický nástroj:\n<a class=\"\
peertube-plugin-livechat-launch-diagnostic\">Spustit diagnostiku</a>\n(pokud toto
tlačítko neotevře nové okno, zkuste stránku obnovit).\n"
chat_title: <h3>Chat</h3>
online_help: Online nápověda
tips_for_streamers: "Tipy pro streamery: Chcete-li například vložit chat do svého
videostreamu pomocí OBS, \nvygenerujte odkaz pouze pro čtení a použijte jej jako
zdroj v prohlížeči.\n"
channel: Kanál
external_auth_custom_oidc_button_label_label: Popisek pro tlačítko připojení
external_auth_custom_oidc_label: Použití poskytovatele služby OpenID Connect
external_auth_custom_oidc_discovery_url_label: Discovery URL
auto_display_label: Automatické otevření chatu
converse_theme_option_peertube: Motiv Peertube
converse_theme_option_cyberpunk: Motiv ConverseJS Cyberpunk
external_auth_oidc_client_id_label: Client ID
external_auth_oidc_client_secret_label: Client secret
external_auth_google_oidc_label: Použít Google
external_auth_oidc_redirect_uris_info_description: "<strong>URI zpětného volání/přesměrování:</strong>\n
Pokud chcete nakonfigurovat URI autorizovaného přesměrování na externí aplikaci,
přidejte tuto adresu URL:\n"
all_lives_description: Pokud je zaškrtnuto, bude chat povolen pro všechny živé přenosy.
per_live_video_description: Pokud je zaškrtnuto, budou mít všechna živá videa ve svých
vlastnostech zaškrtávací políčko pro povolení webového chatu.
all_non_lives_description: Pokud je zaškrtnuto, bude chat povolen pro všechna videa,
která nejsou živá.
avatar_set_option_legacy: Starší avatary Sepia (ty, které byly součástí předchozích
verzí zásuvného modulu)
chat_behaviour_description: <h3>Chování na chatu</h3>
auto_display_description: Při sledování videa se automaticky otevře okno chatu.
share_url_option_owner: Zobrazit majiteli videa
share_url_option_everyone: Zobrazit pro každého
all_lives_label: Aktivace chatu pro všechny živé přenosy
no_anonymous_description: "Pokud je zaškrtnuto, anonymní uživatelé Peertube chat neuvidí.\n
Tato funkce je stále experimentální.\nPokud jste ji povolili, důrazně doporučujeme
zaškrtnout také možnost \"Nezveřejňovat informace o chatu\".\nV opačném případě
by se některé nástroje třetích stran mohly pokusit chat otevřít a chovat se nepředvídatelně.\n"
theming_advanced_description: <h3>Témata</h3>
converse_theme_option_default: Výchozí motiv ConverseJS
avatar_set_option_none: Žádné
converse_theme_label: Motiv ConverseJS
converse_theme_description: Vyberte si motiv converseJS, který chcete použít.
videos_list_label: Aktivovat chat pro tato videa
avatar_set_option_fenec: Fenek (maskot Mobilizon)
list_rooms_description: "<a class=\"peertube-plugin-livechat-prosody-list-rooms-btn\"\
>Seznam místností</a>\n"
room_type_label: Typ místnosti
list_rooms_label: Seznam stávajících místností
federation_dont_publish_remotely_description: "Zaškrtnutím tohoto nastavení vaše instance
nebude publikovat informace o chatu na fediverse.\nVzdálené instance Peertube nebudou
vědět, že se jedná o chatovací místnosti spojené s vašimi videi.<br>\n<b>Upozornění</b>:
pokud jste již chatovali, je možné, že informace již byly zveřejněny.\nNež bude
zveřejnění informací zrušeno, budete muset počkat na další aktualizaci videa.\n
Pokud toto nastavení zakážete, budete muset počkat, až budou videa aktualizována,
než budou informace\nznovu zveřejněno. K této aktualizaci dojde mimo jiné, když
se živý přenos obnoví nebo zastaví.<br>\n<b>Upozornění</b>: toto nastavení ovlivňuje
pouze zveřejňování informací prostřednictvím protokolu ActivityPub.\nNezabrání vzdálené
aplikaci, aby jinak zjistila přítomnost chatů a pokusila se k ní připojit.\n"
external_auth_custom_oidc_title: <h4>Připojení OpenID</h4>
avatar_set_option_sepia: Sépie (maskot Peertube)
avatar_set_option_abstract: Abstrakt
external_auth_description: "<h3>Externí ověřování</h3>\nPro uživatele, kteří nemají
účet na Peertube, můžete povolit různé režimy ověřování na základě poskytovatelů
vzdáleného ověřování.\n"
external_auth_custom_oidc_button_label_description: Tento popisek se zobrazí uživatelům
jako popisek tlačítka pro ověření u tohoto poskytovatele OIDC.
share_url_option_nobody: Zobrazit pro nikoho
share_url_option_owner_moderators: Zobrazit pro majitele videa a moderátory instance
per_live_video_label: Uživatelé si mohou aktivovat chat pro své živé přenosy
federation_no_remote_chat_label: Nezobrazovat vzdálené chaty
federation_no_remote_chat_description: "Pokud toto nastavení zaškrtnete, vaše instance
nebude nikdy zobrazovat chaty ze vzdálených videí.\n"
external_auth_facebook_oidc_label: Použít Facebook
open_blank_label: Zobrazit tlačítko "otevřít v novém okně"
open_blank_description: K dispozici bude tlačítko pro otevření webového chatu v novém
okně.
per_live_video_warning_description: "<span class=\"peertube-plugin-livechat-warning\"\
>\n Povolili jste nastavení «Uživatelé mohou aktivovat chat pro svůj živé přenosy».\n
S nastavením «Aktivovat chat pro všechny živé přenosy» je redundantní.\n</span>\n"
all_non_lives_label: Aktivace chatu pro všechny neživé přenosy
videos_list_description: "Videa UUID, pro která chceme webový chat.\nMohou to být
neživá videa. Jeden na řádek. <br />\nMůžete přidávat komentáře: vše za znakem #
bude odstraněno a prázdné řádky budou ignorovány.<br />\nNepřidávejte soukromá videa,
UUID budou odeslána do frontendu.\n"
avatar_set_label: Sada Avatarů
avatar_set_description: "Můžete si vybrat z několika různých sad výchozích avatarů,
které budou použity pro uživatele chatu.\nPodívejte se prosím na dokumentaci:\n
<a href=\"https://livingston.frama.io/peertube-plugin-livechat/documentation/admin/settings/\"\
\ target=\"_blank\">Nastavení</a>.\n"
external_auth_facebook_oidc_description: "Povolením této funkce se přidá tlačítko
\"přihlásit se pomocí Facebooku\".\nMusíte nakonfigurovat aplikaci Facebook OAuth.\n"
share_url_label: Zobrazení tlačítka "sdílet odkaz na chat"
share_url_description: K dispozici bude tlačítko pro sdílení url adresy chatu (lze
použít například pro integraci OBS).
no_anonymous_label: Skrytí chatu pro anonymní uživatele
auto_ban_anonymous_ip_label: Zakázat IP adresu anonymního uživatele, když je uživatel
vykázán z chatovací místnosti
auto_ban_anonymous_ip_description: "Povolením této možnosti bude při každém zákazu
anonymního uživatele v chatovací místnosti jeho IP adresa rovněž zakázána na chatovacím
serveru.\nUpozornění: Pokud je vaše instance otevřená pro registraci, může kterýkoli
uživatel vytvořit místnost v pasti, pozvat uživatele, aby se k ní připojili, a automaticky
zakázat všechny IP adresy anonymních uživatelů.\nSeznam zakázaných IP se neukládá,
vymaže se při restartu serveru nebo při změně nastavení některého zásuvného modulu.\n
Zakázané IP jsou zaznamenány v logovacích souborech serveru Prosody, takže správci
serveru mohou případně použít některé externí nástroje (jako fail2ban) pro širší
zakázání IP.\n"
avatar_set_option_cat: Kočky
avatar_set_option_bird: Ptáci
chat_terms_description: "Tyto podmínky se zobrazí všem uživatelům, když se připojí
k chatovacím místnostem.\nStreameři mohou také nastavit podmínky pro své kanály,
které se zobrazí hned po těchto globálních podmínkách.\n"
external_auth_custom_oidc_description: "Můžete nakonfigurovat externího poskytovatele
OpenID Connect, který by mohl být použit k přihlášení do chatu.\nPodívejte se prosím
na dokumentaci:\n<a href=\"https://livingston.frama.io/peertube-plugin-livechat/documentation/admin/settings/\"\
\ target=\"_blank\">Nastavení</a>.\n"
federation_dont_publish_remotely_label: Nezveřejňujte informace z chatu
room_type_description: Zde si můžete vybrat, zda chcete mít pro každé video samostatnou
místnost, nebo zda je chcete seskupit podle kanálů.
room_type_option_video: Každé video má vlastní webchatovou místnost
room_type_option_channel: Místnosti webového chatu jsou seskupeny podle kanálů
federation_description: "<h3>Federace</h3>\nNásledující nastavení se týkají federace
s jinými instancemi Peertube,\na dalšími fediverzními softwary.\n"
external_auth_google_oidc_description: "Povolením této funkce se přidá tlačítko \"\
Přihlásit se pomocí Google\".\nMusíte nakonfigurovat aplikaci Google OAuth.\n"
prosody_muc_log_by_default_description: "Pokud je zaškrtnuto, obsah místnosti se ve
výchozím nastavení uloží.\nKaždý uživatel, který se připojí k místnosti, uvidí,
co bylo napsáno před jeho připojením.<br>\nVezměte prosím na vědomí, že je vždy
možné obsah zapnout/vypnout.\narchivaci pro konkrétní místnost úpravou jejích vlastností.\n"
disable_websocket_label: Zakázat Websocket
prosody_port_label: Prosody port
autocolors_label: Automatická detekce barev
autocolors_description: "Pokus o automatickou detekci barev podle aktuálního motivu
uživatele.<br>\nPokud je toto nastavení povoleno, \nzásuvný modul se pokusí automaticky
detekovat barvy, které se použijí v tématu chatu.<br>\nPokud to pro některé téma
Peertube nefunguje správně, můžete tuto možnost zakázat.\nChybu můžete nahlásit
na oficiálním <a href=\"https://github.com/JohnXLivingston/peertube-plugin-livechat/issues\"\
\ target=\"_blank\">\nsledovači problémů\n</a>. Nezapomeňte uvést, který motiv nefunguje.\n"
disable_websocket_description: "S Peertube &gt;= 5.0.0, tento plugin se snaží používat
Websocket připojení pro chatování.\nPokud je prohlížeč nebo připojení uživatele
nekompatibilní, prohlížeč automaticky přejde zpět na protokol BOSH.\n<br>\nVe výjimečných
případech však může dojít k selhání. Například pokud máte před Peertube reverzní
proxy server, který nepovoluje \nWebsocket připojení pro zásuvné moduly.\nV takovém
případě můžete zaškrtnutím tohoto nastavení zakázat připojení Websocket.\n"
prosody_muc_log_by_default_label: Obsah přihlašovacích místností ve výchozím nastavení
prosody_muc_expiration_label: Vypršení platnosti protokolů místností
system_prosody_label: Použití systému Prosody
help_builtin_prosody_description: "Tento zásuvný modul používá k obsluze chatovacích
místností server XMPP Prosody.<br>\nTento zásuvný modul je dodáván s obrazem aplikace
Prosody, který se používá ke spuštění služby.\n"
prosody_peertube_uri_label: URL Peertube pro volání API
chat_style_description: "Další styly, které mají být přidány do atributu stylu iframe.
<br>\nPříklad: height:400px;\n"
system_prosody_description: "Upozornění: toto nastavení nezkoušejte, pokud si nejste
jisti, co děláte.<br>\nZaškrtnutím tohoto nastavení bude váš Peertube používat server
Prosody, který je dodáván s vaším systémem,\n a ne vestavěný AppImage.<br>\nToto
nastavení použijte pouze v případě, že se setkáte s problémy s vestavěným serverem
Prosody.\n"
prosody_port_description: "Port, který bude používat server Prosody.<br>\nZměňte jej,
pokud je tento port na vašem serveru již používán.<br>\nTento port můžete na svém
firewallu zavřít, nebude k němu přístup z vnějšího světa.<br>\nPoznámka: toto se
může v blízké budoucnosti změnit, protože se plánuje přidání funkce pro aktivaci
připojení zvenčí.\n"
prosody_advanced_description: <h3>Pokročilé nastavení serveru chatu</h3>
help_builtin_prosody_label: Prosody server
prosody_peertube_uri_description: "Pokud nevíte, co děláte, nechte prosím toto nastavení
prázdné.<br>\nV některých vzácných případech nemůže Prosody volat rozhraní API Peertube
z jeho veřejného URI.\nToto pole můžete použít k přizpůsobení URI Peertube pro moduly
Prosody\n(například pomocí „http://localhost:9000“ nebo „http://127.0.0.1:9000“).\n"
chat_style_label: Atribut stylu iframe webového chatu
prosody_room_allow_s2s_label: Povolení připojení k místnosti pomocí externích účtů
XMPP
prosody_muc_expiration_description: "Zde můžete zvolit, jak dlouho bude obsah chatovací
místnosti na serveru uchováván. Hodnota může být:\n<ul>\n<li><b>60</b>: obsah bude
uložen po dobu 60 <b>sekund</b>. Hodnotu 60 můžete nahradit libovolnou celočíselnou
hodnotou.</li>\n<li><b>1d</b>: obsah bude uložen po dobu 1 <b>dne</b>. Hodnotu 1
můžete nahradit libovolnou celočíselnou hodnotou.</li>\n<li><b>1w</b>: obsah bude
uložen na 1 <b>týden</b>. Hodnotu 1 můžete nahradit libovolnou celočíselnou hodnotou.</li>\n
<li><b>1m</b>: obsah bude uložen na 1 <b>měsíc</b>. 1 můžete nahradit libovolnou
celočíselnou hodnotou.</li>\n<li><b>1y</b>: obsah bude uložen po dobu 1 <b>roku</b>.
1 můžete nahradit libovolnou celočíselnou hodnotou.</li>\n<li><b>nikdy</b>: obsah
nikdy nevyprší a bude uchováván navždy.</li>\n</ul>\n"
prosody_c2s_label: Povolení připojení klienta k serveru
prosody_c2s_port_label: Port klienta Prosody na server
prosody_c2s_interfaces_label: Síťová rozhraní mezi klientem a serverem
prosody_s2s_port_label: Server Prosody na port serveru
prosody_s2s_interfaces_label: Síťová rozhraní mezi servery
prosody_c2s_description: "Povolení připojení klientů XMPP k vestavěnému serveru Prosody.<br>\n
Pouze tato volba umožňuje připojení pouze klientům localhost.\n"
prosody_s2s_interfaces_description: "Síťová rozhraní, na kterých se má naslouchat
pro připojení serveru k serveru.<br>\nSeznam IP adres pro naslouchání, oddělených
čárkami (mezery budou odstraněny).<br>\nMůžete použít „*“ pro naslouchání na všech
rozhraních IPv4 a „::“ pro všechna rozhraní IPv6.<br>\nPříklady:\n<ul>\nPříklady:
<li>*, ::</li>\n<li>*</li>\n<li>127.0.0.1, ::1</li>\n<li>172.18.0.42</li>\n</ul>\n"
prosody_certificates_dir_description: "Pokud je toto pole prázdné, zásuvný modul bude
generovat a používat certifikáty podepsané vlastním podpisem.<br>\nPokud chcete
použít jiné certifikáty, stačí zde zadat složku, kde je \nProsody najde. Poznámka:
uživatel „peertube“ musí mít k této složce přístup pro čtení.\n"
prosody_c2s_port_description: "Port, který bude používat modul c2s integrovaného serveru
Prosody.<br>\nKlienti XMPP budou pro připojení používat tento port.<br>\nZměňte
jej, pokud je tento port na vašem serveru již používán.<br>\nTento port můžete prozatím
nechat na svém firewallu zavřený, nebude k němu přístup z vnějšího světa.<br>\n
Poznámka: to se může v blízké budoucnosti změnit, protože se plánuje přidání funkce
pro aktivaci připojení zvenčí.\n"
prosody_certificates_dir_label: Složka certifikátů
prosody_room_allow_s2s_description: "Povolením této možnosti se bude možné připojit
k místnostem pomocí externích účtů XMPP a klientů XMPP.<br>\n<span class=„peertube-plugin-livechat-warning“>\n
<b>Upozornění</b>, povolení této možnosti může vyžadovat další konfiguraci serveru
a DNS.\n</span>\nPodívejte se prosím do dokumentace:\n<a href=„https://livingston.frama.io/peertube-plugin-livechat/documentation/admin/advanced/xmpp_clients/“
target=„_blank“>.\nPovolení externího připojení k účtu XMPP.\n</a>\n"
prosody_s2s_port_description: "Port, který bude použit pro připojení XMPP s2s (server
to server).<br>\nMěli byste použít standardní port 5269.\nV opačném případě byste
měli <a href=„https://prosody.im/doc/s2s“>\nnastavit konkrétní záznam DNS\n</a>.\n"
prosody_components_list_label: Externí komponenty
prosody_c2s_interfaces_description: "Síťová rozhraní, na kterých bude naslouchat připojení
klienta k serveru.<br>\nToto nastavení je určeno pro pokročilé uživatele. Toto nastavení
neměňte, pokud plně nerozumíte tomu, co znamená.<br>\nSeznam IP adres k poslechu,
oddělené čárkou (mezery budou odstraněny).<br>\nMůžete použít «*» pro poslech na
všech rozhraních IPv4 a «::» pro všechna IPv6.<br>\nPříklady:\n<ul>\n <li>*, ::</li>\n
<li>*</li>\n <li>127.0.0.1, ::1</li>\n <li>127.0.0.1, ::1, 172.18.0.42</li>\n</ul>\n"
prosody_components_label: Povolit vlastní externí součásti Prosody
prosody_components_interfaces_description: "Síťová rozhraní pro naslouchání připojení
externích komponent.<br>\nSeznam IP adres k poslechu, oddělené čárkou (mezery budou
odstraněny).<br>\nMůžete použít «*» pro poslech na všech rozhraních IPv4 a «::»
pro všechna IPv6.<br>\nPříklady:\n<ul>\n <li>*, ::</li>\n <li>*</li>\n <li>127.0.0.1,
::1</li>\n <li>172.18.0.42</li>\n</ul>\n"
prosody_components_interfaces_label: Síťová rozhraní externích komponent Prosody
prosody_components_port_description: "Port, který budou komponenty XMPP používat pro
připojení k serveru Prosody.<br>\nZměňte jej, pokud se tento port již na vašem serveru
používá.<br>\nPokud nepovolíte přístup jiným rozhraním než localhost, můžete tento
port ponechat na vašem firewallu uzavřený.\n"
prosody_components_description: "Povolte použití externích komponent XMPP.<br>\nTato
možnost sama o sobě umožňuje připojení pouze z localhost.\nMusíte nastavit naslouchací
rozhraní a otevřít port na vašem firewallu, abyste jej zpřístupnili ze vzdálených
serverů.<br>\nTuto funkci lze například použít k připojení některých robotů k chatovacím
místnostem.\n"
prosody_components_port_label: Port pro externí komponenty Prosody
prosody_components_list_description: "Externí komponenty, které je třeba deklarovat:\n
<ul>\n <li>Jedna na řádek.</li>\n <li>Použijte formát «název_komponenty:tajné_komponenty»
(mezery budou oříznuty).</li>\n <li>Můžete přidávat komentáře: vše za znakem # bude
odstraněno a prázdné řádky budou ignorovány.</li>\n <li>Název může obsahovat pouze
latinské alfanumerické znaky a tečky.</li>\n <li>\n Pokud název obsahuje pouze alfanumerické
znaky, bude doplněn o doménu XMPP.\n Například „most“ se změní na „most.vaše_doména.tld“.\n
Můžete také zadat úplný název domény, ale musíte se ujistit, že jste správně nakonfigurovali
DNS.\n </li>\n <li>V tajné přístupové frázi používejte pouze alfanumerické znaky
(použijte alespoň 15 znaků).</li>\n</ul>\n"
livechat_configuration_desc: Zde můžete nakonfigurovat některé pokročilé možnosti
pro chatovací místnosti přidružené k živým přenosům.
save: Uložit
cancel: Zrušit
disable_channel_configuration_label: Zakázat pokročilou konfiguraci kanálu a chatbota
successfully_saved: Úspěšně uloženo
menu_configuration_label: Chatovací místnosti
configuration_description: "<h3>Pokročilá konfigurace kanálu</h3>\nNásledující nastavení
se týkají pokročilých možností kanálu:\nuživatelé budou moci přidat některá přizpůsobení
na svých kanálech,\naktivovat moderačního bota, ...\n"
livechat_configuration_title: Konfigurace vašich chatovacích místností
experimental_warning: "<b class=\"peertube-plugin-livechat-experimental\">Experimentální
funkce:</b> tato funkce je stále experimentální.\n"
livechat_configuration_please_select: Vyberte prosím níže jeden z vašich kanálů a
nastavte jeho možnosti chatování.
livechat_configuration_channel_retractation_reason_label: Důvod
livechat_configuration_channel_retractation_reason_desc: Důvod zobrazení kromě smazaných
zpráv
livechat_configuration_applytomoderators_label: Také moderovat zprávy od moderátorů
livechat_configuration_applytomoderators_desc: "Ve výchozím nastavení se tato funkce
na zprávy moderátora nevztahuje.\nZaškrtnutím této možnosti budou zprávy od moderátorů
rovněž odstraněny.\n"
livechat_configuration_channel_forbidden_words_label_label: Štítek
livechat_configuration_channel_forbidden_words_desc: "Můžete nastavit některá slova,
která bude bot automaticky moderovat (zprávy obsahující tato slova budou okamžitě
odstraněny).\nMůžete také přidat volitelný důvod, který se zobrazí na místě smazaných
zpráv.\nNa stránce s dokumentací je uvedeno několik příkladů.\n"
livechat_configuration_channel_forbidden_words_label_desc: Označení tohoto pravidla
pro zakázaná slova
livechat_configuration_channel_quote_label: Časovač
livechat_configuration_channel_quote_desc2: "Jedna zpráva na řádek.\nPokud je zpráv
více, vybere se jedna náhodně každých X minut.\n"
livechat_configuration_channel_quote_delay_label: Odeslat každých X minut
livechat_configuration_channel_quote_delay_desc: "Bot bude zprávu odesílat každých
X minut.\n"
livechat_configuration_channel_desc: Zde můžete nastavit některé možnosti pro tento
kanál (zásady moderování, ...).
livechat_configuration_channel_title: Možnosti kanálů
livechat_configuration_channel_enable_bot_label: Povolení moderačního bota
livechat_configuration_channel_bot_options_title: Možnosti moderačního bota
livechat_configuration_channel_forbidden_words_label: Zakázaná slova nebo výrazy
livechat_configuration_channel_forbidden_words_desc2: "Jedno slovo nebo výraz na řádek.
Pokud na jeden řádek vložíte více slov, budou se porovnávat pouze zprávy obsahující
celou sekvenci.\n"
livechat_configuration_channel_forbidden_words_regexp_desc: Zaškrtnutím této možnosti
můžete použít regulární výrazy.
livechat_configuration_channel_forbidden_words_regexp_label: Považujte za regulární
výrazy
livechat_configuration_channel_quote_desc: "Můžete nakonfigurovat několik časovačů,
které budou odesílat zprávy v pravidelných intervalech.\nTyto zprávy bude bot odesílat
každých X minut.\nMůžete například nastavit, aby bot odesílal každých 5 minut nějaké
informace o sponzorování.\n"
livechat_configuration_channel_quote_label2: Zprávy
livechat_configuration_channel_slow_mode_desc: "Výchozí hodnota pomalého režimu:\n
<ul>\n<li>0: pomalý režim vypnut</li>\n<li>Jakékoli kladné celé číslo: uživatelé
mohou odeslat zprávu každých X sekund (moderátoři nejsou omezeni)</li>\n</ul>\n"
livechat_configuration_channel_forbidden_words_comments_desc: "Můžete sem přidat komentář
k tomuto pravidlu, abyste si pamatovali, jak a proč jste ho vytvořili.\nTyto komentáře
jsou čistě orientační a nemají žádný vliv na chování bota.\n"
livechat_configuration_channel_slow_mode_label: Pomalý režim
livechat_configuration_channel_forbidden_words_comments_label: Komentáře
livechat_configuration_channel_command_message_desc: Zpráva k odeslání.
livechat_configuration_channel_command_message_label: Zpráva
livechat_configuration_channel_command_cmd_desc: "Příkaz bez počátečního \"!\". Například
\"help\", \"sponzor\", ...\n"
livechat_configuration_channel_for_more_info: "Další informace o konfiguraci této
funkce naleznete v dokumentaci kliknutím na tlačítko nápovědy.\n"
livechat_configuration_channel_command_cmd_label: Příkaz
share_chat_dock_tips: "Můžete si vygenerovat odkaz, který otevře chat na celé stránce,
přihlášený pomocí účtu Peertube.\nToho lze využít například k tomu, abyste měli
v OBS webový dok, takže můžete chat číst a komunikovat s ním přímo z OBS.\nTento
odkaz nikomu nesdělujte, protože by mu umožnil připojit se jako vy.\nNíže naleznete
seznam již vygenerovaných autentizačních tokenů.\nMůžete si vytvořit nový nebo zrušit
jakýkoli předchozí token.\nUpozorňujeme, že tyto tokeny nemají žádné datum platnosti.\n"
tasks: Úkoly
task_list_create: 'Vytvořit nový seznam úkolů:'
task_create: Vytvořit nový úkol
task_name: Název úkolu
task_description: Popis
slow_mode_info: Je povolen pomalý režim, uživatelé mohou odeslat zprávu každých %1$s
sekund.
task_delete_confirm: Opravdu chcete tento úkol odstranit?
invalid_value_wrong_type: Hodnota je nesprávného typu.
livechat_configuration_channel_banned_jids_label: Zakázaní uživatelé a vzory
livechat_configuration_channel_bot_nickname: Přezdívka Bota
invalid_value_missing: Tato hodnota je vyžadována.
validation_error: Při ověřování došlo k chybě.
too_many_entries: Příliš mnoho položek
login_using_external_account: Přihlášení pomocí externího účtu
login_remote_peertube_url: URL adresa vaší instance Peertube
login_remote_peertube: 'Přihlaste se pomocí účtu na jiné instanci Peertube:'
login_remote_peertube_video_not_found: Toto video není na této instanci Peertube k
dispozici.
login_remote_peertube_searching: Hledání videa na Peertube instanci...
login_remote_peertube_url_invalid: Neplatná URL adresa Peertube.
login_remote_peertube_no_livechat: Zásuvný modul livechat není v této instanci Peertube
nainstalován.
login_remote_peertube_video_not_found_try_anyway: V některých případech lze video
načíst i po připojení ke vzdálené instanci.
login_remote_peertube_video_not_found_try_anyway_button: Přesto zkuste otevřít video
na instanci Peertube
login_external_auth_alert_message: Ověření se nezdařilo
task_list_create_error: Chyba při ukládání seznamu úkolů
task_list_name: Název seznamu úkolů
task_delete: Smazat úkol
task_list_pick_title: Vyberte seznam úkolů
token_label: Štítek
token_password: Token s heslem
token_date: Datum
token_action_create: Vytvořit nový token
token_action_revoke: Odvolání tokenu
invalid_value_file_too_big: 'Velikost souboru je příliš velká (maximální velikost:
%s).'
task_list_pick_message: "Po výběru seznamu úkolů se vytvoří nový úkol.\nChcete-li
úkol zobrazit, otevřete aplikaci úkolů pomocí horního menu.\nVíce informací naleznete
v dokumentaci k zásuvnému modulu livechat.\n"
invalid_value_wrong_format: Hodnota je v nesprávném formátu.
livechat_emojis_file: Soubor
action_import_emojis_info: Pokud jsou importovaná data v pořádku, nezapomeňte formulář
uložit.
token_action_revoke_confirm: Opravdu chcete tento token odvolat?
auth_description: "<h3>Autentifikace</h3>\n"
livechat_token_disabled_label: Zakázat tokeny livechatu
invalid_value_not_in_range: Hodnota není v povoleném rozsahu.
invalid_value_duplicate: Duplicitní hodnota
task_list_delete: Smazat seznam úkolů
task_list_delete_confirm: Opravdu chcete tento seznam úkolů smazat?
task_list_pick_empty: Zatím neexistuje žádný seznam úkolů, nejprve si ho vytvořte
promote: Staňte se moderátorem
livechat_configuration_channel_emojis_title: Emotikony kanálu
livechat_configuration_channel_emojis_desc: "Pro svůj kanál můžete nakonfigurovat
vlastní emotikony.\nTyto emotikony budou k dispozici ve výběru emotikonů.\nUživatelé
je mohou používat také pomocí jejich krátkého názvu (například napsáním \":shortname:\"\
).\n"
livechat_emojis_shortname: Zkrácený název
livechat_emojis_shortname_desc: "V chatu můžete používat emotikony pomocí \":shortname:\"\
.\nKrátký název může začínat a/nebo končit dvojtečkou (:) a může obsahovat pouze
alfanumerické znaky, podtržítka a pomlčky.\nDůrazně doporučujeme začínat je dvojtečkou,
aby uživatelé mohli používat automatické doplňování (zadáním \":\" a následným stisknutím
klávesy TAB).\n"
livechat_emojis_file_desc: "Soubor emotikonů.\n"
action_import: Import
action_add_entry: Přidat položku
action_remove_entry: Odebrat tuto položku
action_remove_entry_confirm: Opravdu chcete tuto položku odstranit?
loading_error: Při načítání dat došlo k chybě.
share_chat_embed: Vložit
share_chat_peertube_tips: Tento odkaz otevře chat v rozhraní Peertube.
share_chat_dock: Dock
token_default_label: Token generovaný z webového rozhraní
login_remote_peertube_video_open_failed: 'Váš prohlížeč zablokoval otevření ve vzdálené
instanci, zkuste prosím otevřít tento odkaz ručně:'
invalid_value_too_long: Hodnota je příliš dlouhá
action_export: Export
invalid_value: Neplatná hodnota.
chatroom_not_accessible: Tato chatovací místnost neexistuje nebo k ní nemáte přístup.
prosody_firewall_configuration_help: "Zde můžete konfigurovat modul Prosody <a href=\"\
https://modules.prosody.im/mod_firewall\" target=\"_blank\">mod_firewall</a>.\n
Níže můžete vytvořit více konfiguračních souborů a měnit jejich pořadí.\nNeváhejte
se o své konfigurace podělit s komunitou (například přidáním příkladů do dokumentace
zásuvného modulu).\n"
livechat_configuration_channel_anonymize_moderation_desc: "Anonymizovat výchozí hodnotu
moderačních akcí pro nové místnosti.\nPokud je tato možnost povolena, budou moderátorské
akce anonymizovány, aby se zabránilo prozrazení toho, kdo banuje/vyhazuje/... obyvatele.\n"
prosody_firewall_description: "Na serveru Prosody můžete povolit <a href=\"https://modules.prosody.im/mod_firewall\"\
\ target=\"_blank\">mod_firewall</a>.\nDalší informace naleznete <a href=\"https://livingston.frama.io/peertube-plugin-livechat/documentation/admin/mod_firewall/\"\
\ target=\"_blank\">v dokumentaci</a>.\n"
muted_anonymous_message: Zprávy mohou posílat pouze registrovaní uživatelé.
livechat_configuration_channel_mute_anonymous_label: Ztlumit anonymní uživatele
moderation_delay: Zpoždění moderování
livechat_configuration_channel_moderation_delay_desc: "Výchozí hodnota zpoždění moderování:\n
<ul>\n<li>0: zpoždění moderace vypnuto</li>\n<li>Ljakékoli kladné celé číslo: zprávy
budou pro účastníky, kteří nejsou moderátory, zpožděny o X sekund, což moderátorům
umožní smazat zprávu dříve, než si ji přečte kterýkoli uživatel.</li>\n</ul>\n"
emoji_only_info: Pokud je povolen režim pouze emoji, můžete ve zprávách používat pouze
emoji.
emoji_only_mode_title: Režim pouze pro emoji
emoji_only_mode_desc_1: "V chatovacích místnostech můžete povolit režim \"Pouze emoji\"\
.\nKdyž je tento režim povolen, mohou účastníci posílat pouze emoji (standardní
nebo vlastní emoji kanálu).\nModerátorů se toto omezení netýká.\n"
livechat_configuration_channel_anonymize_moderation_label: Anonymizovat moderátorské
akce
moderator_notes: Moderátorské poznámky
moderator_notes_create_error: Chyba při ukládání poznámky
moderator_note_create: Vytvoření nové poznámky
moderator_note_description: Popis
moderator_note_delete: Smazat poznámku
moderator_note_filters: Vyhledávací filtry
moderator_note_original_nick: Přezdívka účastníka v době vytvoření poznámky
livechat_configuration_channel_command_desc: "Bota můžete nakonfigurovat tak, aby
reagoval na příkazy.\nPříkaz je zpráva začínající znakem \"!\", například \"!help\"\
, která vyvolá příkaz \"help\".\n"
new_poll: Vytvoření nové ankety
poll: Anketa
poll_title: Nová anketa
poll_vote_instructions: 'Chcete-li hlasovat, klikněte na svou volbu nebo pošlete zprávu
s vykřičníkem a číslem volby (příklad: !1).'
poll_vote_instructions_xmpp: 'Pro hlasování pošlete zprávu s vykřičníkem, za kterou
následuje číslo vaší volby. Příklad: !1'
poll_choice_invalid: Tato volba není platná.
poll_is_over: Tato anketa je nyní u konce.
poll_anonymous_vote_ok: Váš hlas je zohledněn. Hlasy jsou anonymní, nebudou zobrazeny
ostatním účastníkům.
poll_vote_ok: Váš hlas byl vzat v úvahu, počítadla budou za chvíli aktualizována.
livechat_configuration_channel_terms_desc: "Můžete nakonfigurovat zprávu \"podmínky\"\
, která se zobrazí uživatelům, kteří se připojí k vašim chatovacím místnostem.\n"
search_occupant_message: Vyhledat všechny zprávy
message_search: Hledání zpráv
message_search_original_nick: Přezdívka účastníka v době odeslání zprávy
prosody_firewall_label: Povolit mod_firewall Prosody
prosody_firewall_configure_button: "<a class=\"peertube-button-link orange-button\"\
\ href=\"/p/livechat/admin/firewall\" target=\"_blank\">Konfigurace mod_firewall</a>\n"
prosody_firewall_configuration: Konfigurace mod_firewall Prosody
prosody_firewall_disabled_warning: "Varování: mod_firewall je zakázán v nastavení
<a href=\"/admin/plugins/show/peertube-plugin-livechat\" target=\"_blank\">pluginu</a>,
pokud chcete, aby byla tato konfigurace zohledněna, musíte ji povolit.\n"
prosody_firewall_file_enabled: Povoleno
prosody_firewall_name: Název
prosody_firewall_name_desc: "Může obsahovat pouze: alfanumerické znaky, podtržítka
a pomlčky.\nSkripty se načítají v abecedním pořadí.\n"
prosody_firewall_content: Obsah souboru
livechat_configuration_channel_command_label: Příkaz Bota
livechat_token_disabled_description: "Uživatelé mohou generovat dlouhodobé tokeny
pro připojení k chatu.\nTyto tokeny lze například použít k zahrnutí chatu do webových
doků OBS.\nDalší informace najdete v <a href=\"https://livingston.frama.io/peertube-plugin-livechat/documentation/user/obs\"\
\ target=\"_blank\">dokumentaci</a>.\nTuto funkci můžete zakázat zaškrtnutím tohoto
nastavení.\n"
livechat_configuration_channel_mute_anonymous_desc: "Výchozí hodnota pro nové chatovací
místnosti.\nU stávajících chatovacích místností můžete tuto funkci změnit ve formuláři
pro konfiguraci místnosti.\nKdyž je tato funkce povolena, anonymní uživatelé mohou
chat pouze číst, nikoli však odesílat zprávy.\n"
livechat_configuration_channel_terms_label: Podmínky chatu kanálu
poll_instructions: Vyplněním a odesláním tohoto formuláře vytvoříte novou anketu.
Tím se ukončí a nahradí všechny stávající ankety.
poll_question: Otázka
poll_duration: Doba trvání ankety (v minutách)
moderator_note_delete_confirm: Opravdu chcete tuto poznámku smazat?
moderator_note_create_for_participant: Vytvořit novou poznámku
moderator_note_search_for_participant: Hledání poznámek
emoji_only_mode_desc_2: "Tento režim může být užitečný například:\n<ul>\n<li> Abyste
zabránili spamu nebo urážlivým zprávám, když zde nejste, abyste je moderovali.</li>\n
<li>Když je příliš mnoho hovořících účastníků a vy už nemůžete správně moderovat.</li>\n\
</ul>\n"
emoji_only_mode_desc_3: "Chcete-li tento režim povolit nebo zakázat, můžete použít
konfigurační formulář místnosti.\nPokud jej chcete povolit pro všechny své chatovací
místnosti najednou, můžete použít tlačítko níže.\n"
emoji_only_enable_all_rooms: Povolení režimu pouze emoji ve všech chatovacích místnostech
kanálu
livechat_configuration_channel_special_chars_label: Zákaz speciálních znaků
livechat_configuration_channel_special_chars_desc: "Pokud tuto možnost povolíte, moderátor
bude automaticky mazat zprávy obsahující více než X speciálních znaků.\nSpeciální
znaky jsou ty, které nepatří do jedné z těchto kategorií: písmena, číslice, interpunkční
znaménka, symboly měn, emotikony.\n"
livechat_configuration_channel_special_chars_tolerance_label: Tolerance
livechat_configuration_channel_special_chars_tolerance_desc: Počet speciálních znaků,
které lze ve zprávě přijmout, aniž by došlo k jejímu vymazání.
feature_comes_with: Tato funkce je součástí pluginu livechat verze X.X.X.
livechat_configuration_channel_no_duplicate_label: Žádné duplicitní zprávy
livechat_configuration_channel_no_duplicate_desc: "Povolením této možnosti bude moderovací
robot automaticky upravovat duplicitní zprávy.\nTo znamená, že pokud uživatel odešle
stejnou zprávu dvakrát během X sekund, druhá zpráva bude odstraněna.\n"
livechat_configuration_channel_no_duplicate_delay_label: Časový interval
livechat_configuration_channel_no_duplicate_delay_desc: "Interval v sekundách, během
kterého uživatel nemůže znovu odeslat stejnou zprávu.\n"
announcements_message_type: Typ zprávy
announcements_message_type_standard: Standardní
announcements_message_type_announcement: Oznámení
announcements_message_type_highlight: Zvýrazněná
announcements_message_type_warning: Upozornění
poll_anonymous_results: Anonymní výsledky
poll_choice_n: 'Možnost {{N}}:'
poll_end: 'Anketa končí v:'

View File

@ -31,3 +31,4 @@ important_note_title: <h3>Ohar garrantzitsuak</h3>
important_note_text: "Osagarriaren dokumentazioa aurki dezakezu hemen:\n<a href=\"\
https://livingston.frama.io/peertube-plugin-livechat/\" target=\"_blank\">\n Peertube
Plugin Livechat-en dokumentazioa\n</a>.\n"
chat: Txata

View File

@ -121,3 +121,9 @@ diagnostic: "Przed zwróceniem się o pomoc, skorzystaj z narzędzia diagnostycz
federation_no_remote_chat_label: Nie wyświetlaj zdalnych czatów
federation_description: "<h3>Federacja</h3>\nPoniższe ustawienia dotyczą federacji
z innymi instancjami Peertube,\ni innym oprogramowaniem fediwersum.\n"
room_type_option_video: Każdy film ma swój własny pokój rozmowy
room_type_description: Możesz tutaj wybrać oddzielne pokoje dla każdego filmu lub
pogrupować je według kanałów.
room_type_option_channel: Pokoje rozmów internetowych są pogrupowane według kanałów
auto_display_label: Automatycznie otwórz rozmowę
auto_display_description: Podczas oglądania filmu okno rozmów otworzy się automatycznie.

1873
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
{
"name": "peertube-plugin-livechat",
"description": "PeerTube plugin livechat: create chat rooms for your Peertube lives! Comes with many features: federation, moderation tools, chat bot, chat persistence, OBS integration, ...",
"version": "11.0.1",
"version": "12.0.0",
"license": "AGPL-3.0",
"author": {
"name": "John Livingston",
@ -38,42 +38,42 @@
"xmppjs-chat-bot": "^0.5.0"
},
"devDependencies": {
"@eslint/js": "^9.10.0",
"@eslint/js": "^9.16.0",
"@lit-labs/motion": "^1.0.7",
"@lit/context": "^1.1.2",
"@lit/context": "^1.1.3",
"@lit/task": "^1.0.1",
"@peertube/feed": "^5.1.3",
"@peertube/peertube-types": "^5.2.0",
"@stylistic/eslint-plugin": "^2.8.0",
"@stylistic/eslint-plugin": "^2.11.0",
"@tsconfig/node16": "^16.1.3",
"@types/async": "^3.2.24",
"@types/escape-html": "^1.0.4",
"@types/eslint__js": "^8.42.3",
"@types/express": "^4.17.21",
"@types/express": "^5.0.0",
"@types/got": "^9.6.12",
"@types/http-proxy": "^1.17.15",
"@types/node": "^16.18.108",
"@types/node": "^16.18.121",
"@types/winston": "^2.4.4",
"@types/xmpp__jid": "^1.3.5",
"@typescript-eslint/parser": "^8.4.0",
"commander": "^12.1.0",
"esbuild": "^0.23.1",
"eslint": "^8.57.0",
"eslint-config-love": "^66.0.0",
"esbuild": "^0.24.0",
"eslint": "^8.57.1",
"eslint-config-love": "^84.1.1",
"eslint-plugin-lit": "^1.15.0",
"globals": "^15.9.0",
"lit": "^3.2.0",
"globals": "^15.13.0",
"lit": "^3.2.1",
"lit-analyzer": "^2.0.3",
"npm-run-all": "^4.1.5",
"sass": "^1.78.0",
"sass": "^1.81.1",
"sharp": "^0.33.5",
"stylelint": "^16.9.0",
"stylelint": "^16.11.0",
"stylelint-config-recommended-scss": "^14.1.0",
"stylelint-config-standard-scss": "^13.1.0",
"svgo": "^3.3.2",
"typescript": "^5.5.4",
"typescript-eslint": "^8.5.0",
"yaml": "^2.5.1"
"typescript-eslint": "^8.17.0",
"yaml": "^2.6.1"
},
"engine": {
"peertube": ">=5.2.0"

View File

@ -757,6 +757,7 @@ class ExternalAuthOIDC {
* @throws Error
* @returns the singleton
*/
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
public static singleton (singletonType: ExternalAuthOIDCType | string): ExternalAuthOIDC {
if (!singletons) {
throw new Error('ExternalAuthOIDC singletons are not initialized yet')

View File

@ -307,6 +307,7 @@ async function _store (options: RegisterServerOptions, filePath: string, content
}
}
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
async function _get (options: RegisterServerOptions, filePath: string): Promise<any | null> {
const logger = options.peertubeHelpers.logger
try {

View File

@ -13,7 +13,12 @@ async function initRouters (options: RegisterServerOptions): Promise<void> {
const { getRouter } = options
const router = getRouter()
router.get('/ping', (req: Request, res: Response, _next: NextFunction) => res.json({ message: 'pong' }))
router.get(
'/ping',
(req: Request, res: Response, _next: NextFunction) => {
res.json({ message: 'pong' })
}
)
router.use('/webchat', await initWebchatRouter(options))
router.use('/settings', await initSettingsRouter(options))

View File

@ -142,6 +142,7 @@ async function initWebchatRouter (options: RegisterServerOptionsV5): Promise<Rou
res.status(200)
res.type('html')
res.send(page)
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
} catch (err: LivechatError | any) {
const code = err.livechatError?.code ?? 500
const additionnalMessage: string = escapeHTML(err.livechatError?.message as string ?? '')

View File

@ -7,131 +7,154 @@ msgid ""
msgstr ""
"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
"POT-Creation-Date: 2024-09-12 12:53+0200\n"
"PO-Revision-Date: 2023-07-17 10:52+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Czech <https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat-documentation/cs/>\n"
"PO-Revision-Date: 2024-11-26 23:02+0000\n"
"Last-Translator: Jiří Podhorecký <j.podhorecky@gmail.com>\n"
"Language-Team: Czech <https://weblate.framasoft.org/projects/"
"peertube-livechat/peertube-plugin-livechat-documentation/cs/>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 4.18.2\n"
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
"X-Generator: Weblate 5.8.4\n"
#. type: Yaml Front Matter Hash Value: description
#: support/documentation/content/en/contact/_index.md
#, no-wrap
msgid "Contact the author"
msgstr ""
msgstr "Kontakt na autora"
#. type: Yaml Front Matter Hash Value: title
#: support/documentation/content/en/contact/_index.md
#, no-wrap
msgid "Contact me"
msgstr ""
msgstr "Kontaktujte mě"
#. type: Plain text
#: support/documentation/content/en/contact/_index.md
msgid "If you have any question, or if you want to talk about this plugin, you can join this XMPP room with any Jabber client: [plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room.im.yiny.org?join)."
msgstr ""
"Máte-li jakékoli dotazy nebo chcete-li si o tomto zásuvném modulu promluvit, "
"můžete se připojit k této místnosti XMPP pomocí libovolného klienta Jabber: "
"[plugin-livechat-support@room.im.yiny.org](xmpp:plugin-livechat-support@room."
"im.yiny.org?join)."
#. type: Plain text
#: support/documentation/content/en/contact/_index.md
msgid "If you want to support the project financially, you can contact me by mail at git.[at].john-livingston.fr, or check my [Liberapay profile](https://liberapay.com/JohnLivingston/)."
msgstr ""
"Pokud chcete projekt finančně podpořit, můžete mě kontaktovat na e-mailové "
"adrese git.[at].john-livingston.fr nebo se podívejte na můj [Liberapay "
"profil](https://liberapay.com/JohnLivingston/)."
#. type: Yaml Front Matter Hash Value: description
#: support/documentation/content/en/contributing/codeofconduct/_index.md
#, no-wrap
msgid "Contributor Covenant Code of Conduct"
msgstr ""
msgstr "Kodex chování smluvních partnerů"
#. type: Yaml Front Matter Hash Value: title
#: support/documentation/content/en/contributing/codeofconduct/_index.md
#, no-wrap
msgid "Code of Conduct"
msgstr ""
msgstr "Kodex chování"
#. type: Plain text
#: support/documentation/content/en/contributing/codeofconduct/_index.md
msgid "This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html). Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations). Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement by mail at git.[at].john-livingston.fr."
msgstr ""
"Tento kodex chování je převzat z dokumentu [Contributor Covenant](https://www"
".contributor-covenant.org), verze 2.1, který je k dispozici na adrese "
"[https://www.contributor-covenant.org/version/2/1/code_of_conduct."
"html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html)"
". Překlady jsou k dispozici na adrese [https://www.contributor-covenant.org/"
"translations](https://www.contributor-covenant.org/translations). Případy "
"urážlivého, obtěžujícího nebo jinak nepřijatelného chování lze hlásit "
"vedoucím komunity odpovědným za jejich prosazování na e-mailovou adresu "
"git.[at].john-livingston.fr."
#. type: Title ##
#: support/documentation/content/en/contributing/develop/_index.md
#, no-wrap
msgid "Develop"
msgstr ""
msgstr "Vývoj"
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "Always talk about features you want to develop by creating/finding and commenting the issue tackling your problem before you start working on it, and inform the community that you begin coding by claiming the issue."
msgstr ""
"Vždy mluvte o funkcích, které chcete vyvinout, tím, že vytvoříte/najdete a "
"okomentujete problém, který řeší váš problém, než na něm začnete pracovat, a "
"informujte komunitu o tom, že začínáte kódovat tím, že problém prohlásíte za "
"problém."
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "Pull Request must be done on the `main` branch."
msgstr ""
msgstr "Žádost o stažení musí být provedena na větvi `main`."
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "Until march 2023, contribution were made on the `develop` branch. This procedure is now deprecated."
msgstr ""
"Do března 2023 byly příspěvky prováděny na větvi `develop`. Tento postup je "
"nyní zastaralý."
#. type: Title ##
#: support/documentation/content/en/contributing/develop/_index.md
#, no-wrap
msgid "Prerequisite for building this plugin"
msgstr ""
msgstr "Předpoklad pro vytvoření tohoto zásuvného modulu"
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "It is highly recommended to be familiar with following concepts:"
msgstr ""
msgstr "Doporučujeme seznámit se s následujícími pojmy:"
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
msgid "Git"
msgstr ""
msgstr "Git"
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
msgid "NodeJS"
msgstr ""
msgstr "NodeJS"
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
msgid "NPM"
msgstr ""
msgstr "NPM"
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
msgid "Typescript"
msgstr ""
msgstr "Typescript"
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "To build the plugin, you must have following packages:"
msgstr ""
msgstr "Pro sestavení pluginu musíte mít následující balíčky:"
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
msgid "`git`"
msgstr ""
msgstr "`git`"
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
msgid "`npm` (>=8.x)"
msgstr ""
msgstr "`npm` (>=8.x)"
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
msgid "`nodejs` (>=14.x)"
msgstr ""
msgstr "`nodejs` (>=14.x)"
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
msgid "`build-essential`"
msgstr ""
msgstr "`build-essential`"
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
@ -146,17 +169,22 @@ msgstr ""
#. type: Bullet: '* '
#: support/documentation/content/en/contributing/develop/_index.md
msgid "`reuse`"
msgstr ""
msgstr "`reuse`"
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "Please note that this plugin needs an AppImage for the Prosody XMPP server. This AppImage is provided by the [Prosody AppImage](https://github.com/JohnXLivingston/prosody-appimage) sideproject. The `build-prosody.sh` script download binaries attached to this remote repository, and checks that their sha256 hashsum are correct."
msgstr ""
"Upozorňujeme, že tento zásuvný modul potřebuje pro server Prosody XMPP "
"obrázek aplikace. Tento AppImage poskytuje vedlejší projekt [Prosody "
"AppImage](https://github.com/JohnXLivingston/prosody-appimage). Skript "
"`build-prosody.sh` stáhne binární soubory připojené k tomuto vzdálenému "
"úložišti a zkontroluje, zda je jejich hashsum sha256 správný."
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "Clone the repository, buid the plugin, and create your feature branch:"
msgstr ""
msgstr "Klonujte úložiště, vytvořte zásuvný modul a vytvořte větev kódu:"
#. type: Fenced code block (bash)
#: support/documentation/content/en/contributing/develop/_index.md
@ -182,26 +210,61 @@ msgid ""
"git push --set-upstream me my_development\n"
"# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)\n"
msgstr ""
"# Klonování úložiště. Nezapomeňte na --recursive pro klonování podmodulů.\n"
"git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git --"
"recursive\n"
"\n"
"cd peertube-plugin-livechat\n"
"\n"
"# Nainstalujte závislosti NPM a poprvé sestavte modul:\n"
"Npm install\n"
"\n"
"# Sestavte zásuvný modul po úpravě:\n"
"npm run build\n"
"\n"
"# Pokud máte fork z repozitáře, přidejte jej jako vzdálený (příklad):\n"
"git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat."
"git\n"
"\n"
"# Vytvořte místní větev pro svůj vývoj a zkontrolujteji (příklad):\n"
"git checkout my_development # Poznámka: pokud je přidružena nějaká "
"záležitost, použijte jako název větve fix_1234 (kde 1234 je číslo issue).\n"
"# Chcete-li navrhnout své úpravy, odešlete svou větev do úložiště (příklad):"
"\n"
"git push --set-upstream me my_development\n"
"# Poté přejděte do svého úložiště github pomocí webového prohlížeče a "
"navrhněte žádost o stažení (viz další pokyny níže).\n"
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "Once you are ready to show your code to ask for feedback, submit a *draft* Pull Request. Once you are ready for a code review before merge, submit a Pull Request. In any case, please link your PR to the issues it solves by using the GitHub syntax: \"fixes #issue_number\"."
msgstr ""
"Jakmile jste připraveni ukázat svůj kód a požádat o zpětnou vazbu, odešlete "
"*návrh* žádosti o stažení. Jakmile jste připraveni na kontrolu kódu před "
"sloučením, odešlete žádost o stažení. V každém případě prosíme o propojení "
"vašeho PR s problémy, které řeší, pomocí syntaxe GitHubu: \"fixes #"
"issue_number\"."
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "The front-end code is in the `client` folder, the back-end code in `server`. There are some shared code in `shared` folder."
msgstr ""
"Kód front-endu je ve složce `client`, kód back-endu ve složce `server`. Ve "
"složce `shared` je několik sdílených kódů."
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "For general instructions (developping plugins, building, installation, ...), please refer to the [Peertube documentation](https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme)."
msgstr ""
"Obecné pokyny (vývoj zásuvných modulů, sestavení, instalace, ...) naleznete "
"v dokumentaci [Peertube](https://docs.joinpeertube.org/contribute-"
"plugins?id=write-a-plugintheme)."
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "You can build the plugin with extra debug features simply by using:"
msgstr ""
"Zásuvný modul můžete sestavit s dalšími funkcemi ladění jednoduše pomocí:"
#. type: Fenced code block (bash)
#: support/documentation/content/en/contributing/develop/_index.md
@ -213,75 +276,112 @@ msgstr ""
#: support/documentation/content/en/contributing/develop/_index.md
msgid "This plugin is [REUSE](https://reuse.software/) compliant: it uses SPDX headers to identify licensing information of its source code. More information on the [REUSE](https://reuse.software/) website. You can use the [reuse](https://reuse.readthedocs.io/en/stable/readme.html#) command line tool to help you update headers. The `npm run lint` command will use the `reuse` command to check compliance. Don't forget to add your copyright information in SPDX headers when you modify some code."
msgstr ""
"Tento zásuvný modul je v souladu s [REUSE](https://reuse.software/): používá "
"hlavičky SPDX k identifikaci licenčních informací svého zdrojového kódu. "
"Více informací naleznete na webových stránkách [REUSE](https://reuse."
"software/). K aktualizaci hlaviček můžete použít nástroj příkazového řádku "
"[reuse](https://reuse.readthedocs.io/en/stable/readme.html#). Příkaz `npm "
"run lint` použije ke kontrole shody příkaz `reuse`. Nezapomeňte do hlaviček "
"SPDX přidat informace o autorských právech, když upravujete nějaký kód."
#. type: Title ##
#: support/documentation/content/en/contributing/develop/_index.md
#, no-wrap
msgid "ESBuild vs Typescript"
msgstr ""
msgstr "ESBuild vs Typescript"
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "This plugin uses ESBuild for frontend code generation, as the official `peertube-plugin-quickstart` plugin. ESBuild can handle Typescript, but does not check types (see [ESBuild documentation](https://esbuild.github.io/content-types/#typescript)). That's why we first compile Typescript with the `-noEmit` option, just to check types (`check:client:ts` in package.json file). Then, if everything is okay, we run ESBuild to generate the compiled javascript."
msgstr ""
"Tento zásuvný modul používá ESBuild pro generování frontend kódu, stejně "
"jako oficiální zásuvný modul `peertube-plugin-quickstart`. ESBuild si "
"poradí s Typescriptem, ale nekontroluje typy (viz [dokumentace "
"ESBuild](https://esbuild.github.io/content-types/#typescript)). Proto "
"nejprve zkompilujeme Typescript s volbou `-noEmit`, jen abychom "
"zkontrolovali typy (`check:client:ts` v souboru package.json). Pokud je vše "
"v pořádku, spustíme ESBuild a vygenerujeme zkompilovaný javascript."
#. type: Title ##
#: support/documentation/content/en/contributing/develop/_index.md
#, no-wrap
msgid "Debug Mode"
msgstr ""
msgstr "Režim ladění"
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "There is a debug mode for this plugin, that shorten some delay. For example, some log files will rotate every two minutes, instead of once per day. This permit to test more easily certain actions, for which it could normally take hours or days to wait."
msgstr ""
"Pro tento zásuvný modul existuje režim ladění, který zkracuje určité "
"zpoždění. Například některé soubory protokolu se budou otáčet každé dvě "
"minuty místo jednou denně. To umožňuje snadněji testovat některé akce, na "
"které by se normálně čekalo hodiny nebo dny."
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "To enable this mode, you juste have to create the `/var/www/peertube/storage/plugins/data/peertube-plugin-livechat/debug_mode` file (replacing `/var/www/peertube/storage/` by the correct path on your installation)."
msgstr ""
"Pro zapnutí tohoto režimu stačí vytvořit soubor `/var/www/peertube/storage/"
"plugins/data/peertube-plugin-livechat/debug_mode` (nahradit `/var/www/"
"peertube/storage/` správnou cestou ve vaší instalaci)."
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "The simple existence of this file is sufficient to trigger the debug mode. To make sure it's taken into account, you can restart your Peertube instance."
msgstr ""
"Ke spuštění režimu ladění stačí pouhá existence tohoto souboru. Chcete-li "
"se ujistit, že je brán v úvahu, můžete restartovat instanci Peertube."
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "This file can contain some JSON to enable more advanced options. To have a list of existing parameters, check `server/lib/debug.ts`. Restart Peertube after each content modification."
msgstr ""
"Tento soubor může obsahovat některé JSON, které umožňují pokročilejší "
"možnosti. Seznam existujících parametrů naleznete v souboru `server/lib/"
"debug.ts`. Po každé úpravě obsahu restartujte Peertube."
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "Don't enable this mode on a production server, neither on a public server. This could cause security issues."
msgstr ""
"Tento režim nepovolujte na produkčním serveru, ani na veřejném serveru. "
"Mohlo by to způsobit bezpečnostní problémy."
#. type: Title ###
#: support/documentation/content/en/contributing/develop/_index.md
#, no-wrap
msgid "Restart Prosody"
msgstr ""
msgstr "Restart Prosody"
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "When debug mode is enabled, you can restart Prosody using this API call: `http://your_instance.tld/plugins/livechat/router/api/restart_prosody`. This call don't need any authentificaiton. It can be done from a command line, for example using `curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody`."
msgstr ""
"Když je povolen režim ladění, můžete pomocí tohoto volání API restartovat "
"aplikaci Prosody: `http://your_instance.tld/plugins/livechat/router/api/"
"restart_prosody`. Toto volání nepotřebuje žádné ověření. Lze jej provést z "
"příkazového řádku, například pomocí příkazu `curl http://your_instance.tld/"
"plugins/livechat/router/api/restart_prosody`."
#. type: Title ###
#: support/documentation/content/en/contributing/develop/_index.md
#, no-wrap
msgid "Prosody debugger"
msgstr ""
msgstr "Prosody debugger"
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "It is possible to connect the Prosody AppImage to a remote debugger using [MobDebug](https://luarocks.org/modules/paulclinger/mobdebug)."
msgstr ""
"Prosody AppImage je možné připojit ke vzdálenému debuggeru pomocí "
"[MobDebug](https://luarocks.org/modules/paulclinger/mobdebug)."
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "To do so, you have to setup MobDebug in a folder that can be accessed by the `peertube` user. Then, add this in the `debub_mode` file:"
msgstr ""
"Chcete-li tak učinit, musíte nastavit MobDebug ve složce, ke které má "
"přístup uživatel `peertube`. Pak to přidejte do souboru `debub_mode`:"
#. type: Fenced code block (json)
#: support/documentation/content/en/contributing/develop/_index.md
@ -295,63 +395,93 @@ msgid ""
" }\n"
"}\n"
msgstr ""
"{\n"
" \"debug_prosody\": {\n"
" \"debugger_path\": \"/the_path_to_mobdebug/src\",\n"
" \"host\": \"localhost\",\n"
" \"port\": \"8172\"\n"
" }\n"
"}\n"
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "`host` and `port` are optional. `debugger_path` must point to the folder where the `MobDebug` `.lua` file is."
msgstr ""
"`host` a `port` jsou volitelné. `debugger_path` musí ukazovat na složku, kde "
"je soubor `.lua` `MobDebug`."
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "Restart Peertube."
msgstr ""
msgstr "Restartujte Peertube."
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "Start your debugger server."
msgstr ""
msgstr "Spusťte svůj ladicí server."
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "For Prosody to connect to the debugger, call the API `http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`. This call does not need any authentication. It can be done from a command line, for example with `curl http://your_instance.tld/plugins/livechat/router/api/restart_prosody?debugger=true`. You can even configure your debug server to launch this request automatically."
msgstr ""
"Aby se Prosody připojil k debuggeru, zavolejte API `http://your_instance.tld/"
"plugins/livechat/router/api/restart_prosody?debugger=true`. Tento hovor "
"nevyžaduje žádné ověření. Lze to provést z příkazového řádku, například "
"pomocí `curl http://your_instance.tld/plugins/livechat/router/api/"
"restart_prosody?debugger=true`. Můžete dokonce nakonfigurovat svůj ladicí "
"server tak, aby tento požadavek spouštěl automaticky."
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "Prosody will then restart, connecting to the debugger."
msgstr ""
msgstr "Prosody se poté restartuje a připojí se k debuggeru."
#. type: Title ##
#: support/documentation/content/en/contributing/develop/_index.md
#, no-wrap
msgid "Quick dev environment using Docker"
msgstr ""
msgstr "Rychlé vývojářské prostředí pomocí Dockeru"
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "There is a tutorial, in french, on the [Peertube forum](https://framacolibri.org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-rapidement-en-utilisant-docker-et-qui-permet-de-tester-la-federation/17631) that explains how to quickly build a dev env using Docker."
msgstr ""
"Na [fóru Peertube] je výukový program ve francouzštině (https://framacolibri."
"org/t/tutoriel-creer-un-environnement-de-developpement-de-plugin-peertube-"
"rapidement-en-utilisant-docker -et-qui-permet-de-tester-la-federation/17631)"
", který vysvětluje, jak rychle vytvořit prostředí pro vývojáře pomocí Docker."
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "A repo was made out of it, check out [pt-plugin-dev](https://codeberg.org/mose/pt-plugin-dev)."
msgstr ""
"Bylo z toho vytvořeno repo, podívejte se na [pt-plugin-dev](https://codeberg."
"org/mose/pt-plugin-dev)."
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "Note: for an unknown reason, Prosody can't resolve containers DNS address when using the lua-unbound library. There is a dirty hack in the plugin: just create a `/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` file in your docker-volumes, then restart containers."
msgstr ""
"Poznámka: Z neznámého důvodu nemůže Prosody rozlišit adresy DNS kontejnerů "
"při použití knihovny lua-unbound. V pluginu je špinavý hack: stačí vytvořit "
"soubor `/data/plugins/data/peertube-plugin-livechat/no_lua_unbound` ve vašem "
"docker-volume a restartovat kontejnery."
#. type: Title ##
#: support/documentation/content/en/contributing/develop/_index.md
#, no-wrap
msgid "Quickly rebuild and install the plugin"
msgstr ""
msgstr "Rychle znovu sestavte a nainstalujte plugin"
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md
msgid "When you do modification, you don't have to always rebuild the full project, and reinstall the plugin on your dev environment. You can build only the modified part (for example, if you only modified client files: `npm run build:client`). Check the `package.json` files for available build scripts."
msgstr ""
"Když provádíte úpravy, nemusíte vždy znovu sestavovat celý projekt a znovu "
"instalovat plugin do vašeho vývojového prostředí. Můžete sestavit pouze "
"upravenou součást (pokud jste například upravili pouze soubory klienta: `npm "
"spustit build:client`). V souborech `package.json` vyhledejte dostupné "
"skripty sestavení."
#. type: Plain text
#: support/documentation/content/en/contributing/develop/_index.md

View File

@ -7,27 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n"
"POT-Creation-Date: 2024-09-12 12:53+0200\n"
"PO-Revision-Date: 2023-07-17 10:53+0000\n"
"Last-Translator: Anonymous <noreply@weblate.org>\n"
"Language-Team: Ukrainian <https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat-documentation/uk/>\n"
"PO-Revision-Date: 2024-10-13 09:25+0000\n"
"Last-Translator: Ihor Hordiichuk <igor_ck@outlook.com>\n"
"Language-Team: Ukrainian <https://weblate.framasoft.org/projects/"
"peertube-livechat/peertube-plugin-livechat-documentation/uk/>\n"
"Language: uk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.18.2\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Weblate 5.7.2\n"
#. type: Yaml Front Matter Hash Value: description
#: support/documentation/content/en/contact/_index.md
#, no-wrap
msgid "Contact the author"
msgstr ""
msgstr "Зв'язатися з автором"
#. type: Yaml Front Matter Hash Value: title
#: support/documentation/content/en/contact/_index.md
#, no-wrap
msgid "Contact me"
msgstr ""
msgstr "Зв'язатися зі мною"
#. type: Plain text
#: support/documentation/content/en/contact/_index.md