Compare commits

...

122 Commits

Author SHA1 Message Date
f0ddcb8d6d Images now actually send filenames to the server. Server may still disregard them, but pleromer will actually detect mime type properly and generate a sane URL. 2024-04-14 20:25:39 +10:00
9e43a19084 Baked in twemoji to energised.botegirl.parts. This will later become a config option. 2024-04-03 17:38:17 +11:00
85017bbfd7 Start of a way to override cert issues, for self-signed instances 2023-12-08 00:14:08 +11:00
3fd79df1c2 Not sure where that came from 2022-12-26 20:11:02 +11:00
7ece60d925 merge 2022-12-26 18:30:30 +11:00
cutls
0c59d3140e misskey cannot show TL 2022-12-24 22:40:11 +09:00
cutls
89e0109cba google to mastodon providing api 2022-12-11 17:56:05 +09:00
cutls
9af6c5536a Fix emoji in HTML attribute value 2022-12-10 12:29:49 +09:00
cutls
bf4f3c2e5e revert 2022-12-10 12:29:06 +09:00
cutls
6f247c9f09 Merge branch 'master' of github.com:cutls/TheDesk 2022-12-10 12:27:50 +09:00
cutls
e4a9eca514 Fix emoji in HTML attribute value 2022-12-10 12:27:46 +09:00
Cutls
f735858339 Update manager.js 2022-12-08 09:57:21 +09:00
cutls
29d6146e02 add universal package for macOS 2022-12-08 02:52:28 +09:00
cutls
704d235feb 23.0.3 2022-12-08 01:30:37 +09:00
cutls
3b58f2a2ad release note 2022-12-08 01:30:17 +09:00
cutls
06e1b08398 nano mode 2022-12-08 01:20:03 +09:00
cutls
d09efb0b05 sort hidden 2022-12-08 01:19:55 +09:00
cutls
f432b13cc0 i18n of continueCw 2022-12-08 01:07:45 +09:00
cutls
5504c4039a trend link design 2022-12-08 01:07:31 +09:00
cutls
af3442b414 font size change 2022-12-08 01:07:17 +09:00
cutls
fdaa7dfb62 easy tweetdeck add 2022-12-08 01:07:04 +09:00
cutls
c71e2e52be to 2m.cutls.com 2022-12-08 01:06:30 +09:00
cutls
f225e216e0 image loading count 2022-12-08 00:29:30 +09:00
cutls
fa4d42a1f0 fix notification filter 2022-12-08 00:27:32 +09:00
cutls
d5ca0bad24 pre: code-skip setup, fix: compatible info 2022-12-08 00:25:09 +09:00
cutls
f573ecc9eb preffer using code-skip setup and show compatible data 2022-12-08 00:24:28 +09:00
cutls
a298228143 cannot launch notarized app 2022-12-07 23:23:50 +09:00
cutls
0fb7670d2d remove debug alert 2022-12-07 23:22:51 +09:00
cutls
4ef964f539 vue dependency update #788 2022-12-07 23:22:36 +09:00
cutls
12163aaa3d revert electron to 21.1.0 2022-12-06 00:26:45 +09:00
Cutls
622a5419bc New Crowdin updates (#738)
* New translations index.json (Romanian)

* New translations main.json (Portuguese)

* New translations index.json (Italian)

* New translations main.json (Italian)

* New translations index.json (Dutch)

* New translations main.json (Dutch)

* New translations index.json (Norwegian)

* New translations main.json (Norwegian)

* New translations index.json (Polish)

* New translations main.json (Polish)

* New translations index.json (Portuguese)

* New translations index.json (Russian)

* New translations index.json (Hungarian)

* New translations main.json (Russian)

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

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

* New translations index.json (Swedish)

* New translations main.json (Swedish)

* New translations index.json (Turkish)

* New translations main.json (Turkish)

* New translations index.json (Ukrainian)

* New translations main.json (Ukrainian)

* New translations index.json (Chinese Simplified)

* New translations main.json (Hungarian)

* New translations main.json (Hebrew)

* New translations main.json (Romanian)

* New translations index.json (Catalan)

* New translations index.json (French)

* New translations main.json (French)

* New translations index.json (Spanish)

* New translations main.json (Spanish)

* New translations index.json (Afrikaans)

* New translations main.json (Afrikaans)

* New translations index.json (Arabic)

* New translations main.json (Arabic)

* New translations index.json (Bulgarian)

* New translations main.json (Bulgarian)

* New translations main.json (Catalan)

* New translations index.json (Hebrew)

* New translations index.json (Czech)

* New translations main.json (Czech)

* New translations index.json (Danish)

* New translations main.json (Danish)

* New translations index.json (German)

* New translations main.json (German)

* New translations index.json (Greek)

* New translations main.json (Greek)

* New translations index.json (Finnish)

* New translations main.json (Finnish)

* New translations main.json (Chinese Simplified)

* New translations index.json (Chinese Traditional)

* New translations main.json (Chinese Traditional)

* New translations index.json (Vietnamese)

* New translations main.json (Vietnamese)

* New translations index.json (Portuguese, Brazilian)

* New translations main.json (Portuguese, Brazilian)

* New translations index.json (Spanish, Argentina)

* New translations main.json (Spanish, Argentina)

* New translations index.json (Sinhala)

* New translations main.json (Sinhala)

* New translations index.json (Cornish)

* New translations main.json (Cornish)

* New translations index.json (English)

* New translations main.json (English)

* New translations index.json (German)

* New translations main.json (German)

* New translations acct.json (Spanish)

* New translations index.json (Spanish)

* New translations update.json (Spanish)

* New translations acct.json (Spanish)

* New translations index.json (Spanish)

* New translations main.json (Spanish)

* New translations setting.json (Spanish)

* New translations acct.json (Korean)

* New translations index.json (Korean)

* New translations main.json (Korean)

* New translations setting.json (Korean)

* New translations update.json (Korean)

* New translations main.json (Korean)

* New translations main.json (Romanian)

* New translations main.json (French)

* New translations main.json (Spanish)

* New translations main.json (Afrikaans)

* New translations main.json (Arabic)

* New translations main.json (Bulgarian)

* New translations main.json (Catalan)

* New translations main.json (Czech)

* New translations main.json (Danish)

* New translations main.json (German)

* New translations main.json (Greek)

* New translations main.json (Finnish)

* New translations main.json (Hebrew)

* New translations main.json (Hungarian)

* New translations main.json (Italian)

* New translations main.json (Dutch)

* New translations main.json (Norwegian)

* New translations main.json (Polish)

* New translations main.json (Portuguese)

* New translations main.json (Russian)

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

* New translations main.json (Swedish)

* New translations main.json (Turkish)

* New translations main.json (Ukrainian)

* New translations main.json (Chinese Simplified)

* New translations main.json (Chinese Traditional)

* New translations main.json (Vietnamese)

* New translations main.json (Portuguese, Brazilian)

* New translations main.json (Spanish, Argentina)

* New translations main.json (Sinhala)

* New translations main.json (Cornish)

* New translations main.json (English)
2022-12-06 00:23:41 +09:00
Cutls
77fee7add6 Merge pull request #740 from cutls/dependabot/npm_and_yarn/app/chokidar-3.5.3
Bump chokidar from 3.5.2 to 3.5.3 in /app
2022-12-06 00:23:25 +09:00
Cutls
c9968ed5e6 Merge branch 'master' into dependabot/npm_and_yarn/app/chokidar-3.5.3 2022-12-06 00:22:41 +09:00
Cutls
e06672b220 Merge pull request #742 from cutls/dependabot/npm_and_yarn/app/json5-2.2.1
Bump json5 from 2.2.0 to 2.2.1 in /app
2022-12-06 00:22:09 +09:00
dependabot[bot]
2a83cc745a Bump chokidar from 3.5.2 to 3.5.3 in /app
Bumps [chokidar](https://github.com/paulmillr/chokidar) from 3.5.2 to 3.5.3.
- [Release notes](https://github.com/paulmillr/chokidar/releases)
- [Commits](https://github.com/paulmillr/chokidar/compare/3.5.2...3.5.3)

---
updated-dependencies:
- dependency-name: chokidar
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 15:21:59 +00:00
Cutls
cbafc36d14 Merge pull request #744 from cutls/dependabot/npm_and_yarn/app/dotenv-16.0.3
Bump dotenv from 10.0.0 to 16.0.3 in /app
2022-12-06 00:21:57 +09:00
Cutls
ed94e5e38b Merge pull request #745 from cutls/dependabot/npm_and_yarn/app/jquery-3.6.1
Bump jquery from 3.6.0 to 3.6.1 in /app
2022-12-06 00:21:49 +09:00
Cutls
d1886fe903 Merge pull request #746 from cutls/dependabot/npm_and_yarn/app/uuid-9.0.0
Bump uuid from 8.3.2 to 9.0.0 in /app
2022-12-06 00:21:33 +09:00
dependabot[bot]
fd0c8dbad5 Bump uuid from 8.3.2 to 9.0.0 in /app
Bumps [uuid](https://github.com/uuidjs/uuid) from 8.3.2 to 9.0.0.
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v8.3.2...v9.0.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 15:21:24 +00:00
dependabot[bot]
7a2ef9cecf Bump dotenv from 10.0.0 to 16.0.3 in /app
Bumps [dotenv](https://github.com/motdotla/dotenv) from 10.0.0 to 16.0.3.
- [Release notes](https://github.com/motdotla/dotenv/releases)
- [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md)
- [Commits](https://github.com/motdotla/dotenv/compare/v10.0.0...v16.0.3)

---
updated-dependencies:
- dependency-name: dotenv
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 15:21:16 +00:00
Cutls
009fa9efbf Merge pull request #754 from cutls/dependabot/npm_and_yarn/app/electron-notarize-1.2.2
Bump electron-notarize from 1.2.1 to 1.2.2 in /app
2022-12-06 00:20:53 +09:00
dependabot[bot]
c959366686 Bump electron-notarize from 1.2.1 to 1.2.2 in /app
Bumps [electron-notarize](https://github.com/electron/notarize) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/electron/notarize/releases)
- [Changelog](https://github.com/electron/notarize/blob/main/.releaserc.json)
- [Commits](https://github.com/electron/notarize/compare/v1.2.1...v1.2.2)

---
updated-dependencies:
- dependency-name: electron-notarize
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 15:20:30 +00:00
Cutls
68ee6ed0c4 Merge pull request #765 from cutls/dependabot/npm_and_yarn/app/vue-3.2.45
Bump vue from 2.6.14 to 3.2.45 in /app
2022-12-06 00:20:19 +09:00
dependabot[bot]
6cee1228fb Bump jquery from 3.6.0 to 3.6.1 in /app
Bumps [jquery](https://github.com/jquery/jquery) from 3.6.0 to 3.6.1.
- [Release notes](https://github.com/jquery/jquery/releases)
- [Commits](https://github.com/jquery/jquery/compare/3.6.0...3.6.1)

---
updated-dependencies:
- dependency-name: jquery
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 15:20:15 +00:00
Cutls
5e1f5f02ed Merge pull request #766 from cutls/dependabot/npm_and_yarn/app/fortawesome/fontawesome-free-6.2.1
Bump @fortawesome/fontawesome-free from 5.15.4 to 6.2.1 in /app
2022-12-06 00:20:09 +09:00
dependabot[bot]
8d7f46ac54 Bump vue from 2.6.14 to 3.2.45 in /app
Bumps [vue](https://github.com/vuejs/core) from 2.6.14 to 3.2.45.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/commits/v3.2.45)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 15:19:59 +00:00
dependabot[bot]
1ad3d7bdaa Bump @fortawesome/fontawesome-free from 5.15.4 to 6.2.1 in /app
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 5.15.4 to 6.2.1.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/5.15.4...6.2.1)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 15:19:42 +00:00
dependabot[bot]
68bcd6a51d Bump json5 from 2.2.0 to 2.2.1 in /app
Bumps [json5](https://github.com/json5/json5) from 2.2.0 to 2.2.1.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.0...v2.2.1)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 15:19:04 +00:00
Cutls
918f214a6c Merge pull request #781 from cutls/dependabot/npm_and_yarn/app/electron-22.0.0
Bump electron from 21.1.0 to 22.0.0 in /app
2022-12-06 00:18:55 +09:00
Cutls
8d4784da82 Merge branch 'master' into dependabot/npm_and_yarn/app/electron-22.0.0 2022-12-06 00:18:45 +09:00
Cutls
768b041616 Merge pull request #782 from cutls/dependabot/npm_and_yarn/app/sweetalert2-11.6.15
Bump sweetalert2 from 11.4.38 to 11.6.15 in /app
2022-12-06 00:18:04 +09:00
cutls
b825298bc6 23.0.2 2022-12-06 00:15:14 +09:00
cutls
30d4dae0c4 use translate api 2022-12-05 23:43:15 +09:00
Cutls
c67b4b7037 Merge pull request #780 from b-xb/patch-1
Update tl.css
2022-12-05 23:36:31 +09:00
Cutls
a21f555507 Merge pull request #769 from osapon/base_master
fix error thread view
2022-12-05 23:31:15 +09:00
osapon
c83079bb80 fix error thread view 2022-12-05 23:26:08 +09:00
cutls
ed4431e15a Merge branch 'master' of github.com:cutls/TheDesk 2022-12-05 23:22:18 +09:00
osapon
796d422222 delete amazonwidhlist 2022-12-05 23:22:14 +09:00
Cutls
7671c8c4cf Merge pull request #207 from osapon/shortcode_replace
Use DOM for shortcode replacement.
2022-12-05 23:21:34 +09:00
Cutls
ec6d93ad80 Merge branch 'master' into shortcode_replace 2022-12-05 23:21:22 +09:00
cutls
ccc6d96172 newcomer notifiation 2022-12-05 23:12:33 +09:00
dependabot[bot]
b32f3b2730 Bump sweetalert2 from 11.4.38 to 11.6.15 in /app
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 11.4.38 to 11.6.15.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v11.4.38...v11.6.15)

---
updated-dependencies:
- dependency-name: sweetalert2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-30 20:02:46 +00:00
dependabot[bot]
f4fd6d30d2 Bump electron from 21.1.0 to 22.0.0 in /app
Bumps [electron](https://github.com/electron/electron) from 21.1.0 to 22.0.0.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v21.1.0...v22.0.0)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-30 20:01:43 +00:00
b-xb
b4f064e98c Update tl.css
FIx Display Name area so that the Display Name is set to the correct size
2022-11-30 16:41:34 +00:00
Cutls
77f567f821 [WIP] #770 2022-11-21 13:20:38 +09:00
osapon
2abca19e69 fix error thread view 2022-11-19 11:29:02 +09:00
cutls
f5d42fa806 pwa 2022-10-24 18:28:33 +09:00
765fcafce9 Merge remote-tracking branch 'refs/remotes/upstream/master' 2022-10-14 21:15:24 +11:00
cutls
7ba34c1074 on about window open link with external browser 2022-10-11 01:03:14 +09:00
cutls
03b2fed9ef add keyboard shortcut with textarea focus 2022-10-11 01:02:48 +09:00
cutls
4629e74c30 for m1 mac updator 2022-10-11 00:17:05 +09:00
cutls
6372c77509 debug complete 2022-10-10 23:58:11 +09:00
cutls
8fcead947d electron-userland/electron-builder issue 7050 2022-10-10 23:44:27 +09:00
cutls
a4f7f8dfd8 syntax error 2022-10-10 23:26:07 +09:00
cutls
f7ce12ca9e debug start 2022-10-10 23:25:06 +09:00
cutls
48f0c37985 security and dependency update with 23.0.1 2022-10-10 22:11:59 +09:00
cutls
a0171cfc50 debug for arm notarize 2022-10-10 21:04:49 +09:00
cutls
742b93bbef add toot-edit 2022-10-10 17:19:30 +09:00
cutls
cb9a3c4af1 add trending links, statuses for v3.5.0 2022-10-10 16:09:32 +09:00
cutls
48c872909d add limited flags of moderated account 2022-10-10 16:09:17 +09:00
cutls
c2ccc9a493 work on debian 2022-10-10 15:17:22 +09:00
cutls
49c78d2263 copy image to clipboard #715 2022-10-10 15:08:57 +09:00
cutls
dff544c3d2 Merge branch 'master' of github.com:cutls/TheDesk 2022-10-10 15:08:37 +09:00
cutls
97ebd1ddc4 update deps 2022-10-10 15:06:10 +09:00
Cutls
d742cc768a Merge pull request #700 from cutls/dependabot/npm_and_yarn/app/electron-rebuild-3.2.9
Bump electron-rebuild from 3.2.0 to 3.2.9 in /app
2022-10-10 14:28:59 +09:00
dependabot[bot]
00649ccf72 Bump electron-rebuild from 3.2.0 to 3.2.9 in /app
Bumps [electron-rebuild](https://github.com/electron/electron-rebuild) from 3.2.0 to 3.2.9.
- [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/v3.2.0...v3.2.9)

---
updated-dependencies:
- dependency-name: electron-rebuild
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 05:09:40 +00:00
Cutls
7667afcdc1 New Crowdin updates (#559)
* New translations index.json (Spanish, Argentina)

* New translations index.json (Dutch)

* New translations index.json (Cornish)

* New translations index.json (Portuguese, Brazilian)

* New translations index.json (Vietnamese)

* New translations index.json (Chinese Traditional)

* New translations index.json (Chinese Simplified)

* New translations index.json (Ukrainian)

* New translations index.json (Turkish)

* New translations index.json (Swedish)

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

* New translations index.json (Russian)

* New translations index.json (Portuguese)

* New translations index.json (Polish)

* New translations index.json (Norwegian)

* New translations index.json (Italian)

* New translations index.json (Sinhala)

* New translations index.json (Hungarian)

* New translations index.json (Hebrew)

* New translations index.json (Finnish)

* New translations index.json (Greek)

* New translations index.json (German)

* New translations index.json (Danish)

* New translations index.json (Czech)

* New translations index.json (Catalan)

* New translations index.json (Bulgarian)

* New translations index.json (Arabic)

* New translations index.json (Afrikaans)

* New translations index.json (Spanish)

* New translations index.json (French)

* New translations index.json (Romanian)

* New translations index.json (English)

* New translations setting.json (Romanian)

* New translations setting.json (Polish)

* New translations setting.json (Cornish)

* New translations setting.json (Sinhala)

* New translations setting.json (Portuguese, Brazilian)

* New translations setting.json (Vietnamese)

* New translations setting.json (Chinese Traditional)

* New translations setting.json (Chinese Simplified)

* New translations setting.json (Ukrainian)

* New translations setting.json (Turkish)

* New translations setting.json (Swedish)

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

* New translations setting.json (Russian)

* New translations setting.json (Portuguese)

* New translations setting.json (Norwegian)

* New translations setting.json (French)

* New translations setting.json (Dutch)

* New translations setting.json (Italian)

* 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 (Catalan)

* New translations setting.json (Bulgarian)

* New translations setting.json (Arabic)

* New translations setting.json (Afrikaans)

* New translations setting.json (Spanish)

* New translations acct.json (Russian)

* New translations update.json (Russian)

* New translations main.json (German)

* New translations index.json (French)

* New translations main.json (French)

* New translations setting.json (French)

* New translations setting.json (French)

* New translations acct.json (Polish)

* New translations acct.json (Polish)

* New translations acct.json (Polish)

* New translations update.json (Polish)

* New translations update.json (Polish)

* New translations setting.json (Polish)

* New translations setting.json (Polish)

* New translations setting.json (Polish)

* New translations setting.json (Polish)

* New translations setting.json (Polish)

* New translations main.json (Polish)

* New translations setting.json (Polish)

* New translations setting.json (Polish)

* New translations setting.json (Polish)

* New translations setting.json (Polish)

* New translations setting.json (Polish)

* New translations setting.json (Polish)

* New translations setting.json (Polish)

* New translations setting.json (Polish)

* New translations setting.json (Polish)

* New translations setting.json (Polish)

* New translations setting.json (Polish)

* New translations setting.json (Polish)

* New translations setting.json (Polish)

* New translations main.json (Polish)

* New translations main.json (Polish)

* New translations setting.json (Polish)

* New translations main.json (Polish)

* New translations main.json (Polish)

* New translations index.json (Polish)

* New translations acct.json (Chinese Simplified)

* New translations index.json (Chinese Simplified)

* New translations index.json (Chinese Simplified)

* New translations setting.json (German)
2022-10-10 14:06:58 +09:00
Cutls
14d07b60dc Merge pull request #626 from cutls/dependabot/npm_and_yarn/app/cached-path-relative-1.1.0
Bump cached-path-relative from 1.0.2 to 1.1.0 in /app
2022-10-10 14:06:30 +09:00
Cutls
4676d062e7 Merge pull request #646 from cutls/dependabot/npm_and_yarn/app/electron-notarize-1.2.1
Bump electron-notarize from 1.1.0 to 1.2.1 in /app
2022-10-10 14:06:09 +09:00
Cutls
0fbc3786f5 Merge pull request #669 from cutls/dependabot/npm_and_yarn/app/ejs-3.1.8
Bump ejs from 3.1.6 to 3.1.8 in /app
2022-10-10 14:05:57 +09:00
Cutls
73d7160525 Merge pull request #686 from cutls/dependabot/npm_and_yarn/app/shell-quote-1.7.3
Bump shell-quote from 1.7.2 to 1.7.3 in /app
2022-10-10 14:05:49 +09:00
Cutls
736021f6e9 Merge pull request #709 from cutls/dependabot/npm_and_yarn/app/jquery-ui-dist-1.13.2
Bump jquery-ui-dist from 1.12.1 to 1.13.2 in /app
2022-10-10 14:05:13 +09:00
Cutls
35cb2f3278 Merge pull request #725 from cutls/dependabot/npm_and_yarn/app/sanitize-html-2.7.2
Bump sanitize-html from 2.4.0 to 2.7.2 in /app
2022-10-10 14:05:04 +09:00
Cutls
5cbb791d94 Merge pull request #733 from cutls/dependabot/npm_and_yarn/app/electron-21.1.0
Bump electron from 13.2.2 to 21.1.0 in /app
2022-10-10 14:04:56 +09:00
dependabot[bot]
b5999e9657 Bump electron-notarize from 1.1.0 to 1.2.1 in /app
Bumps [electron-notarize](https://github.com/electron/electron-notarize) from 1.1.0 to 1.2.1.
- [Release notes](https://github.com/electron/electron-notarize/releases)
- [Changelog](https://github.com/electron/electron-notarize/blob/master/.releaserc.json)
- [Commits](https://github.com/electron/electron-notarize/compare/v1.1.0...v1.2.1)

---
updated-dependencies:
- dependency-name: electron-notarize
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 05:04:08 +00:00
dependabot[bot]
26073403f3 Bump electron from 13.2.2 to 21.1.0 in /app
Bumps [electron](https://github.com/electron/electron) from 13.2.2 to 21.1.0.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v13.2.2...v21.1.0)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 05:03:47 +00:00
dependabot[bot]
f40c9d7648 Bump sanitize-html from 2.4.0 to 2.7.2 in /app
Bumps [sanitize-html](https://github.com/apostrophecms/sanitize-html) from 2.4.0 to 2.7.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.4.0...2.7.2)

---
updated-dependencies:
- dependency-name: sanitize-html
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 05:02:47 +00:00
dependabot[bot]
cf5cc87219 Bump ejs from 3.1.6 to 3.1.8 in /app
Bumps [ejs](https://github.com/mde/ejs) from 3.1.6 to 3.1.8.
- [Release notes](https://github.com/mde/ejs/releases)
- [Changelog](https://github.com/mde/ejs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mde/ejs/compare/v3.1.6...v3.1.8)

---
updated-dependencies:
- dependency-name: ejs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 05:02:38 +00:00
Cutls
7f2944fbb3 Merge pull request #737 from cutls/dependabot/npm_and_yarn/app/eslint-8.25.0
Bump eslint from 7.32.0 to 8.25.0 in /app
2022-10-10 14:01:42 +09:00
Cutls
b6afd53e7a Merge pull request #736 from cutls/dependabot/npm_and_yarn/app/electron-dl-3.4.0
Bump electron-dl from 3.2.1 to 3.4.0 in /app
2022-10-10 14:01:12 +09:00
Cutls
fd47e28f5c Merge branch 'master' into dependabot/npm_and_yarn/app/electron-dl-3.4.0 2022-10-10 14:01:05 +09:00
dependabot[bot]
4e60164ff4 Bump eslint from 7.32.0 to 8.25.0 in /app
Bumps [eslint](https://github.com/eslint/eslint) from 7.32.0 to 8.25.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.32.0...v8.25.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 05:00:43 +00:00
dependabot[bot]
f20e7c3d40 Bump electron-dl from 3.2.1 to 3.4.0 in /app
Bumps [electron-dl](https://github.com/sindresorhus/electron-dl) from 3.2.1 to 3.4.0.
- [Release notes](https://github.com/sindresorhus/electron-dl/releases)
- [Commits](https://github.com/sindresorhus/electron-dl/compare/v3.2.1...v3.4.0)

---
updated-dependencies:
- dependency-name: electron-dl
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 05:00:06 +00:00
Cutls
aa9e0489f0 Merge pull request #735 from cutls/dependabot/npm_and_yarn/app/sweetalert2-11.4.38
Bump sweetalert2 from 11.1.4 to 11.4.38 in /app
2022-10-10 13:59:41 +09:00
Cutls
7e37194b02 Merge branch 'master' into dependabot/npm_and_yarn/app/sweetalert2-11.4.38 2022-10-10 13:59:36 +09:00
Cutls
fa3fc120b4 Merge pull request #582 from cutls/dependabot/npm_and_yarn/app/system-font-families-0.6.0
Bump system-font-families from 0.4.1 to 0.6.0 in /app
2022-10-10 13:58:43 +09:00
dependabot[bot]
b172838643 Bump sweetalert2 from 11.1.4 to 11.4.38 in /app
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 11.1.4 to 11.4.38.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v11.1.4...v11.4.38)

---
updated-dependencies:
- dependency-name: sweetalert2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-07 20:03:55 +00:00
5d5f0c20f5 ?? 2022-09-28 18:27:41 +10:00
dependabot[bot]
882be07dcd Bump jquery-ui-dist from 1.12.1 to 1.13.2 in /app
Bumps [jquery-ui-dist](https://github.com/jquery/jquery-ui) from 1.12.1 to 1.13.2.
- [Release notes](https://github.com/jquery/jquery-ui/releases)
- [Commits](https://github.com/jquery/jquery-ui/compare/1.12.1...1.13.2)

---
updated-dependencies:
- dependency-name: jquery-ui-dist
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 20:09:02 +00:00
d94e829090 Polls now work again 2022-06-26 19:05:20 +10:00
dependabot[bot]
190badbfd8 Bump shell-quote from 1.7.2 to 1.7.3 in /app
Bumps [shell-quote](https://github.com/substack/node-shell-quote) from 1.7.2 to 1.7.3.
- [Release notes](https://github.com/substack/node-shell-quote/releases)
- [Changelog](https://github.com/substack/node-shell-quote/blob/master/CHANGELOG.md)
- [Commits](https://github.com/substack/node-shell-quote/compare/v1.7.2...1.7.3)

---
updated-dependencies:
- dependency-name: shell-quote
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-23 08:26:02 +00:00
d231297a5d fixing videos not being unloaded when closed 2022-04-03 19:19:44 +10:00
dependabot[bot]
931630820b Bump cached-path-relative from 1.0.2 to 1.1.0 in /app
Bumps [cached-path-relative](https://github.com/ashaffer/cached-path-relative) from 1.0.2 to 1.1.0.
- [Release notes](https://github.com/ashaffer/cached-path-relative/releases)
- [Commits](https://github.com/ashaffer/cached-path-relative/commits)

---
updated-dependencies:
- dependency-name: cached-path-relative
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-27 15:31:02 +00:00
16fef709f6 Merge remote-tracking branch 'refs/remotes/upstream/master' 2022-01-22 03:19:37 +11:00
Cutls
cefcadfaa5 Merge pull request #622 from epixinvites/master
I updated a little bit of typos and grammatical errors in the en/setting.json
2022-01-18 15:47:00 +09:00
epixinvites
334cf50138 Update setting.json 2022-01-18 14:42:45 +08:00
49016e57e4 Fixed videos not playing on pleroma, and fixed saving images after changing image on a local post with caching disabled 2021-12-03 02:14:15 +11:00
9856c34adc Merge remote-tracking branch 'refs/remotes/upstream/master' 2021-12-03 00:59:53 +11:00
Cutls
d63e60e096 Merge pull request #584 from yu-chicken/modify-dropdownContent-style
Style correction when account notation is long at Toot.
2021-10-30 18:42:40 +09:00
yu-chicken
ac56c71181 Style correction when account notation is long at Toot. 2021-10-30 17:08:24 +09:00
dependabot[bot]
6050c733cc Bump system-font-families from 0.4.1 to 0.6.0 in /app
Bumps [system-font-families](https://github.com/rBurgett/system-font-families) from 0.4.1 to 0.6.0.
- [Release notes](https://github.com/rBurgett/system-font-families/releases)
- [Commits](https://github.com/rBurgett/system-font-families/commits)

---
updated-dependencies:
- dependency-name: system-font-families
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-21 20:03:12 +00:00
osapon
7b2254948b Use DOM for shortcode replacement. 2020-01-01 19:21:35 +09:00
174 changed files with 7748 additions and 6417 deletions

37
.github/workflows/build-debug-macos.bup vendored Normal file
View File

@@ -0,0 +1,37 @@
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: macOS debug build
on: push
jobs:
build:
runs-on: macos-latest
environment:
name: build
env:
APPLEID: ${{ secrets.APPLEID }}
APPLEIDPASS: ${{ secrets.APPLEIDPASS }}
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
CSC_LINK: ${{ secrets.CSC_LINK}}
strategy:
matrix:
node-version: [14.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- run: cd app && yarn
- run: cd app && yarn build --skipX64 --withArm64
- name: Deploy to S3
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
run:
aws s3 sync --delete --region ap-northeast-1 ./build/ s3://cutls-s3-backup/debug

46
PKGBUILD Normal file
View File

@@ -0,0 +1,46 @@
# Maintainer: Zergling_man, from fedora.email
pkgname=thedesk
_pkgname=TheDesk
pkgver=24.2.1
_electronversion=22
pkgrel=2
pkgdesc="Mastodon Client for PC, Zergling_man's pleroma-focused fork."
arch=("x86_64")
url="https://thedesk.top/"
license=('GPL3')
conflicts=("${pkgname%-bin}")
depends=("npm")
makedepends=("npm")
optdeps=('hicolor-icon-theme')
source=("git+http://precious.harpy.faith/Zergling_man/TheDesk.git")
sha256sums=('SKIP')
build()
{
cd ${srcdir}/${_pkgname}/app
npm run build
npm run construct
}
package()
{
cd ${pkgdir}
install -d opt/${_pkgname}/ usr/share/icons/hicolor usr/share/applications/ usr/share/licenses/thedesk/ usr/bin/
cd ${srcdir}/${_pkgname}
mv thedesk ${pkgdir}/usr/bin/
chmod 555 ${pkgdir}/usr/bin/thedesk
mv thedesk.desktop ${pkgdir}/usr/share/applications/
mv LICENSE ${pkgdir}/usr/share/licenses/thedesk/
cd app/img/icons/
sizes=($(ls | grep -Eo '[0-9x]+'))
for size in ${sizes[@]}; do
install -d ${pkgdir}/usr/share/icons/hicolor/$size/apps/
mv icon-$size.png ${pkgdir}/usr/share/icons/hicolor/$size/apps/desk.png
done
cd ..
rm -d icons
cd ${srcdir}
cp -r ${_pkgname} ${pkgdir}/opt/
}

View File

@@ -4,7 +4,7 @@
<head> <head>
<title>TheDesk</title> <title>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="./node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet" /> <link href="./node_modules/@cutls/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet" />
<link href="./css/font-awesome.css" rel="stylesheet" type="text/css" /> <link href="./css/font-awesome.css" rel="stylesheet" type="text/css" />
<link href="./css/themes.css" type="text/css" rel="stylesheet" /> <link href="./css/themes.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" />
@@ -87,7 +87,7 @@
<body class="center" style="overflow: hidden;"> <body class="center" style="overflow: hidden;">
<script type="text/javascript" src="./node_modules/jquery/dist/jquery.js"></script> <script type="text/javascript" src="./node_modules/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="./js/platform/first-not-view.js"></script> <script type="text/javascript" src="./js/platform/first-not-view.js"></script>
<script type="text/javascript" src="./node_modules/materialize-css/dist/js/materialize.js"></script> <script type="text/javascript" src="./node_modules/@cutls/materialize-css/dist/js/materialize.js"></script>
<img src="./img/desk.svg" style="max-width: 58%;" /> <img src="./img/desk.svg" style="max-width: 58%;" />
<h5>TheDesk</h5> <h5>TheDesk</h5>
<div class="container"> <div class="container">
@@ -105,7 +105,7 @@
<div class="area-data6" id="node"></div> <div class="area-data6" id="node"></div>
</div> </div>
<div class="cp"> <div class="cp">
Copyright &copy; TheDesk 2018<br /> Main developer(author): <a href="https://1m.cutls.com/@Cutls" target="_blank">Cutls P</a><br /> Copyright &copy; TheDesk 2018<br /> Main developer(author): <a href="https://2m.cutls.com/@Cutls" target="_blank">Cutls P</a><br />
<a href="https://github.com/cutls/TheDesk/graphs/contributors" style="text-align: center; user-select: none;"><img src="https://opencollective.com/TheDesk/contributors.svg?width=700&button=false" style="width: 100%"></a> <a href="https://github.com/cutls/TheDesk/graphs/contributors" style="text-align: center; user-select: none;"><img src="https://opencollective.com/TheDesk/contributors.svg?width=700&button=false" style="width: 100%"></a>
<br /><a href="https://thedesk.top" target="_blank">Web site</a> <br /><a href="https://thedesk.top" target="_blank">Web site</a>
</div> </div>
@@ -124,8 +124,9 @@
} }
$('#hash').html('<a href="https://github.com/cutls/TheDesk/commits/' + about[3] + '" target="_blank">' + about[3].slice(0, 7) + '</a>') $('#hash').html('<a href="https://github.com/cutls/TheDesk/commits/' + about[3] + '" target="_blank">' + about[3].slice(0, 7) + '</a>')
$(document).on('click', 'a', (e) => { $(document).on('click', 'a', (e) => {
e.preventDefault()
var url = $(e.target).attr('href') var url = $(e.target).attr('href')
postMessage(['openUrl', url], '*') postMessage(['openUrlMainProcess', url], '*')
return false return false
}) })
</script> </script>

1
app/build.d.ts vendored
View File

@@ -10,5 +10,6 @@ declare function _exports(options?: {
skipLinux?: boolean; skipLinux?: boolean;
skipMacOS?: boolean; skipMacOS?: boolean;
unnotarize?: boolean; unnotarize?: boolean;
skipUniversal?: boolean;
}): void; }): void;
export = _exports; export = _exports;

View File

@@ -11,6 +11,7 @@ const construct = require('./view/make/make.js')
const { platform, arch } = process const { platform, arch } = process
const Platform = builder.Platform const Platform = builder.Platform
const Arch = builder.Arch const Arch = builder.Arch
require('dotenv').config()
const artifactName = 'TheDesk-setup-${arch}.${ext}' const artifactName = 'TheDesk-setup-${arch}.${ext}'
const config = { const config = {
productName: 'TheDesk', productName: 'TheDesk',
@@ -41,6 +42,9 @@ const config = {
target: ['zip', 'appImage', 'snap', 'deb'], target: ['zip', 'appImage', 'snap', 'deb'],
category: 'Network', category: 'Network',
}, },
deb: {
depends: ['gconf2', 'gconf-service', 'libnotify4', 'libappindicator1', 'libxtst6', 'libnss3']
},
mac: { mac: {
hardenedRuntime: true, hardenedRuntime: true,
gatekeeperAssess: false, gatekeeperAssess: false,
@@ -169,36 +173,26 @@ async function cmd(options) {
} }
} }
if (platform === 'darwin' && !isTrue(options, 'skipMacOS')) { if (platform === 'darwin' && !isTrue(options, 'skipMacOS')) {
if(isTrue(options, 'unnotarize')) delete config.afterSign if (isTrue(options, 'unnotarize')) delete config.afterSign
if (arch === 'x64') { if (isTrue(options, 'unnotarize')) delete config.mac.entitlements
await build(Platform.MAC, Arch.x64, config) if (isTrue(options, 'unnotarize')) delete config.mac.entitlementsInherit
fs.renameSync( if (isTrue(options, 'unnotarize')) process.env.CSC_IDENTITY_AUTO_DISCOVERY = false
`../build/TheDesk-${version}.dmg`, if (isTrue(options, 'unnotarize')) delete config.afterSign
`../build/TheDesk-${version}-x64.dmg` if (!isTrue(options, 'skipUniversal')) await build(Platform.MAC, Arch.universal, config)
) if (isTrue(options, 'withArm64')) {
if (isTrue(options, 'withArm64')) {
delete config.afterSign
await build(Platform.MAC, Arch.arm64, config)
fs.renameSync(
`../build/TheDesk-${version}.dmg`,
`../build/TheDesk-${version}-arm64.dmg`
)
}
fs.renameSync(
`../build/TheDesk-${version}-x64.dmg`,
`../build/TheDesk-${version}.dmg`
)
}
if (arch === 'arm64') {
delete config.afterSign
await build(Platform.MAC, Arch.arm64, config) await build(Platform.MAC, Arch.arm64, config)
fs.renameSync( fs.renameSync(
`../build/TheDesk-${version}.dmg`, `../build/TheDesk-${version}.dmg`,
`../build/TheDesk-${version}-arm64.dmg` `../build/TheDesk-${version}-arm64.dmg`
) )
if(isTrue(options, 'skipX64')) await build(Platform.MAC, Arch.x64, config)
} }
if (isTrue(options, 'withX64')) {
await build(Platform.MAC, Arch.x64, config)
fs.renameSync(
`../build/TheDesk-${version}.dmg`,
`../build/TheDesk-${version}-x64.dmg`
)
}
} }
} }
} }
@@ -238,6 +232,10 @@ TheDesk Builder command tool
[only macOS] [only macOS]
--unnotarize: Without notarize --unnotarize: Without notarize
Build as a "universal" package.
--skipUniversal: skip build for universal enviroment
--withX64: build x64-only build
--withArm64: build arm64-only build
` `
} }
@@ -251,4 +249,4 @@ TheDesk Builder command tool
* @param {boolean} [options.withArm64] - [Windows only(beta)] arm64 build on x64 system(if your machine is arm64, it will be built if this arg is not passed, and not build store build for arm64) * @param {boolean} [options.withArm64] - [Windows only(beta)] arm64 build on x64 system(if your machine is arm64, it will be built if this arg is not passed, and not build store build for arm64)
* @return {void} * @return {void}
*/ */
module.exports = cmd module.exports = cmd

View File

@@ -2,7 +2,13 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key> <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/> <true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
</dict> </dict>
</plist> </plist>

View File

@@ -1,10 +1,6 @@
require('dotenv').config() require('dotenv').config()
const { notarize } = require('electron-notarize') const { notarize } = require('@electron/notarize')
// Notarizeをしない場合、下のuseNotarizeをtrueからfalseに変更してください。
const useNotarize = true const useNotarize = true
exports.default = async function notarizing(context) { exports.default = async function notarizing(context) {
const { electronPlatformName, appOutDir } = context const { electronPlatformName, appOutDir } = context
if (electronPlatformName !== 'darwin' || !useNotarize) return if (electronPlatformName !== 'darwin' || !useNotarize) return
@@ -20,4 +16,4 @@ exports.default = async function notarizing(context) {
} catch (e) { } catch (e) {
throw console.log(e) throw console.log(e)
} }
} }

23
app/build/notarize.old.js Normal file
View File

@@ -0,0 +1,23 @@
require('dotenv').config()
const { notarize } = require('electron-notarize')
// Notarizeをしない場合、下のuseNotarizeをtrueからfalseに変更してください。
const useNotarize = true
exports.default = async function notarizing(context) {
const { electronPlatformName, appOutDir } = context
if (electronPlatformName !== 'darwin' || !useNotarize) return
const appName = context.packager.appInfo.productFilename
console.log(`start notarize: ${appOutDir}/${appName}.app`)
try {
return await notarize({
appBundleId: 'top.thedesk',
appPath: `${appOutDir}/${appName}.app`,
appleId: process.env.APPLEID,
appleIdPassword: process.env.APPLEIDPASS,
})
} catch (e) {
throw console.log(e)
}
}

View File

@@ -721,9 +721,11 @@
text-rendering: auto; text-rendering: auto;
line-height: 1; line-height: 1;
font-weight: 900; font-weight: 900;
color: #000; color: var(--text);
position: relative; position: relative;
font-size: 1.5em font-size: 1.5em;
top: 1.7rem;
left: 1rem;
} }
.swal2-icon { .swal2-icon {

View File

@@ -297,7 +297,7 @@ iframe,
.area-display_name { .area-display_name {
user-select: text; user-select: text;
height: 1.5em; height: 1.5rem;
margin: 0.15rem; margin: 0.15rem;
margin-left: 0.4rem; margin-left: 0.4rem;
overflow: hidden; overflow: hidden;

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,12 @@
<!doctype html> <!doctype html>
<html> <html>
<head> <head>
<meta http-equiv=”refresh” content=”0;URL=./view/ja'” /> <script>
<script>location.href = './view/ja';</script> if (/^ja\b/.test(navigator.language)) {
location.href = './view/ja'
} else {
location.href = './view/en'
}
</script>
</head> </head>
</html> </html>

View File

@@ -94,7 +94,7 @@ $(function($) {
if (e.keyCode === 88) { if (e.keyCode === 88) {
if (!$('#post-box').hasClass('appear')) { if (!$('#post-box').hasClass('appear')) {
show() show()
$('textarea').focus() document.getElementById('textarea').focus()
} else { } else {
hide() hide()
} }
@@ -105,7 +105,8 @@ $(function($) {
if (!$('#post-box').hasClass('appear')) { if (!$('#post-box').hasClass('appear')) {
show() show()
} }
$('textarea').focus() document.getElementById('textarea').focus()
return false return false
} }
//Ctrl+E:全ての通知未読を既読にする //Ctrl+E:全ての通知未読を既読にする

View File

@@ -1,18 +1,18 @@
//バージョンチェッカー //バージョンチェッカー
function verck(ver, jp) { async function verck(ver, jp) {
if (store) return false if (store) return false
console.log('%c Welcome😊 ' + ver, 'color: red;font-size:200%;') console.log('%c Welcome😊 ' + ver, 'color: red;font-size:200%;')
$('body').addClass(localStorage.getItem('platform')) $('body').addClass(localStorage.getItem('platform'))
var date = new Date() const date = new Date()
var showVer = false let showVer = false
if (localStorage.getItem('ver') != ver && localStorage.getItem('winstore')) { if (localStorage.getItem('ver') != ver && localStorage.getItem('winstore')) {
showVer = true showVer = true
console.log('%c Thank you for your update🎉', 'color: red;font-size:200%;') console.log('%c Thank you for your update🎉', 'color: red;font-size:200%;')
$(document).ready(function() { $(document).ready(function () {
if (localStorage.getItem('winstore') && !pwa) { if (localStorage.getItem('winstore') && !pwa) {
$('#releasenote').modal('open') $('#releasenote').modal('open')
} }
verp = ver.replace('(', '') let verp = ver.replace('(', '')
verp = verp.replace('.', '-') verp = verp.replace('.', '-')
verp = verp.replace('.', '-') verp = verp.replace('.', '-')
verp = verp.replace('[', '-') verp = verp.replace('[', '-')
@@ -30,13 +30,14 @@ function verck(ver, jp) {
localStorage.setItem('ver', ver) localStorage.setItem('ver', ver)
if (!showVer) { if (!showVer) {
console.log(showVer) console.log(showVer)
let nextmonth
if (!localStorage.getItem('showSupportMe')) { if (!localStorage.getItem('showSupportMe')) {
if (date.getMonth() == 11) { if (date.getMonth() == 11) {
var yrs = date.getFullYear() + 1 const yrs = date.getFullYear() + 1
var nextmonth = yrs * 100 + 1 nextmonth = yrs * 100 + 1
} else { } else {
var yrs = date.getFullYear() const yrs = date.getFullYear()
var nextmonth = yrs * 100 + date.getMonth() + 2 nextmonth = yrs * 100 + date.getMonth() + 2
} }
localStorage.setItem('showSupportMe', nextmonth) localStorage.setItem('showSupportMe', nextmonth)
} else { } else {
@@ -44,11 +45,11 @@ function verck(ver, jp) {
date.getFullYear() * 100 + date.getMonth() + 1 >= localStorage.getItem('showSupportMe') date.getFullYear() * 100 + date.getMonth() + 1 >= localStorage.getItem('showSupportMe')
) { ) {
if (date.getMonth() == 11) { if (date.getMonth() == 11) {
var yrs = date.getFullYear() + 1 const yrs = date.getFullYear() + 1
var nextmonth = yrs * 100 + 1 nextmonth = yrs * 100 + 1
} else { } else {
var yrs = date.getFullYear() const yrs = date.getFullYear()
var nextmonth = yrs * 100 + date.getMonth() + 2 nextmonth = yrs * 100 + date.getMonth() + 2
} }
localStorage.setItem('showSupportMe', nextmonth) localStorage.setItem('showSupportMe', nextmonth)
if (lang.language != 'ja') { if (lang.language != 'ja') {
@@ -66,76 +67,55 @@ function verck(ver, jp) {
) )
} }
} }
} }
var platform = localStorage.getItem('platform') const 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 ( const winstore = localStorage.getItem('winstore') == 'brewcask' ||
localStorage.getItem('winstore') == 'brewcask' ||
localStorage.getItem('winstore') == 'snapcraft' || localStorage.getItem('winstore') == 'snapcraft' ||
localStorage.getItem('winstore') == 'winstore' localStorage.getItem('winstore') == 'winstore'
) { const l = 5
var winstore = true
} else {
var winstore = false
}
var l = 5
// 生成する文字列に含める文字セット // 生成する文字列に含める文字セット
var c = 'abcdefghijklmnopqrstuvwxyz0123456789' const c = 'abcdefghijklmnopqrstuvwxyz0123456789'
var cl = c.length const cl = c.length
var r = '' let r = ''
for (var i = 0; i < l; i++) { for (var i = 0; i < l; i++) {
r += c[Math.floor(Math.random() * cl)] r += c[Math.floor(Math.random() * cl)]
} }
var start = 'https://thedesk.top/ver.json' const start1 = 'https://thedesk.top/ver.json'
fetch(start, { const response = await fetch(start1, { method: 'GET' })
method: 'GET' if (!response.ok) {
}) response.text().then(function (text) {
.then(function(response) { setLog(response.url, response.status, text)
if (!response.ok) {
response.text().then(function(text) {
setLog(response.url, response.status, text)
})
}
return response.json()
}) })
.catch(function(error) { }
todo(error) const mess = await response.json()
setLog(start, 'JSON', error)
setLog(start, 'JSON', error) console.table(mess)
console.error(error) if (mess) {
}) const platform = localStorage.getItem('platform')
.then(function(mess) { const newest = platform == 'darwin' ? mess.desk_mac : mess.desk
console.table(mess) if (newest == ver) {
if (mess) { todo(lang.lang_version_usever.replace('{{ver}}', mess.desk))
var platform = localStorage.getItem('platform') //betaかWinstoreならアプデチェックしない
if (platform == 'darwin') { } else if (ver.indexOf('beta') != -1 || winstore) {
var newest = mess.desk_mac } else {
localStorage.removeItem('instance')
if (localStorage.getItem('new-ver-skip')) {
if (localStorage.getItem('next-ver') != newest) {
postMessage(['sendSinmpleIpc', 'update'], '*')
} else { } else {
var newest = mess.desk console.warn(lang.lang_version_skipver)
} todo(lang.lang_version_skipver)
if (newest == ver) {
todo(lang.lang_version_usever.replace('{{ver}}', mess.desk))
//betaかWinstoreならアプデチェックしない
} else if (ver.indexOf('beta') != -1 || winstore) {
} else {
localStorage.removeItem('instance')
if (localStorage.getItem('new-ver-skip')) {
if (localStorage.getItem('next-ver') != newest) {
postMessage(['sendSinmpleIpc', 'update'], '*')
} else {
console.warn(lang.lang_version_skipver)
todo(lang.lang_version_skipver)
}
} else {
postMessage(['sendSinmpleIpc', 'update'], '*')
}
} }
} else {
postMessage(['sendSinmpleIpc', 'update'], '*')
} }
}) }
}
if (!localStorage.getItem('last-notice-id')) { if (!localStorage.getItem('last-notice-id')) {
localStorage.setItem('last-notice-id', 0) localStorage.setItem('last-notice-id', 0)
} }
@@ -144,20 +124,20 @@ function verck(ver, jp) {
method: 'GET', method: 'GET',
cors: true cors: true
}) })
.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(mess) { .then(function (mess) {
if (mess.length < 1) { if (mess.length < 1) {
return false return false
} else { } else {
@@ -191,7 +171,7 @@ function verck(ver, jp) {
if (multi) { if (multi) {
showVer = false showVer = false
var accts = JSON.parse(multi) var accts = JSON.parse(multi)
Object.keys(accts).forEach(function(key) { Object.keys(accts).forEach(function (key) {
var acct = accts[key] var acct = accts[key]
if (acct.domain == obj.domain) { if (acct.domain == obj.domain) {
showVer = true showVer = true
@@ -218,11 +198,11 @@ function verck(ver, jp) {
var infostreaming = false var infostreaming = false
function infowebsocket() { function infowebsocket() {
infows = new WebSocket('wss://thedesk.top/ws/') infows = new WebSocket('wss://thedesk.top/ws/')
infows.onopen = function(mess) { infows.onopen = function (mess) {
console.log([tlid, ':Connect Streaming Info:', mess]) console.log([tlid, ':Connect Streaming Info:', mess])
infostreaming = true infostreaming = true
} }
infows.onmessage = function(mess) { infows.onmessage = function (mess) {
console.log([tlid, ':Receive Streaming:', JSON.parse(mess.data)]) console.log([tlid, ':Receive Streaming:', JSON.parse(mess.data)])
var obj = JSON.parse(mess.data) var obj = JSON.parse(mess.data)
if (obj.type != 'counter') { if (obj.type != 'counter') {
@@ -250,7 +230,7 @@ function infowebsocket() {
if (multi) { if (multi) {
showVer = false showVer = false
var accts = JSON.parse(multi) var accts = JSON.parse(multi)
Object.keys(accts).forEach(function(key) { Object.keys(accts).forEach(function (key) {
var acct = accts[key] var acct = accts[key]
if (acct.domain == obj.domain) { if (acct.domain == obj.domain) {
showVer = true showVer = true
@@ -275,18 +255,18 @@ function infowebsocket() {
$('#persons').text(obj.text) $('#persons').text(obj.text)
} }
} }
infows.onerror = function(error) { infows.onerror = function (error) {
infostreaming = false infostreaming = false
console.error('Error closing:info') console.error('Error closing:info')
console.error(error) console.error(error)
return false return false
} }
infows.onclose = function() { infows.onclose = function () {
infostreaming = false infostreaming = false
console.error('Closing:info') console.error('Closing:info')
} }
} }
setInterval(function() { setInterval(function () {
if (!infostreaming) { if (!infostreaming) {
console.log('try to connect to base-streaming') console.log('try to connect to base-streaming')
infowebsocket() infowebsocket()
@@ -314,7 +294,7 @@ function closeSupport() {
}, },
{ {
duration: 300, duration: 300,
complete: function() { complete: function () {
$('#support-btm').addClass('hide') $('#support-btm').addClass('hide')
} }
} }

View File

@@ -611,8 +611,9 @@ 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>${webview ? `<option value="webview">TweetDeck</option>` : ''}` `</option><option value="webview">TweetDeck</option>`
) )
if (!webview) $('#webview-add').append(`<br /><span style="font-size: 0.7rem">${lang.lang_setting_webview_warn}</span>`)
$('#dir-acct-sel').append('<option value="noauth">' + lang.lang_login_noauth + '</option>') $('#dir-acct-sel').append('<option value="noauth">' + lang.lang_login_noauth + '</option>')
} }
$('select').formSelect() $('select').formSelect()

View File

@@ -367,9 +367,13 @@ function support() {
} }
}) })
} }
function backToInit() {
$('#auth').hide()
$('#add').show()
}
//URL指定してポップアップ //URL指定してポップアップ
function login(url) { async function login(url) {
var multi = localStorage.getItem('multi') var multi = localStorage.getItem('multi')
var obj = JSON.parse(multi) var obj = JSON.parse(multi)
if ($('#misskey:checked').val() == 'on') { if ($('#misskey:checked').val() == 'on') {
@@ -378,16 +382,18 @@ function login(url) {
return return
} }
$('#compt').hide() $('#compt').hide()
if ($('#linux:checked').val() == 'on') { const start = `https://${url}/api/v1/apps`
var red = 'urn:ietf:wg:oauth:2.0:oob' $('#loginBtn').attr('disabled', true)
const nextSetup = await versionChecker(url)
$('#loginBtn').attr('disabled', false)
let red = 'thedesk://manager'
if (!nextSetup) {
red = 'urn:ietf:wg:oauth:2.0:oob'
if (~url.indexOf('pixelfed')) { if (~url.indexOf('pixelfed')) {
red = 'https://thedesk.top/hello.html' red = 'https://thedesk.top/hello.html'
} }
} else {
var red = 'thedesk://manager'
} }
localStorage.setItem('redirect', red) localStorage.setItem('redirect', red)
var start = 'https://' + url + '/api/v1/apps'
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')
@@ -420,103 +426,86 @@ function login(url) {
localStorage.setItem('client_id', json['client_id']) localStorage.setItem('client_id', json['client_id'])
localStorage.setItem('client_secret', json['client_secret']) localStorage.setItem('client_secret', json['client_secret'])
$('#auth').show() $('#auth').show()
versionChecker(url)
$('#add').hide() $('#add').hide()
postMessage(['openUrl', auth], '*') postMessage(['openUrl', auth], '*')
} }
} }
} }
function versionChecker(url) { async function versionChecker(url) {
var start = 'https://' + url + '/api/v1/instance' const start = `https://${url}/api/v1/instance`
fetch(start, { try {
method: 'GET', const response = await fetch(start, {
headers: { method: 'GET',
'content-type': 'application/json' headers: {
'content-type': 'application/json'
}
})
if (!response.ok) {
response.text().then(function (text) {
setLog(response.url, response.status, text)
})
} }
}) const json = await response.json()
.then(function (response) { const version = json.version
if (!response.ok) { if (version) {
response.text().then(function (text) { const reg = version.match(/^([0-9])\.[0-9]\.[0-9]/u)
setLog(response.url, response.status, text) if (reg) versionCompat(json.title, version)
if (version.match('compatible')) {
$('#compt-warn').show()
return false
} else {
$('#compt-warn').hide()
if (pwa) return false
const codeSetupCheck = await Swal.fire({
title: lang.lang_manager_codesetup_title,
text: lang.lang_manager_codesetup,
icon: 'info',
showCancelButton: true
}) })
if (!codeSetupCheck.isConfirmed) return false
return true
} }
return response.json() }
}) } catch {
.catch(function (error) { return false
todo(error)
setLog(start, 'JSON', error)
console.error(error)
})
.then(function (json) {
var version = json.version
if (version) {
var reg = version.match(/^([0-9])\.[0-9]\.[0-9]/u)
if (reg) {
versionCompat(reg[1], reg, json.title, reg[0])
}
}
})
}
function versionCompat(prefix, ver, title, real) {
$('#compt-instance').text(title)
$('#compt-ver').text(real)
if (~real.indexOf('compatible')) {
$('#compt-warn').show()
} else {
$('#compt-warn').hide()
} }
}
async function versionCompat(title, version) {
const [sem, a, b, c] = version.match(/^([0-9]+)\.([0-9]+)\.([0-9]+)/)
$('#compt-instance').text(title)
$('#compt-ver').text(version)
$('#compt-list').html('') $('#compt-list').html('')
var start = '../../source/version.json' var start = '../../source/version.json'
fetch(start, { const response = await fetch(start)
method: 'GET', const json = await response.json()
headers: { const keys = Object.keys(json)
'content-type': 'application/json' let i = 0
let onceAdd = false
for (const targetVersion of keys) {
const data = json[targetVersion]
const [tsem, ta, tb, tc] = targetVersion.match(/^([0-9]+)\.([0-9]+)\.([0-9]+)/)
let add = false
if (ta === a) {
if (tb === b) {
if (tc > c) {
add = true
}
} else if (tb > b) {
add = true
}
} else if (ta > a) {
add = true
} }
}) if (!add) break
.then(function (response) { if (add) onceAdd = true
if (!response.ok) { for (const note of data) {
response.text().then(function (text) { $('#compt-list').append(`<li>${note}(${targetVersion})</li>`)
setLog(response.url, response.status, text) }
}) i++
} }
return response.json() if (lang.language == 'ja' && onceAdd) {
}) $('#compt').show()
.catch(function (error) { }
todo(error)
setLog(start, 'JSON', error)
console.error(error)
})
.then(function (json) {
var complete = false
var ct = 0
var jl = 0
var jl2 = 0
Object.keys(json).forEach(function (key) {
var data = json[key]
if (data) {
jl++
if (key != real && !complete) {
for (var i = 0; i < data.length; i++) {
var e = ''
if (i == 0) {
e = '(' + key + ')'
}
$('#compt-list').append('<li>' + data[i] + e + '</li>')
ct++
e = ''
}
jl2++
} else if (!complete) {
complete = true
}
}
})
if (lang.language == 'ja' && ct > 0) {
if (jl2 != jl && prefix != '1') {
$('#compt').show()
}
}
})
} }
//これが後のMisskeyである。 //これが後のMisskeyである。
function misskeyLogin(url) { function misskeyLogin(url) {
@@ -1156,9 +1145,8 @@ function asReadEnd() {
// Or with jQuery // Or with jQuery
$(document).ready(function(){ $(document).ready(function () {
$('input.autocomplete').autocomplete({ $('input.autocomplete').autocomplete({
data: {}, data: {},
}); });
}); });

View File

@@ -145,7 +145,7 @@ onmessage = function (e) {
} else if (e.data[0] == 'udg') { } else if (e.data[0] == 'udg') {
udg(e.data[1][0], e.data[1][1]) udg(e.data[1][0], e.data[1][1])
} else if (e.data[0] == 'media') { } else if (e.data[0] == 'media') {
media(e.data[1][0], e.data[1][1], e.data[1][2], e.data[1][3]) media(e.data[1][0], e.data[1][1], e.data[1][2], e.data[1][3], e.data[1][4])
} else if (e.data[0] == 'post') { } else if (e.data[0] == 'post') {
post('pass') post('pass')
} else if (e.data[0] == 'toastSaved') { } else if (e.data[0] == 'toastSaved') {

View File

@@ -4,7 +4,11 @@ window.onload = function() {
connection() connection()
initPlugin(plugins) initPlugin(plugins)
if (localStorage.getItem('control-center-np')) $('#ccnp').removeClass('hide') if (localStorage.getItem('control-center-np')) $('#ccnp').removeClass('hide')
} }
const size = localStorage.getItem('size')
if (size) $('html,body').css('font-size', `${size}px`)
$.strip_tags = function(str, allowed) { $.strip_tags = function(str, allowed) {
if (!str) { if (!str) {
return '' return ''

View File

@@ -48,13 +48,13 @@ function initPlugin() {
}) })
}) })
asCommon['TheDesk:confirm'] = asValue.FN_NATIVE(async (z) => { asCommon['TheDesk:confirm'] = asValue.FN_NATIVE(async (z) => {
const alert = await Swal.fire({ const alertSwal = await Swal.fire({
title: z[0].value, title: z[0].value,
text: z[1].value, text: z[1].value,
icon: z[2] ? z[2].value : 'info', icon: z[2] ? z[2].value : 'info',
showCancelButton: true showCancelButton: true
}) })
return asUtil.jsToVal(!!(alert.value && alert.value === true)) return asUtil.jsToVal(!!(alertSwal.value && alertSwal.value === true))
}) })
asCommon['TheDesk:css'] = asValue.FN_NATIVE((z) => { asCommon['TheDesk:css'] = asValue.FN_NATIVE((z) => {
$(escapeHTML(z[0].value)).css(escapeHTML(z[1].value), escapeHTML(z[2].value)) $(escapeHTML(z[0].value)).css(escapeHTML(z[1].value), escapeHTML(z[2].value))
@@ -227,13 +227,13 @@ async function testExec(exe) {
}) })
}) })
asCommon['TheDesk:confirm'] = asValue.FN_NATIVE(async (z) => { asCommon['TheDesk:confirm'] = asValue.FN_NATIVE(async (z) => {
const alert = await Swal.fire({ const alertSwal = await Swal.fire({
title: z[0].value, title: z[0].value,
text: z[1].value, text: z[1].value,
icon: z[2] ? z[2].value : 'info', icon: z[2] ? z[2].value : 'info',
showCancelButton: true showCancelButton: true
}) })
return asUtil.jsToVal(!!(alert.value && alert.value === true)) return asUtil.jsToVal(!!(alertSwal.value && alertSwal.value === true))
}) })
asCommon['TheDesk:css'] = asValue.FN_NATIVE((z) => { asCommon['TheDesk:css'] = asValue.FN_NATIVE((z) => {
$(escapeHTML(z[0].value)).css(escapeHTML(z[1].value), escapeHTML(z[2].value)) $(escapeHTML(z[0].value)).css(escapeHTML(z[1].value), escapeHTML(z[2].value))

View File

@@ -7,12 +7,17 @@ window.addEventListener('DOMContentLoaded', () => {
ipc.send('acsCheck', '') ipc.send('acsCheck', '')
}) })
onmessage = function(e) { onmessage = async function (e) {
if (e.data[0] == 'openUrl') { if (e.data[0] == 'openUrl') {
urls = e.data[1].match(/https?:\/\/(.+)/) urls = e.data[1].match(/https?:\/\/(.+)/)
if (urls) { if (urls) {
shell.openExternal(e.data[1]) shell.openExternal(e.data[1])
} }
} else if (e.data[0] == 'openUrlMainProcess') {
urls = e.data[1].match(/https?:\/\/(.+)/)
if (urls) {
ipc.send('openUrl', e.data[1])
}
} else if (e.data[0] == 'sendSinmpleIpc') { } else if (e.data[0] == 'sendSinmpleIpc') {
ipc.send(e.data[1], '') ipc.send(e.data[1], '')
} else if (e.data[0] == 'dialogStore') { } else if (e.data[0] == 'dialogStore') {
@@ -79,6 +84,8 @@ onmessage = function(e) {
ipc.send('sendMarkersComplete', null) ipc.send('sendMarkersComplete', null)
} else if (e.data[0] == 'copy') { } else if (e.data[0] == 'copy') {
ipc.send('copy', e.data[1]) ipc.send('copy', e.data[1])
} else if (e.data[0] == 'copyBinary') {
ipc.send('copyBinary', e.data[1])
} else if (e.data[0] == 'log') { } else if (e.data[0] == 'log') {
ipc.send('log', e.data[1]) ipc.send('log', e.data[1])
} else if (e.data[0] == 'twitterLogin') { } else if (e.data[0] == 'twitterLogin') {
@@ -89,17 +96,16 @@ onmessage = function(e) {
} }
//version.js //version.js
ipc.send('getPlatform', '') ipc.send('getPlatform', '')
ipc.on('platform', function(event, args) { ipc.on('platform', function (event, args) {
localStorage.setItem('platform', args[0]) localStorage.setItem('platform', args[0])
localStorage.setItem('bit', args[1]) localStorage.setItem('bit', args[1])
localStorage.setItem('about', JSON.stringify([args[2], args[3], args[4], args[5]])) localStorage.setItem('about', JSON.stringify([args[2], args[3], args[4], args[5]]))
}) })
ipc.on('reload', function (event, arg) {
ipc.on('reload', function(event, arg) {
location.reload() location.reload()
}) })
//Native Notf //Native Notf
ipc.on('shownotf', function(event, args) { ipc.on('shownotf', function (event, args) {
if (args['type'] == 'toot') { if (args['type'] == 'toot') {
postMessage(['details', [id, acct_id]], '*') postMessage(['details', [id, acct_id]], '*')
} else if (args['type'] == 'userdata') { } else if (args['type'] == 'userdata') {
@@ -108,7 +114,7 @@ ipc.on('shownotf', function(event, args) {
}) })
//first.js //first.js
ipc.on('custom-css-response', function(event, arg) { ipc.on('custom-css-response', function (event, arg) {
if (arg == '') { if (arg == '') {
return false return false
} }
@@ -119,7 +125,7 @@ ipc.on('custom-css-response', function(event, arg) {
styleNode.append(content) styleNode.append(content)
document.getElementsByTagName('head')[0].append(styleNode) document.getElementsByTagName('head')[0].append(styleNode)
}) })
ipc.on('theme-css-response', function(event, arg) { ipc.on('theme-css-response', function (event, arg) {
if (arg == '') { if (arg == '') {
return false return false
} }
@@ -131,7 +137,7 @@ ipc.on('theme-css-response', function(event, arg) {
document.getElementsByTagName('head')[0].append(styleNode) document.getElementsByTagName('head')[0].append(styleNode)
}) })
//img.js //img.js
ipc.on('bmp-img-comp', function(event, b64) { ipc.on('bmp-img-comp', function (event, b64) {
if (b64[2]) { if (b64[2]) {
var stamped = true var stamped = true
} else { } else {
@@ -139,108 +145,108 @@ ipc.on('bmp-img-comp', function(event, b64) {
} }
postMessage(['media', [b64[0], 'image/png', b64[1], stamped]], '*') postMessage(['media', [b64[0], 'image/png', b64[1], stamped]], '*')
}) })
ipc.on('resizeJudgement', function(event, b64) { ipc.on('resizeJudgement', function (event, b64) {
var resize = localStorage.getItem('uploadCrop') * 1 var resize = localStorage.getItem('uploadCrop') * 1
if (resize > 0) { if (resize > 0) {
var element = new Image() var element = new Image()
var width var width
element.onload = function() { element.onload = function () {
var width = element.naturalWidth var width = element.naturalWidth
var height = element.naturalHeight var height = element.naturalHeight
if (width > resize || height > resize) { if (width > resize || height > resize) {
ipc.send('resize-image', [b64[0], resize]) ipc.send('resize-image', [b64[0], resize])
} else { } else {
postMessage(['media', [b64[0], 'image/png', b64[1]]], '*') postMessage(['media', [b64[0], 'image/png', b64[1], null, b64[2]]], '*')
} }
} }
element.src = 'data:image/png;base64,' + b64[0] element.src = 'data:image/png;base64,' + b64[0]
} else { } else {
postMessage(['media', [b64[0], 'image/png', b64[1]]], '*') postMessage(['media', [b64[0], 'image/png', b64[1], null, b64[2]]], '*')
} }
}) })
//ui,img.js //ui,img.js
ipc.on('general-dl-prog', function(event, arg) { ipc.on('general-dl-prog', function (event, arg) {
console.log('Progress: ' + arg) console.log('Progress: ' + arg)
}) })
ipc.on('general-dl-message', function(event, arg) { ipc.on('general-dl-message', function (event, arg) {
var argC = arg.replace(/\\/g, '\\\\') var argC = arg.replace(/\\/g, '\\\\')
console.log('saved') console.log('saved')
postMessage(['toastSaved', [arg, argC]], '*') postMessage(['toastSaved', [arg, argC]], '*')
}) })
//setting.js //setting.js
ipc.on('langres', function(event, arg) { ipc.on('langres', function (event, arg) {
location.href = '../' + arg + '/setting.html' location.href = '../' + arg + '/setting.html'
}) })
ipc.on('exportSettingsFile', function(event, arg) { ipc.on('exportSettingsFile', function (event, arg) {
postMessage(['exportSettingsCore', arg], '*') postMessage(['exportSettingsCore', arg], '*')
}) })
ipc.on('exportAllComplete', function(event, arg) { ipc.on('exportAllComplete', function (event, arg) {
postMessage(['alert', 'Complete'], '*') postMessage(['alert', 'Complete'], '*')
}) })
ipc.on('config', function(event, arg) { ipc.on('config', function (event, arg) {
postMessage(['importSettingsCore', arg], '*') postMessage(['importSettingsCore', arg], '*')
}) })
ipc.on('savefolder', function(event, arg) { ipc.on('savefolder', function (event, arg) {
localStorage.setItem('savefolder', arg) localStorage.setItem('savefolder', arg)
}) })
ipc.on('font-list', function(event, arg) { ipc.on('font-list', function (event, arg) {
postMessage(['fontList', arg], '*') postMessage(['fontList', arg], '*')
}) })
ipc.on('customSoundRender', function(event, args) { ipc.on('customSoundRender', function (event, args) {
postMessage(['customSoundSave', [args[0], args[1]]], '*') postMessage(['customSoundSave', [args[0], args[1]]], '*')
}) })
ipc.on('theme-json-list-response', function(event, args) { ipc.on('theme-json-list-response', function (event, args) {
postMessage(['ctLoadCore', args], '*') postMessage(['ctLoadCore', args], '*')
}) })
ipc.on('theme-json-delete-complete', function(event, args) { ipc.on('theme-json-delete-complete', function (event, args) {
postMessage(['ctLoad', ''], '*') postMessage(['ctLoad', ''], '*')
}) })
ipc.on('theme-json-response', function(event, args) { ipc.on('theme-json-response', function (event, args) {
postMessage(['customConnect', args], '*') postMessage(['customConnect', args], '*')
}) })
ipc.on('theme-json-create-complete', function(event, args) { ipc.on('theme-json-create-complete', function (event, args) {
if(args != '') alert(args) if (args != '') alert(args)
postMessage(['clearCustomImport', ''], '*') postMessage(['clearCustomImport', ''], '*')
postMessage(['ctLoad', ''], '*') postMessage(['ctLoad', ''], '*')
}) })
//spotify.js //spotify.js
ipc.on('itunes-np', function(event, arg) { ipc.on('itunes-np', function (event, arg) {
postMessage(['npCore', arg], '*') postMessage(['npCore', arg], '*')
}) })
//tips.js //tips.js
ipc.on('memory', function(event, arg) { ipc.on('memory', function (event, arg) {
var use = arg[0] var use = arg[0]
var cpu = arg[1] var cpu = arg[1]
var total = arg[2] var total = arg[2]
postMessage(['renderMem', [use, cpu, total, arg[3], arg[4]]], '*') postMessage(['renderMem', [use, cpu, total, arg[3], arg[4]]], '*')
}) })
//log //log
ipc.on('logData', function(event, args) { ipc.on('logData', function (event, args) {
postMessage(['logData', args], '*') postMessage(['logData', args], '*')
}) })
//update.html //update.html
ipc.on('prog', function(event, arg) { ipc.on('prog', function (event, arg) {
postMessage(['updateProg', arg], '*') postMessage(['updateProg', arg], '*')
}) })
ipc.on('mess', function(event, arg) { ipc.on('mess', function (event, arg) {
postMessage(['updateMess', arg], '*') postMessage(['updateMess', arg], '*')
}) })
//misc //misc
ipc.on('asRead', function(event, arg) { ipc.on('asRead', function (event, arg) {
postMessage(['asRead', ''], '*') postMessage(['asRead', ''], '*')
}) })
ipc.on('asReadEnd', function(event, arg) { ipc.on('asReadEnd', function (event, arg) {
postMessage(['asReadEnd', ''], '*') postMessage(['asReadEnd', ''], '*')
}) })
ipc.on('accessibility', function(event, arg) { ipc.on('accessibility', function (event, arg) {
postMessage(['accessibility', 'true'], '*') postMessage(['accessibility', 'true'], '*')
}) })
ipc.on('twitterLoginComplete', function(event, arg) { ipc.on('twitterLoginComplete', function (event, arg) {
postMessage(['twitterLoginComplete', ''], '*') postMessage(['twitterLoginComplete', ''], '*')
}) })
ipc.on('alert', function(event, arg) { ipc.on('alert', function (event, arg) {
postMessage(['alert', arg], '*') postMessage(['alert', arg], '*')
}) })
ipc.on('customUrl', function(event, args) { ipc.on('customUrl', function (event, args) {
postMessage(['customUrl', args], '*') postMessage(['customUrl', args], '*')
}) })

View File

@@ -57,6 +57,7 @@ function fileselect() {
//ファイル読み込み //ファイル読み込み
function handleFileUpload(files, obj, no) { function handleFileUpload(files, obj, no) {
console.log('nignog\n'+files+'\n'+obj+'\n'+no)
var fr = new FileReader() var fr = new FileReader()
fr.onload = function(evt) { fr.onload = function(evt) {
var b64 = evt.target.result var b64 = evt.target.result
@@ -72,21 +73,24 @@ function handleFileUpload(files, obj, no) {
return false return false
} else { } else {
$('#b64-box').val(b64) $('#b64-box').val(b64)
var ret = media(b64, files['type'], no) var ret = media(b64, files['type'], no, null, files['name'])
} }
} }
element.src = b64 element.src = b64
return false return false
} }
$('#b64-box').val(b64) $('#b64-box').val(b64)
var ret = media(b64, files['type'], no) var ret = media(b64, files['type'], no, null, files['name'])
} }
fr.readAsDataURL(files) fr.readAsDataURL(files)
$('#mec').append(files['name'] + '/') $('#mec').append(files['name'] + '/')
} }
//ファイルアップロード //ファイルアップロード
async function media(b64, type, no, stamped) { async function media(b64, type, no, stamped, filename) {
if (filename) filename=filename.split('/').slice(-1)
else filename='image.png' // probably from clipboard
console.log('nognig\n'+type+'\n'+no+'\n'+stamped)
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 user = localStorage.getItem('user_' + acct_id) var user = localStorage.getItem('user_' + acct_id)
@@ -112,7 +116,7 @@ async function media(b64, type, no, stamped) {
todo('Image Upload...') todo('Image Upload...')
var media = toBlob(b64, type) var media = toBlob(b64, type)
var fd = new FormData() var fd = new FormData()
fd.append('file', media) fd.append('file', media, filename)
var at = localStorage.getItem('acct_' + acct_id + '_at') var at = localStorage.getItem('acct_' + acct_id + '_at')
var httpreq = new XMLHttpRequest() var httpreq = new XMLHttpRequest()
if (localStorage.getItem('mode_' + domain) == 'misskey') { if (localStorage.getItem('mode_' + domain) == 'misskey') {
@@ -265,7 +269,7 @@ element.addEventListener('paste', function(e) {
var i = mediav.split(',').length var i = mediav.split(',').length
} }
// DataTransferItem の type に mime tipes があるのでそれを使う // DataTransferItem の type に mime tipes があるのでそれを使う
media(base64, imageType, i) media(base64, imageType, i, null, 'image.png')
} }
fr.readAsDataURL(imageFile) fr.readAsDataURL(imageFile)

View File

@@ -82,7 +82,13 @@ function post(mode, postvis, dry) {
$('.toot-btn-group').prop('disabled', true) $('.toot-btn-group').prop('disabled', true)
todo('Posting') todo('Posting')
var at = localStorage.getItem('acct_' + acct_id + '_at') var at = localStorage.getItem('acct_' + acct_id + '_at')
var start = 'https://' + domain + '/api/v1/statuses' let start = 'https://' + domain + '/api/v1/statuses'
let method = 'POST'
const editTarget = $('#tootmodal').attr('data-edit')
if (editTarget) {
start = start + `/${editTarget}`
method = 'PUT'
}
var reply = $('#reply').val() var reply = $('#reply').val()
if (str.indexOf(localStorage.getItem('stable')) == -1) { if (str.indexOf(localStorage.getItem('stable')) == -1) {
str + ' #' + localStorage.getItem('stable') str + ' #' + localStorage.getItem('stable')
@@ -174,7 +180,7 @@ function post(mode, postvis, dry) {
return toot return toot
} }
var httpreq = new XMLHttpRequest() var httpreq = new XMLHttpRequest()
httpreq.open('POST', start, true) httpreq.open(method, start, true)
httpreq.setRequestHeader('Content-Type', 'application/json') httpreq.setRequestHeader('Content-Type', 'application/json')
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.setRequestHeader('Idempotency-Key', ideKey) httpreq.setRequestHeader('Idempotency-Key', ideKey)
@@ -375,5 +381,6 @@ function clear() {
width = 300 width = 300
} }
$('#post-box').css('width', width) $('#post-box').css('width', width)
$('#tootmodal').attr('data-edit', null)
mdCheck() mdCheck()
} }

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) {
@@ -34,7 +34,7 @@ function fav(id, acct_id, remote) {
} }
} else { } else {
var fav = json.favourites_count var fav = json.favourites_count
//var fav = json.favourites_count; //var fav = json.favourites_count;
} }
} else { } else {
var fav = json.favourites_count var fav = json.favourites_count
@@ -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) {
@@ -132,7 +132,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) {
@@ -201,7 +201,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) {
@@ -296,7 +296,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)
@@ -364,7 +364,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)
@@ -413,7 +413,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)
@@ -453,27 +453,50 @@ 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) draftToPost(json, acct_id, null)
} }
} }
} }
}) })
} }
// edit
function editToot(id, acct_id) {
show()
var domain = localStorage.getItem('domain_' + acct_id)
var at = localStorage.getItem('acct_' + acct_id + '_at')
var start = 'https://' + domain + '/api/v1/statuses/' + id + '/source'
var httpreq = new XMLHttpRequest()
httpreq.open('GET', start, true)
httpreq.setRequestHeader('Content-Type', 'application/json')
httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json'
httpreq.send()
httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) {
if (this.status !== 200) {
setLog(start, this.status, this.response)
}
var json = httpreq.response
draftToPost(json, acct_id, id)
}
}
}
function 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()
if (id) $('#tootmodal').attr('data-edit', id)
mdCheck() mdCheck()
mediack = null mediack = null
if (json.media_attachments) mediack = json.media_attachments[0] if (json.media_attachments) mediack = json.media_attachments[0]
//メディアがあれば //メディアがあれば
var media_ids = [] var media_ids = []
if (mediack) { if (mediack) {
for (var i = 0; i <= 4; i++) { for (var i = 0; i <= 4; i++) {
@@ -532,7 +555,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) {
@@ -563,7 +586,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) {
@@ -589,7 +612,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) {
@@ -616,7 +639,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
@@ -648,7 +671,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) {
@@ -678,26 +701,26 @@ function staEx(mode) {
var at = localStorage.getItem('acct_' + acct_id + '_at') var at = localStorage.getItem('acct_' + acct_id + '_at')
var start = 'https://' + domain + '/api/v2/search?resolve=true&q=' + url var start = 'https://' + domain + '/api/v2/search?resolve=true&q=' + url
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
'content-type': 'application/json', 'content-type': 'application/json',
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

View File

@@ -6,7 +6,7 @@ function additional(acct_id, tlid) {
$('#timeline-container .mention').addClass('parsed') $('#timeline-container .mention').addClass('parsed')
$('#timeline-container .hashtag, #timeline-container [rel=tag]').each(function(i, elem) { $('#timeline-container .hashtatwemg, #timeline-container [rel=tag]').each(function(i, elem) {
var tags = $(this) var tags = $(this)
.attr('href') .attr('href')
.match(/https?:\/\/([-a-zA-Z0-9@.]+)\/tags?\/([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/) .match(/https?:\/\/([-a-zA-Z0-9@.]+)\/tags?\/([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/)
@@ -233,10 +233,10 @@ function cardHtml(json, acct_id, id) {
if (json.html || json.provider_name == 'Twitter') { if (json.html || json.provider_name == 'Twitter') {
if(isHad) { if(isHad) {
var prved = `<img class="emoji" draggable="false" alt="✅" var prved = `<img class="emoji" draggable="false" alt="✅"
src="https://twemoji.maxcdn.com/v/12.1.3/72x72/2705.png">` src="https://energised.botegirl.parts/v/12.1.3/72x72/2705.png">`
var title = lang.lang_cards_trusted var title = lang.lang_cards_trusted
}else{ }else{
var prved = '<img class="emoji" draggable="false" alt="⚠️" src="https://twemoji.maxcdn.com/v/12.1.4/72x72/26a0.png">' var prved = '<img class="emoji" draggable="false" alt="⚠️" src="https://energised.botegirl.parts/v/12.1.4/72x72/26a0.png">'
var title = lang.lang_cards_untrusted var title = lang.lang_cards_untrusted
} }
analyze =`<a onclick="cardHtmlShow('${acct_id}','${id}')" class="add-show pointer" title="${title}"> analyze =`<a onclick="cardHtmlShow('${acct_id}','${id}')" class="add-show pointer" title="${title}">

View File

@@ -1,12 +1,12 @@
//トゥートの詳細 //トゥートの詳細
function details(id, acct_id, tlid, mode) { async function details(id, acct_id, tlid, mode) {
if (mode == 'dm') { if (mode == 'dm') {
$('.dm-hide').hide() $('.dm-hide').hide()
} else { } else {
$('.dm-hide').show() $('.dm-hide').show()
} }
const context = localStorage.getItem('moreContext') const context = localStorage.getItem('moreContext')
if(context != 'yes') { if (context != 'yes') {
$('.contextTool').hide() $('.contextTool').hide()
} else { } else {
$('.contextTool').show() $('.contextTool').show()
@@ -39,90 +39,99 @@ function details(id, acct_id, tlid, mode) {
} }
} }
} }
try {
fetch(start, i) const response = await fetch(start, i)
.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) })
}) }
} const json = await response.json()
return response.json() console.log(['Toot data:', json])
}) if (!$('#timeline_' + tlid + ' #pub_' + id).length) {
.catch(function(error) { var mute = getFilterTypeByAcct(acct_id, 'thread')
todo(error) var html = parse([json], '', acct_id, '', '', mute)
setLog(start, 'JSON', error) $('#toot-this').html(html)
console.error(error) jQuery('time.timeago').timeago()
}) }
.then(function(json) { if (localStorage.getItem('mode_' + domain) == 'misskey') {
console.log(['Toot data:', json]) var url = 'https://' + domain + '/notes/' + json.id
if (!$('#timeline_' + tlid + ' #pub_' + id).length) { var scn = json.user.username
var html = parse([json], '', acct_id) if (!json.user.host) {
$('#toot-this').html(html) var local = true
jQuery('time.timeago').timeago()
}
if (localStorage.getItem('mode_' + domain) == 'misskey') {
var url = 'https://' + domain + '/notes/' + json.id
var scn = json.user.username
if (!json.user.host) {
var local = true
} else {
var local = false
scn = scn + '@' + host
}
var rep = ''
var uid = json.user.id
if (json._replyIds) {
replyTL(json._replyIds[0], acct_id)
}
} else { } else {
var url = json.url var local = false
if (json.account.acct == json.account.username) { scn = scn + '@' + host
var local = true
} else {
var local = false
}
var scn = json.account.acct
var uid = json.account.id
if (json['in_reply_to_id']) {
replyTL(json['in_reply_to_id'], acct_id)
}
} }
$('#toot-this .fav_ct').text(json.favourites_count) var rep = ''
$('#toot-this .rt_ct').text(json.reblogs_count) var uid = json.user.id
$('#tootmodal').attr('data-url', url) if (json._replyIds) {
$('#tootmodal').attr('data-id', json.id) replyTL(json._replyIds[0], acct_id)
$('#tootmodal').attr('data-acct', acct_id) }
if (local) { } else {
$('#tootmodal').attr('data-user', scn + '@' + domain) var url = json.url
if (json.account.acct == json.account.username) {
var local = true
} else { } else {
$('#tootmodal').attr('data-user', scn) var local = false
} }
getContext(id, acct_id) var scn = json.account.acct
var dom = null var uid = json.account.id
if (!local) { if (json['in_reply_to_id']) {
dom = scn.replace(/.+@/g, '') replyTL(json['in_reply_to_id'], acct_id)
} else {
dom = domain
} }
beforeToot(id, acct_id, dom) }
userToot(id, acct_id, uid) $('#toot-this .fav_ct').text(json.favourites_count)
afterToot(id, acct_id, dom) $('#toot-this .rt_ct').text(json.reblogs_count)
afterUserToot(id, acct_id, uid) $('#tootmodal').attr('data-url', url)
afterFTLToot(id, acct_id, dom) $('#tootmodal').attr('data-id', json.id)
faved(id, acct_id) $('#tootmodal').attr('data-acct', acct_id)
rted(id, acct_id) if (local) {
if ($('#toot-this div').hasClass('cvo')) { $('#tootmodal').attr('data-user', scn + '@' + domain)
$('#toot-this').removeClass('cvo') } else {
} else { $('#tootmodal').attr('data-user', scn)
if (!$('#toot-this .cvo').hasClass('cvo')) { }
$('#toot-this').addClass('cvo') getContext(id, acct_id)
} var dom = null
if (!local) {
dom = scn.replace(/.+@/g, '')
} else {
dom = domain
}
beforeToot(id, acct_id, dom)
userToot(id, acct_id, uid)
afterToot(id, acct_id, dom)
afterUserToot(id, acct_id, uid)
afterFTLToot(id, acct_id, dom)
faved(id, acct_id)
rted(id, acct_id)
if (json.edited_at) {
$('.edited-hide').show()
try {
const history = await (await fetch(`https://${domain}/api/v1/statuses/${id}/history`, i)).json()
const temp = parse(history, 'noauth', acct_id)
console.log(temp)
$('#toot-edit').html(temp)
} catch(e) { console.error(e) }
} else {
$('#toot-edit').html('')
$('.edited-hide').hide()
}
if ($('#toot-this div').hasClass('cvo')) {
$('#toot-this').removeClass('cvo')
} else {
if (!$('#toot-this .cvo').hasClass('cvo')) {
$('#toot-this').addClass('cvo')
} }
if (!$('#activator').hasClass('active')) { }
$('#det-col').collapsible('open', 4) if (!$('#activator').hasClass('active')) {
} $('#det-col').collapsible('open', 4)
}) }
} catch (error) {
todo(error)
setLog(start, 'JSON', error)
console.error(error)
}
} }
//返信タイムライン //返信タイムライン
@@ -145,20 +154,20 @@ function replyTL(id, acct_id) {
return false return false
} }
fetch(start, i) fetch(start, i)
.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 mute = getFilterTypeByAcct(acct_id, 'thread') var mute = getFilterTypeByAcct(acct_id, 'thread')
if (localStorage.getItem('mode_' + domain) == 'misskey') { if (localStorage.getItem('mode_' + domain) == 'misskey') {
var templete = misskeyParse([json], '', acct_id, '', '', mute) var templete = misskeyParse([json], '', acct_id, '', '', mute)
@@ -201,20 +210,20 @@ function getContext(id, acct_id) {
} }
} }
fetch(start, i) fetch(start, i)
.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 (localStorage.getItem('mode_' + domain) == 'misskey') { if (localStorage.getItem('mode_' + domain) == 'misskey') {
json.reverse() json.reverse()
var templete = misskeyParse(json, '', acct_id, '', '', []) var templete = misskeyParse(json, '', acct_id, '', '', [])
@@ -269,20 +278,20 @@ function beforeToot(id, acct_id, domain) {
untilID: id untilID: id
}) })
}) })
.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 templete = misskeyParse(json, 'noauth', acct_id) var templete = misskeyParse(json, 'noauth', acct_id)
$('#toot-before').html(templete) $('#toot-before').html(templete)
jQuery('time.timeago').timeago() jQuery('time.timeago').timeago()
@@ -295,20 +304,20 @@ function beforeToot(id, acct_id, domain) {
'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 templete = parse(json, 'noauth', acct_id) var templete = parse(json, 'noauth', acct_id)
if (templete != '') { if (templete != '') {
$('#toot-before .no-data').hide() $('#toot-before .no-data').hide()
@@ -335,20 +344,20 @@ function userToot(id, acct_id, user) {
userId: user userId: user
}) })
}) })
.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 templete = misskeyParse(json, 'noauth', acct_id) var templete = misskeyParse(json, 'noauth', acct_id)
$('#user-before').html(templete) $('#user-before').html(templete)
jQuery('time.timeago').timeago() jQuery('time.timeago').timeago()
@@ -362,20 +371,20 @@ function userToot(id, acct_id, user) {
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) {
var templete = parse(json, '', acct_id) var templete = parse(json, '', acct_id)
if (templete != '') { if (templete != '') {
$('#user-before .no-data').hide() $('#user-before .no-data').hide()
@@ -396,20 +405,20 @@ function afterToot(id, acct_id, domain) {
'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 templete = parse(json, 'noauth', acct_id) var templete = parse(json, 'noauth', acct_id)
if (templete != '') { if (templete != '') {
$('#ltl-after .no-data').hide() $('#ltl-after .no-data').hide()
@@ -430,20 +439,20 @@ function afterUserToot(id, acct_id, user) {
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) {
var templete = parse(json, '', acct_id) var templete = parse(json, '', acct_id)
if (templete != '') { if (templete != '') {
$('#user-after .no-data').hide() $('#user-after .no-data').hide()
@@ -463,20 +472,20 @@ function afterFTLToot(id, acct_id, domain) {
'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 templete = parse(json, 'noauth', acct_id) var templete = parse(json, 'noauth', acct_id)
if (templete != '') { if (templete != '') {
$('#ftl-after .no-data').hide() $('#ftl-after .no-data').hide()
@@ -501,20 +510,20 @@ function faved(id, acct_id) {
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) {
var templete = userparse(json, '', acct_id) var templete = userparse(json, '', acct_id)
if (templete != '') { if (templete != '') {
$('#toot-fav .no-data').hide() $('#toot-fav .no-data').hide()
@@ -539,20 +548,20 @@ function rted(id, acct_id) {
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) {
var templete = userparse(json, '', acct_id) var templete = userparse(json, '', acct_id)
$('#toot-rt').html(templete) $('#toot-rt').html(templete)
jQuery('time.timeago').timeago() jQuery('time.timeago').timeago()
@@ -591,44 +600,38 @@ function staCopy(id) {
} }
//翻訳 //翻訳
function trans(tar, to, elem) { function trans(tar, to, elem) {
var html = elem.parents('.cvo').find('.toot').html() var id = elem.parents('.cvo').attr('toot-id')
if (html.match(/^<p>(.+)<\/p>$/)) { //alert(id)
html = html.match(/^<p>(.+)<\/p>$/)[1] $('#toot-this .additional').text('Loading...(Powered by Mastodon API)')
var domain = localStorage.getItem('domain_' + acct_id)
if (localStorage.getItem('mode_' + domain) == 'misskey') {
return false
} }
html = html.replace(/<br\s?\/?>/g, '\n') var at = localStorage.getItem('acct_' + acct_id + '_at')
html = html.replace(/<p>/g, '\n') var exec = `https://${domain}/api/v1/statuses/${id}/translate`
html = html.replace(/<\/p>/g, '\n')
html = $.strip_tags(html)
if (~tar.indexOf('zh')) {
tar = 'zh'
}
$('#toot-this .additional').text('Loading...(Powered by Google Translate)')
var exec =
'https://script.google.com/macros/s/AKfycbxhwW5tjjop9Irg-y1zr_WsXlCKEzwWG6KuoOt_vVRDfEbRv0c/exec?format=json&text=' +
encodeURIComponent(html) +
'&source=' +
tar +
'&target=' +
to
console.log('Try to translate from ' + tar + ' to ' + to + ' at ' + exec)
fetch(exec, { fetch(exec, {
method: 'GET' method: 'POST',
headers: {
'content-type': 'application/json',
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(text) { .then(function (text) {
elem.parents('.cvo').find('.toot').append('<span class="gray translate">' + text.text + '</span>') console.log(text)
elem.parents('.cvo').find('.toot').append('<span class="gray translate">' + text.content + '</span>')
}) })
} }
//ブラウザで開く //ブラウザで開く

View File

@@ -278,7 +278,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
} }
var if_notf = 'data-notfIndv="' + acct_id + "_" + toot.id + '"' var if_notf = 'data-notfIndv="' + acct_id + "_" + toot.id + '"'
var toot = toot.note var toot = toot.note
var dis_name = escapeHTML(toot.user.name) var dis_name = escapeHTML(toot.user.name || toot.user.username)
} else { } else {
var if_notf = "" var if_notf = ""
if (toot.renote) { if (toot.renote) {
@@ -291,7 +291,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
if (!toot.text) { if (!toot.text) {
var toot = toot.renote var toot = toot.renote
} }
var dis_name = escapeHTML(toot.user.name) var dis_name = escapeHTML(toot.user.name || toot.user.username)
var uniqueid = toot.id var uniqueid = toot.id
var actemojick = false var actemojick = false
} else { } else {
@@ -606,9 +606,8 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
} }
//Ticker //Ticker
var tickerdom = "" var tickerdom = ""
if (ticker) { var tickerdata = JSON.parse(localStorage.getItem("ticker"))
var tickerdata = JSON.parse(localStorage.getItem("ticker")) if (ticker && tickerdata) {
var thisdomain = toot.user.username.split("@") var thisdomain = toot.user.username.split("@")
if (thisdomain.length > 1) { if (thisdomain.length > 1) {
thisdomain = thisdomain[1] thisdomain = thisdomain[1]
@@ -772,7 +771,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
} else { } else {
var actemojick = false var actemojick = false
} }
var rand = uuid() var rand = makeCID()
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\', \'' + rand + '\')" onclick="mov(\'' + toot.id + '\',\'' + tlid + '\',\'cl\', \'' + rand + '\')" 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 + '">' +
@@ -798,7 +797,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
'</span>' + '</span>' +
'' + viewer + '' + '' + viewer + '' +
'</div><div class="area-additional"><span class="additional">' + analyze + '</div><div class="area-additional"><span class="additional">' + analyze +
'<div class="reactions ' + fullhide + '" style="height: 25px;"><span class="' + likehide + ' reaction re-like"><a onclick="reaction(\'like\',\'' + toot.id + '\',' + acct_id + '<div class="reactions ' + fullhide + '" style="height: 25px; position: relative; top: -7px;"><span class="' + likehide + ' reaction re-like"><a onclick="reaction(\'like\',\'' + toot.id + '\',' + acct_id +
',\'' + tlid + '\')" class="waves-effect waves-dark btn-flat" style="padding:0;margin-left:3px;">' + twemoji.parse("👍") + '</a><span class="re-likect">' + like + ',\'' + tlid + '\')" class="waves-effect waves-dark btn-flat" style="padding:0;margin-left:3px;">' + twemoji.parse("👍") + '</a><span class="re-likect">' + like +
'</span></span><span class="' + lovehide + ' reaction re-love"><a onclick="reaction(\'love\',\'' + toot.id + '\',' + acct_id + '</span></span><span class="' + lovehide + ' reaction re-love"><a onclick="reaction(\'love\',\'' + toot.id + '\',' + acct_id +
',\'' + tlid + '\')" class="waves-effect waves-dark btn-flat pointer" style="padding:0;margin-left:3px;">' + twemoji.parse("💓") + '</a><span class="re-lovect">' + love + ',\'' + tlid + '\')" class="waves-effect waves-dark btn-flat pointer" style="padding:0;margin-left:3px;">' + twemoji.parse("💓") + '</a><span class="re-lovect">' + love +

View File

@@ -191,6 +191,7 @@ async function mixmore(tlid, type) {
var obj = JSON.parse(multi) var obj = JSON.parse(multi)
var acct_id = obj[tlid].domain var acct_id = obj[tlid].domain
moreloading = true moreloading = true
console.log('moreloading mixmore '+tlid+' '+type)
todo('Integrated TL MoreLoading...(Local)') todo('Integrated TL MoreLoading...(Local)')
const domain = localStorage.getItem('domain_' + acct_id) const domain = localStorage.getItem('domain_' + acct_id)
const sid = $('#timeline_' + tlid + ' .cvo') const sid = $('#timeline_' + tlid + ' .cvo')

View File

@@ -32,6 +32,7 @@ function notfColumn(acct_id, tlid, sys) {
} else { } else {
var exc = '' var exc = ''
} }
if (exc === 'null') exc = ''
var start = 'https://' + domain + '/api/v1/notifications' + exc var start = 'https://' + domain + '/api/v1/notifications' + exc
httpreq.open('GET', start, true) httpreq.open('GET', start, true)
httpreq.setRequestHeader('Content-Type', 'application/json') httpreq.setRequestHeader('Content-Type', 'application/json')
@@ -41,7 +42,7 @@ function notfColumn(acct_id, tlid, sys) {
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send(body) httpreq.send(body)
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) {
@@ -56,7 +57,7 @@ function notfColumn(acct_id, tlid, sys) {
var templete = '' var templete = ''
var lastnotf = localStorage.getItem('lastnotf_' + acct_id) var lastnotf = localStorage.getItem('lastnotf_' + acct_id)
localStorage.setItem('lastnotf_' + acct_id, json[0].id) localStorage.setItem('lastnotf_' + acct_id, json[0].id)
Object.keys(json).forEach(function(key) { Object.keys(json).forEach(function (key) {
var obj = json[key] var obj = json[key]
if (lastnotf == obj.id && key > 0 && native == 'yes') { if (lastnotf == obj.id && key > 0 && native == 'yes') {
var ct = key var ct = key
@@ -71,8 +72,8 @@ function notfColumn(acct_id, tlid, sys) {
var n = new Notification('TheDesk:' + domain, options) var n = new Notification('TheDesk:' + domain, options)
} }
var mute = getFilterTypeByAcct(acct_id, 'notif') var mute = getFilterTypeByAcct(acct_id, 'notif')
//Pleromaにはmoveというtypeがあるらしい。何が互換APIじゃ //Pleromaにはmoveというtypeがあるらしい。何が互換APIじゃ
if (obj.type != 'follow' && obj.type != 'move' && obj.type != 'follow_request') { if (obj.type !== 'follow' && obj.type !== 'move' && obj.type !== 'request' && obj.type !== 'admin.sign_up') {
if (misskey) { if (misskey) {
templete = templete + misskeyParse([obj], 'notf', acct_id, tlid, -1, mute) templete = templete + misskeyParse([obj], 'notf', acct_id, tlid, -1, mute)
} else { } else {
@@ -90,12 +91,12 @@ function notfColumn(acct_id, tlid, sys) {
}) })
templete = templete + '<div class="hide notif-marker" data-maxid="' + max_id + '"></div>' templete = templete + '<div class="hide notif-marker" data-maxid="' + max_id + '"></div>'
$('#timeline_' + tlid).html(templete) $('#timeline_' + tlid).html(templete)
// $('#landing_' + tlid).hide() // $('#landing_' + tlid).hide()
jQuery('time.timeago').timeago() jQuery('time.timeago').timeago()
} }
$('#notf-box').addClass('fetched') $('#notf-box').addClass('fetched')
todc() todc()
//Markers //Markers
var markers = localStorage.getItem('markers') var markers = localStorage.getItem('markers')
if (markers == 'yes') { if (markers == 'yes') {
markers = true markers = true
@@ -155,10 +156,10 @@ function notfCommon(acct_id, tlid, sys, stream) {
return false return false
} }
fetch(start, i) fetch(start, i)
.then(function(response) { .then(function (response) {
console.log('header to get param:' + response.headers.get('link')) console.log('header to get param:' + response.headers.get('link'))
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { response.text().then(function (text) {
console.log('notf error', 'div[data-notf=' + acct_id + '] .landing') console.log('notf error', 'div[data-notf=' + acct_id + '] .landing')
$('div[data-notf=' + acct_id + '] .landing').append(`<div>${response.status}</div><div>${escapeHTML(text)}`) $('div[data-notf=' + acct_id + '] .landing').append(`<div>${response.status}</div><div>${escapeHTML(text)}`)
setLog(response.url, response.status, text) setLog(response.url, response.status, text)
@@ -166,17 +167,17 @@ function notfCommon(acct_id, tlid, sys, stream) {
} }
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[0]) { if (json[0]) {
var templete = '' var templete = ''
var lastnotf = localStorage.getItem('lastnotf_' + acct_id) var lastnotf = localStorage.getItem('lastnotf_' + acct_id)
localStorage.setItem('lastnotf_' + acct_id, json[0].id) localStorage.setItem('lastnotf_' + acct_id, json[0].id)
Object.keys(json).forEach(function(key) { Object.keys(json).forEach(function (key) {
var obj = json[key] var obj = json[key]
if (lastnotf == obj.id && key > 0 && native == 'yes') { if (lastnotf == obj.id && key > 0 && native == 'yes') {
var ct = key var ct = key
@@ -191,8 +192,8 @@ function notfCommon(acct_id, tlid, sys, stream) {
var n = new Notification('TheDesk:' + domain, options) var n = new Notification('TheDesk:' + domain, options)
} }
var mute = getFilterTypeByAcct(acct_id, 'notif') var mute = getFilterTypeByAcct(acct_id, 'notif')
//Pleromaにはmoveというtypeがあるらしい。何が互換APIじゃ //Pleromaにはmoveというtypeがあるらしい。何が互換APIじゃ
if (obj.type != 'follow' && obj.type != 'move') { if (obj.type !== 'follow' && obj.type !== 'move' && obj.type !== 'request' && obj.type !== 'admin.sign_up') {
if (misskey) { if (misskey) {
templete = templete + misskeyParse([obj], 'notf', acct_id, 'notf', -1, mute) templete = templete + misskeyParse([obj], 'notf', acct_id, 'notf', -1, mute)
} else { } else {
@@ -207,7 +208,7 @@ function notfCommon(acct_id, tlid, sys, stream) {
} }
}) })
$('div[data-notf=' + acct_id + ']').html(templete) $('div[data-notf=' + acct_id + ']').html(templete)
// $('#landing_' + tlid).hide() // $('#landing_' + tlid).hide()
jQuery('time.timeago').timeago() jQuery('time.timeago').timeago()
} }
$('#notf-box').addClass('fetched') $('#notf-box').addClass('fetched')
@@ -228,7 +229,7 @@ function notfWS(misskey, acct_id, tlid, domain, at) {
var wsid = websocketNotf.length var wsid = websocketNotf.length
websocketNotf[acct_id] = new WebSocket(start) websocketNotf[acct_id] = new WebSocket(start)
websocketNotf[acct_id].onopen = function(mess) { websocketNotf[acct_id].onopen = function (mess) {
console.table({ console.table({
acct_id: acct_id, acct_id: acct_id,
type: 'Connect Streaming API(Notf)', type: 'Connect Streaming API(Notf)',
@@ -237,9 +238,9 @@ function notfWS(misskey, acct_id, tlid, domain, at) {
}) })
$('i[data-notf=' + acct_id + ']').removeClass('red-text') $('i[data-notf=' + acct_id + ']').removeClass('red-text')
} }
websocketNotf[acct_id].onmessage = function(mess) { websocketNotf[acct_id].onmessage = function (mess) {
$('#landing_' + tlid).hide() $('#landing_' + tlid).hide()
//console.log(["Receive Streaming API(Notf):" + acct_id + "(" + domain + ")", JSON.parse(JSON.parse(mess.data).payload)]); //console.log(["Receive Streaming API(Notf):" + acct_id + "(" + domain + ")", JSON.parse(JSON.parse(mess.data).payload)]);
var popup = localStorage.getItem('popup') var popup = localStorage.getItem('popup')
if (!popup) { if (!popup) {
popup = 0 popup = 0
@@ -251,7 +252,7 @@ function notfWS(misskey, acct_id, tlid, domain, at) {
localStorage.setItem('lastnotf_' + acct_id, obj.id) localStorage.setItem('lastnotf_' + acct_id, obj.id)
if (!$('#unread_' + tlid + ' .material-icons').hasClass('teal-text')) { if (!$('#unread_' + tlid + ' .material-icons').hasClass('teal-text')) {
//markers show中はダメ //markers show中はダメ
if (obj.type != 'follow' && obj.type != 'follow_request') { if (obj.type !== 'follow' && obj.type !== 'move' && obj.type !== 'request' && obj.type !== 'admin.sign_up') {
templete = parse([obj], 'notf', acct_id, 'notf', popup) templete = parse([obj], 'notf', acct_id, 'notf', popup)
} else if (obj.type == 'follow_request') { } else if (obj.type == 'follow_request') {
templete = userparse([obj.account], 'request', acct_id, 'notf', -1) templete = userparse([obj.account], 'request', acct_id, 'notf', -1)
@@ -269,7 +270,7 @@ function notfWS(misskey, acct_id, tlid, domain, at) {
$('[toot-id=' + obj + ']').remove() $('[toot-id=' + obj + ']').remove()
} }
} }
websocketNotf[acct_id].onerror = function(error) { websocketNotf[acct_id].onerror = function (error) {
console.error('WebSocket Error ', error) console.error('WebSocket Error ', error)
errorct++ errorct++
console.log(errorct) console.log(errorct)
@@ -277,7 +278,7 @@ function notfWS(misskey, acct_id, tlid, domain, at) {
notfWS(misskey, acct_id, tlid, domain, at) notfWS(misskey, acct_id, tlid, domain, at)
} }
} }
websocketNotf[acct_id].onclose = function(error) { websocketNotf[acct_id].onclose = function (error) {
console.error('WebSocket Close ', error) console.error('WebSocket Close ', error)
errorct++ errorct++
console.log(errorct) console.log(errorct)
@@ -305,6 +306,7 @@ function notfmore(tlid) {
var domain = localStorage.getItem('domain_' + acct_id) var domain = localStorage.getItem('domain_' + acct_id)
if (sid && !moreloading) { if (sid && !moreloading) {
moreloading = true moreloading = true
console.log('moreloading notfmore '+tlid)
var httpreq = new XMLHttpRequest() var httpreq = new XMLHttpRequest()
if (localStorage.getItem('mode_' + domain) == 'misskey') { if (localStorage.getItem('mode_' + domain) == 'misskey') {
var misskey = true var misskey = true
@@ -331,7 +333,7 @@ function notfmore(tlid) {
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send(body) httpreq.send(body)
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) {
@@ -343,10 +345,10 @@ function notfmore(tlid) {
var templete = '' var templete = ''
var lastnotf = localStorage.getItem('lastnotf_' + acct_id) var lastnotf = localStorage.getItem('lastnotf_' + acct_id)
localStorage.setItem('lastnotf_' + acct_id, json[0].id) localStorage.setItem('lastnotf_' + acct_id, json[0].id)
Object.keys(json).forEach(function(key) { Object.keys(json).forEach(function (key) {
var obj = json[key] var obj = json[key]
var mute = getFilterTypeByAcct(acct_id, 'notif') var mute = getFilterTypeByAcct(acct_id, 'notif')
if (obj.type != 'follow') { if (obj.type !== 'follow' && obj.type !== 'move' && obj.type !== 'request' && obj.type !== 'admin.sign_up') {
if (misskey) { if (misskey) {
templete = templete + misskeyParse([obj], 'notf', acct_id, 'notf', -1, mute) templete = templete + misskeyParse([obj], 'notf', acct_id, 'notf', -1, mute)
} else { } else {
@@ -363,7 +365,7 @@ function notfmore(tlid) {
moreloading = false moreloading = false
templete = templete + '<div class="hide notif-marker" data-maxid="' + max_id + '"></div>' templete = templete + '<div class="hide notif-marker" data-maxid="' + max_id + '"></div>'
$('#timeline_' + tlid).append(templete) $('#timeline_' + tlid).append(templete)
// $('#landing_' + tlid).hide() // $('#landing_' + tlid).hide()
jQuery('time.timeago').timeago() jQuery('time.timeago').timeago()
} }
$('#notf-box').addClass('fetched') $('#notf-box').addClass('fetched')
@@ -381,7 +383,7 @@ function notfToggle(acct, tlid) {
height: '400px', height: '400px',
}, { }, {
duration: 300, duration: 300,
complete: function() { complete: function () {
$('#notf-box_' + tlid).css('overflow-y', 'scroll') $('#notf-box_' + tlid).css('overflow-y', 'scroll')
$('#notf-box_' + tlid).removeClass('column-hide') $('#notf-box_' + tlid).removeClass('column-hide')
}, },
@@ -392,7 +394,7 @@ function notfToggle(acct, tlid) {
height: '0', height: '0',
}, { }, {
duration: 300, duration: 300,
complete: function() { complete: function () {
$('#notf-box_' + tlid).addClass('column-hide') $('#notf-box_' + tlid).addClass('column-hide')
$('#notf-box_' + tlid).css('display', 'none') $('#notf-box_' + tlid).css('display', 'none')
}, },
@@ -429,7 +431,7 @@ function allNotfRead() {
var multi = localStorage.getItem('multi') var multi = localStorage.getItem('multi')
if (multi) { if (multi) {
var obj = JSON.parse(multi) var obj = JSON.parse(multi)
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function (key) {
notfCanceler(key) notfCanceler(key)
}) })
} }

File diff suppressed because it is too large Load Diff

View File

@@ -30,13 +30,14 @@ function src(mode, offset) {
`) `)
var add = '' var add = ''
} else { } else {
var add = '&type=accounts&offset=' + $('#src-accts .cvo').length var add = '&type=accounts&offset=' + $('#src-accts .cusr').length
} }
var q = $('#src').val() var q = $('#src').val()
var acct_id = $('#src-acct-sel').val() var acct_id = $('#src-acct-sel').val()
if (acct_id == 'tootsearch') { if (acct_id == 'tootsearch') {
tsAdd(q) tsAdd(q)
$('#src-contents').html('')
return false return false
} }
localStorage.setItem('last-use', acct_id) localStorage.setItem('last-use', acct_id)
@@ -91,6 +92,11 @@ function src(mode, offset) {
#${escapeHTML(tag)} #${escapeHTML(tag)}
</a> </a>
<br> ` <br> `
} else if (!tag.history) {
tags+=`<a onclick="tl('tag','${tag.name}','${acct_id}','add')" class="pointer">
#${escapeHTML(tag.name)}
</a>
<br> `
} else { } else {
tags = tags + graphDraw(tag, acct_id) tags = tags + graphDraw(tag, acct_id)
} }
@@ -187,6 +193,7 @@ function moreTs(tlid, q) {
.last() .last()
.attr('data-maxid') .attr('data-maxid')
moreloading = true moreloading = true
console.log('moreloading src '+tlid)
var start = var start =
'https://tootsearch.chotto.moe/api/v1/search?from=' + sid + '&sort=created_at%3Adesc&q=' + q 'https://tootsearch.chotto.moe/api/v1/search?from=' + sid + '&sort=created_at%3Adesc&q=' + q
$('#notice_' + tlid).text('tootsearch(' + q + ')') $('#notice_' + tlid).text('tootsearch(' + q + ')')
@@ -284,51 +291,89 @@ function graphDrawCore(his, tag, acct_id) {
</div> </div>
</div>` </div>`
} }
/* async function trend() {
<svg version="1.1" viewbox="0 0 50 300" width="100%" height="50">
<path d="M0,0 L10,0 20,10 20,50" fill="#3F51B5"></path>
</svg>
*/
function trend() {
console.log('get trend') console.log('get trend')
$('#src-contents').html('') $('#src-contents').html('')
var acct_id = $('#src-acct-sel').val() var acct_id = $('#src-acct-sel').val()
if (acct_id == 'tootsearch') { if (acct_id == 'tootsearch') {
return false return false
} }
var domain = localStorage.getItem('domain_' + acct_id) const domain = localStorage.getItem('domain_' + acct_id)
var at = localStorage.getItem('acct_' + acct_id + '_at') const at = localStorage.getItem('acct_' + acct_id + '_at')
var start = 'https://' + domain + '/api/v1/trends' try {
console.log(start) const tagTrendUrl = 'https://' + domain + '/api/v1/trends'
fetch(start, { const tagTrendResponse = await fetch(tagTrendUrl, {
method: 'GET', method: 'GET',
headers: { headers: {
'content-type': 'application/json', 'content-type': 'application/json',
Authorization: 'Bearer ' + at Authorization: 'Bearer ' + at
}
})
.then(function (response) {
if (!response.ok) {
response.text().then(function (text) {
setLog(response.url, response.status, text)
})
} }
return response.json()
}) })
.catch(function (error) { if (!tagTrendResponse.ok) {
setLog(start, 'JSON', error) tagTrendResponse.text().then(function (text) {
console.error(error) setLog(tagTrendResponse.url, tagTrendResponse.status, text)
})
.then(function (json) {
var tags = ''
Object.keys(json).forEach(function (keye) {
var tag = json[keye]
var his = tag.history
tags = graphDrawCore(his, tag, acct_id)
$('#src-contents').append(tags)
}) })
}
const tagTrends = await tagTrendResponse.json()
let tags = ''
for (const tag of tagTrends) {
const his = tag.history
tags = tags + graphDrawCore(his, tag, acct_id)
}
$('#src-contents').append(`<div id="src-content-tag">Trend Tags<br />${tags || 'none'}</div>`)
} catch {
}
try {
const tootTrendUrl = 'https://' + domain + '/api/v1/trends/statuses'
const tootTrendResponse = await fetch(tootTrendUrl, {
method: 'GET',
headers: {
'content-type': 'application/json',
Authorization: 'Bearer ' + at
}
}) })
if (!tootTrendResponse.ok) {
tootTrendResponse.text().then(function (text) {
setLog(tootTrendResponse.url, tootTrendResponse.status, text)
})
}
const tootTrends = await tootTrendResponse.json()
if (tootTrends.length) {
const templete = parse(tootTrends, '', acct_id)
$('#src-contents').append(`<div id="src-content-status">Trend Statuses<br />${templete}</div>`)
} else {
$('#src-contents').append(`<div id="src-content-status">Trend Statuses<br />none</div>`)
}
} catch {
}
try {
const linkTrendUrl = 'https://' + domain + '/api/v1/trends/links'
const linkTrendResponse = await fetch(linkTrendUrl, {
method: 'GET',
headers: {
'content-type': 'application/json',
Authorization: 'Bearer ' + at
}
})
if (!linkTrendResponse.ok) {
linkTrendResponse.text().then(function (text) {
setLog(linkTrendResponse.url, linkTrendResponse.status, text)
})
}
const linkTrends = await linkTrendResponse.json()
console.log(linkTrends)
let links = ''
for (const link of linkTrends) {
links = links + `<a href="${link.url}" target="_blank">${link.url}</a><br />` + cardHtml(link, acct_id, '') + `<hr />`
}
$('#src-contents').append(`<div id="src-content-link">Trend Links<br />${links}</div>`)
} catch {
}
} }
function srcBox(mode) { function srcBox(mode) {
if (mode == 'open') { if (mode == 'open') {

View File

@@ -285,6 +285,7 @@ function stremaingSubscribe(type, acct_id, data, unsubscribe) {
let name = data let name = data
if (data.name) name = data.name if (data.name) name = data.name
arr.push(name) arr.push(name)
console.log(data.any, data.all, acct_id, type)
if (data.any) arr = arr.concat(data.any.split(',')) if (data.any) arr = arr.concat(data.any.split(','))
if (data.all) arr = arr.concat(data.all.split(',')) if (data.all) arr = arr.concat(data.all.split(','))
for (const tag of arr) { for (const tag of arr) {
@@ -539,6 +540,7 @@ function moreload(type, tlid) {
return return
} }
moreloading = true moreloading = true
console.log('moreloading moreload '+tlid)
localStorage.setItem('now', type) localStorage.setItem('now', type)
todo(cap(type) + ' TL MoreLoading') todo(cap(type) + ' TL MoreLoading')
if (type != 'noauth') { if (type != 'noauth') {
@@ -672,6 +674,7 @@ function tlDiff(type, data, acct_id, tlid, delc, voice, mode) {
return return
} }
moreloading = true moreloading = true
console.log('moreloading tldiff '+tlid)
localStorage.setItem('now', type) localStorage.setItem('now', type)
todo(cap(type) + ' TL MoreLoading') todo(cap(type) + ' TL MoreLoading')
if (type != 'noauth') { if (type != 'noauth') {
@@ -1352,6 +1355,7 @@ function asReadEnd() {
//ブックマーク //ブックマーク
function getBookmark(acct_id, tlid, more) { function getBookmark(acct_id, tlid, more) {
moreloading = true moreloading = true
console.log('moreloading getbookmark '+tlid)
console.log(acct_id, tlid, more) console.log(acct_id, tlid, more)
if (more) { if (more) {
var sid = $('#timeline_' + tlid + ' .notif-marker') var sid = $('#timeline_' + tlid + ' .notif-marker')
@@ -1406,6 +1410,7 @@ function getBookmark(acct_id, tlid, more) {
function getUtl(acct_id, tlid, data, more) { function getUtl(acct_id, tlid, data, more) {
moreloading = true moreloading = true
console.log('moreloading getutl '+tlid)
if (more) { if (more) {
var sid = $('#timeline_' + tlid + ' .cvo') var sid = $('#timeline_' + tlid + ' .cvo')
.last() .last()

View File

@@ -22,20 +22,40 @@ function imgv(id, key, acct_id) {
murl = ourl murl = ourl
} }
$(document).ready(function () { $(document).ready(function () {
if (type == 'image') { if (type == 'image') {display_image(murl,id,key)}
$('#imagemodal').modal('open') else if (type == 'video') {display_video(murl)}
imageXhr(id, key, murl) else if (type == 'gifv')
$('#imagewrap').dragScroll() // ドラッグスクロール設定 {
$('#imgmodal').show() if (remote_img == 'no') {display_video(murl)}
$('#imagemodal').attr('data-key', key) else
$('#imagemodal').attr('data-id', id) {
} else if (type == 'video' || type == 'gifv') { // Need to detect if it's a video or a gif, depends if it came from pleroma or mastodon
$('#video').attr('src', murl) // Using extension is a bad idea but w/e
$('#videomodal').modal('open') // Actually if it's from mastodon the extension will be mp4.
$('#imgmodal').show() if (murl.endsWith('.mp4')) {display_video(murl)}
else {display_image(murl,id,key)}
}
} }
}) })
} }
function display_image(murl,id,key)
{
$('#imagemodal').modal('open')
imageXhr(id, key, murl)
$('#imagewrap').dragScroll() // ドラッグスクロール設定
$('#imgmodal').show()
$('#imagemodal').attr('data-key', key)
$('#imagemodal').attr('data-id', id)
}
function display_video(murl,id=null,key=null)
{
$('#video').attr('src', murl)
$('#videomodal').modal('open')
$('#imgmodal').show()
}
//イメージビューワーの送り //イメージビューワーの送り
function imgCont(type) { function imgCont(type) {
var key = $('#imagemodal').attr('data-key') var key = $('#imagemodal').attr('data-key')
@@ -47,6 +67,9 @@ function imgCont(type) {
} }
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')
if (!ourl || ourl == 'null') {
ourl = murl
}
var type = $('#' + id + '-image-' + key).attr('data-type') var type = $('#' + id + '-image-' + key).attr('data-type')
$('#imagemodal').attr('data-id', id) $('#imagemodal').attr('data-id', id)
$('#imagemodal').attr('data-acct', acct_id) $('#imagemodal').attr('data-acct', acct_id)
@@ -54,7 +77,7 @@ function imgCont(type) {
$('#imagemodal').attr('data-image', murl) $('#imagemodal').attr('data-image', murl)
//表示はリモートを使うか(どちらにしろコピーはオリジナル) //表示はリモートを使うか(どちらにしろコピーはオリジナル)
var remote_img = localStorage.getItem('remote_img') var remote_img = localStorage.getItem('remote_img')
if (remote_img == 'yes' && ourl != 'null') { if (remote_img == 'yes') {
murl = ourl murl = ourl
} }
if (murl) { if (murl) {
@@ -78,9 +101,9 @@ function imgCont(type) {
function imageXhr(id, key, murl) { function imageXhr(id, key, murl) {
let time = 0 let time = 0
var startTime = new Date() var startTime = new Date()
const timer = setInterval(function() { const timer = setInterval(function () {
time = time + 1 time = time + 1
$('#imgsec').text(time) $('#imgsec').text(time < 5000 ? time : '?')
}, 10) }, 10)
$('#imgmodal-progress div').removeClass('determinate') $('#imgmodal-progress div').removeClass('determinate')
$('#imgmodal-progress div').addClass('indeterminate') $('#imgmodal-progress div').addClass('indeterminate')
@@ -336,10 +359,23 @@ function openFinder(dir) {
postMessage(['openFinder', dir], '*') postMessage(['openFinder', dir], '*')
} }
function stopVideo() { function stopVideo() {
document.getElementById('video').pause() video=document.getElementById('video')
video.pause()
video.src=''
//document.getElementById('video').pause()
} }
function copyImgUrl() { function copyImgUrl() {
var murl = $('#imagemodal').attr('data-original') var murl = $('#imagemodal').attr('data-original')
execCopy(murl) execCopy(murl)
M.toast({ html: lang.lang_img_copyDone, displayLength: 1500 }) M.toast({ html: lang.lang_img_copyDone, displayLength: 1500 })
} }
async function copyImgBinary() {
var murl = $('#imagemodal').attr('data-original')
const blob = await (await fetch(murl)).blob()
const reader = new FileReader()
reader.onloadend = function () {
postMessage(['copyBinary', reader.result], '*')
M.toast({ html: lang.lang_imgBin_copyDone, displayLength: 1500 })
}
reader.readAsDataURL(blob)
}

View File

@@ -26,12 +26,6 @@ function parseColumn(target, dontclose) {
target = 'zero' target = 'zero'
} }
console.log('%c Parse column', 'color:red;font-size:125%') console.log('%c Parse column', 'color:red;font-size:125%')
var size = localStorage.getItem('size')
if (size) {
$('#timeline-container').css('font-size', size + 'px')
$('.toot-reset').css('font-size', size + 'px')
$('.cont-series').css('font-size', size + 'px')
}
if (localStorage.getItem('menu-done')) { if (localStorage.getItem('menu-done')) {
$('#fukidashi').addClass('hide') $('#fukidashi').addClass('hide')
} }
@@ -648,8 +642,6 @@ function addselCk() {
} }
//カラム削除 //カラム削除
function removeColumn(tlid) { function removeColumn(tlid) {
$('#sort-box').addClass('hide')
$('#sort-box').removeClass('show')
Swal.fire({ Swal.fire({
title: lang.lang_layout_deleteColumn, title: lang.lang_layout_deleteColumn,
text: lang.lang_layout_deleteColumnDesc, text: lang.lang_layout_deleteColumnDesc,

View File

@@ -60,11 +60,10 @@ function goTop(id) {
$('#timeline_box_' + id + '_box .tl-box').animate({ scrollTop: 0 }) $('#timeline_box_' + id + '_box .tl-box').animate({ scrollTop: 0 })
} }
function goColumn(key) { function goColumn(key) {
$('#sort-box').addClass('hide')
$('#sort-box').removeClass('show')
if ($('[tlid=' + key + ']').length) { if ($('[tlid=' + key + ']').length) {
$('#timeline-container').animate({ $('#timeline-container').animate({
scrollLeft: $('#timeline-container').scrollLeft() + $('[tlid=' + key + ']').offset().left scrollLeft: $('#timeline-container').scrollLeft() + $('[tlid=' + key + ']').offset().left
}) })
} }
sortLoad()
} }

View File

@@ -1,10 +1,13 @@
//設定(setting.html)で読む //設定(setting.html)で読む
var envView = new Vue({ const envView = Vue.createApp({
el: '#envView', data() {
data: { config: envConstruction }, return {
config: envConstruction
}
},
methods: { methods: {
complete: function(i, val) { complete: function (i, val) {
var ls = envView.config[i] var ls = this.config[i]
let header = ls.text.head let header = ls.text.head
if (!ls.data) { if (!ls.data) {
ls = [ls] ls = [ls]
@@ -29,17 +32,19 @@ var envView = new Vue({
if (ls[0].id == 'frame') { if (ls[0].id == 'frame') {
frameSet(val) frameSet(val)
} }
if (ls[0].id == 'size') {
$('html,body').css('font-size', `${val}px`)
}
M.toast({ html: `Updated: ${header}`, displayLength: 3000 }) M.toast({ html: `Updated: ${header}`, displayLength: 3000 })
return true return true
}, },
}, },
}) }).mount('#envView')
var tlView = new Vue({ const tlView = Vue.createApp({
el: '#tlView', data() { return { config: tlConstruction } },
data: { config: tlConstruction },
methods: { methods: {
complete: function(i, val) { complete: function (i, val) {
var ls = tlView.config[i] var ls = this.config[i]
let header = ls.text.head let header = ls.text.head
if (val) { if (val) {
localStorage.setItem(ls.storage, val) localStorage.setItem(ls.storage, val)
@@ -59,39 +64,40 @@ var tlView = new Vue({
return true return true
}, },
}, },
}) }).mount('#tlView')
var postView = new Vue({ const postView = Vue.createApp({
el: '#postView', data() {
data: { return {
config: postConstruction, config: postConstruction,
kirishima: localStorage.getItem('kirishima'), kirishima: localStorage.getItem('kirishima'),
quoters: localStorage.getItem('quoters'), quoters: localStorage.getItem('quoters'),
}, }
methods: { },
complete: function(i, val) { methods: {
var ls = postView.config[i] complete: function (i, val) {
let header = ls.text.head var ls = this.config[i]
if (val) { let header = ls.text.head
localStorage.setItem(ls.storage, val) if (val) {
localStorage.setItem(ls.storage, val)
} else {
if (!ls.data) {
ls = [ls]
} else { } else {
if (!ls.data) { ls = ls.data
ls = [ls]
} else {
ls = ls.data
}
for (var j = 0; j < ls.length; j++) {
M.toast({ html: 'Complete', displayLength: 3000 })
var id = ls[j].id
var val = $('#' + id).val()
localStorage.setItem(ls[j].storage, val)
}
} }
M.toast({ html: `Updated: ${header}`, displayLength: 3000 }) for (var j = 0; j < ls.length; j++) {
return true M.toast({ html: 'Complete', displayLength: 3000 })
}, var id = ls[j].id
var val = $('#' + id).val()
localStorage.setItem(ls[j].storage, val)
}
}
M.toast({ html: `Updated: ${header}`, displayLength: 3000 })
return true
}, },
}) },
//設定ボタン押した。 }).mount('#postView')
//設定ボタン押した。
function settings() { function settings() {
var fontd = $('#font').val() var fontd = $('#font').val()
if (fontd) { if (fontd) {
@@ -225,7 +231,7 @@ function climute() {
return return
} }
var templete var templete
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function (key) {
var cli = obj[key] var cli = obj[key]
var list = key * 1 + 1 var list = key * 1 + 1
templete = templete =
@@ -340,18 +346,18 @@ function exportSettings() {
function exportSettingsCore() { function exportSettingsCore() {
var exp = {} var exp = {}
//Accounts //Accounts
var multi = localStorage.getItem('multi') var multi = localStorage.getItem('multi')
var acct = JSON.parse(multi) var acct = JSON.parse(multi)
exp.accts = acct exp.accts = acct
//Columns //Columns
var multi = localStorage.getItem('column') var multi = localStorage.getItem('column')
var column = JSON.parse(multi) var column = JSON.parse(multi)
exp.columns = column exp.columns = column
//Themes //Themes
var config = {} var config = {}
config.theme = localStorage.getItem('theme') config.theme = localStorage.getItem('theme')
//Other configs //Other configs
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
@@ -370,17 +376,17 @@ function exportSettingsCore() {
//Font //Font
config.font = localStorage.getItem('font') config.font = localStorage.getItem('font')
exp.config = config exp.config = config
//keysc //keysc
exp.ksc = [localStorage.getItem('oks-1'), localStorage.getItem('oks-2'), localStorage.getItem('oks-3')] exp.ksc = [localStorage.getItem('oks-1'), localStorage.getItem('oks-2'), localStorage.getItem('oks-3')]
//climu //climu
var cli = localStorage.getItem('client_mute') var cli = localStorage.getItem('client_mute')
var climu = JSON.parse(cli) var climu = JSON.parse(cli)
exp.clientMute = climu exp.clientMute = climu
//wordmu //wordmu
var wdm = localStorage.getItem('word_mute') var wdm = localStorage.getItem('word_mute')
var wordmu = JSON.parse(wdm) var wordmu = JSON.parse(wdm)
exp.wordMute = wordmu exp.wordMute = wordmu
//spotify //spotify
exp.spotifyArtwork = localStorage.getItem('artwork') exp.spotifyArtwork = localStorage.getItem('artwork')
var content = localStorage.getItem('np-temp') var content = localStorage.getItem('np-temp')
if (content || content == '' || content == 'null') { if (content || content == '' || content == 'null') {
@@ -391,7 +397,7 @@ function exportSettingsCore() {
//tags //tags
var tagarr = localStorage.getItem('tag') var tagarr = localStorage.getItem('tag')
var favtag = JSON.parse(tagarr) var favtag = JSON.parse(tagarr)
//plugins //plugins
var plugins = localStorage.getItem('plugins') var plugins = localStorage.getItem('plugins')
var plugin = JSON.parse(plugins) var plugin = JSON.parse(plugins)
exp.plugins = plugin exp.plugins = plugin
@@ -482,7 +488,7 @@ function importSettingsCore(obj) {
localStorage.setItem('cwtext', obj.cw) localStorage.setItem('cwtext', obj.cw)
} }
localStorage.setItem('vis', obj.vis) localStorage.setItem('vis', obj.vis)
//End //End
} }
if (obj.ksc[0]) { if (obj.ksc[0]) {
localStorage.setItem('oks-1', obj.ksc[0]) localStorage.setItem('oks-1', obj.ksc[0])
@@ -651,297 +657,297 @@ function ctLoad() {
function ctLoadCore(args) { function ctLoadCore(args) {
var template = '' var template = ''
var editTemplate = '' var editTemplate = ''
Object.keys(args).forEach(function(key) { Object.keys(args).forEach(function (key) {
var theme = args[key] var theme = args[key]
var themeid = theme.id var themeid = theme.id
template = template + `<option value="${themeid}">${theme.name}${theme.compatible ? `(${lang.lang_setting_compat})` : ''}</option>` template = template + `<option value="${themeid}">${theme.name}${theme.compatible ? `(${lang.lang_setting_compat})` : ''}</option>`
if (!theme.compatible) editTemplate = editTemplate + `<option value="${themeid}">${theme.name}</option>` if (!theme.compatible) editTemplate = editTemplate + `<option value="${themeid}">${theme.name}</option>`
}) })
$('#custom-sel-sel').html(template) $('#custom-sel-sel').html(template)
editTemplate = '<option value="add_new">' + $('#edit-selector').attr('data-add') + '</option>' + editTemplate editTemplate = '<option value="add_new">' + $('#edit-selector').attr('data-add') + '</option>' + editTemplate
$('#custom-edit-sel').html(editTemplate) $('#custom-edit-sel').html(editTemplate)
$('#custom-sel-sel').val(localStorage.getItem('customtheme-id')) $('#custom-sel-sel').val(localStorage.getItem('customtheme-id'))
$('select').formSelect() $('select').formSelect()
} }
function customSel() { function customSel() {
var id = $('#custom-sel-sel').val() var id = $('#custom-sel-sel').val()
localStorage.setItem('customtheme-id', id) localStorage.setItem('customtheme-id', id)
themes(id) themes(id)
} }
function custom() { function custom() {
var id = $('#custom-edit-sel').val() var id = $('#custom-edit-sel').val()
if (id == 'add_new') { if (id == 'add_new') {
$('#custom_name').val('') $('#custom_name').val('')
$('#custom_desc').val('') $('#custom_desc').val('')
$('#dark').prop('checked', true) $('#dark').prop('checked', true)
$('#custom_json').val('') $('#custom_json').val('')
for (var i = 0; i <= 13; i++) { for (var i = 0; i <= 13; i++) {
if (i >= 4) $(`#use-color_${i}`).prop('checked', false) if (i >= 4) $(`#use-color_${i}`).prop('checked', false)
$('#color-picker' + i + '_value').val('') $('#color-picker' + i + '_value').val('')
} }
$('#delTheme').addClass('disabled') $('#delTheme').addClass('disabled')
} else { } else {
$('#delTheme').removeClass('disabled') $('#delTheme').removeClass('disabled')
postMessage(['themeJsonRequest', id + '.thedesktheme'], '*') postMessage(['themeJsonRequest', id + '.thedesktheme'], '*')
} }
} }
function customConnect(raw) { function customConnect(raw) {
var args = raw[0] var args = raw[0]
$('#custom_name').val(`${args.name} ${args.default ? 'Customed' : ''}`) $('#custom_name').val(`${args.name} ${args.default ? 'Customed' : ''}`)
$('#custom_desc').val(args.default ? 'TheDesk default theme with some changes by user' : args.desc) $('#custom_desc').val(args.default ? 'TheDesk default theme with some changes by user' : args.desc)
$('#' + args.base).prop('checked', true) $('#' + args.base).prop('checked', true)
//Background //Background
$('#color-picker0_value').val(args.primary.background) $('#color-picker0_value').val(args.primary.background)
//Text //Text
$('#color-picker1_value').val(args.primary.text) $('#color-picker1_value').val(args.primary.text)
//Subcolor //Subcolor
$('#color-picker2_value').val(args.primary.subcolor) $('#color-picker2_value').val(args.primary.subcolor)
//Accent //Accent
$('#color-picker3_value').val(args.primary.accent) $('#color-picker3_value').val(args.primary.accent)
let advanced = ['modal', 'modalFooter', 'third', 'forth', 'bottom', 'emphasized', 'postbox', 'active', 'selected', 'selectedWithShared'] let advanced = ['modal', 'modalFooter', 'third', 'forth', 'bottom', 'emphasized', 'postbox', 'active', 'selected', 'selectedWithShared']
let i = 4 let i = 4
for (tag of advanced) { for (tag of advanced) {
if (args.advanced[tag]) { if (args.advanced[tag]) {
$(`#color-picker${i}_value`).val(args.advanced[tag]) $(`#color-picker${i}_value`).val(args.advanced[tag])
} }
$(`#use-color_${i}`).prop('checked', true) $(`#use-color_${i}`).prop('checked', true)
i++ i++
} }
$('#custom_json').val(raw[1]) $('#custom_json').val(raw[1])
if (args.default) { if (args.default) {
$('#delTheme').addClass('disabled') $('#delTheme').addClass('disabled')
} }
} }
function customImp() { function customImp() {
var json = $('#custom_import').val() var json = $('#custom_import').val()
if (JSON5.parse(json)) { if (JSON5.parse(json)) {
postMessage(['themeJsonCreate', json], '*') postMessage(['themeJsonCreate', json], '*')
} else { } else {
Swal.fire({ Swal.fire({
type: 'error', type: 'error',
title: 'Error', title: 'Error',
}) })
} }
} }
function advanced() { function advanced() {
$('.advanced').toggleClass('hide') $('.advanced').toggleClass('hide')
$('#pickers').toggleClass('advanceTheme') $('#pickers').toggleClass('advanceTheme')
} }
function clearCustomImport() { function clearCustomImport() {
$('#custom_import').val('') $('#custom_import').val('')
} }
function hardwareAcceleration(had) { function hardwareAcceleration(had) {
postMessage(['ha', had], '*') postMessage(['ha', had], '*')
} }
function useragent(val) { function useragent(val) {
postMessage(['ua', val], '*') postMessage(['ua', val], '*')
} }
function frameSet(val) { function frameSet(val) {
postMessage(['frameSet', val], '*') postMessage(['frameSet', val], '*')
} }
function customSound(key) { function customSound(key) {
postMessage(['customSound', key], '*') postMessage(['customSound', key], '*')
} }
function customSoundSave(key, file) { 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() { function pluginLoad() {
$('#plugin-edit-sel').val('add_new') $('#plugin-edit-sel').val('add_new')
$('.plugin_delete').addClass('disabled') $('.plugin_delete').addClass('disabled')
var template = '' var template = ''
var pgns = localStorage.getItem('plugins') var pgns = localStorage.getItem('plugins')
var args = JSON.parse(pgns ? pgns : '[]') var args = JSON.parse(pgns ? pgns : '[]')
Object.keys(args).forEach(function (key) { Object.keys(args).forEach(function (key) {
var theme = args[key] var theme = args[key]
var themeid = theme.id var themeid = theme.id
template = template + `<option value="${themeid}">${getMeta(theme.content).data.name}</option>` template = template + `<option value="${themeid}">${getMeta(theme.content).data.name}</option>`
}) })
template = '<option value="add_new">' + $('#plugin-selector').attr('data-add') + '</option>' + template template = '<option value="add_new">' + $('#plugin-selector').attr('data-add') + '</option>' + template
$('#plugin-edit-sel').html(template) $('#plugin-edit-sel').html(template)
$('select').formSelect() $('select').formSelect()
} }
function pluginEdit() { function pluginEdit() {
var id = $('#plugin-edit-sel').val() var id = $('#plugin-edit-sel').val()
$('#plugin').attr('data-id', id) $('#plugin').attr('data-id', id)
if (id == 'add_new') { if (id == 'add_new') {
editor.setValue('', -1) editor.setValue('', -1)
$('.plugin_delete').addClass('disabled') $('.plugin_delete').addClass('disabled')
} else { } else {
$('.plugin_delete').removeClass('disabled') $('.plugin_delete').removeClass('disabled')
var pgns = localStorage.getItem('plugins') var pgns = localStorage.getItem('plugins')
var args = JSON.parse(pgns ? pgns : '[]') var args = JSON.parse(pgns ? pgns : '[]')
Object.keys(args).forEach(function (key) { Object.keys(args).forEach(function (key) {
var plugin = args[key] var plugin = args[key]
var targetId = plugin.id var targetId = plugin.id
if (targetId == id) editor.setValue(plugin.content, -1) if (targetId == id) editor.setValue(plugin.content, -1)
}) })
} }
} }
function completePlugin(comp) { function completePlugin(comp) {
var pgns = localStorage.getItem('plugins') var pgns = localStorage.getItem('plugins')
var args = JSON.parse(pgns ? pgns : '[]') var args = JSON.parse(pgns ? pgns : '[]')
var id = $('#plugin').attr('data-id') var id = $('#plugin').attr('data-id')
var inputPlugin = editor.getValue() var inputPlugin = editor.getValue()
var meta = getMeta(inputPlugin) var meta = getMeta(inputPlugin)
if (!meta.data) { if (!meta.data) {
Swal.fire({ Swal.fire({
icon: 'error', icon: 'error',
title: 'Syntax Error', title: 'Syntax Error',
text: `error on line ${meta.location.start.line}`, text: `error on line ${meta.location.start.line}`,
text: meta, text: meta,
}) })
return false return false
} }
if (!meta.data.name || !meta.data.version || !meta.data.event || !meta.data.author) { if (!meta.data.name || !meta.data.version || !meta.data.event || !meta.data.author) {
Swal.fire({ Swal.fire({
icon: 'error', icon: 'error',
title: 'Meta data error', title: 'Meta data error',
title: 'Syntax Error of META DATA', title: 'Syntax Error of META DATA',
}) })
return false return false
} }
if (id == 'add_new') { if (id == 'add_new') {
id = makeCID() id = makeCID()
args.push({ args.push({
id: id, id: id,
content: inputPlugin, content: inputPlugin,
}) })
} else { } else {
Object.keys(args).forEach(function (key) { Object.keys(args).forEach(function (key) {
var plugin = args[key] var plugin = args[key]
var targetId = plugin.id var targetId = plugin.id
if (targetId == id) args[key].content = inputPlugin if (targetId == id) args[key].content = inputPlugin
}) })
} }
var ss = args var ss = args
localStorage.setItem('plugins', JSON.stringify(ss)) localStorage.setItem('plugins', JSON.stringify(ss))
if (comp) return false if (comp) return false
$('#plugin').attr('data-id', 'add_new') $('#plugin').attr('data-id', 'add_new')
editor.setValue('', -1) editor.setValue('', -1)
pluginLoad() pluginLoad()
} }
function testExecTrg() { function testExecTrg() {
var inputPlugin = editor.getValue() var inputPlugin = editor.getValue()
var meta = getMeta(inputPlugin) var meta = getMeta(inputPlugin)
if (meta.location) { if (meta.location) {
Swal.fire({ Swal.fire({
icon: 'error', icon: 'error',
title: 'Error', title: 'Error',
text: `error on line ${meta.location.start.line}`, text: `error on line ${meta.location.start.line}`,
text: meta, text: meta,
}) })
return false return false
} }
testExec(inputPlugin) testExec(inputPlugin)
} }
async function deletePlugin() { async function deletePlugin() {
const alert = await Swal.fire({ const delIsIt = await Swal.fire({
title: 'delete', title: 'delete',
icon: 'warning', icon: 'warning',
showCancelButton: true, showCancelButton: true,
}) })
if (!alert) return false if (!delIsIt.isConfirmed) return false
editor.setValue('', -1) editor.setValue('', -1)
var pgns = localStorage.getItem('plugins') var pgns = localStorage.getItem('plugins')
var args = JSON.parse(pgns ? pgns : '[]') var args = JSON.parse(pgns ? pgns : '[]')
var id = $('#plugin').attr('data-id') var id = $('#plugin').attr('data-id')
$('#plugin').attr('data-id', 'add_new') $('#plugin').attr('data-id', 'add_new')
var ss = [] var ss = []
Object.keys(args).forEach(function (key) { Object.keys(args).forEach(function (key) {
var plugin = args[key] var plugin = args[key]
var targetId = plugin.id var targetId = plugin.id
if (targetId != id) ss.push(plugin) if (targetId != id) ss.push(plugin)
}) })
localStorage.setItem('plugins', JSON.stringify(ss)) localStorage.setItem('plugins', JSON.stringify(ss))
pluginLoad() pluginLoad()
} }
function execEditPlugin() { function execEditPlugin() {
completePlugin(true) completePlugin(true)
var id = $('#plugin').attr('data-id') var id = $('#plugin').attr('data-id')
var inputPlugin = editor.getValue() var inputPlugin = editor.getValue()
var meta = getMeta(inputPlugin).data var meta = getMeta(inputPlugin).data
execPlugin(id, meta.event, { acct_id: 0, id: null }) execPlugin(id, meta.event, { acct_id: 0, id: null })
} }
window.onload = function () { window.onload = function () {
//最初に読む //最初に読む
load() load()
climute() climute()
wordmute() wordmute()
wordemp() wordemp()
checkSpotify() checkSpotify()
voiceSettingLoad() voiceSettingLoad()
oksload() oksload()
ctLoad() ctLoad()
pluginLoad() pluginLoad()
$('body').addClass(localStorage.getItem('platform')) $('body').addClass(localStorage.getItem('platform'))
} }
//設定画面で未読マーカーは要らない //設定画面で未読マーカーは要らない
function asReadEnd() { function asReadEnd() {
postMessage(['asReadComp', ''], '*') postMessage(['asReadComp', ''], '*')
} }
function checkupd() { function checkupd() {
if (localStorage.getItem('winstore') == 'brewcask' || localStorage.getItem('winstore') == 'snapcraft' || localStorage.getItem('winstore') == 'winstore') { if (localStorage.getItem('winstore') == 'brewcask' || localStorage.getItem('winstore') == 'snapcraft' || localStorage.getItem('winstore') == 'winstore') {
var winstore = true var winstore = true
} else { } else {
var winstore = false var winstore = false
} }
var ver = localStorage.getItem('ver') var ver = localStorage.getItem('ver')
var start = 'https://thedesk.top/ver.json' var start = 'https://thedesk.top/ver.json'
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
}) })
.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 (mess) { .then(function (mess) {
console.table(mess) console.table(mess)
if (mess) { if (mess) {
var platform = localStorage.getItem('platform') var platform = localStorage.getItem('platform')
if (platform == 'darwin') { if (platform == 'darwin') {
var newest = mess.desk_mac var newest = mess.desk_mac
} else { } else {
var newest = mess.desk var newest = mess.desk
} }
if (newest == ver) { if (newest == ver) {
Swal.fire({ Swal.fire({
type: 'info', type: 'info',
text: lang.lang_setting_noupd, text: lang.lang_setting_noupd,
html: ver, html: ver,
}) })
} else if (ver.indexOf('beta') != -1 || winstore) { } else if (ver.indexOf('beta') != -1 || winstore) {
Swal.fire({ Swal.fire({
type: 'info', type: 'info',
text: lang.lang_setting_thisisbeta, text: lang.lang_setting_thisisbeta,
html: ver, html: ver,
}) })
} else { } else {
localStorage.removeItem('new-ver-skip') localStorage.removeItem('new-ver-skip')
location.href = 'index.html' location.href = 'index.html'
} }
} }
}) })
} }
function lastFmSet() { function lastFmSet() {
if ($('#lastFmUser').val()) { if ($('#lastFmUser').val()) {
localStorage.setItem('lastFmUser', $('#lastFmUser').val()) localStorage.setItem('lastFmUser', $('#lastFmUser').val())
} else { } else {
localStorage.removeItem('lastFmUser') localStorage.removeItem('lastFmUser')
} }
M.toast({ html: 'Complete: last.fm', displayLength: 3000 }) M.toast({ html: 'Complete: last.fm', displayLength: 3000 })
} }
function stopVideo() { function stopVideo() {
return false return false
} }

View File

@@ -1,6 +1,6 @@
//ユーザーデータ表示 //ユーザーデータ表示
localStorage.removeItem('history') localStorage.removeItem('history')
//コード受信 //コード受信
if (location.search) { if (location.search) {
var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/) var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/)
var mode = m[1] var mode = m[1]
@@ -45,30 +45,30 @@ async function udgEx(user, acct_id) {
onBeforeOpen: () => { onBeforeOpen: () => {
Swal.showLoading() Swal.showLoading()
}, },
onClose: () => {}, onClose: () => { },
}).then((result) => {}) }).then((result) => { })
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
'content-type': 'application/json', 'content-type': 'application/json',
Authorization: 'Bearer ' + at, Authorization: 'Bearer ' + at,
}, },
}) })
.then(function(response) { .then(function (response) {
if (!response.ok) { if (!response.ok) {
Swal.close() Swal.close()
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.accounts[0]) { if (json.accounts[0]) {
var id = json.accounts[0].id var id = json.accounts[0].id
udg(id, acct_id, true) udg(id, acct_id, true)
@@ -80,7 +80,7 @@ async function udgEx(user, acct_id) {
return true return true
} }
function udg(user, acct_id, isSwal) { async function udg(user, acct_id, isSwal) {
reset() reset()
if (!user) { if (!user) {
user = localStorage.getItem('user-id_' + acct_id) user = localStorage.getItem('user-id_' + acct_id)
@@ -91,203 +91,203 @@ function udg(user, acct_id, isSwal) {
misskeyUdg(user, acct_id) misskeyUdg(user, acct_id)
return return
} }
var at = localStorage.getItem('acct_' + acct_id + '_at') const at = localStorage.getItem('acct_' + acct_id + '_at')
var start = 'https://' + domain + '/api/v1/accounts/' + user const start = 'https://' + domain + '/api/v1/accounts/' + user
fetch(start, { const response = await fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
'content-type': 'application/json', 'content-type': 'application/json',
Authorization: 'Bearer ' + at, Authorization: 'Bearer ' + at,
}, },
})
if (isSwal) Swal.close()
if (!response.ok) {
response.text().then(function (text) {
setLog(response.url, response.status, text)
}) })
.then(function(response) { }
if (isSwal) Swal.close() const json = await response.json()
if (!response.ok) { //一つ前のユーザーデータ
response.text().then(function(text) { if (!localStorage.getItem('history')) {
setLog(response.url, response.status, text) $('#his-history-btn').prop('disabled', true)
}) } else {
} $('#his-history-btn').prop('disabled', false)
return response.json() $('#his-data').attr('history', localStorage.getItem('history'))
}
//moved設定時
if (json.moved) {
M.toast({
html: lang.lang_showontl_movetxt + '<button class="btn-flat toast-action" onclick="udg(\'' + json.moved.id + "','" + acct_id + '\')">' + lang.lang_showontl_movebtn + '</button>',
displayLength: 4000,
}) })
.catch(function(error) { }
todo(error) if (json.limited) {
setLog(start, 'JSON', error) const limitedCheck = await Swal.fire({
console.error(error) title: lang.lang_showontl_limited_title,
text: lang.lang_showontl_limited,
icon: 'info',
showCancelButton: true
}) })
.then(function(json) { if (!limitedCheck.isConfirmed) return false
//一つ前のユーザーデータ }
if (!localStorage.getItem('history')) { $('#his-data').modal('open')
$('#his-history-btn').prop('disabled', true) $('#his-data').attr('user-id', user)
} else { $('#his-data').attr('use-acct', acct_id)
$('#his-history-btn').prop('disabled', false) if (json.username != json.acct) {
$('#his-data').attr('history', localStorage.getItem('history')) //Remote
} $('#his-data').attr('remote', 'true')
//moved設定時 var fullname = json.acct
if (json.moved) { } else {
M.toast({ $('#his-data').attr('remote', 'false')
html: lang.lang_showontl_movetxt + '<button class="btn-flat toast-action" onclick="udg(\'' + json.moved.id + "','" + acct_id + '\')">' + lang.lang_showontl_movebtn + '</button>', var fullname = json.acct + '@' + domain
displayLength: 4000, }
}) utlShow(json.id, '', acct_id)
} flw(json.id, '', acct_id)
$('#his-data').modal('open') fer(json.id, '', acct_id)
$('#his-data').attr('user-id', user) var dis_name = escapeHTML(json.display_name)
$('#his-data').attr('use-acct', acct_id) dis_name = twemoji.parse(dis_name)
if (json.username != json.acct) {
//Remote
$('#his-data').attr('remote', 'true')
var fullname = json.acct
} else {
$('#his-data').attr('remote', 'false')
var fullname = json.acct + '@' + domain
}
utlShow(json.id, '', acct_id)
flw(json.id, '', acct_id)
fer(json.id, '', acct_id)
var dis_name = escapeHTML(json.display_name)
dis_name = twemoji.parse(dis_name)
var note = json.note var note = json.note
if (json.emojis) { if (json.emojis) {
var actemojick = json.emojis[0] var actemojick = json.emojis[0]
} else { } else {
var actemojick = false var actemojick = false
} }
//絵文字があれば //絵文字があれば
if (actemojick) { if (actemojick) {
Object.keys(json.emojis).forEach(function(key5) { Object.keys(json.emojis).forEach(function (key5) {
var emoji = json.emojis[key5] var emoji = json.emojis[key5]
var shortcode = emoji.shortcode var shortcode = emoji.shortcode
var emoji_url = '<img src="' + emoji.url + '" class="emoji-img" data-emoji="' + shortcode + '" draggable="false">' var emoji_url = '<img src="' + emoji.url + '" class="emoji-img" data-emoji="' + shortcode + '" draggable="false">'
var regExp = new RegExp(':' + shortcode + ':', 'g') var regExp = new RegExp(':' + shortcode + ':', 'g')
dis_name = dis_name.replace(regExp, emoji_url) dis_name = dis_name.replace(regExp, emoji_url)
note = note.replace(regExp, emoji_url) note = note.replace(regExp, emoji_url)
})
}
//noteの解析
//var tags = '<a onclick="tl(\'tag\',\'$1\',' + acct_id +',\'add\')" class="pointer parsed">#$1</a>';
//var mens = '<a onclick="udgEx(\'$1\',' + acct_id +')" class="pointer parsed">@$1</a>';
//note=note.replace(/#(\S+)/gi, tags)
//note=note.replace(/\s@([a-zA-Z_0-9@.-]+)/gi, mens)
$('#his-name').html(dis_name)
$('#his-acct').text(json.acct)
$('#his-acct').attr('fullname', fullname)
$('#his-prof').attr('src', json.avatar)
$('#util-add').removeClass('hide')
const title = $('.column-first').html()
$('#my-data-nav .anc-link').removeClass('active-back')
$('.column-first').addClass('active-back')
$('#his-data-title').html(title)
$('#his-data').css('background-image', 'url(' + json.header + ')')
$('#his-sta').text(json.statuses_count)
$('#his-follow').text(json.following_count)
var flerc = json.followers_count
if (flerc < 0) {
flerc = '-'
}
$('#his-follower').text(flerc)
$('#his-since').text(crat(json.created_at))
$('#his-openin').attr('data-href', json.url)
if (json.fields) {
var table = ''
if (json.fields.length > 0) {
$('#his-des').css('max-height', '196px')
table = '<table id="his-field">'
for (var i = 0; i < json.fields.length; i++) {
var fname = json.fields[i].name
var fval = json.fields[i].value
if (json.fields[i].verified_at) {
var when = lang.lang_showontl_verified + ':' + crat(json.fields[i].verified_at)
var color = 'rgba(121,189,154,.25);'
} else {
var when = ''
var color = 'inherit'
}
table =
table +
'<tr><td class="his-field-title">' +
escapeHTML(fname) +
'</td><td class="his-field-content" title="' +
when +
'" style="background-color:' +
color +
'">' +
fval +
'</td></tr>'
}
table = table + '</table>'
$('#his-des').html(twemoji.parse(note))
} else {
$('#his-des').css('max-height', '400px')
}
$('#his-table').html(twemoji.parse(table))
} else {
$('#his-des').css('max-height', '400px')
}
$('#his-des').html(twemoji.parse(note))
if (json.bot) {
$('#his-bot').html(lang.lang_showontl_botacct)
$('#his-bot').removeClass('hide')
}
$('#his-des').attr('data-acct', acct_id)
$('#his-data').css('background-size', 'cover')
$('#his-float-timeline').css('height', $('#his-data-show').height() + 'px')
localStorage.setItem('history', user)
//自分の時
if (json.acct == localStorage.getItem('user_' + acct_id)) {
showFav('', acct_id)
showBlo('', acct_id)
showMut('', acct_id)
showDom('', acct_id)
showReq('', acct_id)
showFrl('', acct_id)
$('#his-name-val').val(json.display_name)
if (json.fields.length > 0) {
if (json.fields[0]) {
$('#his-f1-name').val(json.fields[0].name)
$('#his-f1-val').val($.strip_tags(json.fields[0].value))
}
if (json.fields[1]) {
$('#his-f2-name').val(json.fields[1].name)
$('#his-f2-val').val($.strip_tags(json.fields[1].value))
}
if (json.fields[2]) {
$('#his-f3-name').val(json.fields[2].name)
$('#his-f3-val').val($.strip_tags(json.fields[2].value))
}
if (json.fields[3]) {
$('#his-f4-name').val(json.fields[3].name)
$('#his-f4-val').val($.strip_tags(json.fields[3].value))
}
}
var des = json.note
des = des.replace(/<br \/>/g, '\n')
des = $.strip_tags(des)
$('#his-des-val').val(des)
$('#his-follow-btn').hide()
$('#his-block-btn').hide()
$('#his-mute-btn').hide()
$('#his-notf-btn').hide()
$('#his-domain-btn').hide()
$('#his-emp-btn').hide()
$('.only-my-data').show()
$('.only-his-data').hide()
if (localStorage.getItem('main') == acct_id) {
$('#his-main-acct').hide()
}
} else {
relations(user, acct_id)
$('.only-my-data').hide()
$('.only-his-data').show()
}
todc()
if (json.locked) {
$('#his-data').addClass('locked')
} else {
$('#his-data').removeClass('locked')
}
//外部データ取得(死かもしれないので)
udAdd(acct_id, user, json.url)
}) })
}
//noteの解析
//var tags = '<a onclick="tl(\'tag\',\'$1\',' + acct_id +',\'add\')" class="pointer parsed">#$1</a>';
//var mens = '<a onclick="udgEx(\'$1\',' + acct_id +')" class="pointer parsed">@$1</a>';
//note=note.replace(/#(\S+)/gi, tags)
//note=note.replace(/\s@([a-zA-Z_0-9@.-]+)/gi, mens)
$('#his-name').html(dis_name)
$('#his-acct').text(json.acct)
$('#his-acct').attr('fullname', fullname)
$('#his-prof').attr('src', json.avatar)
$('#util-add').removeClass('hide')
const title = $('.column-first').html()
$('#my-data-nav .anc-link').removeClass('active-back')
$('.column-first').addClass('active-back')
$('#his-data-title').html(title)
$('#his-data').css('background-image', 'url(' + json.header + ')')
$('#his-sta').text(json.statuses_count)
$('#his-follow').text(json.following_count)
var flerc = json.followers_count
if (flerc < 0) {
flerc = '-'
}
$('#his-follower').text(flerc)
$('#his-since').text(crat(json.created_at))
$('#his-openin').attr('data-href', json.url)
if (json.fields) {
var table = ''
if (json.fields.length > 0) {
$('#his-des').css('max-height', '196px')
table = '<table id="his-field">'
for (var i = 0; i < json.fields.length; i++) {
var fname = json.fields[i].name
var fval = json.fields[i].value
if (json.fields[i].verified_at) {
var when = lang.lang_showontl_verified + ':' + crat(json.fields[i].verified_at)
var color = 'rgba(121,189,154,.25);'
} else {
var when = ''
var color = 'inherit'
}
table =
table +
'<tr><td class="his-field-title">' +
escapeHTML(fname) +
'</td><td class="his-field-content" title="' +
when +
'" style="background-color:' +
color +
'">' +
fval +
'</td></tr>'
}
table = table + '</table>'
$('#his-des').html(twemoji.parse(note))
} else {
$('#his-des').css('max-height', '400px')
}
$('#his-table').html(twemoji.parse(table))
} else {
$('#his-des').css('max-height', '400px')
}
$('#his-des').html(twemoji.parse(note))
if (json.bot) {
$('#his-bot').html(lang.lang_showontl_botacct)
$('#his-bot').removeClass('hide')
}
$('#his-des').attr('data-acct', acct_id)
$('#his-data').css('background-size', 'cover')
$('#his-float-timeline').css('height', $('#his-data-show').height() + 'px')
localStorage.setItem('history', user)
//自分の時
if (json.acct == localStorage.getItem('user_' + acct_id)) {
showFav('', acct_id)
showBlo('', acct_id)
showMut('', acct_id)
showDom('', acct_id)
showReq('', acct_id)
showFrl('', acct_id)
$('#his-name-val').val(json.display_name)
if (json.fields.length > 0) {
if (json.fields[0]) {
$('#his-f1-name').val(json.fields[0].name)
$('#his-f1-val').val($.strip_tags(json.fields[0].value))
}
if (json.fields[1]) {
$('#his-f2-name').val(json.fields[1].name)
$('#his-f2-val').val($.strip_tags(json.fields[1].value))
}
if (json.fields[2]) {
$('#his-f3-name').val(json.fields[2].name)
$('#his-f3-val').val($.strip_tags(json.fields[2].value))
}
if (json.fields[3]) {
$('#his-f4-name').val(json.fields[3].name)
$('#his-f4-val').val($.strip_tags(json.fields[3].value))
}
}
var des = json.note
des = des.replace(/<br \/>/g, '\n')
des = $.strip_tags(des)
$('#his-des-val').val(des)
$('#his-follow-btn').hide()
$('#his-block-btn').hide()
$('#his-mute-btn').hide()
$('#his-notf-btn').hide()
$('#his-domain-btn').hide()
$('#his-emp-btn').hide()
$('.only-my-data').show()
$('.only-his-data').hide()
if (localStorage.getItem('main') == acct_id) {
$('#his-main-acct').hide()
}
} else {
relations(user, acct_id)
$('.only-my-data').hide()
$('.only-his-data').show()
}
todc()
if (json.locked) {
$('#his-data').addClass('locked')
} else {
$('#his-data').removeClass('locked')
}
//外部データ取得(死かもしれないので)
udAdd(acct_id, user, json.url)
} }
function misskeyUdg(user, acct_id) { function misskeyUdg(user, acct_id) {
@@ -304,29 +304,29 @@ function misskeyUdg(user, acct_id) {
var at = localStorage.getItem('acct_' + acct_id + '_at') var at = localStorage.getItem('acct_' + acct_id + '_at')
var start = 'https://' + domain + '/api/users/show' var start = 'https://' + domain + '/api/users/show'
fetch(start, { fetch(start, {
method: 'POST', method: 'POST',
headers: { headers: {
'content-type': 'application/json', 'content-type': 'application/json',
}, },
body: JSON.stringify({ body: JSON.stringify({
i: at, i: at,
userId: user, userId: user,
}), }),
}) })
.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 (!localStorage.getItem('history')) { if (!localStorage.getItem('history')) {
$('#his-history-btn').prop('disabled', true) $('#his-history-btn').prop('disabled', true)
@@ -370,7 +370,7 @@ function misskeyUdg(user, acct_id) {
} }
$('#his-data').css('background-size', 'cover') $('#his-data').css('background-size', 'cover')
localStorage.setItem('history', user) localStorage.setItem('history', user)
//自分の時 //自分の時
if (json.username == localStorage.getItem('user_' + acct_id) && !json.host) { if (json.username == localStorage.getItem('user_' + acct_id) && !json.host) {
//showFav('', acct_id); //showFav('', acct_id);
//showMut('', acct_id); //showMut('', acct_id);
@@ -438,26 +438,26 @@ function relations(user, acct_id) {
var at = localStorage.getItem('acct_' + acct_id + '_at') var at = localStorage.getItem('acct_' + acct_id + '_at')
var start = 'https://' + domain + '/api/v1/accounts/relationships?id=' + user var start = 'https://' + domain + '/api/v1/accounts/relationships?id=' + user
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
headers: { headers: {
'content-type': 'application/json', 'content-type': 'application/json',
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) {
var json = json[0] var json = json[0]
if (json.requested) { if (json.requested) {
//フォロリク中 //フォロリク中
@@ -597,7 +597,7 @@ function reset() {
$('#his-data').removeClass('locked') $('#his-data').removeClass('locked')
$('#his-data').removeClass('requesting') $('#his-data').removeClass('requesting')
} }
$('#my-data-nav .anc-link').on('click', function() { $('#my-data-nav .anc-link').on('click', function () {
var target = $(this).attr('go') var target = $(this).attr('go')
if (target) { if (target) {
let title = $(this).html() let title = $(this).html()

View File

@@ -29,14 +29,10 @@ if (!gotTheLock) {
} else { } else {
app.on('second-instance', (event, commandLine, workingDirector) => { app.on('second-instance', (event, commandLine, workingDirector) => {
opening = false opening = false
const m = commandLine[2].match(/([a-zA-Z0-9]+)\/\?[a-zA-Z-0-9]+=(.+)/) const m = commandLine[2].match(/([a-zA-Z0-9]+)\/?\?[a-zA-Z-0-9]+=(.+)/)
if (m) { if (m) {
mainWindow.send('customUrl', [m[1], m[2]]) mainWindow.send('customUrl', [m[1], m[2]])
} }
if (mainWindow) {
if (mainWindow.isMinimized()) mainWindow.restore()
mainWindow.focus()
}
}) })
} }
@@ -45,6 +41,13 @@ app.on('window-all-closed', function () {
electron.session.defaultSession.clearCache(() => { }) electron.session.defaultSession.clearCache(() => { })
app.quit() app.quit()
}) })
app.on('open-url', function (event, url) {
event.preventDefault()
const m = url.match(/([a-zA-Z0-9]+)\/?\?[a-zA-Z-0-9]+=(.+)/)
if (m) {
mainWindow.send('customUrl', [m[1], m[2]])
}
})
function isFile(file) { function isFile(file) {
try { try {
fs.statSync(file) fs.statSync(file)
@@ -55,6 +58,7 @@ function isFile(file) {
} }
function createWindow() { function createWindow() {
var lang_path = join(app.getPath('userData'), 'language') var lang_path = join(app.getPath('userData'), 'language')
console.log(lang_path)
if (isFile(lang_path)) { if (isFile(lang_path)) {
var lang = fs.readFileSync(lang_path, 'utf8') var lang = fs.readFileSync(lang_path, 'utf8')
} else { } else {
@@ -167,6 +171,7 @@ function createWindow() {
nodeIntegration: false, nodeIntegration: false,
contextIsolation: true, contextIsolation: true,
spellcheck: false, spellcheck: false,
sandbox: false,
preload: join(__dirname, 'js', 'platform', 'preload.js'), preload: join(__dirname, 'js', 'platform', 'preload.js'),
}, },
width: window_size.width, width: window_size.width,

View File

@@ -26,7 +26,7 @@ function img(mainWindow, dir) {
for (var i = 0; i < fileNames.length; i++) { for (var i = 0; i < fileNames.length; i++) {
var path = fileNames[i] var path = fileNames[i]
var bin = fs.readFileSync(path, 'base64') var bin = fs.readFileSync(path, 'base64')
e.sender.send('resizeJudgement', [bin, 'new']) e.sender.send('resizeJudgement', [bin, 'new', fileNames[i]])
} }
}) })
ipc.on('bmp-image', (e, args) => { ipc.on('bmp-image', (e, args) => {

View File

@@ -1,3 +1,5 @@
const { shell } = require('electron')
function system(mainWindow, dir, lang, dirname) { function system(mainWindow, dir, lang, dirname) {
const electron = require('electron') const electron = require('electron')
const app = electron.app const app = electron.app
@@ -7,6 +9,7 @@ function system(mainWindow, dir, lang, dirname) {
var JSON5 = require('json5') var JSON5 = require('json5')
var ipc = electron.ipcMain var ipc = electron.ipcMain
const clipboard = electron.clipboard const clipboard = electron.clipboard
const nativeImage = electron.nativeImage
var tmp_img = join(app.getPath('userData'), 'tmp.png') var tmp_img = join(app.getPath('userData'), 'tmp.png')
var ha_path = join(app.getPath('userData'), 'hardwareAcceleration') var ha_path = join(app.getPath('userData'), 'hardwareAcceleration')
var wv_path = join(app.getPath('userData'), 'webview') var wv_path = join(app.getPath('userData'), 'webview')
@@ -143,6 +146,9 @@ function system(mainWindow, dir, lang, dirname) {
ipc.on('about', (e, args) => { ipc.on('about', (e, args) => {
about() about()
}) })
ipc.on('openUrl', function (event, arg) {
shell.openExternal(arg)
})
function about() { function about() {
var ver = app.getVersion() var ver = app.getVersion()
var window = new BrowserWindow({ var window = new BrowserWindow({
@@ -150,7 +156,9 @@ function system(mainWindow, dir, lang, dirname) {
webviewTag: false, webviewTag: false,
nodeIntegration: false, nodeIntegration: false,
contextIsolation: true, contextIsolation: true,
preload: join(dirname, 'js', 'platform', 'preload.js'), spellcheck: false,
sandbox: false,
preload: join(__dirname, 'js', 'platform', 'preload.js'),
}, },
width: 300, width: 300,
height: 500, height: 500,
@@ -174,6 +182,7 @@ function system(mainWindow, dir, lang, dirname) {
webviewTag: false, webviewTag: false,
nodeIntegration: false, nodeIntegration: false,
contextIsolation: true, contextIsolation: true,
sandbox: false,
preload: join(dirname, 'js', 'platform', 'preload.js'), preload: join(dirname, 'js', 'platform', 'preload.js'),
}, },
width: 350, width: 350,
@@ -255,6 +264,10 @@ function system(mainWindow, dir, lang, dirname) {
ipc.on('copy', (e, arg) => { ipc.on('copy', (e, arg) => {
clipboard.writeText(arg) clipboard.writeText(arg)
}) })
ipc.on('copyBinary', (e, arg) => {
const ni = nativeImage.createFromDataURL(arg)
clipboard.writeImage(ni)
})
//ログ //ログ
ipc.on('log', (e, arg) => { ipc.on('log', (e, arg) => {
var today = new Date() var today = new Date()
@@ -316,6 +329,7 @@ function system(mainWindow, dir, lang, dirname) {
webviewTag: false, webviewTag: false,
nodeIntegration: false, nodeIntegration: false,
contextIsolation: true, contextIsolation: true,
sandbox: false,
preload: join(dirname, 'js', 'platform', 'preload.js'), preload: join(dirname, 'js', 'platform', 'preload.js'),
}, },
width: 414, width: 414,
@@ -332,5 +346,12 @@ function system(mainWindow, dir, lang, dirname) {
} }
}) })
}) })
function trust_insecure(event, webContents, url, error, certificate, callback)
{
if (url.startsWith('^')) // TODO: Load this from a conf file/option for each account, whatever.
{ event.preventDefault(); callback(true)}
else { callback(false) }
}
//app.on('certificate-error',trust_insecure)
} }
exports.system = system exports.system = system

View File

@@ -86,6 +86,9 @@
.voice { .voice {
display: none; display: none;
} }
.contextMenu {
display: none;
}
</style> </style>
</head> </head>
@@ -145,14 +148,18 @@
var lang = "ja"; var lang = "ja";
} }
</script> </script>
<script src="https://twemoji.maxcdn.com/2/twemoji.min.js?2.7"></script> <script src="https://energised.harpy.faith/2/twemoji.min.js?2.7"></script>
<script type="text/javascript" src="./node_modules/lodash/lodash.min.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="./js/platform/plugin.js"></script>
<script type="text/javascript" src="./js/post/status.js"></script> <script type="text/javascript" src="./js/post/status.js"></script>
<script type="text/javascript" src="./js/post/post.js"></script> <script type="text/javascript" src="./js/post/post.js"></script>
<script type="text/javascript" src="./js/post/use-txtbox.js"></script> <script type="text/javascript" src="./js/post/use-txtbox.js"></script>
<script type="text/javascript" src="./js/platform/native.js"></script>
<script type="text/javascript" src="./js/tl/parse.js"></script> <script type="text/javascript" src="./js/tl/parse.js"></script>
<script type="text/javascript" src="./js/ui/theme.js"></script> <script type="text/javascript" src="./js/ui/theme.js"></script>
<script type="text/javascript" src="./js/tl/date.js"></script> <script type="text/javascript" src="./js/tl/date.js"></script>
<script type="text/javascript" src="./js/tl/card.js"></script>
<script type="text/javascript" src="./js/common/time.js"></script> <script type="text/javascript" src="./js/common/time.js"></script>
<script type="text/javascript" src="./js/platform/nano.js"></script> <script type="text/javascript" src="./js/platform/nano.js"></script>
<script type="text/javascript" src="./js/platform/end.js"></script> <script type="text/javascript" src="./js/platform/end.js"></script>

View File

@@ -1,5 +0,0 @@
[[redirects]]
from = "/"
to = "/app"
status = 301
force = true

View File

@@ -1,7 +1,7 @@
{ {
"name": "thedesk", "name": "thedesk",
"version": "22.3.1", "version": "23.0.3",
"codename": "Koume", "codename": "Chieri",
"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",
@@ -18,7 +18,7 @@
"build": "node buildCli.js", "build": "node buildCli.js",
"build:pwa": "node view/make/makeCli.js --pwa", "build:pwa": "node view/make/makeCli.js --pwa",
"build:all:x64": "node buildCli.js --withStore", "build:all:x64": "node buildCli.js --withStore",
"build:all": "node buildCli.js --withStore --withIa32 --withArm64", "build:all": "node buildCli.js --withStore --withX64 --withIa32 --withArm64",
"lint:fix": "eslint js --fix", "lint:fix": "eslint js --fix",
"lint": "eslint js" "lint": "eslint js"
}, },
@@ -57,38 +57,40 @@
], ],
"license": "GPL-3.0", "license": "GPL-3.0",
"dependencies": { "dependencies": {
"@fortawesome/fontawesome-free": "^5.15.4", "@cutls/materialize-css": "1.0.0",
"@fortawesome/fontawesome-free": "^6.2.1",
"@syuilo/aiscript": "^0.11.1", "@syuilo/aiscript": "^0.11.1",
"electron-dl": "^3.2.1", "electron-dl": "^3.4.0",
"itunes-nowplaying-mac": "https://github.com/cutls/itunes-nowplaying-mac/releases/download/v0.4.0/itunes-nowplaying-mac-0.4.0.tgz", "itunes-nowplaying-mac": "https://github.com/cutls/itunes-nowplaying-mac/releases/download/v0.4.0/itunes-nowplaying-mac-0.4.0.tgz",
"jimp": "^0.16.1", "jimp": "^0.16.2",
"jquery": "^3.6.0", "jquery": "^3.6.1",
"jquery-ui-dist": "^1.12.1", "jquery-ui-dist": "^1.13.2",
"json5": "^2.2.0", "json5": "^2.2.1",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"materialize-css": "git://github.com/cutls/materialize#v1-dev", "sanitize-html": "^2.7.2",
"sanitize-html": "^2.4.0",
"sumchecker": "^3.0.1", "sumchecker": "^3.0.1",
"sweetalert2": "^11.1.4", "sweetalert2": "^11.6.15",
"system-font-families": "^0.4.1", "system-font-families": "^0.6.0",
"textarea-caret": "^3.1.0", "textarea-caret": "^3.1.0",
"uuid": "^8.3.2", "uuid": "^9.0.0",
"vue": "^2.6.14" "vue": "^3.2.45"
}, },
"devDependencies": { "devDependencies": {
"@electron/notarize": "^1.2.3",
"browserify": "^17.0.0", "browserify": "^17.0.0",
"chokidar": "^3.5.2", "chokidar": "^3.5.3",
"dotenv": "^10.0.0", "dotenv": "^16.0.3",
"electron": "^13.2.2", "electron": "^22.0.0",
"electron-builder": "^22.11.7", "electron-builder": "^23.2.0",
"electron-notarize": "^1.1.0", "electron-rebuild": "^3.2.9",
"electron-rebuild": "^3.2.0", "eslint": "^8.25.0",
"eslint": "^7.32.0",
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"readline-sync": "1.4.10" "readline-sync": "1.4.10"
}, },
"resolutions": { "resolutions": {
"@types/fs-extra": "9.0.11", "@types/fs-extra": "^9.0.11",
"plist": "3.0.2" "plist": "^3.0.5",
"minimist": "^1.2.6",
"got": "^11.8.5"
} }
} }

View File

@@ -1,5 +1,14 @@
{ {
"latest":[], "4.0.0": [
"トゥートの翻訳"
],
"3.5.0": [
"投稿の編集",
"トレンドタグ・投稿"
],
"3.3.0": [
"ミュートの継続時間設定"
],
"3.2.0": [], "3.2.0": [],
"3.1.5": [], "3.1.5": [],
"3.1.4": [ "3.1.4": [

View File

@@ -5,7 +5,7 @@
<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 href="../../@@node_base@@/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet" /> <link href="../../@@node_base@@/@cutls/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" />
@@ -25,7 +25,7 @@
<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 type="text/javascript" src="../../@@node_base@@/materialize-css/dist/js/materialize.js"></script> <script type="text/javascript" src="../../@@node_base@@/@cutls/materialize-css/dist/js/materialize.js"></script>
<script type="text/javascript" src="main.js"></script> <script type="text/javascript" src="main.js"></script>
<script type="text/javascript" src="../../@@node_base@@/sweetalert2/dist/sweetalert2.min.js"></script> <script type="text/javascript" src="../../@@node_base@@/sweetalert2/dist/sweetalert2.min.js"></script>
<script> <script>
@@ -55,8 +55,9 @@
<label for="autocomplete-input">URL</label> <label for="autocomplete-input">URL</label>
</div> </div>
<div class="col s4 loginBtnWrap"> <div class="col s4 loginBtnWrap">
<button class="btn waves-effect" onclick="instance()"><i <button class="btn waves-effect" id="loginBtn" onclick="instance()">
class="material-icons left">login</i>Login</button> <i class="material-icons left">login</i>Login
</button>
</div> </div>
</div> </div>
@@ -80,6 +81,7 @@
</div> </div>
<div id="auth" style="display:none"> <div id="auth" style="display:none">
@@codepastewarn@@<br /> @@codepastewarn@@<br />
<a onclick="backToInit()" class="pointer">@@redo@@</a>
<input type="text" id="code" placeholder="@@codepaste@@" required /> <input type="text" id="code" placeholder="@@codepaste@@" required />
<button class="btn waves-effect" onclick="code()">Auth</button><br /> <button class="btn waves-effect" onclick="code()">Auth</button><br />
<br /> <br />

View File

@@ -4,7 +4,7 @@
<script type="text/javascript" src="../../js/ui/theme.js"></script> <script type="text/javascript" src="../../js/ui/theme.js"></script>
<link href="../../css/themes.css" type="text/css" rel="stylesheet" /> <link href="../../css/themes.css" type="text/css" rel="stylesheet" />
<meta content="width=device-width,initial-scale=1.0" name="viewport" /> <meta content="width=device-width,initial-scale=1.0" name="viewport" />
<link href="../../@@node_base@@/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet" /> <link href="../../@@node_base@@/@cutls/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet" />
<link href="../../@@node_base@@/jquery-ui-dist/jquery-ui.min.css" type="text/css" rel="stylesheet" /> <link href="../../@@node_base@@/jquery-ui-dist/jquery-ui.min.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" />
@@ -60,7 +60,7 @@
<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="../../js/platform/native.js"></script> <script type="text/javascript" src="../../js/platform/native.js"></script>
<script type="text/javascript" src="../../js/platform/plugin.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@@/@cutls/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@@/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>
@@ -73,7 +73,7 @@
<script type="text/javascript" src="../../@@node_base@@/sweetalert2/dist/sweetalert2.min.js"></script> <script type="text/javascript" src="../../@@node_base@@/sweetalert2/dist/sweetalert2.min.js"></script>
<script type="text/javascript" src="../../js/platform/punycode.js"></script> <script type="text/javascript" src="../../js/platform/punycode.js"></script>
<script type="text/javascript" src="../../js/ui/tips.js"></script> <script type="text/javascript" src="../../js/ui/tips.js"></script>
<script src="https://twemoji.maxcdn.com/2/twemoji.min.js?2.7"></script> <script src="https://energised.botegirl.parts/2/twemoji.min.js?2.7"></script>
<script type="text/javascript" src="../../js/common/about.js"></script> <script type="text/javascript" src="../../js/common/about.js"></script>
<script type="text/javascript" src="../../js/tl/misskeyparse.js"></script> <script type="text/javascript" src="../../js/tl/misskeyparse.js"></script>
<script type="text/javascript" src="../../js/tl/dm.js"></script> <script type="text/javascript" src="../../js/tl/dm.js"></script>

View File

@@ -14,30 +14,38 @@
<span id="imgprog"></span>% <br /> <span id="imgprog"></span>% <br />
<span id="imgsec"></span>ms <br /><span id="imgbyte"></span>KB <span id="imgsec"></span>ms <br /><span id="imgbyte"></span>KB
</div> </div>
<a class="waves-effect white-text" onclick="zoom(2)"> <span style="padding: 0.6rem" class="btnsgroup">
<i class="material-icons">zoom_in</i> <a class="waves-effect white-text" onclick="zoom(2)">
</a> <i class="material-icons">zoom_in</i>
<a class="waves-effect white-text" onclick="zoom(0.5)"> </a>
<i class="material-icons">zoom_out</i> <a class="waves-effect white-text" onclick="zoom(0.5)">
</a> <i class="material-icons">zoom_out</i>
<a class="waves-effect white-text" onclick="rotate(false)"> </a>
<i class="material-icons">rotate_90_degrees_ccw</i> <a class="waves-effect white-text" onclick="rotate(false)">
</a> <i class="material-icons">rotate_90_degrees_ccw</i>
<button class="btn waves-effect blue" onclick="copyImgUrl()" title="@@copyURL@@"> </a>
</span>
<span style="padding: 0.6rem" class="btnsgroup">
<span style="position: relative; top: -2px;">Copy:</span>
<a class="waves-effect white-text" onclick="copyImgBinary()" title="@@copyBinary@@">
<i class="material-icons">image</i>
</a>
<a class="waves-effect white-text" onclick="copyImgUrl()" title="@@copyURL@@">
<i class="material-icons">link</i> <i class="material-icons">link</i>
</button> </a>
</span>
<button class="btn waves-effect purple" onclick="dlImg()"> <button class="btn waves-effect purple" onclick="dlImg()">
<i class="material-icons">file_download</i> <i class="material-icons">file_download</i>
</button> </button>
<button class="btn waves-effect brown" onclick="detFromImg()" title="@@thisToot@@"> <button class="btn waves-effect brown" onclick="detFromImg()" title="@@thisToot@@">
<i class="material-icons">pageview</i> <i class="material-icons">pageview</i>
</button> </button>
<button class="btn waves-effect orange" onclick="imgCont('prev')" id="image-prev"> <button class="btn waves-effect orange" onclick="imgCont('prev')" id="image-prev">
<i class="material-icons">keyboard_arrow_left</i> <i class="material-icons">keyboard_arrow_left</i>
</button> </button>
<button class="btn waves-effect orange" onclick="imgCont('next')" id="image-next"> <button class="btn waves-effect orange" onclick="imgCont('next')" id="image-next">
<i class="material-icons">keyboard_arrow_right</i> <i class="material-icons">keyboard_arrow_right</i>
</button> </button>
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat"> <a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">
<i class="material-icons">close</i> <i class="material-icons">close</i>
</a> </a>

View File

@@ -225,5 +225,5 @@
</div> </div>
<a onclick="about()" class="nex waves-effect pwa"> <i class="material-icons menu-icon">info</i>@@about@@ </a>&nbsp;|&nbsp; <a onclick="about()" class="nex waves-effect pwa"> <i class="material-icons menu-icon">info</i>@@about@@ </a>&nbsp;|&nbsp;
<a onclick="bottomReverse()" class="nex waves-effect"> <i class="material-icons menu-icon">swap_horiz</i>@@reverse@@ </a>&nbsp;|&nbsp; <a onclick="bottomReverse()" class="nex waves-effect"> <i class="material-icons menu-icon">swap_horiz</i>@@reverse@@ </a>&nbsp;|&nbsp;
<a onclick="openRN()" class="nex waves-effect"> <i class="material-icons menu-icon">new_releases</i>Release Note </a> <a href="https://github.com/cutls/TheDesk/releases" class="nex waves-effect"> <i class="material-icons menu-icon">new_releases</i>Release Note </a>
</div> </div>

View File

@@ -138,9 +138,6 @@
<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>

View File

@@ -10,8 +10,8 @@
<h5>Release Note 22.3.1 (Koume)</h5> <h5>Release Note 22.3.1 (Koume)</h5>
<!--上のdivのidや1行上のところも変えてね--> <!--上のdivのidや1行上のところも変えてね-->
・時限ミュートに対応した ・時限ミュートに対応した
<a onclick="udgEx('Cutls@1m.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@2m.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@1m.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@2m.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">
<h5>Let's make it native!</h5> <h5>Let's make it native!</h5>

View File

@@ -22,7 +22,6 @@
</div> </div>
<div id="support-btm-right"> <div id="support-btm-right">
<h5>@@once@@</h5> <h5>@@once@@</h5>
<a class="btn-share btn waves-effect waves-light blue" href="https://www.amazon.co.jp/registry/wishlist/2TV35ZHHJPDSB" target="_blank"> @@AWLSupport@@ </a>
<br /> @@SendAmazonGift1@@ <a href="mailto:web-pro@cutls.com" target="_blank">web-pro@cutls.com</a>@@SendAmazonGift2@@<br /> Kyash <br /> @@SendAmazonGift1@@ <a href="mailto:web-pro@cutls.com" target="_blank">web-pro@cutls.com</a>@@SendAmazonGift2@@<br /> Kyash
<br /> <br />
<img src="../../img/kyash.png" width="100" /><br /> <img src="../../img/kyash.png" width="100" /><br />

View File

@@ -50,6 +50,10 @@
<div class="collapsible-header"><i class="text-darken-3 false fas fa-retweet"></i>@@btedPeople@@</div> <div class="collapsible-header"><i class="text-darken-3 false fas fa-retweet"></i>@@btedPeople@@</div>
<div class="collapsible-body toot-reset" id="toot-rt"></div> <div class="collapsible-body toot-reset" id="toot-rt"></div>
</li> </li>
<li class="edited-hide">
<div class="collapsible-header"><i class="material-icons">create</i>@@editHistory@@</div>
<div class="collapsible-body toot-reset" id="toot-edit"></div>
</li>
</ul> </ul>
<div class="dm-hide" style="max-width: 450px"> <div class="dm-hide" style="max-width: 450px">
@@useOtherAcct1@@(<i class="fas fa-retweet"></i>/<i class="fas fa-star"></i>@@useOtherAcct2@@)<br /> @@useOtherAcct1@@(<i class="fas fa-retweet"></i>/<i class="fas fa-star"></i>@@useOtherAcct2@@)<br />

View File

@@ -65,6 +65,7 @@
"afterFTL": "Federated TL after this toot", "afterFTL": "Federated TL after this toot",
"favedPeople": "People who favourited it", "favedPeople": "People who favourited it",
"btedPeople": "People who boosted it", "btedPeople": "People who boosted it",
"editHistory": "Edit history",
"useOtherAcct1": "Use other account", "useOtherAcct1": "Use other account",
"useOtherAcct2": ":unfav and unBT are disabled.", "useOtherAcct2": ":unfav and unBT are disabled.",
"btWithVis": "Boost with visibility", "btWithVis": "Boost with visibility",
@@ -73,6 +74,7 @@
"favRegist": "Favourite", "favRegist": "Favourite",
"openBrowser": "Open in browser", "openBrowser": "Open in browser",
"screenshot": "Take a screenshot", "screenshot": "Take a screenshot",
"copyBinary": "Copy raw image",
"copyURL": "Copy the URL", "copyURL": "Copy the URL",
"copy": "Copy", "copy": "Copy",
"embed": "Embed", "embed": "Embed",
@@ -86,6 +88,8 @@
"makeNew": "Save", "makeNew": "Save",
"blocks": "Blocks", "blocks": "Blocks",
"mutes": "Mutes", "mutes": "Mutes",
"notfMute": "Mute their notifications too",
"zeroSetToInfinity": "Mute duration: 0 min to set Infinity",
"block": "Block", "block": "Block",
"mute": "Mute", "mute": "Mute",
"domainBlock": "Domain block", "domainBlock": "Domain block",

View File

@@ -127,6 +127,7 @@
"lang_tl_postmarkers_title": "Process...", "lang_tl_postmarkers_title": "Process...",
"lang_tl_postmarkers": "POST markers data. Please wait", "lang_tl_postmarkers": "POST markers data. Please wait",
"lang_img_DLDone": "Downloaded:", "lang_img_DLDone": "Downloaded:",
"lang_imgBin_copyDone": "Copied: raw data of this image",
"lang_img_copyDone": "Copied: URL of this image", "lang_img_copyDone": "Copied: URL of this image",
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.", "lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
"lang_layout_thisacct": "{{notf}} of this account", "lang_layout_thisacct": "{{notf}} of this account",
@@ -168,11 +169,14 @@
"lang_hisdata_taketime": "It will take 30s ~ several minutes", "lang_hisdata_taketime": "It will take 30s ~ several minutes",
"lang_hisdata_notonmisskey": "Misskey is unable to request.", "lang_hisdata_notonmisskey": "Misskey is unable to request.",
"lang_hisdata_key": "This user is proofed by {{set}}", "lang_hisdata_key": "This user is proofed by {{set}}",
"lang_showontl_limited_title": "Limited account",
"lang_showontl_limited": "This is limited account by moderator, show anyway?",
"lang_showontl_movetxt": "This account was moved", "lang_showontl_movetxt": "This account was moved",
"lang_showontl_movebtn": "Continue on the new account", "lang_showontl_movebtn": "Continue on the new account",
"lang_showontl_botacct": "[bot]", "lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Following you", "lang_showontl_followed": "Following you",
"lang_parse_request": "Follow request", "lang_parse_request": "Follow request",
"lang_parse_signup": "Newface",
"lang_showontl_notf": "Notification ", "lang_showontl_notf": "Notification ",
"lang_showontl_domain": "Domain ", "lang_showontl_domain": "Domain ",
"lang_showontl_listwarn": "Follow to add this user to lists.", "lang_showontl_listwarn": "Follow to add this user to lists.",

View File

@@ -13,13 +13,13 @@
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
"backupWarn": "If you got a error when you choose the file, please paste the strings printed when you open the file and click import", "backupWarn": "If you get an error when you choose the file, please paste the strings printed when you open the file and click import",
"import": "Import", "import": "Import",
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration", "webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.", "webviewWarn": "To use TweetDeck Integration, please turn it on. Please be aware that it may lessen the security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",
@@ -28,7 +28,7 @@
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test", "nntest": "Notification test",
"width": "Width of columns", "width": "Width of columns",
"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 amounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser", "fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines", "margin": "Margin between timelines",
@@ -37,7 +37,7 @@
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)", "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
"fontsize": "Font size", "fontsize": "Font size",
"savefolder": "Folder to save", "savefolder": "Folder to save",
"savefolderwarn": "TheDesk uses this value when it try to save pictures or take screenshots.", "savefolderwarn": "TheDesk uses this value when it tries to save pictures or take screenshots.",
"useragent": "User agent", "useragent": "User agent",
"useragentWarn": "Restart when changed", "useragentWarn": "Restart when changed",
"frame": "Window frame", "frame": "Window frame",
@@ -61,7 +61,7 @@
"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)",
"forthColor": "Title bar(same scheme to Background)", "forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window", "bottom": "Background of menu-bar at the bottom of the window",
"emphasized": "Emphasized toot's background", "emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu", "postbox": "Background of post-box and menu",
"active": "Background of 'active' elements", "active": "Background of 'active' elements",
@@ -163,7 +163,7 @@
"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": "Auto scale to fit",
"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. Note: if you post an animated picture like a GIF, it will be converted to a static picture.",
"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",
@@ -230,7 +230,7 @@
"reply": "Reply to this toot", "reply": "Reply to this toot",
"keyselecttop": "Select the top & left(No.1 column) toot", "keyselecttop": "Select the top & left(No.1 column) toot",
"reset": "Reset(Danger)", "reset": "Reset(Danger)",
"resetconfirm": "Delete all data. You cannot undo. Continue?", "resetconfirm": "Delete all data. You cannot undo this operation. Continue?",
"about": "About TheDesk", "about": "About TheDesk",
"hp": "Website", "hp": "Website",
"support": "Support", "support": "Support",

View File

@@ -65,6 +65,7 @@
"afterFTL": "Federated TL after this toot", "afterFTL": "Federated TL after this toot",
"favedPeople": "People who favourited it", "favedPeople": "People who favourited it",
"btedPeople": "People who boosted it", "btedPeople": "People who boosted it",
"editHistory": "Edit history",
"useOtherAcct1": "Use other account", "useOtherAcct1": "Use other account",
"useOtherAcct2": ":unfav and unBT are disabled.", "useOtherAcct2": ":unfav and unBT are disabled.",
"btWithVis": "Boost with visibility", "btWithVis": "Boost with visibility",
@@ -73,6 +74,7 @@
"favRegist": "Favourite", "favRegist": "Favourite",
"openBrowser": "Open in browser", "openBrowser": "Open in browser",
"screenshot": "Take a screenshot", "screenshot": "Take a screenshot",
"copyBinary": "Copy raw image",
"copyURL": "Copy the URL", "copyURL": "Copy the URL",
"copy": "Copy", "copy": "Copy",
"embed": "Embed", "embed": "Embed",
@@ -86,6 +88,8 @@
"makeNew": "Save", "makeNew": "Save",
"blocks": "Blocks", "blocks": "Blocks",
"mutes": "Mutes", "mutes": "Mutes",
"notfMute": "Mute their notifications too",
"zeroSetToInfinity": "Mute duration: 0 min to set Infinity",
"block": "Block", "block": "Block",
"mute": "Mute", "mute": "Mute",
"domainBlock": "Domain block", "domainBlock": "Domain block",

View File

@@ -127,6 +127,7 @@
"lang_tl_postmarkers_title": "Process...", "lang_tl_postmarkers_title": "Process...",
"lang_tl_postmarkers": "POST markers data. Please wait", "lang_tl_postmarkers": "POST markers data. Please wait",
"lang_img_DLDone": "Downloaded:", "lang_img_DLDone": "Downloaded:",
"lang_imgBin_copyDone": "Copied: raw data of this image",
"lang_img_copyDone": "Copied: URL of this image", "lang_img_copyDone": "Copied: URL of this image",
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.", "lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
"lang_layout_thisacct": "{{notf}} of this account", "lang_layout_thisacct": "{{notf}} of this account",
@@ -168,11 +169,14 @@
"lang_hisdata_taketime": "It will take 30s ~ several minutes", "lang_hisdata_taketime": "It will take 30s ~ several minutes",
"lang_hisdata_notonmisskey": "Misskey is unable to request.", "lang_hisdata_notonmisskey": "Misskey is unable to request.",
"lang_hisdata_key": "This user is proofed by {{set}}", "lang_hisdata_key": "This user is proofed by {{set}}",
"lang_showontl_limited_title": "Limited account",
"lang_showontl_limited": "This is limited account by moderator, show anyway?",
"lang_showontl_movetxt": "This account was moved", "lang_showontl_movetxt": "This account was moved",
"lang_showontl_movebtn": "Continue on the new account", "lang_showontl_movebtn": "Continue on the new account",
"lang_showontl_botacct": "[bot]", "lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Following you", "lang_showontl_followed": "Following you",
"lang_parse_request": "Follow request", "lang_parse_request": "Follow request",
"lang_parse_signup": "Newface",
"lang_showontl_notf": "Notification ", "lang_showontl_notf": "Notification ",
"lang_showontl_domain": "Domain ", "lang_showontl_domain": "Domain ",
"lang_showontl_listwarn": "Follow to add this user to lists.", "lang_showontl_listwarn": "Follow to add this user to lists.",

View File

@@ -13,13 +13,13 @@
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
"backupWarn": "If you got a error when you choose the file, please paste the strings printed when you open the file and click import", "backupWarn": "If you get an error when you choose the file, please paste the strings printed when you open the file and click import",
"import": "Import", "import": "Import",
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration", "webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.", "webviewWarn": "To use TweetDeck Integration, please turn it on. Please be aware that it may lessen the security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",
@@ -28,7 +28,7 @@
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test", "nntest": "Notification test",
"width": "Width of columns", "width": "Width of columns",
"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 amounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser", "fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines", "margin": "Margin between timelines",
@@ -37,7 +37,7 @@
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)", "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
"fontsize": "Font size", "fontsize": "Font size",
"savefolder": "Folder to save", "savefolder": "Folder to save",
"savefolderwarn": "TheDesk uses this value when it try to save pictures or take screenshots.", "savefolderwarn": "TheDesk uses this value when it tries to save pictures or take screenshots.",
"useragent": "User agent", "useragent": "User agent",
"useragentWarn": "Restart when changed", "useragentWarn": "Restart when changed",
"frame": "Window frame", "frame": "Window frame",
@@ -61,7 +61,7 @@
"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)",
"forthColor": "Title bar(same scheme to Background)", "forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window", "bottom": "Background of menu-bar at the bottom of the window",
"emphasized": "Emphasized toot's background", "emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu", "postbox": "Background of post-box and menu",
"active": "Background of 'active' elements", "active": "Background of 'active' elements",
@@ -163,7 +163,7 @@
"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": "Auto scale to fit",
"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. Note: if you post an animated picture like a GIF, it will be converted to a static picture.",
"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",
@@ -230,7 +230,7 @@
"reply": "Reply to this toot", "reply": "Reply to this toot",
"keyselecttop": "Select the top & left(No.1 column) toot", "keyselecttop": "Select the top & left(No.1 column) toot",
"reset": "Reset(Danger)", "reset": "Reset(Danger)",
"resetconfirm": "Delete all data. You cannot undo. Continue?", "resetconfirm": "Delete all data. You cannot undo this operation. Continue?",
"about": "About TheDesk", "about": "About TheDesk",
"hp": "Website", "hp": "Website",
"support": "Support", "support": "Support",

View File

@@ -65,6 +65,7 @@
"afterFTL": "Федерализиран TL след този тоот", "afterFTL": "Федерализиран TL след този тоот",
"favedPeople": "Хора, които го харесват", "favedPeople": "Хора, които го харесват",
"btedPeople": "Хората, които го подсилиха", "btedPeople": "Хората, които го подсилиха",
"editHistory": "Edit history",
"useOtherAcct1": "Използване на друг профил", "useOtherAcct1": "Използване на друг профил",
"useOtherAcct2": ":unfav и unBT са деактивирани.", "useOtherAcct2": ":unfav и unBT са деактивирани.",
"btWithVis": "Подсилването е видимо", "btWithVis": "Подсилването е видимо",
@@ -73,6 +74,7 @@
"favRegist": "Любими", "favRegist": "Любими",
"openBrowser": "Отваряне в браузъра", "openBrowser": "Отваряне в браузъра",
"screenshot": "Направете снимка на екрана", "screenshot": "Направете снимка на екрана",
"copyBinary": "Copy raw image",
"copyURL": "Копирай URL адреса на този тоот", "copyURL": "Копирай URL адреса на този тоот",
"copy": "Copy", "copy": "Copy",
"embed": "Закрепи", "embed": "Закрепи",
@@ -86,6 +88,8 @@
"makeNew": "Запази", "makeNew": "Запази",
"blocks": "Блокове", "blocks": "Блокове",
"mutes": "Заглушаване", "mutes": "Заглушаване",
"notfMute": "Mute their notifications too",
"zeroSetToInfinity": "Mute duration: 0 min to set Infinity",
"block": "Блокове", "block": "Блокове",
"mute": "Заглуши", "mute": "Заглуши",
"domainBlock": "Блок домейн", "domainBlock": "Блок домейн",

View File

@@ -127,6 +127,7 @@
"lang_tl_postmarkers_title": "В процес...", "lang_tl_postmarkers_title": "В процес...",
"lang_tl_postmarkers": "Данни за POST маркери. Моля изчакайте", "lang_tl_postmarkers": "Данни за POST маркери. Моля изчакайте",
"lang_img_DLDone": "Изтеглени:", "lang_img_DLDone": "Изтеглени:",
"lang_imgBin_copyDone": "Copied: raw data of this image",
"lang_img_copyDone": "Копирано: URL адреса на това изображение", "lang_img_copyDone": "Копирано: URL адреса на това изображение",
"lang_layout_gotop": "Върнете се в горната част на тази колона. Когато иконата е червена, означава че тази колона не може да свърже API за споделане. Моля, презаредете.", "lang_layout_gotop": "Върнете се в горната част на тази колона. Когато иконата е червена, означава че тази колона не може да свърже API за споделане. Моля, презаредете.",
"lang_layout_thisacct": "{{notf}} от този акаунт", "lang_layout_thisacct": "{{notf}} от този акаунт",
@@ -168,11 +169,14 @@
"lang_hisdata_taketime": "It will take 30s ~ several minutes", "lang_hisdata_taketime": "It will take 30s ~ several minutes",
"lang_hisdata_notonmisskey": "Misskey is unable to request.", "lang_hisdata_notonmisskey": "Misskey is unable to request.",
"lang_hisdata_key": "This user is proofed by {{set}}", "lang_hisdata_key": "This user is proofed by {{set}}",
"lang_showontl_limited_title": "Limited account",
"lang_showontl_limited": "This is limited account by moderator, show anyway?",
"lang_showontl_movetxt": "This account was moved", "lang_showontl_movetxt": "This account was moved",
"lang_showontl_movebtn": "Continue on the new account", "lang_showontl_movebtn": "Continue on the new account",
"lang_showontl_botacct": "[bot]", "lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Following you", "lang_showontl_followed": "Following you",
"lang_parse_request": "Follow request", "lang_parse_request": "Follow request",
"lang_parse_signup": "Newface",
"lang_showontl_notf": "Notification ", "lang_showontl_notf": "Notification ",
"lang_showontl_domain": "Domain ", "lang_showontl_domain": "Domain ",
"lang_showontl_listwarn": "Следвайте, за да добавите този потребител към списъците.", "lang_showontl_listwarn": "Следвайте, за да добавите този потребител към списъците.",

View File

@@ -13,13 +13,13 @@
"env": "Системни предпочитания", "env": "Системни предпочитания",
"setlang": "Езици", "setlang": "Езици",
"backup": "Внос и износ на предпочитания", "backup": "Внос и износ на предпочитания",
"backupWarn": "If you got a error when you choose the file, please paste the strings printed when you open the file and click import", "backupWarn": "If you get an error when you choose the file, please paste the strings printed when you open the file and click import",
"import": "Внос", "import": "Внос",
"export": "Износ", "export": "Износ",
"hardwareAcceleration": "Деактивиране на хардуерното ускорение", "hardwareAcceleration": "Деактивиране на хардуерното ускорение",
"hardwareAccelerationWarn": "Автоматичното рестартиране", "hardwareAccelerationWarn": "Автоматичното рестартиране",
"webview": "Webview Integration", "webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.", "webviewWarn": "To use TweetDeck Integration, please turn it on. Please be aware that it may lessen the security level.",
"theme": "Теми", "theme": "Теми",
"popup": "Известие с изскачащ прозорец (за Windows)", "popup": "Известие с изскачащ прозорец (за Windows)",
"popupwarn": "Скрито ако е зададено на „0“", "popupwarn": "Скрито ако е зададено на „0“",
@@ -28,7 +28,7 @@
"nnwarn": "Това не работи в Windows Portable вер.", "nnwarn": "Това не работи в Windows Portable вер.",
"nntest": "Тест за уведомяване", "nntest": "Тест за уведомяване",
"width": "Width of columns", "width": "Width of columns",
"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 amounts of columns.",
"fixwidth": "Минимална ширина на браузъра TweetDeck", "fixwidth": "Минимална ширина на браузъра TweetDeck",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines", "margin": "Margin between timelines",
@@ -61,7 +61,7 @@
"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)",
"forthColor": "Title bar(same scheme to Background)", "forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window", "bottom": "Background of menu-bar at the bottom of the window",
"emphasized": "Emphasized toot's background", "emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu", "postbox": "Background of post-box and menu",
"active": "Background of 'active' elements", "active": "Background of 'active' elements",
@@ -163,7 +163,7 @@
"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": "Auto scale to fit",
"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. Note: if you post an animated picture like a GIF, it will be converted to a static picture.",
"keysc": "Keyboard shortcut Preferences", "keysc": "Keyboard shortcut Preferences",
"iks": "Easy inserter", "iks": "Easy inserter",
"okswarn": "Можете да вмъкнете всякакви букви и емотикони само с 3 клавиша", "okswarn": "Можете да вмъкнете всякакви букви и емотикони само с 3 клавиша",

View File

@@ -65,6 +65,7 @@
"afterFTL": "Federated TL after this toot", "afterFTL": "Federated TL after this toot",
"favedPeople": "People who favourited it", "favedPeople": "People who favourited it",
"btedPeople": "People who boosted it", "btedPeople": "People who boosted it",
"editHistory": "Edit history",
"useOtherAcct1": "Use other account", "useOtherAcct1": "Use other account",
"useOtherAcct2": ":unfav and unBT are disabled.", "useOtherAcct2": ":unfav and unBT are disabled.",
"btWithVis": "Boost with visibility", "btWithVis": "Boost with visibility",
@@ -73,6 +74,7 @@
"favRegist": "Favourite", "favRegist": "Favourite",
"openBrowser": "Open in browser", "openBrowser": "Open in browser",
"screenshot": "Take a screenshot", "screenshot": "Take a screenshot",
"copyBinary": "Copy raw image",
"copyURL": "Copy the URL", "copyURL": "Copy the URL",
"copy": "Copy", "copy": "Copy",
"embed": "Embed", "embed": "Embed",
@@ -86,6 +88,8 @@
"makeNew": "Save", "makeNew": "Save",
"blocks": "Blocks", "blocks": "Blocks",
"mutes": "Mutes", "mutes": "Mutes",
"notfMute": "Mute their notifications too",
"zeroSetToInfinity": "Mute duration: 0 min to set Infinity",
"block": "Block", "block": "Block",
"mute": "Mute", "mute": "Mute",
"domainBlock": "Domain block", "domainBlock": "Domain block",

View File

@@ -127,6 +127,7 @@
"lang_tl_postmarkers_title": "Process...", "lang_tl_postmarkers_title": "Process...",
"lang_tl_postmarkers": "POST markers data. Please wait", "lang_tl_postmarkers": "POST markers data. Please wait",
"lang_img_DLDone": "Downloaded:", "lang_img_DLDone": "Downloaded:",
"lang_imgBin_copyDone": "Copied: raw data of this image",
"lang_img_copyDone": "Copied: URL of this image", "lang_img_copyDone": "Copied: URL of this image",
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.", "lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
"lang_layout_thisacct": "{{notf}} of this account", "lang_layout_thisacct": "{{notf}} of this account",
@@ -168,11 +169,14 @@
"lang_hisdata_taketime": "It will take 30s ~ several minutes", "lang_hisdata_taketime": "It will take 30s ~ several minutes",
"lang_hisdata_notonmisskey": "Misskey is unable to request.", "lang_hisdata_notonmisskey": "Misskey is unable to request.",
"lang_hisdata_key": "This user is proofed by {{set}}", "lang_hisdata_key": "This user is proofed by {{set}}",
"lang_showontl_limited_title": "Limited account",
"lang_showontl_limited": "This is limited account by moderator, show anyway?",
"lang_showontl_movetxt": "This account was moved", "lang_showontl_movetxt": "This account was moved",
"lang_showontl_movebtn": "Continue on the new account", "lang_showontl_movebtn": "Continue on the new account",
"lang_showontl_botacct": "[bot]", "lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Following you", "lang_showontl_followed": "Following you",
"lang_parse_request": "Follow request", "lang_parse_request": "Follow request",
"lang_parse_signup": "Newface",
"lang_showontl_notf": "Notification ", "lang_showontl_notf": "Notification ",
"lang_showontl_domain": "Domain ", "lang_showontl_domain": "Domain ",
"lang_showontl_listwarn": "Follow to add this user to lists.", "lang_showontl_listwarn": "Follow to add this user to lists.",

View File

@@ -13,13 +13,13 @@
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
"backupWarn": "If you got a error when you choose the file, please paste the strings printed when you open the file and click import", "backupWarn": "If you get an error when you choose the file, please paste the strings printed when you open the file and click import",
"import": "Import", "import": "Import",
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration", "webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.", "webviewWarn": "To use TweetDeck Integration, please turn it on. Please be aware that it may lessen the security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",
@@ -28,7 +28,7 @@
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test", "nntest": "Notification test",
"width": "Width of columns", "width": "Width of columns",
"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 amounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser", "fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines", "margin": "Margin between timelines",
@@ -37,7 +37,7 @@
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)", "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
"fontsize": "Font size", "fontsize": "Font size",
"savefolder": "Folder to save", "savefolder": "Folder to save",
"savefolderwarn": "TheDesk uses this value when it try to save pictures or take screenshots.", "savefolderwarn": "TheDesk uses this value when it tries to save pictures or take screenshots.",
"useragent": "User agent", "useragent": "User agent",
"useragentWarn": "Restart when changed", "useragentWarn": "Restart when changed",
"frame": "Window frame", "frame": "Window frame",
@@ -61,7 +61,7 @@
"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)",
"forthColor": "Title bar(same scheme to Background)", "forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window", "bottom": "Background of menu-bar at the bottom of the window",
"emphasized": "Emphasized toot's background", "emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu", "postbox": "Background of post-box and menu",
"active": "Background of 'active' elements", "active": "Background of 'active' elements",
@@ -163,7 +163,7 @@
"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": "Auto scale to fit",
"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. Note: if you post an animated picture like a GIF, it will be converted to a static picture.",
"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",
@@ -230,7 +230,7 @@
"reply": "Reply to this toot", "reply": "Reply to this toot",
"keyselecttop": "Select the top & left(No.1 column) toot", "keyselecttop": "Select the top & left(No.1 column) toot",
"reset": "Reset(Danger)", "reset": "Reset(Danger)",
"resetconfirm": "Delete all data. You cannot undo. Continue?", "resetconfirm": "Delete all data. You cannot undo this operation. Continue?",
"about": "About TheDesk", "about": "About TheDesk",
"hp": "Website", "hp": "Website",
"support": "Support", "support": "Support",

View File

@@ -65,6 +65,7 @@
"afterFTL": "Federated TL after this toot", "afterFTL": "Federated TL after this toot",
"favedPeople": "People who favourited it", "favedPeople": "People who favourited it",
"btedPeople": "People who boosted it", "btedPeople": "People who boosted it",
"editHistory": "Edit history",
"useOtherAcct1": "Použít jiný účet", "useOtherAcct1": "Použít jiný účet",
"useOtherAcct2": ":unfav and unBT are disabled.", "useOtherAcct2": ":unfav and unBT are disabled.",
"btWithVis": "Boost with visibility", "btWithVis": "Boost with visibility",
@@ -73,6 +74,7 @@
"favRegist": "Oblíbit", "favRegist": "Oblíbit",
"openBrowser": "Otevřít v prohlížeči", "openBrowser": "Otevřít v prohlížeči",
"screenshot": "Vytvořit snímek obrazovky", "screenshot": "Vytvořit snímek obrazovky",
"copyBinary": "Copy raw image",
"copyURL": "Kopírovat URL tohoto tootu", "copyURL": "Kopírovat URL tohoto tootu",
"copy": "Copy", "copy": "Copy",
"embed": "Vložit", "embed": "Vložit",
@@ -86,6 +88,8 @@
"makeNew": "Uložit", "makeNew": "Uložit",
"blocks": "Blocks", "blocks": "Blocks",
"mutes": "Mutes", "mutes": "Mutes",
"notfMute": "Mute their notifications too",
"zeroSetToInfinity": "Mute duration: 0 min to set Infinity",
"block": "Block", "block": "Block",
"mute": "Mute", "mute": "Mute",
"domainBlock": "Domain block", "domainBlock": "Domain block",

View File

@@ -127,6 +127,7 @@
"lang_tl_postmarkers_title": "Process...", "lang_tl_postmarkers_title": "Process...",
"lang_tl_postmarkers": "POST markers data. Please wait", "lang_tl_postmarkers": "POST markers data. Please wait",
"lang_img_DLDone": "Downloaded:", "lang_img_DLDone": "Downloaded:",
"lang_imgBin_copyDone": "Copied: raw data of this image",
"lang_img_copyDone": "Copied: URL of this image", "lang_img_copyDone": "Copied: URL of this image",
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.", "lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
"lang_layout_thisacct": "{{notf}} tohoto účtu", "lang_layout_thisacct": "{{notf}} tohoto účtu",
@@ -168,11 +169,14 @@
"lang_hisdata_taketime": "It will take 30s ~ several minutes", "lang_hisdata_taketime": "It will take 30s ~ several minutes",
"lang_hisdata_notonmisskey": "Misskey is unable to request.", "lang_hisdata_notonmisskey": "Misskey is unable to request.",
"lang_hisdata_key": "This user is proofed by {{set}}", "lang_hisdata_key": "This user is proofed by {{set}}",
"lang_showontl_limited_title": "Limited account",
"lang_showontl_limited": "This is limited account by moderator, show anyway?",
"lang_showontl_movetxt": "Tento účet byl přesunut", "lang_showontl_movetxt": "Tento účet byl přesunut",
"lang_showontl_movebtn": "Continue on the new account", "lang_showontl_movebtn": "Continue on the new account",
"lang_showontl_botacct": "[robot]", "lang_showontl_botacct": "[robot]",
"lang_showontl_followed": "Sledují vás", "lang_showontl_followed": "Sledují vás",
"lang_parse_request": "Follow request", "lang_parse_request": "Follow request",
"lang_parse_signup": "Newface",
"lang_showontl_notf": "Oznámení ", "lang_showontl_notf": "Oznámení ",
"lang_showontl_domain": "Doména ", "lang_showontl_domain": "Doména ",
"lang_showontl_listwarn": "Follow to add this user to lists.", "lang_showontl_listwarn": "Follow to add this user to lists.",

View File

@@ -13,13 +13,13 @@
"env": "Systémové předvolby", "env": "Systémové předvolby",
"setlang": "Jazyky", "setlang": "Jazyky",
"backup": "Import a export předvoleb", "backup": "Import a export předvoleb",
"backupWarn": "If you got a error when you choose the file, please paste the strings printed when you open the file and click import", "backupWarn": "If you get an error when you choose the file, please paste the strings printed when you open the file and click import",
"import": "Import", "import": "Import",
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration", "webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.", "webviewWarn": "To use TweetDeck Integration, please turn it on. Please be aware that it may lessen the security level.",
"theme": "Motivy", "theme": "Motivy",
"popup": "Popupová oznámení (na Windows)", "popup": "Popupová oznámení (na Windows)",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",
@@ -28,7 +28,7 @@
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Odskoušet oznámení", "nntest": "Odskoušet oznámení",
"width": "Width of columns", "width": "Width of columns",
"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 amounts of columns.",
"fixwidth": "Minimální šířka TweetDeck prohlížeče", "fixwidth": "Minimální šířka TweetDeck prohlížeče",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines", "margin": "Margin between timelines",
@@ -61,7 +61,7 @@
"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)",
"forthColor": "Title bar(same scheme to Background)", "forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window", "bottom": "Background of menu-bar at the bottom of the window",
"emphasized": "Emphasized toot's background", "emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu", "postbox": "Background of post-box and menu",
"active": "Background of 'active' elements", "active": "Background of 'active' elements",
@@ -163,7 +163,7 @@
"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": "Auto scale to fit",
"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. Note: if you post an animated picture like a GIF, it will be converted to a static picture.",
"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",

View File

@@ -65,6 +65,7 @@
"afterFTL": "Federated TL after this toot", "afterFTL": "Federated TL after this toot",
"favedPeople": "People who favourited it", "favedPeople": "People who favourited it",
"btedPeople": "People who boosted it", "btedPeople": "People who boosted it",
"editHistory": "Edit history",
"useOtherAcct1": "Use other account", "useOtherAcct1": "Use other account",
"useOtherAcct2": ":unfav and unBT are disabled.", "useOtherAcct2": ":unfav and unBT are disabled.",
"btWithVis": "Boost with visibility", "btWithVis": "Boost with visibility",
@@ -73,6 +74,7 @@
"favRegist": "Favourite", "favRegist": "Favourite",
"openBrowser": "Open in browser", "openBrowser": "Open in browser",
"screenshot": "Take a screenshot", "screenshot": "Take a screenshot",
"copyBinary": "Copy raw image",
"copyURL": "Copy the URL", "copyURL": "Copy the URL",
"copy": "Copy", "copy": "Copy",
"embed": "Embed", "embed": "Embed",
@@ -86,6 +88,8 @@
"makeNew": "Save", "makeNew": "Save",
"blocks": "Blocks", "blocks": "Blocks",
"mutes": "Mutes", "mutes": "Mutes",
"notfMute": "Mute their notifications too",
"zeroSetToInfinity": "Mute duration: 0 min to set Infinity",
"block": "Block", "block": "Block",
"mute": "Mute", "mute": "Mute",
"domainBlock": "Domain block", "domainBlock": "Domain block",

View File

@@ -127,6 +127,7 @@
"lang_tl_postmarkers_title": "Process...", "lang_tl_postmarkers_title": "Process...",
"lang_tl_postmarkers": "POST markers data. Please wait", "lang_tl_postmarkers": "POST markers data. Please wait",
"lang_img_DLDone": "Downloaded:", "lang_img_DLDone": "Downloaded:",
"lang_imgBin_copyDone": "Copied: raw data of this image",
"lang_img_copyDone": "Copied: URL of this image", "lang_img_copyDone": "Copied: URL of this image",
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.", "lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
"lang_layout_thisacct": "{{notf}} of this account", "lang_layout_thisacct": "{{notf}} of this account",
@@ -168,11 +169,14 @@
"lang_hisdata_taketime": "It will take 30s ~ several minutes", "lang_hisdata_taketime": "It will take 30s ~ several minutes",
"lang_hisdata_notonmisskey": "Misskey is unable to request.", "lang_hisdata_notonmisskey": "Misskey is unable to request.",
"lang_hisdata_key": "This user is proofed by {{set}}", "lang_hisdata_key": "This user is proofed by {{set}}",
"lang_showontl_limited_title": "Limited account",
"lang_showontl_limited": "This is limited account by moderator, show anyway?",
"lang_showontl_movetxt": "This account was moved", "lang_showontl_movetxt": "This account was moved",
"lang_showontl_movebtn": "Continue on the new account", "lang_showontl_movebtn": "Continue on the new account",
"lang_showontl_botacct": "[bot]", "lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Following you", "lang_showontl_followed": "Following you",
"lang_parse_request": "Follow request", "lang_parse_request": "Follow request",
"lang_parse_signup": "Newface",
"lang_showontl_notf": "Notification ", "lang_showontl_notf": "Notification ",
"lang_showontl_domain": "Domain ", "lang_showontl_domain": "Domain ",
"lang_showontl_listwarn": "Follow to add this user to lists.", "lang_showontl_listwarn": "Follow to add this user to lists.",

View File

@@ -13,13 +13,13 @@
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
"backupWarn": "If you got a error when you choose the file, please paste the strings printed when you open the file and click import", "backupWarn": "If you get an error when you choose the file, please paste the strings printed when you open the file and click import",
"import": "Import", "import": "Import",
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration", "webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.", "webviewWarn": "To use TweetDeck Integration, please turn it on. Please be aware that it may lessen the security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",
@@ -28,7 +28,7 @@
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test", "nntest": "Notification test",
"width": "Width of columns", "width": "Width of columns",
"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 amounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser", "fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines", "margin": "Margin between timelines",
@@ -37,7 +37,7 @@
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)", "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
"fontsize": "Font size", "fontsize": "Font size",
"savefolder": "Folder to save", "savefolder": "Folder to save",
"savefolderwarn": "TheDesk uses this value when it try to save pictures or take screenshots.", "savefolderwarn": "TheDesk uses this value when it tries to save pictures or take screenshots.",
"useragent": "User agent", "useragent": "User agent",
"useragentWarn": "Restart when changed", "useragentWarn": "Restart when changed",
"frame": "Window frame", "frame": "Window frame",
@@ -61,7 +61,7 @@
"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)",
"forthColor": "Title bar(same scheme to Background)", "forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window", "bottom": "Background of menu-bar at the bottom of the window",
"emphasized": "Emphasized toot's background", "emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu", "postbox": "Background of post-box and menu",
"active": "Background of 'active' elements", "active": "Background of 'active' elements",
@@ -163,7 +163,7 @@
"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": "Auto scale to fit",
"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. Note: if you post an animated picture like a GIF, it will be converted to a static picture.",
"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",
@@ -230,7 +230,7 @@
"reply": "Reply to this toot", "reply": "Reply to this toot",
"keyselecttop": "Select the top & left(No.1 column) toot", "keyselecttop": "Select the top & left(No.1 column) toot",
"reset": "Reset(Danger)", "reset": "Reset(Danger)",
"resetconfirm": "Delete all data. You cannot undo. Continue?", "resetconfirm": "Delete all data. You cannot undo this operation. Continue?",
"about": "About TheDesk", "about": "About TheDesk",
"hp": "Website", "hp": "Website",
"support": "Support", "support": "Support",

View File

@@ -65,6 +65,7 @@
"afterFTL": "Globaler-Verlauf nach diesem Tröt", "afterFTL": "Globaler-Verlauf nach diesem Tröt",
"favedPeople": "Leute, die es bevorzugt haben", "favedPeople": "Leute, die es bevorzugt haben",
"btedPeople": "Leute, die es verstärkt haben", "btedPeople": "Leute, die es verstärkt haben",
"editHistory": "Verlauf bearbeiten",
"useOtherAcct1": "Anderes Konto verwenden", "useOtherAcct1": "Anderes Konto verwenden",
"useOtherAcct2": ":unfav und unBT sind deaktiviert.", "useOtherAcct2": ":unfav und unBT sind deaktiviert.",
"btWithVis": "Boost mit Sichtbarkeit", "btWithVis": "Boost mit Sichtbarkeit",
@@ -73,6 +74,7 @@
"favRegist": "Favoriten", "favRegist": "Favoriten",
"openBrowser": "Im Browser öffnen", "openBrowser": "Im Browser öffnen",
"screenshot": "Bildschirmfoto aufnehmen", "screenshot": "Bildschirmfoto aufnehmen",
"copyBinary": "Kopiere Rohdaten",
"copyURL": "URL dieses Tröts kopieren", "copyURL": "URL dieses Tröts kopieren",
"copy": "Kopieren", "copy": "Kopieren",
"embed": "Einbinden", "embed": "Einbinden",
@@ -86,6 +88,8 @@
"makeNew": "Speichern", "makeNew": "Speichern",
"blocks": "Blockiert", "blocks": "Blockiert",
"mutes": "Stumm geschaltet", "mutes": "Stumm geschaltet",
"notfMute": "Auch deren Benachrichtigungen stumm schalten",
"zeroSetToInfinity": "Dauer der Stummschaltung: 0 Min für dauerhaft einstellen",
"block": "Blockieren", "block": "Blockieren",
"mute": "Stummschalten", "mute": "Stummschalten",
"domainBlock": "Domänenblockade", "domainBlock": "Domänenblockade",

View File

@@ -60,8 +60,8 @@
"lang_postimg_failupload": "Gescheitert", "lang_postimg_failupload": "Gescheitert",
"lang_postimg_delete": "Klicken, um Beschreibung hinzuzufügen, Rechtsklick zum Löschen", "lang_postimg_delete": "Klicken, um Beschreibung hinzuzufügen, Rechtsklick zum Löschen",
"lang_postimg_desc": "Beschreibung", "lang_postimg_desc": "Beschreibung",
"lang_postimg_leadContext": "right-click the thumbnail to delete this", "lang_postimg_leadContext": "Rechtsklick auf das Vorschaubild, um dies zu löschen",
"lang_post_syncDetail": "Upload media synchronously", "lang_post_syncDetail": "Medien synchron hochladen",
"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.",
"lang_post_tagTL": "Dieses Tröt enthält keinen Standard-Tag. Er wird in dem lokalen Verlauf nicht angezeigt. Fortfahren?", "lang_post_tagTL": "Dieses Tröt enthält keinen Standard-Tag. Er wird in dem lokalen Verlauf nicht angezeigt. Fortfahren?",
"lang_post_tagVis": "Dieser Tröt (nicht 'öffentlicher' Tröt) wird nicht in diesem Tag-Verlauf angezeigt.", "lang_post_tagVis": "Dieser Tröt (nicht 'öffentlicher' Tröt) wird nicht in diesem Tag-Verlauf angezeigt.",
@@ -103,7 +103,7 @@
"lang_details_embed": "Eingefügtes HTML wurde entfernt.", "lang_details_embed": "Eingefügtes HTML wurde entfernt.",
"lang_details_url": "URL dieses Tröts wurde entfernt.", "lang_details_url": "URL dieses Tröts wurde entfernt.",
"lang_details_txt": "Inhalt dieses Tröts wurde entfernt.", "lang_details_txt": "Inhalt dieses Tröts wurde entfernt.",
"lang_details_fetch": "Fetcging toot data...", "lang_details_fetch": "Daten des Tröts abrufen…",
"lang_filter_nodata": "Keine Daten", "lang_filter_nodata": "Keine Daten",
"lang_filter_errordegree": "Bitte überprüfen Sie den Kontext", "lang_filter_errordegree": "Bitte überprüfen Sie den Kontext",
"lang_list_nodata": "Keine Daten", "lang_list_nodata": "Keine Daten",
@@ -124,9 +124,10 @@
"lang_tags_tagwarn": "Automatisch {{tag}} anfügen, wenn Tröt ohne {{tag}} ist", "lang_tags_tagwarn": "Automatisch {{tag}} anfügen, wenn Tröt ohne {{tag}} ist",
"lang_tl_media": "Medien", "lang_tl_media": "Medien",
"lang_tl_reconnect": "Mit Streaming API erneut verbinden", "lang_tl_reconnect": "Mit Streaming API erneut verbinden",
"lang_tl_postmarkers_title": "Process...", "lang_tl_postmarkers_title": "Verarbeite...",
"lang_tl_postmarkers": "POST markers data. Please wait", "lang_tl_postmarkers": "POST markers data. Please wait",
"lang_img_DLDone": "Heruntergeladen:", "lang_img_DLDone": "Heruntergeladen:",
"lang_imgBin_copyDone": "Copied: raw data of this image",
"lang_img_copyDone": "Kopiert: URL dieses Bildes", "lang_img_copyDone": "Kopiert: URL dieses Bildes",
"lang_layout_gotop": "Gehen Sie zum Anfang dieser Spalte. Wenn das Symbol rot ist, kann diese Spalte keine Verbindung zur Streaming-API herstellen. Bitte neu laden.", "lang_layout_gotop": "Gehen Sie zum Anfang dieser Spalte. Wenn das Symbol rot ist, kann diese Spalte keine Verbindung zur Streaming-API herstellen. Bitte neu laden.",
"lang_layout_thisacct": "{{notf}} dieses Kontos", "lang_layout_thisacct": "{{notf}} dieses Kontos",
@@ -168,11 +169,14 @@
"lang_hisdata_taketime": "Es dauert 30s bis mehrere Minuten", "lang_hisdata_taketime": "Es dauert 30s bis mehrere Minuten",
"lang_hisdata_notonmisskey": "Misskey kann nicht angefordert werden.", "lang_hisdata_notonmisskey": "Misskey kann nicht angefordert werden.",
"lang_hisdata_key": "Dieser Benutzer ist von {{set}} überprüft", "lang_hisdata_key": "Dieser Benutzer ist von {{set}} überprüft",
"lang_showontl_limited_title": "Limited account",
"lang_showontl_limited": "This is limited account by moderator, show anyway?",
"lang_showontl_movetxt": "Dieses Konto wurde verschoben", "lang_showontl_movetxt": "Dieses Konto wurde verschoben",
"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": "Anfrage folgen", "lang_parse_request": "Anfrage folgen",
"lang_parse_signup": "Newface",
"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.",
@@ -214,7 +218,7 @@
"lang_parse_detail": "Details", "lang_parse_detail": "Details",
"lang_parse_redraft": "Löschen & Neuentwerfen", "lang_parse_redraft": "Löschen & Neuentwerfen",
"lang_parse_followed": "Folgt dir", "lang_parse_followed": "Folgt dir",
"lang_parse_moved": "Moved to...", "lang_parse_moved": "Verschoben nach...",
"lang_parse_clientop": "Aktion dieses Clients", "lang_parse_clientop": "Aktion dieses Clients",
"lang_parse_clienttxt": " wird", "lang_parse_clienttxt": " wird",
"lang_parse_clientno": "Nichts unternehmen", "lang_parse_clientno": "Nichts unternehmen",
@@ -222,7 +226,7 @@
"lang_parse_clientmute": "Stumm", "lang_parse_clientmute": "Stumm",
"lang_parse_mute": " wird stumm gemacht. Kann in den Einstellungen wieder entfernt werden.", "lang_parse_mute": " wird stumm gemacht. Kann in den Einstellungen wieder entfernt werden.",
"lang_parse_voted": "Abgestimmt", "lang_parse_voted": "Abgestimmt",
"lang_parse_myvote": "(My own poll)", "lang_parse_myvote": "(Meine eigene Umfrage)",
"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",
@@ -288,5 +292,5 @@
"lang_setting_exportwarn": "Nur wichtige Daten werden exportiert. Sie müssen diese Daten sichern.", "lang_setting_exportwarn": "Nur wichtige Daten werden exportiert. Sie müssen diese Daten sichern.",
"lang_setting_importwarn": "Alle Daten werden gelöscht.", "lang_setting_importwarn": "Alle Daten werden gelöscht.",
"lang_setting_noupd": "Keine Updates verfügbar", "lang_setting_noupd": "Keine Updates verfügbar",
"lang_setting_thisisbeta": "This is beta version. You have to update manually." "lang_setting_thisisbeta": "Dies ist die Beta-Version. Du musst manuell aktualisieren."
} }

View File

@@ -5,21 +5,21 @@
"no": "Nein", "no": "Nein",
"none": "Ohne", "none": "Ohne",
"show": "Zeige", "show": "Zeige",
"hide": "Hide", "hide": "Verbergen",
"default": "Standard", "default": "Standard",
"change": "Ändern", "change": "Ändern",
"select": "Auswahl", "select": "Auswahl",
"exec": "Exec", "exec": "Ausführen",
"env": "Systemeinstellungen", "env": "Systemeinstellungen",
"setlang": "Sprachen", "setlang": "Sprachen",
"backup": "Import und Export von Einstellungen", "backup": "Import und Export von Einstellungen",
"backupWarn": "If you got a error when you choose the file, please paste the strings printed when you open the file and click import", "backupWarn": "If you get an error when you choose the file, please paste the strings printed when you open the file and click import",
"import": "Importieren", "import": "Importieren",
"export": "Exportieren", "export": "Exportieren",
"hardwareAcceleration": "Hardwarebeschleunigung deaktivieren", "hardwareAcceleration": "Hardwarebeschleunigung deaktivieren",
"hardwareAccelerationWarn": "Automatischer Neustart", "hardwareAccelerationWarn": "Automatischer Neustart",
"webview": "Webview Integration", "webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.", "webviewWarn": "To use TweetDeck Integration, please turn it on. Please be aware that it may lessen the security level.",
"theme": "Designs", "theme": "Designs",
"popup": "Popup-Benachrichtigung(unter Windows)", "popup": "Popup-Benachrichtigung(unter Windows)",
"popupwarn": "Bei \"0\" Ausgeschaltet.", "popupwarn": "Bei \"0\" Ausgeschaltet.",
@@ -61,7 +61,7 @@
"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)",
"forthColor": "Title bar(same scheme to Background)", "forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window", "bottom": "Background of menu-bar at the bottom of the window",
"emphasized": "Emphasized toot's background", "emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu", "postbox": "Background of post-box and menu",
"active": "Background of 'active' elements", "active": "Background of 'active' elements",
@@ -72,7 +72,7 @@
"desc": "Über dieses Design", "desc": "Über dieses Design",
"customImport": "Import von eigenen Designs", "customImport": "Import von eigenen Designs",
"delete": "Löschen", "delete": "Löschen",
"preview": "Preview", "preview": "Vorschau",
"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\"",
@@ -163,7 +163,7 @@
"localonly": "Nur lokal", "localonly": "Nur lokal",
"zeroWidthEmoji": "Emojis ohne Abstand Einfügen", "zeroWidthEmoji": "Emojis ohne Abstand Einfügen",
"uploadCrop": "Auto scale to fit", "uploadCrop": "Auto scale to fit",
"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. Note: if you post an animated picture like a GIF, it will be converted to a static picture.",
"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",

View File

@@ -65,6 +65,7 @@
"afterFTL": "Federated TL after this toot", "afterFTL": "Federated TL after this toot",
"favedPeople": "People who favourited it", "favedPeople": "People who favourited it",
"btedPeople": "People who boosted it", "btedPeople": "People who boosted it",
"editHistory": "Edit history",
"useOtherAcct1": "Use other account", "useOtherAcct1": "Use other account",
"useOtherAcct2": ":unfav and unBT are disabled.", "useOtherAcct2": ":unfav and unBT are disabled.",
"btWithVis": "Boost with visibility", "btWithVis": "Boost with visibility",
@@ -73,6 +74,7 @@
"favRegist": "Favourite", "favRegist": "Favourite",
"openBrowser": "Open in browser", "openBrowser": "Open in browser",
"screenshot": "Take a screenshot", "screenshot": "Take a screenshot",
"copyBinary": "Copy raw image",
"copyURL": "Copy the URL", "copyURL": "Copy the URL",
"copy": "Copy", "copy": "Copy",
"embed": "Embed", "embed": "Embed",
@@ -86,6 +88,8 @@
"makeNew": "Save", "makeNew": "Save",
"blocks": "Blocks", "blocks": "Blocks",
"mutes": "Mutes", "mutes": "Mutes",
"notfMute": "Mute their notifications too",
"zeroSetToInfinity": "Mute duration: 0 min to set Infinity",
"block": "Block", "block": "Block",
"mute": "Mute", "mute": "Mute",
"domainBlock": "Domain block", "domainBlock": "Domain block",

View File

@@ -127,6 +127,7 @@
"lang_tl_postmarkers_title": "Process...", "lang_tl_postmarkers_title": "Process...",
"lang_tl_postmarkers": "POST markers data. Please wait", "lang_tl_postmarkers": "POST markers data. Please wait",
"lang_img_DLDone": "Downloaded:", "lang_img_DLDone": "Downloaded:",
"lang_imgBin_copyDone": "Copied: raw data of this image",
"lang_img_copyDone": "Copied: URL of this image", "lang_img_copyDone": "Copied: URL of this image",
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.", "lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
"lang_layout_thisacct": "{{notf}} of this account", "lang_layout_thisacct": "{{notf}} of this account",
@@ -168,11 +169,14 @@
"lang_hisdata_taketime": "It will take 30s ~ several minutes", "lang_hisdata_taketime": "It will take 30s ~ several minutes",
"lang_hisdata_notonmisskey": "Misskey is unable to request.", "lang_hisdata_notonmisskey": "Misskey is unable to request.",
"lang_hisdata_key": "This user is proofed by {{set}}", "lang_hisdata_key": "This user is proofed by {{set}}",
"lang_showontl_limited_title": "Limited account",
"lang_showontl_limited": "This is limited account by moderator, show anyway?",
"lang_showontl_movetxt": "This account was moved", "lang_showontl_movetxt": "This account was moved",
"lang_showontl_movebtn": "Continue on the new account", "lang_showontl_movebtn": "Continue on the new account",
"lang_showontl_botacct": "[bot]", "lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Following you", "lang_showontl_followed": "Following you",
"lang_parse_request": "Follow request", "lang_parse_request": "Follow request",
"lang_parse_signup": "Newface",
"lang_showontl_notf": "Notification ", "lang_showontl_notf": "Notification ",
"lang_showontl_domain": "Domain ", "lang_showontl_domain": "Domain ",
"lang_showontl_listwarn": "Follow to add this user to lists.", "lang_showontl_listwarn": "Follow to add this user to lists.",

View File

@@ -13,13 +13,13 @@
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
"backupWarn": "If you got a error when you choose the file, please paste the strings printed when you open the file and click import", "backupWarn": "If you get an error when you choose the file, please paste the strings printed when you open the file and click import",
"import": "Import", "import": "Import",
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration", "webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.", "webviewWarn": "To use TweetDeck Integration, please turn it on. Please be aware that it may lessen the security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",
@@ -28,7 +28,7 @@
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test", "nntest": "Notification test",
"width": "Width of columns", "width": "Width of columns",
"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 amounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser", "fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines", "margin": "Margin between timelines",
@@ -37,7 +37,7 @@
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)", "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
"fontsize": "Font size", "fontsize": "Font size",
"savefolder": "Folder to save", "savefolder": "Folder to save",
"savefolderwarn": "TheDesk uses this value when it try to save pictures or take screenshots.", "savefolderwarn": "TheDesk uses this value when it tries to save pictures or take screenshots.",
"useragent": "User agent", "useragent": "User agent",
"useragentWarn": "Restart when changed", "useragentWarn": "Restart when changed",
"frame": "Window frame", "frame": "Window frame",
@@ -61,7 +61,7 @@
"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)",
"forthColor": "Title bar(same scheme to Background)", "forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window", "bottom": "Background of menu-bar at the bottom of the window",
"emphasized": "Emphasized toot's background", "emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu", "postbox": "Background of post-box and menu",
"active": "Background of 'active' elements", "active": "Background of 'active' elements",
@@ -163,7 +163,7 @@
"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": "Auto scale to fit",
"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. Note: if you post an animated picture like a GIF, it will be converted to a static picture.",
"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",
@@ -230,7 +230,7 @@
"reply": "Reply to this toot", "reply": "Reply to this toot",
"keyselecttop": "Select the top & left(No.1 column) toot", "keyselecttop": "Select the top & left(No.1 column) toot",
"reset": "Reset(Danger)", "reset": "Reset(Danger)",
"resetconfirm": "Delete all data. You cannot undo. Continue?", "resetconfirm": "Delete all data. You cannot undo this operation. Continue?",
"about": "About TheDesk", "about": "About TheDesk",
"hp": "Website", "hp": "Website",
"support": "Support", "support": "Support",

View File

@@ -65,6 +65,7 @@
"afterFTL": "crwdns3174:0crwdne3174:0", "afterFTL": "crwdns3174:0crwdne3174:0",
"favedPeople": "crwdns3176:0crwdne3176:0", "favedPeople": "crwdns3176:0crwdne3176:0",
"btedPeople": "crwdns3178:0crwdne3178:0", "btedPeople": "crwdns3178:0crwdne3178:0",
"editHistory": "crwdns4602:0crwdne4602:0",
"useOtherAcct1": "crwdns3180:0crwdne3180:0", "useOtherAcct1": "crwdns3180:0crwdne3180:0",
"useOtherAcct2": "crwdns3182:0crwdne3182:0", "useOtherAcct2": "crwdns3182:0crwdne3182:0",
"btWithVis": "crwdns4324:0crwdne4324:0", "btWithVis": "crwdns4324:0crwdne4324:0",
@@ -73,6 +74,7 @@
"favRegist": "crwdns3188:0crwdne3188:0", "favRegist": "crwdns3188:0crwdne3188:0",
"openBrowser": "crwdns3190:0crwdne3190:0", "openBrowser": "crwdns3190:0crwdne3190:0",
"screenshot": "crwdns3192:0crwdne3192:0", "screenshot": "crwdns3192:0crwdne3192:0",
"copyBinary": "crwdns4594:0crwdne4594:0",
"copyURL": "crwdns3194:0crwdne3194:0", "copyURL": "crwdns3194:0crwdne3194:0",
"copy": "crwdns4586:0crwdne4586:0", "copy": "crwdns4586:0crwdne4586:0",
"embed": "crwdns3196:0crwdne3196:0", "embed": "crwdns3196:0crwdne3196:0",
@@ -86,6 +88,8 @@
"makeNew": "crwdns3210:0crwdne3210:0", "makeNew": "crwdns3210:0crwdne3210:0",
"blocks": "crwdns3212:0crwdne3212:0", "blocks": "crwdns3212:0crwdne3212:0",
"mutes": "crwdns3214:0crwdne3214:0", "mutes": "crwdns3214:0crwdne3214:0",
"notfMute": "crwdns4591:0crwdne4591:0",
"zeroSetToInfinity": "crwdns4593:0crwdne4593:0",
"block": "crwdns3216:0crwdne3216:0", "block": "crwdns3216:0crwdne3216:0",
"mute": "crwdns3218:0crwdne3218:0", "mute": "crwdns3218:0crwdne3218:0",
"domainBlock": "crwdns3220:0crwdne3220:0", "domainBlock": "crwdns3220:0crwdne3220:0",

View File

@@ -127,6 +127,7 @@
"lang_tl_postmarkers_title": "crwdns3630:0crwdne3630:0", "lang_tl_postmarkers_title": "crwdns3630:0crwdne3630:0",
"lang_tl_postmarkers": "crwdns3632:0crwdne3632:0", "lang_tl_postmarkers": "crwdns3632:0crwdne3632:0",
"lang_img_DLDone": "crwdns3634:0crwdne3634:0", "lang_img_DLDone": "crwdns3634:0crwdne3634:0",
"lang_imgBin_copyDone": "crwdns4596:0crwdne4596:0",
"lang_img_copyDone": "crwdns4380:0crwdne4380:0", "lang_img_copyDone": "crwdns4380:0crwdne4380:0",
"lang_layout_gotop": "crwdns3636:0crwdne3636:0", "lang_layout_gotop": "crwdns3636:0crwdne3636:0",
"lang_layout_thisacct": "crwdns3638:0{{notf}}crwdne3638:0", "lang_layout_thisacct": "crwdns3638:0{{notf}}crwdne3638:0",
@@ -168,11 +169,14 @@
"lang_hisdata_taketime": "crwdns3694:0crwdne3694:0", "lang_hisdata_taketime": "crwdns3694:0crwdne3694:0",
"lang_hisdata_notonmisskey": "crwdns3696:0crwdne3696:0", "lang_hisdata_notonmisskey": "crwdns3696:0crwdne3696:0",
"lang_hisdata_key": "crwdns3698:0{{set}}crwdne3698:0", "lang_hisdata_key": "crwdns3698:0{{set}}crwdne3698:0",
"lang_showontl_limited_title": "crwdns4598:0crwdne4598:0",
"lang_showontl_limited": "crwdns4600:0crwdne4600:0",
"lang_showontl_movetxt": "crwdns3700:0crwdne3700:0", "lang_showontl_movetxt": "crwdns3700:0crwdne3700:0",
"lang_showontl_movebtn": "crwdns3702:0crwdne3702:0", "lang_showontl_movebtn": "crwdns3702:0crwdne3702:0",
"lang_showontl_botacct": "crwdns3704:0[bot]crwdne3704:0", "lang_showontl_botacct": "crwdns3704:0[bot]crwdne3704:0",
"lang_showontl_followed": "crwdns3706:0crwdne3706:0", "lang_showontl_followed": "crwdns3706:0crwdne3706:0",
"lang_parse_request": "crwdns4445:0crwdne4445:0", "lang_parse_request": "crwdns4445:0crwdne4445:0",
"lang_parse_signup": "crwdns4603:0crwdne4603:0",
"lang_showontl_notf": "crwdns3708:0crwdne3708:0", "lang_showontl_notf": "crwdns3708:0crwdne3708:0",
"lang_showontl_domain": "crwdns3710:0crwdne3710:0", "lang_showontl_domain": "crwdns3710:0crwdne3710:0",
"lang_showontl_listwarn": "crwdns3712:0crwdne3712:0", "lang_showontl_listwarn": "crwdns3712:0crwdne3712:0",

View File

@@ -21,5 +21,6 @@
"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":"No data",
"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",
"redo": "Retry(re-input address)"
} }

View File

@@ -65,6 +65,7 @@
"afterFTL": "Federated TL after this toot", "afterFTL": "Federated TL after this toot",
"favedPeople": "People who favourited it", "favedPeople": "People who favourited it",
"btedPeople": "People who boosted it", "btedPeople": "People who boosted it",
"editHistory": "Edit history",
"useOtherAcct1": "Use other account", "useOtherAcct1": "Use other account",
"useOtherAcct2": ":unfav and unBT are disabled.", "useOtherAcct2": ":unfav and unBT are disabled.",
"btWithVis": "Boost with visibility", "btWithVis": "Boost with visibility",
@@ -73,6 +74,7 @@
"favRegist": "Favourite", "favRegist": "Favourite",
"openBrowser": "Open in browser", "openBrowser": "Open in browser",
"screenshot": "Take a screenshot", "screenshot": "Take a screenshot",
"copyBinary": "Copy raw image",
"copyURL": "Copy the URL", "copyURL": "Copy the URL",
"copy": "Copy", "copy": "Copy",
"embed": "Embed", "embed": "Embed",

View File

@@ -50,6 +50,8 @@
"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_manager_refreshAt": "Login with this domain",
"lang_manager_codesetup_title": "Skip code-setup",
"lang_manager_codesetup": "If you failed log-in, please click Cancel.",
"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",
@@ -127,6 +129,7 @@
"lang_tl_postmarkers_title": "Process...", "lang_tl_postmarkers_title": "Process...",
"lang_tl_postmarkers": "POST markers data. Please wait", "lang_tl_postmarkers": "POST markers data. Please wait",
"lang_img_DLDone": "Downloaded:", "lang_img_DLDone": "Downloaded:",
"lang_imgBin_copyDone": "Copied: raw data of this image",
"lang_img_copyDone": "Copied: URL of this image", "lang_img_copyDone": "Copied: URL of this image",
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.", "lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
"lang_layout_thisacct": "{{notf}} of this account", "lang_layout_thisacct": "{{notf}} of this account",
@@ -163,16 +166,20 @@
"lang_spotify_acct": "Connect TheDesk to Spotify", "lang_spotify_acct": "Connect TheDesk to Spotify",
"lang_spotify_np": "Done:templete of NowPlaying", "lang_spotify_np": "Done:templete of NowPlaying",
"lang_setting_npprovide": "NowPlaying provider:{{set}}", "lang_setting_npprovide": "NowPlaying provider:{{set}}",
"lang_setting_webview_warn": "Please turn WebView on at System Preferences of TheDesk to add TweetDeck as a column",
"lang_hisdata_frcreq": "Required Mastodon 2.4.3 and above", "lang_hisdata_frcreq": "Required Mastodon 2.4.3 and above",
"lang_hisdata_frcwarn": "Unfollow accounts will be shown.", "lang_hisdata_frcwarn": "Unfollow accounts will be shown.",
"lang_hisdata_taketime": "It will take 30s ~ several minutes", "lang_hisdata_taketime": "It will take 30s ~ several minutes",
"lang_hisdata_notonmisskey": "Misskey is unable to request.", "lang_hisdata_notonmisskey": "Misskey is unable to request.",
"lang_hisdata_key": "This user is proofed by {{set}}", "lang_hisdata_key": "This user is proofed by {{set}}",
"lang_showontl_limited_title": "Limited account",
"lang_showontl_limited": "This is limited account by moderator, show anyway?",
"lang_showontl_movetxt": "This account was moved", "lang_showontl_movetxt": "This account was moved",
"lang_showontl_movebtn": "Continue on the new account", "lang_showontl_movebtn": "Continue on the new account",
"lang_showontl_botacct": "[bot]", "lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Following you", "lang_showontl_followed": "Following you",
"lang_parse_request": "Follow request", "lang_parse_request": "Follow request",
"lang_parse_signup": "Newface",
"lang_showontl_notf": "Notification ", "lang_showontl_notf": "Notification ",
"lang_showontl_domain": "Domain ", "lang_showontl_domain": "Domain ",
"lang_showontl_listwarn": "Follow to add this user to lists.", "lang_showontl_listwarn": "Follow to add this user to lists.",

View File

@@ -13,13 +13,13 @@
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
"backupWarn": "If you got a error when you choose the file, please paste the strings printed when you open the file and click import", "backupWarn": "If you get an error when you choose the file, please paste the strings printed when you open the file and click import",
"import": "Import", "import": "Import",
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration", "webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.", "webviewWarn": "To use TweetDeck Integration, please turn it on. Please be aware that it may lessen the security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",
@@ -28,7 +28,7 @@
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test", "nntest": "Notification test",
"width": "Width of columns", "width": "Width of columns",
"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 amounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser", "fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines", "margin": "Margin between timelines",
@@ -37,7 +37,7 @@
"fontwarn": "Select your favorite font to 'Select'(On Linux, it may not work.)", "fontwarn": "Select your favorite font to 'Select'(On Linux, it may not work.)",
"fontsize": "Font size", "fontsize": "Font size",
"savefolder": "Folder to save", "savefolder": "Folder to save",
"savefolderwarn": "TheDesk uses this value when it try to save pictures or take screenshots.", "savefolderwarn": "TheDesk uses this value when it tries to save pictures or take screenshots.",
"useragent":"User agent", "useragent":"User agent",
"useragentWarn":"Restart when changed", "useragentWarn":"Restart when changed",
"frame": "Window frame", "frame": "Window frame",
@@ -61,7 +61,7 @@
"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)",
"forthColor": "Title bar(same scheme to Background)", "forthColor": "Title bar(same scheme to Background)",
"bottom":"Background of menu-bar at bottom of window", "bottom":"Background of menu-bar at the bottom of the window",
"emphasized": "Emphasized toot's background", "emphasized": "Emphasized toot's background",
"postbox":"Background of post-box and menu", "postbox":"Background of post-box and menu",
"active": "Background of 'active' elements", "active": "Background of 'active' elements",
@@ -131,6 +131,7 @@
"autocwwarn": "Show dialog whether you make too-long text hidden.", "autocwwarn": "Show dialog whether you make too-long text hidden.",
"defaultcw": "Default warining text", "defaultcw": "Default warining text",
"cws": "Always CW set", "cws": "Always CW set",
"cwContinue": "Keep CW enabled",
"defaultvis": "Default visibility", "defaultvis": "Default visibility",
"public": "Public", "public": "Public",
"unlisted": "Unlisted", "unlisted": "Unlisted",
@@ -163,7 +164,7 @@
"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": "Auto scale to fit",
"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. Note: if you post an animated picture like a GIF, it will be converted to a static picture.",
"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",
@@ -230,7 +231,7 @@
"reply": "Reply to this toot", "reply": "Reply to this toot",
"keyselecttop": "Select the top & left(No.1 column) toot", "keyselecttop": "Select the top & left(No.1 column) toot",
"reset": "Reset(Danger)", "reset": "Reset(Danger)",
"resetconfirm": "Delete all data. You cannot undo. Continue?", "resetconfirm": "Delete all data. You cannot undo this operation. Continue?",
"about": "About TheDesk", "about": "About TheDesk",
"hp": "Website", "hp": "Website",
"support": "Support", "support": "Support",

View File

@@ -65,6 +65,7 @@
"afterFTL": "Línea temporal federada luego de este toot", "afterFTL": "Línea temporal federada luego de este toot",
"favedPeople": "Gente que lo marcaron como favorito", "favedPeople": "Gente que lo marcaron como favorito",
"btedPeople": "Gente que lo retooteó", "btedPeople": "Gente que lo retooteó",
"editHistory": "Edit history",
"useOtherAcct1": "Usar otra cuenta", "useOtherAcct1": "Usar otra cuenta",
"useOtherAcct2": ":Dejar de marcar como favorito y deshacer retoot están deshabilitados.", "useOtherAcct2": ":Dejar de marcar como favorito y deshacer retoot están deshabilitados.",
"btWithVis": "Retoots visibles", "btWithVis": "Retoots visibles",
@@ -73,6 +74,7 @@
"favRegist": "Marcar como favorito", "favRegist": "Marcar como favorito",
"openBrowser": "Abrir en navegador web", "openBrowser": "Abrir en navegador web",
"screenshot": "Tomar captura de pantalla", "screenshot": "Tomar captura de pantalla",
"copyBinary": "Copy raw image",
"copyURL": "Copiar dirección web de este toot", "copyURL": "Copiar dirección web de este toot",
"copy": "Copiar", "copy": "Copiar",
"embed": "Insertar", "embed": "Insertar",
@@ -86,6 +88,8 @@
"makeNew": "Guardar", "makeNew": "Guardar",
"blocks": "Bloqueos", "blocks": "Bloqueos",
"mutes": "Silenciados", "mutes": "Silenciados",
"notfMute": "Mute their notifications too",
"zeroSetToInfinity": "Mute duration: 0 min to set Infinity",
"block": "Bloquear", "block": "Bloquear",
"mute": "Silenciar", "mute": "Silenciar",
"domainBlock": "Bloqueo de dominio", "domainBlock": "Bloqueo de dominio",

View File

@@ -127,6 +127,7 @@
"lang_tl_postmarkers_title": "Procesando…", "lang_tl_postmarkers_title": "Procesando…",
"lang_tl_postmarkers": "Datos de marcadores POST. Por favor, esperá.", "lang_tl_postmarkers": "Datos de marcadores POST. Por favor, esperá.",
"lang_img_DLDone": "Descargado:", "lang_img_DLDone": "Descargado:",
"lang_imgBin_copyDone": "Copied: raw data of this image",
"lang_img_copyDone": "Copiado: dirección web de esta imagen", "lang_img_copyDone": "Copiado: dirección web de esta imagen",
"lang_layout_gotop": "Ir al comienzo de esta columna. Cuando el ícono está rojo, esta columna no se puede conectar a la API del streaming. En ese caso, por favor, refrescá.", "lang_layout_gotop": "Ir al comienzo de esta columna. Cuando el ícono está rojo, esta columna no se puede conectar a la API del streaming. En ese caso, por favor, refrescá.",
"lang_layout_thisacct": "{{notf}} de esta cuenta", "lang_layout_thisacct": "{{notf}} de esta cuenta",
@@ -168,11 +169,14 @@
"lang_hisdata_taketime": "Tomará entre 30 segundos a varios minutos", "lang_hisdata_taketime": "Tomará entre 30 segundos a varios minutos",
"lang_hisdata_notonmisskey": "Misskey no pudo responder.", "lang_hisdata_notonmisskey": "Misskey no pudo responder.",
"lang_hisdata_key": "Este usuario está verificado por {{set}}", "lang_hisdata_key": "Este usuario está verificado por {{set}}",
"lang_showontl_limited_title": "Limited account",
"lang_showontl_limited": "This is limited account by moderator, show anyway?",
"lang_showontl_movetxt": "Se mudó esta cuenta", "lang_showontl_movetxt": "Se mudó esta cuenta",
"lang_showontl_movebtn": "Continuar en la nueva cuenta", "lang_showontl_movebtn": "Continuar en la nueva cuenta",
"lang_showontl_botacct": "[bot]", "lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Te sigue", "lang_showontl_followed": "Te sigue",
"lang_parse_request": "Solicitud de seguimiento", "lang_parse_request": "Solicitud de seguimiento",
"lang_parse_signup": "Newface",
"lang_showontl_notf": "Notificación ", "lang_showontl_notf": "Notificación ",
"lang_showontl_domain": "Dominio ", "lang_showontl_domain": "Dominio ",
"lang_showontl_listwarn": "Seguí a este usuario para agregarlo a las listas.", "lang_showontl_listwarn": "Seguí a este usuario para agregarlo a las listas.",

View File

@@ -2,14 +2,14 @@
"list": "Lista de cuentas", "list": "Lista de cuentas",
"back": "Atrás", "back": "Atrás",
"add": "Agregar una cuenta", "add": "Agregar una cuenta",
"addAcct": "Fill the instance domain (like mastodon.social)", "addAcct": "Rellena el dominio de la instancia (como mastodon.social)",
"codesetupwarn": "Desmarcarlo para omitir código de pegado. (iniciar sesión en Mastodon en Windows o macOS) (Recomendado: pcheck)", "codesetupwarn": "Desmarcarlo para omitir código de pegado. (iniciar sesión en Mastodon en Windows o macOS) (Recomendado: pcheck)",
"codesetup": "Configuración de código", "codesetup": "Configuración de código",
"mainacct": "Cuenta principal", "mainacct": "Cuenta principal",
"selacct": "Seleccionar una cuenta", "selacct": "Seleccionar una cuenta",
"codepastewarn": "Pegar el código y cerrar el navegador web.", "codepastewarn": "Pegar el código y cerrar el navegador web.",
"codepaste": "Código", "codepaste": "Código",
"domain": "Dominio", "domain": "Instancia",
"connect": "Servidores federados", "connect": "Servidores federados",
"toots": "Toots", "toots": "Toots",
"users": "Usuarios", "users": "Usuarios",
@@ -21,5 +21,5 @@
"misskeylogin": "Leer <a href=\"https://thedesk.top/how-to-misskey-login.html\">Docs(ja)</a> para iniciar sesión en Misskey.", "misskeylogin": "Leer <a href=\"https://thedesk.top/how-to-misskey-login.html\">Docs(ja)</a> para iniciar sesión en Misskey.",
"nodata": "Sin datos", "nodata": "Sin datos",
"accessTokenSetup": "Usar el token de acceso para iniciar sesión (haga clic después de completar no el código si no el token de acceso en el casilla: avanzado)", "accessTokenSetup": "Usar el token de acceso para iniciar sesión (haga clic después de completar no el código si no el token de acceso en el casilla: avanzado)",
"haveExported": "Having the exported file of TheDesk, click here to jump setting page" "haveExported": "Una vez exportado el archivo de TheDesk haz clic aquí para saltar la página de configuración"
} }

View File

@@ -1,132 +1,136 @@
{ {
"draghere": "Drag here to upload", "draghere": "Arrastra aquí para subir",
"nowOffline": "OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet", "nowOffline": "DESCONECTADO: todo su mensaje está como borrador y debería volver a cargar después de volver a conectarse a Internet",
"reOnline": "Now we are in the Internet, you should reload...", "reOnline": "Ahora estamos en Internet, deberías recargar...",
"close": "Close", "close": "Cerrar",
"webSrc": "Search on Web", "webSrc": "Buscar en la Web",
"tsSrc": "Search on tootsearch", "tsSrc": "Buscar en tootsearch",
"showSelectProf": "Show profile of the selecting account", "showSelectProf": "Mostrar perfil de la cuenta seleccionada",
"closethisbox": "Close this box", "closethisbox": "Cerrar esta caja",
"toot": "Toot", "toot": "Toot",
"post-new": "Post new", "post-new": "Publicar nuevo",
"nsfwDes": "Mark media as sensitive", "nsfwDes": "Marcar contenido como sensible",
"cwDes": "Hide text behind warning", "cwDes": "Ocultar texto con advertencia de contenido",
"selfile": "Attach..", "selfile": "Adjuntar..",
"insertEmoji": "Emojis", "insertEmoji": "Emojis",
"schedule": "Scheduled toot", "schedule": "Toot programado",
"postat": "Post at", "postat": "Publicar el",
"scheduleWarn": "2.7.0~ Minimum time gap:5min(clock on the server may not be accurate.)", "scheduleWarn": "2.7.0~ Intervalo mínimo: 5 minutos (el reloj del servidor podría no ser preciso)",
"clearToot": "Clear toot box", "clearToot": "Borrar caja de toot",
"replyMode": "Reply", "replyMode": "Responder",
"no": "No", "no": "Nu",
"yes": "Yes", "yes": "",
"temp": "Attaching files", "temp": "Adjuntar archivos",
"nothing": "None", "nothing": "Ninguno",
"stamp": "Stamp", "stamp": "Sello",
"stampWarn": "Your acct(aa@bb.cc) is printed on the right-bottom of the uploaded image", "stampWarn": "Tu cuenta(aa@bb.cc) está en la parte inferior derecha de la imagen cargada",
"vis": "Adjust status privacy", "vis": "Ajustar privacidad de estado",
"cwtext": "Warning text", "cwtext": "Texto de advertencia",
"selectVis": "Adjust status privacy", "selectVis": "Ajustar privacidad de estado",
"publicJP": "", "publicJP": "",
"unlistedJP": "", "unlistedJP": "",
"privateJP": "", "privateJP": "",
"localJP": "Local only", "localJP": "Solo local",
"sectoot": "Secondary Toot", "sectoot": "Toot secundario",
"directJP": "", "directJP": "",
"emojiWarn": "", "emojiWarn": "",
"emojiInsertWarn": "Some emojis are not able to be inserted.", "emojiInsertWarn": "Algunos emojis no se pueden insertar.",
"refreshEmoji": "Refresh emojis list", "refreshEmoji": "Actualizar lista de emojis",
"closeThisBox": "Close this box", "closeThisBox": "Cerrar esta caja",
"showThisEmoji": " are shown.", "showThisEmoji": " se muestran.",
"customEmoji": "Custom emojis", "customEmoji": "Emojis personalizados",
"peopleEmoji": "Emojis of people", "peopleEmoji": "Emojis de personas",
"natureEmoji": "Emojis of nature", "natureEmoji": "Emojis de la naturaleza",
"foodEmoji": "Emojis of foods", "foodEmoji": "Emojis de comida",
"activityEmoji": "Emojis of activities", "activityEmoji": "Emojis de las actividades",
"placeEmoji": "Emojis of places", "placeEmoji": "Emojis de lugares",
"thingsEmoji": "Emojis of tools", "thingsEmoji": "Emojis de herramientas",
"symbolEmoji": "Emojis of symbols", "symbolEmoji": "Emojis de símbolos",
"flagsEmoji": "Emojis of flags", "flagsEmoji": "Emojis de banderas",
"draft": "Draft", "draft": "Borrador",
"poll": "Poll", "poll": "Encuesta",
"pollDdisabled": "Polls: Disabled", "pollDdisabled": "Encuestas: Deshabilitadas",
"pollProvider": "Provider of Poll", "pollProvider": "Proveedor de encuesta",
"polluntil": "Hide 'votes' count until people vote it.", "polluntil": "Ocultar el recuento de votos hasta que se vote.",
"choice": "Choice", "choice": "Opción",
"pollmulti": "Multiple select", "pollmulti": "Selección múltiple",
"expires_in": "Expires in...(sec)", "expires_in": "Caduca en...(seg)",
"contextBefore": "Context before this toot", "contextBefore": "Contexto antes de este toot",
"thisToot": "This toot", "thisToot": "Este toot",
"contextAfter": "Context after this toot", "contextAfter": "Contexto después de este toot",
"beforeLTL": "Local TL before this toot", "beforeLTL": "TL local antes de este toot",
"beforeUTL": "User TL before this toot", "beforeUTL": "TL de Usuario antes de este toot",
"afterLTL": "Local TL after this toot)", "afterLTL": "Línea temporal local anterior a este toot)",
"afterUTL": "User TL before this toot", "afterUTL": "TL de Usuario antes de este toot",
"afterFTL": "Federated TL after this toot", "afterFTL": "TL Federado después de este toot",
"favedPeople": "People who favourited it", "favedPeople": "Personas que lo marcaron como favorito",
"btedPeople": "People who boosted it", "btedPeople": "Personas que lo retootearon",
"useOtherAcct1": "Use other account", "editHistory": "Editar Historial",
"useOtherAcct2": ":unfav and unBT are disabled.", "useOtherAcct1": "Usar otra cuenta",
"btWithVis": "Boost with visibility", "useOtherAcct2": ":unfav y unBT están deshabilitados.",
"reply": "Reply", "btWithVis": "Retootear con visibilidad",
"bt": "Boost", "reply": "Responder",
"favRegist": "Favourite", "bt": "Retootear",
"openBrowser": "Open in browser", "favRegist": "Marcar como favorito",
"screenshot": "Take a screenshot", "openBrowser": "Abrir en el navegador",
"copyURL": "Copy the URL", "screenshot": "Captura de pantalla",
"copy": "Copy", "copyBinary": "Copiar imagen raw",
"embed": "Embed", "copyURL": "Copiar la URL",
"copy": "Copiar",
"embed": "Insertar",
"toots": "Toots", "toots": "Toots",
"follow": "Follow", "follow": "Seguir",
"follower": "Follower", "follower": "Seguidor",
"utlColumn": "Show as a column", "utlColumn": "Mostrar como columna",
"timeline": "Timeline", "timeline": "Línea temporal",
"operateOtherAcct": "Cross-account", "operateOtherAcct": "Cuenta cruzada",
"list": "List", "list": "Lista",
"makeNew": "Save", "makeNew": "Guardar",
"blocks": "Blocks", "blocks": "Bloqueos",
"mutes": "Mutes", "mutes": "Silenciados",
"block": "Block", "notfMute": "Silenciar también sus notificaciones",
"mute": "Mute", "zeroSetToInfinity": "Duración de silenciado: 0 min para indefinido",
"domainBlock": "Domain block", "block": "Bloquear",
"editProf": "Edit profile", "mute": "Silenciar",
"change": "Save", "domainBlock": "Bloque de dominio",
"followReq": "Follow requests", "editProf": "Editar perfil",
"likeHimOrHer": "Resembling", "change": "Guardar",
"endorse": "Feature on profile", "followReq": "Solicitudes de seguimiento",
"openinbrowser": "Open in browser", "likeHimOrHer": "Similares",
"mainacct": "Set it an main account", "endorse": "Destacado en el perfil",
"frc": "Suggest", "openinbrowser": "Abrir en el navegador",
"more": "More", "mainacct": "Establecer una cuenta principal",
"revoverJP": " to ", "frc": "Sugerencia",
"warnUseOtherAcct": "(Unable to unfollow)", "more": "Más",
"revoverJP": " para ",
"warnUseOtherAcct": "(No se pudo dejar de seguir)",
"revoverJPde": "", "revoverJPde": "",
"or": "or", "or": "o",
"openProf": "Show profile", "openProf": "Mostrar perfil",
"warnListRegist": "Follow to add this user to lists.", "warnListRegist": "Seguir para añadir este usuario a una lista.",
"blockDomain": "Add blocking domain", "blockDomain": "Añadir instancia bloqueada",
"name": "Display name", "name": "Nombre mostrado",
"note": "Note", "note": "Nota",
"editProfImg": "Change avataor", "editProfImg": "Cambiar avatar",
"editHeader": "Change header image", "editHeader": "Cambiar imagen de cabecera",
"blocked": "You are blocked. Why?", "blocked": "Estás bloqueado. ¿Por qué?",
"likeUserDes": "Get people resembling this user.", "likeUserDes": "Get people resembling this user.",
"get": "Get", "get": "Obtener",
"historyBack": "Atrás", "historyBack": "Atrás",
"empUser": "Emphasize this user", "empUser": "Destacar a este usuario",
"supportme": "Support TheDesk!", "supportme": "¡Apoyar TheDesk!",
"TheDeskDes": "TheDesk has no ad, you need no charge to unlock premium features. We need your friendly support!", "TheDeskDes": "TheDesk no tiene anuncios, no tienes que pagar para desbloquear características premium. ¡Necesitamos tu apoyo!",
"PatreonSupport": "Support on Patreon", "PatreonSupport": "Donar en Patreon",
"PixivSupport": "Support on Pixiv FANBOX", "PixivSupport": "Donar en Pixiv FANBOX",
"AWLSupport": "Amazon Wish List", "AWLSupport": "Lista de deseos de Amazon",
"SendAmazonGift1": "Give me Amazon Gift Card:", "SendAmazonGift1": "Dame Tarjeta de Regalo Amazon:",
"SendAmazonGift2": "", "SendAmazonGift2": "",
"monthly": "Monthly", "monthly": "Mensual",
"once": "Once", "once": "Una vez",
"local": "Local", "local": "Local",
"localMedia": "Local(Media)", "localMedia": "Local(Media)",
"home": "Home", "home": "Inicio",
"fed": "Federated", "fed": "Federado",
"fedMedia": "Federated(Media)", "fedMedia": "Federated(Media)",
"dm": "Direct Message", "dm": "Direct Message",
"integratedTLDes": "Integrated(Local/Home)", "integratedTLDes": "Integrated(Local/Home)",
@@ -135,59 +139,59 @@
"bookmark": "Bookmarks", "bookmark": "Bookmarks",
"showThisTL": "Show this TL:", "showThisTL": "Show this TL:",
"webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>).", "webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>).",
"add": "Add", "add": "Añadir",
"search": "Search", "search": "Buscar",
"sortSet": "Sort", "sortSet": "Ordenar",
"selectAcct": "Account(Scroll to show all)", "selectAcct": "Account(Scroll to show all)",
"listLocale": "List", "listLocale": "Lista",
"filterWord": "Filtering words", "filterWord": "Palabras filtradas",
"degree": "Filter contexts", "degree": "Filtrar contextos",
"conver": "Conversations", "conver": "Conversaciones",
"prof": "Profiles", "prof": "Perfiles",
"option": "Options", "option": "Ajustes",
"matchWord": "Whole word", "matchWord": "Palabra completa",
"warnMatchWord": "Nice for Latin language", "warnMatchWord": "Nice for Latin language",
"except": "Drop instead of hide", "except": "Soltar en lugar de ocultar",
"exceptWorn": "Filtered toots will disappear irreversibly, even if filter is later removed", "exceptWorn": "Los toots filtrados desaparecerán para siempre, incluso si el filtro es eliminado más tarde",
"avalableBefore": "Expire after", "avalableBefore": "Vence después de",
"warnAvBefore": "Unset or \"0\" means \"Never\"", "warnAvBefore": "Desmarcado o \"0\" significa \"Nunca\"",
"warnAvBefore2": "This value may contain some error", "warnAvBefore2": "Este valor puede contener algún error",
"unlimited": "Never", "unlimited": "Nunca",
"days": "day(s)", "days": "día(s)",
"hours": "hour(s)", "hours": "hora(s)",
"mins": "minute(s)", "mins": "minuto(s)",
"secs": "second(s)", "secs": "segundo(s)",
"warnOnIntegratedTL": "Integrated TL/Plus TL will hide both Home-filtering words and Local-filtering words.", "warnOnIntegratedTL": "Integrated TL/Plus TL will hide both Home-filtering words and Local-filtering words.",
"helloTheDesk": "Internal error: please clear all data(at setting page) <b>All data will be deleted.</b>", "helloTheDesk": "Internal error: please clear all data(at setting page) <b>All data will be deleted.</b>",
"addColumn": "Add a column", "addColumn": "Añadir una columna",
"sortColumns": "Sort", "sortColumns": "Ordenar",
"acctMan": "Account Manager", "acctMan": "Gestor de cuentas",
"filter": "Filter", "filter": "Filtro",
"setting": "Preferences", "setting": "Preferencias",
"reverse": "Toot button layout reverse", "reverse": "Invertir el diseño del botón de toot",
"f5": "Reload TL", "f5": "Recargar TL",
"nanoDes": "The smallest Mastodon,", "nanoDes": "El Mastodon más pequeño,",
"verTips": "Version", "verTips": "Versión",
"clockTips": "Clock", "clockTips": "Reloj",
"ramTips": "RAM status", "ramTips": "Estado de RAM",
"changeTips": "Change Tips", "changeTips": "Cambiar Consejos",
"helpAndLogs": "Help & Log", "helpAndLogs": "Ayuda y registro",
"help": "Help", "help": "Ayuda",
"contactwithlog": "If you tell me bugs(not working or something) with this log, I can detect what is wrong more easily.", "contactwithlog": "Si me notificas errores con este registro, puedo detectar lo que está mal más fácilmente.",
"about": "About TheDesk", "about": "Acerca de TheDesk",
"hereAddColumns": "<- Add TL", "hereAddColumns": "<- Añadir TL",
"foundBug": "I found a bug", "foundBug": "He encontrado un error",
"show": "Show", "show": "Mostrar",
"directory": "Directory", "directory": "Directorio",
"discover": "Discover", "discover": "Descubrir",
"active": "Recently active", "active": "Recientemente activo",
"newcomer": "New arrivals", "newcomer": "Recién llegados",
"local_only": "Local only", "local_only": "Solo local",
"menu": "Menu", "menu": "Menú",
"demoBottomBtns": "Welcome guide", "demoBottomBtns": "Guía de bienvenida",
"lookAtBottom": "Look at the bottom of this window. Here is some tips about it.", "lookAtBottom": "Mira en la parte inferior de esta ventana. Aquí tienes algunos consejos sobre ella.",
"acctManDesc": "Add more accounts and logout them.", "acctManDesc": "Añadir más cuentas y cerrar sesión.",
"settingDesc": "Many and many preferences here. You will couldn't check it all!", "settingDesc": "Muchísimos ajustes. ¡No podrás comprobarlo todo!",
"nanoDescPlus": "Mini window client(experimental)", "nanoDescPlus": "Cliente en ventana reducida (experimental)",
"menuDesc": "All daily TheDesk and Mastodon tuning like <b>add and sort columns</b>, <b>list and filter check</b>." "menuDesc": "Todos los ajustes diarios de TheDesk y Mastodon como <b>añadir y ordenar columnas</b>, <b>comprobar la lista y los filtros</b>."
} }

View File

@@ -1,14 +1,14 @@
{ {
"language": "en", "language": "en",
"lang_toot": "Toot", "lang_toot": "Toot",
"lang_there": "Yes", "lang_there": "",
"lang_nothing": "None", "lang_nothing": "Ninguno",
"lang_yesno": "Yes", "lang_yesno": "",
"lang_no": "No", "lang_no": "Nu",
"lang_progress": "Wait...", "lang_progress": "Wait...",
"lang_edit": "Edit", "lang_edit": "Edit",
"lang_del": "Delete", "lang_del": "Delete",
"lang_add": "Add", "lang_add": "Añadir",
"lang_fatalerroroccured": "Error", "lang_fatalerroroccured": "Error",
"lang_speech": "Google US English", "lang_speech": "Google US English",
"lang_lang": "Language", "lang_lang": "Language",
@@ -45,14 +45,14 @@
"lang_manager_confirm": "is about to logout. Continue?", "lang_manager_confirm": "is about to logout. Continue?",
"lang_manager_mainAcct": "Done:choose main account", "lang_manager_mainAcct": "Done:choose main account",
"lang_manager_def": "Default", "lang_manager_def": "Default",
"lang_manager_none": "None", "lang_manager_none": "Ninguno",
"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_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": "Emojis personalizados",
"lang_defaultemojis_text": "Emojis about {{cat}}", "lang_defaultemojis_text": "Emojis about {{cat}}",
"lang_emoji_uncat": "Uncategorized", "lang_emoji_uncat": "Uncategorized",
"lang_postimg_previewdis": "cannot preview", "lang_postimg_previewdis": "cannot preview",
@@ -75,22 +75,22 @@
"lang_post_offline": "Add to the drafts because of offline", "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": "Seguir",
"lang_status_unfollow": "Unfollow", "lang_status_unfollow": "Unfollow",
"lang_status_block": "Block", "lang_status_block": "Bloquear",
"lang_status_unblock": "Unblock", "lang_status_unblock": "Unblock",
"lang_status_mute": "Mute", "lang_status_mute": "Silenciar",
"lang_status_unmute": "Unmute", "lang_status_unmute": "Unmute",
"lang_status_redraftTitle": "Delete & redraft", "lang_status_redraftTitle": "Delete & redraft",
"lang_status_redraft": "Continue to delete & redraft? You lose statuses of this toot. This fanction may contain some bugs. Images of this toot will be deleted on older than Mastodon 2.4.1.", "lang_status_redraft": "Continue to delete & redraft? You lose statuses of this toot. This fanction may contain some bugs. Images of this toot will be deleted on older than Mastodon 2.4.1.",
"lang_status_emphas": "'s toots are emphasized. Please reload after this action.", "lang_status_emphas": "'s toots are emphasized. Please reload after this action.",
"lang_status_unemphas": "'s toots are not emphasized. Please reload after this action.", "lang_status_unemphas": "'s toots are not emphasized. Please reload after this action.",
"lang_status_unendorse": "Not feature on profile", "lang_status_unendorse": "Not feature on profile",
"lang_status_endorse": "Feature on profile", "lang_status_endorse": "Destacado en el perfil",
"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_draft": "Add to draft",
"lang_secure_useThis": "Use this", "lang_secure_useThis": "Usar esto",
"lang_secure_deleteThis": "Delete 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.",
@@ -107,7 +107,7 @@
"lang_filter_nodata": "Sin datos", "lang_filter_nodata": "Sin datos",
"lang_filter_errordegree": "Please check a context", "lang_filter_errordegree": "Please check a context",
"lang_list_nodata": "Sin datos", "lang_list_nodata": "Sin datos",
"lang_list_show": "Show", "lang_list_show": "Mostrar",
"lang_list_users": "Users list", "lang_list_users": "Users list",
"lang_list_nouser": "No users in this list.", "lang_list_nouser": "No users in this list.",
"lang_list_add": "Add to the list", "lang_list_add": "Add to the list",
@@ -127,6 +127,7 @@
"lang_tl_postmarkers_title": "Process...", "lang_tl_postmarkers_title": "Process...",
"lang_tl_postmarkers": "POST markers data. Please wait", "lang_tl_postmarkers": "POST markers data. Please wait",
"lang_img_DLDone": "Downloaded:", "lang_img_DLDone": "Downloaded:",
"lang_imgBin_copyDone": "Copied: raw data of this image",
"lang_img_copyDone": "Copied: URL of this image", "lang_img_copyDone": "Copied: URL of this image",
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.", "lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
"lang_layout_thisacct": "{{notf}} of this account", "lang_layout_thisacct": "{{notf}} of this account",
@@ -168,14 +169,17 @@
"lang_hisdata_taketime": "It will take 30s ~ several minutes", "lang_hisdata_taketime": "It will take 30s ~ several minutes",
"lang_hisdata_notonmisskey": "Misskey is unable to request.", "lang_hisdata_notonmisskey": "Misskey is unable to request.",
"lang_hisdata_key": "This user is proofed by {{set}}", "lang_hisdata_key": "This user is proofed by {{set}}",
"lang_showontl_limited_title": "Limited account",
"lang_showontl_limited": "This is limited account by moderator, show anyway?",
"lang_showontl_movetxt": "This account was moved", "lang_showontl_movetxt": "This account was moved",
"lang_showontl_movebtn": "Continue on the new account", "lang_showontl_movebtn": "Continue on the new account",
"lang_showontl_botacct": "[bot]", "lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Following you", "lang_showontl_followed": "Following you",
"lang_parse_request": "Follow request", "lang_parse_request": "Follow request",
"lang_parse_signup": "Newface",
"lang_showontl_notf": "Notification ", "lang_showontl_notf": "Notification ",
"lang_showontl_domain": "Domain ", "lang_showontl_domain": "Domain ",
"lang_showontl_listwarn": "Follow to add this user to lists.", "lang_showontl_listwarn": "Seguir para añadir este usuario a una lista.",
"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": "Requesting",
"lang_parse_mentioned": " replied to you", "lang_parse_mentioned": " replied to you",
@@ -184,11 +188,11 @@
"lang_parse_btedsimple": " boosted", "lang_parse_btedsimple": " boosted",
"lang_parse_polled": "'s poll", "lang_parse_polled": "'s poll",
"lang_parse_notftime": "Actioned at", "lang_parse_notftime": "Actioned at",
"lang_parse_cwshow": "Show", "lang_parse_cwshow": "Mostrar",
"lang_parse_cwshow_acc": "This is a post with content warning. click to show the whole content", "lang_parse_cwshow_acc": "This is a post with content warning. click to show the whole content",
"lang_parse_fulltext": "Full size text:", "lang_parse_fulltext": "Full size text:",
"lang_parse_autofold": "Auto folded", "lang_parse_autofold": "Auto folded",
"lang_parse_more": "More", "lang_parse_more": "Más",
"lang_parse_url": "URL Analyzer", "lang_parse_url": "URL Analyzer",
"lang_parse_tagTL": "Timeline of {{tag}}", "lang_parse_tagTL": "Timeline of {{tag}}",
"lang_parse_tagtoot": "Toot with {{tag}}", "lang_parse_tagtoot": "Toot with {{tag}}",
@@ -239,8 +243,8 @@
"lang_misskeyparse_reaction": "Reaction", "lang_misskeyparse_reaction": "Reaction",
"lang_misskeyparse_tagnostr": "No streaming API on Tag TLs", "lang_misskeyparse_tagnostr": "No streaming API on Tag TLs",
"lang_misskeyparse_listnostr": "No streaming API on List TLs", "lang_misskeyparse_listnostr": "No streaming API on List TLs",
"lang_misskeyparse_home": "Home", "lang_misskeyparse_home": "Inicio",
"lang_misskeyparse_followers": "Follower", "lang_misskeyparse_followers": "Seguidor",
"lang_misskeyparse_specified": "Specified User", "lang_misskeyparse_specified": "Specified User",
"lang_misskeyparse_qt": "Misskey renote(quote) mode:Ctrl+Shift+Enter to clear", "lang_misskeyparse_qt": "Misskey renote(quote) mode:Ctrl+Shift+Enter to clear",
"lang_misskeyparse_renoted": " renoted your following post.", "lang_misskeyparse_renoted": " renoted your following post.",

View File

@@ -1,25 +1,25 @@
{ {
"setting": "Preferences", "setting": "Preferencias",
"set": "Save", "set": "Guardar",
"yes": "Yes", "yes": "",
"no": "No", "no": "Nu",
"none": "None", "none": "Ninguno",
"show": "Show", "show": "Mostrar",
"hide": "Hide", "hide": "Ocultar",
"default": "Default", "default": "Default",
"change": "Cambiar", "change": "Cambiar",
"select": "Seleccionar", "select": "Seleccionar",
"exec": "Exec", "exec": "Ejecutar",
"env": "Preferencias del sistema", "env": "Preferencias del sistema",
"setlang": "Idiomas", "setlang": "Idiomas",
"backup": "Importación y exportación de la configuración", "backup": "Importación y exportación de la configuración",
"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 recibe un error al seleccionar el archivo, por favor pegue el texto recibido y haga clic en importar",
"import": "Importar", "import": "Importar",
"export": "Exportar", "export": "Exportar",
"hardwareAcceleration": "Deshabilitar la aceleración por hardware", "hardwareAcceleration": "Deshabilitar la aceleración por hardware",
"hardwareAccelerationWarn": "Reinicio automático", "hardwareAccelerationWarn": "Reinicio automático",
"webview": "Webview Integration", "webview": "Integración de Webview",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.", "webviewWarn": "Para usar la Integración de TweetDeck, por favor actívala. Tenga en cuenta que puede reducir el nivel de seguridad.",
"theme": "Temas", "theme": "Temas",
"popup": "Notificación emergente (en Windows)", "popup": "Notificación emergente (en Windows)",
"popupwarn": "Ocultar para establecer \"0\"", "popupwarn": "Ocultar para establecer \"0\"",
@@ -27,11 +27,11 @@
"nativenotf": "Notificación nativa", "nativenotf": "Notificación nativa",
"nnwarn": "Esto no funciona en la versión portable para Windows.", "nnwarn": "Esto no funciona en la versión portable para Windows.",
"nntest": "Prueba de notificación", "nntest": "Prueba de notificación",
"width": "Width of columns", "width": "Ancho de columnas",
"widthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.", "widthwarn": "La barra de desplazamiento se mostrará cuando el tamaño de la ventana sea superior a la cantidad de columnas.",
"fixwidth": "Ancho mínimo del navegador TweetDeck", "fixwidth": "Ancho mínimo del navegador TweetDeck",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines", "margin": "Margen entre líneas de tiempo",
"above": "arriba", "above": "arriba",
"font": "Fuente", "font": "Fuente",
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)", "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
@@ -44,31 +44,31 @@
"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": "valor absoluto", "absolute": "valor absoluto",
"srcUrl": "Search engine", "srcUrl": "Motor de búsqueda",
"srcUrlWarn": "{q} will be replaced to query.", "srcUrlWarn": "{q} será sustituido en la consulta.",
"themeSel": "Seleccionar tema", "themeSel": "Seleccionar tema",
"customtheme": "Editar y añadir temas personalizados", "customtheme": "Editar y añadir temas personalizados",
"customthemeDirection": "Esquema de colores", "customthemeDirection": "Esquema de colores",
"advanced": "Opciones avanzadas (6 colores adicionales)", "advanced": "Opciones avanzadas (6 colores adicionales)",
"advancedWarn": "", "advancedWarn": "",
"use": "Use this", "use": "Usar esto",
"copyFrom": "Copy from", "copyFrom": "Copiar desde",
"bg": "Background color", "bg": "Color de fondo",
"subcolor": "Distinguishable from background", "subcolor": "Distinguible del fondo",
"text": "Text color", "text": "Color del texto",
"accent": "Background of boosts", "accent": "Fondo de los retoots",
"modal": "Background of modal window", "modal": "Background of modal window",
"modalFooter": "Background of modal window's footer", "modalFooter": "Fondo del pie de página de la ventana modal",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)", "thirdColor": "Fondo de botones de etiquetas, etc. (cerca de fondo)",
"forthColor": "Title bar(same scheme to Background)", "forthColor": "Barra de título (mismo esquema que el fondo)",
"bottom": "Background of menu-bar at bottom of window", "bottom": "Fondo de la barra de menús en la parte inferior de la ventana",
"emphasized": "Emphasized toot's background", "emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu", "postbox": "Background of post-box and menu",
"active": "Background of 'active' elements", "active": "Fondo de elementos 'activos'",
"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": "Añadir nuevo",
"name": "Name", "name": "Nombre",
"desc": "About this theme", "desc": "About this theme",
"customImport": "Import of custom themes", "customImport": "Import of custom themes",
"delete": "Delete", "delete": "Delete",
@@ -108,7 +108,7 @@
"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 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.",
"lines": "lines", "lines": "lines",
"letters": "letters", "letters": "letters",
"or": "or", "or": "o",
"imgheight": "Height of images", "imgheight": "Height of images",
"imgheightwarn": "Option:Set \"full\" to uncrop.", "imgheightwarn": "Option:Set \"full\" to uncrop.",
"ticker": "Enable OpenSticker", "ticker": "Enable OpenSticker",
@@ -163,7 +163,7 @@
"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": "Auto scale to fit",
"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. Note: if you post an animated picture like a GIF, it will be converted to a static picture.",
"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",
@@ -219,8 +219,8 @@
"keyunread": "Make all notifications read", "keyunread": "Make all notifications read",
"keyesc": "Hide toot box", "keyesc": "Hide toot box",
"keyf5": "Super Reload", "keyf5": "Super Reload",
"keyclear": "Clear toot box", "keyclear": "Borrar caja de toot",
"keyacctman": "Account Manager", "keyacctman": "Gestor de cuentas",
"keyshowprof": "Show profile of selecting", "keyshowprof": "Show profile of selecting",
"keyrow": "Show next or previous image", "keyrow": "Show next or previous image",
"keyzoom": "Mousewheel:Zoom a image", "keyzoom": "Mousewheel:Zoom a image",
@@ -230,11 +230,11 @@
"reply": "Reply to this toot", "reply": "Reply to this toot",
"keyselecttop": "Select the top & left(No.1 column) toot", "keyselecttop": "Select the top & left(No.1 column) toot",
"reset": "Reset(Danger)", "reset": "Reset(Danger)",
"resetconfirm": "Delete all data. You cannot undo. Continue?", "resetconfirm": "Delete all data. You cannot undo this operation. Continue?",
"about": "About TheDesk", "about": "Acerca de TheDesk",
"hp": "Website", "hp": "Website",
"support": "Support", "support": "Support",
"help": "Help", "help": "Ayuda",
"sushi": "Give me a sushi!", "sushi": "Give me a sushi!",
"checkup": "Check update", "checkup": "Check update",
"ossJP": "" "ossJP": ""

View File

@@ -1,19 +1,19 @@
{ {
"updatehere": "Get latest TheDesk", "updatehere": "Obtener el último TheDesk",
"download": "Start", "download": "Inicio",
"portable": "Portable ver.", "portable": "Version portable",
"installer": "Installer(Recommended)", "installer": "Instalador (Recomendado)",
"linux": "zip", "linux": "zip",
"linuxdeb": "deb(Recommended on buntu, Debian)", "linuxdeb": "deb(Recomendado en ubuntu, Debian)",
"linuxsnap": "snap", "linuxsnap": "instantánea",
"snap": "Get it on Snapcraft", "snap": "Consíguelo en Snapcraft",
"sureupd": "You may lose a cool experience!", "sureupd": "¡Podrías perder una experiencia genial!",
"skipupd": "Skip this update", "skipupd": "Saltar esta actualización",
"nexttl": "Hidden until next TL loading", "nexttl": "Oculto hasta la próxima carga de TL",
"nextver": "Hidden until next version", "nextver": "Oculto hasta la próxima versión",
"problem1": "Some problems?", "problem1": "¿Algún problema?",
"problem2": "Please download on <a href='https://thedesk.top'>Oficial HP</a>.", "problem2": "Por favor, descarga desde <a href='https://thedesk.top'>enlace oficial</a>.",
"continue": "Continue updating", "continue": "Continuar con la actualización",
"dlnow": "Downloading...", "dlnow": "Descargando...",
"checkWhatIsNew": "What is new?" "checkWhatIsNew": "Novedades"
} }

View File

@@ -65,6 +65,7 @@
"afterFTL": "Federated TL after this toot", "afterFTL": "Federated TL after this toot",
"favedPeople": "People who favourited it", "favedPeople": "People who favourited it",
"btedPeople": "People who boosted it", "btedPeople": "People who boosted it",
"editHistory": "Edit history",
"useOtherAcct1": "Use other account", "useOtherAcct1": "Use other account",
"useOtherAcct2": ":unfav and unBT are disabled.", "useOtherAcct2": ":unfav and unBT are disabled.",
"btWithVis": "Boost with visibility", "btWithVis": "Boost with visibility",
@@ -73,6 +74,7 @@
"favRegist": "Favourite", "favRegist": "Favourite",
"openBrowser": "Open in browser", "openBrowser": "Open in browser",
"screenshot": "Take a screenshot", "screenshot": "Take a screenshot",
"copyBinary": "Copy raw image",
"copyURL": "Copy the URL", "copyURL": "Copy the URL",
"copy": "Copy", "copy": "Copy",
"embed": "Embed", "embed": "Embed",
@@ -86,6 +88,8 @@
"makeNew": "Save", "makeNew": "Save",
"blocks": "Blocks", "blocks": "Blocks",
"mutes": "Mutes", "mutes": "Mutes",
"notfMute": "Mute their notifications too",
"zeroSetToInfinity": "Mute duration: 0 min to set Infinity",
"block": "Block", "block": "Block",
"mute": "Mute", "mute": "Mute",
"domainBlock": "Domain block", "domainBlock": "Domain block",

View File

@@ -127,6 +127,7 @@
"lang_tl_postmarkers_title": "Process...", "lang_tl_postmarkers_title": "Process...",
"lang_tl_postmarkers": "POST markers data. Please wait", "lang_tl_postmarkers": "POST markers data. Please wait",
"lang_img_DLDone": "Downloaded:", "lang_img_DLDone": "Downloaded:",
"lang_imgBin_copyDone": "Copied: raw data of this image",
"lang_img_copyDone": "Copied: URL of this image", "lang_img_copyDone": "Copied: URL of this image",
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.", "lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
"lang_layout_thisacct": "{{notf}} of this account", "lang_layout_thisacct": "{{notf}} of this account",
@@ -168,11 +169,14 @@
"lang_hisdata_taketime": "It will take 30s ~ several minutes", "lang_hisdata_taketime": "It will take 30s ~ several minutes",
"lang_hisdata_notonmisskey": "Misskey is unable to request.", "lang_hisdata_notonmisskey": "Misskey is unable to request.",
"lang_hisdata_key": "This user is proofed by {{set}}", "lang_hisdata_key": "This user is proofed by {{set}}",
"lang_showontl_limited_title": "Limited account",
"lang_showontl_limited": "This is limited account by moderator, show anyway?",
"lang_showontl_movetxt": "This account was moved", "lang_showontl_movetxt": "This account was moved",
"lang_showontl_movebtn": "Continue on the new account", "lang_showontl_movebtn": "Continue on the new account",
"lang_showontl_botacct": "[bot]", "lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Following you", "lang_showontl_followed": "Following you",
"lang_parse_request": "Follow request", "lang_parse_request": "Follow request",
"lang_parse_signup": "Newface",
"lang_showontl_notf": "Notification ", "lang_showontl_notf": "Notification ",
"lang_showontl_domain": "Domain ", "lang_showontl_domain": "Domain ",
"lang_showontl_listwarn": "Follow to add this user to lists.", "lang_showontl_listwarn": "Follow to add this user to lists.",

View File

@@ -13,13 +13,13 @@
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
"backupWarn": "If you got a error when you choose the file, please paste the strings printed when you open the file and click import", "backupWarn": "If you get an error when you choose the file, please paste the strings printed when you open the file and click import",
"import": "Import", "import": "Import",
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration", "webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.", "webviewWarn": "To use TweetDeck Integration, please turn it on. Please be aware that it may lessen the security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",
@@ -28,7 +28,7 @@
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test", "nntest": "Notification test",
"width": "Width of columns", "width": "Width of columns",
"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 amounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser", "fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines", "margin": "Margin between timelines",
@@ -37,7 +37,7 @@
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)", "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
"fontsize": "Font size", "fontsize": "Font size",
"savefolder": "Folder to save", "savefolder": "Folder to save",
"savefolderwarn": "TheDesk uses this value when it try to save pictures or take screenshots.", "savefolderwarn": "TheDesk uses this value when it tries to save pictures or take screenshots.",
"useragent": "User agent", "useragent": "User agent",
"useragentWarn": "Restart when changed", "useragentWarn": "Restart when changed",
"frame": "Window frame", "frame": "Window frame",
@@ -61,7 +61,7 @@
"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)",
"forthColor": "Title bar(same scheme to Background)", "forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window", "bottom": "Background of menu-bar at the bottom of the window",
"emphasized": "Emphasized toot's background", "emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu", "postbox": "Background of post-box and menu",
"active": "Background of 'active' elements", "active": "Background of 'active' elements",
@@ -163,7 +163,7 @@
"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": "Auto scale to fit",
"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. Note: if you post an animated picture like a GIF, it will be converted to a static picture.",
"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",
@@ -230,7 +230,7 @@
"reply": "Reply to this toot", "reply": "Reply to this toot",
"keyselecttop": "Select the top & left(No.1 column) toot", "keyselecttop": "Select the top & left(No.1 column) toot",
"reset": "Reset(Danger)", "reset": "Reset(Danger)",
"resetconfirm": "Delete all data. You cannot undo. Continue?", "resetconfirm": "Delete all data. You cannot undo this operation. Continue?",
"about": "About TheDesk", "about": "About TheDesk",
"hp": "Website", "hp": "Website",
"support": "Support", "support": "Support",

View File

@@ -65,6 +65,7 @@
"afterFTL": "TL fédérée après ce pouet", "afterFTL": "TL fédérée après ce pouet",
"favedPeople": "Personnes qui l'ont mis en favori", "favedPeople": "Personnes qui l'ont mis en favori",
"btedPeople": "Personnes qui l'ont boosté", "btedPeople": "Personnes qui l'ont boosté",
"editHistory": "Edit history",
"useOtherAcct1": "Utiliser un autre compte", "useOtherAcct1": "Utiliser un autre compte",
"useOtherAcct2": ":unfav et unBT sont désactivés.", "useOtherAcct2": ":unfav et unBT sont désactivés.",
"btWithVis": "Boost avec visibilité", "btWithVis": "Boost avec visibilité",
@@ -73,8 +74,9 @@
"favRegist": "Favoris", "favRegist": "Favoris",
"openBrowser": "Ouvrir dans un navigateur", "openBrowser": "Ouvrir dans un navigateur",
"screenshot": "Prendre une capture d'écran", "screenshot": "Prendre une capture d'écran",
"copyBinary": "Copy raw image",
"copyURL": "Copier l'URL", "copyURL": "Copier l'URL",
"copy": "Copy", "copy": "Copier",
"embed": "Embarquer", "embed": "Embarquer",
"toots": "Pouets", "toots": "Pouets",
"follow": "Suivre", "follow": "Suivre",
@@ -86,6 +88,8 @@
"makeNew": "Sauvegarder", "makeNew": "Sauvegarder",
"blocks": "Blocs", "blocks": "Blocs",
"mutes": "Muets", "mutes": "Muets",
"notfMute": "Aussi couper leurs notifications",
"zeroSetToInfinity": "Durée de sourdine : 0 min pour définir infiniment",
"block": "Bloquer", "block": "Bloquer",
"mute": "Muet", "mute": "Muet",
"domainBlock": "Blocage de domaine", "domainBlock": "Blocage de domaine",
@@ -179,7 +183,7 @@
"foundBug": "J'ai trouvé un bug", "foundBug": "J'ai trouvé un bug",
"show": "Afficher", "show": "Afficher",
"directory": "Répertoire", "directory": "Répertoire",
"discover": "Discover", "discover": "Découvrir",
"active": "Actif récemment", "active": "Actif récemment",
"newcomer": "Nouveautés", "newcomer": "Nouveautés",
"local_only": "Local uniquement", "local_only": "Local uniquement",

View File

@@ -103,7 +103,7 @@
"lang_details_embed": "Le code HTML intégré est tronqué.", "lang_details_embed": "Le code HTML intégré est tronqué.",
"lang_details_url": "L'URL de ce pouet est tronqué.", "lang_details_url": "L'URL de ce pouet est tronqué.",
"lang_details_txt": "Le contenu de ce pouet est tronqué.", "lang_details_txt": "Le contenu de ce pouet est tronqué.",
"lang_details_fetch": "Fetcging toot data...", "lang_details_fetch": "Récupération des données du pouet...",
"lang_filter_nodata": "Aucune donnée", "lang_filter_nodata": "Aucune donnée",
"lang_filter_errordegree": "Veuillez vérifier le contexte", "lang_filter_errordegree": "Veuillez vérifier le contexte",
"lang_list_nodata": "Aucune donnée", "lang_list_nodata": "Aucune donnée",
@@ -127,6 +127,7 @@
"lang_tl_postmarkers_title": "En cours...", "lang_tl_postmarkers_title": "En cours...",
"lang_tl_postmarkers": "POST des marqueurs. Veuillez patienter", "lang_tl_postmarkers": "POST des marqueurs. Veuillez patienter",
"lang_img_DLDone": "Téléchargé:", "lang_img_DLDone": "Téléchargé:",
"lang_imgBin_copyDone": "Copied: raw data of this image",
"lang_img_copyDone": "Copié: URL de cette image", "lang_img_copyDone": "Copié: URL de cette image",
"lang_layout_gotop": "Allez en haut de cette colonne. Lorsque l'icône est rouge, cette colonne ne peut pas connecter l'API de streaming. Veuillez recharger.", "lang_layout_gotop": "Allez en haut de cette colonne. Lorsque l'icône est rouge, cette colonne ne peut pas connecter l'API de streaming. Veuillez recharger.",
"lang_layout_thisacct": "{{notf}} de ce compte", "lang_layout_thisacct": "{{notf}} de ce compte",
@@ -168,11 +169,14 @@
"lang_hisdata_taketime": "Cela prendra entre 30 secondes de quelques minutes", "lang_hisdata_taketime": "Cela prendra entre 30 secondes de quelques minutes",
"lang_hisdata_notonmisskey": "Impossible de requêter Misskey.", "lang_hisdata_notonmisskey": "Impossible de requêter Misskey.",
"lang_hisdata_key": "Cet utilisateur est protégé par {{set}}", "lang_hisdata_key": "Cet utilisateur est protégé par {{set}}",
"lang_showontl_limited_title": "Limited account",
"lang_showontl_limited": "This is limited account by moderator, show anyway?",
"lang_showontl_movetxt": "Ce compte a migré ailleurs", "lang_showontl_movetxt": "Ce compte a migré ailleurs",
"lang_showontl_movebtn": "Continuer sur le nouveau compte", "lang_showontl_movebtn": "Continuer sur le nouveau compte",
"lang_showontl_botacct": "[bot]", "lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Vous suit", "lang_showontl_followed": "Vous suit",
"lang_parse_request": "Demandes de suivi", "lang_parse_request": "Demandes de suivi",
"lang_parse_signup": "Newface",
"lang_showontl_notf": "Notification ", "lang_showontl_notf": "Notification ",
"lang_showontl_domain": "Domaine ", "lang_showontl_domain": "Domaine ",
"lang_showontl_listwarn": "Suivre pour ajouter cet utilisateur aux listes.", "lang_showontl_listwarn": "Suivre pour ajouter cet utilisateur aux listes.",

View File

@@ -18,8 +18,8 @@
"export": "Exporter", "export": "Exporter",
"hardwareAcceleration": "Désactiver l'accélération matérielle", "hardwareAcceleration": "Désactiver l'accélération matérielle",
"hardwareAccelerationWarn": "Redémarrage Automatique", "hardwareAccelerationWarn": "Redémarrage Automatique",
"webview": "Webview Integration", "webview": "Intégration de la vue web",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.", "webviewWarn": "Pour utiliser l'intégration Tweetdeck, activez la. Notez que cela peut diminuer le niveau de sécurité.",
"theme": "Thèmes", "theme": "Thèmes",
"popup": "Notification pop-up", "popup": "Notification pop-up",
"popupwarn": "\"0\" pour cacher", "popupwarn": "\"0\" pour cacher",
@@ -72,7 +72,7 @@
"desc": "À propos de ce thème", "desc": "À propos de ce thème",
"customImport": "Importer des thèmes personnalisés", "customImport": "Importer des thèmes personnalisés",
"delete": "Supprimer", "delete": "Supprimer",
"preview": "Preview", "preview": "Aperçu",
"timeline": "Préférence de la TimeLine", "timeline": "Préférence de la TimeLine",
"timemode": "Format de lheure", "timemode": "Format de lheure",
"relativetime": "Format relatif:\"Il y a 1 minutes\",\"3 jours\"", "relativetime": "Format relatif:\"Il y a 1 minutes\",\"3 jours\"",
@@ -118,9 +118,9 @@
"markerswarn": "Mastodon 3.0~. Partagé sur l'interface web et les clients tiers supportés.", "markerswarn": "Mastodon 3.0~. Partagé sur l'interface web et les clients tiers supportés.",
"remote_img": "Récupérer les images depuis le serveur distant", "remote_img": "Récupérer les images depuis le serveur distant",
"remote_imgWarn": "Toutes les prévisualisations sont obtenues depuis le serveur où vous êtes connecté.", "remote_imgWarn": "Toutes les prévisualisations sont obtenues depuis le serveur où vous êtes connecté.",
"moreContextMode": "Context Tool", "moreContextMode": "Outil de contexte",
"moreContextModeWarn": "On detail of the toot modal, show toots before / after the toot on LTL, FTL, UTL", "moreContextModeWarn": "Sur le détail du modal du pouet, afficher les pouets avant / après le pouet sur LTL, FTL, UTL",
"smallHeader": "Minimize column headers", "smallHeader": "Réduire les en-têtes de colonne",
"replySound": "Son (Réponse)", "replySound": "Son (Réponse)",
"favSound": "Son (Fav)", "favSound": "Son (Fav)",
"btSound": "Son (Boost)", "btSound": "Son (Boost)",

View File

@@ -65,6 +65,7 @@
"afterFTL": "Federated TL after this toot", "afterFTL": "Federated TL after this toot",
"favedPeople": "People who favourited it", "favedPeople": "People who favourited it",
"btedPeople": "People who boosted it", "btedPeople": "People who boosted it",
"editHistory": "Edit history",
"useOtherAcct1": "Use other account", "useOtherAcct1": "Use other account",
"useOtherAcct2": ":unfav and unBT are disabled.", "useOtherAcct2": ":unfav and unBT are disabled.",
"btWithVis": "Boost with visibility", "btWithVis": "Boost with visibility",
@@ -73,6 +74,7 @@
"favRegist": "Favourite", "favRegist": "Favourite",
"openBrowser": "Open in browser", "openBrowser": "Open in browser",
"screenshot": "Take a screenshot", "screenshot": "Take a screenshot",
"copyBinary": "Copy raw image",
"copyURL": "Copy the URL", "copyURL": "Copy the URL",
"copy": "Copy", "copy": "Copy",
"embed": "Embed", "embed": "Embed",
@@ -86,6 +88,8 @@
"makeNew": "Save", "makeNew": "Save",
"blocks": "Blocks", "blocks": "Blocks",
"mutes": "Mutes", "mutes": "Mutes",
"notfMute": "Mute their notifications too",
"zeroSetToInfinity": "Mute duration: 0 min to set Infinity",
"block": "Block", "block": "Block",
"mute": "Mute", "mute": "Mute",
"domainBlock": "Domain block", "domainBlock": "Domain block",

View File

@@ -127,6 +127,7 @@
"lang_tl_postmarkers_title": "Process...", "lang_tl_postmarkers_title": "Process...",
"lang_tl_postmarkers": "POST markers data. Please wait", "lang_tl_postmarkers": "POST markers data. Please wait",
"lang_img_DLDone": "Downloaded:", "lang_img_DLDone": "Downloaded:",
"lang_imgBin_copyDone": "Copied: raw data of this image",
"lang_img_copyDone": "Copied: URL of this image", "lang_img_copyDone": "Copied: URL of this image",
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.", "lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
"lang_layout_thisacct": "{{notf}} of this account", "lang_layout_thisacct": "{{notf}} of this account",
@@ -168,11 +169,14 @@
"lang_hisdata_taketime": "It will take 30s ~ several minutes", "lang_hisdata_taketime": "It will take 30s ~ several minutes",
"lang_hisdata_notonmisskey": "Misskey is unable to request.", "lang_hisdata_notonmisskey": "Misskey is unable to request.",
"lang_hisdata_key": "This user is proofed by {{set}}", "lang_hisdata_key": "This user is proofed by {{set}}",
"lang_showontl_limited_title": "Limited account",
"lang_showontl_limited": "This is limited account by moderator, show anyway?",
"lang_showontl_movetxt": "This account was moved", "lang_showontl_movetxt": "This account was moved",
"lang_showontl_movebtn": "Continue on the new account", "lang_showontl_movebtn": "Continue on the new account",
"lang_showontl_botacct": "[bot]", "lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Following you", "lang_showontl_followed": "Following you",
"lang_parse_request": "Follow request", "lang_parse_request": "Follow request",
"lang_parse_signup": "Newface",
"lang_showontl_notf": "Notification ", "lang_showontl_notf": "Notification ",
"lang_showontl_domain": "Domain ", "lang_showontl_domain": "Domain ",
"lang_showontl_listwarn": "Follow to add this user to lists.", "lang_showontl_listwarn": "Follow to add this user to lists.",

View File

@@ -13,13 +13,13 @@
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
"backupWarn": "If you got a error when you choose the file, please paste the strings printed when you open the file and click import", "backupWarn": "If you get an error when you choose the file, please paste the strings printed when you open the file and click import",
"import": "Import", "import": "Import",
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration", "webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.", "webviewWarn": "To use TweetDeck Integration, please turn it on. Please be aware that it may lessen the security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",
@@ -28,7 +28,7 @@
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test", "nntest": "Notification test",
"width": "Width of columns", "width": "Width of columns",
"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 amounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser", "fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines", "margin": "Margin between timelines",
@@ -37,7 +37,7 @@
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)", "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
"fontsize": "Font size", "fontsize": "Font size",
"savefolder": "Folder to save", "savefolder": "Folder to save",
"savefolderwarn": "TheDesk uses this value when it try to save pictures or take screenshots.", "savefolderwarn": "TheDesk uses this value when it tries to save pictures or take screenshots.",
"useragent": "User agent", "useragent": "User agent",
"useragentWarn": "Restart when changed", "useragentWarn": "Restart when changed",
"frame": "Window frame", "frame": "Window frame",
@@ -61,7 +61,7 @@
"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)",
"forthColor": "Title bar(same scheme to Background)", "forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window", "bottom": "Background of menu-bar at the bottom of the window",
"emphasized": "Emphasized toot's background", "emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu", "postbox": "Background of post-box and menu",
"active": "Background of 'active' elements", "active": "Background of 'active' elements",
@@ -163,7 +163,7 @@
"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": "Auto scale to fit",
"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. Note: if you post an animated picture like a GIF, it will be converted to a static picture.",
"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",
@@ -230,7 +230,7 @@
"reply": "Reply to this toot", "reply": "Reply to this toot",
"keyselecttop": "Select the top & left(No.1 column) toot", "keyselecttop": "Select the top & left(No.1 column) toot",
"reset": "Reset(Danger)", "reset": "Reset(Danger)",
"resetconfirm": "Delete all data. You cannot undo. Continue?", "resetconfirm": "Delete all data. You cannot undo this operation. Continue?",
"about": "About TheDesk", "about": "About TheDesk",
"hp": "Website", "hp": "Website",
"support": "Support", "support": "Support",

View File

@@ -65,6 +65,7 @@
"afterFTL": "Federated TL after this toot", "afterFTL": "Federated TL after this toot",
"favedPeople": "People who favourited it", "favedPeople": "People who favourited it",
"btedPeople": "People who boosted it", "btedPeople": "People who boosted it",
"editHistory": "Edit history",
"useOtherAcct1": "Use other account", "useOtherAcct1": "Use other account",
"useOtherAcct2": ":unfav and unBT are disabled.", "useOtherAcct2": ":unfav and unBT are disabled.",
"btWithVis": "Boost with visibility", "btWithVis": "Boost with visibility",
@@ -73,6 +74,7 @@
"favRegist": "Favourite", "favRegist": "Favourite",
"openBrowser": "Open in browser", "openBrowser": "Open in browser",
"screenshot": "Take a screenshot", "screenshot": "Take a screenshot",
"copyBinary": "Copy raw image",
"copyURL": "Copy the URL", "copyURL": "Copy the URL",
"copy": "Copy", "copy": "Copy",
"embed": "Embed", "embed": "Embed",
@@ -86,6 +88,8 @@
"makeNew": "Save", "makeNew": "Save",
"blocks": "Blocks", "blocks": "Blocks",
"mutes": "Mutes", "mutes": "Mutes",
"notfMute": "Mute their notifications too",
"zeroSetToInfinity": "Mute duration: 0 min to set Infinity",
"block": "Block", "block": "Block",
"mute": "Mute", "mute": "Mute",
"domainBlock": "Domain block", "domainBlock": "Domain block",

View File

@@ -127,6 +127,7 @@
"lang_tl_postmarkers_title": "Process...", "lang_tl_postmarkers_title": "Process...",
"lang_tl_postmarkers": "POST markers data. Please wait", "lang_tl_postmarkers": "POST markers data. Please wait",
"lang_img_DLDone": "Downloaded:", "lang_img_DLDone": "Downloaded:",
"lang_imgBin_copyDone": "Copied: raw data of this image",
"lang_img_copyDone": "Copied: URL of this image", "lang_img_copyDone": "Copied: URL of this image",
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.", "lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
"lang_layout_thisacct": "{{notf}} of this account", "lang_layout_thisacct": "{{notf}} of this account",
@@ -168,11 +169,14 @@
"lang_hisdata_taketime": "It will take 30s ~ several minutes", "lang_hisdata_taketime": "It will take 30s ~ several minutes",
"lang_hisdata_notonmisskey": "Misskey is unable to request.", "lang_hisdata_notonmisskey": "Misskey is unable to request.",
"lang_hisdata_key": "This user is proofed by {{set}}", "lang_hisdata_key": "This user is proofed by {{set}}",
"lang_showontl_limited_title": "Limited account",
"lang_showontl_limited": "This is limited account by moderator, show anyway?",
"lang_showontl_movetxt": "This account was moved", "lang_showontl_movetxt": "This account was moved",
"lang_showontl_movebtn": "Continue on the new account", "lang_showontl_movebtn": "Continue on the new account",
"lang_showontl_botacct": "[bot]", "lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Following you", "lang_showontl_followed": "Following you",
"lang_parse_request": "Follow request", "lang_parse_request": "Follow request",
"lang_parse_signup": "Newface",
"lang_showontl_notf": "Notification ", "lang_showontl_notf": "Notification ",
"lang_showontl_domain": "Domain ", "lang_showontl_domain": "Domain ",
"lang_showontl_listwarn": "Follow to add this user to lists.", "lang_showontl_listwarn": "Follow to add this user to lists.",

View File

@@ -13,13 +13,13 @@
"env": "System Preferences", "env": "System Preferences",
"setlang": "Languages", "setlang": "Languages",
"backup": "Import and export of preferences", "backup": "Import and export of preferences",
"backupWarn": "If you got a error when you choose the file, please paste the strings printed when you open the file and click import", "backupWarn": "If you get an error when you choose the file, please paste the strings printed when you open the file and click import",
"import": "Import", "import": "Import",
"export": "Export", "export": "Export",
"hardwareAcceleration": "Disable hardware acceleration", "hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted", "hardwareAccelerationWarn": "Auto restarted",
"webview": "Webview Integration", "webview": "Webview Integration",
"webviewWarn": "To use TweetDeck Integration, please turn on. You should understand it may lessen security level.", "webviewWarn": "To use TweetDeck Integration, please turn it on. Please be aware that it may lessen the security level.",
"theme": "Themes", "theme": "Themes",
"popup": "Popup notification", "popup": "Popup notification",
"popupwarn": "Hide to set \"0\"", "popupwarn": "Hide to set \"0\"",
@@ -28,7 +28,7 @@
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test", "nntest": "Notification test",
"width": "Width of columns", "width": "Width of columns",
"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 amounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser", "fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines", "margin": "Margin between timelines",
@@ -37,7 +37,7 @@
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)", "fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
"fontsize": "Font size", "fontsize": "Font size",
"savefolder": "Folder to save", "savefolder": "Folder to save",
"savefolderwarn": "TheDesk uses this value when it try to save pictures or take screenshots.", "savefolderwarn": "TheDesk uses this value when it tries to save pictures or take screenshots.",
"useragent": "User agent", "useragent": "User agent",
"useragentWarn": "Restart when changed", "useragentWarn": "Restart when changed",
"frame": "Window frame", "frame": "Window frame",
@@ -61,7 +61,7 @@
"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)",
"forthColor": "Title bar(same scheme to Background)", "forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window", "bottom": "Background of menu-bar at the bottom of the window",
"emphasized": "Emphasized toot's background", "emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu", "postbox": "Background of post-box and menu",
"active": "Background of 'active' elements", "active": "Background of 'active' elements",
@@ -163,7 +163,7 @@
"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": "Auto scale to fit",
"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. Note: if you post an animated picture like a GIF, it will be converted to a static picture.",
"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",
@@ -230,7 +230,7 @@
"reply": "Reply to this toot", "reply": "Reply to this toot",
"keyselecttop": "Select the top & left(No.1 column) toot", "keyselecttop": "Select the top & left(No.1 column) toot",
"reset": "Reset(Danger)", "reset": "Reset(Danger)",
"resetconfirm": "Delete all data. You cannot undo. Continue?", "resetconfirm": "Delete all data. You cannot undo this operation. Continue?",
"about": "About TheDesk", "about": "About TheDesk",
"hp": "Website", "hp": "Website",
"support": "Support", "support": "Support",

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