Compare commits

...

59 Commits

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

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

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

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

* New translations main.json (Dutch)

* New translations main.json (Italian)

* New translations main.json (Hungarian)

* New translations main.json (Hebrew)

* New translations main.json (Polish)

* New translations main.json (Turkish)

* New translations main.json (Swedish)

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

* New translations main.json (Russian)

* New translations main.json (Portuguese)

* New translations main.json (Arabic)

* New translations main.json (Afrikaans)

* New translations main.json (Spanish)

* New translations main.json (Finnish)

* New translations main.json (French)

* New translations main.json (Romanian)

* New translations main.json (Bulgarian)

* New translations main.json (German)

* New translations main.json (Greek)

* New translations main.json (Czech)

* New translations main.json (Danish)

* New translations main.json (Catalan)

* New translations main.json (Spanish, Argentina)

* New translations main.json (English)

* New translations index.json (Cornish)

* New translations main.json (Sinhala)

* New translations acct.json (Cornish)

* New translations main.json (Cornish)

* New translations setting.json (Cornish)

* New translations main.json (Portuguese, Brazilian)

* New translations main.json (Vietnamese)

* New translations main.json (Chinese Traditional)

* New translations main.json (Chinese Simplified)

* New translations main.json (Ukrainian)

* New translations update.json (Cornish)

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

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

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

* New translations setting.json (Russian)

* New translations setting.json (Portuguese)

* New translations setting.json (Polish)

* New translations setting.json (Norwegian)

* New translations setting.json (Dutch)

* New translations setting.json (Turkish)

* New translations setting.json (Vietnamese)

* New translations setting.json (English)

* New translations setting.json (Spanish, Argentina)

* New translations setting.json (Portuguese, Brazilian)

* New translations setting.json (Chinese Traditional)

* New translations setting.json (Chinese Simplified)

* New translations setting.json (Ukrainian)

* New translations setting.json (Afrikaans)

* New translations setting.json (Catalan)

* New translations setting.json (Bulgarian)

* New translations setting.json (Arabic)

* New translations setting.json (Spanish)

* New translations setting.json (French)

* New translations setting.json (Romanian)

* New translations setting.json (Italian)

* New translations setting.json (Hungarian)

* New translations setting.json (Hebrew)

* New translations setting.json (Finnish)

* New translations setting.json (Czech)

* New translations setting.json (Greek)

* New translations setting.json (German)

* New translations setting.json (Danish)

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

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

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

* New translations index.json (Sinhala)

* New translations main.json (Sinhala)

* New translations setting.json (Sinhala)

* New translations update.json (Sinhala)

* New translations main.json (Sinhala)

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

* New translations index.json (Chinese Traditional)

* New translations main.json (Chinese Traditional)

* New translations setting.json (Chinese Traditional)

* New translations acct.json (Chinese Traditional)

* New translations index.json (Chinese Traditional)

* New translations main.json (Chinese Traditional)

* New translations setting.json (Chinese Traditional)

* New translations index.json (Chinese Traditional)

* New translations main.json (Chinese Traditional)

* New translations index.json (Chinese Traditional)

* New translations update.json (Chinese Traditional)

* New translations index.json (Chinese Traditional)

* New translations update.json (Chinese Traditional)

* New translations index.json (Chinese Traditional)

* New translations main.json (Chinese Traditional)

* New translations setting.json (Chinese Traditional)

* New translations index.json (Chinese Traditional)

* New translations main.json (Chinese Traditional)

* New translations setting.json (Chinese Traditional)

* New translations main.json (Chinese Traditional)

* New translations setting.json (Chinese Traditional)

* New translations main.json (Chinese Traditional)

* New translations main.json (Chinese Traditional)

* New translations setting.json (Portuguese)

* New translations main.json (Swedish)

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

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

* New translations setting.json (Russian)

* New translations main.json (Russian)

* New translations main.json (Portuguese)

* New translations setting.json (Polish)

* New translations main.json (Polish)

* New translations setting.json (Norwegian)

* New translations main.json (Norwegian)

* New translations setting.json (Dutch)

* New translations main.json (Dutch)

* New translations setting.json (Swedish)

* New translations main.json (English)

* New translations setting.json (Spanish, Argentina)

* New translations main.json (Spanish, Argentina)

* New translations setting.json (Portuguese, Brazilian)

* New translations main.json (Portuguese, Brazilian)

* New translations setting.json (Vietnamese)

* New translations main.json (Vietnamese)

* New translations setting.json (Chinese Traditional)

* New translations main.json (Turkish)

* New translations main.json (Chinese Traditional)

* New translations setting.json (Chinese Simplified)

* New translations main.json (Chinese Simplified)

* New translations setting.json (Ukrainian)

* New translations main.json (Ukrainian)

* New translations setting.json (Turkish)

* New translations setting.json (Italian)

* New translations setting.json (Afrikaans)

* New translations setting.json (Catalan)

* New translations main.json (Catalan)

* New translations setting.json (Bulgarian)

* New translations main.json (Bulgarian)

* New translations setting.json (Arabic)

* New translations main.json (Arabic)

* New translations main.json (Afrikaans)

* New translations setting.json (Spanish)

* New translations main.json (Spanish)

* New translations setting.json (French)

* New translations main.json (French)

* New translations setting.json (Romanian)

* New translations main.json (Romanian)

* New translations main.json (Czech)

* New translations main.json (Italian)

* New translations setting.json (Hungarian)

* New translations main.json (Hungarian)

* New translations setting.json (Hebrew)

* New translations main.json (Hebrew)

* New translations setting.json (Finnish)

* New translations main.json (Finnish)

* New translations setting.json (Czech)

* New translations setting.json (Greek)

* New translations main.json (Greek)

* New translations setting.json (German)

* New translations main.json (German)

* New translations setting.json (Danish)

* New translations main.json (Danish)

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

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

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

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-14 20:12:40 +00:00
116 changed files with 3140 additions and 965 deletions

7
.gitignore vendored
View File

@@ -26,3 +26,10 @@ app/git
releasenote.md
app/yarn-error.log
app/js/platform/aiscript.js
app/view/es-ES
app/view/fr-FR
app/view/no-NO
app/view/zh-CN
app/view/ru-RU
app/view/zh-TW
app/view/pt-BR

View File

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

View File

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

View File

@@ -1,4 +1,5 @@
const { AiScript, parse, values, utils } = require('@syuilo/aiscript')
global.sanitizeHtml = require('sanitize-html')
global.asValue = values
global.AiScript = AiScript
global.asParse = parse

View File

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

View File

@@ -90,6 +90,15 @@ option {
width: 100%;
height: 100%;
}
#imagewrap img.rotate-90 {
transform: rotate(-90deg)
}
#imagewrap img.rotate-180 {
transform: rotate(-180deg)
}
#imagewrap img.rotate-270 {
transform: rotate(-270deg)
}
.pointer {
cursor: pointer;
}
@@ -568,9 +577,15 @@ textarea {
/*スクロールバー*/
::-webkit-scrollbar {
width: 5px;
height: 10px;
height: 12px;
background: rgba(0, 0, 0, 0.05);
}
.thickScrollBar ::-webkit-scrollbar {
height: 18px;
}
.thinScrollBar ::-webkit-scrollbar {
height: 5px;
}
::-webkit-scrollbar-track {
-webkit-border-radius: 5px;
border-radius: 5px;
@@ -582,6 +597,15 @@ textarea {
background: #607d8b;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
}
::-webkit-scrollbar-thumb::after {
content: '';
position: absolute;
top: 100%;
left: 50%;
margin-left: -15px;
border: 15px solid transparent;
border-top: 15px solid #e0edff;
}
/* Web Fonts */
@font-face {
font-family: 'Open Sans';
@@ -653,3 +677,12 @@ button {
color: white;
z-index: 999;
}
.pluginNex {
width: 2rem;
text-align: center;
}
.pluginNex span {
font-size: 2rem;
position: relative;
top: -4px;
}

View File

@@ -237,7 +237,6 @@ iframe,
flex: 1;
overflow-y: scroll;
overflow-x: hidden;
background-color: var(--bg);
}
.additional {
overflow-x: scroll;
@@ -638,6 +637,7 @@ p:not(:last-child) {
text-align: left;
padding: 5px;
height: 70px;
text-align: center;
}
.notf-exclude-btn:hover {
background-color: inherit !important;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -4,15 +4,38 @@ function getPlugin() {
const json = localStorage.getItem('plugins')
let ret = {
buttonOnPostbox: [],
buttonOnToot: []
buttonOnToot: [],
buttonOnBottom: [],
init: [],
tips: [],
none: []
}
if(!json) return ret
if (!json) return ret
const plugins = JSON.parse(json)
for (let plugin of plugins) {
const meta = getMeta(plugin.content)
if (!meta) continue
const type = meta.event
ret[type] ? ret[type].push(plugin) : ret[type] = [plugin]
if (type === 'buttonOnToot') continue
if (type === 'tips') {
if (meta.interval) {
const matchCID = /custom:([abcdef0-9]{8}-[abcdef0-9]{4}-4[abcdef0-9]{3}-[abcdef0-9]{4}-[abcdef0-9]{12})/
setInterval(function () {
const tipsName = localStorage.getItem('tips')
if (tipsName.match(matchCID)) {
const id = tipsName.match(matchCID)[1]
if (id === plugin.id) if (location.href.split('/').pop() === 'index.html') execPlugin(id, 'tips', null)
}
}, meta.interval)
}
continue
}
const shortcut = meta.shortcut
$(window).keydown(function (e) {
if (e.keyCode === shortcut && e.altKey) execPlugin(plugin.id, type)
})
}
return ret
}
@@ -36,35 +59,23 @@ function initPlugin() {
asCommon['TheDesk:css'] = asValue.FN_NATIVE((z) => {
$(escapeHTML(z[0].value)).css(escapeHTML(z[1].value), escapeHTML(z[2].value))
})
asCommon['TheDesk:api'] = asValue.FN_NATIVE(async (z) => {
try {
if (!getMeta(exe).apiGet && z[0].value == "GET") return asUtil.jsToVal(false)
if (!getMeta(exe).apiPost && (z[0].value == "POST" || z[0].value == "DELETE" || z[0].value == "PUT")) return asUtil.jsToVal(false)
const domain = localStorage.getItem(`domain_${z[3].value}`)
const at = localStorage.getItem(`acct_${z[3].value}_at`)
const start = `https://${domain}/api/${z[1].value}`
const q = {
method: z[0].value,
headers: {
'content-type': 'application/json',
Authorization:
`Bearer ${at}`
}
}
if (z[2]) q.body = z[2].value
const promise = await fetch(start, q)
const json = await promise.json()
return asUtil.jsToVal(json)
} catch (e) {
return asUtil.jsToVal(e)
}
asCommon['TheDesk:openLink'] = asValue.FN_NATIVE((z) => {
postMessage(['openUrl', z[0].value], '*')
})
const { buttonOnPostbox, init } = plugins
const { buttonOnPostbox, init, buttonOnBottom, tips } = plugins
for (let target of buttonOnPostbox) {
const meta = getMeta(target.content)
$('#dropdown2').append(`<li><a onclick="execPlugin('${target.id}','buttonOnPostbox', null);">${escapeHTML(meta.name)}</a></li>`)
}
for (let target of buttonOnBottom) {
const meta = getMeta(target.content)
$('#group .btnsgroup').append(`<a onclick="execPlugin('${target.id}','buttonOnBottom', null);" class="nex waves-effect pluginNex"><span title="${escapeHTML(meta.name)}">${escapeHTML(meta.name).substr(0, 1)}</span></a>`)
}
for (let target of tips) {
const meta = getMeta(target.content)
$('#tips-menu .btnsgroup').append(`<a onclick="tips('custom', '${target.id}')" class="nex waves-effect pluginNex"><span title="${escapeHTML(meta.name)}">${escapeHTML(meta.name).substr(0, 1)}</span></a>`)
}
for (let target of init) {
const as = new AiScript(asCommon)
const meta = getMeta(target.content)
@@ -103,10 +114,21 @@ async function execPlugin(id, source, args) {
`Bearer ${at}`
}
})
const json = await promise.json()
let json = await promise.json()
common.TOOT = asUtil.jsToVal(json)
common['TheDesk:changeText'] = asValue.FN_NATIVE((z) => {
if (getMeta(exe).dangerHtml) $(`[unique-id=${args.id}] .toot`).html(z[0].value)
const v = sanitizeHtml(z[0].value,
{
allowedTags: ['p', 'br', 'a', 'span'],
allowedAttributes: {
'a': ['href', 'class', 'rel', 'target'],
'span': [],
'p': [],
'br': [],
}
}).replace(/href="javascript:/, 'href="').replace(/href='javascript:/, 'href="').replace(/href=javascript:/, 'href="')
json.content = v
if (getMeta(exe).dangerHtml) $(`[unique-id=${args.id}] .toot`).html(parse([json], null, null, null, null, null, null, true))
})
} else if (source == 'buttonOnPostbox') {
const postDt = post(null, false, true)
@@ -131,10 +153,66 @@ async function execPlugin(id, source, args) {
common['TheDesk:postExec'] = asValue.FN_NATIVE(() => {
if (getMeta(exe).apiPost) post()
})
} else if (source == 'tips') {
common['TheDesk:refreshTipsView'] = asValue.FN_NATIVE((z) => {
const v = sanitizeHtml(z[0].value,
{
allowedTags: ['p', 'br', 'a', 'span', 'img'],
allowedAttributes: {
'a': ['href', 'class', 'rel', 'target', 'style'],
'span': ['style'],
'p': ['style'],
'br': [],
'img': ['src', 'style']
}
}).replace(/href="javascript:/, 'href="').replace(/href='javascript:/, 'href="').replace(/href=javascript:/, 'href="')
if (getMeta(exe).dangerHtml) $('#tips-text').html(v)
})
}
common['TheDesk:console'] = asValue.FN_NATIVE((z) => {
console.log(z[0].value)
})
common['TheDesk:api'] = asValue.FN_NATIVE(async (z) => {
try {
if (!getMeta(exe).apiGet && z[0].value == "GET") return asUtil.jsToVal(null)
if (!getMeta(exe).apiPost && (z[0].value == "POST" || z[0].value == "DELETE" || z[0].value == "PUT")) return asUtil.jsToVal(null)
const domain = localStorage.getItem(`domain_${z[3].value}`)
const at = localStorage.getItem(`acct_${z[3].value}_at`)
const start = `https://${domain}/api/${z[1].value}`
const q = {
method: z[0].value,
headers: {
'content-type': 'application/json',
Authorization:
`Bearer ${at}`
}
}
if (z[2]) q.body = z[2].value
const promise = await fetch(start, q)
const json = await promise.json()
return asUtil.jsToVal(json)
} catch (e) {
return asUtil.jsToVal(null)
}
})
common['TheDesk:getRequest'] = asValue.FN_NATIVE(async (z) => {
try {
if (!getMeta(exe).apiGet) return asUtil.jsToVal(null)
const start = `https://${z[0].value}`
const promise = await fetch(start)
let json = null
if (z[1].value) {
json = await promise.json()
} else {
json = await promise.text()
}
return asUtil.jsToVal(json)
} catch (e) {
return asUtil.jsToVal(null)
}
})
const as = new AiScript(common)
if (exe) as.exec(asParse(exe))
}

View File

@@ -339,6 +339,8 @@ function emojiInsert(code, del) {
}
sentence = before + word + after
textarea.value = sentence
textarea.focus()
textarea.setSelectionRange(pos + word.length, pos + word.length)
}
//改行挿入
function brInsert(code) {

View File

@@ -1,5 +1,5 @@
//オブジェクトパーサー(トゥート)
function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
function parse(obj, mix, acct_id, tlid, popup, mutefilter, type, onlyContent) {
var splitter = new GraphemeSplitter()
var templete = ''
if (obj[0]) {
@@ -194,7 +194,8 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
}
var local = []
var times = []
Object.keys(obj).forEach(function (key) {
let content
for (let key in obj) {
var domain = localStorage.getItem('domain_' + acct_id)
var toot = obj[key]
if (type == 'dm') {
@@ -463,9 +464,9 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
}
}
if (toot.content == '') {
var content = ' '
content = ' '
} else {
var content = toot.content
content = toot.content
}
if (content) {
var id = toot.id
@@ -536,7 +537,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
(sent < ct && $.mb_strlen($.strip_tags(content)) > 5) ||
($.mb_strlen($.strip_tags(content)) > ltr && $.mb_strlen($.strip_tags(content)) > 5)
) {
var content = `<span class="gray">${lang.lang_parse_fulltext}</span><br>` + content
content = `<span class="gray">${lang.lang_parse_fulltext}</span><br>` + content
var spoil = `<span class="cw_long">${$.mb_substr(
$.strip_tags(content),
0,
@@ -559,6 +560,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
/https?:\/\/([^+_]+)\/?(?!.*((media|tags)|mentions)).*([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)?/
)
urlsck = content.match(/(https?):\/\/([^<>]*?)\/([^"]*)/g)
content = content.replace(/href="([^"]+)"/g, `href="$1" data-acct="${acct_id}"`)
if (urlsck) {
for (var urlct = 0; urlct < urlsck.length; urlct++) {
var urlindv = urlsck[urlct]
@@ -568,12 +570,11 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var encoded = encodeURI(urlCont[4])
var punycoded = 'xn--' + punycode.encode(urlCont[2])
var eUrl = urlCont[1] + '://' + punycoded + '.' + urlCont[3] + '/' + encoded
var regExp = new RegExp('href="' + urlindv + '"', 'g')
content = content.replace(regExp, 'href="' + eUrl + '"')
var regExp = new RegExp(`href="${urlindv}"`, 'g')
content = content.replace(regExp, `href="${eUrl}"`)
}
}
}
if (urls) {
var analyze = `<a onclick="additionalIndv('${tlid}','${acct_id}','${id}')" class="add-show pointer" aria-hidden="true">
${lang.lang_parse_url}
@@ -1019,12 +1020,13 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
//このトゥート内のアクションを完了させるために、適当にIDを振る
var rand = randomStr(8)
//プラグイン機構
var plugin = plugins.buttonOnToot
var pluginBOT = plugins.buttonOnToot
var pluginHtml = ''
for (let target of plugin) {
for (let target of pluginBOT) {
const meta = getMeta(target.content)
pluginHtml = pluginHtml + `<li><a onclick="execPlugin('${target.id}','buttonOnToot',{id: '${uniqueid}', acct_id: '${acct_id}'});">${escapeHTML(meta.name)}</a></li>`
}
templete =
templete +
`<div
@@ -1176,7 +1178,8 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
</div>
`
}
})
}
if (onlyContent) return content
if (mix == 'mix') {
return [templete, local, times]
} else {

View File

@@ -1464,6 +1464,8 @@ function announ(acct_id, tlid) {
if (ct > 0) {
$('.notf-announ_' + acct_id + '_ct').text(ct)
}
localStorage.setItem('announ_' + acct_id, json[0].id)
} else {
$('.notf-announ_' + acct_id).addClass('hide')
}

View File

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

View File

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

View File

@@ -98,6 +98,10 @@ function settings() {
//読み込み時の設定ロード
function load() {
var currentLang = lang.language
console.log(currentLang)
$(`#langsel-sel`).val(currentLang)
$('#langsel-sel').formSelect()
var max = envView.config.length
for (var i = 0; i < max; i++) {
var ls = envView.config[i].storage
@@ -283,8 +287,10 @@ function oksload() {
$('#oks-3').val(localStorage.getItem('oks-3'))
}
}
function changelang(lang) {
postMessage(['lang', lang], '*')
function changeLang() {
const lang = $('#langsel-sel').val()
console.log(lang)
if(lang) postMessage(['lang', lang], '*')
}
function exportSettings() {
var exp = exportSettingsCore()
@@ -356,8 +362,12 @@ function exportSettingsCore() {
//tags
var tagarr = localStorage.getItem('tag')
var favtag = JSON.parse(tagarr)
exp.favoriteTags = favtag
exp.revisons = 2.1
//plugins
var plugins = localStorage.getItem('plugins')
var plugin = JSON.parse(plugins)
exp.plugins = plugin
exp.revisons = 2.2
exp.meta = {}
exp.meta.date = new Date()
exp.meta.thedesk = localStorage.getItem('ver')
@@ -395,6 +405,7 @@ function importSettingsCore(obj) {
localStorage.setItem('prof_' + key, acct.prof)
localStorage.setItem('domain_' + key, acct.domain)
localStorage.setItem('acct_' + key + '_at', acct.at)
localStorage.setItem('acct_' + key + '_rt', acct.rt ? acct.rt : null)
}
localStorage.setItem('column', JSON.stringify(obj.columns))
if (obj.config) {

View File

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

View File

@@ -19,7 +19,7 @@ function bottomReverse() {
localStorage.setItem('reverse', 'true')
}
}
function tips(mode) {
function tips(mode, custom) {
postMessage(['sendSinmpleIpc', 'endmem'], '*')
clearInterval(clockint)
clearInterval(spotStart)
@@ -57,6 +57,10 @@ function tips(mode) {
tipsToggle()
localStorage.setItem('tips', 'itunes')
itunestips()
} else if (mode == 'custom') {
tipsToggle()
localStorage.setItem('tips', `custom:${custom}`)
execPlugin(custom, 'tips', null)
}
}
//メモリ

View File

@@ -185,6 +185,13 @@ function createWindow() {
mainWindow.maximize()
}
})
mainWindow.webContents.on('page-title-updated', () => {
const url = mainWindow.webContents.getURL()
if(url.match(/https:\/\/crowdin.com\/profile/)) {
app.relaunch()
app.exit()
}
})
if (!packaged) mainWindow.toggleDevTools()
electron.session.defaultSession.clearCache(() => {})
if (process.argv) {
@@ -230,9 +237,12 @@ function createWindow() {
}
const promise = new Promise(function (resolve) {
mainWindow.webContents.send('asReadEnd', '')
let wait = 3000
const url = mainWindow.webContents.getURL()
if(!url.match(/index.html/)) wait = 0
setTimeout(function () {
resolve()
}, 3000)
}, wait)
})
promise.then(function (response) {
closeArg = true

View File

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

Binary file not shown.

Binary file not shown.

View File

@@ -1,6 +1,6 @@
{
"name": "thedesk",
"version": "22.0.0",
"version": "22.1.0",
"codename": "Koume",
"description": "TheDesk is a Mastodon client for PC.",
"repository": "https://github.com/cutls/TheDesk",
@@ -59,17 +59,18 @@
],
"license": "GPL-3.0",
"dependencies": {
"@fortawesome/fontawesome-free": "^5.15.1",
"@fortawesome/fontawesome-free": "^5.15.2",
"@syuilo/aiscript": "^0.11.1",
"electron-dl": "^3.0.2",
"jimp": "^0.16.1",
"jquery": "^3.5.1",
"jquery-ui-dist": "^1.12.1",
"json5": "^2.1.3",
"json5": "^2.2.0",
"lodash": "^4.17.20",
"materialize-css": "git://github.com/cutls/materialize#v1-dev",
"sanitize-html": "^2.3.2",
"sumchecker": "^3.0.1",
"sweetalert2": "^10.10.0",
"sweetalert2": "^10.14.0",
"system-font-families": "^0.4.1",
"vue": "^2.6.12"
},
@@ -78,7 +79,7 @@
},
"devDependencies": {
"browserify": "^17.0.0",
"chokidar": "^3.4.3",
"chokidar": "^3.5.1",
"electron": "^10.1.5",
"electron-builder": "^22.9.1",
"electron-rebuild": "^2.3.2",
@@ -89,7 +90,8 @@
"productName": "TheDesk",
"appId": "top.thedesk",
"asarUnpack": [
"node_modules/itunes-nowplaying-mac"
"node_modules/itunes-nowplaying-mac",
"main/script"
],
"directories": {
"output": "../build"

View File

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

View File

@@ -275,6 +275,9 @@
<li class="mac">
<a onclick="nowplaying('itunes');">NowPlaying (iTunes macOS)</a>
</li>
<li class="mac hide" id="ccnp">
<a onclick="nowplaying('anynp');">NowPlaying (コントロールセンター)</a>
</li>
<li>
<a onclick="nowplaying('lastFm');">NowPlaying (Last.fm)</a>
</li>
@@ -739,6 +742,9 @@
<a class="waves-effect white-text" onclick="zoom(0.5)">
<i class="material-icons">zoom_out</i>
</a>
<a class="waves-effect white-text" onclick="rotate(false)">
<i class="material-icons">rotate_90_degrees_ccw</i>
</a>
<button class="btn waves-effect blue" onclick="copyImgUrl()" title="@@copyURL@@">
<i class="material-icons">link</i>
</button>
@@ -775,18 +781,22 @@
<a href="https://thedesk.top" target="_blank">HP</a><br />
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br />
<br />
<div id="release-22-0-0_Koume" class="release-do" style="display:none; ">
<div id="release-22-1-0_Koume" class="release-do" style="display:none; ">
<br />
<a href="https://ja.mstdn.
wiki/TheDesk" target="_blank">機能一覧</a><br />
Pixiv
FanboxやPatreonでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br />
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
<h5>Release Note 22.0.0 (Koume)</h5>
<h5>Release Note 22.1.0 (Koume)</h5>
<!--上のdivのidも変えてね-->
AiScript TheDesk Pluginの実装 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
・細かいバグの修正 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
Crowdin連携の強化 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
・macOSにおけるNowPlayingで、コントロールセンター経由を追加 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
・Pleroma特有のリフレッシュトークンの実装 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a> <a onclick="udgEx('kPherox@pl.kplerox.dev','main')" class="contributor"><img src="https://user-images.githubusercontent.com/17561618/66582379-a3714800-ebbc-11e9-8402-d81a35a3be9f.png">kPherox</a><br>
・画像の回転ボタン <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
・タグやメンションのリンクの対象アカウントがうまく認識されない不具合を修正 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a> <a onclick="udgEx('popn_ja@popon.pptdn.jp','main')" class="contributor"><img src="https://avatars3.githubusercontent.com/u/24523508?s=88&v=4">kaias1jp</a><br>
・TweetDeck連携を削除 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
</div>
<div id="release-en" style="display:none">
<h5>Let's make it native!</h5>

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Отворете DevCenter на Misskey. Ние показваме официални документи, на които се позоваваме.",
"lang_manager_logout": "Излизане",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk разглежда \"@\" като отговор, но поставя друг параметър. Ако не е включено в Mastodon това означава, че е в Home на Misskey.",
"lang_emoji_get": "Вземи емотикони",
"lang_emoji_custom": "Персонализирани емотикони",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Непрочетени",
"lang_layout_tagManager": "Мениджър на таговете на времевата линия",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Отидете в тази колона",
"lang_sort_remthis": "Премахване на тази колона",
"lang_spotify_img": "Добавете към албум произведенията на изкуството",

View File

@@ -67,10 +67,8 @@
"add_new": "Добавяне на нов",
"name": "Име",
"desc": "Относно тази тема",
"customShare": "Споделете този код с друг TheDesk. Не споделяйте този код с MiAS.",
"customImport": "Импортиране на персонализирани теми",
"delete": "Изтрий",
"cImpWarn": "Вземете още теми от <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Предпочитания за времевата линия",
"timemode": "Времеви формат",
"relativetime": "Относителен формат: „преди 1 минута“, „преди 3 дни“",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Otevřené vývojářské centrum softwaru Misskey. Zobrazujeme také oficiální dokumentaci.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk považuje „@“ za odpověď, ale vkládá ho do jiných parametrů. „Neuvedeno“ na Mastodonu znamená „Domů“ na Misskey.",
"lang_emoji_get": "Získat emoji",
"lang_emoji_custom": "Vlastní emoji",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Časový formát",
"relativetime": "Relativní formát: „před 1 minutou“, „před 3 dny“",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -17,7 +17,7 @@
"safety": "Verbindung",
"ver": "Mastodon Version",
"ko": "",
"thisismisskey": "Als Misskey anmelden",
"thisismisskey": "Login als Misskey",
"misskeylogin": "Lies die <a href=\"https://thedesk.top/how-to-misskey-login.html\">Doku (japanisch)</a> um dich bei Misskey einzuloggen.",
"nodata": "Keine Daten",
"accessTokenSetup": "Benutze Zugangs-Token zum Anmelden (Klicke nach Ausfüllen nicht den Code, sondern den Access-Token im Kästchen: Erweitert)",

View File

@@ -47,7 +47,7 @@
"thingsEmoji": "Emojis vom Werkzeugen",
"symbolEmoji": "Emojis von Symbolen",
"flagsEmoji": "Emojis der Flaggen",
"draft": "Draft",
"draft": "Entwurf",
"poll": "Umfrage",
"pollDdisabled": "Umfragen: Deaktiviert",
"pollProvider": "Anbieter von Umfragen",

View File

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

View File

@@ -20,7 +20,7 @@
"theme": "Designs",
"popup": "Popup-Benachrichtigung(unter Windows)",
"popupwarn": "Bei \"0\" Ausgeschaltet.",
"s": "Sek",
"s": "Sekunden",
"nativenotf": "System Benachrichtigungen",
"nnwarn": "Dies funktioniert nicht mit der Portablen Windows Version.",
"nntest": "Benachrichtigungen testen",
@@ -48,12 +48,12 @@
"customthemeDirection": "Farbschema",
"advanced": "Erweiterte Einstellungen",
"advancedWarn": "",
"use": "Use this",
"use": "Benutze dies",
"copyFrom": "Kopieren von",
"bg": "Hintergrundfarbe",
"subcolor": "Distinguishable from background",
"subcolor": "Vom Hintergrund unterscheidbar",
"text": "Textfarbe",
"accent": "Hintergrund des Boosts",
"accent": "Hintergrund der Boosts",
"modal": "Background of modal window",
"modalFooter": "Background of modal window's footer",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)",
@@ -67,10 +67,8 @@
"add_new": "Neues hinzufügen",
"name": "Name",
"desc": "Über dieses Design",
"customShare": "Teilen Sie diesen Code mit anderen TheDesk. Teilen Sie diesen Code nicht mit MiAS.",
"customImport": "Import von eigenen Designs",
"delete": "Löschen",
"cImpWarn": "Mehr Designs auf: <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Verlaufseinstellungen",
"timemode": "Zeitformat",
"relativetime": "Relatives Format:\"vor 1 Minuten\",\"vor 3 Tagen\"",
@@ -144,6 +142,10 @@
"notqt": "Deaktiviert (Taste in Verlauf ausgeblendet)",
"apiQuote": "API(nur einige Instanzen)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Standard-Konto für Aktionen",
"mainwarn": "Das Hauptkonto kann in der Kontoverwaltung gestellt werden.",
"lastacct": "Konto, das Sie kürzlich verwendet haben",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "crwdns3504:0crwdne3504:0",
"lang_manager_logout": "crwdns3506:0crwdne3506:0",
"lang_manager_maxChars": "crwdns4447:0crwdne4447:0",
"lang_manager_refreshAt": "crwdns4570:0crwdne4570:0",
"lang_bbmd_misskey": "crwdns3508:0crwdne3508:0",
"lang_emoji_get": "crwdns3510:0crwdne3510:0",
"lang_emoji_custom": "crwdns3512:0crwdne3512:0",
@@ -153,6 +154,7 @@
"lang_layout_unread": "crwdns3674:0crwdne3674:0",
"lang_layout_tagManager": "crwdns4411:0crwdne4411:0",
"lang_layout_announ": "crwdns4449:0crwdne4449:0",
"lang_layout_resetWidth": "crwdns4560:0crwdne4560:0",
"lang_sort_gothis": "crwdns3676:0crwdne3676:0",
"lang_sort_remthis": "crwdns3678:0crwdne3678:0",
"lang_spotify_img": "crwdns3680:0crwdne3680:0",

View File

@@ -67,10 +67,8 @@
"add_new": "crwdns3988:0crwdne3988:0",
"name": "crwdns3990:0crwdne3990:0",
"desc": "crwdns3992:0crwdne3992:0",
"customShare": "crwdns3994:0crwdne3994:0",
"customImport": "crwdns3996:0crwdne3996:0",
"delete": "crwdns3998:0crwdne3998:0",
"cImpWarn": "crwdns4000:0crwdne4000:0",
"timeline": "crwdns4002:0crwdne4002:0",
"timemode": "crwdns4004:0crwdne4004:0",
"relativetime": "crwdns4006:0crwdne4006:0",
@@ -144,6 +142,10 @@
"notqt": "crwdns4138:0crwdne4138:0",
"apiQuote": "crwdns4140:0crwdne4140:0",
"showBookmarkAction": "crwdns4404:0crwdne4404:0",
"scrollBar": "crwdns4562:0crwdne4562:0",
"thin": "crwdns4564:0crwdne4564:0",
"normal": "crwdns4566:0crwdne4566:0",
"thick": "crwdns4568:0crwdne4568:0",
"main": "crwdns4142:0crwdne4142:0",
"mainwarn": "crwdns4144:0crwdne4144:0",
"lastacct": "crwdns4146:0crwdne4146:0",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Abrí DevCenter de Misskey. También mostramos documentos oficiales como referencia.",
"lang_manager_logout": "Cerrar sesión",
"lang_manager_maxChars": "Máx. de caracteres para toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk considera \"@\" como respuesta, pero podés poner otro parámetro. \"No listado\" en Mastodon significa \"Principal\" en Misskey.",
"lang_emoji_get": "Obtené emojis",
"lang_emoji_custom": "Emojis personalizados",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Sin leer",
"lang_layout_tagManager": "Administrador de etiqueta de línea temporal",
"lang_layout_announ": "Anuncio: el contador es el número de tus anuncios no leídos. Si no se muestra, significa que todos los anuncios están marcados como leídos.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Ir a esta columna",
"lang_sort_remthis": "Eliminar esta columna",
"lang_spotify_img": "Adjuntar la tapa del álbum",

View File

@@ -67,10 +67,8 @@
"add_new": "Agregar nuevo",
"name": "Nombre",
"desc": "Acerca de este tema",
"customShare": "Compartí este código con otros usuarios de TheDesk. No se comparte este código en MiAS.",
"customImport": "Importación de temas personalizados",
"delete": "Eliminar",
"cImpWarn": "Obtené más temas en<a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Configuración de la línea temporal",
"timemode": "Formato del tiempo",
"relativetime": "Formato relativo: \"hace 1 minuto\", \"hace 3 días\"",
@@ -144,6 +142,10 @@
"notqt": "Deshabilitado (ocultar botones en las líneas temporales)",
"apiQuote": "API (sólo algunas instancias)",
"showBookmarkAction": "Mostrar un botón de marcador",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Acciones de cuenta predeterminada",
"mainwarn": "Se puede establecer la cuenta predeterminada en el Administrador de cuentas.",
"lastacct": "Cuenta usada recientemente",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -7,7 +7,7 @@
"codesetup": "Code setup",
"mainacct": "Main an account",
"selacct": "Choisir un compte",
"codepastewarn": "Paste the code and close browser.",
"codepastewarn": "Insérer le code et fermez le navigateur.",
"codepaste": "Code",
"domain": "Domaine",
"connect": "Serveur fédérées",
@@ -17,9 +17,9 @@
"safety": "Connection",
"ver": "Version de Mastodon",
"ko": "",
"thisismisskey": "Login as Misskey",
"thisismisskey": "Connexion en tant que Misskey",
"misskeylogin": "Read <a href=\"https://thedesk.top/how-to-misskey-login.html\">Docs(ja)</a> to login Misskey.",
"nodata": "No data",
"nodata": "Aucune donnée",
"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"
}

View File

@@ -9,7 +9,7 @@
"lang_edit": "Modifier",
"lang_del": "Supprimer",
"lang_add": "Ajouter",
"lang_fatalerroroccured": "Error",
"lang_fatalerroroccured": "Erreur",
"lang_speech": "Google U.S en anglais",
"lang_lang": "Langue",
"lang_langlocale": "Anglais",
@@ -28,11 +28,11 @@
"lang_time_hours": "%d h",
"lang_time_day": "1 d",
"lang_time_days": "%d d",
"lang_time_month": "1 month",
"lang_time_months": "%d months",
"lang_time_month": "1 mois",
"lang_time_months": "%d mois",
"lang_time_year": "y",
"lang_time_years": "%d y",
"lang_version_usever": "No update is found({{ver}})",
"lang_version_usever": "Aucune mise à jour n'a été trouvée ({{ver}})",
"lang_version_skipver": "La mise à jour a été ignorée.",
"lang_version_platform": "Do you want auto-updates?(users installed on Microsoft Store select 'No')",
"lang_version_platform_linux": "Do you want auto-updates?(users installed on Snapcraft select 'No')",
@@ -48,17 +48,18 @@
"lang_manager_none": "Aucun",
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Se déconnecter",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_maxChars": "Nombre maximum de caractères de pouets",
"lang_manager_refreshAt": "Se connecter avec ce domaine",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Téléchargez les émojis",
"lang_emoji_custom": "Émojis personnalisés",
"lang_defaultemojis_text": "Emojis about {{cat}}",
"lang_emoji_uncat": "Uncategorized",
"lang_postimg_previewdis": "cannot preview",
"lang_emoji_uncat": "Non catégori",
"lang_postimg_previewdis": "impossible de prévisualiser",
"lang_postimg_aftupload": "You cannot change accounts after uploading.",
"lang_postimg_failupload": "Failed",
"lang_postimg_failupload": "Échec",
"lang_postimg_delete": "Click to add description, right-click to delete this",
"lang_postimg_desc": "Description",
"lang_postimg_desc": "Déscription",
"lang_postimg_leadContext": "right-click the thumbnail to delete this",
"lang_post_syncDetail": "Upload media synchronously",
"lang_post_syncDetailText": "Click each picture icon to get the thumbnail. If you can get, the media you uploaded are completely processed.",
@@ -89,7 +90,7 @@
"lang_status_followers": "Followers",
"lang_status_active": "Last status",
"lang_secure_draft": "Add to draft",
"lang_secure_useThis": "Use this",
"lang_secure_useThis": "Utiliser ceci",
"lang_secure_deleteThis": "Supprimer ce pouet",
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -48,12 +48,12 @@
"customthemeDirection": "Jeu de couleurs",
"advanced": "Options avancées",
"advancedWarn": "",
"use": "Use this",
"use": "Utiliser ceci",
"copyFrom": "Copier depuis",
"bg": "Couleur de l'arrière-plan",
"subcolor": "Distinguishable from background",
"text": "Couleur du texte",
"accent": "Background of boosts",
"accent": "Arrière-plan des boosts",
"modal": "Background of modal window",
"modalFooter": "Background of modal window's footer",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)",
@@ -67,10 +67,8 @@
"add_new": "Ajouter",
"name": "Nom",
"desc": "À propos de ce thème",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Supprimer",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Format de lheure",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API (seulement certaines instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

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

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Apri DevCenter di Misskey. Mostriamo anche un documento ufficiale da riferire.",
"lang_manager_logout": "Esci",
"lang_manager_maxChars": "Max caratteri dei toot",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk considera \"@\" come risposta, ma mettere altri parametri. Non elencato su Mastodon significa Home su Misskey.",
"lang_emoji_get": "Ottieni emoji",
"lang_emoji_custom": "Emoji personalizzate",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Non Letta",
"lang_layout_tagManager": "Gestore timeline tag",
"lang_layout_announ": "Annuncio: il contatore è il numero dei tuoi annunci non letti. Se non mostrato, significa che gli annunci sono tutti contrassegnati come letti.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Vai a questa colonna",
"lang_sort_remthis": "Elimina questa colonna",
"lang_spotify_img": "Allega una copertina album",

View File

@@ -67,10 +67,8 @@
"add_new": "Aggiungi nuovo",
"name": "Nome",
"desc": "Informazioni su questo tema",
"customShare": "Condividi questo codice con altri TheDesk. Non condividere questo codice con MiAS.",
"customImport": "Importa temi personalizzati",
"delete": "Elimina",
"cImpWarn": "Ottieni altri temi su <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Preferenze Della Timeline",
"timemode": "Formato orario",
"relativetime": "Formato relativo:\"1 minuti fa\",\"3 giorni fa\"",
@@ -144,6 +142,10 @@
"notqt": "Disattivato(Migliore sui TL)",
"apiQuote": "API(solo alcuni casi)",
"showBookmarkAction": "Mostra un pulsante toot per segnalibri",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Account predefiniti delle azioni",
"mainwarn": "L'account principale può essere impostato su Account Manager.",
"lastacct": "Account utilizzato di recente",

View File

@@ -48,6 +48,7 @@
"lang_manager_none": "なし",
"lang_manager_godev": "",
"lang_manager_logout": "ログアウト",
"lang_manager_refreshAt": "このドメインでログイン",
"lang_bbmd_misskey": "TheDeskのMisskeyは、@を返信として扱うけんど、全ての@はなおされて別パラメータになってまう。ついでに、「未収載」は「ホーム」扱いや。",
"lang_emoji_get": "絵文字リスト引っ張ってくる",
"lang_emoji_custom": "カスタム絵文字",
@@ -152,6 +153,7 @@
"lang_layout_unread": "未読",
"lang_layout_tagManager": "タグタイムラインをいじる",
"lang_layout_announ": "お知らせ: 数字は未読数や。表示されてんときはもう読んでしもたいうことやな。",
"lang_layout_resetWidth": "横幅自動調節",
"lang_sort_gothis": "このカラムへ",
"lang_sort_remthis": "このカラムを消す",
"lang_spotify_img": "アルバムアートワークを付けるで。",

View File

@@ -66,10 +66,8 @@
"add_new": "新規作成",
"name": "名前",
"desc": "説明",
"customShare": "このコードは他のTheDeskなどとシェアできるけこのコードをMiASに貼るのはあかん。詳細:<a href=\"https://thedesk.top/mias.html\" target=\"_blank\">テーマ互換性</a>",
"customImport": "カスタムテーマのインポート",
"delete": "削除",
"cImpWarn": "<a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>上の80を超えるテーマを張っ付けることもできる。",
"timeline": "タイムラインの設定",
"timemode": "時間表記設定",
"relativetime": "相対時間の例:\"1分前\",\"3日前\"",
@@ -142,6 +140,10 @@
"full": "本文・URL・アカウント名",
"notqt": "使わない(TL上にボタンも出さん)",
"apiQuote": "パラメーター(対応インスタンス)",
"scrollBar": "スクロールバーの太さ",
"thin": "スリム",
"normal": "並",
"thick": "ごっつい",
"main": "投稿後や起動時のアカウント",
"mainwarn": "メインアカウントはアカウント設定で選んどいてな。投稿以外のアカウント選択もこれ使うで。",
"lastacct": "最後に使用したアカウント",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "MisskeyのDevセンターに移動します。同時に開かれるドキュメントを参考にログインしてください。",
"lang_manager_logout": "ログアウト",
"lang_manager_maxChars": "投稿最大文字数",
"lang_manager_refreshAt": "このドメインでログイン",
"lang_bbmd_misskey": "TheDeskにおけるMisskeyでは、@を返信として扱いますが、全ての@は消去され別パラメータに入力されます。また、「未収載」を「ホーム」として扱います。",
"lang_emoji_get": "絵文字リストを取得",
"lang_emoji_custom": "カスタム絵文字",
@@ -154,6 +155,7 @@
"lang_layout_unread": "未読",
"lang_layout_tagManager": "タグタイムラインの編集",
"lang_layout_announ": "お知らせ: 数字は未読数を表します。表示されていない場合は全て既読です。",
"lang_layout_resetWidth": "横幅自動調節",
"lang_sort_gothis": "このカラムへ",
"lang_sort_remthis": "このカラムを削除",
"lang_spotify_img": "アルバムアートワークを添付します。",

View File

@@ -67,10 +67,8 @@
"add_new": "新規作成",
"name": "名前",
"desc": "説明",
"customShare": "このコードは他のTheDeskなどとシェアできます。このコードをMiASに貼ることはご遠慮ください。詳細:<a href=\"https://thedesk.top/mias.html\" target=\"_blank\">テーマ互換性</a>",
"customImport": "カスタムテーマのインポート",
"delete": "削除",
"cImpWarn": "<a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>上の80を超えるテーマを張り付けることもできます。",
"timeline": "タイムラインの設定",
"timemode": "時間表記設定",
"relativetime": "相対時間の例:\"1分前\",\"3日前\"",
@@ -144,6 +142,10 @@
"notqt": "使わない(TL上にボタンも表示されません)",
"apiQuote": "パラメーター(対応インスタンス)",
"showBookmarkAction": "アクションボタンとしてブックマークを表示する",
"scrollBar": "スクロールバーの太さ",
"thin": "細い",
"normal": "普通",
"thick": "太い",
"main": "投稿後や起動時のアカウント",
"mainwarn": "メインアカウントはアカウント設定で指定できます。投稿以外のアカウント選択にも影響します。",
"lastacct": "最後に使用したアカウント",

View File

@@ -0,0 +1,25 @@
{
"list": "List of accounts",
"back": "Back",
"add": "Add an account",
"addAcct": "Fill the instance domain (like mastodon.social)",
"codesetupwarn": "Uncheck it to skip pasiting code.(login to Mastodon on Windows or macOS) (Recommended: pcheck)",
"codesetup": "Code setup",
"mainacct": "Main an account",
"selacct": "Select an account",
"codepastewarn": "Paste the code and close browser.",
"codepaste": "Code",
"domain": "Domain",
"connect": "Federated servers",
"toots": "Toots",
"users": "Users",
"users2": "users",
"safety": "Connection",
"ver": "Mastodon version",
"ko": "",
"thisismisskey": "Login as Misskey",
"misskeylogin": "Read <a href=\"https://thedesk.top/how-to-misskey-login.html\">Docs(ja)</a> to login Misskey.",
"nodata": "No data",
"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"
}

View File

@@ -0,0 +1,191 @@
{
"draghere": "Drag here to upload",
"nowOffline": "OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet",
"reOnline": "Now we are in the Internet, you should reload...",
"close": "Close",
"webSrc": "Search on Web",
"tsSrc": "Search on tootsearch",
"showSelectProf": "Show profile of the selecting account",
"closethisbox": "Close this box",
"toot": "Toot",
"post-new": "Post new",
"nsfwDes": "Mark media as sensitive",
"cwDes": "Hide text behind warning",
"selfile": "Attach..",
"insertEmoji": "Emojis",
"schedule": "Scheduled toot",
"postat": "Post at",
"scheduleWarn": "2.7.0~ Minimum time gap:5min(clock on the server may not be accurate.)",
"clearToot": "Clear toot box",
"replyMode": "Reply",
"no": "No",
"yes": "Yes",
"temp": "Attaching files",
"nothing": "None",
"stamp": "Stamp",
"stampWarn": "Your acct(aa@bb.cc) is printed on the right-bottom of the uploaded image",
"vis": "Adjust status privacy",
"cwtext": "Warning text",
"selectVis": "Adjust status privacy",
"publicJP": "",
"unlistedJP": "",
"privateJP": "",
"localJP": "Local only",
"sectoot": "Secondary Toot",
"directJP": "",
"emojiWarn": "",
"emojiInsertWarn": "Some emojis are not able to be inserted.",
"refreshEmoji": "Refresh emojis list",
"closeThisBox": "Close this box",
"showThisEmoji": " are shown.",
"customEmoji": "Custom emojis",
"peopleEmoji": "Emojis of people",
"natureEmoji": "Emojis of nature",
"foodEmoji": "Emojis of foods",
"activityEmoji": "Emojis of activities",
"placeEmoji": "Emojis of places",
"thingsEmoji": "Emojis of tools",
"symbolEmoji": "Emojis of symbols",
"flagsEmoji": "Emojis of flags",
"draft": "Draft",
"poll": "Poll",
"pollDdisabled": "Polls: Disabled",
"pollProvider": "Provider of Poll",
"polluntil": "Hide 'votes' count until people vote it.",
"choice": "Choice",
"pollmulti": "Multiple select",
"expires_in": "Expires in...(sec)",
"contextBefore": "Context before this toot",
"thisToot": "This toot",
"contextAfter": "Context after this toot",
"beforeLTL": "Local TL before this toot",
"beforeUTL": "User TL before this toot",
"afterLTL": "Local TL after this toot)",
"afterUTL": "User TL before this toot",
"afterFTL": "Federated TL after this toot",
"favedPeople": "People who favourited it",
"btedPeople": "People who boosted it",
"useOtherAcct1": "Use other account",
"useOtherAcct2": ":unfav and unBT are disabled.",
"btWithVis": "Boost with visibility",
"reply": "Reply",
"bt": "Boost",
"favRegist": "Favourite",
"openBrowser": "Open in browser",
"screenshot": "Take a screenshot",
"copyURL": "Copy the URL",
"embed": "Embed",
"toots": "Toots",
"follow": "Follow",
"follower": "Follower",
"utlColumn": "Show as a column",
"timeline": "Timeline",
"operateOtherAcct": "Cross-account",
"list": "List",
"makeNew": "Save",
"blocks": "Blocks",
"mutes": "Mutes",
"block": "Block",
"mute": "Mute",
"domainBlock": "Domain block",
"editProf": "Edit profile",
"change": "Save",
"followReq": "Follow requests",
"likeHimOrHer": "Resembling",
"endorse": "Feature on profile",
"openinbrowser": "Open in browser",
"mainacct": "Set it an main account",
"frc": "Suggest",
"more": "More",
"revoverJP": " to ",
"warnUseOtherAcct": "(Unable to unfollow)",
"revoverJPde": "",
"or": "or",
"openProf": "Show profile",
"warnListRegist": "Follow to add this user to lists.",
"blockDomain": "Add blocking domain",
"name": "Display name",
"note": "Note",
"editProfImg": "Change avataor",
"editHeader": "Change header image",
"blocked": "You are blocked. Why?",
"likeUserDes": "Get people resembling this user.",
"get": "Get",
"historyBack": "Back",
"empUser": "Emphasize this user",
"supportme": "Support TheDesk!",
"TheDeskDes": "TheDesk has no ad, you need no charge to unlock premium features. We need your friendly support!",
"PatreonSupport": "Support on Patreon",
"PixivSupport": "Support on Pixiv FANBOX",
"AWLSupport": "Amazon Wish List",
"SendAmazonGift1": "Give me Amazon Gift Card:",
"SendAmazonGift2": "",
"monthly": "Monthly",
"once": "Once",
"local": "Local",
"localMedia": "Local(Media)",
"home": "Home",
"fed": "Federated",
"fedMedia": "Federated(Media)",
"dm": "Direct Message",
"integratedTLDes": "Integrated(Local/Home)",
"localPlusDes": "LTL+Reply+BT",
"notf": "Notifications",
"bookmark": "Bookmarks",
"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>).",
"add": "Add",
"search": "Search",
"sortSet": "Sort",
"selectAcct": "Account(Scroll to show all)",
"listLocale": "List",
"filterWord": "Filtering words",
"degree": "Filter contexts",
"conver": "Conversations",
"prof": "Profiles",
"option": "Options",
"matchWord": "Whole word",
"warnMatchWord": "Nice for Latin language",
"except": "Drop instead of hide",
"exceptWorn": "Filtered toots will disappear irreversibly, even if filter is later removed",
"avalableBefore": "Expire after",
"warnAvBefore": "Unset or \"0\" means \"Never\"",
"warnAvBefore2": "This value may contain some error",
"unlimited": "Never",
"days": "day(s)",
"hours": "hour(s)",
"mins": "minute(s)",
"secs": "second(s)",
"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>",
"addColumn": "Add a column",
"sortColumns": "Sort",
"acctMan": "Account Manager",
"filter": "Filter",
"setting": "Preferences",
"reverse": "Toot button layout reverse",
"f5": "Reload TL",
"nanoDes": "The smallest Mastodon,",
"verTips": "Version",
"clockTips": "Clock",
"ramTips": "RAM status",
"changeTips": "Change Tips",
"helpAndLogs": "Help & Log",
"help": "Help",
"contactwithlog": "If you tell me bugs(not working or something) with this log, I can detect what is wrong more easily.",
"about": "About TheDesk",
"hereAddColumns": "<- Add TL",
"foundBug": "I found a bug",
"show": "Show",
"directory": "Directory",
"active": "Recently active",
"newcomer": "New arrivals",
"local_only": "Local only",
"menu": "Menu",
"demoBottomBtns": "Welcome guide",
"lookAtBottom": "Look at the bottom of this window. Here is some tips about it.",
"acctManDesc": "Add more accounts and logout them.",
"settingDesc": "Many and many preferences here. You will couldn't check it all!",
"nanoDescPlus": "Mini window client(experimental)",
"menuDesc": "All daily TheDesk and Mastodon tuning like <b>add and sort columns</b>, <b>list and filter check</b>."
}

View File

@@ -0,0 +1,291 @@
{
"language": "en",
"lang_toot": "Toot",
"lang_there": "Yes",
"lang_nothing": "None",
"lang_yesno": "Yes",
"lang_no": "No",
"lang_progress": "Wait...",
"lang_edit": "Edit",
"lang_del": "Delete",
"lang_add": "Add",
"lang_fatalerroroccured": "Error",
"lang_speech": "Google US English",
"lang_lang": "Language",
"lang_langlocale": "English",
"lang_back": "Back",
"lang_set": "Set",
"lang_langadd": "Translate TheDesk to other languages or proofread TheDesk on <a href=\"https://github.com/cutls/TheDesk\" target=\"_blank\">GitHub</a>. TheDesk needs your help.",
"lang_time_prefixAgo": null,
"lang_time_prefixFromNow": null,
"lang_time_suffixAgo": null,
"lang_time_suffixFromNow": null,
"lang_time_inPast": null,
"lang_time_seconds": "%d s",
"lang_time_minute": "1 m",
"lang_time_minutes": "%d m",
"lang_time_hour": "1 h",
"lang_time_hours": "%d h",
"lang_time_day": "1 d",
"lang_time_days": "%d d",
"lang_time_month": "1 month",
"lang_time_months": "%d months",
"lang_time_year": "y",
"lang_time_years": "%d y",
"lang_version_usever": "No update is found({{ver}})",
"lang_version_skipver": "Update was ignored.",
"lang_version_platform": "Do you want auto-updates?(users installed on Microsoft Store select 'No')",
"lang_version_platform_linux": "Do you want auto-updates?(users installed on Snapcraft select 'No')",
"lang_version_platform_mac": "Do you want auto-updates?(Homebrew Cask users select 'No')",
"lang_login_noauth": "Show TL of unlogined accounts",
"lang_manager_info": "About this instance",
"lang_manager_refresh": "Refresh",
"lang_manager_delete": "Logout",
"lang_manager_color": "Account Color",
"lang_manager_confirm": "is about to logout. Continue?",
"lang_manager_mainAcct": "Done:choose main account",
"lang_manager_def": "Default",
"lang_manager_none": "None",
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
"lang_defaultemojis_text": "Emojis about {{cat}}",
"lang_emoji_uncat": "Uncategorized",
"lang_postimg_previewdis": "cannot preview",
"lang_postimg_aftupload": "You cannot change accounts after uploading.",
"lang_postimg_failupload": "Failed",
"lang_postimg_delete": "Click to add description, right-click to delete this",
"lang_postimg_desc": "Description",
"lang_postimg_leadContext": "right-click the thumbnail to delete this",
"lang_post_syncDetail": "Upload media synchronously",
"lang_post_syncDetailText": "Click each picture icon to get the thumbnail. If you can get, the media you uploaded are completely processed.",
"lang_post_tagTL": "This toot does not contain a default tag. This toot will not be shown on Local TL. Continue?",
"lang_post_tagVis": "This toot(not 'public' toot) is not shown on this tag's TL.",
"lang_post_cwtitle": "Auto CW Alert",
"lang_post_cwtxt": "You are about to post longer toot than you set.\nWarning text:",
"lang_post_btn1": "Cancel (will not post)",
"lang_post_btn2": "Make text hidden automatically",
"lang_post_btn3": "Continue to post",
"lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.",
"lang_post_retry": "Retry",
"lang_post_offline": "Add to the drafts because of offline",
"lang_status_favWarn": "It will take a miunte to favourite a remote toot.",
"lang_status_btWarn": "It will take a miunte to boost a remote toot.",
"lang_status_follow": "Follow",
"lang_status_unfollow": "Unfollow",
"lang_status_block": "Block",
"lang_status_unblock": "Unblock",
"lang_status_mute": "Mute",
"lang_status_unmute": "Unmute",
"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_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_unendorse": "Not feature on profile",
"lang_status_endorse": "Feature on profile",
"lang_status_followers": "Followers",
"lang_status_active": "Last status",
"lang_secure_draft": "Add to draft",
"lang_secure_useThis": "Use this",
"lang_secure_deleteThis": "Delete this",
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_trusted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untrusted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
"lang_details_url": "URL of this toot is cliped.",
"lang_details_txt": "Content of this toot is cliped.",
"lang_filter_nodata": "No data",
"lang_filter_errordegree": "Please check a context",
"lang_list_nodata": "No data",
"lang_list_show": "Show",
"lang_list_users": "Users list",
"lang_list_nouser": "No users in this list.",
"lang_list_add": "Add to the list",
"lang_list_add_misskey": "(perhaps this user has been listed)",
"lang_list_remove": "Remove from the list",
"lang_notf_new": " new notifications",
"lang_speech_refresh": "Save value about TTS config",
"lang_src_ts": "chronological order",
"lang_src_people": " people toot",
"lang_tags_always": "Always toots with ",
"lang_tags_realtime": "Tag-stream toot",
"lang_tags_tagunpin": "Unpin {{tag}}",
"lang_tags_unrealtime": "Disable TsT",
"lang_tags_tagwarn": "Auto complete {{tag}}, if toot without {{tag}}",
"lang_tl_media": "Media",
"lang_tl_reconnect": "Reconnect to streaming API",
"lang_tl_postmarkers_title": "Process...",
"lang_tl_postmarkers": "POST markers data. Please wait",
"lang_img_DLDone": "Downloaded:",
"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_thisacct": "{{notf}} of this account",
"lang_layout_delthis": "Remove this column",
"lang_layout_setthis": "Preferences of this column",
"lang_layout_mediafil": "Media filtering",
"lang_layout_remoteOnly": "Remote only",
"lang_layout_linkana": "Auto Link Analyzer",
"lang_layout_linkanades": "Auto link analyzer",
"lang_layout_tts": "Text to speech ",
"lang_layout_reconnect": "Reload",
"lang_layout_headercolor": "Header color of this column",
"lang_layout_nodata": "[No data]<br>F5/⌘+R to reload",
"lang_layout_dm": "Direct Message",
"lang_layout_webviewmode": "Prefer WebView",
"lang_layout_excluded": "Excluded type of notification",
"lang_layout_mention": "Mentions",
"lang_layout_fav": "Favourites",
"lang_layout_bt": "Boosts",
"lang_layout_poll": "Polls",
"lang_layout_excludingbt": "Show BT mode",
"lang_layout_leftFold": "Stack to the left",
"lang_layout_leftUnfold": "Dock on the right",
"lang_layout_deleteColumn": "Delete this column",
"lang_layout_deleteColumnDesc": "Delete this column",
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",
"lang_spotify_imgno": "Not attach an album artwork",
"lang_spotify_acct": "Connect TheDesk to Spotify",
"lang_spotify_np": "Done:templete of NowPlaying",
"lang_setting_npprovide": "NowPlaying provider:{{set}}",
"lang_hisdata_frcreq": "Required Mastodon 2.4.3 and above",
"lang_hisdata_frcwarn": "Unfollow accounts will be shown.",
"lang_hisdata_taketime": "It will take 30s ~ several minutes",
"lang_hisdata_notonmisskey": "Misskey is unable to request.",
"lang_hisdata_key": "This user is proofed by {{set}}",
"lang_showontl_movetxt": "This account was moved",
"lang_showontl_movebtn": "Continue on the new account",
"lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Following you",
"lang_parse_request": "Follow request",
"lang_showontl_notf": "Notification ",
"lang_showontl_domain": "Domain ",
"lang_showontl_listwarn": "Follow to add this user to lists.",
"lang_showontl_verified": "This website is verified by owner at ",
"lang_status_requesting": "Requesting",
"lang_parse_mentioned": " replied to you",
"lang_parse_faved": " favourited your toot",
"lang_parse_bted": " boosted your toot",
"lang_parse_btedsimple": " boosted",
"lang_parse_polled": "'s poll",
"lang_parse_notftime": "Actioned at",
"lang_parse_cwshow": "Show",
"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_autofold": "Auto folded",
"lang_parse_more": "More",
"lang_parse_url": "URL Analyzer",
"lang_parse_tagTL": "Timeline of {{tag}}",
"lang_parse_tagtoot": "Toot with {{tag}}",
"lang_parse_tagpin": "Pin {{tag}}",
"lang_parse_public": "Public",
"lang_parse_unlisted": "Unlisted",
"lang_parse_private": "Private",
"lang_parse_direct": "Direct",
"lang_parse_clickcopy": "Click to copy text of this toot",
"lang_parse_clickcopyurl": "Click to copy URL of this toot",
"lang_parse_trans": "Translate to English",
"lang_parse_replyto": "Reply to this toot",
"lang_parse_bt": "Boost this toot",
"lang_parse_fav": "Favourite this toot",
"lang_parse_quote": "Quote this toot",
"lang_parse_bookmark": "Bookmark this",
"lang_parse_unbookmark": "Unbookmark this",
"lang_parse_del": "Delete this",
"lang_parse_pin": "Pin this",
"lang_parse_unpin": "Unpin this",
"lang_parse_link": "Open in a browser",
"lang_parse_det": "Details via your main account.",
"lang_parse_detail": "Details",
"lang_parse_redraft": "Delete & re-draft",
"lang_parse_followed": "Followed you",
"lang_parse_moved": "Moved to...",
"lang_parse_clientop": "Operation of this client",
"lang_parse_clienttxt": " will be",
"lang_parse_clientno": "done nothing",
"lang_parse_clientemp": "emphasized(/not emphasized)",
"lang_parse_clientmute": "muted",
"lang_parse_mute": " will be muted. You can remove on preferences.",
"lang_parse_voted": "(Voted)",
"lang_parse_myvote": "(My own poll)",
"lang_parse_vote": "Vote",
"lang_parse_unvoted": "Show the result without voting",
"lang_parse_endedvote": "Expired",
"lang_parse_people": "people",
"lang_parse_thread": "Show thread",
"lang_parse_unknown": "Attached file",
"lang_parse_nsfw": "sensitive media",
"lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Show this user's notifications",
"lang_parse_hidden": "Unvisible quoted toot",
"lang_parse_disconnected": "Streaming has been disconnected(retry after 3s)",
"lang_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",
"lang_misskeyparse_reaction": "Reaction",
"lang_misskeyparse_tagnostr": "No streaming API on Tag TLs",
"lang_misskeyparse_listnostr": "No streaming API on List TLs",
"lang_misskeyparse_home": "Home",
"lang_misskeyparse_followers": "Follower",
"lang_misskeyparse_specified": "Specified User",
"lang_misskeyparse_qt": "Misskey renote(quote) mode:Ctrl+Shift+Enter to clear",
"lang_misskeyparse_renoted": " renoted your following post.",
"lang_misskeyparse_quoted": " quoted your following post.",
"lang_misskeyparse_reacted": " reacted your following post.",
"lang_setting_time": "Time format:{{set}}",
"lang_setting_theme": "Theme:{{set}}",
"lang_setting_compat": "Compatible",
"lang_setting_nsfw": "Sensitive media:{{set}}",
"lang_setting_cw": "CW:{{set}}",
"lang_setting_cwtext": "Default CW text:{{set}}",
"lang_setting_cws": "Always CW on:{{set}}",
"lang_setting_rp": "Reply counter:{{set}}",
"lang_setting_vis": "Default visibility:{{set}}",
"lang_setting_popup": "Popup notification:{{set}}",
"lang_setting_off": "Off",
"lang_setting_s": "s",
"lang_setting_box": "Default toot box action:{{set}}",
"lang_setting_gif": "GIF:{{set}}",
"lang_setting_selt": "Auto fold:{{set1}} lines and above, {{set2}} letters and above",
"lang_setting_autocw": "Auto CW:{{set1}} lines and above, {{set2}} letters and above",
"lang_setting_width": "Minimam width:{{set}}",
"lang_setting_fixwidth": "TweetDeck fixed width:{{set}}px",
"lang_setting_img": "After posting an image:{{set}}",
"lang_setting_font": "Fonts:{{set}}",
"lang_setting_default": "default font",
"lang_setting_size": "Font size:{{set}}px",
"lang_setting_imgheight": "Image height:{{set}}px",
"lang_setting_ticker": "#InstanceTicker:{{set}}px",
"lang_setting_animation": "Animation: {{set}}",
"lang_setting_tag": "Tag TL:{{set}}",
"lang_setting_boxConfirm": "Post box:{{set}}",
"lang_setting_ul": "Native locale:{{set}}",
"lang_setting_notf": "Native notification:{{set}}",
"lang_setting_quote": "Quote format:{{set}}",
"lang_setting_via": "Via:{{set}}",
"lang_setting_mov": "Action buttons hiding:{{set}}",
"lang_setting_setasread": "Notification markers:{{set}}",
"lang_setting_main": "Default account:{{set}}",
"lang_setting_sec": "Secondary toot button:{{set}}",
"lang_setting_ksref": "Keyboard shortcuts are refreshed.",
"lang_setting_nomuting": "No client is muted.",
"lang_setting_notftest": " Notification test ",
"lang_setting_notftestprof": "Your icon is shown.",
"lang_setting_exportwarn": "Only important data will be exported. You must keep this data secure.",
"lang_setting_importwarn": "All data will be deleted.",
"lang_setting_noupd": "No available update",
"lang_setting_thisisbeta": "This is beta version. You have to update manually."
}

View File

@@ -0,0 +1,234 @@
{
"setting": "Preferences",
"set": "Save",
"yes": "Yes",
"no": "No",
"none": "None",
"show": "Show",
"hide": "Hide",
"default": "Default",
"change": "Change",
"select": "Select",
"env": "System Preferences",
"setlang": "Languages",
"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",
"import": "Import",
"export": "Export",
"hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted",
"theme": "Themes",
"popup": "Popup notification",
"popupwarn": "Hide to set \"0\"",
"s": "sec",
"nativenotf": "Native notification",
"nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test",
"width": "Width of columns",
"widthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "",
"margin": "Margin between timelines",
"above": "above",
"font": "Font",
"fontwarn": "Select your favorite font to 'Select'(On Linux, it may not work.)",
"fontsize": "Font size",
"savefolder": "Folder to save",
"savefolderwarn": "TheDesk uses this value when it try to save pictures or take screenshots.",
"useragent": "User agent",
"useragentWarn": "Restart when changed",
"frame": "Window frame",
"frameWarn": "If 'off', the window looks cool.",
"downloadWin": "Versioning(o Windows downloader)",
"absolute": "absolute value",
"srcUrl": "Search engine",
"srcUrlWarn": "{q} will be replaced to query.",
"themeSel": "Select theme",
"customtheme": "Edit and add themes",
"customthemeDirection": "Color scheme",
"advanced": "Advanced options",
"advancedWarn": "",
"use": "Use this",
"copyFrom": "Copy from",
"bg": "Background color",
"subcolor": "Distinguishable from background",
"text": "Text color",
"accent": "Background of boosts",
"modal": "Background of modal window",
"modalFooter": "Background of modal window's footer",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)",
"forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window",
"emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu",
"active": "Background of 'active' elements",
"selected": "Background of selected with arrow keys",
"selectedWithShare": "Background of selected with arrow keys(boosted toots)",
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customImport": "Import of custom themes",
"delete": "Delete",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
"absolutetime": "Absolute format:\"23:25:21\",\"2017/12/30 23:59:00\"",
"mixtime": "Mixed format:toots posted today are relative-format, others are absolute-format.",
"relativesel": "Relative",
"absolutesel": "Absolute",
"doublesel": "Both relative and absolute",
"mixsel": "Mixed",
"locale": "Server's unique locale",
"localewarn": "This value is available on some Japanese servers",
"nswf": "Hide Mark sensitive pictures",
"nsfwwarn": "Strong blur effect",
"cw": "Hide CW contents",
"replyct": "Reply counter style",
"replyct_hidden": "Show 1+ if the replies are more than 1.",
"replyct_full": "Show full count(1,2...)",
"gif": "Animated GIF images animation",
"box": "Action of posting-box",
"boxyes": "Folding",
"boxabs": "Absolutely open",
"boxno": "Open after posting",
"tag": "Tag TL Search",
"tagfed": "Use federated network",
"taglocal": "Use local network",
"via": "Show via",
"mouseover": "Hide action buttons without mouseover",
"mouseoverwarn": "You may feel 'mouseover' is unconfortable:(",
"mv": "Mouseover to show",
"mvclick": "Click to show",
"notfmarker": "Show Notification marker, red colored bell and counter(if you show a notification column.)",
"autofold": "Auto folding",
"autofoldwarn": "TheDesk does not collapse totes of 5 characters or less. Also, when collapsing, newlines are not shown. TheDesk count only newlines as the number of lines.",
"lines": "lines",
"letters": "letters",
"or": "or",
"imgheight": "Height of images",
"imgheightwarn": "Option:Set \"full\" to uncrop.",
"ticker": "Enable OpenSticker",
"tickerwarn": "Show the instance name and favicon of tooters <a href=\"https://opensticker.0px.io\">About OpenSticker</a>",
"animation": "Animation of timelines",
"markers": "Markers(mark as read) on HTL and notifications",
"markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.",
"remote_img": "Get images from the remote server",
"remote_imgWarn": "All previews are got from your loginned cache server.",
"replySound": "Sound(Reply)",
"favSound": "Sound(Fav)",
"btSound": "Sound(Boost)",
"followSound": "Sound(Follow)",
"customSound": "Custom sound",
"post": "Posting Preferences",
"autocw": "Alert before posting a long toot.",
"autocwwarn": "Show dialog whether you make too-long text hidden.",
"defaultcw": "Default warining text",
"cws": "Always CW set",
"defaultvis": "Default visibility",
"public": "Public",
"unlisted": "Unlisted",
"private": "Private",
"direct": "Direct",
"memory": "Memory(memorized as each server)",
"useapi": "Default of your visibility(Set on preferences of Mastodon server)",
"postimg": "Posting images preferences",
"showurl": "Insert media URL",
"nourl": "Insert nothig",
"disabled": "Disabled",
"quote": "Quote format",
"simple": "Only URL",
"mention": "URL and acct(mention to the user)",
"full": "URL, text and acct(mention to the user)",
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",
"usemainacct": "Main account",
"secondary": "Secondary Toot Button",
"secwarn": "Toot with other visibility setting",
"nothing": "Hidden",
"localonly": "Local Only",
"zeroWidthEmoji": "Zero-width space when inserting emojis",
"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.",
"keysc": "Keyboard shortcut Preferences",
"iks": "Easy inserter",
"okswarn": "You can insert any letters and emojis with only 3 keys",
"plugin": "Plugins",
"howToWritePlugin": "Japanese docs of AiScript TheDesk plugins",
"pluginList": "Plugin list",
"muteemp": "Mute & Emphasis Preferences",
"climute": "Client Mute",
"cliemp": "Client Emphasis",
"cliwarn": "Click client name on toots to toggle mute and emphasis.",
"enter": "Enter to set",
"wordmute": "Words Mute",
"wordemp": "Words Emphasis",
"useremp": "Users Emphasis",
"useerempwarn": "Set on users data modals.",
"empcolorwarn": "Use this color to emphasis",
"spotify": "Spotify and NowPlaying Preferences",
"spotifynote1": "Click ",
"spotifynote2": "icon to NowPlaying",
"link": "Account Connection",
"linkwarn": "TheDesk save your data on thedesk.top server.",
"connect": "Connect",
"disconnect": "Disconnect",
"lastFmWarn": "User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.",
"templateedit": "Edit a template",
"templateeditwarn": "",
"template1": "Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify",
"template2": "macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}",
"template3": "",
"postartwork": "Attach an Artwork of Spotify",
"searchArtwork": "If the song has no artwork, automatic complete it(macOS)",
"searchArtworkWarn": "If you nowplaying an non-artwork song, get one which seems nice through API. If you do not like the completed artwork, you can right-click it to delete.",
"tts": "TTS(text to speech) Preferences",
"bouyomi": "BouyomiChan connect",
"bouyomiWarn": "Require: BouyomiChan WebSocket Plugin",
"speed": "Speed",
"speedwarn": "1-100(default:10)",
"pitch": "Pitch",
"pitchwarn": "0-100(default:50)",
"vol": "Volume",
"volwarn": "0-100(default:100)",
"volwarn80": "0-100(default:80)",
"test": "Test",
"sample": "TheDesk is an open-source Mastodon client for PC.",
"playstop": "Play/Stop",
"back": "Back",
"keyscs": "Keyboard shortcuts",
"keyscr": "Jump to n(1-9)th column",
"keynew": "Open toot box",
"keytoggle": "Toggle toot box",
"keypost": "Post",
"keysecpost": "Post(secondary toot)",
"keyunread": "Make all notifications read",
"keyesc": "Hide toot box",
"keyf5": "Super Reload",
"keyclear": "Clear toot box",
"keyacctman": "Account Manager",
"keyshowprof": "Show profile of selecting",
"keyrow": "Show next or previous image",
"keyzoom": "Mousewheel:Zoom a image",
"whenSelected": "When a toot is selected: ",
"fav": "Favourite this toot",
"bt": "Boost this toot",
"reply": "Reply to this toot",
"keyselecttop": "Select the top & left(No.1 column) toot",
"reset": "Reset(Danger)",
"resetconfirm": "Delete all data. You cannot undo. Continue?",
"about": "About TheDesk",
"hp": "Website",
"support": "Support",
"help": "Help",
"sushi": "Give me a sushi!",
"checkup": "Check update",
"ossJP": ""
}

View File

@@ -0,0 +1,19 @@
{
"updatehere": "Get latest TheDesk",
"download": "Start",
"portable": "Portable ver.",
"installer": "Installer(Recommended)",
"linux": "zip",
"linuxdeb": "deb(Recommended on buntu, Debian)",
"linuxsnap": "snap",
"snap": "Get it on Snapcraft",
"sureupd": "You may lose a cool experience!",
"skipupd": "Skip this update",
"nexttl": "Hidden until next TL loading",
"nextver": "Hidden until next version",
"problem1": "Some problems?",
"problem2": "Please download on <a href='https://thedesk.top'>Oficial HP</a>.",
"continue": "Continue updating",
"dlnow": "Downloading...",
"checkWhatIsNew": "What is new?"
}

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logg av",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Tilpassede emojier",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Uleste",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Gå til denne kolonnen",
"lang_sort_remthis": "Slett denne kolonnen",
"lang_spotify_img": "Legg til albumbilde",

View File

@@ -67,10 +67,8 @@
"add_new": "Legg til ny",
"name": "Navn",
"desc": "Om dette temaet",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Slett",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Tidslinjepreferanser",
"timemode": "Tidsformat",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(kun noen instanser)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Konto du nylig brukte",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Abrir Central de Desenvolvedor do Misskey. Também exibimos um documento oficial para referir.",
"lang_manager_logout": "Sair",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Conseguir emojis",
"lang_emoji_custom": "Emojis personalizados",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Excluir",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Пользовательские смайлики",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Добавить новое",
"name": "Имя",
"desc": "Об этой теме",
"customShare": "Поделитесь этим кодом с другими TheDesk. Не делитесь этим кодом с MiAS.",
"customImport": "Импорт пользовательских тем",
"delete": "Delete",
"cImpWarn": "Получить больше тем на <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Настройки хронологии",
"timemode": "Формат времени",
"relativetime": "Относительный формат:\"1 минут назад\",\"3 дня назад\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -0,0 +1,25 @@
{
"list": "List of accounts",
"back": "Back",
"add": "Add an account",
"addAcct": "Fill the instance domain (like mastodon.social)",
"codesetupwarn": "Uncheck it to skip pasiting code.(login to Mastodon on Windows or macOS) (Recommended: pcheck)",
"codesetup": "Code setup",
"mainacct": "Main an account",
"selacct": "Select an account",
"codepastewarn": "Paste the code and close browser.",
"codepaste": "Code",
"domain": "Domain",
"connect": "Federated servers",
"toots": "Toots",
"users": "Users",
"users2": "users",
"safety": "Connection",
"ver": "Mastodon version",
"ko": "",
"thisismisskey": "Login as Misskey",
"misskeylogin": "Read <a href=\"https://thedesk.top/how-to-misskey-login.html\">Docs(ja)</a> to login Misskey.",
"nodata": "No data",
"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"
}

View File

@@ -0,0 +1,191 @@
{
"draghere": "Drag here to upload",
"nowOffline": "OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet",
"reOnline": "Now we are in the Internet, you should reload...",
"close": "Close",
"webSrc": "Search on Web",
"tsSrc": "Search on tootsearch",
"showSelectProf": "Show profile of the selecting account",
"closethisbox": "Close this box",
"toot": "Toot",
"post-new": "Post new",
"nsfwDes": "Mark media as sensitive",
"cwDes": "Hide text behind warning",
"selfile": "Attach..",
"insertEmoji": "Emojis",
"schedule": "Scheduled toot",
"postat": "Post at",
"scheduleWarn": "2.7.0~ Minimum time gap:5min(clock on the server may not be accurate.)",
"clearToot": "Clear toot box",
"replyMode": "Reply",
"no": "No",
"yes": "Yes",
"temp": "Attaching files",
"nothing": "None",
"stamp": "Stamp",
"stampWarn": "Your acct(aa@bb.cc) is printed on the right-bottom of the uploaded image",
"vis": "Adjust status privacy",
"cwtext": "Warning text",
"selectVis": "Adjust status privacy",
"publicJP": "",
"unlistedJP": "",
"privateJP": "",
"localJP": "Local only",
"sectoot": "Secondary Toot",
"directJP": "",
"emojiWarn": "",
"emojiInsertWarn": "Some emojis are not able to be inserted.",
"refreshEmoji": "Refresh emojis list",
"closeThisBox": "Close this box",
"showThisEmoji": " are shown.",
"customEmoji": "Custom emojis",
"peopleEmoji": "Emojis of people",
"natureEmoji": "Emojis of nature",
"foodEmoji": "Emojis of foods",
"activityEmoji": "Emojis of activities",
"placeEmoji": "Emojis of places",
"thingsEmoji": "Emojis of tools",
"symbolEmoji": "Emojis of symbols",
"flagsEmoji": "Emojis of flags",
"draft": "Draft",
"poll": "Poll",
"pollDdisabled": "Polls: Disabled",
"pollProvider": "Provider of Poll",
"polluntil": "Hide 'votes' count until people vote it.",
"choice": "Choice",
"pollmulti": "Multiple select",
"expires_in": "Expires in...(sec)",
"contextBefore": "Context before this toot",
"thisToot": "This toot",
"contextAfter": "Context after this toot",
"beforeLTL": "Local TL before this toot",
"beforeUTL": "User TL before this toot",
"afterLTL": "Local TL after this toot)",
"afterUTL": "User TL before this toot",
"afterFTL": "Federated TL after this toot",
"favedPeople": "People who favourited it",
"btedPeople": "People who boosted it",
"useOtherAcct1": "Use other account",
"useOtherAcct2": ":unfav and unBT are disabled.",
"btWithVis": "Boost with visibility",
"reply": "Reply",
"bt": "Boost",
"favRegist": "Favourite",
"openBrowser": "Open in browser",
"screenshot": "Take a screenshot",
"copyURL": "Copy the URL",
"embed": "Embed",
"toots": "Toots",
"follow": "Follow",
"follower": "Follower",
"utlColumn": "Show as a column",
"timeline": "Timeline",
"operateOtherAcct": "Cross-account",
"list": "List",
"makeNew": "Save",
"blocks": "Blocks",
"mutes": "Mutes",
"block": "Block",
"mute": "Mute",
"domainBlock": "Domain block",
"editProf": "Edit profile",
"change": "Save",
"followReq": "Follow requests",
"likeHimOrHer": "Resembling",
"endorse": "Feature on profile",
"openinbrowser": "Open in browser",
"mainacct": "Set it an main account",
"frc": "Suggest",
"more": "More",
"revoverJP": " to ",
"warnUseOtherAcct": "(Unable to unfollow)",
"revoverJPde": "",
"or": "or",
"openProf": "Show profile",
"warnListRegist": "Follow to add this user to lists.",
"blockDomain": "Add blocking domain",
"name": "Display name",
"note": "Note",
"editProfImg": "Change avataor",
"editHeader": "Change header image",
"blocked": "You are blocked. Why?",
"likeUserDes": "Get people resembling this user.",
"get": "Get",
"historyBack": "Back",
"empUser": "Emphasize this user",
"supportme": "Support TheDesk!",
"TheDeskDes": "TheDesk has no ad, you need no charge to unlock premium features. We need your friendly support!",
"PatreonSupport": "Support on Patreon",
"PixivSupport": "Support on Pixiv FANBOX",
"AWLSupport": "Amazon Wish List",
"SendAmazonGift1": "Give me Amazon Gift Card:",
"SendAmazonGift2": "",
"monthly": "Monthly",
"once": "Once",
"local": "Local",
"localMedia": "Local(Media)",
"home": "Home",
"fed": "Federated",
"fedMedia": "Federated(Media)",
"dm": "Direct Message",
"integratedTLDes": "Integrated(Local/Home)",
"localPlusDes": "LTL+Reply+BT",
"notf": "Notifications",
"bookmark": "Bookmarks",
"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>).",
"add": "Add",
"search": "Search",
"sortSet": "Sort",
"selectAcct": "Account(Scroll to show all)",
"listLocale": "List",
"filterWord": "Filtering words",
"degree": "Filter contexts",
"conver": "Conversations",
"prof": "Profiles",
"option": "Options",
"matchWord": "Whole word",
"warnMatchWord": "Nice for Latin language",
"except": "Drop instead of hide",
"exceptWorn": "Filtered toots will disappear irreversibly, even if filter is later removed",
"avalableBefore": "Expire after",
"warnAvBefore": "Unset or \"0\" means \"Never\"",
"warnAvBefore2": "This value may contain some error",
"unlimited": "Never",
"days": "day(s)",
"hours": "hour(s)",
"mins": "minute(s)",
"secs": "second(s)",
"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>",
"addColumn": "Add a column",
"sortColumns": "Sort",
"acctMan": "Account Manager",
"filter": "Filter",
"setting": "Preferences",
"reverse": "Toot button layout reverse",
"f5": "Reload TL",
"nanoDes": "The smallest Mastodon,",
"verTips": "Version",
"clockTips": "Clock",
"ramTips": "RAM status",
"changeTips": "Change Tips",
"helpAndLogs": "Help & Log",
"help": "Help",
"contactwithlog": "If you tell me bugs(not working or something) with this log, I can detect what is wrong more easily.",
"about": "About TheDesk",
"hereAddColumns": "<- Add TL",
"foundBug": "I found a bug",
"show": "Show",
"directory": "Directory",
"active": "Recently active",
"newcomer": "New arrivals",
"local_only": "Local only",
"menu": "Menu",
"demoBottomBtns": "Welcome guide",
"lookAtBottom": "Look at the bottom of this window. Here is some tips about it.",
"acctManDesc": "Add more accounts and logout them.",
"settingDesc": "Many and many preferences here. You will couldn't check it all!",
"nanoDescPlus": "Mini window client(experimental)",
"menuDesc": "All daily TheDesk and Mastodon tuning like <b>add and sort columns</b>, <b>list and filter check</b>."
}

View File

@@ -0,0 +1,291 @@
{
"language": "en",
"lang_toot": "Toot",
"lang_there": "Yes",
"lang_nothing": "None",
"lang_yesno": "Yes",
"lang_no": "No",
"lang_progress": "Wait...",
"lang_edit": "Edit",
"lang_del": "Delete",
"lang_add": "Add",
"lang_fatalerroroccured": "Error",
"lang_speech": "Google US English",
"lang_lang": "Language",
"lang_langlocale": "English",
"lang_back": "Back",
"lang_set": "Set",
"lang_langadd": "Translate TheDesk to other languages or proofread TheDesk on <a href=\"https://github.com/cutls/TheDesk\" target=\"_blank\">GitHub</a>. TheDesk needs your help.",
"lang_time_prefixAgo": null,
"lang_time_prefixFromNow": null,
"lang_time_suffixAgo": null,
"lang_time_suffixFromNow": null,
"lang_time_inPast": null,
"lang_time_seconds": "%d s",
"lang_time_minute": "1 m",
"lang_time_minutes": "%d m",
"lang_time_hour": "1 h",
"lang_time_hours": "%d h",
"lang_time_day": "1 d",
"lang_time_days": "%d d",
"lang_time_month": "1 month",
"lang_time_months": "%d months",
"lang_time_year": "y",
"lang_time_years": "%d y",
"lang_version_usever": "No update is found({{ver}})",
"lang_version_skipver": "Update was ignored.",
"lang_version_platform": "Do you want auto-updates?(users installed on Microsoft Store select 'No')",
"lang_version_platform_linux": "Do you want auto-updates?(users installed on Snapcraft select 'No')",
"lang_version_platform_mac": "Do you want auto-updates?(Homebrew Cask users select 'No')",
"lang_login_noauth": "Show TL of unlogined accounts",
"lang_manager_info": "About this instance",
"lang_manager_refresh": "Refresh",
"lang_manager_delete": "Logout",
"lang_manager_color": "Account Color",
"lang_manager_confirm": "is about to logout. Continue?",
"lang_manager_mainAcct": "Done:choose main account",
"lang_manager_def": "Default",
"lang_manager_none": "None",
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
"lang_defaultemojis_text": "Emojis about {{cat}}",
"lang_emoji_uncat": "Uncategorized",
"lang_postimg_previewdis": "cannot preview",
"lang_postimg_aftupload": "You cannot change accounts after uploading.",
"lang_postimg_failupload": "Failed",
"lang_postimg_delete": "Click to add description, right-click to delete this",
"lang_postimg_desc": "Description",
"lang_postimg_leadContext": "right-click the thumbnail to delete this",
"lang_post_syncDetail": "Upload media synchronously",
"lang_post_syncDetailText": "Click each picture icon to get the thumbnail. If you can get, the media you uploaded are completely processed.",
"lang_post_tagTL": "This toot does not contain a default tag. This toot will not be shown on Local TL. Continue?",
"lang_post_tagVis": "This toot(not 'public' toot) is not shown on this tag's TL.",
"lang_post_cwtitle": "Auto CW Alert",
"lang_post_cwtxt": "You are about to post longer toot than you set.\nWarning text:",
"lang_post_btn1": "Cancel (will not post)",
"lang_post_btn2": "Make text hidden automatically",
"lang_post_btn3": "Continue to post",
"lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.",
"lang_post_retry": "Retry",
"lang_post_offline": "Add to the drafts because of offline",
"lang_status_favWarn": "It will take a miunte to favourite a remote toot.",
"lang_status_btWarn": "It will take a miunte to boost a remote toot.",
"lang_status_follow": "Follow",
"lang_status_unfollow": "Unfollow",
"lang_status_block": "Block",
"lang_status_unblock": "Unblock",
"lang_status_mute": "Mute",
"lang_status_unmute": "Unmute",
"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_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_unendorse": "Not feature on profile",
"lang_status_endorse": "Feature on profile",
"lang_status_followers": "Followers",
"lang_status_active": "Last status",
"lang_secure_draft": "Add to draft",
"lang_secure_useThis": "මෙය භාවිතා කරන්න",
"lang_secure_deleteThis": "Delete this",
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_trusted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untrusted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
"lang_details_url": "URL of this toot is cliped.",
"lang_details_txt": "Content of this toot is cliped.",
"lang_filter_nodata": "No data",
"lang_filter_errordegree": "Please check a context",
"lang_list_nodata": "No data",
"lang_list_show": "Show",
"lang_list_users": "Users list",
"lang_list_nouser": "No users in this list.",
"lang_list_add": "Add to the list",
"lang_list_add_misskey": "(perhaps this user has been listed)",
"lang_list_remove": "Remove from the list",
"lang_notf_new": " new notifications",
"lang_speech_refresh": "Save value about TTS config",
"lang_src_ts": "chronological order",
"lang_src_people": " people toot",
"lang_tags_always": "Always toots with ",
"lang_tags_realtime": "Tag-stream toot",
"lang_tags_tagunpin": "Unpin {{tag}}",
"lang_tags_unrealtime": "Disable TsT",
"lang_tags_tagwarn": "Auto complete {{tag}}, if toot without {{tag}}",
"lang_tl_media": "Media",
"lang_tl_reconnect": "Reconnect to streaming API",
"lang_tl_postmarkers_title": "Process...",
"lang_tl_postmarkers": "POST markers data. Please wait",
"lang_img_DLDone": "Downloaded:",
"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_thisacct": "{{notf}} of this account",
"lang_layout_delthis": "Remove this column",
"lang_layout_setthis": "Preferences of this column",
"lang_layout_mediafil": "Media filtering",
"lang_layout_remoteOnly": "Remote only",
"lang_layout_linkana": "Auto Link Analyzer",
"lang_layout_linkanades": "Auto link analyzer",
"lang_layout_tts": "Text to speech ",
"lang_layout_reconnect": "Reload",
"lang_layout_headercolor": "Header color of this column",
"lang_layout_nodata": "[No data]<br>F5/⌘+R to reload",
"lang_layout_dm": "Direct Message",
"lang_layout_webviewmode": "Prefer WebView",
"lang_layout_excluded": "Excluded type of notification",
"lang_layout_mention": "Mentions",
"lang_layout_fav": "Favourites",
"lang_layout_bt": "Boosts",
"lang_layout_poll": "Polls",
"lang_layout_excludingbt": "Show BT mode",
"lang_layout_leftFold": "Stack to the left",
"lang_layout_leftUnfold": "Dock on the right",
"lang_layout_deleteColumn": "Delete this column",
"lang_layout_deleteColumnDesc": "Delete this column",
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",
"lang_spotify_imgno": "Not attach an album artwork",
"lang_spotify_acct": "Connect TheDesk to Spotify",
"lang_spotify_np": "Done:templete of NowPlaying",
"lang_setting_npprovide": "NowPlaying provider:{{set}}",
"lang_hisdata_frcreq": "Required Mastodon 2.4.3 and above",
"lang_hisdata_frcwarn": "Unfollow accounts will be shown.",
"lang_hisdata_taketime": "It will take 30s ~ several minutes",
"lang_hisdata_notonmisskey": "Misskey is unable to request.",
"lang_hisdata_key": "This user is proofed by {{set}}",
"lang_showontl_movetxt": "This account was moved",
"lang_showontl_movebtn": "Continue on the new account",
"lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Following you",
"lang_parse_request": "Follow request",
"lang_showontl_notf": "Notification ",
"lang_showontl_domain": "Domain ",
"lang_showontl_listwarn": "Follow to add this user to lists.",
"lang_showontl_verified": "This website is verified by owner at ",
"lang_status_requesting": "Requesting",
"lang_parse_mentioned": " replied to you",
"lang_parse_faved": " favourited your toot",
"lang_parse_bted": " boosted your toot",
"lang_parse_btedsimple": " boosted",
"lang_parse_polled": "'s poll",
"lang_parse_notftime": "Actioned at",
"lang_parse_cwshow": "Show",
"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_autofold": "Auto folded",
"lang_parse_more": "More",
"lang_parse_url": "URL Analyzer",
"lang_parse_tagTL": "Timeline of {{tag}}",
"lang_parse_tagtoot": "Toot with {{tag}}",
"lang_parse_tagpin": "Pin {{tag}}",
"lang_parse_public": "Public",
"lang_parse_unlisted": "Unlisted",
"lang_parse_private": "Private",
"lang_parse_direct": "Direct",
"lang_parse_clickcopy": "Click to copy text of this toot",
"lang_parse_clickcopyurl": "Click to copy URL of this toot",
"lang_parse_trans": "Translate to English",
"lang_parse_replyto": "Reply to this toot",
"lang_parse_bt": "Boost this toot",
"lang_parse_fav": "Favourite this toot",
"lang_parse_quote": "Quote this toot",
"lang_parse_bookmark": "Bookmark this",
"lang_parse_unbookmark": "Unbookmark this",
"lang_parse_del": "Delete this",
"lang_parse_pin": "Pin this",
"lang_parse_unpin": "Unpin this",
"lang_parse_link": "Open in a browser",
"lang_parse_det": "Details via your main account.",
"lang_parse_detail": "Details",
"lang_parse_redraft": "Delete & re-draft",
"lang_parse_followed": "Followed you",
"lang_parse_moved": "Moved to...",
"lang_parse_clientop": "Operation of this client",
"lang_parse_clienttxt": " will be",
"lang_parse_clientno": "done nothing",
"lang_parse_clientemp": "emphasized(/not emphasized)",
"lang_parse_clientmute": "muted",
"lang_parse_mute": " will be muted. You can remove on preferences.",
"lang_parse_voted": "(Voted)",
"lang_parse_myvote": "(My own poll)",
"lang_parse_vote": "Vote",
"lang_parse_unvoted": "Show the result without voting",
"lang_parse_endedvote": "Expired",
"lang_parse_people": "people",
"lang_parse_thread": "Show thread",
"lang_parse_unknown": "Attached file",
"lang_parse_nsfw": "sensitive media",
"lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Show this user's notifications",
"lang_parse_hidden": "Unvisible quoted toot",
"lang_parse_disconnected": "Streaming has been disconnected(retry after 3s)",
"lang_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",
"lang_misskeyparse_reaction": "Reaction",
"lang_misskeyparse_tagnostr": "No streaming API on Tag TLs",
"lang_misskeyparse_listnostr": "No streaming API on List TLs",
"lang_misskeyparse_home": "Home",
"lang_misskeyparse_followers": "Follower",
"lang_misskeyparse_specified": "Specified User",
"lang_misskeyparse_qt": "Misskey renote(quote) mode:Ctrl+Shift+Enter to clear",
"lang_misskeyparse_renoted": " renoted your following post.",
"lang_misskeyparse_quoted": " quoted your following post.",
"lang_misskeyparse_reacted": " reacted your following post.",
"lang_setting_time": "Time format:{{set}}",
"lang_setting_theme": "Theme:{{set}}",
"lang_setting_compat": "Compatible",
"lang_setting_nsfw": "Sensitive media:{{set}}",
"lang_setting_cw": "CW:{{set}}",
"lang_setting_cwtext": "Default CW text:{{set}}",
"lang_setting_cws": "Always CW on:{{set}}",
"lang_setting_rp": "Reply counter:{{set}}",
"lang_setting_vis": "Default visibility:{{set}}",
"lang_setting_popup": "Popup notification:{{set}}",
"lang_setting_off": "Off",
"lang_setting_s": "s",
"lang_setting_box": "Default toot box action:{{set}}",
"lang_setting_gif": "GIF:{{set}}",
"lang_setting_selt": "Auto fold:{{set1}} lines and above, {{set2}} letters and above",
"lang_setting_autocw": "Auto CW:{{set1}} lines and above, {{set2}} letters and above",
"lang_setting_width": "Minimam width:{{set}}",
"lang_setting_fixwidth": "TweetDeck fixed width:{{set}}px",
"lang_setting_img": "After posting an image:{{set}}",
"lang_setting_font": "Fonts:{{set}}",
"lang_setting_default": "default font",
"lang_setting_size": "Font size:{{set}}px",
"lang_setting_imgheight": "Image height:{{set}}px",
"lang_setting_ticker": "#InstanceTicker:{{set}}px",
"lang_setting_animation": "Animation: {{set}}",
"lang_setting_tag": "Tag TL:{{set}}",
"lang_setting_boxConfirm": "Post box:{{set}}",
"lang_setting_ul": "Native locale:{{set}}",
"lang_setting_notf": "Native notification:{{set}}",
"lang_setting_quote": "Quote format:{{set}}",
"lang_setting_via": "Via:{{set}}",
"lang_setting_mov": "Action buttons hiding:{{set}}",
"lang_setting_setasread": "Notification markers:{{set}}",
"lang_setting_main": "Default account:{{set}}",
"lang_setting_sec": "Secondary toot button:{{set}}",
"lang_setting_ksref": "Keyboard shortcuts are refreshed.",
"lang_setting_nomuting": "No client is muted.",
"lang_setting_notftest": " Notification test ",
"lang_setting_notftestprof": "Your icon is shown.",
"lang_setting_exportwarn": "Only important data will be exported. You must keep this data secure.",
"lang_setting_importwarn": "All data will be deleted.",
"lang_setting_noupd": "No available update",
"lang_setting_thisisbeta": "This is beta version. You have to update manually."
}

View File

@@ -0,0 +1,234 @@
{
"setting": "Preferences",
"set": "Save",
"yes": "Yes",
"no": "No",
"none": "None",
"show": "Show",
"hide": "Hide",
"default": "Default",
"change": "Change",
"select": "තෝරන්න",
"env": "System Preferences",
"setlang": "භාෂාව",
"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",
"import": "Import",
"export": "Export",
"hardwareAcceleration": "Disable hardware acceleration",
"hardwareAccelerationWarn": "Auto restarted",
"theme": "තේමාවන්",
"popup": "Popup notification",
"popupwarn": "Hide to set \"0\"",
"s": "තත්.",
"nativenotf": "Native notification",
"nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test",
"width": "Width of columns",
"widthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "",
"margin": "Margin between timelines",
"above": "above",
"font": "Font",
"fontwarn": "Select your favorite font to 'Select'(On Linux, it may not work.)",
"fontsize": "Font size",
"savefolder": "Folder to save",
"savefolderwarn": "TheDesk uses this value when it try to save pictures or take screenshots.",
"useragent": "User agent",
"useragentWarn": "Restart when changed",
"frame": "Window frame",
"frameWarn": "If 'off', the window looks cool.",
"downloadWin": "Versioning(o Windows downloader)",
"absolute": "absolute value",
"srcUrl": "සෙවුම් යන්ත්‍රය",
"srcUrlWarn": "{q} will be replaced to query.",
"themeSel": "Select theme",
"customtheme": "Edit and add themes",
"customthemeDirection": "Color scheme",
"advanced": "Advanced options",
"advancedWarn": "",
"use": "මෙය භාවිතා කරන්න",
"copyFrom": "Copy from",
"bg": "Background color",
"subcolor": "Distinguishable from background",
"text": "Text color",
"accent": "Background of boosts",
"modal": "Background of modal window",
"modalFooter": "Background of modal window's footer",
"thirdColor": "Backgroud of tag buttons, etc(near to Background)",
"forthColor": "Title bar(same scheme to Background)",
"bottom": "Background of menu-bar at bottom of window",
"emphasized": "Emphasized toot's background",
"postbox": "Background of post-box and menu",
"active": "Background of 'active' elements",
"selected": "Background of selected with arrow keys",
"selectedWithShare": "Background of selected with arrow keys(boosted toots)",
"add_new": "Add new",
"name": "නම",
"desc": "About this theme",
"customImport": "Import of custom themes",
"delete": "Delete",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
"absolutetime": "Absolute format:\"23:25:21\",\"2017/12/30 23:59:00\"",
"mixtime": "Mixed format:toots posted today are relative-format, others are absolute-format.",
"relativesel": "Relative",
"absolutesel": "Absolute",
"doublesel": "Both relative and absolute",
"mixsel": "Mixed",
"locale": "Server's unique locale",
"localewarn": "This value is available on some Japanese servers",
"nswf": "Hide Mark sensitive pictures",
"nsfwwarn": "Strong blur effect",
"cw": "Hide CW contents",
"replyct": "Reply counter style",
"replyct_hidden": "Show 1+ if the replies are more than 1.",
"replyct_full": "Show full count(1,2...)",
"gif": "Animated GIF images animation",
"box": "Action of posting-box",
"boxyes": "Folding",
"boxabs": "Absolutely open",
"boxno": "Open after posting",
"tag": "Tag TL Search",
"tagfed": "Use federated network",
"taglocal": "Use local network",
"via": "Show via",
"mouseover": "Hide action buttons without mouseover",
"mouseoverwarn": "You may feel 'mouseover' is unconfortable:(",
"mv": "Mouseover to show",
"mvclick": "Click to show",
"notfmarker": "Show Notification marker, red colored bell and counter(if you show a notification column.)",
"autofold": "Auto folding",
"autofoldwarn": "TheDesk does not collapse totes of 5 characters or less. Also, when collapsing, newlines are not shown. TheDesk count only newlines as the number of lines.",
"lines": "lines",
"letters": "letters",
"or": "or",
"imgheight": "Height of images",
"imgheightwarn": "Option:Set \"full\" to uncrop.",
"ticker": "Enable OpenSticker",
"tickerwarn": "Show the instance name and favicon of tooters <a href=\"https://opensticker.0px.io\">About OpenSticker</a>",
"animation": "Animation of timelines",
"markers": "Markers(mark as read) on HTL and notifications",
"markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.",
"remote_img": "Get images from the remote server",
"remote_imgWarn": "All previews are got from your loginned cache server.",
"replySound": "Sound(Reply)",
"favSound": "Sound(Fav)",
"btSound": "Sound(Boost)",
"followSound": "Sound(Follow)",
"customSound": "Custom sound",
"post": "Posting Preferences",
"autocw": "Alert before posting a long toot.",
"autocwwarn": "Show dialog whether you make too-long text hidden.",
"defaultcw": "Default warining text",
"cws": "Always CW set",
"defaultvis": "Default visibility",
"public": "Public",
"unlisted": "Unlisted",
"private": "Private",
"direct": "Direct",
"memory": "Memory(memorized as each server)",
"useapi": "Default of your visibility(Set on preferences of Mastodon server)",
"postimg": "Posting images preferences",
"showurl": "Insert media URL",
"nourl": "Insert nothig",
"disabled": "Disabled",
"quote": "Quote format",
"simple": "Only URL",
"mention": "URL and acct(mention to the user)",
"full": "URL, text and acct(mention to the user)",
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",
"usemainacct": "Main account",
"secondary": "Secondary Toot Button",
"secwarn": "Toot with other visibility setting",
"nothing": "Hidden",
"localonly": "Local Only",
"zeroWidthEmoji": "Zero-width space when inserting emojis",
"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.",
"keysc": "Keyboard shortcut Preferences",
"iks": "Easy inserter",
"okswarn": "You can insert any letters and emojis with only 3 keys",
"plugin": "Plugins",
"howToWritePlugin": "Japanese docs of AiScript TheDesk plugins",
"pluginList": "Plugin list",
"muteemp": "Mute & Emphasis Preferences",
"climute": "Client Mute",
"cliemp": "Client Emphasis",
"cliwarn": "Click client name on toots to toggle mute and emphasis.",
"enter": "Enter to set",
"wordmute": "Words Mute",
"wordemp": "Words Emphasis",
"useremp": "Users Emphasis",
"useerempwarn": "Set on users data modals.",
"empcolorwarn": "Use this color to emphasis",
"spotify": "Spotify and NowPlaying Preferences",
"spotifynote1": "Click ",
"spotifynote2": "icon to NowPlaying",
"link": "Account Connection",
"linkwarn": "TheDesk save your data on thedesk.top server.",
"connect": "Connect",
"disconnect": "Disconnect",
"lastFmWarn": "User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.",
"templateedit": "Edit a template",
"templateeditwarn": "",
"template1": "Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify",
"template2": "macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}",
"template3": "",
"postartwork": "Attach an Artwork of Spotify",
"searchArtwork": "If the song has no artwork, automatic complete it(macOS)",
"searchArtworkWarn": "If you nowplaying an non-artwork song, get one which seems nice through API. If you do not like the completed artwork, you can right-click it to delete.",
"tts": "TTS(text to speech) Preferences",
"bouyomi": "BouyomiChan connect",
"bouyomiWarn": "Require: BouyomiChan WebSocket Plugin",
"speed": "Speed",
"speedwarn": "1-100(default:10)",
"pitch": "Pitch",
"pitchwarn": "0-100(default:50)",
"vol": "Volume",
"volwarn": "0-100(default:100)",
"volwarn80": "0-100(default:80)",
"test": "Test",
"sample": "TheDesk is an open-source Mastodon client for PC.",
"playstop": "Play/Stop",
"back": "Back",
"keyscs": "Keyboard shortcuts",
"keyscr": "Jump to n(1-9)th column",
"keynew": "Open toot box",
"keytoggle": "Toggle toot box",
"keypost": "Post",
"keysecpost": "Post(secondary toot)",
"keyunread": "Make all notifications read",
"keyesc": "Hide toot box",
"keyf5": "Super Reload",
"keyclear": "Clear toot box",
"keyacctman": "Account Manager",
"keyshowprof": "Show profile of selecting",
"keyrow": "Show next or previous image",
"keyzoom": "Mousewheel:Zoom a image",
"whenSelected": "When a toot is selected: ",
"fav": "Favourite this toot",
"bt": "Boost this toot",
"reply": "Reply to this toot",
"keyselecttop": "Select the top & left(No.1 column) toot",
"reset": "Reset(Danger)",
"resetconfirm": "Delete all data. You cannot undo. Continue?",
"about": "About TheDesk",
"hp": "Website",
"support": "Support",
"help": "Help",
"sushi": "Give me a sushi!",
"checkup": "Check update",
"ossJP": ""
}

View File

@@ -0,0 +1,19 @@
{
"updatehere": "Get latest TheDesk",
"download": "Start",
"portable": "Portable ver.",
"installer": "Installer(Recommended)",
"linux": "zip",
"linuxdeb": "deb(Recommended on buntu, Debian)",
"linuxsnap": "snap",
"snap": "Get it on Snapcraft",
"sureupd": "You may lose a cool experience!",
"skipupd": "Skip this update",
"nexttl": "Hidden until next TL loading",
"nextver": "Hidden until next version",
"problem1": "Some problems?",
"problem2": "Please download on <a href='https://thedesk.top'>Oficial HP</a>.",
"continue": "Continue updating",
"dlnow": "Downloading...",
"checkWhatIsNew": "What is new?"
}

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -49,6 +49,7 @@
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_maxChars": "Max chars of toots",
"lang_manager_refreshAt": "Login with this domain",
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
"lang_emoji_get": "Get emojis",
"lang_emoji_custom": "Custom emojis",
@@ -153,6 +154,7 @@
"lang_layout_unread": "Unread",
"lang_layout_tagManager": "Tag timeline manager",
"lang_layout_announ": "Announcement: the counter is the number of your unread announcements. If not shown, it means announcements are all marked as read.",
"lang_layout_resetWidth": "Stretch this column",
"lang_sort_gothis": "Go to this column",
"lang_sort_remthis": "Delete this column",
"lang_spotify_img": "Attach an album artwork",

View File

@@ -67,10 +67,8 @@
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"customShare": "Share this code with other TheDesk. Do not share this code with MiAS.",
"customImport": "Import of custom themes",
"delete": "Delete",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
@@ -144,6 +142,10 @@
"notqt": "Disabled(Hide buttons on TLs)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"scrollBar": "Height of the scroll bar",
"thin": "Thin",
"normal": "Normal",
"thick": "Thick",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

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