Compare commits

..

142 Commits

Author SHA1 Message Date
cutls
7281db2375 Merge branch 'master' of github.com:cutls/TheDesk 2021-02-02 11:47:43 +09:00
cutls
2699d51301 TheDesk 22.1.0 (Koume) 2021-02-02 11:47:38 +09:00
Cutls
e8c1dad86b Merge pull request #441 from cutls/dependabot/npm_and_yarn/app/json5-2.2.0
Bump json5 from 2.1.3 to 2.2.0 in /app
2021-02-01 17:47:17 -09:00
Cutls
72b279a107 Merge pull request #439 from cutls/dependabot/npm_and_yarn/app/sweetalert2-10.14.0
Bump sweetalert2 from 10.13.0 to 10.14.0 in /app
2021-02-01 17:47:01 -09:00
Cutls
73894c7e37 Merge pull request #437 from cutls/dependabot/npm_and_yarn/app/sanitize-html-2.3.2
Bump sanitize-html from 2.3.1 to 2.3.2 in /app
2021-02-01 17:46:48 -09:00
Cutls
12dee56919 Merge pull request #440 from cutls/l10n_master
New Crowdin updates
2021-02-01 17:46:29 -09:00
cutls
e9c5709095 remove tweetdeck 2021-02-02 11:38:23 +09:00
cutls
10358cb317 Merge branch 'master' of github.com:cutls/TheDesk 2021-02-02 11:27:28 +09:00
cutls
7d6d0b5628 Mention and tag links are not considered the acct data 2021-02-02 11:27:15 +09:00
dependabot-preview[bot]
e6eeff56e3 Bump json5 from 2.1.3 to 2.2.0 in /app
Bumps [json5](https://github.com/json5/json5) from 2.1.3 to 2.2.0.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/master/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.1.3...v2.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-01 20:13:05 +00:00
Cutls
0f3be2fdc4 New translations setting.json (German) 2021-01-31 15:36:40 -09:00
Cutls
8c1ba088be New translations acct.json (German) 2021-01-31 15:36:38 -09:00
Cutls
5d5e3c77e1 New translations main.json (French) 2021-01-31 15:36:36 -09:00
Cutls
995f677d8f New translations update.json (French) 2021-01-31 15:24:50 -09:00
Cutls
8e71e973d6 New translations setting.json (German) 2021-01-31 15:24:48 -09:00
Cutls
c7f1bb9b76 New translations main.json (German) 2021-01-31 15:24:47 -09:00
Cutls
3cc1f427ce New translations setting.json (French) 2021-01-31 15:24:45 -09:00
Cutls
3621be674f New translations main.json (French) 2021-01-31 15:24:43 -09:00
Cutls
ef1ecd5db3 New translations acct.json (French) 2021-01-31 15:24:42 -09:00
Cutls
a0a0802784 New translations main.json (German) 2021-01-31 15:06:27 -09:00
Cutls
3b96bf3c25 New translations index.json (German) 2021-01-31 15:06:26 -09:00
dependabot-preview[bot]
87c747cb93 Bump sweetalert2 from 10.13.0 to 10.14.0 in /app
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 10.13.0 to 10.14.0.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v10.13.0...v10.14.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-28 20:13:08 +00:00
dependabot-preview[bot]
83b2138b26 Bump sanitize-html from 2.3.1 to 2.3.2 in /app
Bumps [sanitize-html](https://github.com/apostrophecms/sanitize-html) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/apostrophecms/sanitize-html/releases)
- [Changelog](https://github.com/apostrophecms/sanitize-html/blob/main/CHANGELOG.md)
- [Commits](https://github.com/apostrophecms/sanitize-html/compare/2.3.1...2.3.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-27 20:15:47 +00:00
Cutls
23a72c1dc5 Merge pull request #434 from cutls/dependabot/npm_and_yarn/app/sanitize-html-2.3.1
Bump sanitize-html from 2.3.0 to 2.3.1 in /app
2021-01-24 00:22:00 +09:00
Cutls
9413d9c4b8 New Crowdin updates (#432)
* New translations main.json (Norwegian)

* New translations main.json (Dutch)

* New translations main.json (Italian)

* New translations main.json (Hungarian)

* New translations main.json (Hebrew)

* New translations main.json (Polish)

* New translations main.json (Turkish)

* New translations main.json (Swedish)

* New translations main.json (Serbian (Cyrillic))

* New translations main.json (Russian)

* New translations main.json (Portuguese)

* New translations main.json (Arabic)

* New translations main.json (Afrikaans)

* New translations main.json (Spanish)

* New translations main.json (Finnish)

* New translations main.json (French)

* New translations main.json (Romanian)

* New translations main.json (Bulgarian)

* New translations main.json (German)

* New translations main.json (Greek)

* New translations main.json (Czech)

* New translations main.json (Danish)

* New translations main.json (Catalan)

* New translations main.json (Spanish, Argentina)

* New translations main.json (English)

* New translations index.json (Cornish)

* New translations main.json (Sinhala)

* New translations acct.json (Cornish)

* New translations main.json (Cornish)

* New translations setting.json (Cornish)

* New translations main.json (Portuguese, Brazilian)

* New translations main.json (Vietnamese)

* New translations main.json (Chinese Traditional)

* New translations main.json (Chinese Simplified)

* New translations main.json (Ukrainian)

* New translations update.json (Cornish)

* New translations main.json (Chinese Traditional)
2021-01-23 06:21:43 -09:00
cutls
78ea495969 add image rotate button 2021-01-23 19:17:55 +09:00
dependabot-preview[bot]
a2c8d5fd37 Bump sanitize-html from 2.3.0 to 2.3.1 in /app
Bumps [sanitize-html](https://github.com/apostrophecms/sanitize-html) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/apostrophecms/sanitize-html/releases)
- [Changelog](https://github.com/apostrophecms/sanitize-html/blob/main/CHANGELOG.md)
- [Commits](https://github.com/apostrophecms/sanitize-html/compare/2.3.0...2.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-22 20:13:53 +00:00
Cutls
31b5df7f42 Merge pull request #430 from cutls/dependabot/npm_and_yarn/app/fortawesome/fontawesome-free-5.15.2
Bump @fortawesome/fontawesome-free from 5.15.1 to 5.15.2 in /app
2021-01-19 04:11:43 +09:00
Cutls
28a0419d2c Merge pull request #431 from cutls/dependabot/npm_and_yarn/app/chokidar-3.5.1
Bump chokidar from 3.5.0 to 3.5.1 in /app
2021-01-19 04:11:30 +09:00
Cutls
88214e5a33 New Crowdin updates (#428)
* New translations setting.json (Swedish)

* New translations setting.json (Serbian (Cyrillic))

* New translations setting.json (Russian)

* New translations setting.json (Portuguese)

* New translations setting.json (Polish)

* New translations setting.json (Norwegian)

* New translations setting.json (Dutch)

* New translations setting.json (Turkish)

* New translations setting.json (Vietnamese)

* New translations setting.json (English)

* New translations setting.json (Spanish, Argentina)

* New translations setting.json (Portuguese, Brazilian)

* New translations setting.json (Chinese Traditional)

* New translations setting.json (Chinese Simplified)

* New translations setting.json (Ukrainian)

* New translations setting.json (Afrikaans)

* New translations setting.json (Catalan)

* New translations setting.json (Bulgarian)

* New translations setting.json (Arabic)

* New translations setting.json (Spanish)

* New translations setting.json (French)

* New translations setting.json (Romanian)

* New translations setting.json (Italian)

* New translations setting.json (Hungarian)

* New translations setting.json (Hebrew)

* New translations setting.json (Finnish)

* New translations setting.json (Czech)

* New translations setting.json (Greek)

* New translations setting.json (German)

* New translations setting.json (Danish)

* New translations setting.json (Sinhala)
2021-01-19 04:11:15 +09:00
cutls
277f61826f gitignore and language file 2021-01-19 04:10:30 +09:00
cutls
447aeea0cb some git watched file modified 2021-01-19 04:10:18 +09:00
cutls
cc5ba8af0f add Pleroma refreshable token 2021-01-19 04:06:13 +09:00
dependabot-preview[bot]
9e62d15576 Bump chokidar from 3.5.0 to 3.5.1 in /app
Bumps [chokidar](https://github.com/paulmillr/chokidar) from 3.5.0 to 3.5.1.
- [Release notes](https://github.com/paulmillr/chokidar/releases)
- [Commits](https://github.com/paulmillr/chokidar/compare/3.5.0...3.5.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-15 20:14:08 +00:00
cutls
eaec63adb8 Add desc 2021-01-16 04:41:16 +09:00
cutls
57ca23e4e5 Add macOS control center nowplaying 2021-01-16 04:28:09 +09:00
dependabot-preview[bot]
e97ac5008a Bump @fortawesome/fontawesome-free from 5.15.1 to 5.15.2 in /app
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 5.15.1 to 5.15.2.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/5.15.1...5.15.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-14 20:13:06 +00:00
cutls
8c2d17d096 readme 2021-01-12 15:09:14 +09:00
cutls
7763ad98ad Merge branch 'master' of github.com:cutls/TheDesk 2021-01-12 14:46:02 +09:00
cutls
d6a32fbeae misc 2021-01-12 14:45:49 +09:00
cutls
aeaca51334 and more 2021-01-12 14:45:18 +09:00
cutls
f4d6ff8ee3 add beta language and auto restart when login crowdin 2021-01-12 14:44:57 +09:00
Cutls
f0a25df38f New Crowdin updates (#427)
* New translations acct.json (Sinhala)

* New translations index.json (Sinhala)

* New translations main.json (Sinhala)

* New translations setting.json (Sinhala)

* New translations update.json (Sinhala)

* New translations main.json (Sinhala)

* New translations setting.json (Sinhala)
2021-01-12 14:04:34 +09:00
Cutls
89b25c56e7 Merge pull request #425 from cutls/dependabot/npm_and_yarn/app/sweetalert2-10.13.0
Bump sweetalert2 from 10.10.0 to 10.13.0 in /app
2021-01-12 04:57:45 +09:00
Cutls
f0f8ed5eca Merge pull request #426 from cutls/dependabot/npm_and_yarn/app/chokidar-3.5.0
Bump chokidar from 3.4.3 to 3.5.0 in /app
2021-01-12 04:57:28 +09:00
Cutls
793a511bc3 Merge pull request #416 from cutls/dependabot/npm_and_yarn/app/ini-1.3.8
[Security] Bump ini from 1.3.5 to 1.3.8 in /app
2021-01-12 04:57:06 +09:00
Cutls
22299eaf33 New Crowdin updates (#422)
* New translations acct.json (Chinese Traditional)

* New translations index.json (Chinese Traditional)

* New translations main.json (Chinese Traditional)

* New translations setting.json (Chinese Traditional)

* New translations acct.json (Chinese Traditional)

* New translations index.json (Chinese Traditional)

* New translations main.json (Chinese Traditional)

* New translations setting.json (Chinese Traditional)

* New translations index.json (Chinese Traditional)

* New translations main.json (Chinese Traditional)

* New translations index.json (Chinese Traditional)

* New translations update.json (Chinese Traditional)

* New translations index.json (Chinese Traditional)

* New translations update.json (Chinese Traditional)

* New translations index.json (Chinese Traditional)

* New translations main.json (Chinese Traditional)

* New translations setting.json (Chinese Traditional)

* New translations index.json (Chinese Traditional)

* New translations main.json (Chinese Traditional)

* New translations setting.json (Chinese Traditional)

* New translations main.json (Chinese Traditional)

* New translations setting.json (Chinese Traditional)

* New translations main.json (Chinese Traditional)

* New translations main.json (Chinese Traditional)

* New translations setting.json (Portuguese)

* New translations main.json (Swedish)

* New translations setting.json (Serbian (Cyrillic))

* New translations main.json (Serbian (Cyrillic))

* New translations setting.json (Russian)

* New translations main.json (Russian)

* New translations main.json (Portuguese)

* New translations setting.json (Polish)

* New translations main.json (Polish)

* New translations setting.json (Norwegian)

* New translations main.json (Norwegian)

* New translations setting.json (Dutch)

* New translations main.json (Dutch)

* New translations setting.json (Swedish)

* New translations main.json (English)

* New translations setting.json (Spanish, Argentina)

* New translations main.json (Spanish, Argentina)

* New translations setting.json (Portuguese, Brazilian)

* New translations main.json (Portuguese, Brazilian)

* New translations setting.json (Vietnamese)

* New translations main.json (Vietnamese)

* New translations setting.json (Chinese Traditional)

* New translations main.json (Turkish)

* New translations main.json (Chinese Traditional)

* New translations setting.json (Chinese Simplified)

* New translations main.json (Chinese Simplified)

* New translations setting.json (Ukrainian)

* New translations main.json (Ukrainian)

* New translations setting.json (Turkish)

* New translations setting.json (Italian)

* New translations setting.json (Afrikaans)

* New translations setting.json (Catalan)

* New translations main.json (Catalan)

* New translations setting.json (Bulgarian)

* New translations main.json (Bulgarian)

* New translations setting.json (Arabic)

* New translations main.json (Arabic)

* New translations main.json (Afrikaans)

* New translations setting.json (Spanish)

* New translations main.json (Spanish)

* New translations setting.json (French)

* New translations main.json (French)

* New translations setting.json (Romanian)

* New translations main.json (Romanian)

* New translations main.json (Czech)

* New translations main.json (Italian)

* New translations setting.json (Hungarian)

* New translations main.json (Hungarian)

* New translations setting.json (Hebrew)

* New translations main.json (Hebrew)

* New translations setting.json (Finnish)

* New translations main.json (Finnish)

* New translations setting.json (Czech)

* New translations setting.json (Greek)

* New translations main.json (Greek)

* New translations setting.json (German)

* New translations main.json (German)

* New translations setting.json (Danish)

* New translations main.json (Danish)

* New translations setting.json (English)
2021-01-12 04:56:25 +09:00
cutls
8745f94d81 add export plugin 2021-01-09 21:58:34 +09:00
cutls
ecff3c7f8f plugin readme 2021-01-09 21:38:10 +09:00
cutls
5cee604d51 TheDesk 22.0.1(Koume) 2021-01-09 21:24:55 +09:00
cutls
f12f9ed047 change StartMenu 2021-01-09 21:19:21 +09:00
dependabot-preview[bot]
7f4e752b21 Bump sweetalert2 from 10.10.0 to 10.13.0 in /app
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 10.10.0 to 10.13.0.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v10.10.0...v10.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-09 12:13:06 +00:00
cutls
3ad4aca4a7 announce unread 2021-01-09 21:11:09 +09:00
cutls
4fbe7218e6 AiScript 2021-01-09 21:07:59 +09:00
cutls
46bc9474a0 emoji input 2021-01-09 17:51:40 +09:00
cutls
40ac7b33a1 scrollbar width 2021-01-09 17:51:35 +09:00
cutls
1db56bcfbb add reset width 2021-01-09 15:47:20 +09:00
dependabot-preview[bot]
4612dbe591 Bump chokidar from 3.4.3 to 3.5.0 in /app
Bumps [chokidar](https://github.com/paulmillr/chokidar) from 3.4.3 to 3.5.0.
- [Release notes](https://github.com/paulmillr/chokidar/releases)
- [Commits](https://github.com/paulmillr/chokidar/compare/3.4.3...3.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-06 20:14:03 +00:00
dependabot-preview[bot]
0a74b9c54b [Security] Bump ini from 1.3.5 to 1.3.8 in /app
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8. **This update includes a security fix.**
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-14 20:12:40 +00:00
cutls
a10a4d02b4 travis 2020-11-28 07:42:05 +09:00
cutls
6805ed32fb TheDesk 22.0.0 (Koume) 2020-11-28 07:32:06 +09:00
Cutls
1f2740b01e New Crowdin updates (#406)
* New translations setting.json (Serbian (Cyrillic))

* New translations setting.json (Russian)

* New translations setting.json (Portuguese)

* New translations setting.json (Swedish)

* New translations setting.json (Polish)

* New translations setting.json (Norwegian)

* New translations setting.json (Dutch)

* New translations setting.json (Italian)

* New translations setting.json (Chinese Traditional)

* New translations setting.json (Spanish, Argentina)

* New translations setting.json (Portuguese, Brazilian)

* New translations setting.json (Vietnamese)

* New translations setting.json (Chinese Simplified)

* New translations setting.json (Ukrainian)

* New translations setting.json (Turkish)

* New translations setting.json (Afrikaans)

* New translations setting.json (Bulgarian)

* New translations setting.json (Arabic)

* New translations setting.json (Spanish)

* New translations setting.json (French)

* New translations setting.json (Romanian)

* New translations setting.json (Catalan)

* New translations setting.json (Hungarian)

* New translations setting.json (Hebrew)

* New translations setting.json (Finnish)

* New translations setting.json (Greek)

* New translations setting.json (German)

* New translations setting.json (Danish)

* New translations setting.json (Czech)

* New translations setting.json (English)
2020-11-28 07:29:47 +09:00
cutls
74af696ad5 add 2020-11-28 07:26:18 +09:00
cutls
ec3c2369bc md 2020-11-28 07:08:55 +09:00
cutls
c0a6ecec4d Add: AiScript TheDesk Plugin 2020-11-28 07:07:16 +09:00
cutls
7169f1147b Add: plugin system[WIP] 2020-11-28 05:57:11 +09:00
cutls
8873af4597 Merge branch 'master' of github.com:cutls/TheDesk 2020-11-17 02:16:28 +09:00
Cutls
859acad27c New Crowdin updates (#369)
* New translations setting.json (French)

* New translations setting.json (French)

* New translations setting.json (French)

* New translations setting.json (French)

* New translations main.json (Portuguese)

* New translations main.json (Swedish)

* New translations index.json (Swedish)

* New translations main.json (Serbian (Cyrillic))

* New translations index.json (Serbian (Cyrillic))

* New translations main.json (Russian)

* New translations index.json (Russian)

* New translations index.json (Portuguese)

* New translations main.json (Polish)

* New translations index.json (Polish)

* New translations main.json (Norwegian)

* New translations index.json (Norwegian)

* New translations main.json (Dutch)

* New translations index.json (Turkish)

* New translations index.json (English)

* New translations main.json (Spanish, Argentina)

* New translations index.json (Spanish, Argentina)

* New translations main.json (Portuguese, Brazilian)

* New translations index.json (Portuguese, Brazilian)

* New translations main.json (Vietnamese)

* New translations index.json (Vietnamese)

* New translations main.json (Turkish)

* New translations main.json (Chinese Traditional)

* New translations index.json (Chinese Traditional)

* New translations main.json (Chinese Simplified)

* New translations index.json (Chinese Simplified)

* New translations main.json (Ukrainian)

* New translations index.json (Ukrainian)

* New translations index.json (Dutch)

* New translations index.json (Romanian)

* New translations main.json (Catalan)

* New translations index.json (Catalan)

* New translations main.json (Bulgarian)

* New translations index.json (Bulgarian)

* New translations main.json (Arabic)

* New translations index.json (Arabic)

* New translations main.json (Afrikaans)

* New translations index.json (Czech)

* New translations index.json (Afrikaans)

* New translations main.json (Spanish)

* New translations index.json (Spanish)

* New translations main.json (French)

* New translations index.json (French)

* New translations main.json (Romanian)

* New translations main.json (Czech)

* New translations main.json (Italian)

* New translations index.json (Finnish)

* New translations index.json (Italian)

* New translations main.json (Hungarian)

* New translations index.json (Hungarian)

* New translations main.json (Hebrew)

* New translations index.json (Hebrew)

* New translations main.json (Finnish)

* New translations main.json (Greek)

* New translations index.json (Greek)

* New translations main.json (German)

* New translations index.json (German)

* New translations main.json (Danish)

* New translations index.json (Danish)

* New translations main.json (English)

* New translations main.json (Swedish)

* New translations index.json (Swedish)

* New translations main.json (Serbian (Cyrillic))

* New translations index.json (Serbian (Cyrillic))

* New translations main.json (Russian)

* New translations index.json (Russian)

* New translations main.json (Portuguese)

* New translations index.json (Portuguese)

* New translations main.json (Polish)

* New translations index.json (Polish)

* New translations main.json (Norwegian)

* New translations index.json (Norwegian)

* New translations main.json (Dutch)

* New translations index.json (Turkish)

* New translations index.json (English)

* New translations main.json (Spanish, Argentina)

* New translations index.json (Spanish, Argentina)

* New translations main.json (Portuguese, Brazilian)

* New translations index.json (Portuguese, Brazilian)

* New translations main.json (Vietnamese)

* New translations index.json (Vietnamese)

* New translations main.json (Turkish)

* New translations main.json (Chinese Traditional)

* New translations index.json (Chinese Traditional)

* New translations main.json (Chinese Simplified)

* New translations index.json (Chinese Simplified)

* New translations main.json (Ukrainian)

* New translations index.json (Ukrainian)

* New translations index.json (Dutch)

* New translations index.json (Romanian)

* New translations main.json (Catalan)

* New translations index.json (Catalan)

* New translations main.json (Bulgarian)

* New translations index.json (Bulgarian)

* New translations main.json (Arabic)

* New translations index.json (Arabic)

* New translations main.json (Afrikaans)

* New translations index.json (Czech)

* New translations index.json (Afrikaans)

* New translations main.json (Spanish)

* New translations index.json (Spanish)

* New translations main.json (French)

* New translations index.json (French)

* New translations main.json (Romanian)

* New translations main.json (Czech)

* New translations main.json (Italian)

* New translations index.json (Finnish)

* New translations index.json (Italian)

* New translations main.json (Hungarian)

* New translations index.json (Hungarian)

* New translations main.json (Hebrew)

* New translations index.json (Hebrew)

* New translations main.json (Finnish)

* New translations main.json (Greek)

* New translations index.json (Greek)

* New translations main.json (German)

* New translations index.json (German)

* New translations main.json (Danish)

* New translations index.json (Danish)

* New translations main.json (English)
2020-11-17 02:16:12 +09:00
Cutls
44943e0e14 Merge pull request #372 from cutls/dependabot/npm_and_yarn/app/fortawesome/fontawesome-free-5.15.1
Bump @fortawesome/fontawesome-free from 5.14.0 to 5.15.1 in /app
2020-11-17 02:15:57 +09:00
Cutls
640847416a Merge pull request #379 from cutls/dependabot/npm_and_yarn/app/electron-builder-22.9.1
Bump electron-builder from 22.8.1 to 22.9.1 in /app
2020-11-17 02:15:45 +09:00
dependabot-preview[bot]
35122db142 Bump electron-builder from 22.8.1 to 22.9.1 in /app
Bumps [electron-builder](https://github.com/electron-userland/electron-builder) from 22.8.1 to 22.9.1.
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/compare/v22.8.1...v22.9.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-16 17:14:58 +00:00
Cutls
994ec964d6 Merge pull request #381 from cutls/dependabot/npm_and_yarn/app/chokidar-3.4.3
Bump chokidar from 3.4.2 to 3.4.3 in /app
2020-11-17 02:13:13 +09:00
Cutls
5508862ba1 Merge branch 'master' into dependabot/npm_and_yarn/app/chokidar-3.4.3 2020-11-17 02:13:06 +09:00
dependabot-preview[bot]
075a120856 Bump chokidar from 3.4.2 to 3.4.3 in /app
Bumps [chokidar](https://github.com/paulmillr/chokidar) from 3.4.2 to 3.4.3.
- [Release notes](https://github.com/paulmillr/chokidar/releases)
- [Commits](https://github.com/paulmillr/chokidar/compare/3.4.2...3.4.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-16 17:12:31 +00:00
Cutls
f34e2e6bbf Merge pull request #386 from cutls/dependabot/npm_and_yarn/app/electron-rebuild-2.3.2
Bump electron-rebuild from 2.0.3 to 2.3.2 in /app
2020-11-17 02:11:42 +09:00
Cutls
64296c69d3 Merge branch 'master' into dependabot/npm_and_yarn/app/electron-rebuild-2.3.2 2020-11-17 02:11:33 +09:00
Cutls
f4d250eeb3 Merge pull request #389 from cutls/dependabot/npm_and_yarn/app/electron-10.1.5
Bump electron from 10.1.2 to 10.1.5 in /app
2020-11-17 02:10:57 +09:00
Cutls
750c74ae69 Merge pull request #393 from cutls/dependabot/npm_and_yarn/app/eslint-7.13.0
Bump eslint from 7.9.0 to 7.13.0 in /app
2020-11-17 02:10:42 +09:00
Cutls
525dd5ec52 Merge pull request #397 from cutls/dependabot/npm_and_yarn/app/sweetalert2-10.10.0
Bump sweetalert2 from 10.3.5 to 10.10.0 in /app
2020-11-17 02:10:29 +09:00
cutls
89bb8d6496 node update 2020-11-17 02:09:50 +09:00
cutls
a7399db3f1 TheDesk 21.3.0 2020-11-17 01:56:58 +09:00
cutls
790ab2065c when in offline 2020-11-17 01:36:07 +09:00
cutls
fa20278727 CW when reply 2020-11-17 01:10:59 +09:00
cutls
f2a4900f18 add: draft 2020-11-17 01:00:32 +09:00
dependabot-preview[bot]
fd3afb6354 Bump sweetalert2 from 10.3.5 to 10.10.0 in /app
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 10.3.5 to 10.10.0.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v10.3.5...v10.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-11 20:13:15 +00:00
dependabot-preview[bot]
4a4dc82c40 Bump eslint from 7.9.0 to 7.13.0 in /app
Bumps [eslint](https://github.com/eslint/eslint) from 7.9.0 to 7.13.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.9.0...v7.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-09 20:13:17 +00:00
dependabot-preview[bot]
54db978b6f Bump electron from 10.1.2 to 10.1.5 in /app
Bumps [electron](https://github.com/electron/electron) from 10.1.2 to 10.1.5.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/master/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v10.1.2...v10.1.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-24 15:56:19 +00:00
dependabot-preview[bot]
1a35eda46f Bump electron-rebuild from 2.0.3 to 2.3.2 in /app
Bumps [electron-rebuild](https://github.com/electron/electron-rebuild) from 2.0.3 to 2.3.2.
- [Release notes](https://github.com/electron/electron-rebuild/releases)
- [Changelog](https://github.com/electron/electron-rebuild/blob/master/.releaserc.json)
- [Commits](https://github.com/electron/electron-rebuild/compare/v2.0.3...v2.3.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-22 02:04:00 +00:00
cutls
7d9ab19eef #373 looong more button 2020-10-18 18:33:53 +09:00
cutls
bdfeae20f2 #317 disabled toot button when offline 2020-10-18 18:04:31 +09:00
dependabot-preview[bot]
9931ecd577 Bump @fortawesome/fontawesome-free from 5.14.0 to 5.15.1 in /app
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 5.14.0 to 5.15.1.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/5.14.0...5.15.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-06 12:32:35 +00:00
cutls
99c2f0fc8d TheDesk 21.2.4 (Mayu) 2020-09-26 22:46:30 +09:00
cutls
58d9228aec Add italiano 2020-09-26 21:18:28 +09:00
Cutls
85738d72ae Merge pull request #362 from cutls/l10n_master
New Crowdin updates
2020-09-26 21:05:57 +09:00
Cutls
2fe60a3b69 Merge pull request #364 from cutls/dependabot/npm_and_yarn/app/sweetalert2-10.3.5
Bump sweetalert2 from 10.3.1 to 10.3.5 in /app
2020-09-26 21:05:34 +09:00
cutls
06c944a35d timeline subscription streaming bug 2020-09-26 21:04:21 +09:00
cutls
0f75972616 TheDesk Tips redesign 2020-09-26 21:02:48 +09:00
dependabot-preview[bot]
f55b08cbf3 Bump sweetalert2 from 10.3.1 to 10.3.5 in /app
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 10.3.1 to 10.3.5.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v10.3.1...v10.3.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-26 05:02:25 +00:00
Cutls
51814e49d7 New translations setting.json (German) 2020-09-24 22:42:05 +09:00
Cutls
36d8a00a49 New translations index.json (German) 2020-09-24 22:42:04 +09:00
Cutls
1c8ca3b5f9 New translations acct.json (German) 2020-09-24 22:42:02 +09:00
cutls
1cbd6992e3 em fix 2020-09-23 03:14:37 +09:00
cutls
1f3a27325b TheDesk 21.2.3 (Mayu) 2020-09-23 02:22:09 +09:00
Cutls
890ec772f9 Merge pull request #357 from cutls/dependabot/npm_and_yarn/app/electron-rebuild-2.0.3
Bump electron-rebuild from 1.11.0 to 2.0.3 in /app
2020-09-23 02:10:30 +09:00
Cutls
b072012976 Merge pull request #359 from cutls/dependabot/npm_and_yarn/app/sweetalert2-10.3.1
Bump sweetalert2 from 10.0.2 to 10.3.1 in /app
2020-09-23 02:10:19 +09:00
cutls
8982058a25 Coding for the KIRENAI streaming 2020-09-23 01:35:28 +09:00
dependabot-preview[bot]
fb95e077e9 Bump sweetalert2 from 10.0.2 to 10.3.1 in /app
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 10.0.2 to 10.3.1.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v10.0.2...v10.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-22 08:52:01 +00:00
cutls
dc08f46909 delete custom-electron-titlebar 2020-09-18 21:49:55 +09:00
dependabot-preview[bot]
3e6a47d5f7 Bump electron-rebuild from 1.11.0 to 2.0.3 in /app
Bumps [electron-rebuild](https://github.com/electron/electron-rebuild) from 1.11.0 to 2.0.3.
- [Release notes](https://github.com/electron/electron-rebuild/releases)
- [Changelog](https://github.com/electron/electron-rebuild/blob/master/.releaserc.json)
- [Commits](https://github.com/electron/electron-rebuild/compare/v1.11.0...v2.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-17 16:10:21 +00:00
cutls
aabcfb230f Merge branch 'master' of github.com:cutls/TheDesk 2020-09-17 21:42:17 +09:00
cutls
ee99a660c2 use lazyload 2020-09-17 21:42:04 +09:00
cutls
5063061a70 to spell check false 2020-09-17 21:41:55 +09:00
Cutls
c3ce7bd516 New Crowdin updates (#324)
* New translations setting.json (Catalan)

* New translations setting.json (Danish)

* New translations setting.json (Greek)

* New translations setting.json (Finnish)

* New translations setting.json (Hebrew)

* New translations setting.json (Bulgarian)

* New translations setting.json (Romanian)

* New translations setting.json (French)

* New translations setting.json (Spanish)

* New translations setting.json (Arabic)

* New translations setting.json (Afrikaans)

* New translations setting.json (Ukrainian)

* New translations setting.json (Turkish)

* New translations setting.json (Swedish)

* New translations setting.json (Serbian (Cyrillic))

* New translations setting.json (Chinese Traditional)

* New translations setting.json (Vietnamese)

* New translations setting.json (Portuguese, Brazilian)

* New translations setting.json (Dutch)

* New translations setting.json (Hungarian)

* New translations setting.json (Italian)

* New translations setting.json (Russian)

* New translations setting.json (Norwegian)

* New translations setting.json (Polish)

* New translations setting.json (Portuguese)

* New translations index.json (Serbian (Cyrillic))

* New translations index.json (Russian)

* New translations index.json (Portuguese)

* New translations index.json (Polish)

* New translations index.json (Norwegian)

* New translations index.json (Dutch)

* New translations index.json (Italian)

* New translations index.json (Portuguese, Brazilian)

* New translations index.json (Vietnamese)

* New translations index.json (Chinese Traditional)

* New translations index.json (Swedish)

* New translations index.json (Ukrainian)

* New translations index.json (Turkish)

* New translations index.json (Arabic)

* New translations index.json (Afrikaans)

* New translations index.json (Spanish)

* New translations index.json (French)

* New translations index.json (Romanian)

* New translations index.json (Catalan)

* New translations index.json (Hungarian)

* New translations index.json (Hebrew)

* New translations index.json (Finnish)

* New translations index.json (Greek)

* New translations index.json (Danish)

* New translations index.json (Portuguese, Brazilian)

* New translations acct.json (Portuguese, Brazilian)

* New translations index.json (Portuguese, Brazilian)

* New translations main.json (Portuguese, Brazilian)

* New translations setting.json (Portuguese, Brazilian)

* New translations setting.json (Serbian (Cyrillic))

* New translations setting.json (Russian)

* New translations setting.json (Portuguese)

* New translations setting.json (Swedish)

* New translations setting.json (Polish)

* New translations setting.json (Norwegian)

* New translations setting.json (Dutch)

* New translations setting.json (Italian)

* New translations setting.json (Chinese Traditional)

* New translations setting.json (Spanish, Argentina)

* New translations setting.json (Portuguese, Brazilian)

* New translations setting.json (Vietnamese)

* New translations setting.json (Chinese Simplified)

* New translations setting.json (Ukrainian)

* New translations setting.json (Turkish)

* New translations setting.json (Afrikaans)

* New translations setting.json (Bulgarian)

* New translations setting.json (Arabic)

* New translations setting.json (Spanish)

* New translations setting.json (French)

* New translations setting.json (Romanian)

* New translations setting.json (Catalan)

* New translations setting.json (Hungarian)

* New translations setting.json (Hebrew)

* New translations setting.json (Finnish)

* New translations setting.json (Greek)

* New translations setting.json (German)

* New translations setting.json (Danish)

* New translations setting.json (Czech)

* New translations setting.json (English)

* New translations setting.json (Portuguese)

* New translations setting.json (Swedish)

* New translations setting.json (Serbian (Cyrillic))

* New translations setting.json (Russian)

* New translations setting.json (Polish)

* New translations setting.json (Norwegian)

* New translations setting.json (Dutch)

* New translations setting.json (Turkish)

* New translations setting.json (Italian)

* New translations setting.json (Catalan)

* New translations setting.json (Romanian)

* New translations setting.json (French)

* New translations setting.json (Spanish)

* New translations setting.json (Afrikaans)

* New translations setting.json (Bulgarian)

* New translations setting.json (Greek)

* New translations setting.json (Hungarian)

* New translations setting.json (Hebrew)

* New translations setting.json (Finnish)

* New translations setting.json (Czech)

* New translations setting.json (Danish)

* New translations setting.json (Arabic)

* New translations setting.json (German)

* New translations setting.json (Chinese Traditional)

* New translations setting.json (English)

* New translations setting.json (Ukrainian)

* New translations setting.json (Chinese Simplified)

* New translations setting.json (Spanish, Argentina)

* New translations setting.json (Vietnamese)

* New translations setting.json (Portuguese, Brazilian)

* New translations setting.json (Catalan)

* New translations main.json (Czech)

* New translations setting.json (Czech)

* New translations main.json (Danish)

* New translations setting.json (Danish)

* New translations main.json (German)

* New translations setting.json (German)

* New translations main.json (Greek)

* New translations setting.json (Greek)

* New translations main.json (Finnish)

* New translations main.json (Catalan)

* New translations setting.json (Spanish)

* New translations main.json (Romanian)

* New translations setting.json (Bulgarian)

* New translations setting.json (Romanian)

* New translations setting.json (French)

* New translations main.json (Spanish)

* New translations main.json (French)

* New translations setting.json (Arabic)

* New translations main.json (Bulgarian)

* New translations main.json (Arabic)

* New translations setting.json (Afrikaans)

* New translations main.json (Afrikaans)

* New translations main.json (Chinese Simplified)

* New translations setting.json (Ukrainian)

* New translations main.json (Ukrainian)

* New translations setting.json (Turkish)

* New translations main.json (Turkish)

* New translations setting.json (Swedish)

* New translations main.json (Swedish)

* New translations setting.json (Chinese Simplified)

* New translations setting.json (Portuguese, Brazilian)

* New translations main.json (Portuguese, Brazilian)

* New translations setting.json (Serbian (Cyrillic))

* New translations setting.json (English)

* New translations setting.json (Spanish, Argentina)

* New translations main.json (Spanish, Argentina)

* New translations main.json (Chinese Traditional)

* New translations setting.json (Vietnamese)

* New translations main.json (Vietnamese)

* New translations setting.json (Chinese Traditional)

* New translations setting.json (Italian)

* New translations main.json (Serbian (Cyrillic))

* New translations main.json (Hungarian)

* New translations main.json (Italian)

* New translations setting.json (Hungarian)

* New translations setting.json (Dutch)

* New translations setting.json (Hebrew)

* New translations main.json (Hebrew)

* New translations setting.json (Finnish)

* New translations main.json (Dutch)

* New translations main.json (Portuguese)

* New translations setting.json (Russian)

* New translations main.json (Russian)

* New translations setting.json (Portuguese)

* New translations setting.json (Polish)

* New translations main.json (Polish)

* New translations setting.json (Norwegian)

* New translations main.json (Norwegian)

* New translations main.json (English)

* New translations main.json (Arabic)

* New translations main.json (Afrikaans)

* New translations main.json (Bulgarian)

* New translations main.json (Romanian)

* New translations main.json (French)

* New translations main.json (Spanish)

* New translations main.json (Turkish)

* New translations main.json (Swedish)

* New translations main.json (Russian)

* New translations main.json (Serbian (Cyrillic))

* New translations main.json (Portuguese)

* New translations main.json (Ukrainian)

* New translations main.json (Vietnamese)

* New translations main.json (Spanish, Argentina)

* New translations main.json (Portuguese, Brazilian)

* New translations main.json (Chinese Traditional)

* New translations main.json (Chinese Simplified)

* New translations main.json (Italian)

* New translations main.json (Polish)

* New translations main.json (Danish)

* New translations main.json (Greek)

* New translations main.json (German)

* New translations main.json (Czech)

* New translations main.json (Catalan)

* New translations main.json (Finnish)

* New translations main.json (Norwegian)

* New translations main.json (Dutch)

* New translations main.json (Hungarian)

* New translations main.json (Hebrew)

* New translations main.json (English)

* New translations acct.json (Portuguese, Brazilian)

* New translations main.json (Portuguese, Brazilian)

* New translations main.json (Portuguese, Brazilian)

* New translations setting.json (Portuguese, Brazilian)

* New translations index.json (Portuguese, Brazilian)

* New translations main.json (Portuguese, Brazilian)

* New translations setting.json (Portuguese, Brazilian)

* New translations update.json (Portuguese, Brazilian)

* New translations index.json (Portuguese, Brazilian)

* New translations main.json (Portuguese, Brazilian)

* New translations acct.json (Italian)

* New translations index.json (Italian)

* New translations main.json (Italian)

* New translations setting.json (Italian)

* New translations acct.json (Italian)

* New translations index.json (Italian)

* New translations main.json (Italian)

* New translations index.json (Italian)

* New translations main.json (Italian)

* New translations setting.json (Italian)

* New translations index.json (Italian)

* New translations main.json (Italian)

* New translations setting.json (Italian)

* New translations index.json (Italian)

* New translations index.json (Italian)

* New translations main.json (Italian)

* New translations setting.json (Italian)

* New translations update.json (Italian)

* New translations main.json (Italian)

* New translations setting.json (Italian)

* New translations update.json (Italian)

* New translations main.json (Italian)

* New translations main.json (Italian)

* New translations main.json (Italian)

* New translations setting.json (Italian)

* New translations setting.json (Italian)

* New translations setting.json (Italian)

* New translations setting.json (Italian)

* New translations setting.json (Italian)

* New translations setting.json (Italian)

* New translations setting.json (Italian)

* New translations setting.json (Italian)

* New translations setting.json (Italian)

* New translations setting.json (Italian)

* New translations setting.json (Italian)

* New translations setting.json (Italian)
2020-09-17 21:31:47 +09:00
Cutls
95efd96c3e Merge pull request #328 from cutls/dependabot/npm_and_yarn/app/electron-dl-3.0.2
Bump electron-dl from 3.0.1 to 3.0.2 in /app
2020-09-17 21:29:23 +09:00
Cutls
abf5274c06 Merge branch 'master' into dependabot/npm_and_yarn/app/electron-dl-3.0.2 2020-09-17 21:28:40 +09:00
dependabot-preview[bot]
db5d3182bc Bump electron-dl from 3.0.1 to 3.0.2 in /app
Bumps [electron-dl](https://github.com/sindresorhus/electron-dl) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/sindresorhus/electron-dl/releases)
- [Commits](https://github.com/sindresorhus/electron-dl/compare/v3.0.1...v3.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-17 12:27:26 +00:00
Cutls
0527c978ce Merge pull request #329 from cutls/dependabot/npm_and_yarn/app/chokidar-3.4.2
Bump chokidar from 3.4.1 to 3.4.2 in /app
2020-09-17 21:26:54 +09:00
Cutls
b36de5dc26 Merge pull request #332 from cutls/dependabot/npm_and_yarn/app/lodash-4.17.20
Bump lodash from 4.17.19 to 4.17.20 in /app
2020-09-17 21:26:30 +09:00
Cutls
92b47e56f7 Merge pull request #333 from cutls/dependabot/npm_and_yarn/app/custom-electron-titlebar-3.2.4
Bump custom-electron-titlebar from 3.2.3 to 3.2.4 in /app
2020-09-17 21:26:17 +09:00
Cutls
fc967f92f3 Merge pull request #335 from cutls/dependabot/npm_and_yarn/app/vue-2.6.12
Bump vue from 2.6.11 to 2.6.12 in /app
2020-09-17 21:26:02 +09:00
Cutls
1882bbf0b6 Merge pull request #339 from cutls/dependabot/npm_and_yarn/app/jimp-0.16.1
Bump jimp from 0.14.0 to 0.16.1 in /app
2020-09-17 21:25:42 +09:00
Cutls
a3fed1f6f0 Merge pull request #345 from cutls/dependabot/npm_and_yarn/app/yargs-parser-15.0.1
[Security] Bump yargs-parser from 15.0.0 to 15.0.1 in /app
2020-09-17 21:25:25 +09:00
Cutls
eae0fd1768 Merge pull request #348 from cutls/dependabot/npm_and_yarn/app/sweetalert2-10.0.2
Bump sweetalert2 from 9.17.0 to 10.0.2 in /app
2020-09-17 21:25:04 +09:00
dependabot-preview[bot]
a7a99fc3a2 [Security] Bump yargs-parser from 15.0.0 to 15.0.1 in /app
Bumps [yargs-parser](https://github.com/yargs/yargs-parser) from 15.0.0 to 15.0.1. **This update includes a security fix.**
- [Release notes](https://github.com/yargs/yargs-parser/releases)
- [Changelog](https://github.com/yargs/yargs-parser/blob/master/docs/CHANGELOG-full.md)
- [Commits](https://github.com/yargs/yargs-parser/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-17 12:24:41 +00:00
dependabot-preview[bot]
fedd80477b Bump chokidar from 3.4.1 to 3.4.2 in /app
Bumps [chokidar](https://github.com/paulmillr/chokidar) from 3.4.1 to 3.4.2.
- [Release notes](https://github.com/paulmillr/chokidar/releases)
- [Commits](https://github.com/paulmillr/chokidar/compare/3.4.1...3.4.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-17 12:24:21 +00:00
Cutls
844d145e09 Merge pull request #350 from Ding-Fan/patch-1
Update README.md
2020-09-17 21:23:57 +09:00
Cutls
a817c14925 Merge pull request #354 from cutls/dependabot/npm_and_yarn/app/electron-builder-22.8.1
Bump electron-builder from 22.7.0 to 22.8.1 in /app
2020-09-17 21:23:20 +09:00
Cutls
70e145eceb Merge branch 'master' into dependabot/npm_and_yarn/app/electron-builder-22.8.1 2020-09-17 21:23:11 +09:00
Cutls
438f11c11d Merge pull request #351 from cutls/dependabot/npm_and_yarn/app/electron-10.1.2
Bump electron from 9.1.1 to 10.1.2 in /app
2020-09-17 21:22:32 +09:00
dependabot-preview[bot]
edf75d1915 Bump electron-builder from 22.7.0 to 22.8.1 in /app
Bumps [electron-builder](https://github.com/electron-userland/electron-builder) from 22.7.0 to 22.8.1.
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/compare/v22.7.0...v22.8.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-17 12:08:46 +00:00
dependabot-preview[bot]
9de26d9998 Bump lodash from 4.17.19 to 4.17.20 in /app
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.20.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.19...4.17.20)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-17 12:08:36 +00:00
dependabot-preview[bot]
ab5a786197 Bump electron from 9.1.1 to 10.1.2 in /app
Bumps [electron](https://github.com/electron/electron) from 9.1.1 to 10.1.2.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/master/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v9.1.1...v10.1.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-17 12:08:35 +00:00
Cutls
272b613e18 Merge pull request #352 from cutls/dependabot/npm_and_yarn/app/eslint-7.9.0
Bump eslint from 7.6.0 to 7.9.0 in /app
2020-09-17 21:06:49 +09:00
cutls
35c10e0c7d css fix 2020-09-17 21:05:08 +09:00
cutls
7795adf173 #353 subscription type streaming JSON bug 2020-09-17 21:05:01 +09:00
dependabot-preview[bot]
dca2e5fdab Bump eslint from 7.6.0 to 7.9.0 in /app
Bumps [eslint](https://github.com/eslint/eslint) from 7.6.0 to 7.9.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.6.0...v7.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-15 09:37:21 +00:00
Ding
eb6dcdfa5d Update README.md
fix typo
2020-09-13 00:49:27 +08:00
cutls
9f4f788519 toogle with mouseover 2020-09-11 21:25:27 +09:00
dependabot-preview[bot]
1d7588e4e4 Bump sweetalert2 from 9.17.0 to 10.0.2 in /app
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 9.17.0 to 10.0.2.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v9.17.0...v10.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-09 16:43:12 +00:00
dependabot-preview[bot]
db4d457325 Bump jimp from 0.14.0 to 0.16.1 in /app
Bumps [jimp](https://github.com/oliver-moran/jimp) from 0.14.0 to 0.16.1.
- [Release notes](https://github.com/oliver-moran/jimp/releases)
- [Changelog](https://github.com/oliver-moran/jimp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/oliver-moran/jimp/compare/v0.14.0...v0.16.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-29 15:10:29 +00:00
dependabot-preview[bot]
d87245899e Bump vue from 2.6.11 to 2.6.12 in /app
Bumps [vue](https://github.com/vuejs/vue) from 2.6.11 to 2.6.12.
- [Release notes](https://github.com/vuejs/vue/releases)
- [Commits](https://github.com/vuejs/vue/compare/v2.6.11...v2.6.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-20 20:30:38 +00:00
dependabot-preview[bot]
ac6260ab24 Bump custom-electron-titlebar from 3.2.3 to 3.2.4 in /app
Bumps [custom-electron-titlebar](https://github.com/AlexTorresSk/custom-electron-titlebar) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/AlexTorresSk/custom-electron-titlebar/releases)
- [Commits](https://github.com/AlexTorresSk/custom-electron-titlebar/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-14 22:58:13 +00:00
174 changed files with 9240 additions and 5093 deletions

9
.gitignore vendored
View File

@@ -20,7 +20,16 @@ app/view/bg
app/view/cs app/view/cs
app/view/ps app/view/ps
app/view/es-AR app/view/es-AR
app/view/it-IT
app/git app/git
*.code-workspace *.code-workspace
releasenote.md releasenote.md
app/yarn-error.log app/yarn-error.log
app/js/platform/aiscript.js
app/view/es-ES
app/view/fr-FR
app/view/no-NO
app/view/zh-CN
app/view/ru-RU
app/view/zh-TW
app/view/pt-BR

View File

@@ -6,12 +6,13 @@ language: node_js
env: env:
- YARN_GPG=no - YARN_GPG=no
node_js: node_js:
- '10.15.2' - '12.17.0'
cache: cache:
yarn: true yarn: true
script: node -v script: node -v
before_deploy: before_deploy:
- yarn global add electron-builder - yarn global add electron-builder
- yarn global add browserify
- cd app - cd app
- VERSION=$(cat package.json | grep version | head -1 | awk -F= "{ print $2 }" | sed 's/[version:,\",]//g' | tr -d '[[:space:]]') - VERSION=$(cat package.json | grep version | head -1 | awk -F= "{ print $2 }" | sed 's/[version:,\",]//g' | tr -d '[[:space:]]')
- yarn install --no-lockfile --prod - yarn install --no-lockfile --prod

View File

@@ -11,7 +11,7 @@
Mastodon/Misskey client for PC(Windows/Linux/macOS) Mastodon/Misskey client for PC(Windows/Linux/macOS)
オープンソースSNSマストドン/MisskeyのPC向けクライアント[日本語はこちら](README_ja.md) オープンソースSNSマストドン/MisskeyのPC向けクライアント[日本語はこちら](README_ja.md)
Download:[TheDesk](https://thedesk.top) [![check](https://status.cutls.com/badge/?site=thedesk.top)](https://status.cutls.com) Download:[TheDesk](https://thedesk.top)
On GitHub Releases, `-store.*` assets are made for some application store or manager(Snapcraft, Homebrew, Microsoft Store). On GitHub Releases, `-store.*` assets are made for some application store or manager(Snapcraft, Homebrew, Microsoft Store).
They do not check the latest version(Which you can get the latest ver or not depends on the store) They do not check the latest version(Which you can get the latest ver or not depends on the store)
@@ -31,19 +31,24 @@ The icon is provided under [Creative Commons BY-NC-SA](https://creativecommons.o
* [SVG 4095x4096](https://d2upiril6ywqp9.cloudfront.net/press/thedesk-fullcolor.svg) * [SVG 4095x4096](https://d2upiril6ywqp9.cloudfront.net/press/thedesk-fullcolor.svg)
* [ico 256x256](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.ico) * [ico 256x256](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.ico)
* [icns old](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.icns) * [icns old](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.icns)
* [Illustrator .ai](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.ai)
The default sounds of notifications is provided [Creative Commons BY](https://creativecommons.org/licenses/by/4.0/) The default sounds of notifications is provided [Creative Commons BY](https://creativecommons.org/licenses/by/4.0/)
## Terms of Use ## Privacy Policy
* [利用規約(Terms of Use(ja))](https://thedesk.top/tos.html)
* [プライバシーポリシー(Privacy Policy(ja))](https://thedesk.top/priv.html) * [プライバシーポリシー(Privacy Policy(ja))](https://thedesk.top/priv.html)
## Language ## Language
* 日本語(Japanese) * 日本語(Japanese)
* 日本語, 関西(Japanese, Kansai)
* English * English
* de, cs, bg(from Crowdin) * български(Bulgarian) with [translate project](https://translate.thedesk.top/project/thedesk/bg)
* Česky(Czech) with [translate project](https://translate.thedesk.top/project/thedesk/cs)
* Deutsch(German) with [translate project](https://translate.thedesk.top/project/thedesk/de)
* Español, argentina(Spanish, Argentina) with [translate project](https://translate.thedesk.top/project/thedesk/es-AR)
* italiano(Italian) with [translate project](https://translate.thedesk.top/project/thedesk/it-IT)
### Translation ### Translation
@@ -51,15 +56,17 @@ Crowdin project is available! Visit: https://translate.thedesk.top
### Run on developer mode ### Run on developer mode
`npm run dev` on `app` folder. `npm run dev` on `app` folder.(before you should run `yarn construct` to make HTML views)
If you change HTML or language files, you should rub to `yarn construct`. Or `yarn watchview` can always watch and construct such files with 1 process.
## Contributors ## Contributors
Build for macOS Build for macOS(Now: Travis CI)
* [toneji](https://minohdon.jp/@toneji) * [toneji](https://minohdon.jp/@toneji)
Build for Linux Build for Linux(Now: Travis CI)
* [popn_ja](https://popon.pptdn.jp/@popn_ja) * [popn_ja](https://popon.pptdn.jp/@popn_ja)
@@ -69,7 +76,8 @@ Fellow coder
## Build ## Build
You have to use either **npm** or **yarn**. Whichever you use, it works well. You should use `yarn` but you can use also `npm`, but if you build on Windows, you should strongly use `yarn`
`yarn ***` and `npm run ***` has the same meaning,
### npm ### npm
@@ -94,27 +102,11 @@ yarn install
yarn construct yarn construct
``` ```
run `npm run dev` or `yarn dev` to launch developer version with console(click `view`) run `yarn dev` to launch developer version with console(click `view`)
### electron-builder(Recommended) ### electron-builder(Recommended)
Use scripts(they can work well with npm, **yarn**). Use scripts(they can work well with npm, **yarn**).
#### npm
```sh
# Build for current platform
npm run build
# Select build target
## Windows
npm run build:win
## Windows and Linux (The macOS target should run on macOS. So, this option hasn't include the build for macOS)
npm run build:all
```
#### yarn
```sh ```sh
# Build for current platform # Build for current platform
yarn build yarn build
@@ -131,7 +123,7 @@ yarn build:all
Config is all on package.json Config is all on package.json
### electron-packager ### electron-packager
`npm install --save-dev electron-rebuild` `yarn --D electron-rebuild`
Linux/macOS Linux/macOS
`./node_modules/.bin/electron-rebuild` `./node_modules/.bin/electron-rebuild`
@@ -142,19 +134,25 @@ To install Python 2.x and Visual C++ for Windows, before running `npm install --
`npm install --global windows-build-tools` `npm install --global windows-build-tools`
Windows Windows
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --win32metadata.CompanyName="TheDesk&Cutls.com" --win32metadata.FileDescription="TheDesk" --win32metadata.OriginalFilename="TheDesk" --win32metadata.InternalName="TheDesk" --win32metadata.ProductName="TheDesk" --platform=win32 --arch=all --electron-version=4.0.5 --icon=.\app\thedesk.ico --overwrite` ```
electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --win32metadata.CompanyName="TheDesk&Cutls.com" --win32metadata.FileDescription="TheDesk" --win32metadata.OriginalFilename="TheDesk" --win32metadata.InternalName="TheDesk" --win32metadata.ProductName="TheDesk" --platform=win32 --arch=all --electron-version=4.0.5 --icon=.\app\thedesk.ico --overwrite
```
Linux Linux
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=linux --arch=x64,ia32 --electron-version=4.0.5 --overwrite` ```
electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=linux --arch=x64,ia32 --electron-version=4.0.5 --overwrite
```
macOS macOS
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=darwin --arch=all --electron-version=4.0.5 --icon=./app/icon.icns --overwrite` ```
electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=darwin --arch=all --electron-version=4.0.5 --icon=./app/icon.icns --overwrite
```
### PWA support ### PWA support
TheDesk is a wed-based app, so you can run it on a browser. Of course, the main stream is as Electron. Some features won't work as well as Electron. TheDesk is a web-based app, so you can run it on a browser. Of course, the main stream is as Electron. Some features won't work as well as Electron.
You can run `npm run build:pwa` to build as PWA, including `manifest.json` and the ServiceWorker. You can run `npm run build:pwa` to build as PWA, including `manifest.json` and the ServiceWorker.
**You have to rename `node_modules` to `dependencies` to run as a web application. (restricted by Netlify)** **You have to rename `node_modules` to `dependencies` to run as a web application. (restricted by Netlify, but always you should do to run as PWA)**
Check the app on Chrome or Firefox: [Here](https://app.thedesk.top) (it follows the `master` branch, so not stable.) Check the app on Chrome or Firefox: [Here](https://app.thedesk.top) (it follows the `master` branch, so not stable.)
[![Netlify Status](https://api.netlify.com/api/v1/badges/6916503b-2882-43f7-9681-ab814e6d28f9/deploy-status)](https://app.netlify.com/sites/thedesk/deploys) [![Netlify Status](https://api.netlify.com/api/v1/badges/6916503b-2882-43f7-9681-ab814e6d28f9/deploy-status)](https://app.netlify.com/sites/thedesk/deploys)
@@ -165,6 +163,6 @@ Did you find a bug with Pleroma accounts?
Pleroma **does not** follow Mastodon API rules completely although Pleroma developers say so. Pleroma **does not** follow Mastodon API rules completely although Pleroma developers say so.
Please write issues to improve TheDesk affinity with Pleroma. Please write issues to improve TheDesk affinity with Pleroma.
## Vulnerabilities when `npm i`??? ## Vulnerabilities when `yarn install`???
No, if your npm says materialize-css has vulnerabilities(CVE-2019-11002/3/4), look at [here](https://github.com/Dogfalo/materialize/issues/6286) under discussion. No, if your npm says materialize-css has vulnerabilities(CVE-2019-11002/3/4), look at [here](https://github.com/Dogfalo/materialize/issues/6286) under discussion, but I do not think this report is really fatal.

View File

@@ -10,7 +10,7 @@
![Contributors](https://flat.badgen.net/github/contributors/cutls/TheDesk) ![Contributors](https://flat.badgen.net/github/contributors/cutls/TheDesk)
Mastodon/Misskey client for PC(Windows/Linux/macOS) Mastodon/Misskey client for PC(Windows/Linux/macOS)
オープンソースSNSマストドン/MisskeyのPC向けクライアント オープンソースSNSマストドン/MisskeyのPC向けクライアント
Download:[TheDesk](https://thedesk.top) [![check](https://status.cutls.com/badge/?site=thedesk.top)](https://status.cutls.com) Download:[TheDesk](https://thedesk.top)
[Pixiv FANBOX](https://www.pixiv.net/fanbox/creator/28105985) [Pixiv FANBOX](https://www.pixiv.net/fanbox/creator/28105985)
@@ -33,32 +33,39 @@ Download:[TheDesk](https://thedesk.top) [![check](https://status.cutls.com/badge
標準の通知音は [Creative Commons BY](https://creativecommons.org/licenses/by/4.0/) で提供されています。 標準の通知音は [Creative Commons BY](https://creativecommons.org/licenses/by/4.0/) で提供されています。
## 利用規約 ## プライバシーポリシー
* [利用規約](https://thedesk.top/tos.html)
* [プライバシーポリシー](https://thedesk.top/priv.html) * [プライバシーポリシー](https://thedesk.top/priv.html)
## 言語 ## 言語
* 日本語 * 日本語
* 日本語(関西)
* English(英語) * English(英語)
* ドイツ語, チェコ語, ブルガリア語(from Crowdin) * ドイツ語, チェコ語, ブルガリア語, イタリア語, スペイン語アルゼンチン方言 (from [Crowdin](https://translate.thedesk.top))
### 翻訳 ### 翻訳
Crowdinから翻訳に参加してみませんか: https://translate.thedesk.top Crowdinから翻訳に参加してみませんか: https://translate.thedesk.top
以下、`yarn ***`は全て`npm run ***`で実行できます。(yarnが推奨)
### デベロッパーモード ### デベロッパーモード
`npm run dev``app`フォルダ内で実行 `yarn dev``app`フォルダ内で実行
ただし、最初に`yarn construct`必須。
watchモード(ホットリロードはしません): `yarn construct`の代わりに`yarn watchview`
HTMLや言語定義の変更について、このコマンドで継続監視します。その他のアセットの変更には不要です。
プロセス1つを占拠するので、`yarn dev`は他のプロセスで行ってください。
## 主なコントリビューター ## 主なコントリビューター
macOSビルダー macOSビルダー(現在はTravis CI)
* [とねぢ](https://minohdon.jp/@toneji) * [とねぢ](https://minohdon.jp/@toneji)
Linuxビルダー Linuxビルダー(現在はTravis CI)
* [ぽぷんじゃ](https://popon.pptdn.jp/@popn_ja) * [ぽぷんじゃ](https://popon.pptdn.jp/@popn_ja)
@@ -68,7 +75,7 @@ Linuxビルダー
## ビルド ## ビルド
npmでもyarnでも好きな方を選んでください。 npmでもyarnでも好きな方を選んでください。Windows環境ではyarnを強く推奨します。
### npm ### npm
@@ -97,22 +104,6 @@ yarn construct
scriptsを利用します scriptsを利用します
#### npm
```sh
# 実行している環境向けにビルド
npm run build
# ターゲットを指定してビルド
## Windows
npm run build:win
## macOS向けのビルドにはmacOSで実行する必要があるためこのコマンドではビルドされません
npm run build:all
```
#### yarn
```sh ```sh
# 実行している環境向けにビルド # 実行している環境向けにビルド
yarn build yarn build
@@ -125,10 +116,11 @@ yarn build:win
yarn build:all yarn build:all
``` ```
ビルド設定はすべてpackage.jsonに記載しています。 ビルド設定はすべてpackage.jsonに記載しています。
### electron-packager(非推奨) ### electron-packager(非推奨)
`npm install --save-dev electron-rebuild` `yarn -D electron-rebuild`
Linux/macOS Linux/macOS
`./node_modules/.bin/electron-rebuild` `./node_modules/.bin/electron-rebuild`
@@ -141,19 +133,25 @@ WindowsでPython 2.xやVisualC++を一発でインストールできるツール
日本語話者向けですが、macOSビルドにはXCodeが要るとの情報があります。([とねぢ](https://minohdon.jp/@toneji)氏談) 日本語話者向けですが、macOSビルドにはXCodeが要るとの情報があります。([とねぢ](https://minohdon.jp/@toneji)氏談)
Windows Windows
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --win32metadata.CompanyName="TheDesk&Cutls.com" --win32metadata.FileDescription="TheDesk" --win32metadata.OriginalFilename="TheDesk" --win32metadata.InternalName="TheDesk" --win32metadata.ProductName="TheDesk" --platform=win32 --arch=all --electron-version=4.0.5 --icon=.\app\thedesk.ico --overwrite` ```
electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --win32metadata.CompanyName="TheDesk&Cutls.com" --win32metadata.FileDescription="TheDesk" --win32metadata.OriginalFilename="TheDesk" --win32metadata.InternalName="TheDesk" --win32metadata.ProductName="TheDesk" --platform=win32 --arch=all --electron-version=4.0.5 --icon=.\app\thedesk.ico --overwrite
```
Linux Linux
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=linux --arch=x64,ia32 --electron-version=4.0.5 --overwrite` ```
electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=linux --arch=x64,ia32 --electron-version=4.0.5 --overwrite
```
macOS macOS
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=darwin --arch=all --electron-version=4.0.5 --icon=./app/icon.icns --overwrite` ```
electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=darwin --arch=all --electron-version=4.0.5 --icon=./app/icon.icns --overwrite
```
### PWAとして実行 ### PWAとして実行
TheDeskはウェブ技術を使用して作られているので、ブラウザで動かすこともできます。もちろん、Electron向けに設計されているので一部機能は動きません。 TheDeskはウェブ技術を使用して作られているので、ブラウザで動かすこともできます。もちろん、Electron向けに設計されているので一部機能は動きません。
`npm run build:pwa`でビルドできます。PWAに必要な`manifest.json`やサービスワーカーなども要員されています。 `yarn build:pwa`でビルドできます。PWAに必要な`manifest.json`やサービスワーカーなども用意されています。
**`node_modules``dependencies`にリネームしないと動きません。(Netlifyの制限です)** **`node_modules`を`dependencies`にリネームしないと動きません。(Netlifyの制限ですが、Netlify以外で動かす場合にも必須です)**
ChromeまたはFirefoxでチェック: [こちら](https://app.thedesk.top) (`master`ブランチに追従しています。不安定です。) ChromeまたはFirefoxでチェック: [こちら](https://app.thedesk.top) (`master`ブランチに追従しています。不安定です。)
[![Netlify Status](https://api.netlify.com/api/v1/badges/6916503b-2882-43f7-9681-ab814e6d28f9/deploy-status)](https://app.netlify.com/sites/thedesk/deploys) [![Netlify Status](https://api.netlify.com/api/v1/badges/6916503b-2882-43f7-9681-ab814e6d28f9/deploy-status)](https://app.netlify.com/sites/thedesk/deploys)
@@ -167,7 +165,7 @@ Issuesに書いてある問題についてはなるべく対処しますので
[TheDesk - マストドン日本語ウィキ](https://ja.mstdn.wiki/TheDesk) [TheDesk - マストドン日本語ウィキ](https://ja.mstdn.wiki/TheDesk)
## `npm i`したら脆弱性あるって言われた ## `yarn install`したら脆弱性あるって言われた
materialize-cssの脆弱性(CVE-2019-11002/3/4)については[こちら](https://github.com/Dogfalo/materialize/issues/6286)で本当に脆弱性かどうか議論しています。 materialize-cssの脆弱性(CVE-2019-11002/3/4)については[こちら](https://github.com/Dogfalo/materialize/issues/6286)で本当に脆弱性かどうか議論しています。
実際には害が無いものと思われます。 実際には害が無いものと思われます。

11
app/aiscript.js Normal file
View File

@@ -0,0 +1,11 @@
const { AiScript, parse, values, utils } = require('@syuilo/aiscript')
global.sanitizeHtml = require('sanitize-html')
global.asValue = values
global.AiScript = AiScript
global.asParse = parse
global.asCommon = {
'TheDesk:console': values.FN_NATIVE((z) => {
console.log(z[0].value)
})
}
global.asUtil = utils

View File

@@ -88,4 +88,7 @@ i.left {
#domain-list .title { #domain-list .title {
font-size: 1.3rem; font-size: 1.3rem;
}
.text-line-icon {
font-size: 1rem;
} }

View File

@@ -21,7 +21,8 @@ html {
.action-menu-item:hover { .action-menu-item:hover {
filter: brightness(80%) !important; filter: brightness(80%) !important;
} }
.btn, .btn-flat { .btn,
.btn-flat {
font-size: 1.1rem; font-size: 1.1rem;
margin: 0.4rem; margin: 0.4rem;
text-transform: none; text-transform: none;
@@ -89,6 +90,15 @@ option {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
#imagewrap img.rotate-90 {
transform: rotate(-90deg)
}
#imagewrap img.rotate-180 {
transform: rotate(-180deg)
}
#imagewrap img.rotate-270 {
transform: rotate(-270deg)
}
.pointer { .pointer {
cursor: pointer; cursor: pointer;
} }
@@ -340,16 +350,16 @@ blockquote:before,
flex-wrap: wrap; flex-wrap: wrap;
flex-direction: column; flex-direction: column;
} }
input[type="color"] { input[type='color'] {
-webkit-appearance: none; -webkit-appearance: none;
border: none; border: none;
width: 32px; width: 32px;
height: 32px; height: 32px;
} }
input[type="color"]::-webkit-color-swatch-wrapper { input[type='color']::-webkit-color-swatch-wrapper {
padding: 0; padding: 0;
} }
input[type="color"]::-webkit-color-swatch { input[type='color']::-webkit-color-swatch {
border: none; border: none;
} }
#menu { #menu {
@@ -567,9 +577,15 @@ textarea {
/*スクロールバー*/ /*スクロールバー*/
::-webkit-scrollbar { ::-webkit-scrollbar {
width: 5px; width: 5px;
height: 10px; height: 12px;
background: rgba(0, 0, 0, 0.05); background: rgba(0, 0, 0, 0.05);
} }
.thickScrollBar ::-webkit-scrollbar {
height: 18px;
}
.thinScrollBar ::-webkit-scrollbar {
height: 5px;
}
::-webkit-scrollbar-track { ::-webkit-scrollbar-track {
-webkit-border-radius: 5px; -webkit-border-radius: 5px;
border-radius: 5px; border-radius: 5px;
@@ -581,6 +597,15 @@ textarea {
background: #607d8b; background: #607d8b;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5); -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
} }
::-webkit-scrollbar-thumb::after {
content: '';
position: absolute;
top: 100%;
left: 50%;
margin-left: -15px;
border: 15px solid transparent;
border-top: 15px solid #e0edff;
}
/* Web Fonts */ /* Web Fonts */
@font-face { @font-face {
font-family: 'Open Sans'; font-family: 'Open Sans';
@@ -631,6 +656,33 @@ button {
} }
.via-dropdown { .via-dropdown {
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
overflow-x: hidden; overflow-x: hidden;
}
#re-online {
background-color: rgb(38, 92, 153);
position: fixed;
width: 100vw;
height: 2rem;
padding: 0.25rem;
color: white;
z-index: 1000;
}
#offline {
background-color: rgb(153, 38, 38);
position: fixed;
width: 100vw;
height: 2rem;
padding: 0.25rem;
color: white;
z-index: 999;
}
.pluginNex {
width: 2rem;
text-align: center;
}
.pluginNex span {
font-size: 2rem;
position: relative;
top: -4px;
} }

View File

@@ -64,9 +64,10 @@ textarea {
} }
#emoji { #emoji {
} }
#suggest { #suggest, #draft {
max-height: 23rem; max-height: 23rem;
overflow-y: scroll; overflow-y: scroll;
overflow-x: hidden;
} }
#emoji-list { #emoji-list {
width: 100%; width: 100%;

View File

@@ -93,7 +93,7 @@
display: grid; display: grid;
grid-template-columns: 3rem 2.3rem 2.5fr 1fr 4.6rem; grid-template-columns: 3rem 2.3rem 2.5fr 1fr 4.6rem;
grid-template-rows: 1.7rem 1.5rem; grid-template-rows: 1.7rem 1.5rem;
grid-template-areas: 'cover name name artist refresh' 'cover progress progress progress time'; grid-template-areas: 'cover name name name refresh' 'cover progress progress progress time';
} }
#spot-refresh { #spot-refresh {
grid-area: refresh; grid-area: refresh;
@@ -108,18 +108,12 @@
overflow: hidden; overflow: hidden;
line-height: 1.92rem; line-height: 1.92rem;
} }
#spot-artist {
grid-area: artist;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
line-height: 1.92rem;
}
#spot-img { #spot-img {
width: 90%; width: 90%;
} }
#spot-time { #spot-time {
grid-area: time; grid-area: time;
line-height: 0.5rem;
} }
.progress { .progress {
grid-area: progress; grid-area: progress;
@@ -243,7 +237,6 @@ iframe,
flex: 1; flex: 1;
overflow-y: scroll; overflow-y: scroll;
overflow-x: hidden; overflow-x: hidden;
background-color: var(--bg);
} }
.additional { .additional {
overflow-x: scroll; overflow-x: scroll;
@@ -644,6 +637,7 @@ p:not(:last-child) {
text-align: left; text-align: left;
padding: 5px; padding: 5px;
height: 70px; height: 70px;
text-align: center;
} }
.notf-exclude-btn:hover { .notf-exclude-btn:hover {
background-color: inherit !important; background-color: inherit !important;

View File

@@ -1,151 +1,162 @@
/*アイコンをクリックした時とかにでてくるユーザーデータ*/ /*アイコンをクリックした時とかにでてくるユーザーデータ*/
#his-data { #his-data {
background-repeat: no-repeat; background-repeat: no-repeat;
background-image: url("../img/loading.svg"); background-image: url('../img/loading.svg');
overflow-y: hidden; overflow-y: hidden;
} }
#his-data .btn .material-icons{ #his-data .btn .material-icons {
float:left; float: left;
} }
#his-data-content { #his-data-content {
display: flex; display: flex;
justify-content: center; justify-content: center;
} }
#his-name { #his-name {
font-size: 1.5rem; font-size: 1.5rem;
} }
#his-prof { #his-prof {
float: left; width: 7.7rem;
width: 7.7rem; margin-right: 0.4rem;
margin-right: 0.4rem;
} }
.his-float { .his-float {
overflow-y: scroll; overflow-y: scroll;
padding: 0.4rem; padding: 0.4rem;
} }
#his-float-data { #his-float-data {
height: 100%; height: 100%;
overflow-y: hidden; overflow-y: hidden;
} }
#his-leftside { #his-leftside {
width: 38.4rem; width: 28.4rem;
max-width: 30vw;
} }
#his-float-timeline { #his-float-timeline {
max-width: 59.6rem; max-width: 47.5rem;
height: 100%; min-width: calc(100% - 29.4rem);
overflow-y: hidden; height: 100%;
overflow-y: hidden;
} }
#his-basic-prof { #his-basic-prof {
min-height: 10rem; display: flex;
min-height: 10rem;
} }
#his-field { #his-field {
vertical-align: baseline; vertical-align: baseline;
text-align: center; text-align: center;
padding: 0; padding: 0;
} }
#his-field tr { #his-field tr {
height: 1.5rem; height: 1.5rem;
} }
.his-field-title { .his-field-title {
height: 1.5rem; height: 1.5rem;
padding: 0; padding: 0;
background-color: #757575; background-color: #757575;
text-align: center; text-align: center;
padding: 0.4rem; padding: 0.4rem;
margin-bottom: 1px; margin-bottom: 1px;
width: 30%; width: 30%;
} }
.his-field-content { .his-field-content {
height: 1.5rem; height: 1.5rem;
padding: 0; padding: 0;
padding-left: 0.4rem; padding-left: 0.4rem;
} }
.his-var-content a span.ellipsis:after { .his-var-content a span.ellipsis:after {
content: "..."; content: '...';
} }
.his-var-content a:not(.mention) span:last-of-type { .his-var-content a:not(.mention) span:last-of-type {
display: none; display: none;
} }
#his-data a .rep_ct, #his-data a .rep_ct,
#his-data a .rt_ct, #his-data a .rt_ct,
#his-data a .fav_ct { #his-data a .fav_ct {
display: inline !important; display: inline !important;
} }
#his-data-show { #his-data-show {
margin: 1.5rem; margin: 1.5rem;
margin-left: 3.8rem; margin-left: 3.8rem;
margin-right: 3.8rem; margin-right: 3.8rem;
background-color: var(--his-data); background-color: var(--his-data);
height: calc(100% - 1.5rem); height: calc(100% - 1.5rem);
margin-bottom: 0; margin-bottom: 0;
padding: 0.4rem; padding: 0.4rem;
} }
#his-data-wrap { #his-data-wrap {
display: flex; display: flex;
} }
.his-var-content { .his-var-content {
overflow-y: scroll; overflow-y: scroll;
overflow-x: hidden; overflow-x: hidden;
height: calc(100% - 3.4rem); height: calc(100% - 3.4rem);
padding-bottom: 60px; padding-bottom: 60px;
} }
#my-data-nav .btn { #my-data-nav .btn {
width: 10.7rem; width: 10.6rem;
} }
.active-back { #my-data-nav .active-back {
background-color: var(--active); display: none;
} }
#his-name .emojione, #his-name .emojione,
#his-name .emoji-img { #his-name .emoji-img {
width: 1.538rem; width: 1.538rem;
} }
#his-plus-action .btn { #his-plus-action .btn {
padding-right: 0.4rem; padding-right: 0.4rem;
padding-left: 0.4rem; padding-left: 0.4rem;
} }
.tabs { .tabs {
display: flex; display: flex;
} }
.tabs .tab a { .tabs .tab a {
padding: 0.6rem 0.9rem; padding: 0.6rem 0.9rem;
} }
#his-des { #his-des {
max-height: 17.7rem; max-height: 17.7rem;
overflow-y: scroll; overflow-y: scroll;
} }
#his-sign-action { #his-sign-action {
border: 1px solid; border: 1px solid;
border-radius: 0.4rem; border-radius: 0.4rem;
display: flex; display: flex;
align-items: center; align-items: center;
padding-left: 0.75rem; padding-left: 0.75rem;
padding-right: 0.75rem; padding-right: 0.75rem;
flex-wrap: wrap; flex-wrap: wrap;
} }
#his-sign-action .btn { #his-sign-action .btn {
flex-basis: 31.2%; flex-basis: calc(50% - 10.6px);
}
#his-sign-action .dropdown-trigger {
flex-basis: 100%;
} }
#his-des .mention { #his-des .mention {
color: #039be5; color: #039be5;
cursor: pointer; cursor: pointer;
} }
#his-table{ #his-table {
max-height: 11.538rem; max-height: 11.538rem;
overflow-y: scroll; overflow-y: scroll;
} }
#his-float-blocked { #his-float-blocked {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
font-size: 2rem; font-size: 2rem;
height: 100%; height: 100%;
} }
#hisdropdown{ #hisdropdown {
background-color: var(--bg); background-color: var(--bg);
} }
#hisdropdown li a { #hisdropdown li a {
color: white; color: white;
}
#hisdropdown li:hover {
background-color: var(--active);
}
#his-data-title {
width: 100%;
text-align: center;
font-size: 1.5rem;
} }
#hisdropdown li:hover{
background-color: var(--active);
}

50
app/img/aiscript.svg Normal file
View File

@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 687 72" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g id="アートボード1" transform="matrix(1,0,0,1,-168.896,-476)">
<rect x="168.896" y="476" width="686.208" height="72" style="fill:none;"/>
<clipPath id="_clip1">
<rect x="168.896" y="476" width="686.208" height="72"/>
</clipPath>
<g clip-path="url(#_clip1)">
<g transform="matrix(1,0,0,1,77.6363,162.413)">
<g transform="matrix(96,0,0,96,88.3157,385.587)">
<path d="M0.463,-0.571C0.452,-0.59 0.436,-0.602 0.415,-0.608C0.394,-0.613 0.374,-0.611 0.356,-0.6L0.08,-0.443C0.053,-0.428 0.04,-0.405 0.04,-0.374C0.04,-0.344 0.053,-0.321 0.08,-0.306L0.356,-0.148C0.368,-0.141 0.381,-0.138 0.395,-0.138C0.425,-0.138 0.448,-0.151 0.463,-0.178C0.474,-0.197 0.476,-0.217 0.47,-0.237C0.465,-0.259 0.453,-0.274 0.434,-0.285L0.278,-0.374L0.434,-0.464C0.453,-0.474 0.465,-0.49 0.47,-0.511C0.476,-0.532 0.474,-0.552 0.463,-0.571Z" style="fill:rgb(129,201,196);fill-rule:nonzero;"/>
</g>
<g transform="matrix(96,0,0,96,137.468,385.587)">
<path d="M0.197,-0.67C0.197,-0.691 0.189,-0.71 0.174,-0.725C0.159,-0.74 0.14,-0.748 0.118,-0.748C0.096,-0.748 0.078,-0.74 0.063,-0.725C0.047,-0.71 0.04,-0.691 0.04,-0.67C0.04,-0.648 0.047,-0.629 0.063,-0.614C0.078,-0.599 0.096,-0.591 0.118,-0.591C0.14,-0.591 0.159,-0.599 0.174,-0.614C0.189,-0.629 0.197,-0.648 0.197,-0.67ZM0.197,-0.079C0.197,-0.101 0.189,-0.119 0.174,-0.135C0.159,-0.15 0.14,-0.158 0.118,-0.158C0.096,-0.158 0.078,-0.15 0.063,-0.135C0.047,-0.119 0.04,-0.101 0.04,-0.079C0.04,-0.057 0.047,-0.038 0.063,-0.023C0.078,-0.008 0.096,0 0.118,0C0.14,0 0.159,-0.008 0.174,-0.023C0.189,-0.038 0.197,-0.057 0.197,-0.079Z" style="fill:rgb(129,201,196);fill-rule:nonzero;"/>
</g>
<g transform="matrix(96,0,0,96,201.74,385.587)">
<path d="M0.118,-0.75C0.097,-0.75 0.078,-0.742 0.063,-0.727C0.047,-0.712 0.04,-0.693 0.04,-0.671L0.04,-0.573C0.04,-0.551 0.047,-0.532 0.063,-0.517C0.078,-0.502 0.097,-0.494 0.118,-0.494C0.14,-0.494 0.159,-0.502 0.174,-0.517C0.189,-0.532 0.197,-0.551 0.197,-0.573L0.197,-0.671C0.197,-0.693 0.189,-0.712 0.174,-0.727C0.159,-0.742 0.14,-0.75 0.118,-0.75ZM0.355,-0.75C0.333,-0.75 0.314,-0.742 0.299,-0.727C0.284,-0.712 0.276,-0.693 0.276,-0.671L0.276,-0.573C0.276,-0.551 0.284,-0.532 0.299,-0.517C0.314,-0.502 0.333,-0.494 0.355,-0.494C0.377,-0.494 0.395,-0.502 0.41,-0.517C0.426,-0.532 0.434,-0.551 0.434,-0.573L0.434,-0.671C0.434,-0.693 0.426,-0.712 0.41,-0.727C0.395,-0.742 0.377,-0.75 0.355,-0.75Z" style="fill:rgb(129,201,196);fill-rule:nonzero;"/>
</g>
<g transform="matrix(96,0,0,96,247.1,385.587)">
<path d="M0.394,-0.494L0.488,-0.306L0.3,-0.306L0.394,-0.494ZM0.063,-0.009C0.082,0.001 0.102,0.002 0.123,-0.005C0.144,-0.011 0.159,-0.024 0.169,-0.044L0.221,-0.148L0.566,-0.148L0.619,-0.044C0.625,-0.03 0.635,-0.02 0.648,-0.012C0.661,-0.004 0.674,0 0.689,0C0.701,0 0.713,-0.003 0.724,-0.009C0.743,-0.018 0.756,-0.033 0.763,-0.054C0.771,-0.075 0.769,-0.095 0.759,-0.114L0.464,-0.705C0.457,-0.718 0.448,-0.729 0.435,-0.737C0.422,-0.745 0.408,-0.749 0.394,-0.749C0.379,-0.749 0.365,-0.745 0.352,-0.737C0.339,-0.729 0.33,-0.718 0.323,-0.705L0.028,-0.114C0.018,-0.095 0.017,-0.075 0.024,-0.054C0.03,-0.033 0.043,-0.018 0.063,-0.009Z" style="fill:rgb(129,201,196);fill-rule:nonzero;"/>
</g>
<g transform="matrix(96,0,0,96,322.7,385.587)">
<path d="M0.158,0C0.18,0 0.198,-0.008 0.214,-0.023C0.229,-0.038 0.236,-0.057 0.236,-0.079L0.236,-0.67C0.236,-0.691 0.229,-0.71 0.214,-0.725C0.198,-0.741 0.18,-0.749 0.158,-0.749C0.136,-0.749 0.117,-0.741 0.102,-0.725C0.087,-0.71 0.079,-0.691 0.079,-0.67L0.079,-0.079C0.079,-0.057 0.087,-0.038 0.102,-0.023C0.117,-0.008 0.136,0 0.158,0Z" style="fill:rgb(129,201,196);fill-rule:nonzero;"/>
</g>
<g transform="matrix(96,0,0,96,352.988,385.587)">
<path d="M0.118,-0.158C0.097,-0.158 0.078,-0.15 0.063,-0.135C0.047,-0.119 0.04,-0.101 0.04,-0.079C0.04,-0.057 0.047,-0.038 0.063,-0.023C0.078,-0.008 0.097,0 0.118,0L0.463,0C0.525,0 0.579,-0.022 0.623,-0.067C0.667,-0.111 0.69,-0.164 0.69,-0.227C0.69,-0.289 0.667,-0.342 0.623,-0.387C0.579,-0.431 0.525,-0.453 0.463,-0.453L0.266,-0.453C0.247,-0.453 0.231,-0.46 0.218,-0.473C0.204,-0.487 0.197,-0.503 0.197,-0.522C0.197,-0.541 0.204,-0.557 0.218,-0.571C0.231,-0.584 0.247,-0.591 0.266,-0.591L0.611,-0.591C0.632,-0.591 0.651,-0.599 0.667,-0.614C0.682,-0.629 0.69,-0.648 0.69,-0.67C0.69,-0.691 0.682,-0.71 0.667,-0.725C0.651,-0.741 0.632,-0.749 0.611,-0.749L0.266,-0.749C0.204,-0.749 0.15,-0.726 0.106,-0.682C0.062,-0.638 0.04,-0.584 0.04,-0.522C0.04,-0.459 0.062,-0.406 0.106,-0.362C0.15,-0.318 0.204,-0.296 0.266,-0.296L0.463,-0.296C0.482,-0.296 0.498,-0.289 0.511,-0.275C0.525,-0.262 0.532,-0.246 0.532,-0.227C0.532,-0.207 0.525,-0.191 0.511,-0.178C0.498,-0.164 0.482,-0.158 0.463,-0.158L0.118,-0.158Z" style="fill:rgb(129,201,196);fill-rule:nonzero;"/>
</g>
<g transform="matrix(96,0,0,96,422.924,385.587)">
<path d="M0.413,0C0.517,0 0.605,-0.037 0.678,-0.11C0.693,-0.125 0.701,-0.143 0.701,-0.166C0.701,-0.187 0.693,-0.206 0.678,-0.221C0.663,-0.236 0.644,-0.244 0.623,-0.244C0.601,-0.244 0.582,-0.236 0.567,-0.221C0.524,-0.179 0.473,-0.158 0.413,-0.158C0.354,-0.158 0.303,-0.179 0.261,-0.221C0.218,-0.263 0.197,-0.314 0.197,-0.374C0.197,-0.434 0.218,-0.485 0.261,-0.528C0.303,-0.57 0.354,-0.591 0.413,-0.591C0.473,-0.591 0.524,-0.57 0.567,-0.528C0.582,-0.512 0.601,-0.504 0.623,-0.504C0.644,-0.504 0.663,-0.512 0.678,-0.528C0.693,-0.543 0.701,-0.561 0.701,-0.583C0.701,-0.605 0.693,-0.623 0.678,-0.639C0.605,-0.712 0.517,-0.749 0.413,-0.749C0.31,-0.749 0.222,-0.712 0.149,-0.639C0.076,-0.566 0.04,-0.478 0.04,-0.374C0.04,-0.271 0.076,-0.183 0.149,-0.11C0.222,-0.037 0.31,0 0.413,0Z" style="fill:rgb(129,201,196);fill-rule:nonzero;"/>
</g>
<g transform="matrix(96,0,0,96,492.86,385.587)">
<path d="M0.572,-0.472C0.572,-0.44 0.56,-0.412 0.537,-0.389C0.514,-0.366 0.486,-0.355 0.453,-0.355L0.236,-0.355L0.236,-0.591L0.453,-0.591C0.486,-0.591 0.514,-0.579 0.537,-0.556C0.56,-0.533 0.572,-0.505 0.572,-0.472ZM0.421,-0.197L0.595,-0.023C0.61,-0.008 0.628,0 0.65,0C0.672,0 0.69,-0.008 0.706,-0.023C0.721,-0.038 0.729,-0.057 0.729,-0.079C0.729,-0.101 0.721,-0.119 0.706,-0.135L0.601,-0.24C0.64,-0.265 0.671,-0.298 0.694,-0.338C0.717,-0.38 0.729,-0.425 0.729,-0.472C0.729,-0.549 0.702,-0.614 0.648,-0.668C0.594,-0.722 0.529,-0.749 0.453,-0.749L0.158,-0.749C0.136,-0.749 0.117,-0.741 0.102,-0.725C0.087,-0.71 0.079,-0.691 0.079,-0.67L0.079,-0.079C0.079,-0.057 0.087,-0.038 0.102,-0.023C0.117,-0.008 0.136,0 0.158,0C0.18,0 0.198,-0.008 0.214,-0.023C0.229,-0.038 0.236,-0.057 0.236,-0.079L0.236,-0.197L0.421,-0.197Z" style="fill:rgb(129,201,196);fill-rule:nonzero;"/>
</g>
<g transform="matrix(96,0,0,96,566.588,385.587)">
<path d="M0.158,0C0.18,0 0.198,-0.008 0.214,-0.023C0.229,-0.038 0.236,-0.057 0.236,-0.079L0.236,-0.67C0.236,-0.691 0.229,-0.71 0.214,-0.725C0.198,-0.741 0.18,-0.749 0.158,-0.749C0.136,-0.749 0.117,-0.741 0.102,-0.725C0.087,-0.71 0.079,-0.691 0.079,-0.67L0.079,-0.079C0.079,-0.057 0.087,-0.038 0.102,-0.023C0.117,-0.008 0.136,0 0.158,0Z" style="fill:rgb(129,201,196);fill-rule:nonzero;"/>
</g>
<g transform="matrix(96,0,0,96,596.876,385.587)">
<path d="M0.572,-0.472C0.572,-0.44 0.56,-0.412 0.537,-0.389C0.514,-0.366 0.486,-0.355 0.453,-0.355L0.236,-0.355L0.236,-0.591L0.453,-0.591C0.486,-0.591 0.514,-0.579 0.537,-0.556C0.56,-0.533 0.572,-0.505 0.572,-0.472ZM0.158,0C0.18,0 0.198,-0.008 0.214,-0.023C0.229,-0.038 0.236,-0.057 0.236,-0.079L0.236,-0.197L0.453,-0.197C0.529,-0.197 0.594,-0.224 0.648,-0.278C0.702,-0.332 0.729,-0.397 0.729,-0.472C0.729,-0.549 0.702,-0.614 0.648,-0.668C0.594,-0.722 0.529,-0.749 0.453,-0.749L0.158,-0.749C0.136,-0.749 0.117,-0.741 0.102,-0.725C0.087,-0.71 0.079,-0.691 0.079,-0.67L0.079,-0.079C0.079,-0.057 0.087,-0.038 0.102,-0.023C0.117,-0.008 0.136,0 0.158,0Z" style="fill:rgb(129,201,196);fill-rule:nonzero;"/>
</g>
<g transform="matrix(96,0,0,96,670.604,385.587)">
<path d="M0.266,-0.591L0.266,-0.079C0.266,-0.057 0.273,-0.038 0.289,-0.023C0.304,-0.008 0.323,0 0.344,0C0.366,0 0.385,-0.008 0.4,-0.023C0.415,-0.038 0.423,-0.057 0.423,-0.079L0.423,-0.591L0.591,-0.591C0.612,-0.591 0.631,-0.599 0.647,-0.614C0.662,-0.629 0.67,-0.648 0.67,-0.67C0.67,-0.691 0.662,-0.71 0.647,-0.725C0.631,-0.741 0.612,-0.749 0.591,-0.749L0.099,-0.749C0.077,-0.749 0.058,-0.741 0.043,-0.725C0.027,-0.71 0.02,-0.691 0.02,-0.67C0.02,-0.648 0.027,-0.629 0.043,-0.614C0.058,-0.599 0.077,-0.591 0.099,-0.591L0.266,-0.591Z" style="fill:rgb(129,201,196);fill-rule:nonzero;"/>
</g>
<g transform="matrix(96,0,0,96,736.748,385.587)">
<path d="M0.118,-0.75C0.097,-0.75 0.078,-0.742 0.063,-0.727C0.047,-0.712 0.04,-0.693 0.04,-0.671L0.04,-0.573C0.04,-0.551 0.047,-0.532 0.063,-0.517C0.078,-0.502 0.097,-0.494 0.118,-0.494C0.14,-0.494 0.159,-0.502 0.174,-0.517C0.189,-0.532 0.197,-0.551 0.197,-0.573L0.197,-0.671C0.197,-0.693 0.189,-0.712 0.174,-0.727C0.159,-0.742 0.14,-0.75 0.118,-0.75ZM0.355,-0.75C0.333,-0.75 0.314,-0.742 0.299,-0.727C0.284,-0.712 0.276,-0.693 0.276,-0.671L0.276,-0.573C0.276,-0.551 0.284,-0.532 0.299,-0.517C0.314,-0.502 0.333,-0.494 0.355,-0.494C0.377,-0.494 0.395,-0.502 0.41,-0.517C0.426,-0.532 0.434,-0.551 0.434,-0.573L0.434,-0.671C0.434,-0.693 0.426,-0.712 0.41,-0.727C0.395,-0.742 0.377,-0.75 0.355,-0.75Z" style="fill:rgb(129,201,196);fill-rule:nonzero;"/>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -227,7 +227,8 @@ $(function($) {
var acct_id = $('#timeline_' + selectedColumn).attr('data-acct') var acct_id = $('#timeline_' + selectedColumn).attr('data-acct')
var ats_cm = $('.selectedToot .rep-btn').attr('data-men') var ats_cm = $('.selectedToot .rep-btn').attr('data-men')
var mode = $('.selectedToot .rep-btn').attr('data-visen') var mode = $('.selectedToot .rep-btn').attr('data-visen')
re(id, ats_cm, acct_id, mode) var cwTxt = $('#cw-text').val()
re(id, ats_cm, acct_id, mode, cwTxt)
return false return false
} }
} }

View File

@@ -73,9 +73,9 @@ function verck(ver, jp) {
} }
var platform = localStorage.getItem('platform') var platform = localStorage.getItem('platform')
console.log('Your platform:' + platform) console.log('Your platform:' + platform)
if (!localStorage.getItem('winstore') && !pwa) { //if (!localStorage.getItem('winstore') && !pwa) {
$('#start').css('display', 'flex') // $('#start').css('display', 'flex')
} //}
if ( if (
localStorage.getItem('winstore') == 'brewcask' || localStorage.getItem('winstore') == 'brewcask' ||
localStorage.getItem('winstore') == 'snapcraft' || localStorage.getItem('winstore') == 'snapcraft' ||

View File

@@ -32,7 +32,7 @@ function ck() {
} else { } else {
var obj = JSON.parse(multi) var obj = JSON.parse(multi)
var jp = false var jp = false
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function (key) {
var acct = obj[key] var acct = obj[key]
if (acct.domain) { if (acct.domain) {
refresh(key, true) refresh(key, true)
@@ -47,8 +47,15 @@ function ck() {
multiSelector(false) multiSelector(false)
verck(ver, jp) verck(ver, jp)
$('.stw').show() $('.stw').show()
if (localStorage.getItem('tips')) { let tipsName = localStorage.getItem('tips')
tips(localStorage.getItem('tips')) const matchCID = /custom:([abcdef0-9]{8}-[abcdef0-9]{4}-4[abcdef0-9]{3}-[abcdef0-9]{4}-[abcdef0-9]{12})/
if (tipsName) {
if (tipsName.match(matchCID)) {
const id = tipsName.match(matchCID)[1]
tips('custom', id)
} else {
tips(tipsName)
}
} }
$('#something-wrong img').attr('src', '../../img/thinking.svg') $('#something-wrong img').attr('src', '../../img/thinking.svg')
} }
@@ -77,7 +84,7 @@ function login(url) {
website: 'https://thedesk.top' website: 'https://thedesk.top'
}) })
) )
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response var json = httpreq.response
if (this.status !== 200) { if (this.status !== 200) {
@@ -142,20 +149,20 @@ function code(code, mode) {
code: code code: code
}) })
}) })
.then(function(response) { .then(function (response) {
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { response.text().then(function (text) {
setLog(response.url, response.status, text) setLog(response.url, response.status, text)
}) })
} }
return response.json() return response.json()
}) })
.catch(function(error) { .catch(function (error) {
todo(error) todo(error)
setLog(start, 'JSON', error) setLog(start, 'JSON', error)
console.error(error) console.error(error)
}) })
.then(function(json) { .then(function (json) {
todo(json) todo(json)
if (json['access_token']) { if (json['access_token']) {
localStorage.setItem(url + '_at', json['access_token']) localStorage.setItem(url + '_at', json['access_token'])
@@ -181,20 +188,20 @@ function getdata() {
Authorization: 'Bearer ' + at Authorization: 'Bearer ' + at
} }
}) })
.then(function(response) { .then(function (response) {
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { response.text().then(function (text) {
setLog(response.url, response.status, text) setLog(response.url, response.status, text)
}) })
} }
return response.json() return response.json()
}) })
.catch(function(error) { .catch(function (error) {
todo(error) todo(error)
setLog(start, 'JSON', error) setLog(start, 'JSON', error)
console.error(error) console.error(error)
}) })
.then(function(json) { .then(function (json) {
if (json.error) { if (json.error) {
console.error('Error:' + json.error) console.error('Error:' + json.error)
M.toast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 }) M.toast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 })
@@ -239,20 +246,20 @@ function getdataAdv(domain, at) {
Authorization: 'Bearer ' + at Authorization: 'Bearer ' + at
} }
}) })
.then(function(response) { .then(function (response) {
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { response.text().then(function (text) {
setLog(response.url, response.status, text) setLog(response.url, response.status, text)
}) })
} }
return response.json() return response.json()
}) })
.catch(function(error) { .catch(function (error) {
todo(error) todo(error)
setLog(start, 'JSON', error) setLog(start, 'JSON', error)
console.error(error) console.error(error)
}) })
.then(function(json) { .then(function (json) {
if (json.error) { if (json.error) {
console.error('Error:' + json.error) console.error('Error:' + json.error)
M.toast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 }) M.toast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 })
@@ -291,34 +298,40 @@ function getdataAdv(domain, at) {
}) })
} }
//ユーザーデータ更新 //ユーザーデータ更新
function refresh(target, loadskip) { async function refresh(target, loadskip) {
var multi = localStorage.getItem('multi') var multi = localStorage.getItem('multi')
var obj = JSON.parse(multi) var obj = JSON.parse(multi)
if (obj[target].mode == 'misskey') { if (obj[target].mode == 'misskey') {
return return
} }
let at = obj[target].at
if (obj[target].rt) {
console.log('refresh access token')
at = await refreshPleromaAt(obj[target])
localStorage.setItem(`acct_${target}_at`, at)
}
var start = 'https://' + obj[target].domain + '/api/v1/accounts/verify_credentials' var start = 'https://' + obj[target].domain + '/api/v1/accounts/verify_credentials'
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
'content-type': 'application/json', 'content-type': 'application/json',
Authorization: 'Bearer ' + obj[target].at Authorization: 'Bearer ' + at
} }
}) })
.then(function(response) { .then(function (response) {
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { response.text().then(function (text) {
setLog(response.url, response.status, text) setLog(response.url, response.status, text)
}) })
} }
return response.json() return response.json()
}) })
.catch(function(error) { .catch(function (error) {
todo(error) todo(error)
setLog(start, 'JSON', error) setLog(start, 'JSON', error)
console.error(error) console.error(error)
}) })
.then(function(json) { .then(function (json) {
if (json.error) { if (json.error) {
console.error('Error:' + json.error) console.error('Error:' + json.error)
M.toast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 }) M.toast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 })
@@ -362,6 +375,29 @@ function refresh(target, loadskip) {
} }
}) })
} }
async function refreshPleromaAt(obj) {
const start = 'https://' + obj.domain + '/oauth/token'
const rt = obj.rt.split(' ')
let promise = await fetch(start, {
method: 'POST',
headers: {
'content-type': 'application/json'
},
body: JSON.stringify({
grant_type : 'refresh_token',
refresh_token: rt[0],
client_id: rt[1],
client_secret: rt[2]
})
})
const json = await promise.json()
if (json.access_token) {
return json.access_token
} else {
return false
}
}
//MarkdownやBBCodeの対応、文字数制限をチェック //MarkdownやBBCodeの対応、文字数制限をチェック
//絶対ストリーミングを閉じさせないマン //絶対ストリーミングを閉じさせないマン
function ckdb(acct_id) { function ckdb(acct_id) {
@@ -447,13 +483,13 @@ function ckdb(acct_id) {
'content-type': 'application/json' 'content-type': 'application/json'
} }
}) })
.then(function(response) { .then(function (response) {
return response.json() return response.json()
}) })
.catch(function(error) { .catch(function (error) {
console.error(error) console.error(error)
}) })
.then(function(json) { .then(function (json) {
if (json.error) { if (json.error) {
console.error(json.error) console.error(json.error)
return return
@@ -500,7 +536,7 @@ function multiSelector(parseC) {
$('#src-acct-sel').html('<option value="tootsearch">Tootsearch</option>') $('#src-acct-sel').html('<option value="tootsearch">Tootsearch</option>')
$('#add-acct-sel').html('<option value="noauth">' + lang.lang_login_noauth + '</option>') $('#add-acct-sel').html('<option value="noauth">' + lang.lang_login_noauth + '</option>')
} else { } else {
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function (key) {
var acct = obj[key] var acct = obj[key]
var list = key * 1 + 1 var list = key * 1 + 1
if (key + '' === last) { if (key + '' === last) {
@@ -568,8 +604,8 @@ function multiSelector(parseC) {
$('#src-acct-sel').append('<option value="tootsearch">Tootsearch</option>') $('#src-acct-sel').append('<option value="tootsearch">Tootsearch</option>')
$('#add-acct-sel').append( $('#add-acct-sel').append(
'<option value="noauth">' + '<option value="noauth">' +
lang.lang_login_noauth + lang.lang_login_noauth +
'</option><option value="webview">Twitter</option>' '</option><!--option value="webview">Twitter</option-->'
) )
$('#dir-acct-sel').append('<option value="noauth">' + lang.lang_login_noauth + '</option>') $('#dir-acct-sel').append('<option value="noauth">' + lang.lang_login_noauth + '</option>')
} }
@@ -598,18 +634,18 @@ function ticker() {
'content-type': 'application/json' 'content-type': 'application/json'
} }
}) })
.then(function(response) { .then(function (response) {
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { response.text().then(function (text) {
setLog(response.url, response.status, text) setLog(response.url, response.status, text)
}) })
} }
return response.json() return response.json()
}) })
.catch(function(error) { .catch(function (error) {
console.error(error) console.error(error)
}) })
.then(function(json) { .then(function (json) {
if (json) { if (json) {
localStorage.removeItem('ticker') localStorage.removeItem('ticker')
localStorage.setItem('sticker', JSON.stringify(json)) localStorage.setItem('sticker', JSON.stringify(json))

View File

@@ -36,7 +36,7 @@ function load() {
var domains = [] var domains = []
var templete var templete
$('#acct-list').html('') $('#acct-list').html('')
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function (key) {
var acct = obj[key] var acct = obj[key]
var list = key * 1 + 1 var list = key * 1 + 1
if (acct.background != 'def' && acct.text != 'def') { if (acct.background != 'def' && acct.text != 'def') {
@@ -55,6 +55,9 @@ function load() {
<div class="card-content "> <div class="card-content ">
<span class="lts">${list}.</span><img src="${acct.prof}" width="40" height="40" /> <span class="lts">${list}.</span><img src="${acct.prof}" width="40" height="40" />
<span class="card-title">${name}</span>${escapeHTML(acct.user)}@${acct.domain} <span class="card-title">${name}</span>${escapeHTML(acct.user)}@${acct.domain}
<a onclick="login('${acct.domain}')" class="pointer white-text waves-effect" title="${lang.lang_manager_refreshAt}">
<i class="material-icons text-line-icon">login</i>
</a>
</div> </div>
<div class="card-action"> <div class="card-action">
<button class="btn-flat waves-effect disTar pointer white-text" onclick="refresh('${key}')"> <button class="btn-flat waves-effect disTar pointer white-text" onclick="refresh('${key}')">
@@ -72,7 +75,7 @@ function load() {
}) })
domains = _.uniq(domains) domains = _.uniq(domains)
$('#domain-list').html('') $('#domain-list').html('')
Object.keys(domains).forEach(function(key2) { Object.keys(domains).forEach(function (key2) {
var domain = domains[key2] var domain = domains[key2]
if (localStorage.getItem('letters_' + key2)) { if (localStorage.getItem('letters_' + key2)) {
var maxChars = localStorage.getItem('letters_' + key2) var maxChars = localStorage.getItem('letters_' + key2)
@@ -108,7 +111,7 @@ load()
support() support()
function maxChars(domain, uid) { function maxChars(domain, uid) {
var value = $('#maxChars' + uid).val() var value = $('#maxChars' + uid).val()
if(value*1 < 1 || !Number.isInteger(value*1)) { if (value * 1 < 1 || !Number.isInteger(value * 1)) {
Swal.fire({ Swal.fire({
type: 'error', type: 'error',
title: 'Error' title: 'Error'
@@ -127,8 +130,8 @@ function maxChars(domain, uid) {
localStorage.removeItem('multi') localStorage.removeItem('multi')
} }
} }
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function (key) {
if(obj[key].domain == domain) localStorage.setItem('letters_' + key, value) if (obj[key].domain == domain) localStorage.setItem('letters_' + key, value)
}) })
console.log('#maxChars' + uid, value) console.log('#maxChars' + uid, value)
load() load()
@@ -208,7 +211,7 @@ function multiDel(target) {
cancelButtonText: lang.lang_no cancelButtonText: lang.lang_no
}).then(result => { }).then(result => {
if (result.value) { if (result.value) {
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function (key) {
var nk = key - 1 var nk = key - 1
//公開範囲(差分のみ) //公開範囲(差分のみ)
if (key >= target) { if (key >= target) {
@@ -227,7 +230,9 @@ function multiDel(target) {
var olddom = localStorage.getItem('domain_' + key) var olddom = localStorage.getItem('domain_' + key)
localStorage.setItem('domain_' + nk, olddom) localStorage.setItem('domain_' + nk, olddom)
var oldat = localStorage.getItem('acct_' + key + '_at') var oldat = localStorage.getItem('acct_' + key + '_at')
var oldrt = localStorage.getItem('acct_' + key + '_rt')
localStorage.setItem('acct_' + nk + '_at', oldat) localStorage.setItem('acct_' + nk + '_at', oldat)
localStorage.setItem('acct_' + nk + '_rt', oldrt)
localStorage.setItem('name_' + nk, localStorage.getItem('name_' + key)) localStorage.setItem('name_' + nk, localStorage.getItem('name_' + key))
localStorage.setItem('user_' + target, localStorage.getItem('user_' + key)) localStorage.setItem('user_' + target, localStorage.getItem('user_' + key))
localStorage.setItem('user-id_' + target, localStorage.getItem('user-id_' + key)) localStorage.setItem('user-id_' + target, localStorage.getItem('user-id_' + key))
@@ -243,7 +248,7 @@ function multiDel(target) {
var col = localStorage.getItem('column') var col = localStorage.getItem('column')
var oldcols = JSON.parse(col) var oldcols = JSON.parse(col)
var newcols = [] var newcols = []
Object.keys(oldcols).forEach(function(key) { Object.keys(oldcols).forEach(function (key) {
var nk = key - 1 var nk = key - 1
var oldcol = oldcols[key] var oldcol = oldcols[key]
if (target < oldcol.domain) { if (target < oldcol.domain) {
@@ -253,19 +258,19 @@ function multiDel(target) {
} }
var type = oldcol.type var type = oldcol.type
var data = null var data = null
if(oldcol.data) { if (oldcol.data) {
data = oldcol.data data = oldcol.data
} }
var background = null var background = null
if(oldcol.background) { if (oldcol.background) {
background = oldcol.background background = oldcol.background
} }
var text = null var text = null
if(oldcol.text) { if (oldcol.text) {
text = oldcol.text text = oldcol.text
} }
var left_fold = false var left_fold = false
if(oldcol.left_fold) { if (oldcol.left_fold) {
left_fold = true left_fold = true
} }
//消した垢のコラムじゃないときコピー //消した垢のコラムじゃないときコピー
@@ -303,7 +308,7 @@ function multiDel2(target) {
obj.splice(target, 1) obj.splice(target, 1)
var json = JSON.stringify(obj) var json = JSON.stringify(obj)
localStorage.setItem('multi', json) localStorage.setItem('multi', json)
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function (key) {
if (key >= target) { if (key >= target) {
var oldvis = localStorage.getItem('vis-memory-' + key) var oldvis = localStorage.getItem('vis-memory-' + key)
if (oldvis) { if (oldvis) {
@@ -331,7 +336,7 @@ function multiDel2(target) {
} else { } else {
var cobj = JSON.parse(col) var cobj = JSON.parse(col)
} }
Object.keys(cobj).forEach(function(key) { Object.keys(cobj).forEach(function (key) {
var column = cobj[key] var column = cobj[key]
if (column.domain > target) { if (column.domain > target) {
var nk = key - 1 var nk = key - 1
@@ -351,7 +356,7 @@ function multiDel2(target) {
//サポートインスタンス //サポートインスタンス
function support() { function support() {
Object.keys(idata).forEach(function(key) { Object.keys(idata).forEach(function (key) {
var instance = idata[key] var instance = idata[key]
if (instance == 'instance') { if (instance == 'instance') {
templete = templete =
@@ -399,7 +404,7 @@ function login(url) {
website: 'https://thedesk.top' website: 'https://thedesk.top'
}) })
) )
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response var json = httpreq.response
if (this.status !== 200) { if (this.status !== 200) {
@@ -437,20 +442,20 @@ function versionChecker(url) {
'content-type': 'application/json' 'content-type': 'application/json'
} }
}) })
.then(function(response) { .then(function (response) {
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { response.text().then(function (text) {
setLog(response.url, response.status, text) setLog(response.url, response.status, text)
}) })
} }
return response.json() return response.json()
}) })
.catch(function(error) { .catch(function (error) {
todo(error) todo(error)
setLog(start, 'JSON', error) setLog(start, 'JSON', error)
console.error(error) console.error(error)
}) })
.then(function(json) { .then(function (json) {
var version = json.version var version = json.version
if (version) { if (version) {
var reg = version.match(/^([0-9])\.[0-9]\.[0-9]/u) var reg = version.match(/^([0-9])\.[0-9]\.[0-9]/u)
@@ -476,25 +481,25 @@ function versionCompat(prefix, ver, title, real) {
'content-type': 'application/json' 'content-type': 'application/json'
} }
}) })
.then(function(response) { .then(function (response) {
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { response.text().then(function (text) {
setLog(response.url, response.status, text) setLog(response.url, response.status, text)
}) })
} }
return response.json() return response.json()
}) })
.catch(function(error) { .catch(function (error) {
todo(error) todo(error)
setLog(start, 'JSON', error) setLog(start, 'JSON', error)
console.error(error) console.error(error)
}) })
.then(function(json) { .then(function (json) {
var complete = false var complete = false
var ct = 0 var ct = 0
var jl = 0 var jl = 0
var jl2 = 0 var jl2 = 0
Object.keys(json).forEach(function(key) { Object.keys(json).forEach(function (key) {
var data = json[key] var data = json[key]
if (data) { if (data) {
jl++ jl++
@@ -581,7 +586,7 @@ function misskeyLogin(url) {
] ]
}) })
) )
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response var json = httpreq.response
if (this.status !== 200) { if (this.status !== 200) {
@@ -605,7 +610,7 @@ function misskeyAuth(url, mkc) {
appSecret: mkc appSecret: mkc
}) })
) )
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response var json = httpreq.response
if (this.status !== 200) { if (this.status !== 200) {
@@ -629,9 +634,8 @@ function instance() {
alert('入力形式が違います。(Cutls@mstdn.jpにログインする場合、入力するのは"mstdn.jp"です。)') alert('入力形式が違います。(Cutls@mstdn.jpにログインする場合、入力するのは"mstdn.jp"です。)')
return false return false
} }
login(url) login(url)
} }
//コード入れてAccessTokenゲット //コード入れてAccessTokenゲット
function code(code) { function code(code) {
localStorage.removeItem('redirect') localStorage.removeItem('redirect')
@@ -657,7 +661,7 @@ function code(code) {
appSecret: localStorage.getItem('mkc') appSecret: localStorage.getItem('mkc')
}) })
) )
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response var json = httpreq.response
if (this.status !== 200) { if (this.status !== 200) {
@@ -716,7 +720,7 @@ function code(code) {
code: code code: code
}) })
) )
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response var json = httpreq.response
if (this.status !== 200) { if (this.status !== 200) {
@@ -725,14 +729,16 @@ function code(code) {
if (json['access_token']) { if (json['access_token']) {
$('#auth').hide() $('#auth').hide()
$('#add').show() $('#add').show()
getdata(url, json['access_token']) getdata(url, json)
} }
} }
} }
} }
} }
//ユーザーデータ取得 //ユーザーデータ取得
function getdata(domain, at) { function getdata(domain, json) {
var at = json['access_token']
var rt = `${json['refresh_token']} ${localStorage.getItem('client_id')} ${localStorage.getItem('client_secret')}`
var start = 'https://' + domain + '/api/v1/accounts/verify_credentials' var start = 'https://' + domain + '/api/v1/accounts/verify_credentials'
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
@@ -741,20 +747,20 @@ function getdata(domain, at) {
Authorization: 'Bearer ' + at Authorization: 'Bearer ' + at
} }
}) })
.then(function(response) { .then(function (response) {
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { response.text().then(function (text) {
setLog(response.url, response.status, text) setLog(response.url, response.status, text)
}) })
} }
return response.json() return response.json()
}) })
.catch(function(error) { .catch(function (error) {
todo(error) todo(error)
setLog(start, 'JSON', error) setLog(start, 'JSON', error)
console.error(error) console.error(error)
}) })
.then(function(json) { .then(function (json) {
if (json.error) { if (json.error) {
console.error('Error:' + json.error) console.error('Error:' + json.error)
M.toast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 }) M.toast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 })
@@ -772,6 +778,7 @@ function getdata(domain, at) {
} }
var add = { var add = {
at: at, at: at,
rt: rt ? rt : null,
name: json['display_name'], name: json['display_name'],
domain: domain, domain: domain,
user: json['acct'], user: json['acct'],
@@ -782,8 +789,24 @@ function getdata(domain, at) {
} }
var multi = localStorage.getItem('multi') var multi = localStorage.getItem('multi')
var obj = JSON.parse(multi) var obj = JSON.parse(multi)
var target = obj.length let addTarget = -1
obj.push(add) let ct = 0
for (let acct of obj) {
if (acct.domain === domain && acct.user === json['acct']) {
console.log('detected dupl addct')
addTarget = ct
break
}
ct++
}
if (addTarget == -1) {
var target = obj.length
obj.push(add)
} else {
console.log('dupl acct_' + addTarget)
obj[addTarget] = add
var target = addTarget
}
localStorage.setItem('name_' + target, json['display_name']) localStorage.setItem('name_' + target, json['display_name'])
localStorage.setItem('user_' + target, json['acct']) localStorage.setItem('user_' + target, json['acct'])
localStorage.setItem('user-id_' + target, json['id']) localStorage.setItem('user-id_' + target, json['id'])
@@ -807,6 +830,7 @@ function atSetup(type) {
var i = $('#misskey-key').val() var i = $('#misskey-key').val()
var add = { var add = {
at: i, at: i,
rt: null,
name: 'Pseudo Account', name: 'Pseudo Account',
domain: url, domain: url,
user: 'user+pseudo', user: 'user+pseudo',
@@ -820,6 +844,7 @@ function atSetup(type) {
var i = $('#code').val() var i = $('#code').val()
var add = { var add = {
at: i, at: i,
rt: null,
name: 'Pseudo Account', name: 'Pseudo Account',
domain: url, domain: url,
user: 'user+pseudo', user: 'user+pseudo',
@@ -862,25 +887,25 @@ function refresh(target) {
Authorization: 'Bearer ' + obj[target].at Authorization: 'Bearer ' + obj[target].at
} }
}) })
.then(function(response) { .then(function (response) {
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { response.text().then(function (text) {
setLog(response.url, response.status, text) setLog(response.url, response.status, text)
}) })
} }
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { response.text().then(function (text) {
setLog(response.url, response.status, text) setLog(response.url, response.status, text)
}) })
} }
return response.json() return response.json()
}) })
.catch(function(error) { .catch(function (error) {
todo(error) todo(error)
setLog(start, 'JSON', error) setLog(start, 'JSON', error)
console.error(error) console.error(error)
}) })
.then(function(json) { .then(function (json) {
if (json.error) { if (json.error) {
console.error('Error:' + json.error) console.error('Error:' + json.error)
M.toast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 }) M.toast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 })
@@ -893,6 +918,7 @@ function refresh(target) {
} }
var ref = { var ref = {
at: obj[target].at, at: obj[target].at,
rt: obj[target].rt ? obj[target].rt : null,
name: json['display_name'], name: json['display_name'],
domain: obj[target].domain, domain: obj[target].domain,
user: json['acct'], user: json['acct'],
@@ -934,7 +960,7 @@ function misskeyRefresh(obj, target, url) {
i: obj[target].at i: obj[target].at
}) })
) )
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response var json = httpreq.response
if (this.status !== 200) { if (this.status !== 200) {
@@ -944,6 +970,7 @@ function misskeyRefresh(obj, target, url) {
var priv = 'public' var priv = 'public'
var add = { var add = {
at: json.accessToken, at: json.accessToken,
rt: null,
name: json['user']['name'], name: json['user']['name'],
domain: url, domain: url,
user: json['user']['username'], user: json['user']['username'],
@@ -983,7 +1010,7 @@ function multisel() {
$('#src-acct-sel').html('<option value="tootsearch">Tootsearch</option>') $('#src-acct-sel').html('<option value="tootsearch">Tootsearch</option>')
$('#add-acct-sel').html('<option value="noauth">' + lang.lang_login_noauth + '</option>') $('#add-acct-sel').html('<option value="noauth">' + lang.lang_login_noauth + '</option>')
} else { } else {
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function (key) {
var acct = obj[key] var acct = obj[key]
var list = key * 1 + 1 var list = key * 1 + 1
if (key == last) { if (key == last) {
@@ -1073,10 +1100,10 @@ var oldSuggest
var suggest var suggest
input.addEventListener( input.addEventListener(
'focus', 'focus',
function() { function () {
$('#ins-suggest').html('') $('#ins-suggest').html('')
window.clearInterval(timer) window.clearInterval(timer)
timer = window.setInterval(function() { timer = window.setInterval(function () {
var new_val = input.value var new_val = input.value
if (prev_val != new_val) { if (prev_val != new_val) {
if (new_val.length > 3) { if (new_val.length > 3) {
@@ -1089,23 +1116,23 @@ input.addEventListener(
'Bearer tC8F6xWGWBUwGScyNevYlx62iO6fdQ4oIK0ad68Oo7ZKB8GQdGpjW9TKxBnIh8grAhvd5rw3iyP9JPamoDpeLQdz62EToPJUW99hDx8rfuJfGdjQuimZPTbIOx0woA5M' 'Bearer tC8F6xWGWBUwGScyNevYlx62iO6fdQ4oIK0ad68Oo7ZKB8GQdGpjW9TKxBnIh8grAhvd5rw3iyP9JPamoDpeLQdz62EToPJUW99hDx8rfuJfGdjQuimZPTbIOx0woA5M'
} }
}) })
.then(function(response) { .then(function (response) {
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { response.text().then(function (text) {
setLog(response.url, response.status, text) setLog(response.url, response.status, text)
}) })
} }
return response.json() return response.json()
}) })
.catch(function(error) { .catch(function (error) {
todo(error) todo(error)
setLog(start, 'JSON', error) setLog(start, 'JSON', error)
console.error(error) console.error(error)
}) })
.then(function(json) { .then(function (json) {
if (!json.error) { if (!json.error) {
var urls = 'Suggest:' var urls = 'Suggest:'
Object.keys(json.instances).forEach(function(key) { Object.keys(json.instances).forEach(function (key) {
var url = json.instances[key] var url = json.instances[key]
urls = urls =
urls + urls +
@@ -1127,7 +1154,7 @@ input.addEventListener(
input.addEventListener( input.addEventListener(
'blur', 'blur',
function() { function () {
window.clearInterval(timer) window.clearInterval(timer)
}, },
false false

View File

@@ -3,6 +3,7 @@
$(document).on('click', 'a', e => { $(document).on('click', 'a', e => {
var $a = $(e.target) var $a = $(e.target)
var url = $a.attr('href') var url = $a.attr('href')
var acct_id = $a.attr('data-acct')
if (!url) { if (!url) {
var url = $a.parent().attr('href') var url = $a.parent().attr('href')
} }
@@ -43,10 +44,14 @@ $(document).on('click', 'a', e => {
if (ats[2]) { if (ats[2]) {
//Quesdon判定 //Quesdon判定
if (!~ats[2].indexOf('@')) { if (!~ats[2].indexOf('@')) {
udgEx(url, 'main') var acct_id = $a.parent().attr('data-acct')
if (!acct_id) {
acct_id = localStorage.getItem("main")
}
udgEx(url, acct_id)
return false return false
} else { } else {
if(pwa) { if (pwa) {
return true return true
} else { } else {
postMessage(['openUrl', url], '*') postMessage(['openUrl', url], '*')
@@ -54,7 +59,7 @@ $(document).on('click', 'a', e => {
} }
} }
} else { } else {
if(pwa) { if (pwa) {
return true return true
} }
//hrefがhttp/httpsならブラウザで //hrefがhttp/httpsならブラウザで
@@ -112,7 +117,7 @@ function playSound() {
} }
context = new AudioContext() context = new AudioContext()
context.createBufferSource().start(0) context.createBufferSource().start(0)
context.decodeAudioData(request.response, function(buf) { context.decodeAudioData(request.response, function (buf) {
//console.log("Playing:" , source) //console.log("Playing:" , source)
source.buffer = buf source.buffer = buf
source.loop = false source.loop = false
@@ -134,7 +139,7 @@ function playSound() {
function nano() { function nano() {
postMessage(['nano', null], '*') postMessage(['nano', null], '*')
} }
onmessage = function(e) { onmessage = function (e) {
if (e.data[0] == 'details') { if (e.data[0] == 'details') {
details(e.data[1][0], e.data[1][1]) details(e.data[1][0], e.data[1][1])
} else if (e.data[0] == 'udg') { } else if (e.data[0] == 'udg') {
@@ -144,9 +149,8 @@ onmessage = function(e) {
} else if (e.data[0] == 'post') { } else if (e.data[0] == 'post') {
post('pass') post('pass')
} else if (e.data[0] == 'toastSaved') { } else if (e.data[0] == 'toastSaved') {
var showTxt = `${lang.lang_img_DLDone}${ var showTxt = `${lang.lang_img_DLDone}${e.data[1][0]
e.data[1][0] }<button class="btn-flat toast-action" onclick="openFinder('${e.data[1][1]}')">Show</button>`
}<button class="btn-flat toast-action" onclick="openFinder('${e.data[1][1]}')">Show</button>`
M.toast({ html: showTxt, displayLength: 5000 }) M.toast({ html: showTxt, displayLength: 5000 })
} else if (e.data[0] == 'parseColumn') { } else if (e.data[0] == 'parseColumn') {
parseColumn(e.data[1]) parseColumn(e.data[1])
@@ -170,7 +174,7 @@ onmessage = function(e) {
} else if (e.data[0] == 'npCore') { } else if (e.data[0] == 'npCore') {
npCore(e.data[1]) npCore(e.data[1])
} else if (e.data[0] == 'renderMem') { } else if (e.data[0] == 'renderMem') {
renderMem(e.data[1][0], e.data[1][1], e.data[1][2]) renderMem(e.data[1][0], e.data[1][1], e.data[1][2], e.data[1][3], e.data[1][4])
} else if (e.data[0] == 'updateProg') { } else if (e.data[0] == 'updateProg') {
updateProg(e.data[1]) updateProg(e.data[1])
} else if (e.data[0] == 'updateMess') { } else if (e.data[0] == 'updateMess') {
@@ -197,7 +201,7 @@ onmessage = function(e) {
} }
} }
/* PWA */ /* PWA */
if(pwa) { if (pwa) {
function postMessage(e) { function postMessage(e) {
if (e[0] == 'openUrl') { if (e[0] == 'openUrl') {
urls = e[1].match(/https?:\/\/(.+)/) urls = e[1].match(/https?:\/\/(.+)/)
@@ -206,13 +210,27 @@ if(pwa) {
title: 'Open URL', title: 'Open URL',
icon: 'info', icon: 'info',
html: html:
`If you are OK, click: <a href="${urls[0]}" target="_blank" class="btn waves-effect">Here</a>`, `If you are OK, click: <a href="${urls[0]}" target="_blank" class="btn waves-effect">Here</a>`,
showCloseButton: false, showCloseButton: false,
showCancelButton: true, showCancelButton: true,
focusConfirm: false, focusConfirm: false,
confirmButtonText: 'Close' confirmButtonText: 'Close'
}) })
} }
} }
} }
} }
$('html').addClass(localStorage.getItem('scroll') ? localStorage.getItem('scroll') : '')
const connection = function (event) {
console.log(navigator.onLine, 'network state')
if (!navigator.onLine) {
$('#re-online').addClass('hide')
$('#offline').removeClass('hide')
} else if (!$('#offline').hasClass('hide')) {
$('#offline').addClass('hide')
$('#re-online').removeClass('hide')
}
}
window.onoffline = connection
window.ononline = connection

View File

@@ -1,3 +1,10 @@
window.onload = function () {
console.log('loaded')
initPostbox()
connection()
initPlugin(plugins)
if(localStorage.getItem('control-center-np')) $('#ccnp').removeClass('hide')
}
$.strip_tags = function (str, allowed) { $.strip_tags = function (str, allowed) {
if (!str) { if (!str) {
return '' return ''

218
app/js/platform/plugin.js Normal file
View File

@@ -0,0 +1,218 @@
var plugins = getPlugin()
function getPlugin() {
const json = localStorage.getItem('plugins')
let ret = {
buttonOnPostbox: [],
buttonOnToot: [],
buttonOnBottom: [],
init: [],
tips: [],
none: []
}
if (!json) return ret
const plugins = JSON.parse(json)
for (let plugin of plugins) {
const meta = getMeta(plugin.content)
if (!meta) continue
const type = meta.event
ret[type] ? ret[type].push(plugin) : ret[type] = [plugin]
if (type === 'buttonOnToot') continue
if (type === 'tips') {
if (meta.interval) {
const matchCID = /custom:([abcdef0-9]{8}-[abcdef0-9]{4}-4[abcdef0-9]{3}-[abcdef0-9]{4}-[abcdef0-9]{12})/
setInterval(function () {
const tipsName = localStorage.getItem('tips')
if (tipsName.match(matchCID)) {
const id = tipsName.match(matchCID)[1]
if (id === plugin.id) if (location.href.split('/').pop() === 'index.html') execPlugin(id, 'tips', null)
}
}, meta.interval)
}
continue
}
const shortcut = meta.shortcut
$(window).keydown(function (e) {
if (e.keyCode === shortcut && e.altKey) execPlugin(plugin.id, type)
})
}
return ret
}
function initPlugin() {
asCommon['TheDesk:dialog'] = asValue.FN_NATIVE((z) => {
Swal.fire({
title: z[0].value,
icon: z[2] ? z[2].value : 'info',
text: z[1] ? z[1].value : ''
})
})
asCommon['TheDesk:confirm'] = asValue.FN_NATIVE(async (z) => {
const alert = await Swal.fire({
title: z[0].value,
text: z[1].value,
icon: z[2] ? z[2].value : 'info',
showCancelButton: true
})
return asUtil.jsToVal(!!(alert.value && alert.value === true))
})
asCommon['TheDesk:css'] = asValue.FN_NATIVE((z) => {
$(escapeHTML(z[0].value)).css(escapeHTML(z[1].value), escapeHTML(z[2].value))
})
asCommon['TheDesk:openLink'] = asValue.FN_NATIVE((z) => {
postMessage(['openUrl', z[0].value], '*')
})
const { buttonOnPostbox, init, buttonOnBottom, tips } = plugins
for (let target of buttonOnPostbox) {
const meta = getMeta(target.content)
$('#dropdown2').append(`<li><a onclick="execPlugin('${target.id}','buttonOnPostbox', null);">${escapeHTML(meta.name)}</a></li>`)
}
for (let target of buttonOnBottom) {
const meta = getMeta(target.content)
$('#group .btnsgroup').append(`<a onclick="execPlugin('${target.id}','buttonOnBottom', null);" class="nex waves-effect pluginNex"><span title="${escapeHTML(meta.name)}">${escapeHTML(meta.name).substr(0, 1)}</span></a>`)
}
for (let target of tips) {
const meta = getMeta(target.content)
$('#tips-menu .btnsgroup').append(`<a onclick="tips('custom', '${target.id}')" class="nex waves-effect pluginNex"><span title="${escapeHTML(meta.name)}">${escapeHTML(meta.name).substr(0, 1)}</span></a>`)
}
for (let target of init) {
const as = new AiScript(asCommon)
const meta = getMeta(target.content)
M.toast({ html: `${escapeHTML(meta.name)}を実行しました`, displayLength: 1000 })
if (target) as.exec(asParse(target.content))
}
}
function getMeta(plugin) {
try {
return AiScript.collectMetadata(asParse(plugin)).get(null)
} catch (e) {
console.error(e)
return null
}
}
async function execPlugin(id, source, args) {
const coh = plugins[source]
let exe = null
for (let plugin of coh) {
if (plugin.id == id) {
exe = plugin.content
break
}
}
const common = _.cloneDeep(asCommon)
if (source == 'buttonOnToot') {
common.DATA = args
const domain = localStorage.getItem(`domain_${args.acct_id}`)
const at = localStorage.getItem(`acct_${args.acct_id}_at`)
const start = `https://${domain}/api/v1/statuses/${args.id}`
const promise = await fetch(start, {
method: 'GET',
headers: {
'content-type': 'application/json',
Authorization:
`Bearer ${at}`
}
})
let json = await promise.json()
common.TOOT = asUtil.jsToVal(json)
common['TheDesk:changeText'] = asValue.FN_NATIVE((z) => {
const v = sanitizeHtml(z[0].value,
{
allowedTags: ['p', 'br', 'a', 'span'],
allowedAttributes: {
'a': ['href', 'class', 'rel', 'target'],
'span': [],
'p': [],
'br': [],
}
}).replace(/href="javascript:/, 'href="').replace(/href='javascript:/, 'href="').replace(/href=javascript:/, 'href="')
json.content = v
if (getMeta(exe).dangerHtml) $(`[unique-id=${args.id}] .toot`).html(parse([json], null, null, null, null, null, null, true))
})
} else if (source == 'buttonOnPostbox') {
const postDt = post(null, false, true)
common.POST = asUtil.jsToVal(postDt)
common.ACCT_ID = asUtil.jsToVal(postDt.TheDeskAcctId)
common['TheDesk:postText'] = asValue.FN_NATIVE((z) => {
$('#textarea').val(z[0].value)
})
common['TheDesk:postCW'] = asValue.FN_NATIVE((z) => {
if (z[1]) $('#cw-text').val(z[1].value)
cw(z[0] ? z[0].value : false)
})
common['TheDesk:postNSFW'] = asValue.FN_NATIVE((z) => {
nsfw(z[0] ? z[0].value : false)
})
common['TheDesk:postVis'] = asValue.FN_NATIVE((z) => {
vis(z[0].value)
})
common['TheDesk:postClearbox'] = asValue.FN_NATIVE(() => {
clear()
})
common['TheDesk:postExec'] = asValue.FN_NATIVE(() => {
if (getMeta(exe).apiPost) post()
})
} else if (source == 'tips') {
common['TheDesk:refreshTipsView'] = asValue.FN_NATIVE((z) => {
const v = sanitizeHtml(z[0].value,
{
allowedTags: ['p', 'br', 'a', 'span', 'img'],
allowedAttributes: {
'a': ['href', 'class', 'rel', 'target', 'style'],
'span': ['style'],
'p': ['style'],
'br': [],
'img': ['src', 'style']
}
}).replace(/href="javascript:/, 'href="').replace(/href='javascript:/, 'href="').replace(/href=javascript:/, 'href="')
if (getMeta(exe).dangerHtml) $('#tips-text').html(v)
})
}
common['TheDesk:console'] = asValue.FN_NATIVE((z) => {
console.log(z[0].value)
})
common['TheDesk:api'] = asValue.FN_NATIVE(async (z) => {
try {
if (!getMeta(exe).apiGet && z[0].value == "GET") return asUtil.jsToVal(null)
if (!getMeta(exe).apiPost && (z[0].value == "POST" || z[0].value == "DELETE" || z[0].value == "PUT")) return asUtil.jsToVal(null)
const domain = localStorage.getItem(`domain_${z[3].value}`)
const at = localStorage.getItem(`acct_${z[3].value}_at`)
const start = `https://${domain}/api/${z[1].value}`
const q = {
method: z[0].value,
headers: {
'content-type': 'application/json',
Authorization:
`Bearer ${at}`
}
}
if (z[2]) q.body = z[2].value
const promise = await fetch(start, q)
const json = await promise.json()
return asUtil.jsToVal(json)
} catch (e) {
return asUtil.jsToVal(null)
}
})
common['TheDesk:getRequest'] = asValue.FN_NATIVE(async (z) => {
try {
if (!getMeta(exe).apiGet) return asUtil.jsToVal(null)
const start = `https://${z[0].value}`
const promise = await fetch(start)
let json = null
if (z[1].value) {
json = await promise.json()
} else {
json = await promise.text()
}
return asUtil.jsToVal(json)
} catch (e) {
return asUtil.jsToVal(null)
}
})
const as = new AiScript(common)
if (exe) as.exec(asParse(exe))
}

View File

@@ -2,25 +2,9 @@ var electron = require('electron')
const shell = electron.shell const shell = electron.shell
var ipc = electron.ipcRenderer var ipc = electron.ipcRenderer
//title bar //title bar
const customTitlebar = require('custom-electron-titlebar')
window.addEventListener('DOMContentLoaded', () => { window.addEventListener('DOMContentLoaded', () => {
document.title = 'TheDesk' document.title = 'TheDesk'
ipc.send('acsCheck', '') ipc.send('acsCheck', '')
ipc.send('frameCheck', '')
ipc.on('frame', function(event, args) {
const file = location.href.substr(-10)
if (
file == 'index.html' ||
file == '/acct.html' ||
file == 'tting.html'
) {
new customTitlebar.Titlebar({
backgroundColor: customTitlebar.Color.fromHex('#000'),
titleHorizontalAlignment: 'right',
icon: '../../img/desk.png'
})
}
})
}) })
onmessage = function(e) { onmessage = function(e) {
@@ -220,7 +204,7 @@ ipc.on('memory', function(event, arg) {
var use = arg[0] var use = arg[0]
var cpu = arg[1] var cpu = arg[1]
var total = arg[2] var total = arg[2]
postMessage(['renderMem', [use, cpu, total]], '*') postMessage(['renderMem', [use, cpu, total, arg[3], arg[4]]], '*')
}) })
//log //log
ipc.on('logData', function(event, args) { ipc.on('logData', function(event, args) {

View File

@@ -23,6 +23,7 @@ function emojiToggle(reaction) {
} }
$('#post-box').css('width', width + 'px') $('#post-box').css('width', width + 'px')
$('#suggest').html('') $('#suggest').html('')
$('#draft').html('')
if (!localStorage.getItem('emojis_' + acct_id)) { if (!localStorage.getItem('emojis_' + acct_id)) {
var html = `<button class="btn waves-effect green" style="width:100%; padding:0; margin-top:0;" onclick="emojiGet('true');">${lang.lang_emoji_get}</button>` var html = `<button class="btn waves-effect green" style="width:100%; padding:0; margin-top:0;" onclick="emojiGet('true');">${lang.lang_emoji_get}</button>`
$('#emoji-list').html(html) $('#emoji-list').html(html)
@@ -31,10 +32,12 @@ function emojiToggle(reaction) {
} }
} else { } else {
$('#poll').addClass('hide') $('#poll').addClass('hide')
$('#draft').addClass('hide')
$('#right-side').hide() $('#right-side').hide()
$('#right-side').css('width', '300px') $('#right-side').css('width', '300px')
$('#emoji').addClass('hide') $('#emoji').addClass('hide')
$('#suggest').html('') $('#suggest').html('')
$('#draft').html('')
$('#left-side').css('width', '100%') $('#left-side').css('width', '100%')
var width = localStorage.getItem('postbox-width') var width = localStorage.getItem('postbox-width')
if (width) { if (width) {
@@ -336,6 +339,8 @@ function emojiInsert(code, del) {
} }
sentence = before + word + after sentence = before + word + after
textarea.value = sentence textarea.value = sentence
textarea.focus()
textarea.setSelectionRange(pos + word.length, pos + word.length)
} }
//改行挿入 //改行挿入
function brInsert(code) { function brInsert(code) {

View File

@@ -9,7 +9,16 @@ function sec() {
} }
post(null, mode) post(null, mode)
} }
function post(mode, postvis) { function post(mode, postvis, dry) {
if(!navigator.onLine && !dry) {
draftToggle(true)
addToDraft()
M.toast({
html: lang.lang_post_offline,
displayLength: 3000
})
return false
}
if ($('#toot-post-btn').prop('disabled')) { if ($('#toot-post-btn').prop('disabled')) {
return false return false
} }
@@ -122,7 +131,7 @@ function post(mode, postvis) {
console.log('This toot will be posted at:' + scheduled) console.log('This toot will be posted at:' + scheduled)
schedule() schedule()
toot.scheduled_at = scheduled toot.scheduled_at = scheduled
if($('#sch-box').hasClass('expire')) { if ($('#sch-box').hasClass('expire')) {
toot.scheduled_at = null toot.scheduled_at = null
toot.expires_at = scheduled toot.expires_at = scheduled
} }
@@ -131,7 +140,7 @@ function post(mode, postvis) {
} }
if (!$('#poll').hasClass('hide')) { if (!$('#poll').hasClass('hide')) {
var options = [] var options = []
$('.mastodon-choice').map(function() { $('.mastodon-choice').map(function () {
var choice = $(this).val() var choice = $(this).val()
if (choice != '') { if (choice != '') {
options.push(choice) options.push(choice)
@@ -159,6 +168,13 @@ function post(mode, postvis) {
} }
} }
console.table(toot) console.table(toot)
if (dry) {
$('#ideKey').val('')
$('.toot-btn-group').prop('disabled', false)
todc()
toot['TheDeskAcctId'] = acct_id
return toot
}
var httpreq = new XMLHttpRequest() var httpreq = new XMLHttpRequest()
httpreq.open('POST', start, true) httpreq.open('POST', start, true)
httpreq.setRequestHeader('Content-Type', 'application/json') httpreq.setRequestHeader('Content-Type', 'application/json')
@@ -166,11 +182,11 @@ function post(mode, postvis) {
httpreq.setRequestHeader('Idempotency-Key', ideKey) httpreq.setRequestHeader('Idempotency-Key', ideKey)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send(JSON.stringify(toot)) httpreq.send(JSON.stringify(toot))
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response var json = httpreq.response
if (this.status !== 200) { if (this.status !== 200) {
if(media && this.status == 422) { if (media && this.status == 422) {
$('#ideKey').val('') $('#ideKey').val('')
$('.toot-btn-group').prop('disabled', false) $('.toot-btn-group').prop('disabled', false)
alertProcessUnfinished() alertProcessUnfinished()
@@ -201,7 +217,7 @@ function post(mode, postvis) {
} }
function expPostMode() { function expPostMode() {
$('#sch-box').toggleClass('expire') $('#sch-box').toggleClass('expire')
if($('#sch-box').hasClass('expire')) { if ($('#sch-box').hasClass('expire')) {
Swal.fire({ Swal.fire({
type: 'info', type: 'info',
title: 'Expiring toot On' title: 'Expiring toot On'
@@ -270,7 +286,7 @@ function misskeyPost() {
httpreq.setRequestHeader('Content-Type', 'application/json') httpreq.setRequestHeader('Content-Type', 'application/json')
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send(JSON.stringify(toot)) httpreq.send(JSON.stringify(toot))
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
if (str.indexOf(localStorage.getItem('stable')) == -1) { if (str.indexOf(localStorage.getItem('stable')) == -1) {
localStorage.removeItem('stable') localStorage.removeItem('stable')
@@ -339,7 +355,7 @@ function clear() {
$('#mins_poll').val(6) $('#mins_poll').val(6)
$('#poll').addClass('hide') $('#poll').addClass('hide')
$('#pollsta').text(lang.lang_no) $('#pollsta').text(lang.lang_no)
$('.mastodon-choice').map(function() { $('.mastodon-choice').map(function () {
$(this).val('') $(this).val('')
}) })
localStorage.removeItem('image') localStorage.removeItem('image')

View File

@@ -1,14 +1,14 @@
/*保護系*/ /*保護系*/
//画像保護 //画像保護
function nsfw() { function nsfw(force) {
if ($('#nsfw').hasClass('nsfw-avail')) { if (force || !$('#nsfw').hasClass('nsfw-avail')) {
$('#nsfw').removeClass('yellow-text')
$('#nsfw').html('visibility_off')
$('#nsfw').removeClass('nsfw-avail')
} else {
$('#nsfw').addClass('yellow-text') $('#nsfw').addClass('yellow-text')
$('#nsfw').html('visibility') $('#nsfw').html('visibility')
$('#nsfw').addClass('nsfw-avail') $('#nsfw').addClass('nsfw-avail')
} else {
$('#nsfw').removeClass('yellow-text')
$('#nsfw').html('visibility_off')
$('#nsfw').removeClass('nsfw-avail')
} }
} }
@@ -79,13 +79,8 @@ function loadVis() {
loadVis() loadVis()
//コンテントワーニング //コンテントワーニング
function cw() { function cw(force) {
if ($('#cw').hasClass('cw-avail')) { if (force || !$('#cw').hasClass('cw-avail')) {
$('#cw-text').val()
$('#cw-text').hide()
$('#cw').removeClass('yellow-text')
$('#cw').removeClass('cw-avail')
} else {
$('#cw-text').show() $('#cw-text').show()
$('#cw').addClass('yellow-text') $('#cw').addClass('yellow-text')
$('#cw').addClass('cw-avail') $('#cw').addClass('cw-avail')
@@ -93,6 +88,11 @@ function cw() {
if (cwt) { if (cwt) {
$('#cw-text').val(cwt) $('#cw-text').val(cwt)
} }
} else {
$('#cw-text').val()
$('#cw-text').hide()
$('#cw').removeClass('yellow-text')
$('#cw').removeClass('cw-avail')
} }
} }
//TLでコンテントワーニングを表示トグル //TLでコンテントワーニングを表示トグル
@@ -100,8 +100,8 @@ function cw_show(e) {
$(e).parent().parent().find('.cw_hide').toggleClass('cw') $(e).parent().parent().find('.cw_hide').toggleClass('cw')
$(e).parent().find('.cw_long').toggleClass('hide') $(e).parent().find('.cw_long').toggleClass('hide')
} }
$(function() { $(function () {
$('#cw-text').on('change', function(event) { $('#cw-text').on('change', function (event) {
var acct_id = $('#post-acct-sel').val() var acct_id = $('#post-acct-sel').val()
var domain = localStorage.getItem('domain_' + acct_id) var domain = localStorage.getItem('domain_' + acct_id)
var cwlen = $('#cw-text').val().length var cwlen = $('#cw-text').val().length
@@ -126,3 +126,79 @@ function schedule() {
$('#sch-box').addClass('sch-avail') $('#sch-box').addClass('sch-avail')
} }
} }
//下書き機能
function draftToggle(force) {
if ($('#draft').hasClass('hide') || force) {
$('#draft').removeClass('hide')
$('#right-side').show()
$('#right-side').css('width', '300px')
$('#left-side').css('width', 'calc(100% - 300px)')
var width = localStorage.getItem('postbox-width')
if (width) {
width = width.replace('px', '') * 1 + 300
} else {
width = 600
}
$('#post-box').css('width', width + 'px')
$('#suggest').html('')
$('#draft').html('')
draftDraw()
} else {
$('#poll').addClass('hide')
$('#draft').addClass('hide')
$('#right-side').hide()
$('#right-side').css('width', '300px')
$('#emoji').addClass('hide')
$('#suggest').html('')
$('#draft').html('')
$('#left-side').css('width', '100%')
var width = localStorage.getItem('postbox-width')
if (width) {
width = width.replace('px', '') * 1
} else {
width = 300
}
$('#post-box').css('width', width + 'px')
}
}
function draftDraw() {
var draft = localStorage.getItem('draft')
var html = `<button class="btn waves-effect green" style="width:100%; padding:0; margin-top:0;" onclick="addToDraft();">${lang.lang_secure_draft}</button>`
if (draft) {
var draftObj = JSON.parse(draft)
for (let i = 0; i < draftObj.length; i++) {
var toot = draftObj[i]
html = html + `<div class="tootInDraft">
<i class="waves-effect gray material-icons" onclick="useThisDraft(${i})" title="${lang.lang_secure_userThis}">reply</i>
<i class="waves-effect gray material-icons" onclick="deleteThisDraft(${i})" title="${lang.lang_secure_deleteThis}">cancel</i>
${escapeHTML(toot.status).replace(/\n/, '').substr(0, 10)}
</div>`
}
}
$('#draft').html(html)
}
function addToDraft() {
var json = post(null, null, true)
var draft = localStorage.getItem('draft')
var draftObj = []
if (draft) draftObj = JSON.parse(draft)
draftObj.push(json)
draft = JSON.stringify(draftObj)
localStorage.setItem('draft', draft)
draftDraw()
}
function useThisDraft(i) {
var draft = localStorage.getItem('draft')
var draftObj = JSON.parse(draft)
draftToPost(draftObj[i], draftObj[i]['TheDeskAcctId'], 0)
draftToggle()
}
function deleteThisDraft(i) {
var draft = localStorage.getItem('draft')
var draftObj = JSON.parse(draft)
draftObj.splice(i, 1)
draft = JSON.stringify(draftObj)
localStorage.setItem('draft', draft)
draftDraw()
}

View File

@@ -15,7 +15,7 @@ function fav(id, acct_id, remote) {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response var json = httpreq.response
if (this.status !== 200) { if (this.status !== 200) {
@@ -75,7 +75,7 @@ function rt(id, acct_id, remote, vis) {
} else { } else {
httpreq.send() httpreq.send()
} }
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response var json = httpreq.response
if (this.status !== 200) { if (this.status !== 200) {
@@ -131,7 +131,7 @@ function bkm(id, acct_id, tlid) {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response var json = httpreq.response
if (this.status !== 200) { if (this.status !== 200) {
@@ -160,7 +160,7 @@ function bkm(id, acct_id, tlid) {
//フォロー //フォロー
async function follow(acct_id, resolve) { async function follow(acct_id, resolve) {
if($('#his-data').hasClass('locked')) { if ($('#his-data').hasClass('locked')) {
locked = true locked = true
} else { } else {
locked = false locked = false
@@ -178,7 +178,7 @@ async function follow(acct_id, resolve) {
var flag = 'follow' var flag = 'follow'
var flagm = 'create' var flagm = 'create'
} }
var id = $('#his-data').attr('user-id') var id = $('#his-data').attr('user-id')
if (resolve == 'selector') { if (resolve == 'selector') {
var fullacct = $('#his-acct').attr('fullname') var fullacct = $('#his-acct').attr('fullname')
@@ -200,7 +200,7 @@ async function follow(acct_id, resolve) {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send(JSON.stringify(ent)) httpreq.send(JSON.stringify(ent))
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response var json = httpreq.response
if (this.status !== 200) { if (this.status !== 200) {
@@ -212,7 +212,7 @@ async function follow(acct_id, resolve) {
$('#his-follow-btn-text').text(lang.lang_status_follow) $('#his-follow-btn-text').text(lang.lang_status_follow)
} else { } else {
$('#his-data').addClass('following') $('#his-data').addClass('following')
if(locked) { if (locked) {
$('#his-follow-btn-text').text(lang.lang_status_requesting) $('#his-follow-btn-text').text(lang.lang_status_requesting)
} else { } else {
$('#his-follow-btn-text').text(lang.lang_status_unfollow) $('#his-follow-btn-text').text(lang.lang_status_unfollow)
@@ -278,7 +278,7 @@ function block(acct_id) {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
if (this.status !== 200) { if (this.status !== 200) {
setLog(start, this.status, this.response) setLog(start, this.status, this.response)
@@ -338,7 +338,7 @@ function muteDo(acct_id) {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send(rq) httpreq.send(rq)
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
if (this.status !== 200) { if (this.status !== 200) {
setLog(start, this.status, this.response) setLog(start, this.status, this.response)
@@ -378,7 +378,7 @@ function del(id, acct_id) {
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
} }
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
if (this.status !== 200) { if (this.status !== 200) {
setLog(start, this.status, this.response) setLog(start, this.status, this.response)
@@ -420,69 +420,72 @@ function redraft(id, acct_id) {
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
} }
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
if (this.status !== 200) { if (this.status !== 200) {
setLog(start, this.status, this.response) setLog(start, this.status, this.response)
} }
var json = httpreq.response var json = httpreq.response
$('#post-acct-sel').prop('disabled', true) draftToPost(json, acct_id, id)
$('#post-acct-sel').val(acct_id)
$('select').formSelect()
mdCheck()
var medias = $('[toot-id=' + id + ']').attr('data-medias')
var mediack = json.media_attachments[0]
//メディアがあれば
var media_ids = []
if (mediack) {
for (var i = 0; i <= 4; i++) {
if (json.media_attachments[i]) {
media_ids.push(json.media_attachments[i].id)
$('#preview').append(
'<img src="' +
json.media_attachments[i].preview_url +
'" style="width:50px; max-height:100px;">'
)
} else {
break
}
}
}
var vismode = $('[toot-id=' + id + '] .vis-data').attr('data-vis')
vis(vismode)
var medias = media_ids.join(',');
$('#media').val(medias)
localStorage.setItem('nohide', true)
show()
if (json.text) {
var html = json.text
} else {
var html = $('[toot-id=' + id + '] .toot').html()
html = html.replace(/^<p>(.+)<\/p>$/, '$1')
html = html.replace(/<br\s?\/?>/, '\n')
html = html.replace(/<p>/, '\n')
html = html.replace(/<\/p>/, '\n')
html = html.replace(/<img[\s\S]*alt="(.+?)"[\s\S]*?>/g, '$1')
html = $.strip_tags(html)
}
$('#textarea').val(html)
if (json.spoiler_text) {
cw()
$('#cw-text').val(json.spoiler_text)
}
if (json.sensitive) {
$('#nsfw').addClass('yellow-text')
$('#nsfw').html('visibility')
$('#nsfw').addClass('nsfw-avail')
}
if (json.in_reply_to_id) {
$('#reply').val(json.in_reply_to_id)
}
} }
} }
} }
}) })
} }
function draftToPost(json, acct_id, id) {
$('#post-acct-sel').prop('disabled', true)
$('#post-acct-sel').val(acct_id)
$('select').formSelect()
mdCheck()
mediack = null
if(json.media_attachments) mediack = json.media_attachments[0]
//メディアがあれば
var media_ids = []
if (mediack) {
for (var i = 0; i <= 4; i++) {
if (json.media_attachments[i]) {
media_ids.push(json.media_attachments[i].id)
$('#preview').append(
'<img src="' +
json.media_attachments[i].preview_url +
'" style="width:50px; max-height:100px;">'
)
} else {
break
}
}
}
var vismode = json.visibility
vis(vismode)
var medias = media_ids.join(',')
$('#media').val(medias)
localStorage.setItem('nohide', true)
show()
if (json.text) {
var html = json.text
} else {
var html = json.status
html = html.replace(/^<p>(.+)<\/p>$/, '$1')
html = html.replace(/<br\s?\/?>/, '\n')
html = html.replace(/<p>/, '\n')
html = html.replace(/<\/p>/, '\n')
html = html.replace(/<img[\s\S]*alt="(.+?)"[\s\S]*?>/g, '$1')
html = $.strip_tags(html)
}
$('#textarea').val(html)
if (json.spoiler_text) {
cw(true)
$('#cw-text').val(json.spoiler_text)
}
if (json.sensitive) {
$('#nsfw').addClass('yellow-text')
$('#nsfw').html('visibility')
$('#nsfw').addClass('nsfw-avail')
}
if (json.in_reply_to_id) {
$('#reply').val(json.in_reply_to_id)
}
}
//ピン留め //ピン留め
function pin(id, acct_id) { function pin(id, acct_id) {
if ($(`.cvo[unique-id=${id}]`).hasClass('pined')) { if ($(`.cvo[unique-id=${id}]`).hasClass('pined')) {
@@ -499,7 +502,7 @@ function pin(id, acct_id) {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response var json = httpreq.response
if (this.status !== 200) { if (this.status !== 200) {
@@ -530,7 +533,7 @@ function request(id, flag, acct_id) {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response var json = httpreq.response
if (this.status !== 200) { if (this.status !== 200) {
@@ -556,7 +559,7 @@ function domainblock(add, flag, acct_id) {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response var json = httpreq.response
if (this.status !== 200) { if (this.status !== 200) {
@@ -583,7 +586,7 @@ function empUser() {
M.toast({ html: id + lang.lang_status_emphas, displayLength: 4000 }) M.toast({ html: id + lang.lang_status_emphas, displayLength: 4000 })
} else { } else {
var can var can
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function (key) {
var usT = obj[key] var usT = obj[key]
if (usT != id && !can) { if (usT != id && !can) {
can = false can = false
@@ -615,7 +618,7 @@ function pinUser() {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response var json = httpreq.response
if (this.status !== 200) { if (this.status !== 200) {
@@ -651,20 +654,20 @@ function staEx(mode) {
Authorization: 'Bearer ' + at Authorization: 'Bearer ' + at
} }
}) })
.then(function(response) { .then(function (response) {
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { response.text().then(function (text) {
setLog(response.url, response.status, text) setLog(response.url, response.status, text)
}) })
} }
return response.json() return response.json()
}) })
.catch(function(error) { .catch(function (error) {
todo(error) todo(error)
setLog(start, 'JSON', error) setLog(start, 'JSON', error)
console.error(error) console.error(error)
}) })
.then(function(json) { .then(function (json) {
if (json.statuses) { if (json.statuses) {
if (json.statuses[0]) { if (json.statuses[0]) {
var id = json.statuses[0].id var id = json.statuses[0].id
@@ -680,41 +683,9 @@ function staEx(mode) {
}) })
return return
} }
function toggleAction(id) { function toggleAction(elm) {
console.log(document.getElementById(id)) console.log(elm)
var instance = M.Dropdown.init(document.getElementById(id)); const instance = M.Dropdown.init(elm)
console.log(instance.isOpen)
instance.open() instance.open()
return
var height = ct * 39 + 6
var cont = elem.parents('.cvo').find('.contextMenu')
if (cont.hasClass('hide')) {
$('#contextWrap').removeClass('hide')
var left = elem.offset().left + 60
var top = elem.offset().top - height
if (top < 75) {
top = elem.offset().top + 45
cont.removeClass('bottom')
cont.addClass('top')
} else {
top = elem.offset().top - 105
cont.removeClass('top')
cont.addClass('bottom')
}
if (elem.parents('.cvo').attr('id') == 'toot-this') {
console.log($('#toot-this').offset().top, elem.offset().top)
left = $('#toot-this').offset().left + elem.offset().left + 10
top = $('#toot-this').offset().top - $('#toot-this').height() - height + 25
}
cont.css('top', top + 'px')
cont.css('right', `calc(100vw - ${left}px)`)
cont.removeClass('hide')
elem
.parents('.cvo')
.find('.act-icon')
.text('expand_less')
} else {
$('#contextWrap').addClass('hide')
$('.contextMenu').addClass('hide')
$('.act-icon').text('expand_more')
}
} }

View File

@@ -18,7 +18,7 @@ input.addEventListener(
var new_val = input.value var new_val = input.value
if (new_val == '') { if (new_val == '') {
$('#suggest').html('') $('#suggest').html('')
if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide')) { if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide') && $('#draft').hasClass('hide')) {
$('#right-side').hide() $('#right-side').hide()
$('#right-side').css('width', '300px') $('#right-side').css('width', '300px')
$('#left-side').css('width', '100%') $('#left-side').css('width', '100%')
@@ -41,7 +41,7 @@ input.addEventListener(
var q = acct[1] var q = acct[1]
} else { } else {
$('#suggest').html('') $('#suggest').html('')
if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide')) { if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide') && $('#draft').hasClass('hide')) {
$('#right-side').hide() $('#right-side').hide()
$('#right-side').css('width', '300px') $('#right-side').css('width', '300px')
$('#left-side').css('width', '100%') $('#left-side').css('width', '100%')
@@ -138,6 +138,7 @@ input.addEventListener(
$('#post-box').css('width', width + 'px') $('#post-box').css('width', width + 'px')
$('#poll').addClass('hide') $('#poll').addClass('hide')
$('#emoji').addClass('hide') $('#emoji').addClass('hide')
$('#draft').addClass('hide')
} }
} else if (json.accounts[0] && acct[1]) { } else if (json.accounts[0] && acct[1]) {
var accts = '' var accts = ''
@@ -165,8 +166,9 @@ input.addEventListener(
$('#suggest').html(accts) $('#suggest').html(accts)
$('#poll').addClass('hide') $('#poll').addClass('hide')
$('#emoji').addClass('hide') $('#emoji').addClass('hide')
$('#draft').addClass('hide')
} else { } else {
if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide')) { if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide') && $('#draft').hasClass('hide')) {
$('#right-side').hide() $('#right-side').hide()
$('#right-side').css('width', '300px') $('#right-side').css('width', '300px')
$('#left-side').css('width', '100%') $('#left-side').css('width', '100%')
@@ -226,7 +228,7 @@ function tagInsert(code, del) {
} }
sentence = before + word + after sentence = before + word + after
textarea.value = sentence textarea.value = sentence
if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide')) { if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide') && $('#draft').hasClass('hide')) {
$('#right-side').hide() $('#right-side').hide()
$('#right-side').css('width', '300px') $('#right-side').css('width', '300px')
$('#left-side').css('width', '50%') $('#left-side').css('width', '50%')

View File

@@ -1,5 +1,5 @@
/*リプライ*/ /*リプライ*/
function re(id, ats_cm, acct_id, mode) { function re(id, ats_cm, acct_id, mode, cwTxt) {
clear() clear()
var ats = ats_cm.split(',') var ats = ats_cm.split(',')
localStorage.setItem('nohide', true) localStorage.setItem('nohide', true)
@@ -25,13 +25,18 @@ function re(id, ats_cm, acct_id, mode) {
} }
$('#acct-sel-prof').attr('src', profimg) $('#acct-sel-prof').attr('src', profimg)
vis(mode) vis(mode)
if(localStorage.getItem('cw-continue') == 'yes') {
cw(true)
$('#cw-text').val(cwTxt)
}
} }
function reEx(id) { function reEx(id) {
$('#tootmodal').modal('close') $('#tootmodal').modal('close')
var at = $('#tootmodal').attr('data-user') var at = $('#tootmodal').attr('data-user')
var acct_id = $('#status-acct-sel').val() var acct_id = $('#status-acct-sel').val()
var mode = $('#tootmodal .vis-data').attr('data-vis') var mode = $('#tootmodal .vis-data').attr('data-vis')
re(id, at, acct_id, mode) var cwTxt = $('#cw-text').val()
re(id, at, acct_id, mode, cwTxt)
} }
//引用 //引用
function qt(id, acct_id, at, url) { function qt(id, acct_id, at, url) {

View File

@@ -334,7 +334,19 @@ function cardCheck(tlid) {
} }
} }
function mov(id, tlid, type) { function mov(id, tlid, type, rand, target) {
const dropdownTrigger = `dropdown_${rand}`
let elm = document.querySelector(`#timeline_${tlid} #${dropdownTrigger}`)
if(tlid == 'notf') {
const timeline = $(target).parents('.notf-indv-box').attr('id')
elm = document.querySelector(`#${timeline} #${dropdownTrigger}`)
console.log(`#${timeline} #${dropdownTrigger}`)
}
const instance = M.Dropdown.getInstance(elm)
if(instance) {
if(instance.isOpen) return false
}
var click = false var click = false
if (tlid == 'notf') { if (tlid == 'notf') {
var tlide = '[data-notf=' + acct_id + ']' var tlide = '[data-notf=' + acct_id + ']'
@@ -361,9 +373,9 @@ function mov(id, tlid, type) {
} }
if (mouseover == 'hide') { if (mouseover == 'hide') {
if (click) { if (click) {
$(tlide + ' [toot-id=' + id + ']').toggleClass('hide-actions') $(tlide + ' [unique-id=' + id + ']').toggleClass('hide-actions')
} else { } else {
$(tlide + ' [toot-id=' + id + ']').removeClass('hide-actions') $(tlide + ' [unique-id=' + id + ']').removeClass('hide-actions')
} }
//$(tlide + " [toot-id=" + id + "] .area-vis").toggleClass("hide") //$(tlide + " [toot-id=" + id + "] .area-vis").toggleClass("hide")

View File

@@ -765,9 +765,10 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
} else { } else {
var actemojick = false var actemojick = false
} }
var rand = randomStr(8)
templete = templete + '<div id="pub_' + toot.id + '" class="cvo ' + templete = templete + '<div id="pub_' + toot.id + '" class="cvo ' +
boostback + ' ' + fav_app + ' ' + rt_app + ' ' + hasmedia + '" toot-id="' + id + '" unique-id="' + uniqueid + '" data-medias="' + media_ids + ' " unixtime="' + date(obj[ boostback + ' ' + fav_app + ' ' + rt_app + ' ' + hasmedia + '" toot-id="' + id + '" unique-id="' + uniqueid + '" data-medias="' + media_ids + ' " unixtime="' + date(obj[
key].created_at, 'unix') + '" ' + if_notf + ' onmouseover="mov(\'' + toot.id + '\',\'' + tlid + '\',\'mv\')" onclick="mov(\'' + toot.id + '\',\'' + tlid + '\',\'cl\')" onmouseout="resetmv(\'mv\')" reacted="' + reacted + '">' + key].created_at, 'unix') + '" ' + if_notf + ' onmouseover="mov(\'' + toot.id + '\',\'' + tlid + '\',\'mv\', \''+rand+'\')" onclick="mov(\'' + toot.id + '\',\'' + tlid + '\',\'cl\', \''+rand+'\')" onmouseout="resetmv(\'mv\')" reacted="' + reacted + '">' +
'<div class="area-notice"><span class="gray sharesta">' + notice + home + '<div class="area-notice"><span class="gray sharesta">' + notice + home +
'</span></div>' + '</span></div>' +
'<div class="area-icon"><a onclick="udg(\'' + toot.user.id + '<div class="area-icon"><a onclick="udg(\'' + toot.user.id +

View File

@@ -27,12 +27,12 @@ async function mixtl(acct_id, tlid, type, delc, voice) {
mixre(acct_id, tlid, 'mix', mute, voice, '') mixre(acct_id, tlid, 'mix', mute, voice, '')
clearInterval(mbws) clearInterval(mbws)
} else if(mastodonBaseWsStatus[domain] == 'available') { } else if(mastodonBaseWsStatus[domain] == 'available') {
mastodonBaseWs[domain].send(`{"type":"subscribe","stream":"public:local"}`) mastodonBaseWs[domain].send(JSON.stringify({type: 'subscribe', stream: 'public:local'}))
clearInterval(mbws) clearInterval(mbws)
} }
}, 1000) }, 1000)
} else if(mastodonBaseWsStatus[domain] == 'available') { } else if(mastodonBaseWsStatus[domain] == 'available') {
mastodonBaseWs[domain].send(`{"type":"subscribe","stream":"public:local"}`) mastodonBaseWs[domain].send(JSON.stringify({type: 'subscribe', stream: 'public:local'}))
} }
$(window).scrollTop(0) $(window).scrollTop(0)

View File

@@ -211,6 +211,7 @@ function notfCommon(acct_id, tlid, sys, stream) {
}) })
} }
function notfWS(misskey, acct_id, tlid, domain, at) { function notfWS(misskey, acct_id, tlid, domain, at) {
if(mastodonBaseWsStatus[domain] == 'available') return false
if (!misskey) { if (!misskey) {
if (localStorage.getItem('streaming_' + acct_id)) { if (localStorage.getItem('streaming_' + acct_id)) {
var wss = localStorage.getItem('streaming_' + acct_id) var wss = localStorage.getItem('streaming_' + acct_id)
@@ -262,7 +263,7 @@ function notfWS(misskey, acct_id, tlid, domain, at) {
} }
} }
websocketNotf[acct_id].onerror = function(error) { websocketNotf[acct_id].onerror = function(error) {
console.error('WebSocket Error ' + error) console.error('WebSocket Error ', error)
errorct++ errorct++
console.log(errorct) console.log(errorct)
if (errorct < 3) { if (errorct < 3) {
@@ -270,7 +271,7 @@ function notfWS(misskey, acct_id, tlid, domain, at) {
} }
} }
websocketNotf[acct_id].onclose = function(error) { websocketNotf[acct_id].onclose = function(error) {
console.error('WebSocket Close ' + error) console.error('WebSocket Close ', error)
errorct++ errorct++
console.log(errorct) console.log(errorct)
if (errorct < 3) { if (errorct < 3) {

View File

@@ -1,5 +1,5 @@
//オブジェクトパーサー(トゥート) //オブジェクトパーサー(トゥート)
function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) { function parse(obj, mix, acct_id, tlid, popup, mutefilter, type, onlyContent) {
var splitter = new GraphemeSplitter() var splitter = new GraphemeSplitter()
var templete = '' var templete = ''
if (obj[0]) { if (obj[0]) {
@@ -194,7 +194,8 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} }
var local = [] var local = []
var times = [] var times = []
Object.keys(obj).forEach(function (key) { let content
for (let key in obj) {
var domain = localStorage.getItem('domain_' + acct_id) var domain = localStorage.getItem('domain_' + acct_id)
var toot = obj[key] var toot = obj[key]
if (type == 'dm') { if (type == 'dm') {
@@ -224,7 +225,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} }
var emoji_url = ` var emoji_url = `
<img draggable="false" src="${emoSource}" class="emoji-img" data-emoji="${shortcode}" <img draggable="false" src="${emoSource}" class="emoji-img" data-emoji="${shortcode}"
alt=" :${shortcode}: " title="${shortcode}" onclick="this.classList.toggle('bigemoji');"> alt=" :${shortcode}: " title="${shortcode}" onclick="this.classList.toggle('bigemoji');" loading="lazy">
` `
var regExp = new RegExp(':' + shortcode + ':', 'g') var regExp = new RegExp(':' + shortcode + ':', 'g')
dis_name = dis_name.replace(regExp, emoji_url) dis_name = dis_name.replace(regExp, emoji_url)
@@ -241,7 +242,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
noticeavatar = toot.account.avatar_static noticeavatar = toot.account.avatar_static
} }
noticeavatar = `<a onclick="udg('${toot.account.id}','${acct_id}');" user="${toot.account.acct}" class="udg"> noticeavatar = `<a onclick="udg('${toot.account.id}','${acct_id}');" user="${toot.account.acct}" class="udg">
<img draggable="false" src="${noticeavatar}" width="20" class="notf-icon prof-img" user="${toot.account.acct}" alt=""> <img draggable="false" src="${noticeavatar}" width="20" class="notf-icon prof-img" user="${toot.account.acct}" alt="" loading="lazy">
</a>` </a>`
if (toot.type == 'mention') { if (toot.type == 'mention') {
var what = lang.lang_parse_mentioned var what = lang.lang_parse_mentioned
@@ -271,8 +272,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var noticetext = `<span onclick="notfFilter('${toot.account.id}','${tlid}');" class=" pointer big-text ${notfFilHide}"><i class="fas fa-filter" var noticetext = `<span onclick="notfFilter('${toot.account.id}','${tlid}');" class=" pointer big-text ${notfFilHide}"><i class="fas fa-filter"
title="${lang.lang_parse_notffilter}"> title="${lang.lang_parse_notffilter}">
</i><span class="voice">${lang.lang_parse_notffilter}</span></span> </i><span class="voice">${lang.lang_parse_notffilter}</span></span>
<span class="cbadge cbadge-hover" title="${date(toot.created_at, 'absolute')}(${ <span class="cbadge cbadge-hover" title="${date(toot.created_at, 'absolute')}(${lang.lang_parse_notftime
lang.lang_parse_notftime
})" aria-hidden="true"><i class="far fa-clock"></i> })" aria-hidden="true"><i class="far fa-clock"></i>
${date(toot.created_at, datetype)} ${date(toot.created_at, datetype)}
</span> </span>
@@ -379,7 +379,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} }
var emoji_url = ` var emoji_url = `
<img draggable="false" src="${emoSource}" class="emoji-img" data-emoji="${shortcode}" <img draggable="false" src="${emoSource}" class="emoji-img" data-emoji="${shortcode}"
alt=" :${shortcode}: " title="${shortcode}" onclick="this.classList.toggle('bigemoji');"> alt=" :${shortcode}: " title="${shortcode}" onclick="this.classList.toggle('bigemoji');" loading="lazy">
` `
var regExp = new RegExp(':' + shortcode + ':', 'g') var regExp = new RegExp(':' + shortcode + ':', 'g')
dis_name = dis_name.replace(regExp, emoji_url) dis_name = dis_name.replace(regExp, emoji_url)
@@ -395,7 +395,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} }
noticeavatar = `<a onclick="udg('${toot.account.id}','${acct_id}');" user="${toot.account.acct}" class="udg" aria-hidden="true"> noticeavatar = `<a onclick="udg('${toot.account.id}','${acct_id}');" user="${toot.account.acct}" class="udg" aria-hidden="true">
<img draggable="false" src="${noticeavatar}" width="20" class="notf-icon prof-img" <img draggable="false" src="${noticeavatar}" width="20" class="notf-icon prof-img"
user="${toot.account.acct}" onerror="this.src=\'../../img/loading.svg\'"> user="${toot.account.acct}" onerror="this.src=\'../../img/loading.svg\'" loading="lazy">
</a>` </a>`
var rebtxt = lang.lang_parse_btedsimple var rebtxt = lang.lang_parse_btedsimple
var rticon = 'fa-retweet light-blue-text' var rticon = 'fa-retweet light-blue-text'
@@ -436,7 +436,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} }
var emoji_url = ` var emoji_url = `
<img draggable="false" src="${emoSource}" class="emoji-img" data-emoji="${shortcode}" <img draggable="false" src="${emoSource}" class="emoji-img" data-emoji="${shortcode}"
alt=" :${shortcode}: " title="${shortcode}" onclick="this.classList.toggle('bigemoji');"> alt=" :${shortcode}: " title="${shortcode}" onclick="this.classList.toggle('bigemoji');" loading="lazy">
` `
var regExp = new RegExp(':' + shortcode + ':', 'g') var regExp = new RegExp(':' + shortcode + ':', 'g')
dis_name = dis_name.replace(regExp, emoji_url) dis_name = dis_name.replace(regExp, emoji_url)
@@ -464,9 +464,9 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} }
} }
if (toot.content == '') { if (toot.content == '') {
var content = ' ' content = ' '
} else { } else {
var content = toot.content content = toot.content
} }
if (content) { if (content) {
var id = toot.id var id = toot.id
@@ -537,7 +537,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
(sent < ct && $.mb_strlen($.strip_tags(content)) > 5) || (sent < ct && $.mb_strlen($.strip_tags(content)) > 5) ||
($.mb_strlen($.strip_tags(content)) > ltr && $.mb_strlen($.strip_tags(content)) > 5) ($.mb_strlen($.strip_tags(content)) > ltr && $.mb_strlen($.strip_tags(content)) > 5)
) { ) {
var content = `<span class="gray">${lang.lang_parse_fulltext}</span><br>` + content content = `<span class="gray">${lang.lang_parse_fulltext}</span><br>` + content
var spoil = `<span class="cw_long">${$.mb_substr( var spoil = `<span class="cw_long">${$.mb_substr(
$.strip_tags(content), $.strip_tags(content),
0, 0,
@@ -560,6 +560,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
/https?:\/\/([^+_]+)\/?(?!.*((media|tags)|mentions)).*([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)?/ /https?:\/\/([^+_]+)\/?(?!.*((media|tags)|mentions)).*([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)?/
) )
urlsck = content.match(/(https?):\/\/([^<>]*?)\/([^"]*)/g) urlsck = content.match(/(https?):\/\/([^<>]*?)\/([^"]*)/g)
content = content.replace(/href="([^"]+)"/g, `href="$1" data-acct="${acct_id}"`)
if (urlsck) { if (urlsck) {
for (var urlct = 0; urlct < urlsck.length; urlct++) { for (var urlct = 0; urlct < urlsck.length; urlct++) {
var urlindv = urlsck[urlct] var urlindv = urlsck[urlct]
@@ -569,12 +570,11 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var encoded = encodeURI(urlCont[4]) var encoded = encodeURI(urlCont[4])
var punycoded = 'xn--' + punycode.encode(urlCont[2]) var punycoded = 'xn--' + punycode.encode(urlCont[2])
var eUrl = urlCont[1] + '://' + punycoded + '.' + urlCont[3] + '/' + encoded var eUrl = urlCont[1] + '://' + punycoded + '.' + urlCont[3] + '/' + encoded
var regExp = new RegExp('href="' + urlindv + '"', 'g') var regExp = new RegExp(`href="${urlindv}"`, 'g')
content = content.replace(regExp, 'href="' + eUrl + '"') content = content.replace(regExp, `href="${eUrl}"`)
} }
} }
} }
if (urls) { if (urls) {
var analyze = `<a onclick="additionalIndv('${tlid}','${acct_id}','${id}')" class="add-show pointer" aria-hidden="true"> var analyze = `<a onclick="additionalIndv('${tlid}','${acct_id}','${id}')" class="add-show pointer" aria-hidden="true">
${lang.lang_parse_url} ${lang.lang_parse_url}
@@ -652,7 +652,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
id="${id}-image-${key2}" data-url="${url}" data-original="${remote_url}" data-type="${media.type}" id="${id}-image-${key2}" data-url="${url}" data-original="${remote_url}" data-type="${media.type}"
class="img-parsed img-link" style="width:calc(${cwdt}% - 1px); height:${imh};"> class="img-parsed img-link" style="width:calc(${cwdt}% - 1px); height:${imh};">
<img draggable="false" src="${purl}" class="${sense} toot-img pointer" <img draggable="false" src="${purl}" class="${sense} toot-img pointer"
onerror="this.src=\'../../img/loading.svg\'" title="${escapeHTML(desc)}" alt="${escapeHTML(desc)}"> onerror="this.src=\'../../img/loading.svg\'" title="${escapeHTML(desc)}" alt="${escapeHTML(desc)}" loading="lazy">
${nsfwmes} ${nsfwmes}
</a>` </a>`
} }
@@ -709,8 +709,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var featured = ` <a onclick="tagFeature('${tag.name}','${acct_id}')" class="pointer" title="add it to Featured tags">Feature</a> ` var featured = ` <a onclick="tagFeature('${tag.name}','${acct_id}')" class="pointer" title="add it to Featured tags">Feature</a> `
tags = tags =
tags + tags +
`<span class="hide" data-tag="${tag.name}" data-regTag="${tag.name.toLowerCase()}">#${ `<span class="hide" data-tag="${tag.name}" data-regTag="${tag.name.toLowerCase()}">#${tag.name
tag.name
}: }:
<a onclick="tl('tag','${tag.name}','${acct_id}','add')" class="pointer" <a onclick="tl('tag','${tag.name}','${acct_id}','add')" class="pointer"
title="${lang.lang_parse_tagTL.replace( title="${lang.lang_parse_tagTL.replace(
@@ -855,7 +854,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} }
var emoji_url = ` var emoji_url = `
<img draggable="false" src="${emoSource}" class="emoji-img" data-emoji="${shortcode}" <img draggable="false" src="${emoSource}" class="emoji-img" data-emoji="${shortcode}"
alt=" :${shortcode}: " title="${shortcode}" onclick="this.classList.toggle('bigemoji');"> alt=" :${shortcode}: " title="${shortcode}" onclick="this.classList.toggle('bigemoji');" loading="lazy">
` `
var regExp = new RegExp(':' + shortcode + ':', 'g') var regExp = new RegExp(':' + shortcode + ':', 'g')
content = content.replace(regExp, emoji_url) content = content.replace(regExp, emoji_url)
@@ -875,7 +874,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var emoji = toot.profile_emojis[keynico] var emoji = toot.profile_emojis[keynico]
var shortcode = emoji.shortcode var shortcode = emoji.shortcode
var emoji_url = `<img draggable="false" src="${emoji.url}" class="emoji-img" data-emoji="${shortcode}" alt=" :${shortcode}: " var emoji_url = `<img draggable="false" src="${emoji.url}" class="emoji-img" data-emoji="${shortcode}" alt=" :${shortcode}: "
title="${shortcode}" onclick="this.classList.toggle(\'bigemoji\');">` title="${shortcode}" onclick="this.classList.toggle(\'bigemoji\');" loading="lazy">`
var regExp = new RegExp(':' + shortcode + ':', 'g') var regExp = new RegExp(':' + shortcode + ':', 'g')
content = content.replace(regExp, emoji_url) content = content.replace(regExp, emoji_url)
spoil = spoil.replace(regExp, emoji_url) spoil = spoil.replace(regExp, emoji_url)
@@ -957,12 +956,10 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
bgColorCSS = bgColorCSS + bg + ',' bgColorCSS = bgColorCSS + bg + ','
} }
bgColorCSS = `linear-gradient(90deg, ${bgColorCSS} transparent)` bgColorCSS = `linear-gradient(90deg, ${bgColorCSS} transparent)`
var tickerdom = `<div aria-hidden="true" style="user-select:none;cursor:default;background:${bgColorCSS} !important; color:${ var tickerdom = `<div aria-hidden="true" style="user-select:none;cursor:default;background:${bgColorCSS} !important; color:${fontColor
fontColor
};width:100%; height:0.9rem; font-size:0.8rem;" class="tickers"> };width:100%; height:0.9rem; font-size:0.8rem;" class="tickers">
<img draggable="false" src="${ <img draggable="false" src="${value.favicon
value.favicon }" style="height:100%;" onerror="this.src=\'../../img/loading.svg\'" loading="lazy">
}" style="height:100%;" onerror="this.src=\'../../img/loading.svg\'">
<span style="position:relative; top:-0.2rem;">${escapeHTML(value.name)}</span> <span style="position:relative; top:-0.2rem;">${escapeHTML(value.name)}</span>
</div>` </div>`
break break
@@ -981,10 +978,9 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
poll + poll +
`<div class="quote-renote"> `<div class="quote-renote">
<div class="renote-icon"> <div class="renote-icon">
<a onclick="udg('${toot.quote.account.id}','${acct_id}');" user="${ <a onclick="udg('${toot.quote.account.id}','${acct_id}');" user="${toot.quote.account.acct
toot.quote.account.acct
}" class="udg"> }" class="udg">
<img draggable="false" src="${toot.quote.account.avatar}"> <img draggable="false" src="${toot.quote.account.avatar}" loading="lazy">
</a> </a>
</div> </div>
<div class="renote-user"> <div class="renote-user">
@@ -994,8 +990,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
${toot.quote.content} ${toot.quote.content}
</div> </div>
<div class="renote-details"> <div class="renote-details">
<a onclick="details('${ <a onclick="details('${toot.quote.id
toot.quote.id
}','${acct_id}','${tlid}','normal')" class="waves-effect waves-dark btn-flat details" style="padding:0"> }','${acct_id}','${tlid}','normal')" class="waves-effect waves-dark btn-flat details" style="padding:0">
<i class="text-darken-3 material-icons">more_vert</i> <i class="text-darken-3 material-icons">more_vert</i>
</a> </a>
@@ -1022,6 +1017,16 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
if (trans != '') { if (trans != '') {
menuct++ menuct++
} }
//このトゥート内のアクションを完了させるために、適当にIDを振る
var rand = randomStr(8)
//プラグイン機構
var pluginBOT = plugins.buttonOnToot
var pluginHtml = ''
for (let target of pluginBOT) {
const meta = getMeta(target.content)
pluginHtml = pluginHtml + `<li><a onclick="execPlugin('${target.id}','buttonOnToot',{id: '${uniqueid}', acct_id: '${acct_id}'});">${escapeHTML(meta.name)}</a></li>`
}
templete = templete =
templete + templete +
`<div `<div
@@ -1032,15 +1037,15 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
'unix' 'unix'
)}" )}"
${if_notf} ${if_notf}
onmouseover="mov('${toot.id}','${tlid}','mv')" onmouseover="mov('${uniqueid}','${tlid}','mv', '${rand}', this)"
onclick="mov('${toot.id}','${tlid}','cl')" onclick="mov('${uniqueid}','${tlid}','cl', '${rand}', this)"
onmouseout="resetmv('mv')" onmouseout="resetmv('mv')"
> >
<div class="area-notice grid"><span class="gray sharesta">${notice}${home}</span></div> <div class="area-notice grid"><span class="gray sharesta">${notice}${home}</span></div>
<div class="area-icon grid"> <div class="area-icon grid">
<a onclick="udg('${toot.account.id}','${acct_id}');" user="${toot.account.acct}" class="udg"> <a onclick="udg('${toot.account.id}','${acct_id}');" user="${toot.account.acct}" class="udg">
<img draggable="false" src="${avatar}" width="40" class="prof-img" <img draggable="false" src="${avatar}" width="40" class="prof-img"
user="${toot.account.acct}" onerror="this.src='../../img/loading.svg'" alt="" /> user="${toot.account.acct}" onerror="this.src='../../img/loading.svg'" alt="" loading="lazy" />
</a> </a>
${noticeavatar} ${noticeavatar}
</div> </div>
@@ -1085,7 +1090,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
</a> </a>
</div> </div>
<div class="action ${disp['re']} ${noauth}"> <div class="action ${disp['re']} ${noauth}">
<a onclick="re('${toot.id}','${to_mention}','${acct_id}','${visen}')" <a onclick="re('${toot.id}','${to_mention}','${acct_id}','${visen}','${escapeHTML(toot.spoiler_text)}')"
class="waves-effect waves-dark btn-flat actct rep-btn" class="waves-effect waves-dark btn-flat actct rep-btn"
data-men="${to_mention}" data-visen="${visen}" style="padding:0" title="${lang.lang_parse_replyto}"> data-men="${to_mention}" data-visen="${visen}" style="padding:0" title="${lang.lang_parse_replyto}">
<i class="fas fa-share"></i> <i class="fas fa-share"></i>
@@ -1094,8 +1099,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
</a> </a>
</div> </div>
<div class="action ${can_rt} ${disp['rt']} ${noauth}"> <div class="action ${can_rt} ${disp['rt']} ${noauth}">
<a onclick="rt('${ <a onclick="rt('${toot.id
toot.id
}','${acct_id}','${tlid}')" class="waves-effect waves-dark btn-flat actct bt-btn" }','${acct_id}','${tlid}')" class="waves-effect waves-dark btn-flat actct bt-btn"
style="padding:0" title="${lang.lang_parse_bt}"> style="padding:0" title="${lang.lang_parse_bt}">
<i class="fas fa-retweet ${if_rt} rt_${toot.id}"></i> <i class="fas fa-retweet ${if_rt} rt_${toot.id}"></i>
@@ -1130,8 +1134,8 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
</div> </div>
<div class="area-side"> <div class="area-side">
<div class="action ${noauth}"> <div class="action ${noauth}">
<a onclick="toggleAction('trigger_${tlid}_${uniqueid}')" data-target="dropdown_${tlid}_${uniqueid}" <a onclick="toggleAction(this)" data-target="dropdown_${rand}"
class="ctxMenu waves-effect waves-dark btn-flat" style="padding:0" id="trigger_${tlid}_${uniqueid}"> class="ctxMenu waves-effect waves-dark btn-flat" style="padding:0" id="trigger_${rand}">
<i class="text-darken-3 material-icons act-icon" aria-hidden="true">expand_more</i> <i class="text-darken-3 material-icons act-icon" aria-hidden="true">expand_more</i>
<span class="voice">Other actions</span> <span class="voice">Other actions</span>
</a> </a>
@@ -1144,7 +1148,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
<span class="voice">${lang.lang_parse_detail}</span> <span class="voice">${lang.lang_parse_detail}</span>
</div> </div>
</div> </div>
<ul class="dropdown-content contextMenu" id="dropdown_${tlid}_${uniqueid}"> <ul class="dropdown-content contextMenu" id="dropdown_${rand}">
<li class="${viashow} via-dropdown" onclick="client('${$.strip_tags(via)}')" title="${lang.lang_parse_clientop}"> <li class="${viashow} via-dropdown" onclick="client('${$.strip_tags(via)}')" title="${lang.lang_parse_clientop}">
via ${escapeHTML(via)}</a> via ${escapeHTML(via)}</a>
</li> </li>
@@ -1169,11 +1173,13 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
style="padding:0"> style="padding:0">
<i class="fas text-darken-3 fa-globe"></i>${lang.lang_parse_link} <i class="fas text-darken-3 fa-globe"></i>${lang.lang_parse_link}
</li> </li>
${pluginHtml}
</ul> </ul>
</div> </div>
` `
} }
}) }
if (onlyContent) return content
if (mix == 'mix') { if (mix == 'mix') {
return [templete, local, times] return [templete, local, times]
} else { } else {
@@ -1280,7 +1286,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
} }
var emoji_url = ` var emoji_url = `
<img draggable="false" src="${emoSource}" class="emoji-img" data-emoji="${shortcode}" <img draggable="false" src="${emoSource}" class="emoji-img" data-emoji="${shortcode}"
alt=" :${shortcode}: " title="${shortcode}" onclick="this.classList.toggle('bigemoji');"> alt=" :${shortcode}: " title="${shortcode}" onclick="this.classList.toggle('bigemoji');" loading="lazy">
` `
var regExp = new RegExp(':' + shortcode + ':', 'g') var regExp = new RegExp(':' + shortcode + ':', 'g')
dis_name = dis_name.replace(regExp, emoji_url) dis_name = dis_name.replace(regExp, emoji_url)
@@ -1323,6 +1329,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
user="${toot.acct}" user="${toot.acct}"
onerror="this.src='../../img/loading.svg'" onerror="this.src='../../img/loading.svg'"
alt="" alt=""
loading="lazy"
/> />
</a></div> </a></div>
<div class="area-display_name"> <div class="area-display_name">
@@ -1513,7 +1520,7 @@ function pollParse(poll, acct_id, emojis) {
} }
var emoji_url = ` var emoji_url = `
<img draggable="false" src="${emoSource}" class="emoji-img" data-emoji="${shortcode}" <img draggable="false" src="${emoSource}" class="emoji-img" data-emoji="${shortcode}"
alt=" :${shortcode}: " title="${shortcode}" onclick="this.classList.toggle('bigemoji');"> alt=" :${shortcode}: " title="${shortcode}" onclick="this.classList.toggle('bigemoji');" loading="lazy">
` `
var regExp = new RegExp(':' + shortcode + ':', 'g') var regExp = new RegExp(':' + shortcode + ':', 'g')
choiceText = choiceText.replace(regExp, emoji_url) choiceText = choiceText.replace(regExp, emoji_url)
@@ -1548,6 +1555,7 @@ function pollParse(poll, acct_id, emojis) {
var mastodonBaseWs = {} var mastodonBaseWs = {}
var mastodonBaseWsStatus = {} var mastodonBaseWsStatus = {}
function mastodonBaseStreaming(acct_id) { function mastodonBaseStreaming(acct_id) {
console.log('start to connect mastodonBaseStreaming of ' + acct_id)
notfCommon(acct_id, 0, null, 'no') notfCommon(acct_id, 0, null, 'no')
const domain = localStorage.getItem(`domain_${acct_id}`) const domain = localStorage.getItem(`domain_${acct_id}`)
if (mastodonBaseWsStatus[domain]) return if (mastodonBaseWsStatus[domain]) return
@@ -1564,7 +1572,7 @@ function mastodonBaseStreaming(acct_id) {
setTimeout(function () { setTimeout(function () {
mastodonBaseWsStatus[domain] = 'available' mastodonBaseWsStatus[domain] = 'available'
}, 3000) }, 3000)
mastodonBaseWs[domain].send(`{"type":"subscribe","stream":"user"}`) mastodonBaseWs[domain].send(JSON.stringify({ type: 'subscribe', stream: 'user' }))
$('.notice_icon_acct_' + acct_id).removeClass('red-text') $('.notice_icon_acct_' + acct_id).removeClass('red-text')
} }
mastodonBaseWs[domain].onmessage = function (mess) { mastodonBaseWs[domain].onmessage = function (mess) {
@@ -1611,14 +1619,16 @@ function mastodonBaseStreaming(acct_id) {
console.error("Error closing " + domain) console.error("Error closing " + domain)
console.error(error) console.error(error)
if (mastodonBaseWsStatus[domain] == 'available') { if (mastodonBaseWsStatus[domain] == 'available') {
M.toast({ /*M.toast({
html: html:
`${lang.lang_parse_disconnected}<button class="btn-flat toast-action" onclick="location.reload()">${lang.lang_layout_reconnect}</button>`, `${lang.lang_parse_disconnected}<button class="btn-flat toast-action" onclick="location.reload()">${lang.lang_layout_reconnect}</button>`,
completeCallback: function () { completeCallback: function () {
mastodonBaseWs[domain] = new WebSocket(start) parseColumn()
}, },
displayLength: 3000 displayLength: 3000
}) })*/
parseColumn()
} }
mastodonBaseWsStatus[domain] = 'cannotuse' mastodonBaseWsStatus[domain] = 'cannotuse'
setTimeout(function () { setTimeout(function () {
@@ -1631,14 +1641,16 @@ function mastodonBaseStreaming(acct_id) {
notfCommon(acct_id, 0, null, 'only') //fallback notfCommon(acct_id, 0, null, 'only') //fallback
console.warn("Closing " + domain) console.warn("Closing " + domain)
if (mastodonBaseWsStatus[domain] == 'available') { if (mastodonBaseWsStatus[domain] == 'available') {
M.toast({ /*M.toast({
html: html:
`${lang.lang_parse_disconnected}<button class="btn-flat toast-action" onclick="location.reload()">${lang.lang_layout_reconnect}</button>`, `${lang.lang_parse_disconnected}<button class="btn-flat toast-action" onclick="location.reload()">${lang.lang_layout_reconnect}</button>`,
completeCallback: function () { completeCallback: function () {
mastodonBaseWs[domain] = new WebSocket(start) parseColumn()
}, },
displayLength: 3000 displayLength: 3000
}) })*/
parseColumn()
} }
mastodonBaseWs[domain] = false mastodonBaseWs[domain] = false
mastodonBaseWsStatus[domain] = 'cannotuse' mastodonBaseWsStatus[domain] = 'cannotuse'
@@ -1683,10 +1695,11 @@ function getTlMeta(type, data, num, status) {
const columns = localStorage.getItem('column') const columns = localStorage.getItem('column')
const obj = JSON.parse(columns) const obj = JSON.parse(columns)
let ret = [] let ret = []
let i = 0 let i = -1
switch (type) { switch (type) {
case 'user': case 'user':
for (const tl of obj) { for (const tl of obj) {
i++
if (tl.domain != acct_id) continue if (tl.domain != acct_id) continue
if (tl.type == 'mix' || tl.type == 'home') { if (tl.type == 'mix' || tl.type == 'home') {
let voice = false let voice = false
@@ -1698,11 +1711,11 @@ function getTlMeta(type, data, num, status) {
acct_id: tl.domain acct_id: tl.domain
}) })
} }
i++
} }
break break
case 'public:local': case 'public:local':
for (const tl of obj) { for (const tl of obj) {
i++
if (tl.domain != acct_id) continue if (tl.domain != acct_id) continue
if (tl.type == 'mix' || tl.type == 'local') { if (tl.type == 'mix' || tl.type == 'local') {
let voice = false let voice = false
@@ -1714,11 +1727,11 @@ function getTlMeta(type, data, num, status) {
acct_id: tl.domain acct_id: tl.domain
}) })
} }
i++
} }
break break
case 'public:local:media': case 'public:local:media':
for (const tl of obj) { for (const tl of obj) {
i++
if (tl.domain != acct_id) continue if (tl.domain != acct_id) continue
if (tl.type == 'local-media') { if (tl.type == 'local-media') {
let voice = false let voice = false
@@ -1730,13 +1743,14 @@ function getTlMeta(type, data, num, status) {
acct_id: tl.domain acct_id: tl.domain
}) })
} }
i++
} }
break; break;
case 'public': case 'public':
for (const tl of obj) { for (const tl of obj) {
i++
if (tl.domain != acct_id) continue if (tl.domain != acct_id) continue
if (tl.type == 'pub') { if (tl.type == 'pub') {
console.log(i, tl)
let voice = false let voice = false
if (localStorage.getItem('voice_' + i)) voice = true if (localStorage.getItem('voice_' + i)) voice = true
ret.push({ ret.push({
@@ -1746,11 +1760,11 @@ function getTlMeta(type, data, num, status) {
acct_id: tl.domain acct_id: tl.domain
}) })
} }
i++
} }
break; break;
case 'public:media': case 'public:media':
for (const tl of obj) { for (const tl of obj) {
i++
if (tl.domain != acct_id) continue if (tl.domain != acct_id) continue
if (tl.type == 'pub-media') { if (tl.type == 'pub-media') {
let voice = false let voice = false
@@ -1762,11 +1776,11 @@ function getTlMeta(type, data, num, status) {
acct_id: tl.domain acct_id: tl.domain
}) })
} }
i++
} }
break; break;
case 'list': case 'list':
for (const tl of obj) { for (const tl of obj) {
i++
if (tl.domain != acct_id) continue if (tl.domain != acct_id) continue
if (tl.type == 'list' && tl.data == data[1]) { if (tl.type == 'list' && tl.data == data[1]) {
let voice = false let voice = false
@@ -1778,11 +1792,11 @@ function getTlMeta(type, data, num, status) {
acct_id: tl.domain acct_id: tl.domain
}) })
} }
i++
} }
break; break;
case 'direct': case 'direct':
for (const tl of obj) { for (const tl of obj) {
i++
if (tl.domain != acct_id) continue if (tl.domain != acct_id) continue
if (tl.type == 'dm') { if (tl.type == 'dm') {
let voice = false let voice = false
@@ -1794,11 +1808,11 @@ function getTlMeta(type, data, num, status) {
acct_id: tl.domain acct_id: tl.domain
}) })
} }
i++
} }
break; break;
case 'hashtag': case 'hashtag':
for (const tl of obj) { for (const tl of obj) {
i++
if (tl.domain != acct_id) continue if (tl.domain != acct_id) continue
const columnDataRaw = tl.data const columnDataRaw = tl.data
let columnData let columnData
@@ -1838,7 +1852,6 @@ function getTlMeta(type, data, num, status) {
acct_id: tl.domain acct_id: tl.domain
}) })
} }
i++
} }
break; break;
default: default:

View File

@@ -25,6 +25,7 @@ function pollToggle() {
} }
$('#post-box').css('width', width + 'px') $('#post-box').css('width', width + 'px')
$('#emoji').addClass('hide') $('#emoji').addClass('hide')
$('#draft').addClass('hide')
$('#poll').addClass('hide') $('#poll').addClass('hide')
$('#pollsta').text(lang.lang_no) $('#pollsta').text(lang.lang_no)
} }

View File

@@ -278,7 +278,7 @@ function stremaingSubscribe(type, acct_id, data, unsubscribe) {
else if (type === 'pub') { stream = 'public' } else if (type === 'pub') { stream = 'public' }
else if (type === 'pub-media') { stream = 'public:media' } else if (type === 'pub-media') { stream = 'public:media' }
else if (type === 'list') { else if (type === 'list') {
mastodonBaseWs[domain].send(`{"type":"${command}","stream":"list","list":"${data}"}`) mastodonBaseWs[domain].send(JSON.stringify({type: command, stream: 'list', list: data}))
return true return true
} else if (type === 'tag') { } else if (type === 'tag') {
let arr = [] let arr = []
@@ -288,11 +288,11 @@ function stremaingSubscribe(type, acct_id, data, unsubscribe) {
if (data.any) arr = arr.concat(data.any.split(',')) if (data.any) arr = arr.concat(data.any.split(','))
if (data.all) arr = arr.concat(data.all.split(',')) if (data.all) arr = arr.concat(data.all.split(','))
for (const tag of arr) { for (const tag of arr) {
mastodonBaseWs[domain].send(`{"type":"${command}","stream":"hashtag","tag":"${tag}"}`) mastodonBaseWs[domain].send(JSON.stringify({type: command, stream: 'hashtag', tag: tag}))
} }
return true return true
} }
mastodonBaseWs[domain].send(`{"type":"${command}","stream":"${stream}"`) mastodonBaseWs[domain].send(JSON.stringify({type: command, stream: stream}))
} }
function oldStreaming(type, cc, acct_id, tlid, data, mute, delc, voice, mode) { function oldStreaming(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
var misskey = false var misskey = false
@@ -1464,6 +1464,8 @@ function announ(acct_id, tlid) {
if (ct > 0) { if (ct > 0) {
$('.notf-announ_' + acct_id + '_ct').text(ct) $('.notf-announ_' + acct_id + '_ct').text(ct)
} }
localStorage.setItem('announ_' + acct_id, json[0].id)
} else { } else {
$('.notf-announ_' + acct_id).addClass('hide') $('.notf-announ_' + acct_id).addClass('hide')
} }

View File

@@ -4,6 +4,7 @@ function imgv(id, key, acct_id) {
$('#imgprog').text(0) $('#imgprog').text(0)
$('#imgsec').text(0) $('#imgsec').text(0)
$('#imgmodal').hide() $('#imgmodal').hide()
rotate(true)
$('#imgmodal').attr('src', '../../img/loading.svg') $('#imgmodal').attr('src', '../../img/loading.svg')
var murl = $('#' + id + '-image-' + key).attr('data-url') var murl = $('#' + id + '-image-' + key).attr('data-url')
var ourl = $('#' + id + '-image-' + key).attr('data-original') var ourl = $('#' + id + '-image-' + key).attr('data-original')
@@ -119,37 +120,10 @@ function imageXhr(id, key, murl) {
var width var width
element.onload = function() { element.onload = function() {
var width = element.naturalWidth var width = element.naturalWidth
if(width < 650) {
width = 650
}
var height = element.naturalHeight var height = element.naturalHeight
var windowH = $(window).height() calcNiceAspect(width, height)
var windowW = $(window).width() $('#imagemodal').attr('data-naturalWidth', width)
$('#imagemodal').css('bottom', '0') $('#imagemodal').attr('data-naturalHeight', height)
$('#imagemodal img').css('width', 'auto')
if (height < windowH) {
$('#imagemodal').css('height', height + 100 + 'px')
$('#imagemodal img').css('height', height + 'px')
if (width > windowW * 0.8) {
$('#imagemodal').css('width', '80vw')
$('#imagemodal img').css('width', 'auto')
var heightS = ((windowW * 0.8) / width) * height
$('#imagemodal').css('height', heightS + 100 + 'px')
} else {
$('#imagemodal').css('width', width + 'px')
}
} else {
$('#imagemodal img').css('width', 'auto')
var widthS = (windowH / height) * width
if (widthS < windowW) {
$('#imagemodal').css('width', widthS + 'px')
} else {
$('#imagemodal').css('width', '100vw')
}
$('#imagemodal').css('height', '100vh')
$('#imagemodal img').css('height', 'calc(100vh - 60px)')
}
} }
if ($('#' + id + '-image-' + (key * 1 + 1)).length == 0) { if ($('#' + id + '-image-' + (key * 1 + 1)).length == 0) {
$('#image-next').prop('disabled', true) $('#image-next').prop('disabled', true)
@@ -172,6 +146,38 @@ function imageXhr(id, key, murl) {
xhr.responseType = 'blob' xhr.responseType = 'blob'
xhr.send() xhr.send()
} }
function calcNiceAspect( width, height ) {
if(width < 650) {
width = 650
}
var windowH = $(window).height()
var windowW = $(window).width()
$('#imagemodal').css('bottom', '0')
$('#imagemodal img').css('width', 'auto')
if (height < windowH) {
$('#imagemodal').css('height', height + 100 + 'px')
$('#imagemodal img').css('height', height + 'px')
if (width > windowW * 0.8) {
$('#imagemodal').css('width', '80vw')
$('#imagemodal img').css('width', 'auto')
var heightS = ((windowW * 0.8) / width) * height
$('#imagemodal').css('height', heightS + 100 + 'px')
} else {
$('#imagemodal').css('width', width + 'px')
}
} else {
$('#imagemodal img').css('width', 'auto')
var widthS = (windowH / height) * width
if (widthS < windowW) {
$('#imagemodal').css('width', widthS + 'px')
} else {
$('#imagemodal').css('width', '100vw')
}
$('#imagemodal').css('height', '100vh')
$('#imagemodal img').css('height', 'calc(100vh - 60px)')
}
}
//ズームボタン(z:倍率) //ズームボタン(z:倍率)
function zoom(z) { function zoom(z) {
var wdth = $('#imagewrap img').width() var wdth = $('#imagewrap img').width()
@@ -260,6 +266,33 @@ element.onmousewheel = function(e) {
zoom(0.9) zoom(0.9)
} }
} }
function rotate(reset) {
if (reset) {
$('#imagewrap img').removeClass('rotate-90')
$('#imagewrap img').removeClass('rotate-180')
$('#imagewrap img').removeClass('rotate-270')
$('#imagemodal').attr('data-naturalWidth', null)
$('#imagemodal').attr('data-naturalWidth', null)
return true
}
var width = $('#imagemodal').attr('data-naturalWidth')
var height = $('#imagemodal').attr('data-naturalHeight')
if ($('#imagewrap img').hasClass('rotate-90')) {
$('#imagewrap img').removeClass('rotate-90')
$('#imagewrap img').addClass('rotate-180')
calcNiceAspect(width, height)
} else if ($('#imagewrap img').hasClass('rotate-180')) {
$('#imagewrap img').removeClass('rotate-180')
$('#imagewrap img').addClass('rotate-270')
calcNiceAspect(height, width)
} else if ($('#imagewrap img').hasClass('rotate-270')) {
$('#imagewrap img').removeClass('rotate-270')
calcNiceAspect(width, height)
} else {
$('#imagewrap img').addClass('rotate-90')
calcNiceAspect(height, width)
}
}
//当該トゥート //当該トゥート
function detFromImg() { function detFromImg() {

View File

@@ -51,6 +51,7 @@ function parseColumn(target, dontclose) {
localStorage.setItem('prof_' + key, acct.prof) localStorage.setItem('prof_' + key, acct.prof)
localStorage.setItem('domain_' + key, acct.domain) localStorage.setItem('domain_' + key, acct.domain)
localStorage.setItem('acct_' + key + '_at', acct.at) localStorage.setItem('acct_' + key + '_at', acct.at)
localStorage.setItem('acct_' + key + '_rt', acct.rt ? acct.rt : null)
if(!target) mastodonBaseStreaming(key) if(!target) mastodonBaseStreaming(key)
ckdb(key) ckdb(key)
//フィルターデータ読もう //フィルターデータ読もう
@@ -438,6 +439,11 @@ function parseColumn(target, dontclose) {
<i class="material-icons nex" title="${lang.lang_layout_reconnect}">refresh</i> <i class="material-icons nex" title="${lang.lang_layout_reconnect}">refresh</i>
<br /> <br />
${lang.lang_layout_reconnect} ${lang.lang_layout_reconnect}
</a>
<a onclick="resetWidth('${key}')" class="setting nex waves-effect">
<i class="material-icons nex" title="${lang.lang_layout_resetWidth}">refresh</i>
<br />
${lang.lang_layout_resetWidth}
</a><br /> </a><br />
${lang.lang_layout_headercolor} ${lang.lang_layout_headercolor}
<br> <br>
@@ -930,3 +936,11 @@ function leftFoldRemove(key) {
localStorage.setItem('column', json) localStorage.setItem('column', json)
parseColumn() parseColumn()
} }
function resetWidth(key) {
var multi = localStorage.getItem('column')
var obj = JSON.parse(multi)
obj[key].width = null
var json = JSON.stringify(obj)
localStorage.setItem('column', json)
$(`#timeline_box_${key}_parentBox`).attr('style', '')
}

View File

@@ -101,7 +101,6 @@ if (location.search) {
$('.mini-btn').text('expand_less') $('.mini-btn').text('expand_less')
} }
} }
window.onload = initPostbox
function initPostbox() { function initPostbox() {
$('#posttgl').click(function (e) { $('#posttgl').click(function (e) {
if (!$('#post-box').hasClass('appear')) { if (!$('#post-box').hasClass('appear')) {

View File

@@ -98,6 +98,10 @@ function settings() {
//読み込み時の設定ロード //読み込み時の設定ロード
function load() { function load() {
var currentLang = lang.language
console.log(currentLang)
$(`#langsel-sel`).val(currentLang)
$('#langsel-sel').formSelect()
var max = envView.config.length var max = envView.config.length
for (var i = 0; i < max; i++) { for (var i = 0; i < max; i++) {
var ls = envView.config[i].storage var ls = envView.config[i].storage
@@ -283,8 +287,10 @@ function oksload() {
$('#oks-3').val(localStorage.getItem('oks-3')) $('#oks-3').val(localStorage.getItem('oks-3'))
} }
} }
function changelang(lang) { function changeLang() {
postMessage(['lang', lang], '*') const lang = $('#langsel-sel').val()
console.log(lang)
if(lang) postMessage(['lang', lang], '*')
} }
function exportSettings() { function exportSettings() {
var exp = exportSettingsCore() var exp = exportSettingsCore()
@@ -356,8 +362,12 @@ function exportSettingsCore() {
//tags //tags
var tagarr = localStorage.getItem('tag') var tagarr = localStorage.getItem('tag')
var favtag = JSON.parse(tagarr) var favtag = JSON.parse(tagarr)
exp.favoriteTags = favtag //plugins
exp.revisons = 2.1 var plugins = localStorage.getItem('plugins')
var plugin = JSON.parse(plugins)
exp.plugins = plugin
exp.revisons = 2.2
exp.meta = {} exp.meta = {}
exp.meta.date = new Date() exp.meta.date = new Date()
exp.meta.thedesk = localStorage.getItem('ver') exp.meta.thedesk = localStorage.getItem('ver')
@@ -395,6 +405,7 @@ function importSettingsCore(obj) {
localStorage.setItem('prof_' + key, acct.prof) localStorage.setItem('prof_' + key, acct.prof)
localStorage.setItem('domain_' + key, acct.domain) localStorage.setItem('domain_' + key, acct.domain)
localStorage.setItem('acct_' + key + '_at', acct.at) localStorage.setItem('acct_' + key + '_at', acct.at)
localStorage.setItem('acct_' + key + '_rt', acct.rt ? acct.rt : null)
} }
localStorage.setItem('column', JSON.stringify(obj.columns)) localStorage.setItem('column', JSON.stringify(obj.columns))
if (obj.config) { if (obj.config) {
@@ -502,9 +513,9 @@ function copyColor(from, to) {
let i = 0 let i = 0
let color let color
for (tag of props) { for (tag of props) {
if(tag == from) { if (tag == from) {
let used = $(`#use-color_${i}`).prop('checked') let used = $(`#use-color_${i}`).prop('checked')
if(!used) { if (!used) {
Swal.fire({ Swal.fire({
type: 'error', type: 'error',
title: 'Not checked', title: 'Not checked',
@@ -516,9 +527,9 @@ function copyColor(from, to) {
} }
i++ i++
} }
if(!color) return false if (!color) return false
for (tag of props) { for (tag of props) {
if(tag == to) { if (tag == to) {
$(`#color-picker${i}_value`).val(color) $(`#color-picker${i}_value`).val(color)
$(`#use-color_${i}`).prop('checked', true) $(`#use-color_${i}`).prop('checked', true)
break break
@@ -555,7 +566,7 @@ function customComp() {
var my = JSON.parse(multi)[0].name var my = JSON.parse(multi)[0].name
var id = $('#custom-edit-sel').val() var id = $('#custom-edit-sel').val()
const defaults = [ const defaults = [
'black','blue','brown','green','indigo','polar','snow','white' 'black', 'blue', 'brown', 'green', 'indigo', 'polar', 'snow', 'white'
] ]
if (id == 'add_new' || defaults.includes(id)) { if (id == 'add_new' || defaults.includes(id)) {
id = makeCID() id = makeCID()
@@ -690,7 +701,7 @@ function customConnect(raw) {
i++ i++
} }
$('#custom_json').val(raw[1]) $('#custom_json').val(raw[1])
if(args.default) { if (args.default) {
$('#delTheme').addClass('disabled') $('#delTheme').addClass('disabled')
} }
} }
@@ -728,6 +739,107 @@ function customSoundSave(key, file) {
localStorage.setItem('custom' + key, file) localStorage.setItem('custom' + key, file)
$(`#c${key}-file`).text(file) $(`#c${key}-file`).text(file)
} }
function pluginLoad() {
$('#plugin-edit-sel').val('add_new')
$(".plugin_delete").addClass('disabled')
var template = ''
var pgns = localStorage.getItem('plugins')
var args = JSON.parse(pgns ? pgns : '[]')
Object.keys(args).forEach(function (key) {
var theme = args[key]
var themeid = theme.id
template = template + `<option value="${themeid}">${getMeta(theme.content).name}</option>`
})
template = '<option value="add_new">' + $('#plugin-selector').attr('data-add') + '</option>' + template
$('#plugin-edit-sel').html(template)
$('select').formSelect()
}
function pluginEdit() {
var id = $('#plugin-edit-sel').val()
$('#plugin').attr('data-id', id)
if (id == 'add_new') {
$('#plugin').val('')
$(".plugin_delete").addClass('disabled')
} else {
$(".plugin_delete").removeClass('disabled')
var pgns = localStorage.getItem('plugins')
var args = JSON.parse(pgns ? pgns : '[]')
Object.keys(args).forEach(function (key) {
var plugin = args[key]
var targetId = plugin.id
if (targetId == id) $('#plugin').val(plugin.content)
})
}
}
function completePlugin(comp) {
var pgns = localStorage.getItem('plugins')
var args = JSON.parse(pgns ? pgns : '[]')
var id = $('#plugin').attr('data-id')
var inputPlugin = $('#plugin').val()
var meta = getMeta(inputPlugin)
if (!meta) {
Swal.fire({
icon: 'error',
title: 'error',
})
return false
}
if (!meta.name || !meta.version || !meta.event || !meta.author) {
Swal.fire({
icon: 'error',
title: 'error',
})
return false
}
if (id == 'add_new') {
id = makeCID()
args.push({
id: id,
content: inputPlugin
})
} else {
Object.keys(args).forEach(function (key) {
var plugin = args[key]
var targetId = plugin.id
if (targetId == id) args[key].content = inputPlugin
})
}
var ss = args
localStorage.setItem('plugins', JSON.stringify(ss))
if(comp) return false
$('#plugin').attr('data-id', 'add_new')
$('#plugin').val('')
pluginLoad()
}
async function deletePlugin() {
const alert = await Swal.fire({
title: 'delete',
icon: 'warning',
showCancelButton: true
})
if (!alert) return false
$('#plugin').val('')
var pgns = localStorage.getItem('plugins')
var args = JSON.parse(pgns ? pgns : '[]')
var id = $('#plugin').attr('data-id')
$('#plugin').attr('data-id', 'add_new')
var ss = []
Object.keys(args).forEach(function (key) {
var plugin = args[key]
var targetId = plugin.id
if (targetId != id) ss.push(plugin)
})
localStorage.setItem('plugins', JSON.stringify(ss))
pluginLoad()
}
function execEditPlugin() {
completePlugin(true)
var id = $('#plugin').attr('data-id')
var inputPlugin = $('#plugin').val()
var meta = getMeta(inputPlugin)
execPlugin(id, meta.event, { acct_id: 0, id: null })
}
window.onload = function () { window.onload = function () {
//最初に読む //最初に読む
load() load()
@@ -738,6 +850,7 @@ window.onload = function () {
voiceSettingLoad() voiceSettingLoad()
oksload() oksload()
ctLoad() ctLoad()
pluginLoad()
$('body').addClass(localStorage.getItem('platform')) $('body').addClass(localStorage.getItem('platform'))
} }
//設定画面で未読マーカーは要らない //設定画面で未読マーカーは要らない

View File

@@ -62,6 +62,12 @@ function checkSpotify() {
} else { } else {
$('#amw_no').prop('checked', true) $('#amw_no').prop('checked', true)
} }
var flag3 = localStorage.getItem('control-center-np')
if (flag3) {
$('#cmw_yes').prop('checked', true)
} else {
$('#cmw_no').prop('checked', true)
}
} }
function spotifyFlagSave() { function spotifyFlagSave() {
var awk = $('[name=awk]:checked').val() var awk = $('[name=awk]:checked').val()
@@ -83,6 +89,16 @@ function aMusicFlagSave() {
M.toast({ html: lang.lang_spotify_imgno, displayLength: 3000 }) M.toast({ html: lang.lang_spotify_imgno, displayLength: 3000 })
} }
} }
function cMusicFlagSave() {
var awk = $('[name=cmw]:checked').val()
if (awk == 'yes') {
localStorage.setItem('control-center-np', 'yes')
M.toast({ html: 'コントロールセンターNPをオンにしました', displayLength: 3000 })
} else {
localStorage.removeItem('control-center-np')
M.toast({ html: 'コントロールセンターNPをオフにしました', displayLength: 3000 })
}
}
function nowplaying(mode) { function nowplaying(mode) {
if (mode == 'spotify') { if (mode == 'spotify') {
var start = 'https://spotify.thedesk.top/current-playing?code=' + localStorage.getItem('spotify-token') var start = 'https://spotify.thedesk.top/current-playing?code=' + localStorage.getItem('spotify-token')
@@ -155,6 +171,8 @@ function nowplaying(mode) {
} }
} else if (mode == 'itunes') { } else if (mode == 'itunes') {
postMessage(['itunes', ''], '*') postMessage(['itunes', ''], '*')
} else if (mode == 'anynp') {
postMessage(['itunes', 'anynp'], '*')
} else if (mode == 'lastFm') { } else if (mode == 'lastFm') {
var user = localStorage.getItem('lastFmUser') var user = localStorage.getItem('lastFmUser')
var start = 'https://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=' + user + '&limit=1&api_key=8f113803bfea951b6dde9e56d32458b2&format=json' var start = 'https://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=' + user + '&limit=1&api_key=8f113803bfea951b6dde9e56d32458b2&format=json'
@@ -228,6 +246,16 @@ function nowplaying(mode) {
} }
async function npCore(arg) { async function npCore(arg) {
console.table(arg) console.table(arg)
if(arg.anynp) {
var flag = localStorage.getItem('artwork')
var q = arg.title
if (flag && localStorage.getItem('complete-artwork')) {
aaw = await getUnknownAA(q)
postMessage(['bmpImage', [aaw.aaw, 0]], '*')
}
$('#textarea').val(q)
return false
}
var content = localStorage.getItem('np-temp') var content = localStorage.getItem('np-temp')
if (!content || content == '' || content == 'null') { if (!content || content == '' || content == 'null') {
var content = '#NowPlaying {song} / {album} / {artist}\n{url}' var content = '#NowPlaying {song} / {album} / {artist}\n{url}'

View File

@@ -19,7 +19,7 @@ function bottomReverse() {
localStorage.setItem('reverse', 'true') localStorage.setItem('reverse', 'true')
} }
} }
function tips(mode) { function tips(mode, custom) {
postMessage(['sendSinmpleIpc', 'endmem'], '*') postMessage(['sendSinmpleIpc', 'endmem'], '*')
clearInterval(clockint) clearInterval(clockint)
clearInterval(spotStart) clearInterval(spotStart)
@@ -57,22 +57,31 @@ function tips(mode) {
tipsToggle() tipsToggle()
localStorage.setItem('tips', 'itunes') localStorage.setItem('tips', 'itunes')
itunestips() itunestips()
} else if (mode == 'custom') {
tipsToggle()
localStorage.setItem('tips', `custom:${custom}`)
execPlugin(custom, 'tips', null)
} }
} }
//メモリ //メモリ
function startmem() { function startmem() {
postMessage(['sendSinmpleIpc', 'startmem'], '*') postMessage(['sendSinmpleIpc', 'startmem'], '*')
} }
function renderMem(use, cpu, total) { function renderMem(use, cpu, total, core, uptime) {
let day = Math.floor(uptime / 60 / 60 / 24)
let hour = Math.floor(uptime / 60 /60 % 24)
if(hour < 10) hour = '0' + hour
let min = Math.floor(uptime / 60 % 60)
if(min < 10) min = '0' + min
let sec = Math.floor(uptime % 60)
if(sec < 10) sec = '0' + sec
let time = `${day ? day + ' days ' : ''}${hour ? hour + ':' : ''}${min}:${sec}`
//Intel
cpu = cpu.replace('Intel(R)', '').replace('(TM)', '').replace(' CPU', '')
//AMD
cpu = cpu.replace('AMD ', '').replace(/\s[0-9]{1,3}-Core\sProcessor/, '')
$('#tips-text').html( $('#tips-text').html(
escapeHTML(cpu) + `${escapeHTML(cpu)} x ${core}<br />RAM: ${Math.floor(use / 1024 / 1024 / 102.4) / 10}/${Math.floor(total / 1024 / 1024 / 102.4) / 10}GB(${Math.floor((use / total) * 100)}%) UP:${time}`
'<br>Memory:' +
Math.floor(use / 1024 / 1024 / 102.4) / 10 +
'/' +
Math.floor(total / 1024 / 1024 / 102.4) / 10 +
'GB(' +
Math.floor((use / total) * 100) +
'%)'
) )
} }
//トレンドタグ //トレンドタグ
@@ -196,12 +205,10 @@ function spotifytips() {
<i class="material-icons pointer" onclick="nowplaying('spotify');show()" style="font-size:20px">send</i> <i class="material-icons pointer" onclick="nowplaying('spotify');show()" style="font-size:20px">send</i>
</div> </div>
<div id="spot-cover"> <div id="spot-cover">
<img src="${img}" id="spot-img"> <img src="${img}" id="spot-img" draggable="false">
</div> </div>
<div id="spot-name"> <div id="spot-name">
${escapeHTML(item.name)} ${escapeHTML(item.name)}
</div>
<div id="spot-artist">
<span class="gray sml" id="spot-art">${artisttxt}</span> <span class="gray sml" id="spot-art">${artisttxt}</span>
</div> </div>
<div id="spot-time"> <div id="spot-time">

View File

@@ -554,6 +554,8 @@ function reset() {
$("#my-data-nav .anc-link").on("click", function() { $("#my-data-nav .anc-link").on("click", function() {
var target = $(this).attr("go") var target = $(this).attr("go")
if (target) { if (target) {
const title = $(this).html()
$('#his-data-title').html(title)
$("#my-data-nav .anc-link").removeClass("active-back") $("#my-data-nav .anc-link").removeClass("active-back")
$(this).addClass("active-back") $(this).addClass("active-back")
$(target).show() $(target).show()

View File

@@ -124,7 +124,6 @@ function createWindow() {
var max_info_path = join(app.getPath('userData'), 'max-window-size.json') var max_info_path = join(app.getPath('userData'), 'max-window-size.json')
var ha_path = join(app.getPath('userData'), 'hardwareAcceleration') var ha_path = join(app.getPath('userData'), 'hardwareAcceleration')
var ua_path = join(app.getPath('userData'), 'useragent') var ua_path = join(app.getPath('userData'), 'useragent')
var frame_path = join(app.getPath('userData'), 'frame')
try { try {
fs.readFileSync(ha_path, 'utf8') fs.readFileSync(ha_path, 'utf8')
app.disableHardwareAcceleration() app.disableHardwareAcceleration()
@@ -152,19 +151,6 @@ function createWindow() {
y: 'string', y: 'string',
} // デフォルトバリュー } // デフォルトバリュー
} }
try {
var frameRaw = fs.readFileSync(frame_path, 'utf8')
if (frameRaw == 'false') {
var frame = false
var frameTitle = 'hidden'
} else {
var frame = true
var frameTitle = 'default'
}
} catch {
var frame = true
}
// メイン画面の表示。ウィンドウの幅、高さを指定できる // メイン画面の表示。ウィンドウの幅、高さを指定できる
var platform = process.platform var platform = process.platform
var bit = process.arch var bit = process.arch
@@ -173,6 +159,7 @@ function createWindow() {
webviewTag: true, webviewTag: true,
nodeIntegration: false, nodeIntegration: false,
contextIsolation: true, contextIsolation: true,
spellcheck: false,
preload: join(__dirname, 'js', 'platform', 'preload.js'), preload: join(__dirname, 'js', 'platform', 'preload.js'),
}, },
width: window_size.width, width: window_size.width,
@@ -180,7 +167,6 @@ function createWindow() {
x: window_size.x, x: window_size.x,
y: window_size.y, y: window_size.y,
show: false, show: false,
frame: frame,
} }
if (platform == 'linux') { if (platform == 'linux') {
arg.resizable = true arg.resizable = true
@@ -189,7 +175,6 @@ function createWindow() {
arg.simpleFullscreen = true arg.simpleFullscreen = true
} else if (platform == 'darwin') { } else if (platform == 'darwin') {
arg.simpleFullscreen = true arg.simpleFullscreen = true
arg.titleBarStyle = frameTitle
} }
mainWindow = new BrowserWindow(arg) mainWindow = new BrowserWindow(arg)
mainWindow.once('page-title-updated', () => { mainWindow.once('page-title-updated', () => {
@@ -200,6 +185,13 @@ function createWindow() {
mainWindow.maximize() mainWindow.maximize()
} }
}) })
mainWindow.webContents.on('page-title-updated', () => {
const url = mainWindow.webContents.getURL()
if(url.match(/https:\/\/crowdin.com\/profile/)) {
app.relaunch()
app.exit()
}
})
if (!packaged) mainWindow.toggleDevTools() if (!packaged) mainWindow.toggleDevTools()
electron.session.defaultSession.clearCache(() => {}) electron.session.defaultSession.clearCache(() => {})
if (process.argv) { if (process.argv) {
@@ -245,9 +237,12 @@ function createWindow() {
} }
const promise = new Promise(function (resolve) { const promise = new Promise(function (resolve) {
mainWindow.webContents.send('asReadEnd', '') mainWindow.webContents.send('asReadEnd', '')
let wait = 3000
const url = mainWindow.webContents.getURL()
if(!url.match(/index.html/)) wait = 0
setTimeout(function () { setTimeout(function () {
resolve() resolve()
}, 3000) }, wait)
}) })
promise.then(function (response) { promise.then(function (response) {
closeArg = true closeArg = true
@@ -293,10 +288,7 @@ function createWindow() {
var platform = process.platform var platform = process.platform
var bit = process.arch var bit = process.arch
Menu.setApplicationMenu(Menu.buildFromTemplate(language.template(lang, mainWindow, packaged, dir, dirname, frame))) Menu.setApplicationMenu(Menu.buildFromTemplate(language.template(lang, mainWindow, packaged, dir, dirname)))
if (!frame) {
mainWindow.setMenu(null)
}
//CSS //CSS
css.css(mainWindow) css.css(mainWindow)
//アップデータとダウンロード //アップデータとダウンロード

View File

@@ -144,7 +144,7 @@ function css(mainWindow) {
hisData + hisData +
";--active:" + active + ";--postbox:" + postbox + ";--modalfooter:" + ";--active:" + active + ";--postbox:" + postbox + ";--modalfooter:" +
modalFooter + ";--selected:" + selected + ";--selectedWithShare:" + selectedWithShare + modalFooter + ";--selected:" + selected + ";--selectedWithShare:" + selectedWithShare +
"--gray:" + gray + ";}" + ";--gray:" + gray + ";}" +
".customtheme #imagemodal{background: url(\"../img/pixel.svg\");}"; ".customtheme #imagemodal{background: url(\"../img/pixel.svg\");}";
} else { } else {
var css = compatibleTheme(json) var css = compatibleTheme(json)

View File

@@ -1,5 +1,5 @@
// Create the Application's main menu // Create the Application's main menu
function templete(lang, mainWindow, packaged, dir, dirname, frame) { function templete(lang, mainWindow, packaged, dir, dirname) {
//フレーム //フレーム
if(lang !="ja" && lang != "en"){ if(lang !="ja" && lang != "en"){
lang = "en" lang = "en"
@@ -9,11 +9,6 @@ function templete(lang, mainWindow, packaged, dir, dirname, frame) {
const app = electron.app; const app = electron.app;
const BrowserWindow = electron.BrowserWindow; const BrowserWindow = electron.BrowserWindow;
const join = require('path').join; const join = require('path').join;
ipc.on("frameCheck", function(e, arg) {
if(!frame) {
e.sender.webContents.send("frame", "");
}
});
const dict = { const dict = {
"application": { "application": {
"ja": "アプリケーション", "ja": "アプリケーション",

View File

@@ -1,13 +1,24 @@
const { execSync } = require('child_process')
const { join } = require('path')
function np(mainWindow) { function np(mainWindow) {
var platform = process.platform
if (platform !== 'darwin') return false
const electron = require('electron') const electron = require('electron')
const ipc = electron.ipcMain const ipc = electron.ipcMain
ipc.on('itunes', async (e, args) => { ipc.on('itunes', async (e, args) => {
console.log('Access') console.log('Access')
if (args[0] == 'set') { if (args == 'anynp') {
const dir = join(__dirname, "..", "main", "script", "macOSNP.scpt").replace("app.asar","app.asar.unpacked")
const stdout = execSync(`osascript ${dir}`).toString()
const title = stdout.substring(0, stdout.length - 100).match(/"(.+)?"/)[1].replace('\"','"')
const ret = {
title: title,
anynp: true
}
e.sender.webContents.send('itunes-np', ret)
} else { } else {
var platform = process.platform
var bit = process.arch
if (platform == 'darwin') {
try { try {
const nowplaying = require('itunes-nowplaying-mac') const nowplaying = require('itunes-nowplaying-mac')
let value = await nowplaying() let value = await nowplaying()
@@ -27,8 +38,6 @@ function np(mainWindow) {
console.error(error) console.error(error)
e.sender.webContents.send('itunes-np', error) e.sender.webContents.send('itunes-np', error)
} }
} else {
}
} }
}) })

Binary file not shown.

Binary file not shown.

View File

@@ -188,8 +188,8 @@ function system(mainWindow, dir, lang, dirname) {
}) })
function mems() { function mems() {
var mem = os.totalmem() - os.freemem() var mem = os.totalmem() - os.freemem()
if (mainWindow) { if (mainWindow && event.webContents) {
event.webContents.send('memory', [mem, os.cpus()[0].model, os.totalmem()]) event.webContents.send('memory', [mem, os.cpus()[0].model, os.totalmem(), os.cpus().length, os.uptime()])
} }
} }
ipc.on('endmem', (e, arg) => { ipc.on('endmem', (e, arg) => {

View File

@@ -1,14 +1,14 @@
{ {
"name": "thedesk", "name": "thedesk",
"version": "21.2.2", "version": "22.1.0",
"codename": "Mayu", "codename": "Koume",
"description": "TheDesk is a Mastodon client for PC.", "description": "TheDesk is a Mastodon client for PC.",
"repository": "https://github.com/cutls/TheDesk", "repository": "https://github.com/cutls/TheDesk",
"main": "main.js", "main": "main.js",
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1", "test": "echo \"Error: no test specified\" && exit 1",
"construct": "cd view/make && node make --automatic && cd ../../", "construct": "cd view/make && node make --automatic && cd ../../ && browserify aiscript.js -o js/platform/aiscript.js",
"construct:store": "cd view/make && node make --automatic --store && cd ../../", "construct:store": "cd view/make && node make --automatic --store && cd ../../ && browserify aiscript.js -o js/platform/aiscript.js",
"dev": "npx electron ./ --dev", "dev": "npx electron ./ --dev",
"dist": "build --linux snap", "dist": "build --linux snap",
"watchview": "node view/make/make.js --automatic --watch", "watchview": "node view/make/make.js --automatic --watch",
@@ -21,8 +21,8 @@
"build:linux:snapstore": "node view/make/make.js --automatic --store && npx electron-builder --linux", "build:linux:snapstore": "node view/make/make.js --automatic --store && npx electron-builder --linux",
"build:mac:web": "node view/make/make.js --automatic && npx electron-builder --mac", "build:mac:web": "node view/make/make.js --automatic && npx electron-builder --mac",
"build:mac:homebrew": "node view/make/make.js --automatic --store && npx electron-builder --mac", "build:mac:homebrew": "node view/make/make.js --automatic --store && npx electron-builder --mac",
"lint:fix": "eslint js --fix" , "lint:fix": "eslint js --fix",
"lint": "eslint js" "lint": "eslint js"
}, },
"keywords": [ "keywords": [
"mastodon", "mastodon",
@@ -59,36 +59,39 @@
], ],
"license": "GPL-3.0", "license": "GPL-3.0",
"dependencies": { "dependencies": {
"@fortawesome/fontawesome-free": "^5.14.0", "@fortawesome/fontawesome-free": "^5.15.2",
"custom-electron-titlebar": "^3.2.3", "@syuilo/aiscript": "^0.11.1",
"electron-dl": "^3.0.1", "electron-dl": "^3.0.2",
"jimp": "^0.14.0", "jimp": "^0.16.1",
"jquery": "^3.5.1", "jquery": "^3.5.1",
"jquery-ui-dist": "^1.12.1", "jquery-ui-dist": "^1.12.1",
"json5": "^2.1.3", "json5": "^2.2.0",
"lodash": "^4.17.19", "lodash": "^4.17.20",
"materialize-css": "git://github.com/cutls/materialize#v1-dev", "materialize-css": "git://github.com/cutls/materialize#v1-dev",
"sanitize-html": "^2.3.2",
"sumchecker": "^3.0.1", "sumchecker": "^3.0.1",
"sweetalert2": "^9.17.0", "sweetalert2": "^10.14.0",
"system-font-families": "^0.4.1", "system-font-families": "^0.4.1",
"vue": "^2.6.11" "vue": "^2.6.12"
}, },
"optionalDependencies": { "optionalDependencies": {
"itunes-nowplaying-mac": "0.3.1" "itunes-nowplaying-mac": "0.3.1"
}, },
"devDependencies": { "devDependencies": {
"chokidar": "^3.4.1", "browserify": "^17.0.0",
"electron": "^9.1.1", "chokidar": "^3.5.1",
"electron-builder": "^22.7.0", "electron": "^10.1.5",
"electron-rebuild": "^1.11.0", "electron-builder": "^22.9.1",
"eslint": "^7.6.0", "electron-rebuild": "^2.3.2",
"eslint": "^7.13.0",
"readline-sync": "1.4.10" "readline-sync": "1.4.10"
}, },
"build": { "build": {
"productName": "TheDesk", "productName": "TheDesk",
"appId": "top.thedesk", "appId": "top.thedesk",
"asarUnpack": [ "asarUnpack": [
"node_modules/itunes-nowplaying-mac" "node_modules/itunes-nowplaying-mac",
"main/script"
], ],
"directories": { "directories": {
"output": "../build" "output": "../build"

BIN
app/source/bubble.wav Normal file

Binary file not shown.

View File

@@ -1,154 +1,133 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="@@lang@@"> <html lang="@@lang@@">
<head>
<title>Account Manager - TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport" />
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link
href="../../@@node_base@@/materialize-css/dist/css/materialize.css"
type="text/css"
rel="stylesheet"
/>
<link href="../../css/master.css" type="text/css" rel="stylesheet" />
<link href="../../css/tl.css" rel="stylesheet" type="text/css" />
<link href="../../css/userdata.css" rel="stylesheet" type="text/css" />
<link
href="../../@@node_base@@/@fortawesome/fontawesome-free/css/all.min.css"
type="text/css"
rel="stylesheet"
/>
<link href="../../css/acct.css" rel="stylesheet" type="text/css" />
<meta charset="utf-8" />
@@comment-start@@
<script type="text/javascript">
var _jipt = []
_jipt.push(['project', 'thedesk'])
</script>
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
@@comment-end@@
@@pwa@@ @@store@@
</head>
<body id="mainView" class="@@pwaClass@@"> <head>
<script type="text/javascript" src="../../@@node_base@@/jquery/dist/jquery.js"></script> <title>Account Manager - TheDesk</title>
<script type="text/javascript" src="../../js/platform/first.js"></script> <meta content="width=device-width,initial-scale=1.0" name="viewport" />
<script <link href="../../css/themes.css" type="text/css" rel="stylesheet">
type="text/javascript" <link href="../../@@node_base@@/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet" />
src="../../@@node_base@@/materialize-css/dist/js/materialize.js" <link href="../../css/master.css" type="text/css" rel="stylesheet" />
></script> <link href="../../css/tl.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="main.js"></script> <link href="../../css/userdata.css" rel="stylesheet" type="text/css" />
<script <link href="../../@@node_base@@/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet" />
type="text/javascript" <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
src="../../@@node_base@@/sweetalert2/dist/sweetalert2.all.min.js" <link href="../../css/acct.css" rel="stylesheet" type="text/css" />
></script> <meta charset="utf-8" />
<script> @@comment-start@@
var misskeytoken = false <script type="text/javascript">
</script> var _jipt = []
<script type="text/javascript" src="../../js/common/time.js"></script> _jipt.push(['project', 'thedesk'])
<div class="hide-first"> </script>
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;" <script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
>@@back@@</a @@comment-end@@
><br /> @@pwa@@ @@store@@
<h5>@@list@@</h5> </head>
<div id="acct-list"></div>
<div class="divider"></div> <body id="mainView" class="@@pwaClass@@">
</div> <script type="text/javascript" src="../../@@node_base@@/jquery/dist/jquery.js"></script>
<div class="hide-second"> <script type="text/javascript" src="../../js/platform/first.js"></script>
<a href="setting.html">@@haveExported@@</a> <script type="text/javascript" src="../../@@node_base@@/materialize-css/dist/js/materialize.js"></script>
</div> <script type="text/javascript" src="main.js"></script>
<div> <script type="text/javascript" src="../../@@node_base@@/sweetalert2/dist/sweetalert2.all.min.js"></script>
<h5>@@add@@</h5> <script>
<br /> var misskeytoken = false
<div id="add"> </script>
<div class="row"> <script type="text/javascript" src="../../js/common/time.js"></script>
<div class="col s8"> <div class="hide-first">
@@addAcct@@<br /> <a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;">@@back@@</a><br />
<input type="text" id="url" style="width:70%" placeholder="ex)mstdn.jp" /> <h5>@@list@@</h5>
<div id="ins-suggest"></div> <div id="acct-list"></div>
<button class="btn waves-effect" onclick="instance()">Login</button><br /> <div class="divider"></div>
<div class="pwa"> </div>
@@codesetupwarn@@<br /> <div class="hide-second">
<label> <a href="setting.html">@@haveExported@@</a>
<input type="checkbox" class="filled-in" id="linux" /> </div>
<span>@@codesetup@@</span> <div>
</label> <h5>@@add@@</h5>
<br /> <br />
</div> <div id="add">
<div class="row">
<div class="col s8">
@@addAcct@@<br />
<input type="text" id="url" style="width:70%" placeholder="ex)mstdn.jp" />
<div id="ins-suggest"></div>
<button class="btn waves-effect" onclick="instance()">Login</button><br />
<div class="pwa">
@@codesetupwarn@@<br />
<label> <label>
<input type="checkbox" class="filled-in" id="misskey" /> <input type="checkbox" class="filled-in" id="linux" />
<span>@@thisismisskey@@</span> </label <span>@@codesetup@@</span>
><br /> </label>
</div> <br />
<div class="col s4 scr" aria-hidden="true">
<span style="font-family:Open Sans;">Supports</span>
<div id="support" class="collection transparent"></div>
</div> </div>
<label>
<input type="checkbox" class="filled-in" id="misskey" />
<span>@@thisismisskey@@</span> </label><br />
</div>
<div class="col s4 scr" aria-hidden="true">
<span style="font-family:Open Sans;">Supports</span>
<div id="support" class="collection transparent"></div>
</div> </div>
</div> </div>
<div id="auth" style="display:none"> </div>
@@codepastewarn@@<br /> <div id="auth" style="display:none">
<input type="text" id="code" placeholder="@@codepaste@@" required /> @@codepastewarn@@<br />
<button class="btn waves-effect" onclick="code()">Auth</button><br /> <input type="text" id="code" placeholder="@@codepaste@@" required />
<br /> <button class="btn waves-effect" onclick="code()">Auth</button><br />
<a onclick="atSetup()" class="pointer">@@accessTokenSetup@@</a> <br />
<div id="compt" style="display:none" class="scr"> <a onclick="atSetup()" class="pointer">@@accessTokenSetup@@</a>
<h5>ログイン前に必ずご確認ください</h5> <div id="compt" style="display:none" class="scr">
<span id="compt-instance"></span>はバージョンが<span id="compt-ver"></span <h5>ログイン前に必ずご確認ください</h5>
>のため以下の機能がご利用いただけません。 <span id="compt-instance"></span>はバージョンが<span id="compt-ver"></span>のため以下の機能がご利用いただけません。
<span id="compt-warn" style="display:none" <span id="compt-warn"
>また、このインスタンスはMastodonではなくそのAPI上の互換実装であり、TheDeskでは利用を想定していないため非保証となります。</span style="display:none">また、このインスタンスはMastodonではなくそのAPI上の互換実装であり、TheDeskでは利用を想定していないため非保証となります。</span>
> <ul id="compt-list"></ul>
<ul id="compt-list"></ul>
</div>
</div>
<div id="misskeylogin" style="display:none">
<h5>AppSecret</h5>
@@misskeylogin@@<br />
<input type="hidden" id="misskey-url" />
<input type="text" id="misskey-key" placeholder="@@codepaste@@" required />
<button class="btn waves-effect" onclick="misskeyLogin()">Auth</button><br />
<br />
<a onclick="atSetup('misskey')" class="pointer">@@accessTokenSetup@@</a>
</div> </div>
</div> </div>
<div class="hide-first"> <div id="misskeylogin" style="display:none">
<h5>@@mainacct@@</h5> <h5>AppSecret</h5>
<div class="input-field" style="width:300px"> @@misskeylogin@@<br />
<span data-trans="your_acct">@@selacct@@</span> <input type="hidden" id="misskey-url" />
<br /> <input type="text" id="misskey-key" placeholder="@@codepaste@@" required />
<select <button class="btn waves-effect" onclick="misskeyLogin()">Auth</button><br />
id="main-acct-sel" <br />
class="acct-sel" <a onclick="atSetup('misskey')" class="pointer">@@accessTokenSetup@@</a>
style="color:black"
onchange="mainacct()"
></select>
<label></label>
</div>
<ul id="domain-list" class="collection transparent"></ul>
<div id="instance-data">
Some instance data by
<a href="https://instances.social" target="_blank">instances.social API</a><br />
<h5 id="ins-title"></h5>
Administered by:<a id="ins-admin"></a><br />
<span id="ins-desc"></span><br />
<img src="../../img/loading.svg" id="ins-prof" width="200" /><br />
<br />
@@domain@@:<span id="ins-name"></span><br />
@@connect@@:<span id="ins-connect"></span>@@ko@@<br />
@@toots@@:<span id="ins-toot"></span>@@ko@@<br />
@@users@@:<span id="ins-user"></span>@@users@@<br />
@@safety@@:<span id="ins-per"></span>%<br />
@@ver@@:<span id="ins-ver"></span>@<span id="ins-upd"></span><br />
</div>
</div> </div>
<script type="text/javascript" src="../../js/ui/theme.js"></script> </div>
<script type="text/javascript" src="../../js/ui/tips.js"></script> <div class="hide-first">
<script type="text/javascript" src="../../js/platform/end.js"></script> <h5>@@mainacct@@</h5>
<script type="text/javascript" src="../../js/common/sha256.js"></script> <div class="input-field" style="width:300px">
<script type="text/javascript" src="../../@@node_base@@/lodash/lodash.min.js"></script> <span data-trans="your_acct">@@selacct@@</span>
<script type="text/javascript" src="../../js/login/instance.js"></script> <br />
<script type="text/javascript" src="../../js/login/manager.js"></script> <select id="main-acct-sel" class="acct-sel" style="color:black" onchange="mainacct()"></select>
<script type="text/javascript" src="../../js/tl/date.js"></script> <label></label>
<script>$('body').addClass(localStorage.getItem('platform'))</script> </div>
</body> <ul id="domain-list" class="collection transparent"></ul>
</html> <div id="instance-data">
Some instance data by
<a href="https://instances.social" target="_blank">instances.social API</a><br />
<h5 id="ins-title"></h5>
Administered by:<a id="ins-admin"></a><br />
<span id="ins-desc"></span><br />
<img src="../../img/loading.svg" id="ins-prof" width="200" /><br />
<br />
@@domain@@:<span id="ins-name"></span><br />
@@connect@@:<span id="ins-connect"></span>@@ko@@<br />
@@toots@@:<span id="ins-toot"></span>@@ko@@<br />
@@users@@:<span id="ins-user"></span>@@users@@<br />
@@safety@@:<span id="ins-per"></span>%<br />
@@ver@@:<span id="ins-ver"></span>@<span id="ins-upd"></span><br />
</div>
</div>
<script type="text/javascript" src="../../js/ui/theme.js"></script>
<script type="text/javascript" src="../../js/ui/tips.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>
<script type="text/javascript" src="../../js/common/sha256.js"></script>
<script type="text/javascript" src="../../@@node_base@@/lodash/lodash.min.js"></script>
<script type="text/javascript" src="../../js/login/instance.js"></script>
<script type="text/javascript" src="../../js/login/manager.js"></script>
<script type="text/javascript" src="../../js/tl/date.js"></script>
<script>$('body').addClass(localStorage.getItem('platform'))</script>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,7 @@
{ {
"draghere": "Drag here to upload", "draghere": "Drag here to upload",
"nowOffline": "OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet",
"reOnline": "Now we are in the Internet, you should reload...",
"close": "Close", "close": "Close",
"webSrc": "Search on Web", "webSrc": "Search on Web",
"tsSrc": "Search on tootsearch", "tsSrc": "Search on tootsearch",
@@ -45,6 +47,7 @@
"thingsEmoji": "Emojis of tools", "thingsEmoji": "Emojis of tools",
"symbolEmoji": "Emojis of symbols", "symbolEmoji": "Emojis of symbols",
"flagsEmoji": "Emojis of flags", "flagsEmoji": "Emojis of flags",
"draft": "Draft",
"poll": "Poll", "poll": "Poll",
"pollDdisabled": "Polls: Disabled", "pollDdisabled": "Polls: Disabled",
"pollProvider": "Provider of Poll", "pollProvider": "Provider of Poll",
@@ -130,7 +133,7 @@
"notf": "Notifications", "notf": "Notifications",
"bookmark": "Bookmarks", "bookmark": "Bookmarks",
"showThisTL": "Show this TL:", "showThisTL": "Show this TL:",
"webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.", "webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>).",
"add": "Add", "add": "Add",
"search": "Search", "search": "Search",
"sortSet": "Sort", "sortSet": "Sort",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.", "lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout", "lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots", "lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.", "lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis", "lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis", "lang_emoji_custom": "Custom emojis",
@@ -71,6 +72,7 @@
"lang_post_btn3": "Continue to post", "lang_post_btn3": "Continue to post",
"lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.", "lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.",
"lang_post_retry": "Retry", "lang_post_retry": "Retry",
"lang_post_offline": "Add to the drafts because of offline",
"lang_status_favWarn": "It will take a miunte to favourite a remote toot.", "lang_status_favWarn": "It will take a miunte to favourite a remote toot.",
"lang_status_btWarn": "It will take a miunte to boost a remote toot.", "lang_status_btWarn": "It will take a miunte to boost a remote toot.",
"lang_status_follow": "Follow", "lang_status_follow": "Follow",
@@ -87,6 +89,9 @@
"lang_status_endorse": "Feature on profile", "lang_status_endorse": "Feature on profile",
"lang_status_followers": "Followers", "lang_status_followers": "Followers",
"lang_status_active": "Last status", "lang_status_active": "Last status",
"lang_secure_draft": "Add to draft",
"lang_secure_useThis": "Use this",
"lang_secure_deleteThis": "Delete this",
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.", "lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.", "lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check", "lang_cards_check": " check",
@@ -131,13 +136,17 @@
"lang_layout_linkana": "Auto Link Analyzer", "lang_layout_linkana": "Auto Link Analyzer",
"lang_layout_linkanades": "Auto link analyzer", "lang_layout_linkanades": "Auto link analyzer",
"lang_layout_tts": "Text to speech ", "lang_layout_tts": "Text to speech ",
"lang_layout_reconnect": "Reload this column", "lang_layout_reconnect": "Reload",
"lang_layout_headercolor": "Header color of this column", "lang_layout_headercolor": "Header color of this column",
"lang_layout_nodata": "[No data]<br>F5/⌘+R to reload", "lang_layout_nodata": "[No data]<br>F5/⌘+R to reload",
"lang_layout_dm": "Direct Message", "lang_layout_dm": "Direct Message",
"lang_layout_webviewmode": "Prefer WebView", "lang_layout_webviewmode": "Prefer WebView",
"lang_excluded": "Excluded type of notification", "lang_layout_excluded": "Excluded type of notification",
"lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)", "lang_layout_mention": "Mentions",
"lang_layout_fav": "Favourites",
"lang_layout_bt": "Boosts",
"lang_layout_poll": "Polls",
"lang_layout_excludingbt": "Show BT mode",
"lang_layout_leftFold": "Stack to the left", "lang_layout_leftFold": "Stack to the left",
"lang_layout_leftUnfold": "Dock on the right", "lang_layout_leftUnfold": "Dock on the right",
"lang_layout_deleteColumn": "Delete this column", "lang_layout_deleteColumn": "Delete this column",
@@ -145,6 +154,7 @@
"lang_layout_unread": "Unread", "lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager", "lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.", "lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column", "lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column", "lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork", "lang_spotify_img": "Attach an album artwork",
@@ -222,6 +232,7 @@
"lang_parse_html": "Show embed HTML", "lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Show this user's notifications", "lang_parse_notffilter": "Show this user's notifications",
"lang_parse_hidden": "Unvisible quoted toot", "lang_parse_hidden": "Unvisible quoted toot",
"lang_parse_disconnected": "Streaming has been disconnected(retry after 3s)",
"lang_misskeyparse_renote": "Repost", "lang_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote", "lang_misskeyparse_renoteqt": "Renote",
"lang_misskeyparse_reaction": "Reaction", "lang_misskeyparse_reaction": "Reaction",
@@ -236,6 +247,7 @@
"lang_misskeyparse_reacted": " reacted your following post.", "lang_misskeyparse_reacted": " reacted your following post.",
"lang_setting_time": "Time format:{{set}}", "lang_setting_time": "Time format:{{set}}",
"lang_setting_theme": "Theme:{{set}}", "lang_setting_theme": "Theme:{{set}}",
"lang_setting_compat": "Compatible",
"lang_setting_nsfw": "Sensitive media:{{set}}", "lang_setting_nsfw": "Sensitive media:{{set}}",
"lang_setting_cw": "CW:{{set}}", "lang_setting_cw": "CW:{{set}}",
"lang_setting_cwtext": "Default CW text:{{set}}", "lang_setting_cwtext": "Default CW text:{{set}}",

View File

@@ -24,10 +24,11 @@
"nativenotf": "Native notification", "nativenotf": "Native notification",
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test", "nntest": "Notification test",
"minwidth": "Minimum width of columns", "width": "Width of columns",
"minwidthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.", "widthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser", "fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines",
"above": "above", "above": "above",
"font": "Font", "font": "Font",
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)", "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
@@ -43,26 +44,31 @@
"srcUrl": "Search engine", "srcUrl": "Search engine",
"srcUrlWarn": "{q} will be replaced to query.", "srcUrlWarn": "{q} will be replaced to query.",
"themeSel": "Select theme", "themeSel": "Select theme",
"customtheme": "Edit and add custom themes", "customtheme": "Edit and add themes",
"customthemeDirection": "Color scheme", "customthemeDirection": "Color scheme",
"advanced": "Advanced options(6 additional colors)", "advanced": "Advanced options",
"advancedWarn": "Advanced options will be <i>null</i> if you set nothing, while basic 3 options will be white(<i>fff</i>). They(adv. options) will be reset if you saved with advanced panel closed.", "advancedWarn": "",
"active": "Background of Show or CW buttons, selected options...", "use": "Use this",
"modal": "Background of modals", "copyFrom": "Copy from",
"bottom": "Background of bottom bar", "bg": "Background color",
"postbox": "Background of post box and menu", "subcolor": "Distinguishable from background",
"subcolor": "Subcolor, has harmony with secondary color",
"primary": "Background color",
"secondarycolor": "Background of components",
"text": "Text color", "text": "Text color",
"accent": "Background of boosts", "accent": "Background of boosts",
"modal": "Background of modal window",
"modalFooter": "Background of modal window's footer",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)",
"forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window",
"emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu",
"active": "Background of 'active' elements",
"selected": "Background of selected with arrow keys",
"selectedWithShare": "Background of selected with arrow keys(boosted toots)",
"add_new": "Add new", "add_new": "Add new",
"name": "Name", "name": "Name",
"desc": "About this theme", "desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes", "customImport": "Import of custom themes",
"delete": "Delete", "delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences", "timeline": "Timeline Preferences",
"timemode": "Time format", "timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"", "relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -101,8 +107,8 @@
"or": "or", "or": "or",
"imgheight": "Height of images", "imgheight": "Height of images",
"imgheightwarn": "Option:Set \"full\" to uncrop.", "imgheightwarn": "Option:Set \"full\" to uncrop.",
"ticker": "Enable #InstanceTicker", "ticker": "Enable OpenSticker",
"tickerwarn": "Show colorful stickers about the server. <a href=\"https://github.com/MiyonMiyon/InstanceTicker_List\">About #InstanceTicker</a> (c)2018-2020 MiyonMiyon. Released under the MIT License.", "tickerwarn": "Show the instance name and favicon of tooters <a href=\"https://opensticker.0px.io\">About OpenSticker</a>",
"animation": "Animation of timelines", "animation": "Animation of timelines",
"markers": "Markers(mark as read) on HTL and notifications", "markers": "Markers(mark as read) on HTL and notifications",
"markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.", "markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.",
@@ -136,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)", "notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)", "apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button", "showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions", "main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.", "mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently", "lastacct": "Account you used recently",
@@ -150,6 +160,9 @@
"keysc": "Keyboard shortcut Preferences", "keysc": "Keyboard shortcut Preferences",
"iks": "Easy inserter", "iks": "Easy inserter",
"okswarn": "You can insert any letters and emojis with only 3 keys", "okswarn": "You can insert any letters and emojis with only 3 keys",
"plugin": "Plugins",
"howToWritePlugin": "Japanese docs of AiScript TheDesk plugins",
"pluginList": "Plugin list",
"muteemp": "Mute & Emphasis Preferences", "muteemp": "Mute & Emphasis Preferences",
"climute": "Client Mute", "climute": "Client Mute",
"cliemp": "Client Emphasis", "cliemp": "Client Emphasis",

View File

@@ -1,5 +1,7 @@
{ {
"draghere": "Drag here to upload", "draghere": "Drag here to upload",
"nowOffline": "OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet",
"reOnline": "Now we are in the Internet, you should reload...",
"close": "Close", "close": "Close",
"webSrc": "Search on Web", "webSrc": "Search on Web",
"tsSrc": "Search on tootsearch", "tsSrc": "Search on tootsearch",
@@ -45,6 +47,7 @@
"thingsEmoji": "Emojis of tools", "thingsEmoji": "Emojis of tools",
"symbolEmoji": "Emojis of symbols", "symbolEmoji": "Emojis of symbols",
"flagsEmoji": "Emojis of flags", "flagsEmoji": "Emojis of flags",
"draft": "Draft",
"poll": "Poll", "poll": "Poll",
"pollDdisabled": "Polls: Disabled", "pollDdisabled": "Polls: Disabled",
"pollProvider": "Provider of Poll", "pollProvider": "Provider of Poll",
@@ -130,7 +133,7 @@
"notf": "Notifications", "notf": "Notifications",
"bookmark": "Bookmarks", "bookmark": "Bookmarks",
"showThisTL": "Show this TL:", "showThisTL": "Show this TL:",
"webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.", "webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>).",
"add": "Add", "add": "Add",
"search": "Search", "search": "Search",
"sortSet": "Sort", "sortSet": "Sort",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.", "lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout", "lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots", "lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.", "lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis", "lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis", "lang_emoji_custom": "Custom emojis",
@@ -71,6 +72,7 @@
"lang_post_btn3": "Continue to post", "lang_post_btn3": "Continue to post",
"lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.", "lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.",
"lang_post_retry": "Retry", "lang_post_retry": "Retry",
"lang_post_offline": "Add to the drafts because of offline",
"lang_status_favWarn": "It will take a miunte to favourite a remote toot.", "lang_status_favWarn": "It will take a miunte to favourite a remote toot.",
"lang_status_btWarn": "It will take a miunte to boost a remote toot.", "lang_status_btWarn": "It will take a miunte to boost a remote toot.",
"lang_status_follow": "Follow", "lang_status_follow": "Follow",
@@ -87,6 +89,9 @@
"lang_status_endorse": "Feature on profile", "lang_status_endorse": "Feature on profile",
"lang_status_followers": "Followers", "lang_status_followers": "Followers",
"lang_status_active": "Last status", "lang_status_active": "Last status",
"lang_secure_draft": "Add to draft",
"lang_secure_useThis": "Use this",
"lang_secure_deleteThis": "Delete this",
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.", "lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.", "lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check", "lang_cards_check": " check",
@@ -131,13 +136,17 @@
"lang_layout_linkana": "Auto Link Analyzer", "lang_layout_linkana": "Auto Link Analyzer",
"lang_layout_linkanades": "Auto link analyzer", "lang_layout_linkanades": "Auto link analyzer",
"lang_layout_tts": "Text to speech ", "lang_layout_tts": "Text to speech ",
"lang_layout_reconnect": "Reload this column", "lang_layout_reconnect": "Reload",
"lang_layout_headercolor": "Header color of this column", "lang_layout_headercolor": "Header color of this column",
"lang_layout_nodata": "[No data]<br>F5/⌘+R to reload", "lang_layout_nodata": "[No data]<br>F5/⌘+R to reload",
"lang_layout_dm": "Direct Message", "lang_layout_dm": "Direct Message",
"lang_layout_webviewmode": "Prefer WebView", "lang_layout_webviewmode": "Prefer WebView",
"lang_excluded": "Excluded type of notification", "lang_layout_excluded": "Excluded type of notification",
"lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)", "lang_layout_mention": "Mentions",
"lang_layout_fav": "Favourites",
"lang_layout_bt": "Boosts",
"lang_layout_poll": "Polls",
"lang_layout_excludingbt": "Show BT mode",
"lang_layout_leftFold": "Stack to the left", "lang_layout_leftFold": "Stack to the left",
"lang_layout_leftUnfold": "Dock on the right", "lang_layout_leftUnfold": "Dock on the right",
"lang_layout_deleteColumn": "Delete this column", "lang_layout_deleteColumn": "Delete this column",
@@ -145,6 +154,7 @@
"lang_layout_unread": "Unread", "lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager", "lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.", "lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column", "lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column", "lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork", "lang_spotify_img": "Attach an album artwork",
@@ -222,6 +232,7 @@
"lang_parse_html": "Show embed HTML", "lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Show this user's notifications", "lang_parse_notffilter": "Show this user's notifications",
"lang_parse_hidden": "Unvisible quoted toot", "lang_parse_hidden": "Unvisible quoted toot",
"lang_parse_disconnected": "Streaming has been disconnected(retry after 3s)",
"lang_misskeyparse_renote": "Repost", "lang_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote", "lang_misskeyparse_renoteqt": "Renote",
"lang_misskeyparse_reaction": "Reaction", "lang_misskeyparse_reaction": "Reaction",
@@ -236,6 +247,7 @@
"lang_misskeyparse_reacted": " reacted your following post.", "lang_misskeyparse_reacted": " reacted your following post.",
"lang_setting_time": "Time format:{{set}}", "lang_setting_time": "Time format:{{set}}",
"lang_setting_theme": "Theme:{{set}}", "lang_setting_theme": "Theme:{{set}}",
"lang_setting_compat": "Compatible",
"lang_setting_nsfw": "Sensitive media:{{set}}", "lang_setting_nsfw": "Sensitive media:{{set}}",
"lang_setting_cw": "CW:{{set}}", "lang_setting_cw": "CW:{{set}}",
"lang_setting_cwtext": "Default CW text:{{set}}", "lang_setting_cwtext": "Default CW text:{{set}}",

View File

@@ -24,10 +24,11 @@
"nativenotf": "Native notification", "nativenotf": "Native notification",
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test", "nntest": "Notification test",
"minwidth": "Minimum width of columns", "width": "Width of columns",
"minwidthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.", "widthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser", "fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines",
"above": "above", "above": "above",
"font": "Font", "font": "Font",
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)", "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
@@ -43,26 +44,31 @@
"srcUrl": "Search engine", "srcUrl": "Search engine",
"srcUrlWarn": "{q} will be replaced to query.", "srcUrlWarn": "{q} will be replaced to query.",
"themeSel": "Select theme", "themeSel": "Select theme",
"customtheme": "Edit and add custom themes", "customtheme": "Edit and add themes",
"customthemeDirection": "Color scheme", "customthemeDirection": "Color scheme",
"advanced": "Advanced options(6 additional colors)", "advanced": "Advanced options",
"advancedWarn": "Advanced options will be <i>null</i> if you set nothing, while basic 3 options will be white(<i>fff</i>). They(adv. options) will be reset if you saved with advanced panel closed.", "advancedWarn": "",
"active": "Background of Show or CW buttons, selected options...", "use": "Use this",
"modal": "Background of modals", "copyFrom": "Copy from",
"bottom": "Background of bottom bar", "bg": "Background color",
"postbox": "Background of post box and menu", "subcolor": "Distinguishable from background",
"subcolor": "Subcolor, has harmony with secondary color",
"primary": "Background color",
"secondarycolor": "Background of components",
"text": "Text color", "text": "Text color",
"accent": "Background of boosts", "accent": "Background of boosts",
"modal": "Background of modal window",
"modalFooter": "Background of modal window's footer",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)",
"forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window",
"emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu",
"active": "Background of 'active' elements",
"selected": "Background of selected with arrow keys",
"selectedWithShare": "Background of selected with arrow keys(boosted toots)",
"add_new": "Add new", "add_new": "Add new",
"name": "Name", "name": "Name",
"desc": "About this theme", "desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes", "customImport": "Import of custom themes",
"delete": "Delete", "delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences", "timeline": "Timeline Preferences",
"timemode": "Time format", "timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"", "relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -101,8 +107,8 @@
"or": "or", "or": "or",
"imgheight": "Height of images", "imgheight": "Height of images",
"imgheightwarn": "Option:Set \"full\" to uncrop.", "imgheightwarn": "Option:Set \"full\" to uncrop.",
"ticker": "Enable #InstanceTicker", "ticker": "Enable OpenSticker",
"tickerwarn": "Show colorful stickers about the server. <a href=\"https://github.com/MiyonMiyon/InstanceTicker_List\">About #InstanceTicker</a> (c)2018-2020 MiyonMiyon. Released under the MIT License.", "tickerwarn": "Show the instance name and favicon of tooters <a href=\"https://opensticker.0px.io\">About OpenSticker</a>",
"animation": "Animation of timelines", "animation": "Animation of timelines",
"markers": "Markers(mark as read) on HTL and notifications", "markers": "Markers(mark as read) on HTL and notifications",
"markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.", "markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.",
@@ -136,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)", "notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)", "apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button", "showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions", "main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.", "mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently", "lastacct": "Account you used recently",
@@ -150,6 +160,9 @@
"keysc": "Keyboard shortcut Preferences", "keysc": "Keyboard shortcut Preferences",
"iks": "Easy inserter", "iks": "Easy inserter",
"okswarn": "You can insert any letters and emojis with only 3 keys", "okswarn": "You can insert any letters and emojis with only 3 keys",
"plugin": "Plugins",
"howToWritePlugin": "Japanese docs of AiScript TheDesk plugins",
"pluginList": "Plugin list",
"muteemp": "Mute & Emphasis Preferences", "muteemp": "Mute & Emphasis Preferences",
"climute": "Client Mute", "climute": "Client Mute",
"cliemp": "Client Emphasis", "cliemp": "Client Emphasis",

View File

@@ -1,5 +1,7 @@
{ {
"draghere": "Плъзнете тук за да качите", "draghere": "Плъзнете тук за да качите",
"nowOffline": "OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet",
"reOnline": "Now we are in the Internet, you should reload...",
"close": "Затвори", "close": "Затвори",
"webSrc": "Search on Web", "webSrc": "Search on Web",
"tsSrc": "Search on tootsearch", "tsSrc": "Search on tootsearch",
@@ -45,6 +47,7 @@
"thingsEmoji": "Емоти с инструменти", "thingsEmoji": "Емоти с инструменти",
"symbolEmoji": "Емоти със символи", "symbolEmoji": "Емоти със символи",
"flagsEmoji": "Емоти с флагове", "flagsEmoji": "Емоти с флагове",
"draft": "Draft",
"poll": "Анкета", "poll": "Анкета",
"pollDdisabled": "Анкети: Деактивирани", "pollDdisabled": "Анкети: Деактивирани",
"pollProvider": "Доставчик на Анкета", "pollProvider": "Доставчик на Анкета",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Отворете DevCenter на Misskey. Ние показваме официални документи, на които се позоваваме.", "lang_manager_godev": "Отворете DevCenter на Misskey. Ние показваме официални документи, на които се позоваваме.",
"lang_manager_logout": "Излизане", "lang_manager_logout": "Излизане",
"lang_manager_maxChars": "Max chars of toots", "lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk разглежда \"@\" като отговор, но поставя друг параметър. Ако не е включено в Mastodon това означава, че е в Home на Misskey.", "lang_bbmd_misskey": "TheDesk разглежда \"@\" като отговор, но поставя друг параметър. Ако не е включено в Mastodon това означава, че е в Home на Misskey.",
"lang_emoji_get": "Вземи емотикони", "lang_emoji_get": "Вземи емотикони",
"lang_emoji_custom": "Персонализирани емотикони", "lang_emoji_custom": "Персонализирани емотикони",
@@ -71,6 +72,7 @@
"lang_post_btn3": "Продължете към публикуването", "lang_post_btn3": "Продължете към публикуването",
"lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.", "lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.",
"lang_post_retry": "Retry", "lang_post_retry": "Retry",
"lang_post_offline": "Add to the drafts because of offline",
"lang_status_favWarn": "Ще отнеме минута раздумката отдалечено да стане любима.", "lang_status_favWarn": "Ще отнеме минута раздумката отдалечено да стане любима.",
"lang_status_btWarn": "Ще отнеме минута раздумката отдалечено да бъде подсилена.", "lang_status_btWarn": "Ще отнеме минута раздумката отдалечено да бъде подсилена.",
"lang_status_follow": "Следване", "lang_status_follow": "Следване",
@@ -87,6 +89,9 @@
"lang_status_endorse": "Функция в профила", "lang_status_endorse": "Функция в профила",
"lang_status_followers": "Последователи", "lang_status_followers": "Последователи",
"lang_status_active": "Последно състояние", "lang_status_active": "Последно състояние",
"lang_secure_draft": "Add to draft",
"lang_secure_useThis": "Use this",
"lang_secure_deleteThis": "Изтрийте тази раздумка",
"lang_suggest_nodata": "Моля, вземете списък с емотикони за да покажете състояние.", "lang_suggest_nodata": "Моля, вземете списък с емотикони за да покажете състояние.",
"lang_usetxtbox_reply": "Режим на отговор. Ctrl+Shift+C за изчистване.", "lang_usetxtbox_reply": "Режим на отговор. Ctrl+Shift+C за изчистване.",
"lang_cards_check": " проверка", "lang_cards_check": " проверка",
@@ -136,7 +141,11 @@
"lang_layout_nodata": "[Няма данни]<br>F5/⌘+R за презареждане", "lang_layout_nodata": "[Няма данни]<br>F5/⌘+R за презареждане",
"lang_layout_dm": "Директни съобщения", "lang_layout_dm": "Директни съобщения",
"lang_layout_webviewmode": "Предпочитания за WebView", "lang_layout_webviewmode": "Предпочитания за WebView",
"lang_excluded": "Изключване на вид уведомление", "lang_layout_excluded": "Excluded type of notification",
"lang_layout_mention": "Mentions",
"lang_layout_fav": "Favourites",
"lang_layout_bt": "Boosts",
"lang_layout_poll": "Polls",
"lang_layout_excludingbt": "Показване в BT режим (ИЗКЛ./Изключване BT/ Само в BT)", "lang_layout_excludingbt": "Показване в BT режим (ИЗКЛ./Изключване BT/ Само в BT)",
"lang_layout_leftFold": "Стъпка наляво", "lang_layout_leftFold": "Стъпка наляво",
"lang_layout_leftUnfold": "Док отдясно", "lang_layout_leftUnfold": "Док отдясно",
@@ -145,6 +154,7 @@
"lang_layout_unread": "Непрочетени", "lang_layout_unread": "Непрочетени",
"lang_layout_tagManager": "Мениджър на таговете на времевата линия", "lang_layout_tagManager": "Мениджър на таговете на времевата линия",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.", "lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Отидете в тази колона", "lang_sort_gothis": "Отидете в тази колона",
"lang_sort_remthis": "Премахване на тази колона", "lang_sort_remthis": "Премахване на тази колона",
"lang_spotify_img": "Добавете към албум произведенията на изкуството", "lang_spotify_img": "Добавете към албум произведенията на изкуството",
@@ -222,6 +232,7 @@
"lang_parse_html": "Показване на вграденият HTML код", "lang_parse_html": "Показване на вграденият HTML код",
"lang_parse_notffilter": "Показване на известията от този потребител", "lang_parse_notffilter": "Показване на известията от този потребител",
"lang_parse_hidden": "Unvisible quoted toot", "lang_parse_hidden": "Unvisible quoted toot",
"lang_parse_disconnected": "Streaming has been disconnected(retry after 3s)",
"lang_misskeyparse_renote": "Повторно публикуване", "lang_misskeyparse_renote": "Повторно публикуване",
"lang_misskeyparse_renoteqt": "Повторна бележка", "lang_misskeyparse_renoteqt": "Повторна бележка",
"lang_misskeyparse_reaction": "Реакция", "lang_misskeyparse_reaction": "Реакция",
@@ -236,6 +247,7 @@
"lang_misskeyparse_reacted": " реагирали на следващата ви публикация.", "lang_misskeyparse_reacted": " реагирали на следващата ви публикация.",
"lang_setting_time": "Времеви формат:{{set}}", "lang_setting_time": "Времеви формат:{{set}}",
"lang_setting_theme": "Тема:{{set}}", "lang_setting_theme": "Тема:{{set}}",
"lang_setting_compat": "Compatible",
"lang_setting_nsfw": "NSFW:{{set}}", "lang_setting_nsfw": "NSFW:{{set}}",
"lang_setting_cw": "CW:{{set}}", "lang_setting_cw": "CW:{{set}}",
"lang_setting_cwtext": "Default CW text:{{set}}", "lang_setting_cwtext": "Default CW text:{{set}}",

View File

@@ -24,10 +24,11 @@
"nativenotf": "Вътрешно уведомяване", "nativenotf": "Вътрешно уведомяване",
"nnwarn": "Това не работи в Windows Portable вер.", "nnwarn": "Това не работи в Windows Portable вер.",
"nntest": "Тест за уведомяване", "nntest": "Тест за уведомяване",
"minwidth": "Минимална ширина на колоните", "width": "Width of columns",
"minwidthwarn": "Лентата за превъртане ще се покаже, когато размерът на прозореца е по-голям от размера на колони.", "widthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
"fixwidth": "Минимална ширина на браузъра TweetDeck", "fixwidth": "Минимална ширина на браузъра TweetDeck",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines",
"above": "над", "above": "над",
"font": "Шрифт", "font": "Шрифт",
"fontwarn": "Изберете любимия си шрифт с „Избор“ (само за Windows / macOS)", "fontwarn": "Изберете любимия си шрифт с „Избор“ (само за Windows / macOS)",
@@ -45,24 +46,29 @@
"themeSel": "Изберете тема", "themeSel": "Изберете тема",
"customtheme": "Редактирайте и добавете персонализирани теми", "customtheme": "Редактирайте и добавете персонализирани теми",
"customthemeDirection": "Цветова схема", "customthemeDirection": "Цветова схема",
"advanced": "Advanced options(6 additional colors)", "advanced": "Advanced options",
"advancedWarn": "Advanced options will be <i>null</i> if you set nothing, while basic 3 options will be white(<i>fff</i>). They(adv. options) will be reset if you saved with advanced panel closed.", "advancedWarn": "",
"active": "Background of Show or CW buttons, selected options...", "use": "Use this",
"modal": "Background of modals", "copyFrom": "Copy from",
"bottom": "Background of bottom bar", "bg": "Background color",
"postbox": "Background of post box and menu", "subcolor": "Distinguishable from background",
"subcolor": "Subcolor, has harmony with secondary color",
"primary": "Цвят на фона",
"secondarycolor": "Компоненти на фона",
"text": "Цвят на текста", "text": "Цвят на текста",
"accent": "Фон на подсилването", "accent": "Фон на подсилването",
"modal": "Background of modal window",
"modalFooter": "Background of modal window's footer",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)",
"forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window",
"emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu",
"active": "Background of 'active' elements",
"selected": "Background of selected with arrow keys",
"selectedWithShare": "Background of selected with arrow keys(boosted toots)",
"add_new": "Добавяне на нов", "add_new": "Добавяне на нов",
"name": "Име", "name": "Име",
"desc": "Относно тази тема", "desc": "Относно тази тема",
"customShare": "Споделете този код с друг TheDesk. Не споделяйте този код с MiAS.",
"customImport": "Импортиране на персонализирани теми", "customImport": "Импортиране на персонализирани теми",
"delete": "Изтрий", "delete": "Изтрий",
"cImpWarn": "Вземете още теми от <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Предпочитания за времевата линия", "timeline": "Предпочитания за времевата линия",
"timemode": "Времеви формат", "timemode": "Времеви формат",
"relativetime": "Относителен формат: „преди 1 минута“, „преди 3 дни“", "relativetime": "Относителен формат: „преди 1 минута“, „преди 3 дни“",
@@ -101,7 +107,7 @@
"or": "или", "or": "или",
"imgheight": "Height of images", "imgheight": "Height of images",
"imgheightwarn": "Option:Set \"full\" to uncrop.", "imgheightwarn": "Option:Set \"full\" to uncrop.",
"ticker": "Enable #InstanceTicker", "ticker": "Enable OpenSticker",
"tickerwarn": "Show colorful stickers about the server. <a href=\"https://cdn.weep.me/mastodon/\">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.", "tickerwarn": "Show colorful stickers about the server. <a href=\"https://cdn.weep.me/mastodon/\">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.",
"animation": "Анимация на времевата линия", "animation": "Анимация на времевата линия",
"markers": "Markers(mark as read) on HTL and notifications", "markers": "Markers(mark as read) on HTL and notifications",
@@ -136,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)", "notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)", "apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button", "showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions", "main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.", "mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently", "lastacct": "Account you used recently",
@@ -150,6 +160,9 @@
"keysc": "Keyboard shortcut Preferences", "keysc": "Keyboard shortcut Preferences",
"iks": "Easy inserter", "iks": "Easy inserter",
"okswarn": "Можете да вмъкнете всякакви букви и емотикони само с 3 клавиша", "okswarn": "Можете да вмъкнете всякакви букви и емотикони само с 3 клавиша",
"plugin": "Plugins",
"howToWritePlugin": "Japanese docs of AiScript TheDesk plugins",
"pluginList": "Plugin list",
"muteemp": "Mute & Emphasis Preferences", "muteemp": "Mute & Emphasis Preferences",
"climute": "Client Mute", "climute": "Client Mute",
"cliemp": "Client Emphasis", "cliemp": "Client Emphasis",

View File

@@ -1,5 +1,7 @@
{ {
"draghere": "Drag here to upload", "draghere": "Drag here to upload",
"nowOffline": "OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet",
"reOnline": "Now we are in the Internet, you should reload...",
"close": "Close", "close": "Close",
"webSrc": "Search on Web", "webSrc": "Search on Web",
"tsSrc": "Search on tootsearch", "tsSrc": "Search on tootsearch",
@@ -45,6 +47,7 @@
"thingsEmoji": "Emojis of tools", "thingsEmoji": "Emojis of tools",
"symbolEmoji": "Emojis of symbols", "symbolEmoji": "Emojis of symbols",
"flagsEmoji": "Emojis of flags", "flagsEmoji": "Emojis of flags",
"draft": "Draft",
"poll": "Poll", "poll": "Poll",
"pollDdisabled": "Polls: Disabled", "pollDdisabled": "Polls: Disabled",
"pollProvider": "Provider of Poll", "pollProvider": "Provider of Poll",
@@ -130,7 +133,7 @@
"notf": "Notifications", "notf": "Notifications",
"bookmark": "Bookmarks", "bookmark": "Bookmarks",
"showThisTL": "Show this TL:", "showThisTL": "Show this TL:",
"webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.", "webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>).",
"add": "Add", "add": "Add",
"search": "Search", "search": "Search",
"sortSet": "Sort", "sortSet": "Sort",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.", "lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout", "lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots", "lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.", "lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis", "lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis", "lang_emoji_custom": "Custom emojis",
@@ -71,6 +72,7 @@
"lang_post_btn3": "Continue to post", "lang_post_btn3": "Continue to post",
"lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.", "lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.",
"lang_post_retry": "Retry", "lang_post_retry": "Retry",
"lang_post_offline": "Add to the drafts because of offline",
"lang_status_favWarn": "It will take a miunte to favourite a remote toot.", "lang_status_favWarn": "It will take a miunte to favourite a remote toot.",
"lang_status_btWarn": "It will take a miunte to boost a remote toot.", "lang_status_btWarn": "It will take a miunte to boost a remote toot.",
"lang_status_follow": "Follow", "lang_status_follow": "Follow",
@@ -87,6 +89,9 @@
"lang_status_endorse": "Feature on profile", "lang_status_endorse": "Feature on profile",
"lang_status_followers": "Followers", "lang_status_followers": "Followers",
"lang_status_active": "Last status", "lang_status_active": "Last status",
"lang_secure_draft": "Add to draft",
"lang_secure_useThis": "Use this",
"lang_secure_deleteThis": "Delete this",
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.", "lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.", "lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check", "lang_cards_check": " check",
@@ -131,13 +136,17 @@
"lang_layout_linkana": "Auto Link Analyzer", "lang_layout_linkana": "Auto Link Analyzer",
"lang_layout_linkanades": "Auto link analyzer", "lang_layout_linkanades": "Auto link analyzer",
"lang_layout_tts": "Text to speech ", "lang_layout_tts": "Text to speech ",
"lang_layout_reconnect": "Reload this column", "lang_layout_reconnect": "Reload",
"lang_layout_headercolor": "Header color of this column", "lang_layout_headercolor": "Header color of this column",
"lang_layout_nodata": "[No data]<br>F5/⌘+R to reload", "lang_layout_nodata": "[No data]<br>F5/⌘+R to reload",
"lang_layout_dm": "Direct Message", "lang_layout_dm": "Direct Message",
"lang_layout_webviewmode": "Prefer WebView", "lang_layout_webviewmode": "Prefer WebView",
"lang_excluded": "Excluded type of notification", "lang_layout_excluded": "Excluded type of notification",
"lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)", "lang_layout_mention": "Mentions",
"lang_layout_fav": "Favourites",
"lang_layout_bt": "Boosts",
"lang_layout_poll": "Polls",
"lang_layout_excludingbt": "Show BT mode",
"lang_layout_leftFold": "Stack to the left", "lang_layout_leftFold": "Stack to the left",
"lang_layout_leftUnfold": "Dock on the right", "lang_layout_leftUnfold": "Dock on the right",
"lang_layout_deleteColumn": "Delete this column", "lang_layout_deleteColumn": "Delete this column",
@@ -145,6 +154,7 @@
"lang_layout_unread": "Unread", "lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager", "lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.", "lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column", "lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column", "lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork", "lang_spotify_img": "Attach an album artwork",
@@ -222,6 +232,7 @@
"lang_parse_html": "Show embed HTML", "lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Show this user's notifications", "lang_parse_notffilter": "Show this user's notifications",
"lang_parse_hidden": "Unvisible quoted toot", "lang_parse_hidden": "Unvisible quoted toot",
"lang_parse_disconnected": "Streaming has been disconnected(retry after 3s)",
"lang_misskeyparse_renote": "Repost", "lang_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote", "lang_misskeyparse_renoteqt": "Renote",
"lang_misskeyparse_reaction": "Reaction", "lang_misskeyparse_reaction": "Reaction",
@@ -236,6 +247,7 @@
"lang_misskeyparse_reacted": " reacted your following post.", "lang_misskeyparse_reacted": " reacted your following post.",
"lang_setting_time": "Time format:{{set}}", "lang_setting_time": "Time format:{{set}}",
"lang_setting_theme": "Theme:{{set}}", "lang_setting_theme": "Theme:{{set}}",
"lang_setting_compat": "Compatible",
"lang_setting_nsfw": "Sensitive media:{{set}}", "lang_setting_nsfw": "Sensitive media:{{set}}",
"lang_setting_cw": "CW:{{set}}", "lang_setting_cw": "CW:{{set}}",
"lang_setting_cwtext": "Default CW text:{{set}}", "lang_setting_cwtext": "Default CW text:{{set}}",

View File

@@ -24,10 +24,11 @@
"nativenotf": "Native notification", "nativenotf": "Native notification",
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test", "nntest": "Notification test",
"minwidth": "Minimum width of columns", "width": "Width of columns",
"minwidthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.", "widthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser", "fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines",
"above": "above", "above": "above",
"font": "Font", "font": "Font",
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)", "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
@@ -43,26 +44,31 @@
"srcUrl": "Search engine", "srcUrl": "Search engine",
"srcUrlWarn": "{q} will be replaced to query.", "srcUrlWarn": "{q} will be replaced to query.",
"themeSel": "Select theme", "themeSel": "Select theme",
"customtheme": "Edit and add custom themes", "customtheme": "Edit and add themes",
"customthemeDirection": "Color scheme", "customthemeDirection": "Color scheme",
"advanced": "Advanced options(6 additional colors)", "advanced": "Advanced options",
"advancedWarn": "Advanced options will be <i>null</i> if you set nothing, while basic 3 options will be white(<i>fff</i>). They(adv. options) will be reset if you saved with advanced panel closed.", "advancedWarn": "",
"active": "Background of Show or CW buttons, selected options...", "use": "Use this",
"modal": "Background of modals", "copyFrom": "Copy from",
"bottom": "Background of bottom bar", "bg": "Background color",
"postbox": "Background of post box and menu", "subcolor": "Distinguishable from background",
"subcolor": "Subcolor, has harmony with secondary color",
"primary": "Background color",
"secondarycolor": "Background of components",
"text": "Text color", "text": "Text color",
"accent": "Background of boosts", "accent": "Background of boosts",
"modal": "Background of modal window",
"modalFooter": "Background of modal window's footer",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)",
"forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window",
"emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu",
"active": "Background of 'active' elements",
"selected": "Background of selected with arrow keys",
"selectedWithShare": "Background of selected with arrow keys(boosted toots)",
"add_new": "Add new", "add_new": "Add new",
"name": "Name", "name": "Name",
"desc": "About this theme", "desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes", "customImport": "Import of custom themes",
"delete": "Delete", "delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences", "timeline": "Timeline Preferences",
"timemode": "Time format", "timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"", "relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -101,8 +107,8 @@
"or": "or", "or": "or",
"imgheight": "Height of images", "imgheight": "Height of images",
"imgheightwarn": "Option:Set \"full\" to uncrop.", "imgheightwarn": "Option:Set \"full\" to uncrop.",
"ticker": "Enable #InstanceTicker", "ticker": "Enable OpenSticker",
"tickerwarn": "Show colorful stickers about the server. <a href=\"https://github.com/MiyonMiyon/InstanceTicker_List\">About #InstanceTicker</a> (c)2018-2020 MiyonMiyon. Released under the MIT License.", "tickerwarn": "Show the instance name and favicon of tooters <a href=\"https://opensticker.0px.io\">About OpenSticker</a>",
"animation": "Animation of timelines", "animation": "Animation of timelines",
"markers": "Markers(mark as read) on HTL and notifications", "markers": "Markers(mark as read) on HTL and notifications",
"markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.", "markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.",
@@ -136,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)", "notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)", "apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button", "showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions", "main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.", "mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently", "lastacct": "Account you used recently",
@@ -150,6 +160,9 @@
"keysc": "Keyboard shortcut Preferences", "keysc": "Keyboard shortcut Preferences",
"iks": "Easy inserter", "iks": "Easy inserter",
"okswarn": "You can insert any letters and emojis with only 3 keys", "okswarn": "You can insert any letters and emojis with only 3 keys",
"plugin": "Plugins",
"howToWritePlugin": "Japanese docs of AiScript TheDesk plugins",
"pluginList": "Plugin list",
"muteemp": "Mute & Emphasis Preferences", "muteemp": "Mute & Emphasis Preferences",
"climute": "Client Mute", "climute": "Client Mute",
"cliemp": "Client Emphasis", "cliemp": "Client Emphasis",

View File

@@ -1,5 +1,7 @@
{ {
"draghere": "Přetáhněte sem pro nahrání", "draghere": "Přetáhněte sem pro nahrání",
"nowOffline": "OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet",
"reOnline": "Now we are in the Internet, you should reload...",
"close": "Zavřít", "close": "Zavřít",
"webSrc": "Search on Web", "webSrc": "Search on Web",
"tsSrc": "Search on tootsearch", "tsSrc": "Search on tootsearch",
@@ -45,6 +47,7 @@
"thingsEmoji": "Emojis of tools", "thingsEmoji": "Emojis of tools",
"symbolEmoji": "Emojis of symbols", "symbolEmoji": "Emojis of symbols",
"flagsEmoji": "Emojis of flags", "flagsEmoji": "Emojis of flags",
"draft": "Draft",
"poll": "Anketa", "poll": "Anketa",
"pollDdisabled": "Polls: Disabled", "pollDdisabled": "Polls: Disabled",
"pollProvider": "Provider of Poll", "pollProvider": "Provider of Poll",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Otevřené vývojářské centrum softwaru Misskey. Zobrazujeme také oficiální dokumentaci.", "lang_manager_godev": "Otevřené vývojářské centrum softwaru Misskey. Zobrazujeme také oficiální dokumentaci.",
"lang_manager_logout": "Logout", "lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots", "lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk považuje „@“ za odpověď, ale vkládá ho do jiných parametrů. „Neuvedeno“ na Mastodonu znamená „Domů“ na Misskey.", "lang_bbmd_misskey": "TheDesk považuje „@“ za odpověď, ale vkládá ho do jiných parametrů. „Neuvedeno“ na Mastodonu znamená „Domů“ na Misskey.",
"lang_emoji_get": "Získat emoji", "lang_emoji_get": "Získat emoji",
"lang_emoji_custom": "Vlastní emoji", "lang_emoji_custom": "Vlastní emoji",
@@ -71,6 +72,7 @@
"lang_post_btn3": "Pokračovat k přispívání", "lang_post_btn3": "Pokračovat k přispívání",
"lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.", "lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.",
"lang_post_retry": "Retry", "lang_post_retry": "Retry",
"lang_post_offline": "Add to the drafts because of offline",
"lang_status_favWarn": "Oblíbení vzdáleného tootu bude chvíli trvat.", "lang_status_favWarn": "Oblíbení vzdáleného tootu bude chvíli trvat.",
"lang_status_btWarn": "Boostnutí vzdáleného tootu bude chvíli trvat.", "lang_status_btWarn": "Boostnutí vzdáleného tootu bude chvíli trvat.",
"lang_status_follow": "Sledovat", "lang_status_follow": "Sledovat",
@@ -87,6 +89,9 @@
"lang_status_endorse": "Představit na profilu", "lang_status_endorse": "Představit na profilu",
"lang_status_followers": "Followers", "lang_status_followers": "Followers",
"lang_status_active": "Last status", "lang_status_active": "Last status",
"lang_secure_draft": "Add to draft",
"lang_secure_useThis": "Use this",
"lang_secure_deleteThis": "Smazat tento toot",
"lang_suggest_nodata": "Pro zobrazení návrhu prosím získejte seznam emoji.", "lang_suggest_nodata": "Pro zobrazení návrhu prosím získejte seznam emoji.",
"lang_usetxtbox_reply": "Režim odpovězení. Pro vymazání stiskněte Ctrl+Shift+C.", "lang_usetxtbox_reply": "Režim odpovězení. Pro vymazání stiskněte Ctrl+Shift+C.",
"lang_cards_check": " kontrolovat", "lang_cards_check": " kontrolovat",
@@ -136,7 +141,11 @@
"lang_layout_nodata": "[Žádná data]<br>Obnovte stránku klávesami F5/⌘+R", "lang_layout_nodata": "[Žádná data]<br>Obnovte stránku klávesami F5/⌘+R",
"lang_layout_dm": "Přímá zpráva", "lang_layout_dm": "Přímá zpráva",
"lang_layout_webviewmode": "Preferovat WebView", "lang_layout_webviewmode": "Preferovat WebView",
"lang_excluded": "Excluded type of notification", "lang_layout_excluded": "Excluded type of notification",
"lang_layout_mention": "Mentions",
"lang_layout_fav": "Favourites",
"lang_layout_bt": "Boosts",
"lang_layout_poll": "Polls",
"lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)", "lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)",
"lang_layout_leftFold": "Stack to the left", "lang_layout_leftFold": "Stack to the left",
"lang_layout_leftUnfold": "Dock on the right", "lang_layout_leftUnfold": "Dock on the right",
@@ -145,6 +154,7 @@
"lang_layout_unread": "Unread", "lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager", "lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.", "lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column", "lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column", "lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork", "lang_spotify_img": "Attach an album artwork",
@@ -222,6 +232,7 @@
"lang_parse_html": "Show embed HTML", "lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Show this user's notifications", "lang_parse_notffilter": "Show this user's notifications",
"lang_parse_hidden": "Unvisible quoted toot", "lang_parse_hidden": "Unvisible quoted toot",
"lang_parse_disconnected": "Streaming has been disconnected(retry after 3s)",
"lang_misskeyparse_renote": "Znovusdílení", "lang_misskeyparse_renote": "Znovusdílení",
"lang_misskeyparse_renoteqt": "Renotování", "lang_misskeyparse_renoteqt": "Renotování",
"lang_misskeyparse_reaction": "Reakce", "lang_misskeyparse_reaction": "Reakce",
@@ -236,6 +247,7 @@
"lang_misskeyparse_reacted": " reagoval/a na váš následující příspěvek.", "lang_misskeyparse_reacted": " reagoval/a na váš následující příspěvek.",
"lang_setting_time": "Časový formát: {{set}}", "lang_setting_time": "Časový formát: {{set}}",
"lang_setting_theme": "Motiv: {{set}}", "lang_setting_theme": "Motiv: {{set}}",
"lang_setting_compat": "Compatible",
"lang_setting_nsfw": "Citlivý obsah: {{set}}", "lang_setting_nsfw": "Citlivý obsah: {{set}}",
"lang_setting_cw": "Varování: {{set}}", "lang_setting_cw": "Varování: {{set}}",
"lang_setting_cwtext": "Výchozí text varování: {{set}}", "lang_setting_cwtext": "Výchozí text varování: {{set}}",

View File

@@ -24,10 +24,11 @@
"nativenotf": "Native notification", "nativenotf": "Native notification",
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Odskoušet oznámení", "nntest": "Odskoušet oznámení",
"minwidth": "Minimum width of columns", "width": "Width of columns",
"minwidthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.", "widthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
"fixwidth": "Minimální šířka TweetDeck prohlížeče", "fixwidth": "Minimální šířka TweetDeck prohlížeče",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines",
"above": "above", "above": "above",
"font": "Písmo", "font": "Písmo",
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)", "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
@@ -45,24 +46,29 @@
"themeSel": "Vybrat motiv", "themeSel": "Vybrat motiv",
"customtheme": "Edit and add custom themes", "customtheme": "Edit and add custom themes",
"customthemeDirection": "Color scheme", "customthemeDirection": "Color scheme",
"advanced": "Advanced options(6 additional colors)", "advanced": "Advanced options",
"advancedWarn": "Advanced options will be <i>null</i> if you set nothing, while basic 3 options will be white(<i>fff</i>). They(adv. options) will be reset if you saved with advanced panel closed.", "advancedWarn": "",
"active": "Background of Show or CW buttons, selected options...", "use": "Use this",
"modal": "Background of modals", "copyFrom": "Copy from",
"bottom": "Background of bottom bar", "bg": "Background color",
"postbox": "Background of post box and menu", "subcolor": "Distinguishable from background",
"subcolor": "Subcolor, has harmony with secondary color",
"primary": "Background color",
"secondarycolor": "Background of components",
"text": "Text color", "text": "Text color",
"accent": "Background of boosts", "accent": "Background of boosts",
"modal": "Background of modal window",
"modalFooter": "Background of modal window's footer",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)",
"forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window",
"emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu",
"active": "Background of 'active' elements",
"selected": "Background of selected with arrow keys",
"selectedWithShare": "Background of selected with arrow keys(boosted toots)",
"add_new": "Add new", "add_new": "Add new",
"name": "Name", "name": "Name",
"desc": "About this theme", "desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes", "customImport": "Import of custom themes",
"delete": "Delete", "delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences", "timeline": "Timeline Preferences",
"timemode": "Časový formát", "timemode": "Časový formát",
"relativetime": "Relativní formát: „před 1 minutou“, „před 3 dny“", "relativetime": "Relativní formát: „před 1 minutou“, „před 3 dny“",
@@ -136,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)", "notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)", "apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button", "showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions", "main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.", "mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently", "lastacct": "Account you used recently",
@@ -150,6 +160,9 @@
"keysc": "Keyboard shortcut Preferences", "keysc": "Keyboard shortcut Preferences",
"iks": "Easy inserter", "iks": "Easy inserter",
"okswarn": "You can insert any letters and emojis with only 3 keys", "okswarn": "You can insert any letters and emojis with only 3 keys",
"plugin": "Plugins",
"howToWritePlugin": "Japanese docs of AiScript TheDesk plugins",
"pluginList": "Plugin list",
"muteemp": "Mute & Emphasis Preferences", "muteemp": "Mute & Emphasis Preferences",
"climute": "Client Mute", "climute": "Client Mute",
"cliemp": "Client Emphasis", "cliemp": "Client Emphasis",

View File

@@ -1,5 +1,7 @@
{ {
"draghere": "Drag here to upload", "draghere": "Drag here to upload",
"nowOffline": "OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet",
"reOnline": "Now we are in the Internet, you should reload...",
"close": "Close", "close": "Close",
"webSrc": "Search on Web", "webSrc": "Search on Web",
"tsSrc": "Search on tootsearch", "tsSrc": "Search on tootsearch",
@@ -45,6 +47,7 @@
"thingsEmoji": "Emojis of tools", "thingsEmoji": "Emojis of tools",
"symbolEmoji": "Emojis of symbols", "symbolEmoji": "Emojis of symbols",
"flagsEmoji": "Emojis of flags", "flagsEmoji": "Emojis of flags",
"draft": "Draft",
"poll": "Poll", "poll": "Poll",
"pollDdisabled": "Polls: Disabled", "pollDdisabled": "Polls: Disabled",
"pollProvider": "Provider of Poll", "pollProvider": "Provider of Poll",
@@ -130,7 +133,7 @@
"notf": "Notifications", "notf": "Notifications",
"bookmark": "Bookmarks", "bookmark": "Bookmarks",
"showThisTL": "Show this TL:", "showThisTL": "Show this TL:",
"webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.", "webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>).",
"add": "Add", "add": "Add",
"search": "Search", "search": "Search",
"sortSet": "Sort", "sortSet": "Sort",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.", "lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout", "lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots", "lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.", "lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis", "lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis", "lang_emoji_custom": "Custom emojis",
@@ -71,6 +72,7 @@
"lang_post_btn3": "Continue to post", "lang_post_btn3": "Continue to post",
"lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.", "lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.",
"lang_post_retry": "Retry", "lang_post_retry": "Retry",
"lang_post_offline": "Add to the drafts because of offline",
"lang_status_favWarn": "It will take a miunte to favourite a remote toot.", "lang_status_favWarn": "It will take a miunte to favourite a remote toot.",
"lang_status_btWarn": "It will take a miunte to boost a remote toot.", "lang_status_btWarn": "It will take a miunte to boost a remote toot.",
"lang_status_follow": "Follow", "lang_status_follow": "Follow",
@@ -87,6 +89,9 @@
"lang_status_endorse": "Feature on profile", "lang_status_endorse": "Feature on profile",
"lang_status_followers": "Followers", "lang_status_followers": "Followers",
"lang_status_active": "Last status", "lang_status_active": "Last status",
"lang_secure_draft": "Add to draft",
"lang_secure_useThis": "Use this",
"lang_secure_deleteThis": "Delete this",
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.", "lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.", "lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check", "lang_cards_check": " check",
@@ -131,13 +136,17 @@
"lang_layout_linkana": "Auto Link Analyzer", "lang_layout_linkana": "Auto Link Analyzer",
"lang_layout_linkanades": "Auto link analyzer", "lang_layout_linkanades": "Auto link analyzer",
"lang_layout_tts": "Text to speech ", "lang_layout_tts": "Text to speech ",
"lang_layout_reconnect": "Reload this column", "lang_layout_reconnect": "Reload",
"lang_layout_headercolor": "Header color of this column", "lang_layout_headercolor": "Header color of this column",
"lang_layout_nodata": "[No data]<br>F5/⌘+R to reload", "lang_layout_nodata": "[No data]<br>F5/⌘+R to reload",
"lang_layout_dm": "Direct Message", "lang_layout_dm": "Direct Message",
"lang_layout_webviewmode": "Prefer WebView", "lang_layout_webviewmode": "Prefer WebView",
"lang_excluded": "Excluded type of notification", "lang_layout_excluded": "Excluded type of notification",
"lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)", "lang_layout_mention": "Mentions",
"lang_layout_fav": "Favourites",
"lang_layout_bt": "Boosts",
"lang_layout_poll": "Polls",
"lang_layout_excludingbt": "Show BT mode",
"lang_layout_leftFold": "Stack to the left", "lang_layout_leftFold": "Stack to the left",
"lang_layout_leftUnfold": "Dock on the right", "lang_layout_leftUnfold": "Dock on the right",
"lang_layout_deleteColumn": "Delete this column", "lang_layout_deleteColumn": "Delete this column",
@@ -145,6 +154,7 @@
"lang_layout_unread": "Unread", "lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager", "lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.", "lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column", "lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column", "lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork", "lang_spotify_img": "Attach an album artwork",
@@ -222,6 +232,7 @@
"lang_parse_html": "Show embed HTML", "lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Show this user's notifications", "lang_parse_notffilter": "Show this user's notifications",
"lang_parse_hidden": "Unvisible quoted toot", "lang_parse_hidden": "Unvisible quoted toot",
"lang_parse_disconnected": "Streaming has been disconnected(retry after 3s)",
"lang_misskeyparse_renote": "Repost", "lang_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote", "lang_misskeyparse_renoteqt": "Renote",
"lang_misskeyparse_reaction": "Reaction", "lang_misskeyparse_reaction": "Reaction",
@@ -236,6 +247,7 @@
"lang_misskeyparse_reacted": " reacted your following post.", "lang_misskeyparse_reacted": " reacted your following post.",
"lang_setting_time": "Time format:{{set}}", "lang_setting_time": "Time format:{{set}}",
"lang_setting_theme": "Theme:{{set}}", "lang_setting_theme": "Theme:{{set}}",
"lang_setting_compat": "Compatible",
"lang_setting_nsfw": "Sensitive media:{{set}}", "lang_setting_nsfw": "Sensitive media:{{set}}",
"lang_setting_cw": "CW:{{set}}", "lang_setting_cw": "CW:{{set}}",
"lang_setting_cwtext": "Default CW text:{{set}}", "lang_setting_cwtext": "Default CW text:{{set}}",

View File

@@ -24,10 +24,11 @@
"nativenotf": "Native notification", "nativenotf": "Native notification",
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test", "nntest": "Notification test",
"minwidth": "Minimum width of columns", "width": "Width of columns",
"minwidthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.", "widthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser", "fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines",
"above": "above", "above": "above",
"font": "Font", "font": "Font",
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)", "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
@@ -43,26 +44,31 @@
"srcUrl": "Search engine", "srcUrl": "Search engine",
"srcUrlWarn": "{q} will be replaced to query.", "srcUrlWarn": "{q} will be replaced to query.",
"themeSel": "Select theme", "themeSel": "Select theme",
"customtheme": "Edit and add custom themes", "customtheme": "Edit and add themes",
"customthemeDirection": "Color scheme", "customthemeDirection": "Color scheme",
"advanced": "Advanced options(6 additional colors)", "advanced": "Advanced options",
"advancedWarn": "Advanced options will be <i>null</i> if you set nothing, while basic 3 options will be white(<i>fff</i>). They(adv. options) will be reset if you saved with advanced panel closed.", "advancedWarn": "",
"active": "Background of Show or CW buttons, selected options...", "use": "Use this",
"modal": "Background of modals", "copyFrom": "Copy from",
"bottom": "Background of bottom bar", "bg": "Background color",
"postbox": "Background of post box and menu", "subcolor": "Distinguishable from background",
"subcolor": "Subcolor, has harmony with secondary color",
"primary": "Background color",
"secondarycolor": "Background of components",
"text": "Text color", "text": "Text color",
"accent": "Background of boosts", "accent": "Background of boosts",
"modal": "Background of modal window",
"modalFooter": "Background of modal window's footer",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)",
"forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window",
"emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu",
"active": "Background of 'active' elements",
"selected": "Background of selected with arrow keys",
"selectedWithShare": "Background of selected with arrow keys(boosted toots)",
"add_new": "Add new", "add_new": "Add new",
"name": "Name", "name": "Name",
"desc": "About this theme", "desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes", "customImport": "Import of custom themes",
"delete": "Delete", "delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences", "timeline": "Timeline Preferences",
"timemode": "Time format", "timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"", "relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -101,8 +107,8 @@
"or": "or", "or": "or",
"imgheight": "Height of images", "imgheight": "Height of images",
"imgheightwarn": "Option:Set \"full\" to uncrop.", "imgheightwarn": "Option:Set \"full\" to uncrop.",
"ticker": "Enable #InstanceTicker", "ticker": "Enable OpenSticker",
"tickerwarn": "Show colorful stickers about the server. <a href=\"https://github.com/MiyonMiyon/InstanceTicker_List\">About #InstanceTicker</a> (c)2018-2020 MiyonMiyon. Released under the MIT License.", "tickerwarn": "Show the instance name and favicon of tooters <a href=\"https://opensticker.0px.io\">About OpenSticker</a>",
"animation": "Animation of timelines", "animation": "Animation of timelines",
"markers": "Markers(mark as read) on HTL and notifications", "markers": "Markers(mark as read) on HTL and notifications",
"markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.", "markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.",
@@ -136,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)", "notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)", "apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button", "showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions", "main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.", "mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently", "lastacct": "Account you used recently",
@@ -150,6 +160,9 @@
"keysc": "Keyboard shortcut Preferences", "keysc": "Keyboard shortcut Preferences",
"iks": "Easy inserter", "iks": "Easy inserter",
"okswarn": "You can insert any letters and emojis with only 3 keys", "okswarn": "You can insert any letters and emojis with only 3 keys",
"plugin": "Plugins",
"howToWritePlugin": "Japanese docs of AiScript TheDesk plugins",
"pluginList": "Plugin list",
"muteemp": "Mute & Emphasis Preferences", "muteemp": "Mute & Emphasis Preferences",
"climute": "Client Mute", "climute": "Client Mute",
"cliemp": "Client Emphasis", "cliemp": "Client Emphasis",

View File

@@ -1,8 +1,8 @@
{ {
"list": "Accountliste", "list": "Konten",
"back": "Zurück", "back": "Zurück",
"add": "Konto hinzufügen", "add": "Konto hinzufügen",
"addAcct": "Fill the instance domain (like mastodon.social)", "addAcct": "Geben Sie die Instanz-Domain ein (wie mastodon.social)",
"codesetupwarn": "Check if TheDesk is not working on Windows, you want to login Pleroma servers, you cannot login when it checked.", "codesetupwarn": "Check if TheDesk is not working on Windows, you want to login Pleroma servers, you cannot login when it checked.",
"codesetup": "Code-Setup", "codesetup": "Code-Setup",
"mainacct": "Hauptkonto", "mainacct": "Hauptkonto",
@@ -17,9 +17,9 @@
"safety": "Verbindung", "safety": "Verbindung",
"ver": "Mastodon Version", "ver": "Mastodon Version",
"ko": "", "ko": "",
"thisismisskey": "Als Misskey anmelden", "thisismisskey": "Login als Misskey",
"misskeylogin": "Lies die <a href=\"https://thedesk.top/how-to-misskey-login.html\">Doku (japanisch)</a> um dich bei Misskey einzuloggen.", "misskeylogin": "Lies die <a href=\"https://thedesk.top/how-to-misskey-login.html\">Doku (japanisch)</a> um dich bei Misskey einzuloggen.",
"nodata": "Keine Daten", "nodata": "Keine Daten",
"accessTokenSetup": "Benutze Zugangs-Token zum Anmelden (Klicke nach Ausfüllen nicht den Code, sondern den Access-Token im Kästchen: Erweitert)", "accessTokenSetup": "Benutze Zugangs-Token zum Anmelden (Klicke nach Ausfüllen nicht den Code, sondern den Access-Token im Kästchen: Erweitert)",
"haveExported": "Having the exported file of TheDesk, click here to jump setting page" "haveExported": "Haben Sie eine exportierte Datei von TheDesk, klicken Sie hier für die Einstellungen"
} }

View File

@@ -1,5 +1,7 @@
{ {
"draghere": "Zum Hochladen hier her ziehen", "draghere": "Zum Hochladen hier her ziehen",
"nowOffline": "OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet",
"reOnline": "Now we are in the Internet, you should reload...",
"close": "Schließen", "close": "Schließen",
"webSrc": "Suche im Internet", "webSrc": "Suche im Internet",
"tsSrc": "Bei Tootsearch suchen", "tsSrc": "Bei Tootsearch suchen",
@@ -20,8 +22,8 @@
"yes": "Ja", "yes": "Ja",
"temp": "Dateien anhängen", "temp": "Dateien anhängen",
"nothing": "Keine", "nothing": "Keine",
"stamp": "Stamp", "stamp": "Stempel",
"stampWarn": "Your acct(aa@bb.cc) is printed on the right-bottom of the uploaded image", "stampWarn": "Ihr acct(aa@bb.cc) wird rechts unten des hochgeladenen Bildes gedruckt",
"vis": "Status Privatsphäre anpassen", "vis": "Status Privatsphäre anpassen",
"cwtext": "Warntext", "cwtext": "Warntext",
"selectVis": "Status Privatsphäre anpassen", "selectVis": "Status Privatsphäre anpassen",
@@ -45,6 +47,7 @@
"thingsEmoji": "Emojis vom Werkzeugen", "thingsEmoji": "Emojis vom Werkzeugen",
"symbolEmoji": "Emojis von Symbolen", "symbolEmoji": "Emojis von Symbolen",
"flagsEmoji": "Emojis der Flaggen", "flagsEmoji": "Emojis der Flaggen",
"draft": "Entwurf",
"poll": "Umfrage", "poll": "Umfrage",
"pollDdisabled": "Umfragen: Deaktiviert", "pollDdisabled": "Umfragen: Deaktiviert",
"pollProvider": "Anbieter von Umfragen", "pollProvider": "Anbieter von Umfragen",
@@ -75,7 +78,7 @@
"toots": "Tröts", "toots": "Tröts",
"follow": "Folgen", "follow": "Folgen",
"follower": "Abonnenten", "follower": "Abonnenten",
"utlColumn": "Show as a column", "utlColumn": "Als Spalte anzeigen",
"timeline": "Verlauf", "timeline": "Verlauf",
"operateOtherAcct": "Cross-Account", "operateOtherAcct": "Cross-Account",
"list": "Liste", "list": "Liste",
@@ -139,7 +142,7 @@
"filterWord": "Filterwörter", "filterWord": "Filterwörter",
"degree": "Kontexte filtern", "degree": "Kontexte filtern",
"conver": "Gespräche", "conver": "Gespräche",
"prof": "Profiles", "prof": "Profile",
"option": "Einstellungen", "option": "Einstellungen",
"matchWord": "Ganze Wörter", "matchWord": "Ganze Wörter",
"warnMatchWord": "Schön für lateinische Sprachen", "warnMatchWord": "Schön für lateinische Sprachen",
@@ -184,5 +187,5 @@
"acctManDesc": "Fügen Sie weitere Konten hinzu und loggen Sie sie aus.", "acctManDesc": "Fügen Sie weitere Konten hinzu und loggen Sie sie aus.",
"settingDesc": "Hier sind sehr, sehr viele Einstellungen. Du könntest gar nicht alles ausprobieren!", "settingDesc": "Hier sind sehr, sehr viele Einstellungen. Du könntest gar nicht alles ausprobieren!",
"nanoDescPlus": "Mini-Fenster-Klient (experimentell)", "nanoDescPlus": "Mini-Fenster-Klient (experimentell)",
"menuDesc": "All daily TheDesk and Mastodon tuning like <b>add and sort columns</b>, <b>list and filter check</b>." "menuDesc": "Alle täglichen TheDesk und Mastodon-Einstellungen wie <b>hinzufügen und sortieren von Spalten</b>, <b>Liste und Filter prüfen</b>."
} }

View File

@@ -48,7 +48,8 @@
"lang_manager_none": "Ohne", "lang_manager_none": "Ohne",
"lang_manager_godev": "Öffnen Sie das DevCenter von Misskey. Wir zeigen auch ein offizielles Dokument als Referenz.", "lang_manager_godev": "Öffnen Sie das DevCenter von Misskey. Wir zeigen auch ein offizielles Dokument als Referenz.",
"lang_manager_logout": "Abmelden", "lang_manager_logout": "Abmelden",
"lang_manager_maxChars": "Max chars of toots", "lang_manager_maxChars": "Max Zeichen von toots",
"lang_manager_refreshAt": "Mit dieser Domain anmelden",
"lang_bbmd_misskey": "TheDesk betrachtet \"@\" als Antwort, setzt aber einen anderen Parameter. Nicht auf Mastodon gelistet bedeutet Home on Misskey.", "lang_bbmd_misskey": "TheDesk betrachtet \"@\" als Antwort, setzt aber einen anderen Parameter. Nicht auf Mastodon gelistet bedeutet Home on Misskey.",
"lang_emoji_get": "Hole Emojis", "lang_emoji_get": "Hole Emojis",
"lang_emoji_custom": "Eigene Emojis", "lang_emoji_custom": "Eigene Emojis",
@@ -70,7 +71,8 @@
"lang_post_btn2": "Text automatisch ausblenden", "lang_post_btn2": "Text automatisch ausblenden",
"lang_post_btn3": "Weiter mit Senden", "lang_post_btn3": "Weiter mit Senden",
"lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.", "lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.",
"lang_post_retry": "Retry", "lang_post_retry": "Erneut versuchen",
"lang_post_offline": "Zu den Entwürfen wegen offline hinzufügen",
"lang_status_favWarn": "Es braucht einen Moment, um ein entferntes Tröt zu favorisieren.", "lang_status_favWarn": "Es braucht einen Moment, um ein entferntes Tröt zu favorisieren.",
"lang_status_btWarn": "Es braucht einen Moment, um ein entferntes Tröt zu verstärken.", "lang_status_btWarn": "Es braucht einen Moment, um ein entferntes Tröt zu verstärken.",
"lang_status_follow": "Folgen", "lang_status_follow": "Folgen",
@@ -87,6 +89,9 @@
"lang_status_endorse": "Auf dem Profil zeigen", "lang_status_endorse": "Auf dem Profil zeigen",
"lang_status_followers": "Folgende", "lang_status_followers": "Folgende",
"lang_status_active": "Letzter Status", "lang_status_active": "Letzter Status",
"lang_secure_draft": "Zum Entwurf hinzufügen",
"lang_secure_useThis": "Benutze dies",
"lang_secure_deleteThis": "Diesen Tröt löschen",
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.", "lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
"lang_usetxtbox_reply": "Antwortmodus. Strg+Umschalt+C zum Löschen.", "lang_usetxtbox_reply": "Antwortmodus. Strg+Umschalt+C zum Löschen.",
"lang_cards_check": " überprüfen", "lang_cards_check": " überprüfen",
@@ -136,15 +141,20 @@
"lang_layout_nodata": "[Keine Daten]<br>F5/⌘+R zum Neu laden", "lang_layout_nodata": "[Keine Daten]<br>F5/⌘+R zum Neu laden",
"lang_layout_dm": "Direkte Nachricht", "lang_layout_dm": "Direkte Nachricht",
"lang_layout_webviewmode": "Web-Ansicht bevorzugen", "lang_layout_webviewmode": "Web-Ansicht bevorzugen",
"lang_excluded": "Ausgeschlossene Benachrichtigungsart", "lang_layout_excluded": "Excluded type of notification",
"lang_layout_mention": "Erwähnungen",
"lang_layout_fav": "Favoriten",
"lang_layout_bt": "Boosts",
"lang_layout_poll": "Umfragen",
"lang_layout_excludingbt": "BT-Modus anzeigen (aus/kein BT/Nur BT)", "lang_layout_excludingbt": "BT-Modus anzeigen (aus/kein BT/Nur BT)",
"lang_layout_leftFold": "Nach links Stapeln", "lang_layout_leftFold": "Nach links Stapeln",
"lang_layout_leftUnfold": "Rechts Anheften", "lang_layout_leftUnfold": "Rechts Anheften",
"lang_layout_deleteColumn": "Diese Spalte löschen", "lang_layout_deleteColumn": "Diese Spalte löschen",
"lang_layout_deleteColumnDesc": "Diese Spalte löschen", "lang_layout_deleteColumnDesc": "Diese Spalte löschen",
"lang_layout_unread": "ungelesen", "lang_layout_unread": "ungelesen",
"lang_layout_tagManager": "Tag timeline manager", "lang_layout_tagManager": "Tag-Zeitleiste Manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.", "lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Diese Spalte strecken",
"lang_sort_gothis": "Gehe zu dieser Spalte", "lang_sort_gothis": "Gehe zu dieser Spalte",
"lang_sort_remthis": "Diese Spalte löschen", "lang_sort_remthis": "Diese Spalte löschen",
"lang_spotify_img": "Albumcover anhängen", "lang_spotify_img": "Albumcover anhängen",
@@ -161,12 +171,12 @@
"lang_showontl_movebtn": "Auf dem neuen Konto fortfahren", "lang_showontl_movebtn": "Auf dem neuen Konto fortfahren",
"lang_showontl_botacct": "[bot]", "lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Folgt dir", "lang_showontl_followed": "Folgt dir",
"lang_parse_request": "Follow request", "lang_parse_request": "Anfrage folgen",
"lang_showontl_notf": "Benachrichtigung ", "lang_showontl_notf": "Benachrichtigung ",
"lang_showontl_domain": "Domäne ", "lang_showontl_domain": "Domäne ",
"lang_showontl_listwarn": "Folgen, um diesen Benutzer zu Listen hinzuzufügen.", "lang_showontl_listwarn": "Folgen, um diesen Benutzer zu Listen hinzuzufügen.",
"lang_showontl_verified": "This website is verified by owner at ", "lang_showontl_verified": "This website is verified by owner at ",
"lang_status_requesting": "Requesting", "lang_status_requesting": "Anfordern",
"lang_parse_mentioned": " hat dir geantwortet", "lang_parse_mentioned": " hat dir geantwortet",
"lang_parse_faved": " favorisierte deinen Tröt", "lang_parse_faved": " favorisierte deinen Tröt",
"lang_parse_bted": " hat deinen Tröt verstärkt", "lang_parse_bted": " hat deinen Tröt verstärkt",
@@ -175,7 +185,7 @@
"lang_parse_notftime": "Bearbeitet am", "lang_parse_notftime": "Bearbeitet am",
"lang_parse_cwshow": "Anzeigen", "lang_parse_cwshow": "Anzeigen",
"lang_parse_cwshow_acc": "This is a post with content warning. click to show the whole content", "lang_parse_cwshow_acc": "This is a post with content warning. click to show the whole content",
"lang_parse_fulltext": "Full size text:", "lang_parse_fulltext": "Text in voller Größe:",
"lang_parse_autofold": "Automatisches Zusammenfalten", "lang_parse_autofold": "Automatisches Zusammenfalten",
"lang_parse_more": "Mehr", "lang_parse_more": "Mehr",
"lang_parse_url": "URL-Analyse", "lang_parse_url": "URL-Analyse",
@@ -215,13 +225,14 @@
"lang_parse_vote": "Abstimmen", "lang_parse_vote": "Abstimmen",
"lang_parse_unvoted": "Ergebnis ohne Abstimmung anzeigen", "lang_parse_unvoted": "Ergebnis ohne Abstimmung anzeigen",
"lang_parse_endedvote": "Abgelaufen", "lang_parse_endedvote": "Abgelaufen",
"lang_parse_people": "people", "lang_parse_people": "personen",
"lang_parse_thread": "Konversation anzeigen", "lang_parse_thread": "Konversation anzeigen",
"lang_parse_unknown": "Angehängte Datei", "lang_parse_unknown": "Angehängte Datei",
"lang_parse_nsfw": "NSFW Medien", "lang_parse_nsfw": "NSFW Medien",
"lang_parse_html": "Show embed HTML", "lang_parse_html": "Eingebettetes HTML anzeigen",
"lang_parse_notffilter": "Benachrichtigungen dieses Benutzers anzeigen", "lang_parse_notffilter": "Benachrichtigungen dieses Benutzers anzeigen",
"lang_parse_hidden": "Unvisible quoted toot", "lang_parse_hidden": "Unvisible quoted toot",
"lang_parse_disconnected": "Streaming has been disconnected(retry after 3s)",
"lang_misskeyparse_renote": "Weiterleiten", "lang_misskeyparse_renote": "Weiterleiten",
"lang_misskeyparse_renoteqt": "Renote", "lang_misskeyparse_renoteqt": "Renote",
"lang_misskeyparse_reaction": "Reaktion", "lang_misskeyparse_reaction": "Reaktion",
@@ -236,6 +247,7 @@
"lang_misskeyparse_reacted": " hat auf Ihren folgenden Beitrag reagiert.", "lang_misskeyparse_reacted": " hat auf Ihren folgenden Beitrag reagiert.",
"lang_setting_time": "Zeitformat:{{set}}", "lang_setting_time": "Zeitformat:{{set}}",
"lang_setting_theme": "Design:{{set}}", "lang_setting_theme": "Design:{{set}}",
"lang_setting_compat": "Kompatibel",
"lang_setting_nsfw": "NSFW:{{set}}", "lang_setting_nsfw": "NSFW:{{set}}",
"lang_setting_cw": "NSFW:{{set}}", "lang_setting_cw": "NSFW:{{set}}",
"lang_setting_cwtext": "Standard-NSFW-Text:{{set}}", "lang_setting_cwtext": "Standard-NSFW-Text:{{set}}",

View File

@@ -13,56 +13,62 @@
"setlang": "Sprachen", "setlang": "Sprachen",
"backup": "Import und Export von Einstellungen", "backup": "Import und Export von Einstellungen",
"backupWarn": "If you got a error when you choose the file, please paste the strings printed when you open the file and click import", "backupWarn": "If you got a error when you choose the file, please paste the strings printed when you open the file and click import",
"import": "Import", "import": "Importieren",
"export": "Export", "export": "Exportieren",
"hardwareAcceleration": "Hardwarebeschleunigung deaktivieren", "hardwareAcceleration": "Hardwarebeschleunigung deaktivieren",
"hardwareAccelerationWarn": "Automatischer Neustart", "hardwareAccelerationWarn": "Automatischer Neustart",
"theme": "Designs", "theme": "Designs",
"popup": "Popup-Benachrichtigung(unter Windows)", "popup": "Popup-Benachrichtigung(unter Windows)",
"popupwarn": "Bei \"0\" Ausgeschaltet.", "popupwarn": "Bei \"0\" Ausgeschaltet.",
"s": "Sek", "s": "Sekunden",
"nativenotf": "System Benachrichtigungen", "nativenotf": "System Benachrichtigungen",
"nnwarn": "Dies funktioniert nicht mit der Portablen Windows Version.", "nnwarn": "Dies funktioniert nicht mit der Portablen Windows Version.",
"nntest": "Benachrichtigungen testen", "nntest": "Benachrichtigungen testen",
"minwidth": "Minimale Breite der Spalten", "width": "Spaltenbreite",
"minwidthwarn": "Die Scroll-Leiste wird angezeigt, wenn Spalten breiter als das Fenster sind.", "widthwarn": "Die Bildlaufleiste wird angezeigt, wenn die Fenstergröße größer als die Spaltenanzahl ist.",
"fixwidth": "Minimale Breite des TweetDeck-Browsers", "fixwidth": "Minimale Breite des TweetDeck-Browsers",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Abstand zwischen Zeitleisten",
"above": "über", "above": "über",
"font": "Schriftart", "font": "Schriftart",
"fontwarn": "Wählen Sie Ihre Lieblingsschrift. 'Select'(nur Windows/ macOS)", "fontwarn": "Wählen Sie Ihre Lieblingsschrift. 'Select'(nur Windows/ macOS)",
"fontsize": "Schriftgröße", "fontsize": "Schriftgröße",
"savefolder": "Ordner zum Speichern", "savefolder": "Ordner zum Speichern",
"savefolderwarn": "TheDesk verwendet diesen Ordner, wenn es versucht Bilder zu speichern oder Screenshots zu machen.", "savefolderwarn": "TheDesk verwendet diesen Ordner, wenn es versucht Bilder zu speichern oder Screenshots zu machen.",
"useragent": "User agent", "useragent": "User-Agent",
"useragentWarn": "Restart when changed", "useragentWarn": "Neustart bei Änderung",
"frame": "Window frame", "frame": "Fensterrahmen",
"frameWarn": "If 'off', the window looks cool.", "frameWarn": "If 'off', the window looks cool.",
"downloadWin": "Versioning(o Windows downloader)", "downloadWin": "Versioning(o Windows downloader)",
"absolute": "Absoluter Wert", "absolute": "Absoluter Wert",
"srcUrl": "Search engine", "srcUrl": "Suchmaschine",
"srcUrlWarn": "{q} will be replaced to query.", "srcUrlWarn": "{q} will be replaced to query.",
"themeSel": "Design auswählen", "themeSel": "Design auswählen",
"customtheme": "Bearbeiten und hinzufügen von eigenen Designs", "customtheme": "Bearbeiten und hinzufügen von eigenen Designs",
"customthemeDirection": "Farbschema", "customthemeDirection": "Farbschema",
"advanced": "Advanced options(6 additional colors)", "advanced": "Erweiterte Einstellungen",
"advancedWarn": "Advanced options will be <i>null</i> if you set nothing, while basic 3 options will be white(<i>fff</i>). They(adv. options) will be reset if you saved with advanced panel closed.", "advancedWarn": "",
"active": "Background of Show or CW buttons, selected options...", "use": "Benutze dies",
"modal": "Background of modals", "copyFrom": "Kopieren von",
"bottom": "Background of bottom bar", "bg": "Hintergrundfarbe",
"postbox": "Background of post box and menu", "subcolor": "Vom Hintergrund unterscheidbar",
"subcolor": "Subcolor, has harmony with secondary color",
"primary": "Hintergrundfarbe",
"secondarycolor": "Hintergrund der Komponenten",
"text": "Textfarbe", "text": "Textfarbe",
"accent": "Hintergrund des Boosts", "accent": "Hintergrund der Boosts",
"modal": "Background of modal window",
"modalFooter": "Background of modal window's footer",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)",
"forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window",
"emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu",
"active": "Background of 'active' elements",
"selected": "Background of selected with arrow keys",
"selectedWithShare": "Background of selected with arrow keys(boosted toots)",
"add_new": "Neues hinzufügen", "add_new": "Neues hinzufügen",
"name": "Name", "name": "Name",
"desc": "Über dieses Design", "desc": "Über dieses Design",
"customShare": "Teilen Sie diesen Code mit anderen TheDesk. Teilen Sie diesen Code nicht mit MiAS.",
"customImport": "Import von eigenen Designs", "customImport": "Import von eigenen Designs",
"delete": "Löschen", "delete": "Löschen",
"cImpWarn": "Mehr Designs auf: <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Verlaufseinstellungen", "timeline": "Verlaufseinstellungen",
"timemode": "Zeitformat", "timemode": "Zeitformat",
"relativetime": "Relatives Format:\"vor 1 Minuten\",\"vor 3 Tagen\"", "relativetime": "Relatives Format:\"vor 1 Minuten\",\"vor 3 Tagen\"",
@@ -136,6 +142,10 @@
"notqt": "Deaktiviert (Taste in Verlauf ausgeblendet)", "notqt": "Deaktiviert (Taste in Verlauf ausgeblendet)",
"apiQuote": "API(nur einige Instanzen)", "apiQuote": "API(nur einige Instanzen)",
"showBookmarkAction": "Show a bookmarking toot button", "showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Standard-Konto für Aktionen", "main": "Standard-Konto für Aktionen",
"mainwarn": "Das Hauptkonto kann in der Kontoverwaltung gestellt werden.", "mainwarn": "Das Hauptkonto kann in der Kontoverwaltung gestellt werden.",
"lastacct": "Konto, das Sie kürzlich verwendet haben", "lastacct": "Konto, das Sie kürzlich verwendet haben",
@@ -150,6 +160,9 @@
"keysc": "Tastaturkürzel Einstellungen", "keysc": "Tastaturkürzel Einstellungen",
"iks": "Schnell Einfügen", "iks": "Schnell Einfügen",
"okswarn": "Sie können Buchstaben und Emojis mit 3-Tasten-Kombination einfügen", "okswarn": "Sie können Buchstaben und Emojis mit 3-Tasten-Kombination einfügen",
"plugin": "Plugins",
"howToWritePlugin": "Japanese docs of AiScript TheDesk plugins",
"pluginList": "Plugin list",
"muteemp": "Einstellungen für Stumm & Hervorheben", "muteemp": "Einstellungen für Stumm & Hervorheben",
"climute": "Client Stumm", "climute": "Client Stumm",
"cliemp": "Client Hervorheben", "cliemp": "Client Hervorheben",

View File

@@ -1,5 +1,7 @@
{ {
"draghere": "Drag here to upload", "draghere": "Drag here to upload",
"nowOffline": "OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet",
"reOnline": "Now we are in the Internet, you should reload...",
"close": "Close", "close": "Close",
"webSrc": "Search on Web", "webSrc": "Search on Web",
"tsSrc": "Search on tootsearch", "tsSrc": "Search on tootsearch",
@@ -45,6 +47,7 @@
"thingsEmoji": "Emojis of tools", "thingsEmoji": "Emojis of tools",
"symbolEmoji": "Emojis of symbols", "symbolEmoji": "Emojis of symbols",
"flagsEmoji": "Emojis of flags", "flagsEmoji": "Emojis of flags",
"draft": "Draft",
"poll": "Poll", "poll": "Poll",
"pollDdisabled": "Polls: Disabled", "pollDdisabled": "Polls: Disabled",
"pollProvider": "Provider of Poll", "pollProvider": "Provider of Poll",
@@ -130,7 +133,7 @@
"notf": "Notifications", "notf": "Notifications",
"bookmark": "Bookmarks", "bookmark": "Bookmarks",
"showThisTL": "Show this TL:", "showThisTL": "Show this TL:",
"webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.", "webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>).",
"add": "Add", "add": "Add",
"search": "Search", "search": "Search",
"sortSet": "Sort", "sortSet": "Sort",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.", "lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout", "lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots", "lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.", "lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis", "lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis", "lang_emoji_custom": "Custom emojis",
@@ -71,6 +72,7 @@
"lang_post_btn3": "Continue to post", "lang_post_btn3": "Continue to post",
"lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.", "lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.",
"lang_post_retry": "Retry", "lang_post_retry": "Retry",
"lang_post_offline": "Add to the drafts because of offline",
"lang_status_favWarn": "It will take a miunte to favourite a remote toot.", "lang_status_favWarn": "It will take a miunte to favourite a remote toot.",
"lang_status_btWarn": "It will take a miunte to boost a remote toot.", "lang_status_btWarn": "It will take a miunte to boost a remote toot.",
"lang_status_follow": "Follow", "lang_status_follow": "Follow",
@@ -87,6 +89,9 @@
"lang_status_endorse": "Feature on profile", "lang_status_endorse": "Feature on profile",
"lang_status_followers": "Followers", "lang_status_followers": "Followers",
"lang_status_active": "Last status", "lang_status_active": "Last status",
"lang_secure_draft": "Add to draft",
"lang_secure_useThis": "Use this",
"lang_secure_deleteThis": "Delete this",
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.", "lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.", "lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check", "lang_cards_check": " check",
@@ -131,13 +136,17 @@
"lang_layout_linkana": "Auto Link Analyzer", "lang_layout_linkana": "Auto Link Analyzer",
"lang_layout_linkanades": "Auto link analyzer", "lang_layout_linkanades": "Auto link analyzer",
"lang_layout_tts": "Text to speech ", "lang_layout_tts": "Text to speech ",
"lang_layout_reconnect": "Reload this column", "lang_layout_reconnect": "Reload",
"lang_layout_headercolor": "Header color of this column", "lang_layout_headercolor": "Header color of this column",
"lang_layout_nodata": "[No data]<br>F5/⌘+R to reload", "lang_layout_nodata": "[No data]<br>F5/⌘+R to reload",
"lang_layout_dm": "Direct Message", "lang_layout_dm": "Direct Message",
"lang_layout_webviewmode": "Prefer WebView", "lang_layout_webviewmode": "Prefer WebView",
"lang_excluded": "Excluded type of notification", "lang_layout_excluded": "Excluded type of notification",
"lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)", "lang_layout_mention": "Mentions",
"lang_layout_fav": "Favourites",
"lang_layout_bt": "Boosts",
"lang_layout_poll": "Polls",
"lang_layout_excludingbt": "Show BT mode",
"lang_layout_leftFold": "Stack to the left", "lang_layout_leftFold": "Stack to the left",
"lang_layout_leftUnfold": "Dock on the right", "lang_layout_leftUnfold": "Dock on the right",
"lang_layout_deleteColumn": "Delete this column", "lang_layout_deleteColumn": "Delete this column",
@@ -145,6 +154,7 @@
"lang_layout_unread": "Unread", "lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager", "lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.", "lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column", "lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column", "lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork", "lang_spotify_img": "Attach an album artwork",
@@ -222,6 +232,7 @@
"lang_parse_html": "Show embed HTML", "lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Show this user's notifications", "lang_parse_notffilter": "Show this user's notifications",
"lang_parse_hidden": "Unvisible quoted toot", "lang_parse_hidden": "Unvisible quoted toot",
"lang_parse_disconnected": "Streaming has been disconnected(retry after 3s)",
"lang_misskeyparse_renote": "Repost", "lang_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote", "lang_misskeyparse_renoteqt": "Renote",
"lang_misskeyparse_reaction": "Reaction", "lang_misskeyparse_reaction": "Reaction",
@@ -236,6 +247,7 @@
"lang_misskeyparse_reacted": " reacted your following post.", "lang_misskeyparse_reacted": " reacted your following post.",
"lang_setting_time": "Time format:{{set}}", "lang_setting_time": "Time format:{{set}}",
"lang_setting_theme": "Theme:{{set}}", "lang_setting_theme": "Theme:{{set}}",
"lang_setting_compat": "Compatible",
"lang_setting_nsfw": "Sensitive media:{{set}}", "lang_setting_nsfw": "Sensitive media:{{set}}",
"lang_setting_cw": "CW:{{set}}", "lang_setting_cw": "CW:{{set}}",
"lang_setting_cwtext": "Default CW text:{{set}}", "lang_setting_cwtext": "Default CW text:{{set}}",

View File

@@ -24,10 +24,11 @@
"nativenotf": "Native notification", "nativenotf": "Native notification",
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test", "nntest": "Notification test",
"minwidth": "Minimum width of columns", "width": "Width of columns",
"minwidthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.", "widthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser", "fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines",
"above": "above", "above": "above",
"font": "Font", "font": "Font",
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)", "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
@@ -43,26 +44,31 @@
"srcUrl": "Search engine", "srcUrl": "Search engine",
"srcUrlWarn": "{q} will be replaced to query.", "srcUrlWarn": "{q} will be replaced to query.",
"themeSel": "Select theme", "themeSel": "Select theme",
"customtheme": "Edit and add custom themes", "customtheme": "Edit and add themes",
"customthemeDirection": "Color scheme", "customthemeDirection": "Color scheme",
"advanced": "Advanced options(6 additional colors)", "advanced": "Advanced options",
"advancedWarn": "Advanced options will be <i>null</i> if you set nothing, while basic 3 options will be white(<i>fff</i>). They(adv. options) will be reset if you saved with advanced panel closed.", "advancedWarn": "",
"active": "Background of Show or CW buttons, selected options...", "use": "Use this",
"modal": "Background of modals", "copyFrom": "Copy from",
"bottom": "Background of bottom bar", "bg": "Background color",
"postbox": "Background of post box and menu", "subcolor": "Distinguishable from background",
"subcolor": "Subcolor, has harmony with secondary color",
"primary": "Background color",
"secondarycolor": "Background of components",
"text": "Text color", "text": "Text color",
"accent": "Background of boosts", "accent": "Background of boosts",
"modal": "Background of modal window",
"modalFooter": "Background of modal window's footer",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)",
"forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window",
"emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu",
"active": "Background of 'active' elements",
"selected": "Background of selected with arrow keys",
"selectedWithShare": "Background of selected with arrow keys(boosted toots)",
"add_new": "Add new", "add_new": "Add new",
"name": "Name", "name": "Name",
"desc": "About this theme", "desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes", "customImport": "Import of custom themes",
"delete": "Delete", "delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences", "timeline": "Timeline Preferences",
"timemode": "Time format", "timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"", "relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -101,8 +107,8 @@
"or": "or", "or": "or",
"imgheight": "Height of images", "imgheight": "Height of images",
"imgheightwarn": "Option:Set \"full\" to uncrop.", "imgheightwarn": "Option:Set \"full\" to uncrop.",
"ticker": "Enable #InstanceTicker", "ticker": "Enable OpenSticker",
"tickerwarn": "Show colorful stickers about the server. <a href=\"https://github.com/MiyonMiyon/InstanceTicker_List\">About #InstanceTicker</a> (c)2018-2020 MiyonMiyon. Released under the MIT License.", "tickerwarn": "Show the instance name and favicon of tooters <a href=\"https://opensticker.0px.io\">About OpenSticker</a>",
"animation": "Animation of timelines", "animation": "Animation of timelines",
"markers": "Markers(mark as read) on HTL and notifications", "markers": "Markers(mark as read) on HTL and notifications",
"markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.", "markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.",
@@ -136,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)", "notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)", "apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button", "showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions", "main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.", "mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently", "lastacct": "Account you used recently",
@@ -150,6 +160,9 @@
"keysc": "Keyboard shortcut Preferences", "keysc": "Keyboard shortcut Preferences",
"iks": "Easy inserter", "iks": "Easy inserter",
"okswarn": "You can insert any letters and emojis with only 3 keys", "okswarn": "You can insert any letters and emojis with only 3 keys",
"plugin": "Plugins",
"howToWritePlugin": "Japanese docs of AiScript TheDesk plugins",
"pluginList": "Plugin list",
"muteemp": "Mute & Emphasis Preferences", "muteemp": "Mute & Emphasis Preferences",
"climute": "Client Mute", "climute": "Client Mute",
"cliemp": "Client Emphasis", "cliemp": "Client Emphasis",

View File

@@ -1,5 +1,7 @@
{ {
"draghere": "crwdns3058:0crwdne3058:0", "draghere": "crwdns3058:0crwdne3058:0",
"nowOffline": "crwdns4548:0crwdne4548:0",
"reOnline": "crwdns4550:0crwdne4550:0",
"close": "crwdns3060:0crwdne3060:0", "close": "crwdns3060:0crwdne3060:0",
"webSrc": "crwdns4451:0crwdne4451:0", "webSrc": "crwdns4451:0crwdne4451:0",
"tsSrc": "crwdns4453:0crwdne4453:0", "tsSrc": "crwdns4453:0crwdne4453:0",
@@ -45,6 +47,7 @@
"thingsEmoji": "crwdns3140:0crwdne3140:0", "thingsEmoji": "crwdns3140:0crwdne3140:0",
"symbolEmoji": "crwdns3142:0crwdne3142:0", "symbolEmoji": "crwdns3142:0crwdne3142:0",
"flagsEmoji": "crwdns3144:0crwdne3144:0", "flagsEmoji": "crwdns3144:0crwdne3144:0",
"draft": "crwdns4540:0crwdne4540:0",
"poll": "crwdns3146:0crwdne3146:0", "poll": "crwdns3146:0crwdne3146:0",
"pollDdisabled": "crwdns3148:0crwdne3148:0", "pollDdisabled": "crwdns3148:0crwdne3148:0",
"pollProvider": "crwdns3150:0crwdne3150:0", "pollProvider": "crwdns3150:0crwdne3150:0",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "crwdns3504:0crwdne3504:0", "lang_manager_godev": "crwdns3504:0crwdne3504:0",
"lang_manager_logout": "crwdns3506:0crwdne3506:0", "lang_manager_logout": "crwdns3506:0crwdne3506:0",
"lang_manager_maxChars": "crwdns4447:0crwdne4447:0", "lang_manager_maxChars": "crwdns4447:0crwdne4447:0",
"lang_manager_refreshAt": "crwdns4570:0crwdne4570:0",
"lang_bbmd_misskey": "crwdns3508:0crwdne3508:0", "lang_bbmd_misskey": "crwdns3508:0crwdne3508:0",
"lang_emoji_get": "crwdns3510:0crwdne3510:0", "lang_emoji_get": "crwdns3510:0crwdne3510:0",
"lang_emoji_custom": "crwdns3512:0crwdne3512:0", "lang_emoji_custom": "crwdns3512:0crwdne3512:0",
@@ -71,6 +72,7 @@
"lang_post_btn3": "crwdns3538:0crwdne3538:0", "lang_post_btn3": "crwdns3538:0crwdne3538:0",
"lang_post_unfinishedMedia": "crwdns4480:0crwdne4480:0", "lang_post_unfinishedMedia": "crwdns4480:0crwdne4480:0",
"lang_post_retry": "crwdns4482:0crwdne4482:0", "lang_post_retry": "crwdns4482:0crwdne4482:0",
"lang_post_offline": "crwdns4552:0crwdne4552:0",
"lang_status_favWarn": "crwdns3540:0crwdne3540:0", "lang_status_favWarn": "crwdns3540:0crwdne3540:0",
"lang_status_btWarn": "crwdns3542:0crwdne3542:0", "lang_status_btWarn": "crwdns3542:0crwdne3542:0",
"lang_status_follow": "crwdns3544:0crwdne3544:0", "lang_status_follow": "crwdns3544:0crwdne3544:0",
@@ -87,6 +89,9 @@
"lang_status_endorse": "crwdns3566:0crwdne3566:0", "lang_status_endorse": "crwdns3566:0crwdne3566:0",
"lang_status_followers": "crwdns3568:0crwdne3568:0", "lang_status_followers": "crwdns3568:0crwdne3568:0",
"lang_status_active": "crwdns3570:0crwdne3570:0", "lang_status_active": "crwdns3570:0crwdne3570:0",
"lang_secure_draft": "crwdns4542:0crwdne4542:0",
"lang_secure_useThis": "crwdns4544:0crwdne4544:0",
"lang_secure_deleteThis": "crwdns4546:0crwdne4546:0",
"lang_suggest_nodata": "crwdns3572:0crwdne3572:0", "lang_suggest_nodata": "crwdns3572:0crwdne3572:0",
"lang_usetxtbox_reply": "crwdns3574:0crwdne3574:0", "lang_usetxtbox_reply": "crwdns3574:0crwdne3574:0",
"lang_cards_check": "crwdns3576:0crwdne3576:0", "lang_cards_check": "crwdns3576:0crwdne3576:0",
@@ -136,7 +141,11 @@
"lang_layout_nodata": "crwdns3656:0crwdne3656:0", "lang_layout_nodata": "crwdns3656:0crwdne3656:0",
"lang_layout_dm": "crwdns3658:0crwdne3658:0", "lang_layout_dm": "crwdns3658:0crwdne3658:0",
"lang_layout_webviewmode": "crwdns3660:0crwdne3660:0", "lang_layout_webviewmode": "crwdns3660:0crwdne3660:0",
"lang_excluded": "crwdns3662:0crwdne3662:0", "lang_layout_excluded": "crwdns4508:0crwdne4508:0",
"lang_layout_mention": "crwdns4510:0crwdne4510:0",
"lang_layout_fav": "crwdns4512:0crwdne4512:0",
"lang_layout_bt": "crwdns4514:0crwdne4514:0",
"lang_layout_poll": "crwdns4516:0crwdne4516:0",
"lang_layout_excludingbt": "crwdns3664:0crwdne3664:0", "lang_layout_excludingbt": "crwdns3664:0crwdne3664:0",
"lang_layout_leftFold": "crwdns3666:0crwdne3666:0", "lang_layout_leftFold": "crwdns3666:0crwdne3666:0",
"lang_layout_leftUnfold": "crwdns3668:0crwdne3668:0", "lang_layout_leftUnfold": "crwdns3668:0crwdne3668:0",
@@ -145,6 +154,7 @@
"lang_layout_unread": "crwdns3674:0crwdne3674:0", "lang_layout_unread": "crwdns3674:0crwdne3674:0",
"lang_layout_tagManager": "crwdns4411:0crwdne4411:0", "lang_layout_tagManager": "crwdns4411:0crwdne4411:0",
"lang_layout_announ": "crwdns4449:0crwdne4449:0", "lang_layout_announ": "crwdns4449:0crwdne4449:0",
"lang_layout_resetWidth": "crwdns4560:0crwdne4560:0",
"lang_sort_gothis": "crwdns3676:0crwdne3676:0", "lang_sort_gothis": "crwdns3676:0crwdne3676:0",
"lang_sort_remthis": "crwdns3678:0crwdne3678:0", "lang_sort_remthis": "crwdns3678:0crwdne3678:0",
"lang_spotify_img": "crwdns3680:0crwdne3680:0", "lang_spotify_img": "crwdns3680:0crwdne3680:0",
@@ -222,6 +232,7 @@
"lang_parse_html": "crwdns4388:0crwdne4388:0", "lang_parse_html": "crwdns4388:0crwdne4388:0",
"lang_parse_notffilter": "crwdns3802:0crwdne3802:0", "lang_parse_notffilter": "crwdns3802:0crwdne3802:0",
"lang_parse_hidden": "crwdns4498:0crwdne4498:0", "lang_parse_hidden": "crwdns4498:0crwdne4498:0",
"lang_parse_disconnected": "crwdns4538:0crwdne4538:0",
"lang_misskeyparse_renote": "crwdns3804:0crwdne3804:0", "lang_misskeyparse_renote": "crwdns3804:0crwdne3804:0",
"lang_misskeyparse_renoteqt": "crwdns3806:0crwdne3806:0", "lang_misskeyparse_renoteqt": "crwdns3806:0crwdne3806:0",
"lang_misskeyparse_reaction": "crwdns3808:0crwdne3808:0", "lang_misskeyparse_reaction": "crwdns3808:0crwdne3808:0",
@@ -236,6 +247,7 @@
"lang_misskeyparse_reacted": "crwdns3826:0crwdne3826:0", "lang_misskeyparse_reacted": "crwdns3826:0crwdne3826:0",
"lang_setting_time": "crwdns3828:0{{set}}crwdne3828:0", "lang_setting_time": "crwdns3828:0{{set}}crwdne3828:0",
"lang_setting_theme": "crwdns3830:0{{set}}crwdne3830:0", "lang_setting_theme": "crwdns3830:0{{set}}crwdne3830:0",
"lang_setting_compat": "crwdns4518:0crwdne4518:0",
"lang_setting_nsfw": "crwdns3832:0{{set}}crwdne3832:0", "lang_setting_nsfw": "crwdns3832:0{{set}}crwdne3832:0",
"lang_setting_cw": "crwdns3834:0{{set}}crwdne3834:0", "lang_setting_cw": "crwdns3834:0{{set}}crwdne3834:0",
"lang_setting_cwtext": "crwdns3836:0{{set}}crwdne3836:0", "lang_setting_cwtext": "crwdns3836:0{{set}}crwdne3836:0",

View File

@@ -24,10 +24,11 @@
"nativenotf": "crwdns3946:0crwdne3946:0", "nativenotf": "crwdns3946:0crwdne3946:0",
"nnwarn": "crwdns3948:0crwdne3948:0", "nnwarn": "crwdns3948:0crwdne3948:0",
"nntest": "crwdns3950:0crwdne3950:0", "nntest": "crwdns3950:0crwdne3950:0",
"minwidth": "crwdns3952:0crwdne3952:0", "width": "crwdns4502:0crwdne4502:0",
"minwidthwarn": "crwdns3954:0crwdne3954:0", "widthwarn": "crwdns4504:0crwdne4504:0",
"fixwidth": "crwdns3956:0crwdne3956:0", "fixwidth": "crwdns3956:0crwdne3956:0",
"fixwidthwarn": "crwdns3958:0crwdne3958:0", "fixwidthwarn": "crwdns3958:0crwdne3958:0",
"margin": "crwdns4506:0crwdne4506:0",
"above": "crwdns3960:0crwdne3960:0", "above": "crwdns3960:0crwdne3960:0",
"font": "crwdns3962:0crwdne3962:0", "font": "crwdns3962:0crwdne3962:0",
"fontwarn": "crwdns4360:0crwdne4360:0", "fontwarn": "crwdns4360:0crwdne4360:0",
@@ -47,22 +48,27 @@
"customthemeDirection": "crwdns3978:0crwdne3978:0", "customthemeDirection": "crwdns3978:0crwdne3978:0",
"advanced": "crwdns4326:0crwdne4326:0", "advanced": "crwdns4326:0crwdne4326:0",
"advancedWarn": "crwdns4328:0crwdne4328:0", "advancedWarn": "crwdns4328:0crwdne4328:0",
"active": "crwdns4330:0crwdne4330:0", "use": "crwdns4520:0crwdne4520:0",
"modal": "crwdns4332:0crwdne4332:0", "copyFrom": "crwdns4522:0crwdne4522:0",
"bottom": "crwdns4334:0crwdne4334:0", "bg": "crwdns4524:0crwdne4524:0",
"postbox": "crwdns4336:0crwdne4336:0",
"subcolor": "crwdns4338:0crwdne4338:0", "subcolor": "crwdns4338:0crwdne4338:0",
"primary": "crwdns3980:0crwdne3980:0",
"secondarycolor": "crwdns3982:0crwdne3982:0",
"text": "crwdns3984:0crwdne3984:0", "text": "crwdns3984:0crwdne3984:0",
"accent": "crwdns3986:0crwdne3986:0", "accent": "crwdns3986:0crwdne3986:0",
"modal": "crwdns4332:0crwdne4332:0",
"modalFooter": "crwdns4526:0crwdne4526:0",
"thirdColor": "crwdns4528:0crwdne4528:0",
"forthColor": "crwdns4530:0crwdne4530:0",
"bottom": "crwdns4334:0crwdne4334:0",
"emphasized": "crwdns4532:0crwdne4532:0",
"postbox": "crwdns4336:0crwdne4336:0",
"active": "crwdns4330:0crwdne4330:0",
"selected": "crwdns4534:0crwdne4534:0",
"selectedWithShare": "crwdns4536:0crwdne4536:0",
"add_new": "crwdns3988:0crwdne3988:0", "add_new": "crwdns3988:0crwdne3988:0",
"name": "crwdns3990:0crwdne3990:0", "name": "crwdns3990:0crwdne3990:0",
"desc": "crwdns3992:0crwdne3992:0", "desc": "crwdns3992:0crwdne3992:0",
"customShare": "crwdns3994:0crwdne3994:0",
"customImport": "crwdns3996:0crwdne3996:0", "customImport": "crwdns3996:0crwdne3996:0",
"delete": "crwdns3998:0crwdne3998:0", "delete": "crwdns3998:0crwdne3998:0",
"cImpWarn": "crwdns4000:0crwdne4000:0",
"timeline": "crwdns4002:0crwdne4002:0", "timeline": "crwdns4002:0crwdne4002:0",
"timemode": "crwdns4004:0crwdne4004:0", "timemode": "crwdns4004:0crwdne4004:0",
"relativetime": "crwdns4006:0crwdne4006:0", "relativetime": "crwdns4006:0crwdne4006:0",
@@ -136,6 +142,10 @@
"notqt": "crwdns4138:0crwdne4138:0", "notqt": "crwdns4138:0crwdne4138:0",
"apiQuote": "crwdns4140:0crwdne4140:0", "apiQuote": "crwdns4140:0crwdne4140:0",
"showBookmarkAction": "crwdns4404:0crwdne4404:0", "showBookmarkAction": "crwdns4404:0crwdne4404:0",
"scrollBar": "crwdns4562:0crwdne4562:0",
"thin": "crwdns4564:0crwdne4564:0",
"normal": "crwdns4566:0crwdne4566:0",
"thick": "crwdns4568:0crwdne4568:0",
"main": "crwdns4142:0crwdne4142:0", "main": "crwdns4142:0crwdne4142:0",
"mainwarn": "crwdns4144:0crwdne4144:0", "mainwarn": "crwdns4144:0crwdne4144:0",
"lastacct": "crwdns4146:0crwdne4146:0", "lastacct": "crwdns4146:0crwdne4146:0",
@@ -150,6 +160,9 @@
"keysc": "crwdns4160:0crwdne4160:0", "keysc": "crwdns4160:0crwdne4160:0",
"iks": "crwdns4162:0crwdne4162:0", "iks": "crwdns4162:0crwdne4162:0",
"okswarn": "crwdns4164:0crwdne4164:0", "okswarn": "crwdns4164:0crwdne4164:0",
"plugin": "crwdns4554:0crwdne4554:0",
"howToWritePlugin": "crwdns4556:0crwdne4556:0",
"pluginList": "crwdns4558:0crwdne4558:0",
"muteemp": "crwdns4166:0crwdne4166:0", "muteemp": "crwdns4166:0crwdne4166:0",
"climute": "crwdns4168:0crwdne4168:0", "climute": "crwdns4168:0crwdne4168:0",
"cliemp": "crwdns4170:0crwdne4170:0", "cliemp": "crwdns4170:0crwdne4170:0",

View File

@@ -1,5 +1,7 @@
{ {
"draghere":"Drag here to upload", "draghere":"Drag here to upload",
"nowOffline":"OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet",
"reOnline":"Now we are in the Internet, you should reload...",
"close":"Close", "close":"Close",
"webSrc": "Search on Web", "webSrc": "Search on Web",
"tsSrc": "Search on tootsearch", "tsSrc": "Search on tootsearch",
@@ -45,6 +47,7 @@
"thingsEmoji":"Emojis of tools", "thingsEmoji":"Emojis of tools",
"symbolEmoji":"Emojis of symbols", "symbolEmoji":"Emojis of symbols",
"flagsEmoji":"Emojis of flags", "flagsEmoji":"Emojis of flags",
"draft": "Draft",
"poll":"Poll", "poll":"Poll",
"pollDdisabled":"Polls: Disabled", "pollDdisabled":"Polls: Disabled",
"pollProvider":"Provider of Poll", "pollProvider":"Provider of Poll",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.", "lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout", "lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots", "lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.", "lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis", "lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis", "lang_emoji_custom": "Custom emojis",
@@ -71,6 +72,7 @@
"lang_post_btn3": "Continue to post", "lang_post_btn3": "Continue to post",
"lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.", "lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.",
"lang_post_retry": "Retry", "lang_post_retry": "Retry",
"lang_post_offline": "Add to the drafts because of offline",
"lang_status_favWarn": "It will take a miunte to favourite a remote toot.", "lang_status_favWarn": "It will take a miunte to favourite a remote toot.",
"lang_status_btWarn": "It will take a miunte to boost a remote toot.", "lang_status_btWarn": "It will take a miunte to boost a remote toot.",
"lang_status_follow": "Follow", "lang_status_follow": "Follow",
@@ -87,6 +89,9 @@
"lang_status_endorse": "Feature on profile", "lang_status_endorse": "Feature on profile",
"lang_status_followers": "Followers", "lang_status_followers": "Followers",
"lang_status_active": "Last status", "lang_status_active": "Last status",
"lang_secure_draft": "Add to draft",
"lang_secure_useThis": "Use this",
"lang_secure_deleteThis": "Delete this",
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.", "lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.", "lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check", "lang_cards_check": " check",
@@ -149,6 +154,7 @@
"lang_layout_unread": "Unread", "lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager", "lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.", "lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column", "lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column", "lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork", "lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new", "add_new": "Add new",
"name": "Name", "name": "Name",
"desc": "About this theme", "desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes", "customImport": "Import of custom themes",
"delete": "Delete", "delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences", "timeline": "Timeline Preferences",
"timemode": "Time format", "timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"", "relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)", "notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)", "apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button", "showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions", "main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.", "mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently", "lastacct": "Account you used recently",
@@ -158,6 +160,9 @@
"keysc": "Keyboard shortcut Preferences", "keysc": "Keyboard shortcut Preferences",
"iks": "Easy inserter", "iks": "Easy inserter",
"okswarn": "You can insert any letters and emojis with only 3 keys", "okswarn": "You can insert any letters and emojis with only 3 keys",
"plugin": "Plugins",
"howToWritePlugin": "Japanese docs of AiScript TheDesk plugins",
"pluginList": "Plugin list",
"muteemp": "Mute & Emphasis Preferences", "muteemp": "Mute & Emphasis Preferences",
"climute": "Client Mute", "climute": "Client Mute",
"cliemp": "Client Emphasis", "cliemp": "Client Emphasis",

View File

@@ -2,7 +2,7 @@
"list": "Lista de cuentas", "list": "Lista de cuentas",
"back": "Volver", "back": "Volver",
"add": "Agregar una cuenta", "add": "Agregar una cuenta",
"addAcct": "Fill the instance domain (like mastodon.social)", "addAcct": "Ingresá el dominio de la instancia (ej. mastodon.social)",
"codesetupwarn": "No seleccionar para saltar el pegado de código (iniciá sesión de Mastodon en Windows o macOS) (Recomendado: pcheck)", "codesetupwarn": "No seleccionar para saltar el pegado de código (iniciá sesión de Mastodon en Windows o macOS) (Recomendado: pcheck)",
"codesetup": "Configuración de código", "codesetup": "Configuración de código",
"mainacct": "Establecer una cuenta", "mainacct": "Establecer una cuenta",
@@ -20,6 +20,6 @@
"thisismisskey": "Iniciar sesión con Misskey", "thisismisskey": "Iniciar sesión con Misskey",
"misskeylogin": "Leé <a href=\"https://docs.thedesk.top/\">la documentación (en japonés)</a> para usar Misskey.", "misskeylogin": "Leé <a href=\"https://docs.thedesk.top/\">la documentación (en japonés)</a> para usar Misskey.",
"nodata": "Sin datos", "nodata": "Sin datos",
"accessTokenSetup": "Use access token to login(click after fill not code but access-token in box: Advanced)", "accessTokenSetup": "Usar token de acceso para iniciar sesión (hacer clic después de completar no el código sino el token de acceso en la casilla: Avanzado)",
"haveExported": "Having the exported file of TheDesk, click here to jump setting page" "haveExported": "Teniendo el archivo exportado de TheDesk, hacé clic acá para ir a la página de opciones"
} }

View File

@@ -1,8 +1,10 @@
{ {
"draghere": "Arrastrá y soltá acá para subir", "draghere": "Arrastrá y soltá acá para subir",
"nowOffline": "OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet",
"reOnline": "Now we are in the Internet, you should reload...",
"close": "Cerrar", "close": "Cerrar",
"webSrc": "Search on Web", "webSrc": "Buscar en la Web",
"tsSrc": "Search on tootsearch", "tsSrc": "Buscar en tootsearch",
"showSelectProf": "Mostrar perfil de la cuenta seleccionada", "showSelectProf": "Mostrar perfil de la cuenta seleccionada",
"closethisbox": "Cerrar esta caja", "closethisbox": "Cerrar esta caja",
"toot": "Tootear", "toot": "Tootear",
@@ -45,6 +47,7 @@
"thingsEmoji": "Herramientas", "thingsEmoji": "Herramientas",
"symbolEmoji": "Símbolos", "symbolEmoji": "Símbolos",
"flagsEmoji": "Banderas", "flagsEmoji": "Banderas",
"draft": "Draft",
"poll": "Encuesta", "poll": "Encuesta",
"pollDdisabled": "Encuestas: deshabilitadas", "pollDdisabled": "Encuestas: deshabilitadas",
"pollProvider": "Proveedor de encuesta", "pollProvider": "Proveedor de encuesta",
@@ -75,7 +78,7 @@
"toots": "Toots", "toots": "Toots",
"follow": "Seguir", "follow": "Seguir",
"follower": "Seguidor", "follower": "Seguidor",
"utlColumn": "Show as a column", "utlColumn": "Mostrar como columna",
"timeline": "Línea temporal", "timeline": "Línea temporal",
"operateOtherAcct": "Cuenta cruzada", "operateOtherAcct": "Cuenta cruzada",
"list": "Enlistar", "list": "Enlistar",
@@ -130,7 +133,7 @@
"notf": "Notificaciones", "notf": "Notificaciones",
"bookmark": "Marcadores", "bookmark": "Marcadores",
"showThisTL": "Mostrar esta línea temporal:", "showThisTL": "Mostrar esta línea temporal:",
"webviewWarn": "TweetDeck con TJDeck personalizado (<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Código</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Los atajos de teclado te irritarán. Cuando lo sientas, revisá \"Preferir WebView\" en la parte superior de la columna.", "webviewWarn": "TweetDeck con TJDeck personalizado (<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Código</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Los atajos de teclado te irritarán. Cuando lo sientas, revisá 'Preferir WebView' en la parte superior de la columna.",
"add": "Agregar", "add": "Agregar",
"search": "Buscar", "search": "Buscar",
"sortSet": "Ordenar", "sortSet": "Ordenar",
@@ -139,7 +142,7 @@
"filterWord": "Palabras filtradas", "filterWord": "Palabras filtradas",
"degree": "Filtrar contextos", "degree": "Filtrar contextos",
"conver": "Conversaciones", "conver": "Conversaciones",
"prof": "Profiles", "prof": "Perfiles",
"option": "Configuración", "option": "Configuración",
"matchWord": "Palabra completa", "matchWord": "Palabra completa",
"warnMatchWord": "Útil para lenguas romances", "warnMatchWord": "Útil para lenguas romances",
@@ -178,11 +181,11 @@
"active": "Recientemente activo", "active": "Recientemente activo",
"newcomer": "Recién llegados", "newcomer": "Recién llegados",
"local_only": "Sólo local", "local_only": "Sólo local",
"menu": "Menu", "menu": "Menú",
"demoBottomBtns": "Guía de bienvenida", "demoBottomBtns": "Guía de bienvenida",
"lookAtBottom": "Mirá en la parte inferior de esta ventana. Acá tenés algunas sugerencias.", "lookAtBottom": "Mirá en la parte inferior de esta ventana. Acá tenés algunas sugerencias.",
"acctManDesc": "Agregá más cuentas y administralas.", "acctManDesc": "Agregá más cuentas y administralas.",
"settingDesc": "Muchas configuraciones. ¡No vas a poder con todas!", "settingDesc": "Muchas configuraciones. ¡No vas a poder con todas!",
"nanoDescPlus": "Miniventana (experimental)", "nanoDescPlus": "Miniventana (experimental)",
"menuDesc": "All daily TheDesk and Mastodon tuning like <b>add and sort columns</b>, <b>list and filter check</b>." "menuDesc": "Toda la configuración diaria de TheDesk y Mastodon, como <b>agregar y ordenar columnas</b> y <b>revisión de listas y filtros</b>."
} }

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Abrí DevCenter de Misskey. También mostramos documentos oficiales como referencia.", "lang_manager_godev": "Abrí DevCenter de Misskey. También mostramos documentos oficiales como referencia.",
"lang_manager_logout": "Cerrar sesión", "lang_manager_logout": "Cerrar sesión",
"lang_manager_maxChars": "Máx. de caracteres para toots", "lang_manager_maxChars": "Máx. de caracteres para toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk considera \"@\" como respuesta, pero podés poner otro parámetro. \"No listado\" en Mastodon significa \"Principal\" en Misskey.", "lang_bbmd_misskey": "TheDesk considera \"@\" como respuesta, pero podés poner otro parámetro. \"No listado\" en Mastodon significa \"Principal\" en Misskey.",
"lang_emoji_get": "Obtené emojis", "lang_emoji_get": "Obtené emojis",
"lang_emoji_custom": "Emojis personalizados", "lang_emoji_custom": "Emojis personalizados",
@@ -60,8 +61,8 @@
"lang_postimg_delete": "Hacé clic para agregar descripción, o clic secundario para eliminar esto", "lang_postimg_delete": "Hacé clic para agregar descripción, o clic secundario para eliminar esto",
"lang_postimg_desc": "Descripción", "lang_postimg_desc": "Descripción",
"lang_postimg_leadContext": "hacé clic secundario sobre la miniatura para eliminar esto", "lang_postimg_leadContext": "hacé clic secundario sobre la miniatura para eliminar esto",
"lang_post_syncDetail": "Upload media synchronously", "lang_post_syncDetail": "Subir multimedia sincrónicamente",
"lang_post_syncDetailText": "Click each picture icon to get the thumbnail. If you can get, the media you uploaded are completely processed.", "lang_post_syncDetailText": "Hacé clic en cada ícono de la imagen para obtener la miniatura. Si podés obtenerla, el archivo multimedia que subiste se procesó completamente.",
"lang_post_tagTL": "Este toot no contiene una etiqueta predeterminada. Este toot no se mostrará en la línea temporal local. ¿Querés continuar?", "lang_post_tagTL": "Este toot no contiene una etiqueta predeterminada. Este toot no se mostrará en la línea temporal local. ¿Querés continuar?",
"lang_post_tagVis": "Este toot (toot no público) no se muestra en la línea temporal de esta etiqueta.", "lang_post_tagVis": "Este toot (toot no público) no se muestra en la línea temporal de esta etiqueta.",
"lang_post_cwtitle": "Alerta automática de Advertencia de contenido", "lang_post_cwtitle": "Alerta automática de Advertencia de contenido",
@@ -69,8 +70,9 @@
"lang_post_btn1": "Cancelar (no se enviará)", "lang_post_btn1": "Cancelar (no se enviará)",
"lang_post_btn2": "Crear el texto oculto automáticamente", "lang_post_btn2": "Crear el texto oculto automáticamente",
"lang_post_btn3": "Continuar con el envío", "lang_post_btn3": "Continuar con el envío",
"lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.", "lang_post_unfinishedMedia": "El servidor no ha terminado de procesar tu archivo. Volvé a intentarlo.",
"lang_post_retry": "Retry", "lang_post_retry": "Reintentar",
"lang_post_offline": "Add to the drafts because of offline",
"lang_status_favWarn": "Llevará un minuto marcar un toot remoto como favorito.", "lang_status_favWarn": "Llevará un minuto marcar un toot remoto como favorito.",
"lang_status_btWarn": "Llevará un minuto retootear un toot remoto.", "lang_status_btWarn": "Llevará un minuto retootear un toot remoto.",
"lang_status_follow": "Seguir", "lang_status_follow": "Seguir",
@@ -87,6 +89,9 @@
"lang_status_endorse": "Destacado en el perfil", "lang_status_endorse": "Destacado en el perfil",
"lang_status_followers": "Seguidores", "lang_status_followers": "Seguidores",
"lang_status_active": "Último estado", "lang_status_active": "Último estado",
"lang_secure_draft": "Add to draft",
"lang_secure_useThis": "Use this",
"lang_secure_deleteThis": "Eliminar este toot",
"lang_suggest_nodata": "Por favor, obtené la lista de emojis para mostrar sugerencias.", "lang_suggest_nodata": "Por favor, obtené la lista de emojis para mostrar sugerencias.",
"lang_usetxtbox_reply": "Modo de respuesta. \"Ctrl\" + \"Mayús\" + \"C\" para limpiar.", "lang_usetxtbox_reply": "Modo de respuesta. \"Ctrl\" + \"Mayús\" + \"C\" para limpiar.",
"lang_cards_check": " comprobado", "lang_cards_check": " comprobado",
@@ -127,7 +132,7 @@
"lang_layout_delthis": "Quitar esta columna", "lang_layout_delthis": "Quitar esta columna",
"lang_layout_setthis": "Configuración de esta columna", "lang_layout_setthis": "Configuración de esta columna",
"lang_layout_mediafil": "Filtro de medio", "lang_layout_mediafil": "Filtro de medio",
"lang_layout_remoteOnly": "Remote only", "lang_layout_remoteOnly": "Solo remoto",
"lang_layout_linkana": "Analizador automático de enlace", "lang_layout_linkana": "Analizador automático de enlace",
"lang_layout_linkanades": "Analizador automático de enlace", "lang_layout_linkanades": "Analizador automático de enlace",
"lang_layout_tts": "Texto hablado ", "lang_layout_tts": "Texto hablado ",
@@ -136,7 +141,11 @@
"lang_layout_nodata": "[Sin datos]<br>F5/⌘+R para refrescar", "lang_layout_nodata": "[Sin datos]<br>F5/⌘+R para refrescar",
"lang_layout_dm": "Mensaje directo", "lang_layout_dm": "Mensaje directo",
"lang_layout_webviewmode": "Preferir WebView", "lang_layout_webviewmode": "Preferir WebView",
"lang_excluded": "Tipo de notificación excluida", "lang_layout_excluded": "Excluded type of notification",
"lang_layout_mention": "Mentions",
"lang_layout_fav": "Favourites",
"lang_layout_bt": "Boosts",
"lang_layout_poll": "Polls",
"lang_layout_excludingbt": "Mostrar modo de retoot (DESACTIVADO / Excluir retoots / Sólo retoots)", "lang_layout_excludingbt": "Mostrar modo de retoot (DESACTIVADO / Excluir retoots / Sólo retoots)",
"lang_layout_leftFold": "Pegar a la izquierda", "lang_layout_leftFold": "Pegar a la izquierda",
"lang_layout_leftUnfold": "Colocar en la derecha", "lang_layout_leftUnfold": "Colocar en la derecha",
@@ -144,7 +153,8 @@
"lang_layout_deleteColumnDesc": "Eliminar esta columna", "lang_layout_deleteColumnDesc": "Eliminar esta columna",
"lang_layout_unread": "Sin leer", "lang_layout_unread": "Sin leer",
"lang_layout_tagManager": "Administrador de etiqueta de línea temporal", "lang_layout_tagManager": "Administrador de etiqueta de línea temporal",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.", "lang_layout_announ": "Anuncio: el contador es el número de tus anuncios no leídos. Si no se muestra, significa que todos los anuncios están marcados como leídos.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Ir a esta columna", "lang_sort_gothis": "Ir a esta columna",
"lang_sort_remthis": "Eliminar esta columna", "lang_sort_remthis": "Eliminar esta columna",
"lang_spotify_img": "Adjuntar la tapa del álbum", "lang_spotify_img": "Adjuntar la tapa del álbum",
@@ -166,7 +176,7 @@
"lang_showontl_domain": "Dominio ", "lang_showontl_domain": "Dominio ",
"lang_showontl_listwarn": "Seguí a este usuario para agregarlo a las listas.", "lang_showontl_listwarn": "Seguí a este usuario para agregarlo a las listas.",
"lang_showontl_verified": "Este sitio web está verificado por su propietario en ", "lang_showontl_verified": "Este sitio web está verificado por su propietario en ",
"lang_status_requesting": "Requesting", "lang_status_requesting": "Solicitando",
"lang_parse_mentioned": " te respondió", "lang_parse_mentioned": " te respondió",
"lang_parse_faved": " marcó tu toot como favorito", "lang_parse_faved": " marcó tu toot como favorito",
"lang_parse_bted": " retooteó tu toot", "lang_parse_bted": " retooteó tu toot",
@@ -174,7 +184,7 @@
"lang_parse_polled": " hizo una encuesta", "lang_parse_polled": " hizo una encuesta",
"lang_parse_notftime": "Enviado el", "lang_parse_notftime": "Enviado el",
"lang_parse_cwshow": "Mostrar", "lang_parse_cwshow": "Mostrar",
"lang_parse_cwshow_acc": "This is a post with content warning. click to show the whole content", "lang_parse_cwshow_acc": "Esta es una publicación con advertencia de contenido. Hacé clic para mostrar todo el contenido",
"lang_parse_fulltext": "Tamaño de texto:", "lang_parse_fulltext": "Tamaño de texto:",
"lang_parse_autofold": "Colapsado automáticamente", "lang_parse_autofold": "Colapsado automáticamente",
"lang_parse_more": "Más", "lang_parse_more": "Más",
@@ -221,7 +231,8 @@
"lang_parse_nsfw": "medios sensibles", "lang_parse_nsfw": "medios sensibles",
"lang_parse_html": "Mostrar HTML insertado", "lang_parse_html": "Mostrar HTML insertado",
"lang_parse_notffilter": "Mostrar notificaciones de este usuario", "lang_parse_notffilter": "Mostrar notificaciones de este usuario",
"lang_parse_hidden": "Unvisible quoted toot", "lang_parse_hidden": "Toot citado no visible",
"lang_parse_disconnected": "Streaming has been disconnected(retry after 3s)",
"lang_misskeyparse_renote": "Republicar", "lang_misskeyparse_renote": "Republicar",
"lang_misskeyparse_renoteqt": "Renovar", "lang_misskeyparse_renoteqt": "Renovar",
"lang_misskeyparse_reaction": "Reacción", "lang_misskeyparse_reaction": "Reacción",
@@ -236,6 +247,7 @@
"lang_misskeyparse_reacted": " reaccionó a tu siguiente entrada.", "lang_misskeyparse_reacted": " reaccionó a tu siguiente entrada.",
"lang_setting_time": "Formato de tiempo: {{set}}", "lang_setting_time": "Formato de tiempo: {{set}}",
"lang_setting_theme": "Tema: {{set}}", "lang_setting_theme": "Tema: {{set}}",
"lang_setting_compat": "Compatible",
"lang_setting_nsfw": "Medios sensibles: {{set}}", "lang_setting_nsfw": "Medios sensibles: {{set}}",
"lang_setting_cw": "Advertencia de contenido: {{set}}", "lang_setting_cw": "Advertencia de contenido: {{set}}",
"lang_setting_cwtext": "Texto predeterminado de advertencia de contenido: {{set}}", "lang_setting_cwtext": "Texto predeterminado de advertencia de contenido: {{set}}",

View File

@@ -5,7 +5,7 @@
"no": "No", "no": "No",
"none": "Ninguno", "none": "Ninguno",
"show": "Mostrar", "show": "Mostrar",
"hide": "Hide", "hide": "Ocultar",
"default": "Predeterminado", "default": "Predeterminado",
"change": "Cambiar", "change": "Cambiar",
"select": "Seleccionar", "select": "Seleccionar",
@@ -24,10 +24,11 @@
"nativenotf": "Notificación nativa", "nativenotf": "Notificación nativa",
"nnwarn": "Esto no funciona en la compilación portátil para Windows.", "nnwarn": "Esto no funciona en la compilación portátil para Windows.",
"nntest": "Prueba de notificación", "nntest": "Prueba de notificación",
"minwidth": "Ancho mínimo de las columnas", "width": "Width of columns",
"minwidthwarn": "La barra de desplazamiento se mostrará cuando el tamaño de la ventana sea mayor que el de las columnas.", "widthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
"fixwidth": "Ancho mínimo del explorador de TweetDeck", "fixwidth": "Ancho mínimo del explorador de TweetDeck",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines",
"above": "por encima", "above": "por encima",
"font": "Tipografía", "font": "Tipografía",
"fontwarn": "Seleccioná tu tipografía favorita (sólo para Windows y macOS)", "fontwarn": "Seleccioná tu tipografía favorita (sólo para Windows y macOS)",
@@ -36,33 +37,38 @@
"savefolderwarn": "TheDesk usa esta configuración para guardar imágenes en general y capturas de pantallas.", "savefolderwarn": "TheDesk usa esta configuración para guardar imágenes en general y capturas de pantallas.",
"useragent": "Cadena de agente de usuario", "useragent": "Cadena de agente de usuario",
"useragentWarn": "Reiniciar cuando se cambie", "useragentWarn": "Reiniciar cuando se cambie",
"frame": "Window frame", "frame": "Marco de ventana",
"frameWarn": "If 'off', the window looks cool.", "frameWarn": "Si está 'desactivado', la ventana se ve piola.",
"downloadWin": "Versioning(o Windows downloader)", "downloadWin": "Versión (o Descargador de Windows)",
"absolute": "valor absoluto", "absolute": "valor absoluto",
"srcUrl": "Search engine", "srcUrl": "Motor de búsqueda",
"srcUrlWarn": "{q} will be replaced to query.", "srcUrlWarn": "{q} será reemplazado a la consulta.",
"themeSel": "Seleccionar tema", "themeSel": "Seleccionar tema",
"customtheme": "Editar y agregar temas personalizados", "customtheme": "Editar y agregar temas personalizados",
"customthemeDirection": "Esquema de colores", "customthemeDirection": "Esquema de colores",
"advanced": "Configuración avanzada (6 colores adicionales)", "advanced": "Configuración avanzada (6 colores adicionales)",
"advancedWarn": "La configuración avanzada será <i>nula</i> si no establecés nada, mientras que la configuración básica será blanca (<i>fff</i>). La configuración avanzada será restablecida si se guarda con el panel cerrado.", "advancedWarn": "La configuración avanzada será <i>nula</i> si no establecés nada, mientras que la configuración básica será blanca (<i>fff</i>). La configuración avanzada será restablecida si se guarda con el panel cerrado.",
"active": "Fondo, botones de advertencia de contenido…", "use": "Use this",
"modal": "Fondo de modos", "copyFrom": "Copy from",
"bottom": "Fondo de barra inferior", "bg": "Background color",
"postbox": "Fondo de caja de publicación y menú",
"subcolor": "Subcolor, en armonía con el color secundario", "subcolor": "Subcolor, en armonía con el color secundario",
"primary": "Color de fondo",
"secondarycolor": "Fondo de componentes",
"text": "Color del texto", "text": "Color del texto",
"accent": "Fondo de retoots", "accent": "Fondo de retoots",
"modal": "Fondo de modos",
"modalFooter": "Background of modal window's footer",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)",
"forthColor": "Title bar(same scheme to Background)",
"bottom": "Fondo de barra inferior",
"emphasized": "Emphasized toot's background",
"postbox": "Fondo de caja de publicación y menú",
"active": "Fondo, botones de advertencia de contenido…",
"selected": "Background of selected with arrow keys",
"selectedWithShare": "Background of selected with arrow keys(boosted toots)",
"add_new": "Agregar nuevo", "add_new": "Agregar nuevo",
"name": "Nombre", "name": "Nombre",
"desc": "Acerca de este tema", "desc": "Acerca de este tema",
"customShare": "Compartí este código con otros usuarios de TheDesk. No se comparte este código en MiAS.",
"customImport": "Importación de temas personalizados", "customImport": "Importación de temas personalizados",
"delete": "Eliminar", "delete": "Eliminar",
"cImpWarn": "Obtené más temas en<a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Configuración de la línea temporal", "timeline": "Configuración de la línea temporal",
"timemode": "Formato del tiempo", "timemode": "Formato del tiempo",
"relativetime": "Formato relativo: \"hace 1 minuto\", \"hace 3 días\"", "relativetime": "Formato relativo: \"hace 1 minuto\", \"hace 3 días\"",
@@ -136,6 +142,10 @@
"notqt": "Deshabilitado (ocultar botones en las líneas temporales)", "notqt": "Deshabilitado (ocultar botones en las líneas temporales)",
"apiQuote": "API (sólo algunas instancias)", "apiQuote": "API (sólo algunas instancias)",
"showBookmarkAction": "Mostrar un botón de marcador", "showBookmarkAction": "Mostrar un botón de marcador",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Acciones de cuenta predeterminada", "main": "Acciones de cuenta predeterminada",
"mainwarn": "Se puede establecer la cuenta predeterminada en el Administrador de cuentas.", "mainwarn": "Se puede establecer la cuenta predeterminada en el Administrador de cuentas.",
"lastacct": "Cuenta usada recientemente", "lastacct": "Cuenta usada recientemente",
@@ -150,6 +160,9 @@
"keysc": "Configuración de atajos del teclado", "keysc": "Configuración de atajos del teclado",
"iks": "Inserción fácil", "iks": "Inserción fácil",
"okswarn": "Podés insertar cualquier letra y emoji con sólo 3 teclas", "okswarn": "Podés insertar cualquier letra y emoji con sólo 3 teclas",
"plugin": "Plugins",
"howToWritePlugin": "Japanese docs of AiScript TheDesk plugins",
"pluginList": "Plugin list",
"muteemp": "Configuración de silenciado y resaltado", "muteemp": "Configuración de silenciado y resaltado",
"climute": "Silenciado de usuario", "climute": "Silenciado de usuario",
"cliemp": "Resaltado de usuario", "cliemp": "Resaltado de usuario",
@@ -167,15 +180,15 @@
"linkwarn": "TheDesk guarda tus datos en el servidor thedesk.top.", "linkwarn": "TheDesk guarda tus datos en el servidor thedesk.top.",
"connect": "Conectar", "connect": "Conectar",
"disconnect": "Desconectar", "disconnect": "Desconectar",
"lastFmWarn": "User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.", "lastFmWarn": "Nombre de usuario...(deje vacío para desconectarse) No puede ocultar su registro de reproducción reciente en la configuración de privacidad de last.fm.",
"templateedit": "Editar plantilla", "templateedit": "Editar plantilla",
"templateeditwarn": "", "templateeditwarn": "",
"template1": "Spotify: {artist}: nombre del artista // {song}: nombre del tema // {album}: nombre del álbum // {url}: dirección web a Spotify", "template1": "Spotify: {artist}: nombre del artista // {song}: nombre del tema // {album}: nombre del álbum // {url}: dirección web a Spotify",
"template2": "macOS: {artist}: nombre del artista // {song}: nombre del tema // {album}: nombre del álbum // {genre}: género // {composer}: compositor // {hz}: frecuencia de muestreo // {bitRate}: tasa de transferencia", "template2": "macOS: {artist}: nombre del artista // {song}: nombre del tema // {album}: nombre del álbum // {genre}: género // {composer}: compositor // {hz}: frecuencia de muestreo // {bitRate}: tasa de transferencia",
"template3": "", "template3": "",
"postartwork": "Adjuntar tapa desde Spotify", "postartwork": "Adjuntar tapa desde Spotify",
"searchArtwork": "If the song has no artwork, automatic complete it(macOS)", "searchArtwork": "Si la canción no tiene ilustraciones, se completará automáticamente (macOS)",
"searchArtworkWarn": "If you nowplaying an non-artwork song, get one which seems nice through API. If you do not like the completed artwork, you can right-click it to delete.", "searchArtworkWarn": "Si estás escuchando una canción sin ilustraciones, se conseguirá una que se vea bien desde la API. Si no te gusta la ilustración completada, puedes hacer clic derecho en ella para eliminarla.",
"tts": "Configuración de TTS (texto hablado)", "tts": "Configuración de TTS (texto hablado)",
"bouyomi": "Conectar BouyomiChan", "bouyomi": "Conectar BouyomiChan",
"bouyomiWarn": "Requiere: Plugin WebSocket de BouyomiChan", "bouyomiWarn": "Requiere: Plugin WebSocket de BouyomiChan",

View File

@@ -1,5 +1,7 @@
{ {
"draghere": "Drag here to upload", "draghere": "Drag here to upload",
"nowOffline": "OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet",
"reOnline": "Now we are in the Internet, you should reload...",
"close": "Close", "close": "Close",
"webSrc": "Search on Web", "webSrc": "Search on Web",
"tsSrc": "Search on tootsearch", "tsSrc": "Search on tootsearch",
@@ -45,6 +47,7 @@
"thingsEmoji": "Emojis of tools", "thingsEmoji": "Emojis of tools",
"symbolEmoji": "Emojis of symbols", "symbolEmoji": "Emojis of symbols",
"flagsEmoji": "Emojis of flags", "flagsEmoji": "Emojis of flags",
"draft": "Draft",
"poll": "Poll", "poll": "Poll",
"pollDdisabled": "Polls: Disabled", "pollDdisabled": "Polls: Disabled",
"pollProvider": "Provider of Poll", "pollProvider": "Provider of Poll",
@@ -130,7 +133,7 @@
"notf": "Notifications", "notf": "Notifications",
"bookmark": "Bookmarks", "bookmark": "Bookmarks",
"showThisTL": "Show this TL:", "showThisTL": "Show this TL:",
"webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.", "webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>).",
"add": "Add", "add": "Add",
"search": "Search", "search": "Search",
"sortSet": "Sort", "sortSet": "Sort",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.", "lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout", "lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots", "lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.", "lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis", "lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis", "lang_emoji_custom": "Custom emojis",
@@ -71,6 +72,7 @@
"lang_post_btn3": "Continue to post", "lang_post_btn3": "Continue to post",
"lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.", "lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.",
"lang_post_retry": "Retry", "lang_post_retry": "Retry",
"lang_post_offline": "Add to the drafts because of offline",
"lang_status_favWarn": "It will take a miunte to favourite a remote toot.", "lang_status_favWarn": "It will take a miunte to favourite a remote toot.",
"lang_status_btWarn": "It will take a miunte to boost a remote toot.", "lang_status_btWarn": "It will take a miunte to boost a remote toot.",
"lang_status_follow": "Follow", "lang_status_follow": "Follow",
@@ -87,6 +89,9 @@
"lang_status_endorse": "Feature on profile", "lang_status_endorse": "Feature on profile",
"lang_status_followers": "Followers", "lang_status_followers": "Followers",
"lang_status_active": "Last status", "lang_status_active": "Last status",
"lang_secure_draft": "Add to draft",
"lang_secure_useThis": "Use this",
"lang_secure_deleteThis": "Delete this",
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.", "lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.", "lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check", "lang_cards_check": " check",
@@ -131,13 +136,17 @@
"lang_layout_linkana": "Auto Link Analyzer", "lang_layout_linkana": "Auto Link Analyzer",
"lang_layout_linkanades": "Auto link analyzer", "lang_layout_linkanades": "Auto link analyzer",
"lang_layout_tts": "Text to speech ", "lang_layout_tts": "Text to speech ",
"lang_layout_reconnect": "Reload this column", "lang_layout_reconnect": "Reload",
"lang_layout_headercolor": "Header color of this column", "lang_layout_headercolor": "Header color of this column",
"lang_layout_nodata": "[No data]<br>F5/⌘+R to reload", "lang_layout_nodata": "[No data]<br>F5/⌘+R to reload",
"lang_layout_dm": "Direct Message", "lang_layout_dm": "Direct Message",
"lang_layout_webviewmode": "Prefer WebView", "lang_layout_webviewmode": "Prefer WebView",
"lang_excluded": "Excluded type of notification", "lang_layout_excluded": "Excluded type of notification",
"lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)", "lang_layout_mention": "Mentions",
"lang_layout_fav": "Favourites",
"lang_layout_bt": "Boosts",
"lang_layout_poll": "Polls",
"lang_layout_excludingbt": "Show BT mode",
"lang_layout_leftFold": "Stack to the left", "lang_layout_leftFold": "Stack to the left",
"lang_layout_leftUnfold": "Dock on the right", "lang_layout_leftUnfold": "Dock on the right",
"lang_layout_deleteColumn": "Delete this column", "lang_layout_deleteColumn": "Delete this column",
@@ -145,6 +154,7 @@
"lang_layout_unread": "Unread", "lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager", "lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.", "lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column", "lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column", "lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork", "lang_spotify_img": "Attach an album artwork",
@@ -222,6 +232,7 @@
"lang_parse_html": "Show embed HTML", "lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Show this user's notifications", "lang_parse_notffilter": "Show this user's notifications",
"lang_parse_hidden": "Unvisible quoted toot", "lang_parse_hidden": "Unvisible quoted toot",
"lang_parse_disconnected": "Streaming has been disconnected(retry after 3s)",
"lang_misskeyparse_renote": "Repost", "lang_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote", "lang_misskeyparse_renoteqt": "Renote",
"lang_misskeyparse_reaction": "Reaction", "lang_misskeyparse_reaction": "Reaction",
@@ -236,6 +247,7 @@
"lang_misskeyparse_reacted": " reacted your following post.", "lang_misskeyparse_reacted": " reacted your following post.",
"lang_setting_time": "Time format:{{set}}", "lang_setting_time": "Time format:{{set}}",
"lang_setting_theme": "Theme:{{set}}", "lang_setting_theme": "Theme:{{set}}",
"lang_setting_compat": "Compatible",
"lang_setting_nsfw": "Sensitive media:{{set}}", "lang_setting_nsfw": "Sensitive media:{{set}}",
"lang_setting_cw": "CW:{{set}}", "lang_setting_cw": "CW:{{set}}",
"lang_setting_cwtext": "Default CW text:{{set}}", "lang_setting_cwtext": "Default CW text:{{set}}",

View File

@@ -24,10 +24,11 @@
"nativenotf": "Notificación nativa", "nativenotf": "Notificación nativa",
"nnwarn": "Esto no funciona en la versión portable para Windows.", "nnwarn": "Esto no funciona en la versión portable para Windows.",
"nntest": "Prueba de notificación", "nntest": "Prueba de notificación",
"minwidth": "Ancho mínimo de columnas", "width": "Width of columns",
"minwidthwarn": "La barra de desplazamiento se mostrará cuando el tamaño de la ventana sea mayor que el de las columnas.", "widthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
"fixwidth": "Ancho mínimo del navegador TweetDeck", "fixwidth": "Ancho mínimo del navegador TweetDeck",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines",
"above": "arriba", "above": "arriba",
"font": "Fuente", "font": "Fuente",
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)", "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
@@ -46,23 +47,28 @@
"customtheme": "Editar y añadir temas personalizados", "customtheme": "Editar y añadir temas personalizados",
"customthemeDirection": "Esquema de colores", "customthemeDirection": "Esquema de colores",
"advanced": "Opciones avanzadas (6 colores adicionales)", "advanced": "Opciones avanzadas (6 colores adicionales)",
"advancedWarn": "Advanced options will be <i>null</i> if you set nothing, while basic 3 options will be white(<i>fff</i>). They(adv. options) will be reset if you saved with advanced panel closed.", "advancedWarn": "",
"active": "Background of Show or CW buttons, selected options...", "use": "Use this",
"modal": "Background of modals", "copyFrom": "Copy from",
"bottom": "Background of bottom bar", "bg": "Background color",
"postbox": "Background of post box and menu", "subcolor": "Distinguishable from background",
"subcolor": "Subcolor, has harmony with secondary color",
"primary": "Background color",
"secondarycolor": "Background of components",
"text": "Text color", "text": "Text color",
"accent": "Background of boosts", "accent": "Background of boosts",
"modal": "Background of modal window",
"modalFooter": "Background of modal window's footer",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)",
"forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window",
"emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu",
"active": "Background of 'active' elements",
"selected": "Background of selected with arrow keys",
"selectedWithShare": "Background of selected with arrow keys(boosted toots)",
"add_new": "Add new", "add_new": "Add new",
"name": "Name", "name": "Name",
"desc": "About this theme", "desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes", "customImport": "Import of custom themes",
"delete": "Delete", "delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences", "timeline": "Timeline Preferences",
"timemode": "Time format", "timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"", "relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -101,8 +107,8 @@
"or": "or", "or": "or",
"imgheight": "Height of images", "imgheight": "Height of images",
"imgheightwarn": "Option:Set \"full\" to uncrop.", "imgheightwarn": "Option:Set \"full\" to uncrop.",
"ticker": "Enable #InstanceTicker", "ticker": "Enable OpenSticker",
"tickerwarn": "Show colorful stickers about the server. <a href=\"https://github.com/MiyonMiyon/InstanceTicker_List\">About #InstanceTicker</a> (c)2018-2020 MiyonMiyon. Released under the MIT License.", "tickerwarn": "Show the instance name and favicon of tooters <a href=\"https://opensticker.0px.io\">About OpenSticker</a>",
"animation": "Animation of timelines", "animation": "Animation of timelines",
"markers": "Markers(mark as read) on HTL and notifications", "markers": "Markers(mark as read) on HTL and notifications",
"markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.", "markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.",
@@ -136,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)", "notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)", "apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button", "showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions", "main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.", "mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently", "lastacct": "Account you used recently",
@@ -150,6 +160,9 @@
"keysc": "Keyboard shortcut Preferences", "keysc": "Keyboard shortcut Preferences",
"iks": "Easy inserter", "iks": "Easy inserter",
"okswarn": "You can insert any letters and emojis with only 3 keys", "okswarn": "You can insert any letters and emojis with only 3 keys",
"plugin": "Plugins",
"howToWritePlugin": "Japanese docs of AiScript TheDesk plugins",
"pluginList": "Plugin list",
"muteemp": "Mute & Emphasis Preferences", "muteemp": "Mute & Emphasis Preferences",
"climute": "Client Mute", "climute": "Client Mute",
"cliemp": "Client Emphasis", "cliemp": "Client Emphasis",

View File

@@ -1,5 +1,7 @@
{ {
"draghere": "Drag here to upload", "draghere": "Drag here to upload",
"nowOffline": "OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet",
"reOnline": "Now we are in the Internet, you should reload...",
"close": "Close", "close": "Close",
"webSrc": "Search on Web", "webSrc": "Search on Web",
"tsSrc": "Search on tootsearch", "tsSrc": "Search on tootsearch",
@@ -45,6 +47,7 @@
"thingsEmoji": "Emojis of tools", "thingsEmoji": "Emojis of tools",
"symbolEmoji": "Emojis of symbols", "symbolEmoji": "Emojis of symbols",
"flagsEmoji": "Emojis of flags", "flagsEmoji": "Emojis of flags",
"draft": "Draft",
"poll": "Poll", "poll": "Poll",
"pollDdisabled": "Polls: Disabled", "pollDdisabled": "Polls: Disabled",
"pollProvider": "Provider of Poll", "pollProvider": "Provider of Poll",
@@ -130,7 +133,7 @@
"notf": "Notifications", "notf": "Notifications",
"bookmark": "Bookmarks", "bookmark": "Bookmarks",
"showThisTL": "Show this TL:", "showThisTL": "Show this TL:",
"webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.", "webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>).",
"add": "Add", "add": "Add",
"search": "Search", "search": "Search",
"sortSet": "Sort", "sortSet": "Sort",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.", "lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout", "lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots", "lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.", "lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis", "lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis", "lang_emoji_custom": "Custom emojis",
@@ -71,6 +72,7 @@
"lang_post_btn3": "Continue to post", "lang_post_btn3": "Continue to post",
"lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.", "lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.",
"lang_post_retry": "Retry", "lang_post_retry": "Retry",
"lang_post_offline": "Add to the drafts because of offline",
"lang_status_favWarn": "It will take a miunte to favourite a remote toot.", "lang_status_favWarn": "It will take a miunte to favourite a remote toot.",
"lang_status_btWarn": "It will take a miunte to boost a remote toot.", "lang_status_btWarn": "It will take a miunte to boost a remote toot.",
"lang_status_follow": "Follow", "lang_status_follow": "Follow",
@@ -87,6 +89,9 @@
"lang_status_endorse": "Feature on profile", "lang_status_endorse": "Feature on profile",
"lang_status_followers": "Followers", "lang_status_followers": "Followers",
"lang_status_active": "Last status", "lang_status_active": "Last status",
"lang_secure_draft": "Add to draft",
"lang_secure_useThis": "Use this",
"lang_secure_deleteThis": "Delete this",
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.", "lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.", "lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check", "lang_cards_check": " check",
@@ -131,13 +136,17 @@
"lang_layout_linkana": "Auto Link Analyzer", "lang_layout_linkana": "Auto Link Analyzer",
"lang_layout_linkanades": "Auto link analyzer", "lang_layout_linkanades": "Auto link analyzer",
"lang_layout_tts": "Text to speech ", "lang_layout_tts": "Text to speech ",
"lang_layout_reconnect": "Reload this column", "lang_layout_reconnect": "Reload",
"lang_layout_headercolor": "Header color of this column", "lang_layout_headercolor": "Header color of this column",
"lang_layout_nodata": "[No data]<br>F5/⌘+R to reload", "lang_layout_nodata": "[No data]<br>F5/⌘+R to reload",
"lang_layout_dm": "Direct Message", "lang_layout_dm": "Direct Message",
"lang_layout_webviewmode": "Prefer WebView", "lang_layout_webviewmode": "Prefer WebView",
"lang_excluded": "Excluded type of notification", "lang_layout_excluded": "Excluded type of notification",
"lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)", "lang_layout_mention": "Mentions",
"lang_layout_fav": "Favourites",
"lang_layout_bt": "Boosts",
"lang_layout_poll": "Polls",
"lang_layout_excludingbt": "Show BT mode",
"lang_layout_leftFold": "Stack to the left", "lang_layout_leftFold": "Stack to the left",
"lang_layout_leftUnfold": "Dock on the right", "lang_layout_leftUnfold": "Dock on the right",
"lang_layout_deleteColumn": "Delete this column", "lang_layout_deleteColumn": "Delete this column",
@@ -145,6 +154,7 @@
"lang_layout_unread": "Unread", "lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager", "lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.", "lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column", "lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column", "lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork", "lang_spotify_img": "Attach an album artwork",
@@ -222,6 +232,7 @@
"lang_parse_html": "Show embed HTML", "lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Show this user's notifications", "lang_parse_notffilter": "Show this user's notifications",
"lang_parse_hidden": "Unvisible quoted toot", "lang_parse_hidden": "Unvisible quoted toot",
"lang_parse_disconnected": "Streaming has been disconnected(retry after 3s)",
"lang_misskeyparse_renote": "Repost", "lang_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote", "lang_misskeyparse_renoteqt": "Renote",
"lang_misskeyparse_reaction": "Reaction", "lang_misskeyparse_reaction": "Reaction",
@@ -236,6 +247,7 @@
"lang_misskeyparse_reacted": " reacted your following post.", "lang_misskeyparse_reacted": " reacted your following post.",
"lang_setting_time": "Time format:{{set}}", "lang_setting_time": "Time format:{{set}}",
"lang_setting_theme": "Theme:{{set}}", "lang_setting_theme": "Theme:{{set}}",
"lang_setting_compat": "Compatible",
"lang_setting_nsfw": "Sensitive media:{{set}}", "lang_setting_nsfw": "Sensitive media:{{set}}",
"lang_setting_cw": "CW:{{set}}", "lang_setting_cw": "CW:{{set}}",
"lang_setting_cwtext": "Default CW text:{{set}}", "lang_setting_cwtext": "Default CW text:{{set}}",

View File

@@ -24,10 +24,11 @@
"nativenotf": "Native notification", "nativenotf": "Native notification",
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test", "nntest": "Notification test",
"minwidth": "Minimum width of columns", "width": "Width of columns",
"minwidthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.", "widthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser", "fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines",
"above": "above", "above": "above",
"font": "Font", "font": "Font",
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)", "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
@@ -43,26 +44,31 @@
"srcUrl": "Search engine", "srcUrl": "Search engine",
"srcUrlWarn": "{q} will be replaced to query.", "srcUrlWarn": "{q} will be replaced to query.",
"themeSel": "Select theme", "themeSel": "Select theme",
"customtheme": "Edit and add custom themes", "customtheme": "Edit and add themes",
"customthemeDirection": "Color scheme", "customthemeDirection": "Color scheme",
"advanced": "Advanced options(6 additional colors)", "advanced": "Advanced options",
"advancedWarn": "Advanced options will be <i>null</i> if you set nothing, while basic 3 options will be white(<i>fff</i>). They(adv. options) will be reset if you saved with advanced panel closed.", "advancedWarn": "",
"active": "Background of Show or CW buttons, selected options...", "use": "Use this",
"modal": "Background of modals", "copyFrom": "Copy from",
"bottom": "Background of bottom bar", "bg": "Background color",
"postbox": "Background of post box and menu", "subcolor": "Distinguishable from background",
"subcolor": "Subcolor, has harmony with secondary color",
"primary": "Background color",
"secondarycolor": "Background of components",
"text": "Text color", "text": "Text color",
"accent": "Background of boosts", "accent": "Background of boosts",
"modal": "Background of modal window",
"modalFooter": "Background of modal window's footer",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)",
"forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window",
"emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu",
"active": "Background of 'active' elements",
"selected": "Background of selected with arrow keys",
"selectedWithShare": "Background of selected with arrow keys(boosted toots)",
"add_new": "Add new", "add_new": "Add new",
"name": "Name", "name": "Name",
"desc": "About this theme", "desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes", "customImport": "Import of custom themes",
"delete": "Delete", "delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences", "timeline": "Timeline Preferences",
"timemode": "Time format", "timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"", "relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -101,8 +107,8 @@
"or": "or", "or": "or",
"imgheight": "Height of images", "imgheight": "Height of images",
"imgheightwarn": "Option:Set \"full\" to uncrop.", "imgheightwarn": "Option:Set \"full\" to uncrop.",
"ticker": "Enable #InstanceTicker", "ticker": "Enable OpenSticker",
"tickerwarn": "Show colorful stickers about the server. <a href=\"https://github.com/MiyonMiyon/InstanceTicker_List\">About #InstanceTicker</a> (c)2018-2020 MiyonMiyon. Released under the MIT License.", "tickerwarn": "Show the instance name and favicon of tooters <a href=\"https://opensticker.0px.io\">About OpenSticker</a>",
"animation": "Animation of timelines", "animation": "Animation of timelines",
"markers": "Markers(mark as read) on HTL and notifications", "markers": "Markers(mark as read) on HTL and notifications",
"markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.", "markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.",
@@ -136,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)", "notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)", "apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button", "showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions", "main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.", "mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently", "lastacct": "Account you used recently",
@@ -150,6 +160,9 @@
"keysc": "Keyboard shortcut Preferences", "keysc": "Keyboard shortcut Preferences",
"iks": "Easy inserter", "iks": "Easy inserter",
"okswarn": "You can insert any letters and emojis with only 3 keys", "okswarn": "You can insert any letters and emojis with only 3 keys",
"plugin": "Plugins",
"howToWritePlugin": "Japanese docs of AiScript TheDesk plugins",
"pluginList": "Plugin list",
"muteemp": "Mute & Emphasis Preferences", "muteemp": "Mute & Emphasis Preferences",
"climute": "Client Mute", "climute": "Client Mute",
"cliemp": "Client Emphasis", "cliemp": "Client Emphasis",

View File

@@ -7,7 +7,7 @@
"codesetup": "Code setup", "codesetup": "Code setup",
"mainacct": "Main an account", "mainacct": "Main an account",
"selacct": "Choisir un compte", "selacct": "Choisir un compte",
"codepastewarn": "Paste the code and close browser.", "codepastewarn": "Insérer le code et fermez le navigateur.",
"codepaste": "Code", "codepaste": "Code",
"domain": "Domaine", "domain": "Domaine",
"connect": "Serveur fédérées", "connect": "Serveur fédérées",
@@ -17,9 +17,9 @@
"safety": "Connection", "safety": "Connection",
"ver": "Version de Mastodon", "ver": "Version de Mastodon",
"ko": "", "ko": "",
"thisismisskey": "Login as Misskey", "thisismisskey": "Connexion en tant que Misskey",
"misskeylogin": "Read <a href=\"https://thedesk.top/how-to-misskey-login.html\">Docs(ja)</a> to login Misskey.", "misskeylogin": "Read <a href=\"https://thedesk.top/how-to-misskey-login.html\">Docs(ja)</a> to login Misskey.",
"nodata": "No data", "nodata": "Aucune donnée",
"accessTokenSetup": "Use access token to login(click after fill not code but access-token in box: Advanced)", "accessTokenSetup": "Use access token to login(click after fill not code but access-token in box: Advanced)",
"haveExported": "Having the exported file of TheDesk, click here to jump setting page" "haveExported": "Having the exported file of TheDesk, click here to jump setting page"
} }

View File

@@ -1,5 +1,7 @@
{ {
"draghere": "Faites glisser ici pour transférer", "draghere": "Faites glisser ici pour transférer",
"nowOffline": "OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet",
"reOnline": "Now we are in the Internet, you should reload...",
"close": "Fermer", "close": "Fermer",
"webSrc": "Search on Web", "webSrc": "Search on Web",
"tsSrc": "Search on tootsearch", "tsSrc": "Search on tootsearch",
@@ -45,6 +47,7 @@
"thingsEmoji": "Emojis of tools", "thingsEmoji": "Emojis of tools",
"symbolEmoji": "Emojis of symbols", "symbolEmoji": "Emojis of symbols",
"flagsEmoji": "Emojis of flags", "flagsEmoji": "Emojis of flags",
"draft": "Draft",
"poll": "Poll", "poll": "Poll",
"pollDdisabled": "Polls: Disabled", "pollDdisabled": "Polls: Disabled",
"pollProvider": "Provider of Poll", "pollProvider": "Provider of Poll",
@@ -130,7 +133,7 @@
"notf": "Notifications", "notf": "Notifications",
"bookmark": "Bookmarks", "bookmark": "Bookmarks",
"showThisTL": "Show this TL:", "showThisTL": "Show this TL:",
"webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.", "webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>).",
"add": "Add", "add": "Add",
"search": "Search", "search": "Search",
"sortSet": "Sort", "sortSet": "Sort",

View File

@@ -9,7 +9,7 @@
"lang_edit": "Modifier", "lang_edit": "Modifier",
"lang_del": "Supprimer", "lang_del": "Supprimer",
"lang_add": "Ajouter", "lang_add": "Ajouter",
"lang_fatalerroroccured": "Error", "lang_fatalerroroccured": "Erreur",
"lang_speech": "Google U.S en anglais", "lang_speech": "Google U.S en anglais",
"lang_lang": "Langue", "lang_lang": "Langue",
"lang_langlocale": "Anglais", "lang_langlocale": "Anglais",
@@ -28,11 +28,11 @@
"lang_time_hours": "%d h", "lang_time_hours": "%d h",
"lang_time_day": "1 d", "lang_time_day": "1 d",
"lang_time_days": "%d d", "lang_time_days": "%d d",
"lang_time_month": "1 month", "lang_time_month": "1 mois",
"lang_time_months": "%d months", "lang_time_months": "%d mois",
"lang_time_year": "y", "lang_time_year": "y",
"lang_time_years": "%d y", "lang_time_years": "%d y",
"lang_version_usever": "No update is found({{ver}})", "lang_version_usever": "Aucune mise à jour n'a été trouvée ({{ver}})",
"lang_version_skipver": "La mise à jour a été ignorée.", "lang_version_skipver": "La mise à jour a été ignorée.",
"lang_version_platform": "Do you want auto-updates?(users installed on Microsoft Store select 'No')", "lang_version_platform": "Do you want auto-updates?(users installed on Microsoft Store select 'No')",
"lang_version_platform_linux": "Do you want auto-updates?(users installed on Snapcraft select 'No')", "lang_version_platform_linux": "Do you want auto-updates?(users installed on Snapcraft select 'No')",
@@ -48,17 +48,18 @@
"lang_manager_none": "Aucun", "lang_manager_none": "Aucun",
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.", "lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Se déconnecter", "lang_manager_logout": "Se déconnecter",
"lang_manager_maxChars": "Max chars of toots", "lang_manager_maxChars": "Nombre maximum de caractères de pouets",
"lang_manager_refreshAt": "Se connecter avec ce domaine",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.", "lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Téléchargez les émojis", "lang_emoji_get": "Téléchargez les émojis",
"lang_emoji_custom": "Émojis personnalisés", "lang_emoji_custom": "Émojis personnalisés",
"lang_defaultemojis_text": "Emojis about {{cat}}", "lang_defaultemojis_text": "Emojis about {{cat}}",
"lang_emoji_uncat": "Uncategorized", "lang_emoji_uncat": "Non catégori",
"lang_postimg_previewdis": "cannot preview", "lang_postimg_previewdis": "impossible de prévisualiser",
"lang_postimg_aftupload": "You cannot change accounts after uploading.", "lang_postimg_aftupload": "You cannot change accounts after uploading.",
"lang_postimg_failupload": "Failed", "lang_postimg_failupload": "Échec",
"lang_postimg_delete": "Click to add description, right-click to delete this", "lang_postimg_delete": "Click to add description, right-click to delete this",
"lang_postimg_desc": "Description", "lang_postimg_desc": "Déscription",
"lang_postimg_leadContext": "right-click the thumbnail to delete this", "lang_postimg_leadContext": "right-click the thumbnail to delete this",
"lang_post_syncDetail": "Upload media synchronously", "lang_post_syncDetail": "Upload media synchronously",
"lang_post_syncDetailText": "Click each picture icon to get the thumbnail. If you can get, the media you uploaded are completely processed.", "lang_post_syncDetailText": "Click each picture icon to get the thumbnail. If you can get, the media you uploaded are completely processed.",
@@ -71,6 +72,7 @@
"lang_post_btn3": "Continue to post", "lang_post_btn3": "Continue to post",
"lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.", "lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.",
"lang_post_retry": "Retry", "lang_post_retry": "Retry",
"lang_post_offline": "Add to the drafts because of offline",
"lang_status_favWarn": "It will take a miunte to favourite a remote toot.", "lang_status_favWarn": "It will take a miunte to favourite a remote toot.",
"lang_status_btWarn": "It will take a miunte to boost a remote toot.", "lang_status_btWarn": "It will take a miunte to boost a remote toot.",
"lang_status_follow": "Suivre", "lang_status_follow": "Suivre",
@@ -87,6 +89,9 @@
"lang_status_endorse": "Recommander sur son profile", "lang_status_endorse": "Recommander sur son profile",
"lang_status_followers": "Followers", "lang_status_followers": "Followers",
"lang_status_active": "Last status", "lang_status_active": "Last status",
"lang_secure_draft": "Add to draft",
"lang_secure_useThis": "Utiliser ceci",
"lang_secure_deleteThis": "Supprimer ce pouet",
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.", "lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.", "lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check", "lang_cards_check": " check",
@@ -136,8 +141,12 @@
"lang_layout_nodata": "[No data]<br>F5/⌘+R to reload", "lang_layout_nodata": "[No data]<br>F5/⌘+R to reload",
"lang_layout_dm": "Message direct", "lang_layout_dm": "Message direct",
"lang_layout_webviewmode": "Prefer WebView", "lang_layout_webviewmode": "Prefer WebView",
"lang_excluded": "Excluded type of notification", "lang_layout_excluded": "Excluded type of notification",
"lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)", "lang_layout_mention": "Mentions",
"lang_layout_fav": "Favourites",
"lang_layout_bt": "Boosts",
"lang_layout_poll": "Polls",
"lang_layout_excludingbt": "Show BT mode",
"lang_layout_leftFold": "Stack to the left", "lang_layout_leftFold": "Stack to the left",
"lang_layout_leftUnfold": "Dock on the right", "lang_layout_leftUnfold": "Dock on the right",
"lang_layout_deleteColumn": "Delete this column", "lang_layout_deleteColumn": "Delete this column",
@@ -145,6 +154,7 @@
"lang_layout_unread": "Unread", "lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager", "lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.", "lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column", "lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column", "lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork", "lang_spotify_img": "Attach an album artwork",
@@ -222,6 +232,7 @@
"lang_parse_html": "Show embed HTML", "lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Show this user's notifications", "lang_parse_notffilter": "Show this user's notifications",
"lang_parse_hidden": "Unvisible quoted toot", "lang_parse_hidden": "Unvisible quoted toot",
"lang_parse_disconnected": "Streaming has been disconnected(retry after 3s)",
"lang_misskeyparse_renote": "Repost", "lang_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote", "lang_misskeyparse_renoteqt": "Renote",
"lang_misskeyparse_reaction": "Réaction", "lang_misskeyparse_reaction": "Réaction",
@@ -236,6 +247,7 @@
"lang_misskeyparse_reacted": " reacted your following post.", "lang_misskeyparse_reacted": " reacted your following post.",
"lang_setting_time": "Time format:{{set}}", "lang_setting_time": "Time format:{{set}}",
"lang_setting_theme": "Thème : {{set}}", "lang_setting_theme": "Thème : {{set}}",
"lang_setting_compat": "Compatible",
"lang_setting_nsfw": "NSFW:{{set}}", "lang_setting_nsfw": "NSFW:{{set}}",
"lang_setting_cw": "CW:{{set}}", "lang_setting_cw": "CW:{{set}}",
"lang_setting_cwtext": "Default CW text:{{set}}", "lang_setting_cwtext": "Default CW text:{{set}}",

View File

@@ -5,64 +5,70 @@
"no": "Non", "no": "Non",
"none": "Aucun", "none": "Aucun",
"show": "Show", "show": "Show",
"hide": "Hide", "hide": "Cacher",
"default": "Par défaut", "default": "Par défaut",
"change": "Modifier", "change": "Modifier",
"select": "Select", "select": "Sélectionner",
"env": "Préférences système", "env": "Préférences système",
"setlang": "Langues", "setlang": "Langues",
"backup": "Import and export of preferences", "backup": "Importer et exporter les préférences",
"backupWarn": "If you got a error when you choose the file, please paste the strings printed when you open the file and click import", "backupWarn": "Si vous avez une erreur lorsque vous choisissez le fichier, veuillez coller les chaînes affichées lorsque vous ouvrez le fichier et cliquez sur Importer",
"import": "Importer", "import": "Importer",
"export": "Exporter", "export": "Exporter",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Désactiver l'accélération matérielle",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Redémarrage Automatique",
"theme": "Thèmes", "theme": "Thèmes",
"popup": "Popup notification", "popup": "Notification pop-up",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",
"s": "sec", "s": "sec",
"nativenotf": "Native notification", "nativenotf": "Native notification",
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "Cela ne fonctionne pas sur la version portable pour Windows.",
"nntest": "Notification test", "nntest": "Notification test",
"minwidth": "Minimam width of columns", "width": "Largeur des colonnes",
"minwidthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.", "widthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser", "fixwidth": "Largeur minimale du navigateur TweetDeck",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Marge entre les timelines",
"above": "above", "above": "above",
"font": "Police de caractères", "font": "Police de caractères",
"fontwarn": "Select your favorite font to 'Select'", "fontwarn": "Select your favorite font to 'Select'",
"fontsize": "Taille de la police de caractères", "fontsize": "Taille de la police de caractères",
"savefolder": "Folder to save", "savefolder": "Folder to save",
"savefolderwarn": "TheDesk uses this value when it try to save pictures or take screenshots.", "savefolderwarn": "TheDesk utilise cette valeur lorsqu'il tente d'enregistrer des photos ou de prendre des captures d'écran.",
"useragent": "User agent", "useragent": "User agent",
"useragentWarn": "Restart when changed", "useragentWarn": "Restart when changed",
"frame": "Window frame", "frame": "Window frame",
"frameWarn": "If 'off', the window looks cool.", "frameWarn": "If 'off', the window looks cool.",
"downloadWin": "Versioning(o Windows downloader)", "downloadWin": "Versioning(o Windows downloader)",
"absolute": "absolute value", "absolute": "valeur absolue",
"srcUrl": "Search engine", "srcUrl": "Moteur de recherche",
"srcUrlWarn": "{q} will be replaced to query.", "srcUrlWarn": "{q} will be replaced to query.",
"themeSel": "Select theme", "themeSel": "Sélectionner un thème",
"customtheme": "Edit and add custom themes", "customtheme": "Modifier et ajouter des thèmes",
"customthemeDirection": "Color scheme", "customthemeDirection": "Jeu de couleurs",
"advanced": "Advanced options(6 additional colors)", "advanced": "Options avancées",
"advancedWarn": "Advanced options will be <i>null</i> if you set nothing, while basic 3 options will be white(<i>fff</i>). They(adv. options) will be reset if you saved with advanced panel closed.", "advancedWarn": "",
"active": "Background of Show or CW buttons, selected options...", "use": "Utiliser ceci",
"modal": "Background of modals", "copyFrom": "Copier depuis",
"bottom": "Background of bottom bar", "bg": "Couleur de l'arrière-plan",
"postbox": "Background of post box and menu", "subcolor": "Distinguishable from background",
"subcolor": "Subcolor, has harmony with secondary color", "text": "Couleur du texte",
"primary": "Background color", "accent": "Arrière-plan des boosts",
"secondarycolor": "Background of components", "modal": "Background of modal window",
"text": "Text color", "modalFooter": "Background of modal window's footer",
"accent": "Background of boosts", "thirdColor": "Backgroud of tag buttons, etc(near to Background)",
"add_new": "Add new", "forthColor": "Title bar(same scheme to Background)",
"name": "Name", "bottom": "Background of menu-bar at bottom of window",
"desc": "About this theme", "emphasized": "Emphasized toot's background",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.", "postbox": "Background of post-box and menu",
"active": "Background of 'active' elements",
"selected": "Background of selected with arrow keys",
"selectedWithShare": "Background of selected with arrow keys(boosted toots)",
"add_new": "Ajouter",
"name": "Nom",
"desc": "À propos de ce thème",
"customImport": "Import of custom themes", "customImport": "Import of custom themes",
"delete": "Supprimer", "delete": "Supprimer",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences", "timeline": "Timeline Preferences",
"timemode": "Format de lheure", "timemode": "Format de lheure",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"", "relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -87,7 +93,7 @@
"boxno": "Open after posting", "boxno": "Open after posting",
"tag": "Tag TL Search", "tag": "Tag TL Search",
"tagfed": "Use federated network", "tagfed": "Use federated network",
"taglocal": "Use local network", "taglocal": "Utiliser le réseau local",
"via": "Afficher via", "via": "Afficher via",
"mouseover": "Hide action buttons without mouseover", "mouseover": "Hide action buttons without mouseover",
"mouseoverwarn": "You may feel 'mouseover' is unconfortable:(", "mouseoverwarn": "You may feel 'mouseover' is unconfortable:(",
@@ -95,30 +101,30 @@
"mvclick": "Cliquez pour afficher", "mvclick": "Cliquez pour afficher",
"notfmarker": "Show Notification marker, red colored bell and counter(if you show a notification column.)", "notfmarker": "Show Notification marker, red colored bell and counter(if you show a notification column.)",
"autofold": "Auto folding", "autofold": "Auto folding",
"autofoldwarn": "TheDesk does not collapse totes of 5 characters or less. Also, when collapsing, newlines are not shown. TheDesk count only newlines as the number of lines.", "autofoldwarn": "TheDesk ne réduit pas les toots de 5 caractères ou moins. Si réduit, les retours à la ligne ne sont pas affichés. TheDesk compte uniquement les retours à la ligne comme le nombre de lignes.",
"lines": "lines", "lines": "lignes",
"letters": "letters", "letters": "lettres",
"or": "ou", "or": "ou",
"imgheight": "Height of images", "imgheight": "Hauteur des images",
"imgheightwarn": "Option:Set \"full\" to uncrop.", "imgheightwarn": "Option:Set \"full\" to uncrop.",
"ticker": "Enable #InstanceTicker", "ticker": "Activer OpenSticker",
"tickerwarn": "Show colorful stickers about tooters' server. <a href=\"https://cdn.weep.me/mastodon/\">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.", "tickerwarn": "Show colorful stickers about tooters' server. <a href=\"https://cdn.weep.me/mastodon/\">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.",
"animation": "Animation of timelines", "animation": "Animation des timelines",
"markers": "Markers(mark as read) on HTL and notifications", "markers": "Markers(mark as read) on HTL and notifications",
"markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.", "markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.",
"remote_img": "Get images from the remote server", "remote_img": "Récupérer les images depuis le serveur distant",
"remote_imgWarn": "All previews are got from your loginned cache server.", "remote_imgWarn": "All previews are got from your loginned cache server.",
"replySound": "Sound(Reply)", "replySound": "Son (Réponse)",
"favSound": "Sound(Fav)", "favSound": "Son (Fav)",
"btSound": "Sound(Boost)", "btSound": "Son (Boost)",
"followSound": "Sound(Follow)", "followSound": "Son (Follow)",
"customSound": "Custom sound", "customSound": "Son personnalisé",
"post": "Posting Preferences", "post": "Posting Preferences",
"autocw": "Alert before posting a long toot.", "autocw": "Alerte avant de poster un long toot.",
"autocwwarn": "Show dialog whether you make too-long text hidden.", "autocwwarn": "Afficher la boîte de dialogue si vous cachez un texte trop long.",
"defaultcw": "Default warining text", "defaultcw": "Texte d'avertissement par défaut",
"cws": "Always CW set", "cws": "Always CW set",
"defaultvis": "Default visibility", "defaultvis": "Visibilité par défaut",
"public": "Public", "public": "Public",
"unlisted": "Non listé", "unlisted": "Non listé",
"private": "Privé", "private": "Privé",
@@ -129,13 +135,17 @@
"showurl": "Insert media URL", "showurl": "Insert media URL",
"nourl": "Insert nothig", "nourl": "Insert nothig",
"disabled": "Désactivé", "disabled": "Désactivé",
"quote": "Quote format", "quote": "Format des citations",
"simple": "Only URL", "simple": "URL uniquement",
"mention": "URL and acct(mention to the user)", "mention": "URL and acct(mention to the user)",
"full": "URL, text and acct(mention to the user)", "full": "URL, text and acct(mention to the user)",
"notqt": "Disabled(Hide buttons on TLs)", "notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)", "apiQuote": "API (seulement certaines instances)",
"showBookmarkAction": "Show a bookmarking toot button", "showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions", "main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.", "mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently", "lastacct": "Account you used recently",
@@ -145,11 +155,14 @@
"nothing": "Hidden", "nothing": "Hidden",
"localonly": "Local Only", "localonly": "Local Only",
"zeroWidthEmoji": "Zero-width space when inserting emojis", "zeroWidthEmoji": "Zero-width space when inserting emojis",
"uploadCrop": "Auto scale to fit", "uploadCrop": "Ajuster automatiquement la taille",
"uploadCropWarn": "Max long-side px. Uploaded images are converted to JPEG(from JPEG) or PNG(from others). Set 0 and the images will not be resized. Notice: if you post an animated picture like GIF, it will be converted static one.", "uploadCropWarn": "Max long-side px. Uploaded images are converted to JPEG(from JPEG) or PNG(from others). Set 0 and the images will not be resized. Notice: if you post an animated picture like GIF, it will be converted static one.",
"keysc": "Keyboard shortcut Preferences", "keysc": "Keyboard shortcut Preferences",
"iks": "Easy inserter", "iks": "Easy inserter",
"okswarn": "You can insert any letters and emojis with only 3 keys", "okswarn": "You can insert any letters and emojis with only 3 keys",
"plugin": "Plugins",
"howToWritePlugin": "Japanese docs of AiScript TheDesk plugins",
"pluginList": "Plugin list",
"muteemp": "Mute & Emphasis Preferences", "muteemp": "Mute & Emphasis Preferences",
"climute": "Client Mute", "climute": "Client Mute",
"cliemp": "Client Emphasis", "cliemp": "Client Emphasis",
@@ -164,17 +177,17 @@
"spotifynote1": "Click ", "spotifynote1": "Click ",
"spotifynote2": "icon to NowPlaying", "spotifynote2": "icon to NowPlaying",
"link": "Account Connection", "link": "Account Connection",
"linkwarn": "TheDesk save your data on thedesk.top server.", "linkwarn": "TheDesk enregistre vos données sur le serveur thedesk.top.",
"connect": "Connect", "connect": "Se connecter",
"disconnect": "Disconnect", "disconnect": "Se déconnecter",
"lastFmWarn": "User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.", "lastFmWarn": "User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.",
"templateedit": "Edit a template", "templateedit": "Modifier un modèle",
"templateeditwarn": "", "templateeditwarn": "",
"template1": "Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify", "template1": "Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify",
"template2": "macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}", "template2": "macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}",
"template3": "", "template3": "",
"postartwork": "Attach an Artwork of Spotify", "postartwork": "Attach an Artwork of Spotify",
"searchArtwork": "If the song has no artwork, automatic complete it(macOS)", "searchArtwork": "Si la chanson n'a pas d'illustration, la compléter automatiquement (macOS)",
"searchArtworkWarn": "If you nowplaying an non-artwork song, get one which seems nice through API. If you do not like the completed artwork, you can right-click it to delete.", "searchArtworkWarn": "If you nowplaying an non-artwork song, get one which seems nice through API. If you do not like the completed artwork, you can right-click it to delete.",
"tts": "TTS(text to speech) Preferences", "tts": "TTS(text to speech) Preferences",
"bouyomi": "BouyomiChan connect", "bouyomi": "BouyomiChan connect",
@@ -185,32 +198,32 @@
"pitchwarn": "0-100(default:50)", "pitchwarn": "0-100(default:50)",
"vol": "Volume", "vol": "Volume",
"volwarn": "0-100(default:100)", "volwarn": "0-100(default:100)",
"volwarn80": "0-100(default:80)", "volwarn80": "0-100 (par défaut:80)",
"test": "Test", "test": "Test",
"sample": "TheDesk is an open-source Mastodon client for PC.", "sample": "TheDesk est un client Mastodon open-source pour PC.",
"playstop": "Play/Stop", "playstop": "Jouer/Arrêter",
"back": "Retour", "back": "Retour",
"keyscs": "Raccourcis clavier", "keyscs": "Raccourcis clavier",
"keyscr": "Jump to n(1-9)th column", "keyscr": "Jump to n(1-9)th column",
"keynew": "Open toot box", "keynew": "Open toot box",
"keytoggle": "Toggle toot box", "keytoggle": "Toggle toot box",
"keypost": "Post", "keypost": "Publier",
"keysecpost": "Post(secondary toot)", "keysecpost": "Post(secondary toot)",
"keyunread": "Make all notifications read", "keyunread": "Marquer toutes les notifications comme lues",
"keyesc": "Hide toot box", "keyesc": "Hide toot box",
"keyf5": "Super Reload", "keyf5": "Super Reload",
"keyclear": "Clear toot box", "keyclear": "Clear toot box",
"keyacctman": "Account Manager", "keyacctman": "Account Manager",
"keyshowprof": "Show profile of selecting", "keyshowprof": "Show profile of selecting",
"keyrow": "Show next or previous image", "keyrow": "Montrer l'image précédente ou suivante",
"keyzoom": "Mousewheel:Zoom a image", "keyzoom": "Molette de la souris : Zoomer sur l'image",
"whenSelected": "When a toot is selected: ", "whenSelected": "Quand un toot est sélectionné : ",
"fav": "Mettre ce pouet en favoris", "fav": "Mettre ce pouet en favoris",
"bt": "Booster ce pouet", "bt": "Booster ce pouet",
"reply": "Répondre à ce pouet", "reply": "Répondre à ce pouet",
"keyselecttop": "Select the top & left(No.1 column) toot", "keyselecttop": "Sélectionner la colonne de toot en haut à gauche (colonne numéro 1)",
"reset": "Reset(Danger)", "reset": "Réinitialiser (Danger)",
"resetconfirm": "Delete all data. You cannot undo. Continue?", "resetconfirm": "Supprimer toutes les données. Vous ne pouvez pas annuler. Continuer ?",
"about": "About TheDesk", "about": "About TheDesk",
"hp": "Site Web", "hp": "Site Web",
"support": "Assistance", "support": "Assistance",

View File

@@ -13,7 +13,7 @@
"nextver": "Hidden until next version", "nextver": "Hidden until next version",
"problem1": "Some problems?", "problem1": "Some problems?",
"problem2": "Please download on <a href=\"https://thedesk.top\">Oficial HP</a>.", "problem2": "Please download on <a href=\"https://thedesk.top\">Oficial HP</a>.",
"continue": "Continue updating", "continue": "Continuer la mise à jour",
"dlnow": "Downloading...", "dlnow": "Téléchargement...",
"checkWhatIsNew": "What is new?" "checkWhatIsNew": "Quoi de neuf ?"
} }

View File

@@ -1,5 +1,7 @@
{ {
"draghere": "Drag here to upload", "draghere": "Drag here to upload",
"nowOffline": "OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet",
"reOnline": "Now we are in the Internet, you should reload...",
"close": "Close", "close": "Close",
"webSrc": "Search on Web", "webSrc": "Search on Web",
"tsSrc": "Search on tootsearch", "tsSrc": "Search on tootsearch",
@@ -45,6 +47,7 @@
"thingsEmoji": "Emojis of tools", "thingsEmoji": "Emojis of tools",
"symbolEmoji": "Emojis of symbols", "symbolEmoji": "Emojis of symbols",
"flagsEmoji": "Emojis of flags", "flagsEmoji": "Emojis of flags",
"draft": "Draft",
"poll": "Poll", "poll": "Poll",
"pollDdisabled": "Polls: Disabled", "pollDdisabled": "Polls: Disabled",
"pollProvider": "Provider of Poll", "pollProvider": "Provider of Poll",
@@ -130,7 +133,7 @@
"notf": "Notifications", "notf": "Notifications",
"bookmark": "Bookmarks", "bookmark": "Bookmarks",
"showThisTL": "Show this TL:", "showThisTL": "Show this TL:",
"webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.", "webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>).",
"add": "Add", "add": "Add",
"search": "Search", "search": "Search",
"sortSet": "Sort", "sortSet": "Sort",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.", "lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout", "lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots", "lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.", "lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis", "lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis", "lang_emoji_custom": "Custom emojis",
@@ -71,6 +72,7 @@
"lang_post_btn3": "Continue to post", "lang_post_btn3": "Continue to post",
"lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.", "lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.",
"lang_post_retry": "Retry", "lang_post_retry": "Retry",
"lang_post_offline": "Add to the drafts because of offline",
"lang_status_favWarn": "It will take a miunte to favourite a remote toot.", "lang_status_favWarn": "It will take a miunte to favourite a remote toot.",
"lang_status_btWarn": "It will take a miunte to boost a remote toot.", "lang_status_btWarn": "It will take a miunte to boost a remote toot.",
"lang_status_follow": "Follow", "lang_status_follow": "Follow",
@@ -87,6 +89,9 @@
"lang_status_endorse": "Feature on profile", "lang_status_endorse": "Feature on profile",
"lang_status_followers": "Followers", "lang_status_followers": "Followers",
"lang_status_active": "Last status", "lang_status_active": "Last status",
"lang_secure_draft": "Add to draft",
"lang_secure_useThis": "Use this",
"lang_secure_deleteThis": "Delete this",
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.", "lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.", "lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check", "lang_cards_check": " check",
@@ -131,13 +136,17 @@
"lang_layout_linkana": "Auto Link Analyzer", "lang_layout_linkana": "Auto Link Analyzer",
"lang_layout_linkanades": "Auto link analyzer", "lang_layout_linkanades": "Auto link analyzer",
"lang_layout_tts": "Text to speech ", "lang_layout_tts": "Text to speech ",
"lang_layout_reconnect": "Reload this column", "lang_layout_reconnect": "Reload",
"lang_layout_headercolor": "Header color of this column", "lang_layout_headercolor": "Header color of this column",
"lang_layout_nodata": "[No data]<br>F5/⌘+R to reload", "lang_layout_nodata": "[No data]<br>F5/⌘+R to reload",
"lang_layout_dm": "Direct Message", "lang_layout_dm": "Direct Message",
"lang_layout_webviewmode": "Prefer WebView", "lang_layout_webviewmode": "Prefer WebView",
"lang_excluded": "Excluded type of notification", "lang_layout_excluded": "Excluded type of notification",
"lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)", "lang_layout_mention": "Mentions",
"lang_layout_fav": "Favourites",
"lang_layout_bt": "Boosts",
"lang_layout_poll": "Polls",
"lang_layout_excludingbt": "Show BT mode",
"lang_layout_leftFold": "Stack to the left", "lang_layout_leftFold": "Stack to the left",
"lang_layout_leftUnfold": "Dock on the right", "lang_layout_leftUnfold": "Dock on the right",
"lang_layout_deleteColumn": "Delete this column", "lang_layout_deleteColumn": "Delete this column",
@@ -145,6 +154,7 @@
"lang_layout_unread": "Unread", "lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager", "lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.", "lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column", "lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column", "lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork", "lang_spotify_img": "Attach an album artwork",
@@ -222,6 +232,7 @@
"lang_parse_html": "Show embed HTML", "lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Show this user's notifications", "lang_parse_notffilter": "Show this user's notifications",
"lang_parse_hidden": "Unvisible quoted toot", "lang_parse_hidden": "Unvisible quoted toot",
"lang_parse_disconnected": "Streaming has been disconnected(retry after 3s)",
"lang_misskeyparse_renote": "Repost", "lang_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote", "lang_misskeyparse_renoteqt": "Renote",
"lang_misskeyparse_reaction": "Reaction", "lang_misskeyparse_reaction": "Reaction",
@@ -236,6 +247,7 @@
"lang_misskeyparse_reacted": " reacted your following post.", "lang_misskeyparse_reacted": " reacted your following post.",
"lang_setting_time": "Time format:{{set}}", "lang_setting_time": "Time format:{{set}}",
"lang_setting_theme": "Theme:{{set}}", "lang_setting_theme": "Theme:{{set}}",
"lang_setting_compat": "Compatible",
"lang_setting_nsfw": "Sensitive media:{{set}}", "lang_setting_nsfw": "Sensitive media:{{set}}",
"lang_setting_cw": "CW:{{set}}", "lang_setting_cw": "CW:{{set}}",
"lang_setting_cwtext": "Default CW text:{{set}}", "lang_setting_cwtext": "Default CW text:{{set}}",

View File

@@ -24,10 +24,11 @@
"nativenotf": "Native notification", "nativenotf": "Native notification",
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test", "nntest": "Notification test",
"minwidth": "Minimum width of columns", "width": "Width of columns",
"minwidthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.", "widthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser", "fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines",
"above": "above", "above": "above",
"font": "Font", "font": "Font",
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)", "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
@@ -43,26 +44,31 @@
"srcUrl": "Search engine", "srcUrl": "Search engine",
"srcUrlWarn": "{q} will be replaced to query.", "srcUrlWarn": "{q} will be replaced to query.",
"themeSel": "Select theme", "themeSel": "Select theme",
"customtheme": "Edit and add custom themes", "customtheme": "Edit and add themes",
"customthemeDirection": "Color scheme", "customthemeDirection": "Color scheme",
"advanced": "Advanced options(6 additional colors)", "advanced": "Advanced options",
"advancedWarn": "Advanced options will be <i>null</i> if you set nothing, while basic 3 options will be white(<i>fff</i>). They(adv. options) will be reset if you saved with advanced panel closed.", "advancedWarn": "",
"active": "Background of Show or CW buttons, selected options...", "use": "Use this",
"modal": "Background of modals", "copyFrom": "Copy from",
"bottom": "Background of bottom bar", "bg": "Background color",
"postbox": "Background of post box and menu", "subcolor": "Distinguishable from background",
"subcolor": "Subcolor, has harmony with secondary color",
"primary": "Background color",
"secondarycolor": "Background of components",
"text": "Text color", "text": "Text color",
"accent": "Background of boosts", "accent": "Background of boosts",
"modal": "Background of modal window",
"modalFooter": "Background of modal window's footer",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)",
"forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window",
"emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu",
"active": "Background of 'active' elements",
"selected": "Background of selected with arrow keys",
"selectedWithShare": "Background of selected with arrow keys(boosted toots)",
"add_new": "Add new", "add_new": "Add new",
"name": "Name", "name": "Name",
"desc": "About this theme", "desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes", "customImport": "Import of custom themes",
"delete": "Delete", "delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences", "timeline": "Timeline Preferences",
"timemode": "Time format", "timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"", "relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -101,8 +107,8 @@
"or": "or", "or": "or",
"imgheight": "Height of images", "imgheight": "Height of images",
"imgheightwarn": "Option:Set \"full\" to uncrop.", "imgheightwarn": "Option:Set \"full\" to uncrop.",
"ticker": "Enable #InstanceTicker", "ticker": "Enable OpenSticker",
"tickerwarn": "Show colorful stickers about the server. <a href=\"https://github.com/MiyonMiyon/InstanceTicker_List\">About #InstanceTicker</a> (c)2018-2020 MiyonMiyon. Released under the MIT License.", "tickerwarn": "Show the instance name and favicon of tooters <a href=\"https://opensticker.0px.io\">About OpenSticker</a>",
"animation": "Animation of timelines", "animation": "Animation of timelines",
"markers": "Markers(mark as read) on HTL and notifications", "markers": "Markers(mark as read) on HTL and notifications",
"markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.", "markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.",
@@ -136,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)", "notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)", "apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button", "showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions", "main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.", "mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently", "lastacct": "Account you used recently",
@@ -150,6 +160,9 @@
"keysc": "Keyboard shortcut Preferences", "keysc": "Keyboard shortcut Preferences",
"iks": "Easy inserter", "iks": "Easy inserter",
"okswarn": "You can insert any letters and emojis with only 3 keys", "okswarn": "You can insert any letters and emojis with only 3 keys",
"plugin": "Plugins",
"howToWritePlugin": "Japanese docs of AiScript TheDesk plugins",
"pluginList": "Plugin list",
"muteemp": "Mute & Emphasis Preferences", "muteemp": "Mute & Emphasis Preferences",
"climute": "Client Mute", "climute": "Client Mute",
"cliemp": "Client Emphasis", "cliemp": "Client Emphasis",

View File

@@ -1,5 +1,7 @@
{ {
"draghere": "Drag here to upload", "draghere": "Drag here to upload",
"nowOffline": "OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet",
"reOnline": "Now we are in the Internet, you should reload...",
"close": "Close", "close": "Close",
"webSrc": "Search on Web", "webSrc": "Search on Web",
"tsSrc": "Search on tootsearch", "tsSrc": "Search on tootsearch",
@@ -45,6 +47,7 @@
"thingsEmoji": "Emojis of tools", "thingsEmoji": "Emojis of tools",
"symbolEmoji": "Emojis of symbols", "symbolEmoji": "Emojis of symbols",
"flagsEmoji": "Emojis of flags", "flagsEmoji": "Emojis of flags",
"draft": "Draft",
"poll": "Poll", "poll": "Poll",
"pollDdisabled": "Polls: Disabled", "pollDdisabled": "Polls: Disabled",
"pollProvider": "Provider of Poll", "pollProvider": "Provider of Poll",
@@ -130,7 +133,7 @@
"notf": "Notifications", "notf": "Notifications",
"bookmark": "Bookmarks", "bookmark": "Bookmarks",
"showThisTL": "Show this TL:", "showThisTL": "Show this TL:",
"webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.", "webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>).",
"add": "Add", "add": "Add",
"search": "Search", "search": "Search",
"sortSet": "Sort", "sortSet": "Sort",

Some files were not shown because too many files have changed in this diff Show More