Compare commits

...

91 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
161 changed files with 5728 additions and 1333 deletions

8
.gitignore vendored
View File

@@ -25,3 +25,11 @@ 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,11 +134,17 @@ 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
@@ -154,7 +152,7 @@ TheDesk is a web-based app, so you can run it on a browser. Of course, the main
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

@@ -89,3 +89,6 @@ 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';
@@ -634,3 +659,30 @@ button {
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

@@ -237,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;
@@ -638,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

@@ -128,6 +128,9 @@
#his-sign-action .btn { #his-sign-action .btn {
flex-basis: calc(50% - 10.6px); 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;

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) {
@@ -569,7 +605,7 @@ function multiSelector(parseC) {
$('#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) {
@@ -631,7 +636,6 @@ function instance() {
} }
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)
let addTarget = -1
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 var target = obj.length
obj.push(add) 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,8 +149,7 @@ 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') {
@@ -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?:\/\/(.+)/)
@@ -216,3 +220,17 @@ if(pwa) {
} }
} }
} }
$('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

@@ -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
@@ -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,18 +420,25 @@ 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
draftToPost(json, acct_id, id)
}
}
}
})
}
function draftToPost(json, acct_id, id) {
$('#post-acct-sel').prop('disabled', true) $('#post-acct-sel').prop('disabled', true)
$('#post-acct-sel').val(acct_id) $('#post-acct-sel').val(acct_id)
$('select').formSelect() $('select').formSelect()
mdCheck() mdCheck()
var medias = $('[toot-id=' + id + ']').attr('data-medias') mediack = null
var mediack = json.media_attachments[0] if(json.media_attachments) mediack = json.media_attachments[0]
//メディアがあれば //メディアがあれば
var media_ids = [] var media_ids = []
if (mediack) { if (mediack) {
@@ -448,16 +455,16 @@ function redraft(id, acct_id) {
} }
} }
} }
var vismode = $('[toot-id=' + id + '] .vis-data').attr('data-vis') var vismode = json.visibility
vis(vismode) vis(vismode)
var medias = media_ids.join(','); var medias = media_ids.join(',')
$('#media').val(medias) $('#media').val(medias)
localStorage.setItem('nohide', true) localStorage.setItem('nohide', true)
show() show()
if (json.text) { if (json.text) {
var html = json.text var html = json.text
} else { } else {
var html = $('[toot-id=' + id + '] .toot').html() var html = json.status
html = html.replace(/^<p>(.+)<\/p>$/, '$1') html = html.replace(/^<p>(.+)<\/p>$/, '$1')
html = html.replace(/<br\s?\/?>/, '\n') html = html.replace(/<br\s?\/?>/, '\n')
html = html.replace(/<p>/, '\n') html = html.replace(/<p>/, '\n')
@@ -467,7 +474,7 @@ function redraft(id, acct_id) {
} }
$('#textarea').val(html) $('#textarea').val(html)
if (json.spoiler_text) { if (json.spoiler_text) {
cw() cw(true)
$('#cw-text').val(json.spoiler_text) $('#cw-text').val(json.spoiler_text)
} }
if (json.sensitive) { if (json.sensitive) {
@@ -478,10 +485,6 @@ function redraft(id, acct_id) {
if (json.in_reply_to_id) { if (json.in_reply_to_id) {
$('#reply').val(json.in_reply_to_id) $('#reply').val(json.in_reply_to_id)
} }
}
}
}
})
} }
//ピン留め //ピン留め
function pin(id, acct_id) { function pin(id, acct_id) {
@@ -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,9 +683,9 @@ function staEx(mode) {
}) })
return return
} }
function toggleAction(id) { function toggleAction(elm) {
const elm = document.getElementById(id) console.log(elm)
const instance = M.Dropdown.init(elm); const instance = M.Dropdown.init(elm)
console.log(instance.isOpen) console.log(instance.isOpen)
instance.open() instance.open()
} }

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,9 +334,14 @@ function cardCheck(tlid) {
} }
} }
function mov(id, tlid, type) { function mov(id, tlid, type, rand, target) {
const dropdownTrigger = `dropdown_${tlid}_${id}` const dropdownTrigger = `dropdown_${rand}`
const elm = document.getElementById(dropdownTrigger) 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) const instance = M.Dropdown.getInstance(elm)
if(instance) { if(instance) {
if(instance.isOpen) return false if(instance.isOpen) return false

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

@@ -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') {
@@ -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>
@@ -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}
@@ -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(
@@ -957,11 +956,9 @@ 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\'" loading="lazy">
<span style="position:relative; top:-0.2rem;">${escapeHTML(value.name)}</span> <span style="position:relative; top:-0.2rem;">${escapeHTML(value.name)}</span>
</div>` </div>`
@@ -981,8 +978,7 @@ 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}" loading="lazy"> <img draggable="false" src="${toot.quote.account.avatar}" loading="lazy">
</a> </a>
@@ -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,8 +1037,8 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
'unix' 'unix'
)}" )}"
${if_notf} ${if_notf}
onmouseover="mov('${uniqueid}','${tlid}','mv')" onmouseover="mov('${uniqueid}','${tlid}','mv', '${rand}', this)"
onclick="mov('${uniqueid}','${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>
@@ -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 {
@@ -1566,7 +1572,7 @@ function mastodonBaseStreaming(acct_id) {
setTimeout(function () { setTimeout(function () {
mastodonBaseWsStatus[domain] = 'available' mastodonBaseWsStatus[domain] = 'available'
}, 3000) }, 3000)
mastodonBaseWs[domain].send(JSON.stringify({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) {

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

@@ -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,10 +120,36 @@ function imageXhr(id, key, murl) {
var width var width
element.onload = function() { element.onload = function() {
var width = element.naturalWidth var width = element.naturalWidth
var height = element.naturalHeight
calcNiceAspect(width, height)
$('#imagemodal').attr('data-naturalWidth', width)
$('#imagemodal').attr('data-naturalHeight', height)
}
if ($('#' + id + '-image-' + (key * 1 + 1)).length == 0) {
$('#image-next').prop('disabled', true)
} else {
$('#image-next').prop('disabled', false)
}
if ($('#' + id + '-image-' + (key * 1 - 1)).length == 0) {
$('#image-prev').prop('disabled', true)
} else {
$('#image-prev').prop('disabled', false)
}
element.src = b64
var endTime = new Date()
var proctime = endTime.getTime() - startTime.getTime()
$('#imgsec').text(proctime)
$('#imgmodal').attr('src', b64)
}
}
}
xhr.responseType = 'blob'
xhr.send()
}
function calcNiceAspect( width, height ) {
if(width < 650) { if(width < 650) {
width = 650 width = 650
} }
var height = element.naturalHeight
var windowH = $(window).height() var windowH = $(window).height()
var windowW = $(window).width() var windowW = $(window).width()
$('#imagemodal').css('bottom', '0') $('#imagemodal').css('bottom', '0')
@@ -150,27 +177,6 @@ function imageXhr(id, key, murl) {
$('#imagemodal').css('height', '100vh') $('#imagemodal').css('height', '100vh')
$('#imagemodal img').css('height', 'calc(100vh - 60px)') $('#imagemodal img').css('height', 'calc(100vh - 60px)')
} }
}
if ($('#' + id + '-image-' + (key * 1 + 1)).length == 0) {
$('#image-next').prop('disabled', true)
} else {
$('#image-next').prop('disabled', false)
}
if ($('#' + id + '-image-' + (key * 1 - 1)).length == 0) {
$('#image-prev').prop('disabled', true)
} else {
$('#image-prev').prop('disabled', false)
}
element.src = b64
var endTime = new Date()
var proctime = endTime.getTime() - startTime.getTime()
$('#imgsec').text(proctime)
$('#imgmodal').attr('src', b64)
}
}
}
xhr.responseType = 'blob'
xhr.send()
} }
//ズームボタン(z:倍率) //ズームボタン(z:倍率)
function zoom(z) { function zoom(z) {
@@ -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,6 +57,10 @@ 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)
} }
} }
//メモリ //メモリ

View File

@@ -185,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) {
@@ -230,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

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

@@ -1,14 +1,14 @@
{ {
"name": "thedesk", "name": "thedesk",
"version": "21.2.4", "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",
@@ -59,16 +59,18 @@
], ],
"license": "GPL-3.0", "license": "GPL-3.0",
"dependencies": { "dependencies": {
"@fortawesome/fontawesome-free": "^5.14.0", "@fortawesome/fontawesome-free": "^5.15.2",
"@syuilo/aiscript": "^0.11.1",
"electron-dl": "^3.0.2", "electron-dl": "^3.0.2",
"jimp": "^0.16.1", "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.20", "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": "^10.3.5", "sweetalert2": "^10.14.0",
"system-font-families": "^0.4.1", "system-font-families": "^0.4.1",
"vue": "^2.6.12" "vue": "^2.6.12"
}, },
@@ -76,18 +78,20 @@
"itunes-nowplaying-mac": "0.3.1" "itunes-nowplaying-mac": "0.3.1"
}, },
"devDependencies": { "devDependencies": {
"chokidar": "^3.4.2", "browserify": "^17.0.0",
"electron": "^10.1.2", "chokidar": "^3.5.1",
"electron-builder": "^22.8.1", "electron": "^10.1.5",
"electron-rebuild": "^2.0.3", "electron-builder": "^22.9.1",
"eslint": "^7.9.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"

View File

@@ -1,22 +1,16 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="@@lang@@"> <html lang="@@lang@@">
<head>
<head>
<title>Account Manager - TheDesk</title> <title>Account Manager - TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport" /> <meta content="width=device-width,initial-scale=1.0" name="viewport" />
<link href="../../css/themes.css" type="text/css" rel="stylesheet"> <link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link <link href="../../@@node_base@@/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet" />
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/master.css" type="text/css" rel="stylesheet" />
<link href="../../css/tl.css" rel="stylesheet" type="text/css" /> <link href="../../css/tl.css" rel="stylesheet" type="text/css" />
<link href="../../css/userdata.css" rel="stylesheet" type="text/css" /> <link href="../../css/userdata.css" rel="stylesheet" type="text/css" />
<link <link href="../../@@node_base@@/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet" />
href="../../@@node_base@@/@fortawesome/fontawesome-free/css/all.min.css" <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
type="text/css"
rel="stylesheet"
/>
<link href="../../css/acct.css" rel="stylesheet" type="text/css" /> <link href="../../css/acct.css" rel="stylesheet" type="text/css" />
<meta charset="utf-8" /> <meta charset="utf-8" />
@@comment-start@@ @@comment-start@@
@@ -27,28 +21,20 @@
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script> <script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
@@comment-end@@ @@comment-end@@
@@pwa@@ @@store@@ @@pwa@@ @@store@@
</head> </head>
<body id="mainView" class="@@pwaClass@@"> <body id="mainView" class="@@pwaClass@@">
<script type="text/javascript" src="../../@@node_base@@/jquery/dist/jquery.js"></script> <script type="text/javascript" src="../../@@node_base@@/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script> <script type="text/javascript" src="../../js/platform/first.js"></script>
<script <script type="text/javascript" src="../../@@node_base@@/materialize-css/dist/js/materialize.js"></script>
type="text/javascript"
src="../../@@node_base@@/materialize-css/dist/js/materialize.js"
></script>
<script type="text/javascript" src="main.js"></script> <script type="text/javascript" src="main.js"></script>
<script <script type="text/javascript" src="../../@@node_base@@/sweetalert2/dist/sweetalert2.all.min.js"></script>
type="text/javascript"
src="../../@@node_base@@/sweetalert2/dist/sweetalert2.all.min.js"
></script>
<script> <script>
var misskeytoken = false var misskeytoken = false
</script> </script>
<script type="text/javascript" src="../../js/common/time.js"></script> <script type="text/javascript" src="../../js/common/time.js"></script>
<div class="hide-first"> <div class="hide-first">
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;" <a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;">@@back@@</a><br />
>@@back@@</a
><br />
<h5>@@list@@</h5> <h5>@@list@@</h5>
<div id="acct-list"></div> <div id="acct-list"></div>
<div class="divider"></div> <div class="divider"></div>
@@ -76,8 +62,7 @@
</div> </div>
<label> <label>
<input type="checkbox" class="filled-in" id="misskey" /> <input type="checkbox" class="filled-in" id="misskey" />
<span>@@thisismisskey@@</span> </label <span>@@thisismisskey@@</span> </label><br />
><br />
</div> </div>
<div class="col s4 scr" aria-hidden="true"> <div class="col s4 scr" aria-hidden="true">
<span style="font-family:Open Sans;">Supports</span> <span style="font-family:Open Sans;">Supports</span>
@@ -93,11 +78,9 @@
<a onclick="atSetup()" class="pointer">@@accessTokenSetup@@</a> <a onclick="atSetup()" class="pointer">@@accessTokenSetup@@</a>
<div id="compt" style="display:none" class="scr"> <div id="compt" style="display:none" class="scr">
<h5>ログイン前に必ずご確認ください</h5> <h5>ログイン前に必ずご確認ください</h5>
<span id="compt-instance"></span>はバージョンが<span id="compt-ver"></span <span id="compt-instance"></span>はバージョンが<span id="compt-ver"></span>のため以下の機能がご利用いただけません。
>のため以下の機能がご利用いただけません。 <span id="compt-warn"
<span id="compt-warn" style="display:none" style="display:none">また、このインスタンスはMastodonではなくそのAPI上の互換実装であり、TheDeskでは利用を想定していないため非保証となります。</span>
>また、このインスタンスはMastodonではなくそのAPI上の互換実装であり、TheDeskでは利用を想定していないため非保証となります。</span
>
<ul id="compt-list"></ul> <ul id="compt-list"></ul>
</div> </div>
</div> </div>
@@ -116,12 +99,7 @@
<div class="input-field" style="width:300px"> <div class="input-field" style="width:300px">
<span data-trans="your_acct">@@selacct@@</span> <span data-trans="your_acct">@@selacct@@</span>
<br /> <br />
<select <select id="main-acct-sel" class="acct-sel" style="color:black" onchange="mainacct()"></select>
id="main-acct-sel"
class="acct-sel"
style="color:black"
onchange="mainacct()"
></select>
<label></label> <label></label>
</div> </div>
<ul id="domain-list" class="collection transparent"></ul> <ul id="domain-list" class="collection transparent"></ul>
@@ -150,5 +128,6 @@
<script type="text/javascript" src="../../js/login/manager.js"></script> <script type="text/javascript" src="../../js/login/manager.js"></script>
<script type="text/javascript" src="../../js/tl/date.js"></script> <script type="text/javascript" src="../../js/tl/date.js"></script>
<script>$('body').addClass(localStorage.getItem('platform'))</script> <script>$('body').addClass(localStorage.getItem('platform'))</script>
</body> </body>
</html> </html>

View File

@@ -43,6 +43,12 @@
<i class="material-icons">chat</i> <i class="material-icons">chat</i>
</button> </button>
</div> </div>
<div id="offline" class="hide">
@@nowOffline@@
</div>
<div id="re-online" class="hide">
@@reOnline@@
</div>
<div id="tl"> <div id="tl">
<!--TL--> <!--TL-->
<!--スターター--> <!--スターター-->
@@ -269,6 +275,9 @@
<li class="mac"> <li class="mac">
<a onclick="nowplaying('itunes');">NowPlaying (iTunes macOS)</a> <a onclick="nowplaying('itunes');">NowPlaying (iTunes macOS)</a>
</li> </li>
<li class="mac hide" id="ccnp">
<a onclick="nowplaying('anynp');">NowPlaying (コントロールセンター)</a>
</li>
<li> <li>
<a onclick="nowplaying('lastFm');">NowPlaying (Last.fm)</a> <a onclick="nowplaying('lastFm');">NowPlaying (Last.fm)</a>
</li> </li>
@@ -278,6 +287,9 @@
<li> <li>
<a onclick="pollToggle();">@@poll@@</a> <a onclick="pollToggle();">@@poll@@</a>
</li> </li>
<li>
<a onclick="draftToggle();">@@draft@@</a>
</li>
</ul> </ul>
<!--hidden area--> <!--hidden area-->
<input type="hidden" id="reply" /> <input type="hidden" id="reply" />
@@ -297,6 +309,7 @@
</div> </div>
<div id="right-side"> <div id="right-side">
<div id="suggest" class="right-side-content"></div> <div id="suggest" class="right-side-content"></div>
<div id="draft" class="hide right-side-content"></div>
<!--絵文字ピッカー--> <!--絵文字ピッカー-->
<div id="emoji" class="hide right-side-content"> <div id="emoji" class="hide right-side-content">
<span class="gray sml">@@emojiWarn@@ <span class="gray sml">@@emojiWarn@@
@@ -729,6 +742,9 @@
<a class="waves-effect white-text" onclick="zoom(0.5)"> <a class="waves-effect white-text" onclick="zoom(0.5)">
<i class="material-icons">zoom_out</i> <i class="material-icons">zoom_out</i>
</a> </a>
<a class="waves-effect white-text" onclick="rotate(false)">
<i class="material-icons">rotate_90_degrees_ccw</i>
</a>
<button class="btn waves-effect blue" onclick="copyImgUrl()" title="@@copyURL@@"> <button class="btn waves-effect blue" onclick="copyImgUrl()" title="@@copyURL@@">
<i class="material-icons">link</i> <i class="material-icons">link</i>
</button> </button>
@@ -765,18 +781,21 @@
<a href="https://thedesk.top" target="_blank">HP</a><br /> <a href="https://thedesk.top" target="_blank">HP</a><br />
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br /> <a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br />
<br /> <br />
<div id="release-21-2-4_Mayu" class="release-do" style="display:none; "> <div id="release-22-1-0_Koume" class="release-do" style="display:none; ">
<br /> <br />
<a href="https://ja.mstdn. <a href="https://ja.mstdn.
wiki/TheDesk" target="_blank">機能一覧</a><br /> wiki/TheDesk" target="_blank">機能一覧</a><br />
Pixiv Pixiv
FanboxやPatreonでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br /> FanboxやPatreonでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br />
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。 困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
<h5>Release Note 21.2.4 (Mayu)</h5> <h5>Release Note 22.1.0 (Koume)</h5>
<!--上のdivのidも変えてね--> <!--上のdivのidも変えてね-->
Tipsのデザイン修正/メモリ表示時に稼働時間を表示 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br> Crowdin連携の強化 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
・タイムラインでカラムの挿入場所がズレたり、挿入されなかったりするバグ <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br> ・macOSにおけるNowPlayingで、コントロールセンター経由を追加 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
・イタリア語を追加 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br> ・Pleroma特有のリフレッシュトークンの実装 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a> <a onclick="udgEx('kPherox@pl.kplerox.dev','main')" class="contributor"><img src="https://user-images.githubusercontent.com/17561618/66582379-a3714800-ebbc-11e9-8402-d81a35a3be9f.png">kPherox</a><br>
・画像の回転ボタン <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
・タグやメンションのリンクの対象アカウントがうまく認識されない不具合を修正 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a> <a onclick="udgEx('popn_ja@popon.pptdn.jp','main')" class="contributor"><img src="https://avatars3.githubusercontent.com/u/24523508?s=88&v=4">kaias1jp</a><br>
・TweetDeck連携を削除 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
</div> </div>
<div id="release-en" style="display:none"> <div id="release-en" style="display:none">
@@ -1085,7 +1104,7 @@
<!--TLのTL--> <!--TLのTL-->
<div id="timeline-container"> <div id="timeline-container">
<div id="something-wrong"> <div id="something-wrong">
<img src="../../img/desk.svg" style="width:150px;margin:5px;display:none;" draggable="false" /> <img src="../../img/thinking.svg" style="width:150px;margin:5px;display:none;" draggable="false" />
<div class="stw" style="display: none">@@helloTheDesk@@</div> <div class="stw" style="display: none">@@helloTheDesk@@</div>
</div> </div>
</div> </div>
@@ -1210,8 +1229,10 @@
<!--JS--> <!--JS-->
<script type="text/javascript" src="../../@@node_base@@/jquery/dist/jquery.js"></script> <script type="text/javascript" src="../../@@node_base@@/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script> <script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../@@node_base@@/grapheme-splitter/index.js"></script> <script type="text/javascript" src="../../js/platform/aiscript.js"></script>
<script type="text/javascript" src="../../js/platform/plugin.js"></script>
<script type="text/javascript" src="../../@@node_base@@/materialize-css/dist/js/materialize.js"></script> <script type="text/javascript" src="../../@@node_base@@/materialize-css/dist/js/materialize.js"></script>
<script type="text/javascript" src="../../@@node_base@@/grapheme-splitter/index.js"></script>
<script type="text/javascript" src="../../@@node_base@@/lodash/lodash.min.js"></script> <script type="text/javascript" src="../../@@node_base@@/lodash/lodash.min.js"></script>
<script type="text/javascript" src="main.js"></script> <script type="text/javascript" src="main.js"></script>
<script type="text/javascript" src="../../js/common/time.js"></script> <script type="text/javascript" src="../../js/common/time.js"></script>

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

@@ -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

@@ -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": " проверка",
@@ -149,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": "Добавете към албум произведенията на изкуството",

View File

@@ -67,10 +67,8 @@
"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 дни“",
@@ -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": "Можете да вмъкнете всякакви букви и емотикони само с 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",

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

@@ -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",
@@ -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": "Č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“",
@@ -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

@@ -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

@@ -17,7 +17,7 @@
"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)",

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",
@@ -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",

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",
@@ -137,18 +142,19 @@
"lang_layout_dm": "Direkte Nachricht", "lang_layout_dm": "Direkte Nachricht",
"lang_layout_webviewmode": "Web-Ansicht bevorzugen", "lang_layout_webviewmode": "Web-Ansicht bevorzugen",
"lang_layout_excluded": "Excluded type of notification", "lang_layout_excluded": "Excluded type of notification",
"lang_layout_mention": "Mentions", "lang_layout_mention": "Erwähnungen",
"lang_layout_fav": "Favourites", "lang_layout_fav": "Favoriten",
"lang_layout_bt": "Boosts", "lang_layout_bt": "Boosts",
"lang_layout_poll": "Polls", "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",
@@ -165,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",
@@ -179,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",
@@ -219,11 +225,11 @@
"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_parse_disconnected": "Streaming has been disconnected(retry after 3s)",
@@ -241,7 +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": "Compatible", "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

@@ -20,7 +20,7 @@
"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",
@@ -48,12 +48,12 @@
"customthemeDirection": "Farbschema", "customthemeDirection": "Farbschema",
"advanced": "Erweiterte Einstellungen", "advanced": "Erweiterte Einstellungen",
"advancedWarn": "", "advancedWarn": "",
"use": "Use this", "use": "Benutze dies",
"copyFrom": "Kopieren von", "copyFrom": "Kopieren von",
"bg": "Hintergrundfarbe", "bg": "Hintergrundfarbe",
"subcolor": "Distinguishable from background", "subcolor": "Vom Hintergrund unterscheidbar",
"text": "Textfarbe", "text": "Textfarbe",
"accent": "Hintergrund des Boosts", "accent": "Hintergrund der Boosts",
"modal": "Background of modal window", "modal": "Background of modal window",
"modalFooter": "Background of modal window's footer", "modalFooter": "Background of modal window's footer",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)", "thirdColor": "Backgroud of tag buttons, etc(near to Background)",
@@ -67,10 +67,8 @@
"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\"",
@@ -144,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",
@@ -158,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",

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

@@ -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",
@@ -149,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",

View File

@@ -67,10 +67,8 @@
"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",
@@ -144,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",
@@ -158,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

@@ -1,5 +1,7 @@
{ {
"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": "Buscar en la Web", "webSrc": "Buscar en la Web",
"tsSrc": "Buscar en tootsearch", "tsSrc": "Buscar en tootsearch",
@@ -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",

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",
@@ -71,6 +72,7 @@
"lang_post_btn3": "Continuar con el envío", "lang_post_btn3": "Continuar con el envío",
"lang_post_unfinishedMedia": "El servidor no ha terminado de procesar tu archivo. Volvé a intentarlo.", "lang_post_unfinishedMedia": "El servidor no ha terminado de procesar tu archivo. Volvé a intentarlo.",
"lang_post_retry": "Reintentar", "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",
@@ -149,6 +154,7 @@
"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": "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_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",

View File

@@ -67,10 +67,8 @@
"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\"",
@@ -144,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",
@@ -158,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",

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

@@ -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

@@ -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",

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",
@@ -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

@@ -5,55 +5,55 @@
"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",
"width": "Width of columns", "width": "Largeur des colonnes",
"widthwarn": "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": "Margin between timelines", "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 themes", "customtheme": "Modifier et ajouter des thèmes",
"customthemeDirection": "Color scheme", "customthemeDirection": "Jeu de couleurs",
"advanced": "Advanced options", "advanced": "Options avancées",
"advancedWarn": "", "advancedWarn": "",
"use": "Use this", "use": "Utiliser ceci",
"copyFrom": "Copy from", "copyFrom": "Copier depuis",
"bg": "Background color", "bg": "Couleur de l'arrière-plan",
"subcolor": "Distinguishable from background", "subcolor": "Distinguishable from background",
"text": "Text color", "text": "Couleur du texte",
"accent": "Background of boosts", "accent": "Arrière-plan des boosts",
"modal": "Background of modal window", "modal": "Background of modal window",
"modalFooter": "Background of modal window's footer", "modalFooter": "Background of modal window's footer",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)", "thirdColor": "Backgroud of tag buttons, etc(near to Background)",
@@ -64,13 +64,11 @@
"active": "Background of 'active' elements", "active": "Background of 'active' elements",
"selected": "Background of selected with arrow keys", "selected": "Background of selected with arrow keys",
"selectedWithShare": "Background of selected with arrow keys(boosted toots)", "selectedWithShare": "Background of selected with arrow keys(boosted toots)",
"add_new": "Add new", "add_new": "Ajouter",
"name": "Name", "name": "Nom",
"desc": "About this theme", "desc": "À propos de ce thème",
"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": "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\"",
@@ -95,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:(",
@@ -103,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 OpenSticker", "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é",
@@ -137,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",
@@ -153,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",
@@ -172,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",
@@ -193,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",

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

@@ -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

@@ -1,5 +1,7 @@
{ {
"draghere": "Trascina qui per caricare", "draghere": "Trascina qui per caricare",
"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": "Chiudi", "close": "Chiudi",
"webSrc": "Cerca sul Web", "webSrc": "Cerca sul Web",
"tsSrc": "Cerca su tootsearch", "tsSrc": "Cerca su tootsearch",
@@ -45,6 +47,7 @@
"thingsEmoji": "Emoji di strumenti", "thingsEmoji": "Emoji di strumenti",
"symbolEmoji": "Emoji di simboli", "symbolEmoji": "Emoji di simboli",
"flagsEmoji": "Emoji delle bandiere", "flagsEmoji": "Emoji delle bandiere",
"draft": "Draft",
"poll": "Sondaggio", "poll": "Sondaggio",
"pollDdisabled": "Sondaggi: Disabilitato", "pollDdisabled": "Sondaggi: Disabilitato",
"pollProvider": "Fornitore del sondaggio", "pollProvider": "Fornitore del sondaggio",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Apri DevCenter di Misskey. Mostriamo anche un documento ufficiale da riferire.", "lang_manager_godev": "Apri DevCenter di Misskey. Mostriamo anche un documento ufficiale da riferire.",
"lang_manager_logout": "Esci", "lang_manager_logout": "Esci",
"lang_manager_maxChars": "Max caratteri dei toot", "lang_manager_maxChars": "Max caratteri dei toot",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk considera \"@\" come risposta, ma mettere altri parametri. Non elencato su Mastodon significa Home su Misskey.", "lang_bbmd_misskey": "TheDesk considera \"@\" come risposta, ma mettere altri parametri. Non elencato su Mastodon significa Home su Misskey.",
"lang_emoji_get": "Ottieni emoji", "lang_emoji_get": "Ottieni emoji",
"lang_emoji_custom": "Emoji personalizzate", "lang_emoji_custom": "Emoji personalizzate",
@@ -71,6 +72,7 @@
"lang_post_btn3": "Continua a pubblicare", "lang_post_btn3": "Continua a pubblicare",
"lang_post_unfinishedMedia": "Il server non ha finito di elaborare il tuo supporto. Riprova.", "lang_post_unfinishedMedia": "Il server non ha finito di elaborare il tuo supporto. Riprova.",
"lang_post_retry": "Riprova", "lang_post_retry": "Riprova",
"lang_post_offline": "Add to the drafts because of offline",
"lang_status_favWarn": "Ci vorrà un miunte per preferire un toot remoto.", "lang_status_favWarn": "Ci vorrà un miunte per preferire un toot remoto.",
"lang_status_btWarn": "Ci vorrà un miunte per aumentare un toot remoto.", "lang_status_btWarn": "Ci vorrà un miunte per aumentare un toot remoto.",
"lang_status_follow": "Segui", "lang_status_follow": "Segui",
@@ -87,6 +89,9 @@
"lang_status_endorse": "Caratteristica sul profilo", "lang_status_endorse": "Caratteristica sul profilo",
"lang_status_followers": "Follower", "lang_status_followers": "Follower",
"lang_status_active": "Ultimo stato", "lang_status_active": "Ultimo stato",
"lang_secure_draft": "Add to draft",
"lang_secure_useThis": "Usa questo",
"lang_secure_deleteThis": "Elimina questo",
"lang_suggest_nodata": "Si prega di ottenere l'elenco delle emoji per mostrare il suggerimento.", "lang_suggest_nodata": "Si prega di ottenere l'elenco delle emoji per mostrare il suggerimento.",
"lang_usetxtbox_reply": "Modalità di risposta. Ctrl+Maiusc+C per cancellare.", "lang_usetxtbox_reply": "Modalità di risposta. Ctrl+Maiusc+C per cancellare.",
"lang_cards_check": " controlla", "lang_cards_check": " controlla",
@@ -149,6 +154,7 @@
"lang_layout_unread": "Non Letta", "lang_layout_unread": "Non Letta",
"lang_layout_tagManager": "Gestore timeline tag", "lang_layout_tagManager": "Gestore timeline tag",
"lang_layout_announ": "Annuncio: il contatore è il numero dei tuoi annunci non letti. Se non mostrato, significa che gli annunci sono tutti contrassegnati come letti.", "lang_layout_announ": "Annuncio: il contatore è il numero dei tuoi annunci non letti. Se non mostrato, significa che gli annunci sono tutti contrassegnati come letti.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Vai a questa colonna", "lang_sort_gothis": "Vai a questa colonna",
"lang_sort_remthis": "Elimina questa colonna", "lang_sort_remthis": "Elimina questa colonna",
"lang_spotify_img": "Allega una copertina album", "lang_spotify_img": "Allega una copertina album",

View File

@@ -67,10 +67,8 @@
"add_new": "Aggiungi nuovo", "add_new": "Aggiungi nuovo",
"name": "Nome", "name": "Nome",
"desc": "Informazioni su questo tema", "desc": "Informazioni su questo tema",
"customShare": "Condividi questo codice con altri TheDesk. Non condividere questo codice con MiAS.",
"customImport": "Importa temi personalizzati", "customImport": "Importa temi personalizzati",
"delete": "Elimina", "delete": "Elimina",
"cImpWarn": "Ottieni altri temi su <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Preferenze Della Timeline", "timeline": "Preferenze Della Timeline",
"timemode": "Formato orario", "timemode": "Formato orario",
"relativetime": "Formato relativo:\"1 minuti fa\",\"3 giorni fa\"", "relativetime": "Formato relativo:\"1 minuti fa\",\"3 giorni fa\"",
@@ -144,6 +142,10 @@
"notqt": "Disattivato(Migliore sui TL)", "notqt": "Disattivato(Migliore sui TL)",
"apiQuote": "API(solo alcuni casi)", "apiQuote": "API(solo alcuni casi)",
"showBookmarkAction": "Mostra un pulsante toot per segnalibri", "showBookmarkAction": "Mostra un pulsante toot per segnalibri",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Account predefiniti delle azioni", "main": "Account predefiniti delle azioni",
"mainwarn": "L'account principale può essere impostato su Account Manager.", "mainwarn": "L'account principale può essere impostato su Account Manager.",
"lastacct": "Account utilizzato di recente", "lastacct": "Account utilizzato di recente",
@@ -158,6 +160,9 @@
"keysc": "Preferenze scorciatoia tastiera", "keysc": "Preferenze scorciatoia tastiera",
"iks": "Inseritore facile", "iks": "Inseritore facile",
"okswarn": "È possibile inserire qualsiasi lettera ed emoji con solo 3 tasti", "okswarn": "È possibile inserire qualsiasi lettera ed emoji con solo 3 tasti",
"plugin": "Plugins",
"howToWritePlugin": "Japanese docs of AiScript TheDesk plugins",
"pluginList": "Plugin list",
"muteemp": "Preferenze Di Muto & Emphasis", "muteemp": "Preferenze Di Muto & Emphasis",
"climute": "Silenzia Client", "climute": "Silenzia Client",
"cliemp": "Emfasi del client", "cliemp": "Emfasi del client",

View File

@@ -1,5 +1,7 @@
{ {
"draghere":"ドラッグしてみ?(ドラッグしたらすぐアップロードされるで)", "draghere":"ドラッグしてみ?(ドラッグしたらすぐアップロードされるで)",
"nowOffline":"オフラインやで。投稿は全部下書きに行くし、もしオンラインなったら再読み込みしたらええで。",
"reOnline":"オンライン戻ったから再読み込みしてな。",
"close":"Close", "close":"Close",
"webSrc": "Webでさがす", "webSrc": "Webでさがす",
"tsSrc": "tootsearchでさがす", "tsSrc": "tootsearchでさがす",
@@ -43,6 +45,7 @@
"thingsEmoji":"もの", "thingsEmoji":"もの",
"symbolEmoji":"記号", "symbolEmoji":"記号",
"flagsEmoji":"国旗", "flagsEmoji":"国旗",
"draft": "下書き(タンス)",
"poll":"アンケート", "poll":"アンケート",
"pollDdisabled":"アンケート付けへん", "pollDdisabled":"アンケート付けへん",
"pollProvider":"アンケートのプロバイダ", "pollProvider":"アンケートのプロバイダ",

View File

@@ -48,6 +48,7 @@
"lang_manager_none": "なし", "lang_manager_none": "なし",
"lang_manager_godev": "", "lang_manager_godev": "",
"lang_manager_logout": "ログアウト", "lang_manager_logout": "ログアウト",
"lang_manager_refreshAt": "このドメインでログイン",
"lang_bbmd_misskey": "TheDeskのMisskeyは、@を返信として扱うけんど、全ての@はなおされて別パラメータになってまう。ついでに、「未収載」は「ホーム」扱いや。", "lang_bbmd_misskey": "TheDeskのMisskeyは、@を返信として扱うけんど、全ての@はなおされて別パラメータになってまう。ついでに、「未収載」は「ホーム」扱いや。",
"lang_emoji_get": "絵文字リスト引っ張ってくる", "lang_emoji_get": "絵文字リスト引っ張ってくる",
"lang_emoji_custom": "カスタム絵文字", "lang_emoji_custom": "カスタム絵文字",
@@ -72,6 +73,7 @@
"lang_status_btWarn": "ブーストしたんやけどインスタンスがちゃうときは時間がかかるで、知らんけど。", "lang_status_btWarn": "ブーストしたんやけどインスタンスがちゃうときは時間がかかるで、知らんけど。",
"lang_post_unfinishedMedia": "処理未了のメディアがあります。再試行してください。", "lang_post_unfinishedMedia": "処理未了のメディアがあります。再試行してください。",
"lang_post_retry": "再試行", "lang_post_retry": "再試行",
"lang_post_offline": "オフラインやったし下書きいれといたで",
"lang_status_follow": "フォロー", "lang_status_follow": "フォロー",
"lang_status_unfollow": "フォロー解除", "lang_status_unfollow": "フォロー解除",
"lang_status_block": "ブロック", "lang_status_block": "ブロック",
@@ -86,6 +88,9 @@
"lang_status_endorse": "プロフで紹介する", "lang_status_endorse": "プロフで紹介する",
"lang_status_followers": "フォロワー", "lang_status_followers": "フォロワー",
"lang_status_active": "最新トゥート", "lang_status_active": "最新トゥート",
"lang_secure_draft": "タンスになおす",
"lang_secure_useThis": "使う",
"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": "チェック",
@@ -148,6 +153,7 @@
"lang_layout_unread": "未読", "lang_layout_unread": "未読",
"lang_layout_tagManager": "タグタイムラインをいじる", "lang_layout_tagManager": "タグタイムラインをいじる",
"lang_layout_announ": "お知らせ: 数字は未読数や。表示されてんときはもう読んでしもたいうことやな。", "lang_layout_announ": "お知らせ: 数字は未読数や。表示されてんときはもう読んでしもたいうことやな。",
"lang_layout_resetWidth": "横幅自動調節",
"lang_sort_gothis": "このカラムへ", "lang_sort_gothis": "このカラムへ",
"lang_sort_remthis": "このカラムを消す", "lang_sort_remthis": "このカラムを消す",
"lang_spotify_img": "アルバムアートワークを付けるで。", "lang_spotify_img": "アルバムアートワークを付けるで。",

View File

@@ -66,10 +66,8 @@
"add_new": "新規作成", "add_new": "新規作成",
"name": "名前", "name": "名前",
"desc": "説明", "desc": "説明",
"customShare": "このコードは他のTheDeskなどとシェアできるけこのコードをMiASに貼るのはあかん。詳細:<a href=\"https://thedesk.top/mias.html\" target=\"_blank\">テーマ互換性</a>",
"customImport": "カスタムテーマのインポート", "customImport": "カスタムテーマのインポート",
"delete": "削除", "delete": "削除",
"cImpWarn": "<a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>上の80を超えるテーマを張っ付けることもできる。",
"timeline": "タイムラインの設定", "timeline": "タイムラインの設定",
"timemode": "時間表記設定", "timemode": "時間表記設定",
"relativetime": "相対時間の例:\"1分前\",\"3日前\"", "relativetime": "相対時間の例:\"1分前\",\"3日前\"",
@@ -142,6 +140,10 @@
"full": "本文・URL・アカウント名", "full": "本文・URL・アカウント名",
"notqt": "使わない(TL上にボタンも出さん)", "notqt": "使わない(TL上にボタンも出さん)",
"apiQuote": "パラメーター(対応インスタンス)", "apiQuote": "パラメーター(対応インスタンス)",
"scrollBar": "スクロールバーの太さ",
"thin": "スリム",
"normal": "並",
"thick": "ごっつい",
"main": "投稿後や起動時のアカウント", "main": "投稿後や起動時のアカウント",
"mainwarn": "メインアカウントはアカウント設定で選んどいてな。投稿以外のアカウント選択もこれ使うで。", "mainwarn": "メインアカウントはアカウント設定で選んどいてな。投稿以外のアカウント選択もこれ使うで。",
"lastacct": "最後に使用したアカウント", "lastacct": "最後に使用したアカウント",
@@ -156,6 +158,9 @@
"keysc": "キーボードショートカットの設定", "keysc": "キーボードショートカットの設定",
"iks": "簡単文字入力", "iks": "簡単文字入力",
"okswarn": "絵文字やタグ、&gt;BTなどを登録しておくとすぐに使えてええ感じや。", "okswarn": "絵文字やタグ、&gt;BTなどを登録しておくとすぐに使えてええ感じや。",
"plugin": "プラグイン",
"howToWritePlugin": "AiScriptでTheDeskプラグイン書いたろ",
"pluginList": "プラグイン一覧",
"muteemp": "ミュート・強調の設定", "muteemp": "ミュート・強調の設定",
"climute": "クライアントミュート", "climute": "クライアントミュート",
"cliemp": "クライアント強調", "cliemp": "クライアント強調",

View File

@@ -1,5 +1,7 @@
{ {
"draghere":"ここにドラッグして添付(ドラッグと同時にアップロードされます)", "draghere":"ここにドラッグして添付(ドラッグと同時にアップロードされます)",
"nowOffline":"オフラインです。投稿はすべて下書きに追加されます。オンライン復帰時には再読み込みを推奨します。",
"reOnline": "オンラインに復帰しました。再読み込みを推奨します。",
"webSrc": "Webで検索", "webSrc": "Webで検索",
"tsSrc": "tootsearchで検索", "tsSrc": "tootsearchで検索",
"close":"Close", "close":"Close",
@@ -45,6 +47,7 @@
"thingsEmoji":"もの", "thingsEmoji":"もの",
"symbolEmoji":"記号", "symbolEmoji":"記号",
"flagsEmoji":"国旗", "flagsEmoji":"国旗",
"draft": "下書き",
"poll":"アンケート", "poll":"アンケート",
"pollDdisabled":"アンケートを使用しない", "pollDdisabled":"アンケートを使用しない",
"pollProvider":"アンケートのプロバイダ", "pollProvider":"アンケートのプロバイダ",

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