Compare commits

..

42 Commits

Author SHA1 Message Date
cutls
72b060e7ae cannnot use font-manager 0.3.1, released today 2019-11-19 01:21:35 +09:00
cutls
2a99a79d37 TheDesk 20.0.4 (Kawaii) 2019-11-19 00:56:40 +09:00
Cutls
d1e6fac1b0 Delete LATEST.md 2019-11-18 02:35:45 +09:00
Cutls
63802c98a3 Delete ver.json 2019-11-18 02:35:32 +09:00
Cutls
3bd8520e7c Delete mastodon_data.json 2019-11-18 02:35:20 +09:00
Cutls
662c15da93 Delete LICENSE.md 2019-11-18 02:35:09 +09:00
dependabot-preview[bot]
dd0fd325b8 Bump sweetalert2 from 9.3.5 to 9.3.10 in /app (#174)
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 9.3.5 to 9.3.10.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v9.3.5...v9.3.10)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 01:13:55 +09:00
Cutls
b772b03ef2 New Crowdin translations (#171)
* New translations main.json (Russian)

* New translations main.json (Romanian)

* New translations main.json (Portuguese, Brazilian)

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

* New translations main.json (Portuguese)

* New translations main.json (Polish)

* New translations main.json (Norwegian)

* New translations main.json (Turkish)

* New translations main.json (English)

* New translations main.json (Vietnamese)

* New translations main.json (Ukrainian)

* New translations main.json (Swedish)

* New translations main.json (Spanish, Argentina)

* New translations main.json (Spanish)

* New translations main.json (Italian)

* New translations main.json (Czech)

* New translations main.json (Chinese Traditional)

* New translations main.json (Chinese Simplified)

* New translations main.json (Catalan)

* New translations main.json (Bulgarian)

* New translations main.json (Arabic)

* New translations main.json (Afrikaans)

* New translations main.json (Danish)

* New translations main.json (German)

* New translations main.json (Hungarian)

* New translations main.json (Hebrew)

* New translations main.json (Greek)

* New translations main.json (French)

* New translations main.json (Finnish)

* New translations main.json (Dutch)

* New translations main.json (Finnish)

* New translations main.json (French)

* New translations main.json (German)

* New translations main.json (Greek)

* New translations main.json (Norwegian)

* New translations main.json (Italian)

* New translations main.json (Hungarian)

* New translations main.json (Hebrew)

* New translations main.json (Dutch)

* New translations main.json (Afrikaans)

* New translations main.json (Arabic)

* New translations main.json (Bulgarian)

* New translations main.json (Catalan)

* New translations main.json (Czech)

* New translations main.json (Chinese Simplified)

* New translations main.json (Danish)

* New translations main.json (Chinese Traditional)

* New translations main.json (Swedish)

* New translations main.json (Spanish, Argentina)

* New translations main.json (Turkish)

* New translations main.json (Vietnamese)

* New translations main.json (Ukrainian)

* New translations main.json (Spanish)

* New translations main.json (Polish)

* New translations main.json (Portuguese)

* New translations main.json (Portuguese, Brazilian)

* New translations main.json (Romanian)

* New translations main.json (Russian)

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

* New translations main.json (Russian)

* New translations main.json (Romanian)

* New translations main.json (Portuguese, Brazilian)

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

* New translations main.json (Portuguese)

* New translations main.json (Polish)

* New translations main.json (Norwegian)

* New translations main.json (Turkish)

* New translations main.json (English)

* New translations main.json (Vietnamese)

* New translations main.json (Ukrainian)

* New translations main.json (Swedish)

* New translations main.json (Spanish, Argentina)

* New translations main.json (Spanish)

* New translations main.json (Italian)

* New translations main.json (Czech)

* New translations main.json (Chinese Traditional)

* New translations main.json (Chinese Simplified)

* New translations main.json (Catalan)

* New translations main.json (Bulgarian)

* New translations main.json (Arabic)

* New translations main.json (Afrikaans)

* New translations main.json (Danish)

* New translations main.json (German)

* New translations main.json (Hungarian)

* New translations main.json (Hebrew)

* New translations main.json (Greek)

* New translations main.json (French)

* New translations main.json (Finnish)

* New translations main.json (Dutch)

* New translations setting.json (Russian)

* New translations main.json (Russian)

* New translations index.json (Russian)

* New translations setting.json (Romanian)

* New translations main.json (Romanian)

* New translations index.json (Romanian)

* New translations setting.json (Portuguese, Brazilian)

* New translations main.json (Portuguese, Brazilian)

* New translations index.json (Portuguese, Brazilian)

* New translations setting.json (Portuguese)

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

* New translations main.json (Portuguese)

* New translations index.json (Portuguese)

* New translations setting.json (Polish)

* New translations main.json (Polish)

* New translations index.json (Polish)

* New translations setting.json (Norwegian)

* New translations main.json (Norwegian)

* New translations index.json (Norwegian)

* New translations setting.json (Italian)

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

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

* New translations index.json (Italian)

* New translations main.json (Turkish)

* New translations main.json (English)

* New translations index.json (English)

* New translations setting.json (Vietnamese)

* New translations main.json (Vietnamese)

* New translations index.json (Vietnamese)

* New translations setting.json (Ukrainian)

* New translations main.json (Ukrainian)

* New translations index.json (Ukrainian)

* New translations setting.json (Turkish)

* New translations index.json (Turkish)

* New translations setting.json (Swedish)

* New translations main.json (Swedish)

* New translations index.json (Swedish)

* New translations setting.json (Spanish, Argentina)

* New translations main.json (Spanish, Argentina)

* New translations index.json (Spanish, Argentina)

* New translations setting.json (Spanish)

* New translations main.json (Spanish)

* New translations index.json (Spanish)

* New translations main.json (Italian)

* New translations index.json (Afrikaans)

* New translations setting.json (Catalan)

* New translations setting.json (Czech)

* New translations main.json (Czech)

* New translations index.json (Czech)

* New translations setting.json (Chinese Traditional)

* New translations main.json (Chinese Traditional)

* New translations index.json (Chinese Traditional)

* New translations setting.json (Chinese Simplified)

* New translations main.json (Chinese Simplified)

* New translations index.json (Chinese Simplified)

* New translations main.json (Catalan)

* New translations index.json (Danish)

* New translations index.json (Catalan)

* New translations setting.json (Bulgarian)

* New translations main.json (Bulgarian)

* New translations index.json (Bulgarian)

* New translations setting.json (Arabic)

* New translations main.json (Arabic)

* New translations index.json (Arabic)

* New translations setting.json (Afrikaans)

* New translations main.json (Afrikaans)

* New translations main.json (Danish)

* New translations setting.json (Hungarian)

* New translations main.json (German)

* New translations main.json (Hungarian)

* New translations index.json (Hungarian)

* New translations setting.json (Hebrew)

* New translations main.json (Hebrew)

* New translations index.json (Hebrew)

* New translations setting.json (Greek)

* New translations main.json (Greek)

* New translations index.json (Greek)

* New translations setting.json (German)

* New translations index.json (German)

* New translations setting.json (Danish)

* New translations setting.json (French)

* New translations main.json (French)

* New translations index.json (French)

* New translations setting.json (Finnish)

* New translations main.json (Finnish)

* New translations index.json (Finnish)

* New translations setting.json (Dutch)

* New translations main.json (Dutch)

* New translations index.json (Dutch)

* New translations setting.json (English)

* New translations main.json (Russian)

* New translations main.json (Romanian)

* New translations main.json (Portuguese, Brazilian)

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

* New translations main.json (Portuguese)

* New translations main.json (Polish)

* New translations main.json (Norwegian)

* New translations main.json (Turkish)

* New translations main.json (English)

* New translations main.json (Vietnamese)

* New translations main.json (Ukrainian)

* New translations main.json (Swedish)

* New translations main.json (Spanish, Argentina)

* New translations main.json (Spanish)

* New translations main.json (Italian)

* New translations main.json (Czech)

* New translations main.json (Chinese Traditional)

* New translations main.json (Chinese Simplified)

* New translations main.json (Catalan)

* New translations main.json (Bulgarian)

* New translations main.json (Arabic)

* New translations main.json (Afrikaans)

* New translations main.json (Danish)

* New translations main.json (German)

* New translations main.json (Hungarian)

* New translations main.json (Hebrew)

* New translations main.json (Greek)

* New translations main.json (French)

* New translations main.json (Finnish)

* New translations main.json (Dutch)

* New translations acct.json (Norwegian)

* New translations index.json (Norwegian)

* New translations main.json (Norwegian)

* New translations setting.json (Norwegian)

* New translations index.json (Norwegian)

* New translations main.json (Norwegian)

* New translations setting.json (Norwegian)

* New translations acct.json (Norwegian)

* New translations index.json (Norwegian)

* New translations main.json (Norwegian)

* New translations setting.json (Norwegian)

* New translations update.json (Norwegian)

* New translations index.json (Norwegian)

* New translations main.json (Norwegian)

* New translations index.json (Norwegian)

* New translations main.json (Norwegian)

* New translations index.json (Norwegian)

* New translations main.json (Norwegian)

* New translations setting.json (Norwegian)

* New translations update.json (Norwegian)

* New translations index.json (Norwegian)

* New translations main.json (Norwegian)

* New translations setting.json (Norwegian)
2019-11-18 01:13:41 +09:00
cutls
eda554eb8f Fix: fetch remote acct data 2019-11-18 01:08:55 +09:00
cutls
2936bd1e5a fix 2019-11-18 01:08:38 +09:00
cutls
df2f86f577 Fix: translation and fetch toot by URL 2019-11-18 01:08:25 +09:00
cutls
b9d1899cf2 typo 2019-11-18 01:07:59 +09:00
cutls
b01497e391 better coding :) 2019-11-18 01:07:44 +09:00
cutls
af38681293 When IntegTL str closed, icons become red 2019-11-16 23:04:31 +09:00
cutls
022565e176 Fix twitter link flied 2019-11-16 22:55:49 +09:00
cutls
00863d6917 Fix: Link analyzer not working 2019-11-16 22:47:18 +09:00
cutls
e345b3a479 Nice insert emoji and tags yeah 2019-11-16 22:02:42 +09:00
cutls
fe32723ad5 Fix: moreLoading 2019-11-16 21:29:11 +09:00
cutls
b9d562d8f0 www.youtube.com 2019-11-16 14:29:06 +09:00
cutls
83bd9499fd TheDesk20.0.3 (Kawaii) 2019-11-16 14:15:45 +09:00
cutls
d3911792ec details 2019-11-16 13:40:35 +09:00
cutls
5c49715298 Around bookmark 2019-11-16 13:36:16 +09:00
cutls
2b3feb40ad Add bookmark TL 2019-11-16 04:58:37 +09:00
cutls
f7dbeaef84 Add dropdown and bookmark 2019-11-16 03:42:23 +09:00
cutls
31472e3206 gitignore 2019-11-16 00:02:03 +09:00
cutls
2e88a8e0c3 Add: Japanese(Kansai) locale 2019-11-16 00:01:54 +09:00
cutls
224d762bc6 Add twitcasting 2019-11-14 02:48:49 +09:00
cutls
2fa1299391 To improve and secure cards... 2019-11-14 02:42:06 +09:00
cutls
dad459694c Merge branch 'master' of github.com:cutls/TheDesk 2019-11-14 01:42:20 +09:00
cutls
c2fa24c956 Fix: thread 2019-11-14 01:42:09 +09:00
dependabot-preview[bot]
e55ea3bd0c Bump electron-builder from 21.2.0 to 22.1.0 in /app (#154)
Bumps [electron-builder](https://github.com/electron-userland/electron-builder) from 21.2.0 to 22.1.0.
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/compare/v21.2.0...v22.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-14 00:53:45 +09:00
dependabot-preview[bot]
ae9e6c4a56 Bump chokidar from 3.2.3 to 3.3.0 in /app (#157)
Bumps [chokidar](https://github.com/paulmillr/chokidar) from 3.2.3 to 3.3.0.
- [Release notes](https://github.com/paulmillr/chokidar/releases)
- [Commits](https://github.com/paulmillr/chokidar/compare/3.2.3...3.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-14 00:53:31 +09:00
dependabot-preview[bot]
2a5bb034ab Bump materialize-css from 2387ea3 to e3eb698 in /app (#169)
Bumps [materialize-css](https://github.com/cutls/materialize) from `2387ea3` to `e3eb698`.
- [Release notes](https://github.com/cutls/materialize/releases)
- [Commits](2387ea3897...e3eb698a07)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-14 00:52:42 +09:00
dependabot-preview[bot]
49f190a471 Bump sweetalert2 from 8.18.6 to 9.3.4 in /app (#170)
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 8.18.6 to 9.3.4.
- [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/v8.18.6...v9.3.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-14 00:52:19 +09:00
Cutls
3f5a870877 New Crowdin translations (#167)
* New translations index.json (Russian)

* New translations index.json (Romanian)

* New translations index.json (Portuguese, Brazilian)

* New translations index.json (Portuguese)

* New translations index.json (Polish)

* New translations index.json (Norwegian)

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

* New translations index.json (Italian)

* New translations index.json (Vietnamese)

* New translations index.json (Ukrainian)

* New translations index.json (Turkish)

* New translations index.json (Swedish)

* New translations index.json (Spanish)

* New translations index.json (Afrikaans)

* New translations index.json (Chinese Traditional)

* New translations index.json (Danish)

* New translations index.json (Catalan)

* New translations index.json (Arabic)

* New translations index.json (Hungarian)

* New translations index.json (Hebrew)

* New translations index.json (Greek)

* New translations index.json (French)

* New translations index.json (Finnish)

* New translations index.json (Dutch)

* New translations acct.json (German)

* New translations index.json (German)

* New translations index.json (German)

* New translations index.json (German)

* New translations index.json (German)
2019-11-14 00:51:39 +09:00
cutls
fd3cf1eb9f TheDesk 20.0.2 (Kawaii) 2019-11-12 00:59:07 +09:00
cutls
9a49979dcb Reconnecting overflow 2019-11-12 00:55:32 +09:00
cutls
6a11099b50 Error on en setting 2019-11-12 00:55:21 +09:00
cutls
5c5c57739a Copy the URL 2019-11-12 00:16:48 +09:00
cutls
8e663391b9 For grapheme cluster compt 2019-11-11 01:20:51 +09:00
cutls
85ccbd1382 For emoji counting 2019-11-11 01:06:46 +09:00
cutls
542ee57f93 Fix: the account color pref. is sometimes losted 2019-11-10 20:37:13 +09:00
132 changed files with 3331 additions and 2067 deletions

1
.gitignore vendored
View File

@@ -14,6 +14,7 @@ app/node_modules
app/js/login/tkn.js
app/view/en
app/view/ja
app/view/ja-KS
app/view/de
app/view/bg
app/view/cs

View File

@@ -1,22 +0,0 @@
## For Astarte(kirishima.cloud), My Primary Instance
TheDesk :thedesk: Akane (16.1.0)
・不具合修正(マウスオーバー,クリックに関する)
・2.5.0に対する対応(リプ数やendorseなど)
・軽量化を図った
・一つのカラムをTwitter(TweetDeck)にできる機能
・画像の保存先を変えられるように
・インスタンス情報の拡充
・デザイン変更
・トゥートバーを左端に持ってこれるように
・Windowsのネイティブ通知が復活
ほか
https://thedesk.top
:github: https://github.com/cutls/TheDesk #Desk #DeskUpdate
## For Other Instances
TheDesk :thedesk: Akane (16.0.1)
https://thedesk.top

View File

@@ -1,8 +0,0 @@
# プライバシーポリシー
* TheDeskは「開発者からのお知らせ」配信のためにサーバー(thedesk.top)に常時アクセスしています。
* 上記の接続によるユーザーの情報提供はありません。(IPアドレス等を含む)
* thedesk.topのページにおいては、Googleアナリティクスによる解析を採用しています。
* 配信についてAmazon Web Service CloudFrontを使用しています。CloudFrontにはアクセス解析機能がありますが、これの使用につきましては同プライバシーポリシーに則ります。
* 接続するインスタンスのプライバシーポリシーはAPIを通じた全てのアクションに対して有効ですので、TheDeskについてもそれらに則ります。

View File

@@ -180,26 +180,6 @@ blockquote:before,
right: 0;
top: 0;
}
.twitter-tweet {
color: black;
background-color: #fff;
padding: 1em 1em 1em;
position: relative;
border-top-left-radius: 10px;
border-bottom-right-radius: 10px;
border-bottom-left-radius: 10px;
border-left: 5px solid #0c7abf;
}
.twitter-tweet :before {
content: "From Twitter";
font-size: 1.8rem;
line-height: 1em;
font-family: Open Sans;
color: #999;
position: absolute;
right: 0;
top: 0;
}
.pixiv-post {
color: black;
background-color: #fff;

View File

@@ -415,6 +415,40 @@ iframe,
color: var(--color);
transition: 0.5s;
}
#contextWrap {
position: fixed;
width: 199vw;
height: 100vh;
z-index: 100;
}
.contextMenu {
position: fixed;
background-color: var(--box);
z-index: 9999;
border-radius: 5px;
padding: 5px;
}
.contextMenu.bottom:before {
content: '';
position: absolute;
top: 100%;
right: 27px;
border: 15px solid transparent;
border-top: 15px solid var(--box);
}
.contextMenu.top:before {
content: '';
position: absolute;
top: -30px;
right: 27px;
border: 15px solid transparent;
border-bottom: 15px solid var(--box);
}
.contextMenu .btn-flat {
text-transform: none !important;
width: 100%;
text-align: left;
}
.gray {
color: var(--gray);

View File

@@ -2,128 +2,137 @@
//最初に読むやつ
//アスタルテ判定初期化
localStorage.removeItem("kirishima");
localStorage.removeItem("quoters");
localStorage.removeItem("imas");
localStorage.removeItem("image");
localStorage.removeItem("stable");
localStorage.setItem("mode_misskey.xyz", "misskey");
localStorage.removeItem('kirishima')
localStorage.removeItem('quoters')
localStorage.removeItem('imas')
localStorage.removeItem('image')
localStorage.removeItem('stable')
localStorage.setItem('mode_misskey.xyz', 'misskey')
function ck() {
var main = localStorage.getItem("main");
var main = localStorage.getItem('main')
if (!main) {
localStorage.setItem("main", 0);
localStorage.setItem('main', 0)
}
//コード受信
if (location.search) {
var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/);
var mode = m[1];
var codex = m[2];
if (mode == "manager" || mode == "login") {
code(codex, mode);
var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/)
var mode = m[1]
var codex = m[2]
if (mode == 'manager' || mode == 'login') {
code(codex, mode)
} else {
}
}
var multi = localStorage.getItem("multi");
if (!multi || multi == "[]") {
var date = new Date();
localStorage.setItem("showSupportMe", date.getMonth() + 2);
location.href = "acct.html?mode=first&code=true";
var multi = localStorage.getItem('multi')
if (!multi || multi == '[]') {
var date = new Date()
localStorage.setItem('showSupportMe', date.getMonth() + 2)
location.href = 'acct.html?mode=first&code=true'
} else {
var obj = JSON.parse(multi);
var jp = false;
var obj = JSON.parse(multi)
var jp = false
Object.keys(obj).forEach(function(key) {
var acct = obj[key];
var acct = obj[key]
if (acct.domain) {
refresh(key, true);
refresh(key, true)
}
if (acct.domain == "mstdn.jp") {
jp = true;
if (acct.domain == 'mstdn.jp') {
jp = true
}
});
})
if (obj[0].domain) {
$("#tl").show();
ticker();
multiSelector(false);
verck(ver, jp);
$(".stw").show();
$("#something-wrong img").attr("src", "../../img/thinking.svg");
$('#tl').show()
ticker()
multiSelector(false)
verck(ver, jp)
$('.stw').show()
$('#something-wrong img').attr('src', '../../img/thinking.svg')
}
}
}
ck();
ck()
//ログインポップアップ
function login(url) {
if ($("#linux:checked").val() == "on") {
var red = "urn:ietf:wg:oauth:2.0:oob";
if ($('#linux:checked').val() == 'on') {
var red = 'urn:ietf:wg:oauth:2.0:oob'
} else {
var red = "thedesk://login";
var red = 'thedesk://login'
}
localStorage.setItem("redirect", red);
var start = "https://" + url + "/api/v1/apps";
var httpreq = new XMLHttpRequest();
httpreq.open("POST", start, true);
httpreq.setRequestHeader("Content-Type", "application/json");
httpreq.responseType = "json";
localStorage.setItem('redirect', red)
var start = 'https://' + url + '/api/v1/apps'
var httpreq = new XMLHttpRequest()
httpreq.open('POST', start, true)
httpreq.setRequestHeader('Content-Type', 'application/json')
httpreq.responseType = 'json'
httpreq.send(
JSON.stringify({
scopes: "read write follow",
client_name: "TheDesk(PC)",
scopes: 'read write follow',
client_name: 'TheDesk(PC)',
redirect_uris: red,
website: "https://thedesk.top"
website: 'https://thedesk.top'
})
);
)
httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) {
var json = httpreq.response;
var json = httpreq.response
if (this.status !== 200) {
setLog(start, this.status, json);
setLog(start, this.status, json)
}
var auth = "https://" + url + "/oauth/authorize?client_id=" + json["client_id"] + "&client_secret=" + json["client_secret"] + "&response_type=code&redirect_uri=" + red + "&scope=read+write+follow";
localStorage.setItem("domain_" + acct_id, url);
localStorage.setItem("client_id", json["client_id"]);
localStorage.setItem("client_secret", json["client_secret"]);
$("#auth").show();
$("#masara").hide();
postMessage(["openUrl", auth], "*");
var auth =
'https://' +
url +
'/oauth/authorize?client_id=' +
json['client_id'] +
'&client_secret=' +
json['client_secret'] +
'&response_type=code&redirect_uri=' +
red +
'&scope=read+write+follow'
localStorage.setItem('domain_' + acct_id, url)
localStorage.setItem('client_id', json['client_id'])
localStorage.setItem('client_secret', json['client_secret'])
$('#auth').show()
$('#masara').hide()
postMessage(['openUrl', auth], '*')
if ($("#linux:checked").val() == "on") {
if ($('#linux:checked').val() == 'on') {
} else {
postMessage(["sendSinmpleIpc", "quit"], "*");
postMessage(['sendSinmpleIpc', 'quit'], '*')
}
}
};
}
}
//テキストボックスにURL入れた
function instance() {
var url = $("#url").val();
login(url);
var url = $('#url').val()
login(url)
}
//コードを入れた後認証
function code(code, mode) {
var red = localStorage.getItem("redirect");
localStorage.removeItem("redirect");
var red = localStorage.getItem('redirect')
localStorage.removeItem('redirect')
if (!code) {
var code = $("#code").val();
var code = $('#code').val()
}
if (localStorage.getItem("domain_tmp")) {
var url = localStorage.getItem("domain_tmp");
if (localStorage.getItem('domain_tmp')) {
var url = localStorage.getItem('domain_tmp')
} else {
var url = localStorage.getItem("domain_" + acct_id);
var url = localStorage.getItem('domain_' + acct_id)
}
var start = "https://" + url + "/oauth/token";
var id = localStorage.getItem("client_id");
var secret = localStorage.getItem("client_secret");
var start = 'https://' + url + '/oauth/token'
var id = localStorage.getItem('client_id')
var secret = localStorage.getItem('client_secret')
fetch(start, {
method: "POST",
method: 'POST',
headers: {
"content-type": "application/json"
'content-type': 'application/json'
},
body: JSON.stringify({
grant_type: "authorization_code",
grant_type: 'authorization_code',
redirect_uri: red,
client_id: id,
client_secret: secret,
@@ -133,451 +142,472 @@ function code(code, mode) {
.then(function(response) {
if (!response.ok) {
response.text().then(function(text) {
setLog(response.url, response.status, text);
});
setLog(response.url, response.status, text)
})
}
return response.json();
return response.json()
})
.catch(function(error) {
todo(error);
setLog(start, "JSON", error);
console.error(error);
todo(error)
setLog(start, 'JSON', error)
console.error(error)
})
.then(function(json) {
todo(json);
if (json["access_token"]) {
localStorage.setItem(url + "_at", json["access_token"]);
if (mode == "manager") {
getdataAdv(url, json["access_token"]);
todo(json)
if (json['access_token']) {
localStorage.setItem(url + '_at', json['access_token'])
if (mode == 'manager') {
getdataAdv(url, json['access_token'])
} else {
getdata();
getdata()
}
}
});
})
}
//ユーザーデータ取得(最初)
function getdata() {
var acct_id = 0;
var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_" + acct_id + "_at");
var start = "https://" + domain + "/api/v1/accounts/verify_credentials";
var acct_id = 0
var domain = localStorage.getItem('domain_' + acct_id)
var at = localStorage.getItem('acct_' + acct_id + '_at')
var start = 'https://' + domain + '/api/v1/accounts/verify_credentials'
fetch(start, {
method: "GET",
method: 'GET',
headers: {
"content-type": "application/json",
Authorization: "Bearer " + at
'content-type': 'application/json',
Authorization: 'Bearer ' + at
}
})
.then(function(response) {
if (!response.ok) {
response.text().then(function(text) {
setLog(response.url, response.status, text);
});
setLog(response.url, response.status, text)
})
}
return response.json();
return response.json()
})
.catch(function(error) {
todo(error);
setLog(start, "JSON", error);
console.error(error);
todo(error)
setLog(start, 'JSON', error)
console.error(error)
})
.then(function(json) {
if (json.error) {
console.error("Error:" + json.error);
M.toast({ html: lang.lang_fatalerroroccured + "Error:" + json.error, displayLength: 5000 });
return;
console.error('Error:' + json.error)
M.toast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 })
return
}
var avatar = json["avatar"];
var avatar = json['avatar']
//missingがmissingなやつ
if (avatar == "/avatars/original/missing.png") {
avatar = "./img/missing.svg";
if (avatar == '/avatars/original/missing.png') {
avatar = './img/missing.svg'
}
var obj = [
{
at: at,
name: json["display_name"],
name: json['display_name'],
domain: domain,
user: json["acct"],
user: json['acct'],
prof: avatar,
id: json["id"],
vis: json["source"]["privacy"]
id: json['id'],
vis: json['source']['privacy']
}
];
var json = JSON.stringify(obj);
localStorage.setItem("multi", json);
localStorage.setItem("name_" + acct_id, json["display_name"]);
localStorage.setItem("user_" + acct_id, json["acct"]);
localStorage.setItem("user-id_" + acct_id, json["id"]);
localStorage.setItem("prof_" + acct_id, avatar);
$("#masara").hide();
$("#auth").hide();
$("#tl").show();
parseColumn();
ckdb();
});
]
var json = JSON.stringify(obj)
localStorage.setItem('multi', json)
localStorage.setItem('name_' + acct_id, json['display_name'])
localStorage.setItem('user_' + acct_id, json['acct'])
localStorage.setItem('user-id_' + acct_id, json['id'])
localStorage.setItem('prof_' + acct_id, avatar)
$('#masara').hide()
$('#auth').hide()
$('#tl').show()
parseColumn()
ckdb()
})
}
//ユーザーデータ取得(追加)
function getdataAdv(domain, at) {
var start = "https://" + domain + "/api/v1/accounts/verify_credentials";
var start = 'https://' + domain + '/api/v1/accounts/verify_credentials'
fetch(start, {
method: "GET",
method: 'GET',
headers: {
"content-type": "application/json",
Authorization: "Bearer " + at
'content-type': 'application/json',
Authorization: 'Bearer ' + at
}
})
.then(function(response) {
if (!response.ok) {
response.text().then(function(text) {
setLog(response.url, response.status, text);
});
setLog(response.url, response.status, text)
})
}
return response.json();
return response.json()
})
.catch(function(error) {
todo(error);
setLog(start, "JSON", error);
console.error(error);
todo(error)
setLog(start, 'JSON', error)
console.error(error)
})
.then(function(json) {
if (json.error) {
console.error("Error:" + json.error);
M.toast({ html: lang.lang_fatalerroroccured + "Error:" + json.error, displayLength: 5000 });
return;
console.error('Error:' + json.error)
M.toast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 })
return
}
var avatar = json["avatar"];
var avatar = json['avatar']
//missingがmissingなやつ
if (avatar == "/avatars/original/missing.png") {
avatar = "../../img/missing.svg";
if (avatar == '/avatars/original/missing.png') {
avatar = '../../img/missing.svg'
}
if (json["source"]["privacy"]) {
var priv = json["source"]["privacy"];
if (json['source']['privacy']) {
var priv = json['source']['privacy']
} else {
var priv = "public";
var priv = 'public'
}
var add = {
at: at,
name: json["display_name"],
name: json['display_name'],
domain: domain,
user: json["acct"],
user: json['acct'],
prof: avatar,
id: json["id"],
id: json['id'],
vis: priv
};
var multi = localStorage.getItem("multi");
var obj = JSON.parse(multi);
var target = obj.lengtth;
obj.push(add);
localStorage.setItem("name_" + target, json["display_name"]);
localStorage.setItem("user_" + target, json["acct"]);
localStorage.setItem("user-id_" + target, json["id"]);
localStorage.setItem("prof_" + target, avatar);
var json = JSON.stringify(obj);
localStorage.setItem("multi", json);
location.href = "index.html";
});
}
var multi = localStorage.getItem('multi')
var obj = JSON.parse(multi)
var target = obj.lengtth
obj.push(add)
localStorage.setItem('name_' + target, json['display_name'])
localStorage.setItem('user_' + target, json['acct'])
localStorage.setItem('user-id_' + target, json['id'])
localStorage.setItem('prof_' + target, avatar)
var json = JSON.stringify(obj)
localStorage.setItem('multi', json)
location.href = 'index.html'
})
}
//ユーザーデータ更新
function refresh(target, loadskip) {
var multi = localStorage.getItem("multi");
var obj = JSON.parse(multi);
if (obj[target].mode == "misskey") {
return;
var multi = localStorage.getItem('multi')
var obj = JSON.parse(multi)
if (obj[target].mode == 'misskey') {
return
}
var start = "https://" + obj[target].domain + "/api/v1/accounts/verify_credentials";
var start = 'https://' + obj[target].domain + '/api/v1/accounts/verify_credentials'
fetch(start, {
method: "GET",
method: 'GET',
headers: {
"content-type": "application/json",
Authorization: "Bearer " + obj[target].at
'content-type': 'application/json',
Authorization: 'Bearer ' + obj[target].at
}
})
.then(function(response) {
if (!response.ok) {
response.text().then(function(text) {
setLog(response.url, response.status, text);
});
setLog(response.url, response.status, text)
})
}
return response.json();
return response.json()
})
.catch(function(error) {
todo(error);
setLog(start, "JSON", error);
console.error(error);
todo(error)
setLog(start, 'JSON', error)
console.error(error)
})
.then(function(json) {
if (json.error) {
console.error("Error:" + json.error);
M.toast({ html: lang.lang_fatalerroroccured + "Error:" + json.error, displayLength: 5000 });
return;
console.error('Error:' + json.error)
M.toast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 })
return
}
var avatar = json["avatar"];
var avatar = json['avatar']
//missingがmissingなやつ
if (avatar == "/avatars/original/missing.png" || !avatar) {
avatar = "./img/missing.svg";
if (avatar == '/avatars/original/missing.png' || !avatar) {
avatar = './img/missing.svg'
}
var ref = {
at: obj[target].at,
name: json["display_name"],
name: json['display_name'],
domain: obj[target].domain,
user: json["acct"],
user: json['acct'],
prof: avatar,
id: json["id"],
vis: json["source"]["privacy"]
};
localStorage.setItem("name_" + target, json["display_name"]);
localStorage.setItem("user_" + target, json["acct"]);
localStorage.setItem("user-id_" + target, json["id"]);
localStorage.setItem("prof_" + target, avatar);
localStorage.setItem("follow_" + target, json["following_count"]);
if (json["source"]["sensitive"]) {
localStorage.setItem("nsfw_" + target, "true");
id: json['id'],
vis: json['source']['privacy']
}
if (obj[target].background) {
ref.background = obj[target].background
}
if (obj[target].text) {
ref.text = obj[target].text
}
localStorage.setItem('name_' + target, json['display_name'])
localStorage.setItem('user_' + target, json['acct'])
localStorage.setItem('user-id_' + target, json['id'])
localStorage.setItem('prof_' + target, avatar)
localStorage.setItem('follow_' + target, json['following_count'])
if (json['source']['sensitive']) {
localStorage.setItem('nsfw_' + target, 'true')
} else {
localStorage.removeItem("nsfw_" + target);
localStorage.removeItem('nsfw_' + target)
}
obj[target] = ref;
var json = JSON.stringify(obj);
localStorage.setItem("multi", json);
obj[target] = ref
var json = JSON.stringify(obj)
localStorage.setItem('multi', json)
if (!loadskip) {
load();
load()
}
});
})
}
//MarkdownやBBCodeの対応、文字数制限をチェック
//絶対ストリーミングを閉じさせないマン
function ckdb(acct_id) {
var domain = localStorage.getItem("domain_" + acct_id);
localStorage.removeItem("home_" + acct_id);
localStorage.removeItem("bb_" + acct_id);
localStorage.removeItem("md_" + acct_id);
localStorage.removeItem("local_" + acct_id);
localStorage.removeItem("public_" + acct_id);
localStorage.removeItem("notification_" + acct_id);
localStorage.removeItem("post_" + acct_id);
localStorage.removeItem("fav_" + acct_id);
localStorage.removeItem("bt_" + acct_id);
localStorage.removeItem("followlocale_" + acct_id);
if (domain == "kirishima.cloud") {
localStorage.setItem("kirishima", "true");
} else if (domain == "imastodon.net") {
localStorage.setItem("imas", "true");
$(".imasonly").show();
var domain = localStorage.getItem('domain_' + acct_id)
localStorage.removeItem('home_' + acct_id)
localStorage.removeItem('bb_' + acct_id)
localStorage.removeItem('md_' + acct_id)
localStorage.removeItem('local_' + acct_id)
localStorage.removeItem('public_' + acct_id)
localStorage.removeItem('notification_' + acct_id)
localStorage.removeItem('post_' + acct_id)
localStorage.removeItem('fav_' + acct_id)
localStorage.removeItem('bt_' + acct_id)
localStorage.removeItem('followlocale_' + acct_id)
if (domain == 'kirishima.cloud') {
localStorage.setItem('kirishima', 'true')
} else if (domain == 'imastodon.net') {
localStorage.setItem('imas', 'true')
$('.imasonly').show()
}
var at = localStorage.getItem("acct_" + acct_id + "_at");
var bbcode = domain + "_bbcode";
var letters = domain + "_letters";
var quoteMarker = domain + "_quote";
if (localStorage.getItem("instance")) {
var json = JSON.parse(localStorage.getItem("instance"));
if (json[quoteMarker] == "enabled") {
localStorage.setItem("quoters", "true");
localStorage.setItem("quote_" + acct_id, "true");
var at = localStorage.getItem('acct_' + acct_id + '_at')
var bbcode = domain + '_bbcode'
var letters = domain + '_letters'
var quoteMarker = domain + '_quote'
if (localStorage.getItem('instance')) {
var json = JSON.parse(localStorage.getItem('instance'))
if (json[quoteMarker] == 'enabled') {
localStorage.setItem('quoters', 'true')
localStorage.setItem('quote_' + acct_id, 'true')
}
if (json[bbcode]) {
if (json[bbcode] == "enabled") {
localStorage.setItem("bb_" + acct_id, "true");
if (json[bbcode] == 'enabled') {
localStorage.setItem('bb_' + acct_id, 'true')
} else {
localStorage.removeItem("bb_" + acct_id);
$("[data-activates='bbcode']").addClass("disabled");
$("[data-activates='bbcode']").prop("disabled", true);
localStorage.removeItem('bb_' + acct_id)
$("[data-activates='bbcode']").addClass('disabled')
$("[data-activates='bbcode']").prop('disabled', true)
}
} else {
localStorage.removeItem("bb_" + acct_id);
$("[data-activates='bbcode']").addClass("disabled");
$("[data-activates='bbcode']").addClass("disabled", true);
localStorage.removeItem('bb_' + acct_id)
$("[data-activates='bbcode']").addClass('disabled')
$("[data-activates='bbcode']").addClass('disabled', true)
}
if (json[domain + "_markdown"] == "enabled") {
localStorage.setItem("md_" + acct_id, "true");
$(".markdown").show();
if (json[domain + '_markdown'] == 'enabled') {
localStorage.setItem('md_' + acct_id, 'true')
$('.markdown').show()
} else {
$(".anti-markdown").hide();
$(".markdown").hide();
localStorage.removeItem("bb_" + acct_id);
$('.anti-markdown').hide()
$('.markdown').hide()
localStorage.removeItem('bb_' + acct_id)
}
if (json[domain + "_home"]) {
localStorage.setItem("home_" + acct_id, json[domain + "_home"]);
if (json[domain + '_home']) {
localStorage.setItem('home_' + acct_id, json[domain + '_home'])
}
if (json[domain + "_local"]) {
localStorage.setItem("local_" + acct_id, json[domain + "_local"]);
if (json[domain + '_local']) {
localStorage.setItem('local_' + acct_id, json[domain + '_local'])
}
if (json[domain + "_public"]) {
localStorage.setItem("public_" + acct_id, json[domain + "_public"]);
if (json[domain + '_public']) {
localStorage.setItem('public_' + acct_id, json[domain + '_public'])
}
if (json[domain + "_notification"]) {
localStorage.setItem("notification_" + acct_id, json[domain + "_notification"]);
if (json[domain + '_notification']) {
localStorage.setItem('notification_' + acct_id, json[domain + '_notification'])
}
if (json[domain + "_post"]) {
localStorage.setItem("post_" + acct_id, json[domain + "_post"]);
if (json[domain + '_post']) {
localStorage.setItem('post_' + acct_id, json[domain + '_post'])
}
if (json[domain + "_fav"]) {
localStorage.setItem("fav_" + acct_id, json[domain + "_fav"]);
if (json[domain + '_fav']) {
localStorage.setItem('fav_' + acct_id, json[domain + '_fav'])
}
if (json[domain + "_bt"]) {
localStorage.setItem("bt_" + acct_id, json[domain + "_bt"]);
if (json[domain + '_bt']) {
localStorage.setItem('bt_' + acct_id, json[domain + '_bt'])
}
if (json[domain + "_follow"]) {
localStorage.setItem("followlocale_" + acct_id, json[domain + "_follow"]);
if (json[domain + '_follow']) {
localStorage.setItem('followlocale_' + acct_id, json[domain + '_follow'])
}
}
if (localStorage.getItem("mode_" + domain) != "misskey") {
var start = "https://" + domain + "/api/v1/instance";
if (localStorage.getItem('mode_' + domain) != 'misskey') {
var start = 'https://' + domain + '/api/v1/instance'
fetch(start, {
method: "GET",
method: 'GET',
headers: {
"content-type": "application/json"
'content-type': 'application/json'
}
})
.then(function(response) {
return response.json();
return response.json()
})
.catch(function(error) {
console.error(error);
console.error(error)
})
.then(function(json) {
if (json.error) {
console.error(json.error);
return;
console.error(json.error)
return
}
if (json) {
if (json["max_toot_chars"]) {
localStorage.setItem("letters_" + acct_id, json["max_toot_chars"]);
if (json['max_toot_chars']) {
localStorage.setItem('letters_' + acct_id, json['max_toot_chars'])
}
if (json["urls"]["streaming_api"]) {
localStorage.setItem("streaming_" + acct_id, json["urls"]["streaming_api"]);
if (json['urls']['streaming_api']) {
localStorage.setItem('streaming_' + acct_id, json['urls']['streaming_api'])
} else {
localStorage.removeItem("streaming_" + acct_id);
localStorage.removeItem('streaming_' + acct_id)
}
}
});
})
} else {
}
}
//アカウントを選択…を実装
function multiSelector(parseC) {
var multi = localStorage.getItem("multi");
var multi = localStorage.getItem('multi')
if (!multi) {
var obj = [];
var json = JSON.stringify(obj);
localStorage.setItem("multi", json);
var obj = []
var json = JSON.stringify(obj)
localStorage.setItem('multi', json)
} else {
var obj = JSON.parse(multi);
var obj = JSON.parse(multi)
}
var templete;
if (localStorage.getItem("mainuse") == "main") {
var last = localStorage.getItem("main");
} else if (localStorage.getItem("last-use")) {
var last = localStorage.getItem("last-use");
if (last == "webview" || last == "noauth") {
last = "0";
var templete
if (localStorage.getItem('mainuse') == 'main') {
var last = localStorage.getItem('main')
} else if (localStorage.getItem('last-use')) {
var last = localStorage.getItem('last-use')
if (last == 'webview' || last == 'noauth') {
last = '0'
}
} else {
var last = "0";
var last = '0'
}
last = last + "";
var sel;
last = last + ''
var sel
if (obj.length < 1) {
$("#src-acct-sel").html('<option value="tootsearch">Tootsearch</option>');
$("#add-acct-sel").html('<option value="noauth">' + lang.lang_login_noauth + "</option>");
$('#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) {
var acct = obj[key];
var list = key * 1 + 1;
if (key + "" === last) {
sel = "selected";
var domain = acct.domain;
localStorage.setItem("domain_" + key, domain);
if (idata[domain + "_letters"]) {
$("#textarea").attr("data-length", idata[domain + "_letters"]);
var acct = obj[key]
var list = key * 1 + 1
if (key + '' === last) {
sel = 'selected'
var domain = acct.domain
localStorage.setItem('domain_' + key, domain)
if (idata[domain + '_letters']) {
$('#textarea').attr('data-length', idata[domain + '_letters'])
} else {
var maxletters = localStorage.getItem("letters_" + key);
var maxletters = localStorage.getItem('letters_' + key)
if (maxletters > 0) {
$("#textarea").attr("data-length", maxletters);
$('#textarea').attr('data-length', maxletters)
} else {
$("#textarea").attr("data-length", 500);
$('#textarea').attr('data-length', 500)
}
}
if (idata[domain + "_glitch"]) {
$("#local-button").removeClass("hide");
if (idata[domain + '_glitch']) {
$('#local-button').removeClass('hide')
}
var profimg = acct.prof;
var profimg = acct.prof
//localStorage.setItem("prof_" + key, profimg);
if (!profimg) {
profimg = "../../img/missing.svg";
profimg = '../../img/missing.svg'
}
$("#acct-sel-prof").attr("src", profimg);
$('#acct-sel-prof').attr('src', profimg)
if (domain) {
var cc = "(" + domain + ")";
var cc = '(' + domain + ')'
} else {
var cc = "";
var cc = ''
}
$("#toot-post-btn").text(lang.lang_toot + cc);
if (acct.background && acct.background != "def" && acct.text && acct.text != "def") {
$("#toot-post-btn").removeClass("indigo");
$("#toot-post-btn").css("background-color", "#" + acct.background);
$("#toot-post-btn").css("color", acct.text);
$('#toot-post-btn').text(lang.lang_toot + cc)
if (acct.background && acct.background != 'def' && acct.text && acct.text != 'def') {
$('#toot-post-btn').removeClass('indigo')
$('#toot-post-btn').css('background-color', '#' + acct.background)
$('#toot-post-btn').css('color', acct.text)
} else {
}
if (domain == "kirishima.cloud") {
$("#faicon-btn").show();
if (domain == 'kirishima.cloud') {
$('#faicon-btn').show()
} else {
$("#faicon-btn").hide();
$('#faicon-btn').hide()
}
if (domain == "imastodon.net") {
trendTag();
if (domain == 'imastodon.net') {
trendTag()
} else {
$("#trendtag").html("");
$('#trendtag').html('')
}
} else {
sel = "";
sel = ''
}
templete = '<option value="' + key + '" data-icon="' + acct.prof + '" class="left circle" ' + sel + ">" + acct.user + "@" + acct.domain + "</option>";
$(".acct-sel").append(templete);
});
$("#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>');
$("#dir-acct-sel").append('<option value="noauth">' + lang.lang_login_noauth + "</option>");
templete =
'<option value="' +
key +
'" data-icon="' +
acct.prof +
'" class="left circle" ' +
sel +
'>' +
acct.user +
'@' +
acct.domain +
'</option>'
$('.acct-sel').append(templete)
})
$('#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>'
)
$('#dir-acct-sel').append('<option value="noauth">' + lang.lang_login_noauth + '</option>')
}
$("select").formSelect();
$('select').formSelect()
if (!parseC) {
parseColumn(null, true);
parseColumn(null, true)
}
}
//バージョンエンコ
function enc(ver) {
var ver = ver.replace(/\s/g, "");
var ver = ver.replace(/\(/g, "-");
var ver = ver.replace(/\)/g, "");
var ver = ver.replace(/\[/g, "_");
var ver = ver.replace(/\]/g, "");
return ver;
var ver = ver.replace(/\s/g, '')
var ver = ver.replace(/\(/g, '-')
var ver = ver.replace(/\)/g, '')
var ver = ver.replace(/\[/g, '_')
var ver = ver.replace(/\]/g, '')
return ver
}
//インスタンスティッカー
function ticker() {
var start = "https://toot.app/toot/";
var start = 'https://toot.app/toot/'
fetch(start, {
method: "GET",
method: 'GET',
headers: {
"content-type": "application/json"
'content-type': 'application/json'
}
})
.then(function(response) {
if (!response.ok) {
response.text().then(function(text) {
setLog(response.url, response.status, text);
});
setLog(response.url, response.status, text)
})
}
return response.json();
return response.json()
})
.catch(function(error) {
console.error(error);
console.error(error)
})
.then(function(json) {
if (json) {
localStorage.setItem("ticker", JSON.stringify(json));
localStorage.setItem('ticker', JSON.stringify(json))
}
});
})
}

View File

@@ -862,6 +862,12 @@ function refresh(target) {
id: json['id'],
vis: json['source']['privacy']
}
if (obj[target].background) {
ref.background = obj[target].background
}
if (obj[target].text) {
ref.text = obj[target].text
}
localStorage.setItem('name_' + target, json['display_name'])
localStorage.setItem('user_' + target, json['acct'])
localStorage.setItem('user-id_' + target, json['id'])

View File

@@ -152,33 +152,21 @@ $.isSurrogatePear = function(upper, lower) {
return 0xd800 <= upper && upper <= 0xdbff && 0xdc00 <= lower && lower <= 0xdfff
}
$.mb_strlen = function(str) {
var ret = 0
for (var i = 0; i < str.length; i++, ret++) {
var upper = str.charCodeAt(i)
var lower = str.length > i + 1 ? str.charCodeAt(i + 1) : 0
if ($.isSurrogatePear(upper, lower)) {
i++
}
}
return ret
var splitter = new GraphemeSplitter()
var arr = splitter.splitGraphemes(str)
return arr.length
}
$.mb_substr = function(str, begin, end) {
var ret = ''
for (var i = 0, len = 0; i < str.length; i++, len++) {
var upper = str.charCodeAt(i)
var lower = str.length > i + 1 ? str.charCodeAt(i + 1) : 0
var s = ''
if ($.isSurrogatePear(upper, lower)) {
i++
s = String.fromCharCode(upper, lower)
} else {
s = String.fromCharCode(upper)
}
if (begin <= len && len < end) {
ret += s
//配列にする
var splitter = new GraphemeSplitter()
var arr = splitter.splitGraphemes(str)
var newarr = []
for(var i = 0; i < arr.length; i++){
if(i >= begin && i <= end){
newarr.push(arr[i])
}
}
return ret
return newarr.join('')
}
//ソートするやつ
function object_array_sort(data, key, order, fn) {

View File

@@ -284,32 +284,39 @@ function emojiList(target, reaction) {
//絵文字など様々なものをテキストボックスに挿入
function emojiInsert(code, del) {
var now = $('#textarea').val()
var selin = $('#textarea').prop('selectionStart')
if (localStorage.getItem('emoji-zero-width') == 'yes') {
var blank = ''
var blankBefore = ''
var blankAfter = ''
} else {
var blank = ' '
var blankBefore = ' '
var blankAfter = ' '
}
var before = now.substr(0, selin)
if (before.slice(-1) != ' ') {
before = before + blank
}
var after = now.substr(selin, now.length)
if (after.slice(-1) != ' ') {
after = blank + after
}
newt = before + code + after
if (!del) {
$('#textarea').val(newt)
//emoji();
var textarea = document.querySelector('#textarea')
var sentence = textarea.value
var len = sentence.length
var pos = textarea.selectionStart
if (del) {
var delLen = del.length
} else {
var regExp = new RegExp(del.replace(/[.*+?^=!:${}()|[\]\/\\]/g, '\\$&'), 'g')
var now = now.replace(regExp, '')
$('#textarea').val(now + blank + code)
var delLen = 0
}
$('#textarea').focus()
var before = sentence.substr(0, pos - delLen)
var last = before.substr(-1, 1)
if (last == ' ') blankBefore = ''
var after = sentence.substr(pos, len)
var start = after.substr(0, 1)
if (start == ' ') blankAfter = ''
if (len == 0) {
var word = code
} else if (len == pos) {
var word = blankBefore + code
} else if (pos == 0) {
var word = code + blankAfter
} else {
var word = blankBefore + code + blankAfter
}
sentence = before + word + after
textarea.value = sentence
}
//改行挿入
function brInsert(code) {

View File

@@ -115,6 +115,48 @@ function boostWith(vis) {
var acct_id = $('#tootmodal').attr('data-acct')
rt(id, acct_id, false, vis)
}
//ブックマーク
function bkm(id, acct_id, tlid) {
if ($('#pub_' + id).hasClass('bkmed')) {
var flag = 'unbookmark'
} else {
var flag = 'bookmark'
}
var domain = localStorage.getItem('domain_' + acct_id)
var at = localStorage.getItem('acct_' + acct_id + '_at')
var start = 'https://' + domain + '/api/v1/statuses/' + id + '/' + flag
var httpreq = new XMLHttpRequest()
httpreq.open('POST', start, true)
httpreq.setRequestHeader('Content-Type', 'application/json')
httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json'
httpreq.send()
httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) {
var json = httpreq.response
if (this.status !== 200) {
setLog(start, this.status, json)
}
if (json.reblog) {
json = json.reblog
}
var fav = json.favourites_count
$('[toot-id=' + id + '] .fav_ct').text(fav)
$('[toot-id=' + id + '] .rt_ct').text(json.reblogs_count)
if (flag == 'unbookmark') {
$('.bkmStr_' + id).text(lang.lang_parse_bookmark)
$('.bkm_' + id).removeClass('red-text')
$('[toot-id=' + id + ']').removeClass('bkmed')
} else {
$('.bkmStr_' + id).text(lang.lang_parse_unbookmark)
$('.bkm_' + id).addClass('red-text')
$('[toot-id=' + id + ']').addClass('bkmed')
}
var tlidTar = $(`.bookmark-timeline[data-acct=${acct_id}]`).attr('tlid')
columnReload(tlidTar,'bookmark')
}
}
}
//フォロー
async function follow(acct_id, resolve) {
@@ -406,12 +448,14 @@ function pin(id, acct_id) {
setLog(start, this.status, this.response)
}
console.log(['Success: pinned', json])
if ($('[toot-id=' + id + ']').hasClass('pined')) {
if (flag == 'unpin') {
$('[toot-id=' + id + ']').removeClass('pined')
$('.pin_' + id).removeClass('blue-text')
$('.pinStr_' + id).text(lang.lang_parse_pin)
} else {
$('[toot-id=' + id + ']').addClass('pined')
$('.pin_' + id).addClass('blue-text')
$('.pinStr_' + id).text(lang.lang_parse_unpin)
}
}
}
@@ -574,23 +618,35 @@ function staEx(mode) {
})
return
}
function toggleAction(id, tlid, acct_id) {
if (tlid == 'notf') {
var tlide = '[data-acct=' + acct_id + '] .notf-timeline'
} else if (tlid == 'user') {
var tlide = '#his-tl-contents'
function toggleAction(elem, height) {
var cont = elem.parents('.cvo').find('.contextMenu')
if (cont.hasClass('hide')) {
$('#contextWrap').removeClass('hide')
var left = elem.offset().left + 60
var top = elem.offset().top - height
if (top < 75) {
top = elem.offset().top + 45
cont.removeClass('bottom')
cont.addClass('top')
} else {
cont.removeClass('top')
cont.addClass('bottom')
}
if(elem.parents('.cvo').attr('id') == 'toot-this'){
console.log($('#toot-this').offset().top, elem.offset().top)
left = $('#toot-this').offset().left + elem.offset().left + 10
top = $('#toot-this').offset().top - $('#toot-this').height() -height + 25
}
cont.css('top', top + 'px')
cont.css('right', `calc(100vw - ${left}px)`)
cont.removeClass('hide')
elem
.parents('.cvo')
.find('.act-icon')
.text('expand_less')
} else {
var tlide = '[tlid=' + tlid + ']'
}
if (!$(tlide + ' [toot-id=' + id + ']').hasClass('ext-mode')) {
$(tlide + ' [toot-id=' + id + '] .type-a').hide()
$(tlide + ' [toot-id=' + id + '] .type-b').show()
$(tlide + ' [toot-id=' + id + ']').addClass('ext-mode')
$(tlide + ' [toot-id=' + id + '] .act-icon').text('expand_less')
} else {
$(tlide + ' [toot-id=' + id + '] .type-b').hide()
$(tlide + ' [toot-id=' + id + '] .type-a').show()
$(tlide + ' [toot-id=' + id + ']').removeClass('ext-mode')
$(tlide + ' [toot-id=' + id + '] .act-icon').text('expand_more')
$('#contextWrap').addClass('hide')
$('.contextMenu').addClass('hide')
$('.act-icon').text('expand_more')
}
}

View File

@@ -97,7 +97,9 @@ input.addEventListener(
his[4].uses * 1 +
his[5].uses * 1 +
his[6].uses * 1
tagHTML = `<br><a onclick="tagInsert('#${escapeHTML(tag.name)}','#${escapeHTML(tag.name)}')" class="pointer">#${escapeHTML(tag.name)}</a>&nbsp;${uses}toot(s)`
tagHTML = `<br><a onclick="tagInsert('#${escapeHTML(
tag.name
)}','#${q}')" class="pointer">#${escapeHTML(tag.name)}</a>&nbsp;${uses}toot(s)`
var item = {
uses: uses,
@@ -144,7 +146,9 @@ input.addEventListener(
if (acct.acct != q) {
//Instance Actorって…
if (acct.username.indexOf('.') < 0) {
accts = accts + `<a onclick="tagInsert('@${acct.acct}','@${q}')" class="pointer">@${acct.acct}</a><br>`
accts =
accts +
`<a onclick="tagInsert('@${acct.acct}','@${q}')" class="pointer">@${acct.acct}</a><br>`
}
}
})
@@ -194,23 +198,34 @@ input.addEventListener(
false
)
function tagInsert(code, del) {
var now = $('#textarea').val()
var selin = $('#textarea').prop('selectionStart')
if (!del) {
var blankBefore = ' '
var blankAfter = ' '
var textarea = document.querySelector('#textarea')
var sentence = textarea.value
var len = sentence.length
var pos = textarea.selectionStart
if (del) {
var delLen = del.length
} else {
var regExp = new RegExp(del.replace(/[.*+?^=!:${}()|[\]\/\\]/g, '\\$&'), 'g')
var now = now.replace(regExp, '')
selin = selin - del.length
var delLen = 0
}
if (selin > 0) {
var before = now.substr(0, selin)
var after = now.substr(selin, now.length)
newt = before + ' ' + code + ' ' + after
var before = sentence.substr(0, pos - delLen)
var last = before.substr(-1, 1)
if (last == ' ') blankBefore = ''
var after = sentence.substr(pos, len)
var start = after.substr(0, 1)
if (start == ' ') blankAfter = ''
if (len == 0) {
var word = code
} else if (len == pos) {
var word = blankBefore + code
} else if (pos == 0) {
var word = code + blankAfter
} else {
newt = code + ' ' + now
var word = blankBefore + code + blankAfter
}
$('#textarea').val(newt)
$('#textarea').focus()
sentence = before + word + after
textarea.value = sentence
if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide')) {
$('#right-side').hide()
$('#right-side').css('width', '300px')
@@ -251,7 +266,9 @@ function cgNPs(q) {
var tags = ''
Object.keys(json).forEach(function(key4) {
var tag = json[key4]
tags = tags + `<a onclick="cgNp('${json[key4]}')" class="pointer">${escapeHTML(json[key4])}</a>`
tags =
tags +
`<a onclick="cgNp('${json[key4]}')" class="pointer">${escapeHTML(json[key4])}</a>`
})
$('#suggest').html('Cinderella NowPlaying:' + tags)
} else {

View File

@@ -218,71 +218,9 @@ function additionalIndv(tlid, acct_id, id) {
console.error(error)
})
.then(function(json) {
json = json.card
//このリンク鳥やんけ、ってとき
if (json.provider_name == 'Twitter') {
if (json.image) {
var twiImg = `
<br><img src="${json.image}" style="max-width:100%"
onclick="imgv('twi_${id}',0,'twitter')" id="twi_${id}-image-0"
data-url="${json.image}"
data-type="image">
`
} else {
var twiImg = ''
}
$('[toot-id=' + id + '] .additional').html(`
<div class="twitter-tweet"><b>
${escapeHTML(json.author_name)}
</b><br>
${escapeHTML(json.description)}
${twiImg}
</div>
`)
} else if (json.provider_name == 'pixiv') {
if (json.image) {
var pxvImg = `
<br><img src="${json.image}" style="max-width:100%"
onclick="imgv('pixiv_${id}',0,'pixiv')" id="pixiv_${id}-image-0"
data-url="${json.embed_url}"
data-type="image">
`
} else {
var pxvImg = ''
}
$('[toot-id=' + id + '] .additional').html(
`<div class="pixiv-post"><b><a href="
${json.author_url}
" target="_blank">
${escapeHTML(json.author_name)}
</a></b><br>
${escapeHTML(json.title)}
${pxvImg}
</div>`
)
} else {
if (json.title) {
$('[toot-id=' + id + '] .additional').html(
`<span class="gray">URL
${lang.lang_cards_check}
:<br>Title:
${escapeHTML(json.title)}
<br>
${escapeHTML(json.description)}
</span>`
)
}
if (json.html) {
$('[toot-id=' + id + '] .additional').html(
json.html +
`<i class="material-icons sml pointer" onclick="pip('
${id}
')" title="
${lang.lang_cards_pip}
">picture_in_picture_alt</i>`
)
}
}
cards = json.card
var analyze = cardHtml(cards, acct_id, id)
$('[toot-id=' + id + '] .additional').html(analyze)
if (json.title) {
$('[toot-id=' + id + '] a:not(.parsed)').addClass('parsed')
$('[toot-id=' + id + ']').addClass('parsed')
@@ -291,7 +229,132 @@ function additionalIndv(tlid, acct_id, id) {
}
}
}
function cardHtml(json, acct_id, id) {
var analyze = ''
var domain = json.url.match(/^https?:\/{2,}(.*?)(?:\/|\?|#|$)/)[1];
var ok = [
"pixiv.net",
"twitter.com",
"mobile.twitter.com",
"open.spotify.com",
"youtube.com",
"youtu.be",
"m.youtube.com",
"www.youtube.com",
"nicovideo.jp",
"twitcasting.tv"
]
var isHad = _.includes(ok, domain);
if (json.provider_name == 'pixiv') {
if (json.image) {
var pxvImg = `
<br><img src="${json.image}" style="max-width:100%"
onclick="imgv('pixiv_${id}',0,'pixiv')" id="pixiv_${id}-image-0"
data-url="${json.embed_url}"
data-type="image">
`
} else {
var pxvImg = ''
}
analyze = `<div class="pixiv-post"><b><a href="
${json.author_url}
" target="_blank">
${escapeHTML(json.author_name)}
</a></b><br>
${escapeHTML(json.title)}
${pxvImg}
</div>`
} else {
if (json.title) {
analyze = `<span class="gray">URL
${lang.lang_cards_check}
:<br>Title:
${escapeHTML(json.title)}
<br>
${escapeHTML(json.description)}
</span>`
}
if (json.html || json.provider_name == 'Twitter') {
if(isHad) {
var prved = `<img class="emoji" draggable="false" alt="✅"
src="https://twemoji.maxcdn.com/v/12.1.3/72x72/2705.png">`
var title = lang.lang_cards_trusted
}else{
var prved = '<img class="emoji" draggable="false" alt="⚠️" src="https://twemoji.maxcdn.com/v/12.1.4/72x72/26a0.png">'
var title = lang.lang_cards_untrusted
}
analyze =`<a onclick="cardHtmlShow('${acct_id}','${id}')" class="add-show pointer" title="${title}">
${lang.lang_parse_html}(${domain})${prved}
</a>${analyze}<br>`
}
}
return analyze
}
function cardHtmlShow(acct_id, id) {
var domain = localStorage.getItem('domain_' + acct_id)
var at = localStorage.getItem('acct_' + acct_id + '_at')
var text = $('[toot-id=' + id + '] .toot a').attr('href')
var urls = text.match(
/https?:\/\/([-a-zA-Z0-9@.]+)\/media\/([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/
)
var id = $('[toot-id=' + id + '] .toot a')
.parents('.cvo')
.attr('toot-id')
var start = 'https://' + domain + '/api/v1/statuses/' + id
fetch(start, {
method: 'GET',
headers: {
'content-type': 'application/json',
Authorization: 'Bearer ' + at
}
//body: JSON.stringify({})
})
.then(function(response) {
if (!response.ok) {
response.text().then(function(text) {
setLog(response.url, response.status, text)
})
}
return response.json()
})
.catch(function(error) {
todo(error)
setLog(start, 'JSON', error)
console.error(error)
})
.then(function(json) {
json = json.card
if (json.html) {
analyze =
json.html +
`<i class="material-icons sml pointer" onclick="pip('
${id}
')" title="
${lang.lang_cards_pip}
">picture_in_picture_alt</i>`
}
if (json.provider_name == 'Twitter') {
var url = json.author_url
var status = json.url.match(/^https:\/\/twitter.com\/[_a-zA-Z0-9-]+\/status\/([0-9]+)/);
var statusId = false
if(status){
if(status.length > 0){
var statusId = status[1]
}
}
console.log(statusId)
if(statusId){
url = json.url
analyze = `
<blockquote class="twitter-tweet" data-dnt="true"><strong>${json.author_name}</strong><br>${json.description}<a href="${url}">${json.url}</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
`
}
}
$('[toot-id=' + id + '] .additional').html(analyze)
})
}
//各TL上方のLink[On/Off]
function cardToggle(tlid) {
var card = localStorage.getItem('card_' + tlid)

View File

@@ -577,8 +577,8 @@ function staCopy(id) {
}
}
//翻訳
function trans(tar, to) {
var html = $('#toot-this .toot').html()
function trans(tar, to, elem) {
var html = elem.parents('.cvo').find('.toot').html()
if (html.match(/^<p>(.+)<\/p>$/)) {
html = html.match(/^<p>(.+)<\/p>$/)[1]
}
@@ -615,7 +615,7 @@ function trans(tar, to) {
console.error(error)
})
.then(function(text) {
$('#toot-this .additional').html('<span class="gray translate">' + text.text + '</span>')
elem.parents('.cvo').find('.toot').append('<span class="gray translate">' + text.text + '</span>')
})
}
//ブラウザで開く
@@ -630,7 +630,7 @@ function detEx(url, acct_id) {
}
var domain = localStorage.getItem('domain_' + acct_id)
var at = localStorage.getItem('acct_' + acct_id + '_at')
var start = 'https://' + domain + '/api/v2/search?resolve=true&q=' + url
var start = 'https://' + domain + '/api/v2/search?resolve=true&q=' + encodeURIComponent(url)
fetch(start, {
method: 'GET',
headers: {

View File

@@ -87,8 +87,8 @@ function mixre(acct_id, tlid, TLtype, mute, voice, mode) {
wsLocal[wslid].onerror = function(error) {
console.error('WebSocketLocal Error')
console.error(error)
$('#notice_icon_' + tlid).addClass('red-text')
if (mode == 'error') {
$('#notice_icon_' + tlid).addClass('red-text')
todo('WebSocket Error ' + error)
} else {
var errorct = localStorage.getItem('wserror_' + tlid) * 1 + 1
@@ -100,8 +100,8 @@ function mixre(acct_id, tlid, TLtype, mute, voice, mode) {
}
wsLocal[wslid].onclose = function() {
console.warn('WebSocketLocal Closing:' + tlid)
$('#notice_icon_' + tlid).addClass('red-text')
if (mode == 'error') {
$('#notice_icon_' + tlid).addClass('red-text')
todo('WebSocket Closed')
} else {
var errorct = localStorage.getItem('wserror_' + tlid) * 1 + 1
@@ -113,8 +113,8 @@ function mixre(acct_id, tlid, TLtype, mute, voice, mode) {
}
wsHome[wshid].onerror = function(error) {
console.error(['WebSocketHome Error', error])
$('#notice_icon_' + tlid).addClass('red-text')
if (mode == 'error') {
$('#notice_icon_' + tlid).addClass('red-text')
todo('WebSocket Error ' + error)
} else {
var errorct = localStorage.getItem('wserror_' + tlid) * 1 + 1
@@ -126,8 +126,8 @@ function mixre(acct_id, tlid, TLtype, mute, voice, mode) {
}
wsHome[wshid].onclose = function() {
console.warn('WebSocketHome Closing:' + tlid)
$('#notice_icon_' + tlid).addClass('red-text')
if (mode == 'error') {
$('#notice_icon_' + tlid).addClass('red-text')
todo('WebSocket Closed')
} else {
var errorct = localStorage.getItem('wserror_' + tlid) * 1 + 1
@@ -183,7 +183,7 @@ async function mixmore(tlid, type) {
.attr('unique-id')
let startLocal = 'https://' + domain + '/api/v1/timelines/public?local=true&max_id=' + sid
let local = await getTL(startLocal, acct_id)
let startHome = 'https://' + domain + '/api/v1/timelines/home&max_id=' + sid
let startHome = 'https://' + domain + '/api/v1/timelines/home?max_id=' + sid
let home = await getTL(startHome, acct_id)
let concated = _.concat(local, home)
let uniqued = _.uniqBy(concated, 'id')

View File

@@ -1,5 +1,6 @@
//オブジェクトパーサー(トゥート)
function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var splitter = new GraphemeSplitter()
var templete = ''
if (obj[0]) {
if (tlid === 1) {
@@ -7,12 +8,12 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
localStorage.setItem('lastunix_' + tlid, date(obj[0].created_at, 'unix'))
}
var actb = 're,rt,fav,qt,del,pin,red'
var actb = 're,rt,fav,qt,bkm'
if (actb) {
var actb = actb.split(',')
var disp = {}
for (var k = 0; k < actb.length; k++) {
if (k < 4) {
if (k < 5) {
var tp = 'type-a'
} else {
var tp = 'type-b'
@@ -34,6 +35,12 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var qtClass = ''
}
}
var bkm = localStorage.getItem('bookmark')
if (bkm == 'no' || !bkm) {
var bkmClass = 'hide'
} else {
var bkmClass = ''
}
var datetype = localStorage.getItem('datetype')
var nsfwtype = localStorage.getItem('nsfw')
var sent = localStorage.getItem('sentence')
@@ -147,13 +154,13 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var wordmute = []
}
//via通知
var viashow = localStorage.getItem('viashow')
if (!viashow) {
viashow = 'via-hide'
}
if (viashow == 'hide') {
viashow = 'via-hide'
var viashowVal = localStorage.getItem('viashow')
if (viashowVal == 'yes') {
var viashowSet = true
} else {
var viashowSet = false
}
var viashow = ''
//認証なしTL
if (mix == 'noauth') {
var noauth = 'hide'
@@ -459,6 +466,11 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var via = ''
viashow = 'hide'
} else {
if (viashowSet) {
viashow = ''
} else {
viashow = 'hide'
}
var via = escapeHTML(toot.application.name)
if (empCli) {
//強調チェック
@@ -500,9 +512,10 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} else {
var ct = ct2
}
if (
(sent < ct && $.mb_strlen($.strip_tags(content)) > 5) ||
($.strip_tags(content).length > ltr && $.mb_strlen($.strip_tags(content)) > 5)
($.mb_strlen($.strip_tags(content)) > ltr && $.mb_strlen($.strip_tags(content)) > 5)
) {
var content = `<span class="gray">${lang.lang_parse_fulltext}</span><br>` + content
var spoil = `<span class="cw-long-${toot.id}">${$.mb_substr(
@@ -659,13 +672,13 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
mentions = '<div style="float:right">' + mentions + '</div>'
} else {
var to_mention = [toot.account.acct]
//メンションじゃなくてもlang_parse_thread
if (toot.in_reply_to_id) {
mentions = `<div style="float:right">
<a onclick="details('${toot.id}','${acct_id}','${tlid}')" class="pointer waves-effect">
${lang.lang_parse_thread}
</a></div>`
}
}
//メンションじゃなくてもlang_parse_thread
if (toot.in_reply_to_id) {
mentions = `<div style="float:right">
<a onclick="details('${toot.id}','${acct_id}','${tlid}')" class="pointer waves-effect">
${lang.lang_parse_thread}
</a></div>`
}
var tagck = toot.tags[0]
var tags = ''
@@ -687,7 +700,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
'{{tag}}',
'#' + tag.name
)}
">Pin</a>featured</span> `
">Pin</a></span> `
})
tags = '<div style="float:right">' + tags + '</div>'
}
@@ -731,7 +744,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
}
if (toot.account.acct == localStorage.getItem('user_' + acct_id)) {
var if_mine = ''
var mine_via = 'type-b'
var mine_via = ''
var can_rt = ''
} else {
var if_mine = 'hide'
@@ -754,9 +767,20 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
if (toot.pinned) {
var if_pin = 'blue-text'
var pin_app = 'pinnedToot'
var pinStr = lang.lang_parse_unpin
} else {
var if_pin = ''
var pin_app = ''
var pinStr = lang.lang_parse_pin
}
if (toot.bookmarked) {
var if_bkm = 'red-text'
var bkm_app = 'bkmed'
var bkmStr = lang.lang_parse_unbookmark
} else {
var if_bkm = ''
var bkm_app = ''
var bkmStr = lang.lang_parse_bookmark
}
//アニメ再生
if (gif == 'yes') {
@@ -849,10 +873,10 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
}
//日本語じゃない
if (toot.language != lang.language && toot.language) {
var trans = `<div class="action pin">
<a onclick="trans('${toot.language}','${lang.language}')"
class="waves-effect waves-dark btn-flat actct" style="padding:0" title="${lang.lang_parse_trans}">
<i class="material-icons">g_translate</i>
var trans = `<div class="">
<a onclick="trans('${toot.language}','${lang.language}', $(this))"
class="waves-effect waves-dark btn-flat actct" style="padding:0">
<i class="material-icons">g_translate</i>${lang.lang_parse_trans}
</a>
</div>`
} else {
@@ -861,29 +885,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
//Cards
if (!card && toot.card) {
var cards = toot.card
if (cards.provider_name == 'Twitter') {
if (cards.image) {
var twiImg = '<br><img draggable="false" src="' + cards.image + '">'
} else {
var twiImg = ''
}
analyze = `<blockquote class="twitter-tweet">
<b>${escapeHTML(cards.author_name)}</b><br>
${escapeHTML(cards.description)}${twiImg}
</blockquote>`
}
if (cards.title) {
analyze = `<span class="gray">
URL${lang.lang_cards_check}:<br>
Title:${escapeHTML(cards.title)}<br>
${escapeHTML(cards.description)}
</span>`
}
if (cards.html) {
analyze =
cards.html +
`<i class="material-icons" onclick="pip('${id}')" title="${lang.lang_cards_pip}">picture_in_picture_alt</i>`
}
analyze = cardHtml(cards, acct_id, id)
}
//Ticker
var tickerdom = ''
@@ -945,11 +947,25 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
</div>
</div>`
}
//menuは何個
var menuct = 2
if (viashow != 'hide') {
menuct++
}
if (if_mine != 'hide') {
menuct = menuct + 3
}
if (noauth == 'hide') {
menuct = 0
}
if (trans != '') {
menuct++
}
templete =
templete +
`<div
id="pub_${toot.id}"
class="cvo ${mouseover} ${boostback} ${fav_app} ${rt_app} ${pin_app} ${hasmedia} ${animecss}"
class="cvo ${mouseover} ${boostback} ${fav_app} ${rt_app} ${pin_app} ${bkm_app} ${hasmedia} ${animecss}"
toot-id="${id}" unique-id="${uniqueid}" data-medias="${media_ids}" unixtime="${date(
obj[key].created_at,
'unix'
@@ -959,15 +975,15 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
onclick="mov('${toot.id}','${tlid}','cl')"
onmouseout="resetmv('mv')"
>
<div class="area-notice"><span class="gray sharesta">${notice}${home}</span></div>
<div class="area-icon">
<div class="area-notice grid"><span class="gray sharesta">${notice}${home}</span></div>
<div class="area-icon grid">
<a onclick="udg('${toot.account.id}','${acct_id}');" user="${toot.account.acct}" class="udg">
<img draggable="false" src="${avatar}" width="40" class="prof-img"
user="${toot.account.acct}" onerror="this.src='../../img/loading.svg'"/>
</a>
${noticeavatar}
</div>
<div class="area-display_name">
<div class="area-display_name grid">
<div class="flex-name">
<span class="user">${dis_name}</span>
<span class="sml gray" style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis; cursor:text;">
@@ -981,7 +997,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
</span>
</div>
</div>
<div class="area-toot">
<div class="area-toot grid">
${tickerdom}
<span class="${api_spoil} cw_text_${toot.id}">
<span class="cw_text">${spoil}</span>
@@ -990,12 +1006,12 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
<div class="toot ${spoiler}">${content}</div>
${poll}${viewer}
</div>
<div class="area-additional">
<div class="area-additional grid">
<span class="additional">${analyze}</span>
${mentions}${tags}
</div>
<div class="area-vis">${vis}</div>
<div class="area-actions">
<div class="area-vis grid">${vis}</div>
<div class="area-actions grid">
<div class="action ${antinoauth}">
<a onclick="detEx('${toot.url}','main')" class="waves-effect waves-dark details" style="padding:0">
${lang.lang_parse_det}
@@ -1028,6 +1044,13 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
<i class="text-darken-3 fas fa-quote-right"></i>
</a>
</div>
<div class="action ${disp['bkm']} ${noauth} ${bkmClass}">
<a onclick="bkm('${toot.id}','${acct_id}','${tlid}')"
class="waves-effect waves-dark btn-flat actct bkm-btn" style="padding:0"
title="${lang.lang_parse_bookmark}">
<i class="fas text-darken-3 fa-bookmark bkm_${toot.id} ${if_bkm}"></i>
</a>
</div>
<div class="action ${disp['fav']} ${noauth}">
<a onclick="fav('${uniqueid}','${acct_id}','${tlid}')"
class="waves-effect waves-dark btn-flat actct fav-btn" style="padding:0"
@@ -1036,42 +1059,60 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
<span class="fav_ct">${toot.favourites_count}</span>
</a>
</div>
<div class="${if_mine} action ${disp['del']} ${noauth}">
<a onclick="del('${toot.id}','${acct_id}')" class="waves-effect waves-dark btn-flat actct"
style="padding:0" title="${lang.lang_parse_del}">
<i class="fas fa-trash"></i>
</a>
</div>
<div class="${if_mine} action pin ${disp['pin']} ${noauth}">
<a onclick="pin('${
toot.id
}','${acct_id}')" class="waves-effect waves-dark btn-flat actct" style="padding:0"
title="${lang.lang_parse_pin}">
<i class="fas fa-map-pin pin_${toot.id} ${if_pin}"></i>
</a>
</div>
<div class="${if_mine} action ${disp['red']} ${noauth}">
<a onclick="redraft('${toot.id}','${acct_id}')" class="waves-effect waves-dark btn-flat actct"
style="padding:0" title="${lang.lang_parse_redraft}">
<i class="material-icons">redo</i>
</a>
</div>
${trans}
</div>
<div class="area-side">
<span class="cbadge viabadge waves-effect ${viashow} ${mine_via}" style="max-width:60px;"
onclick="client('${$.strip_tags(via)}')" title="via ${$.strip_tags(via)}">${via}</span>
<div class="action ${if_mine} ${noauth}">
<a onclick="toggleAction('${
toot.id
}','${tlid}','${acct_id}')" class="waves-effect waves-dark btn-flat" style="padding:0">
<div class="action ${noauth}">
<a onclick="toggleAction($(this), ${menuct * 39 + 6})"
class="ctxMenu waves-effect waves-dark btn-flat" style="padding:0">
<i class="text-darken-3 material-icons act-icon">expand_more</i>
</a>
</div>
<div class="action ${noauth}">
<a onclick="details('${toot.id}','${acct_id}','${tlid}','normal')"
class="waves-effect waves-dark btn-flat details ${dmHide}" style="padding:0">
<i class="text-darken-3 material-icons">more_vert</i></a>
<a onclick="details('${toot.id}','${acct_id}','${tlid}','normal')"
class="waves-effect waves-dark btn-flat details ${dmHide}" style="padding:0"
title="${lang.lang_parse_detail}">
<i class="text-darken-3 material-icons">menu_open</i></a>
</div>
</div>
<div class="contextMenu hide z-depth-4">
<div class="${viashow}">
via ${escapeHTML(via)}<br>
<a onclick="client('${$.strip_tags(via)}')" class="pointer">${lang.lang_parse_clientop}</a>
</div>
<div>
<button onclick="bkm('${toot.id}','${acct_id}','${tlid}')"
class="waves-effect waves-dark btn-flat actct bkm-btn" style="padding:0">
<i class="fas text-darken-3 fa-bookmark bkm_${toot.id} ${if_bkm}"></i>
<span class="bkmStr_${toot.id}">${bkmStr}</span>
</button>
</div>
<div class="${if_mine}">
<button onclick="del('${toot.id}','${acct_id}')" class="waves-effect waves-dark btn-flat actct"
style="padding:0">
<i class="fas fa-trash"></i>${lang.lang_parse_del}
</button>
</div>
<div class="${if_mine}">
<button onclick="pin('${
toot.id
}','${acct_id}')" class="waves-effect waves-dark btn-flat actct" style="padding:0">
<i class="fas fa-map-pin pin_${toot.id} ${if_pin}"></i>
<span class="pinStr_${toot.id}">${pinStr}</span>
</button>
</div>
<div class="${if_mine}">
<button onclick="redraft('${toot.id}','${acct_id}')" class="waves-effect waves-dark btn-flat actct"
style="padding:0">
<i class="material-icons">redo</i>${lang.lang_parse_redraft}
</button>
</div>
${trans}
<div>
<button onclick="postMessage(['openUrl', '${toot.url}'], '*')"
class="waves-effect waves-dark btn-flat actct" style="padding:0">
<i class="fas text-darken-3 fa-globe"></i>
${lang.lang_parse_link}
</button>
</div>
</div>
</div>
@@ -1097,7 +1138,6 @@ function userparse(obj, auth, acct_id, tlid, popup) {
Object.keys(obj).forEach(function(key) {
var toot = obj[key]
if (toot) {
console.log(['Parsing', toot])
if (!toot.username) {
var raw = toot
toot = toot.account
@@ -1113,8 +1153,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
var locked = ''
}
if (auth == 'request') {
var authhtml =
`<i class="material-icons gray pointer" onclick="request('${toot.id}','authorize','${acct_id}')" title="Accept">
var authhtml = `<i class="material-icons gray pointer" onclick="request('${toot.id}','authorize','${acct_id}')" title="Accept">
person_add
</i> 
<i class="material-icons gray pointer" onclick="request('${toot.id}','reject','${acct_id}')" title="Reject">
@@ -1185,11 +1224,9 @@ function userparse(obj, auth, acct_id, tlid, popup) {
var avatar = '../../img/missing.svg'
}
if (tlid == 'dir' && acct_id == 'noauth') {
var udg =
`<a onclick="udgEx('${toot.url}','main');" user="${toot.acct}" class="udg">`
var udg = `<a onclick="udgEx('${toot.url}','main');" user="${toot.acct}" class="udg">`
} else {
var udg =
`<a onclick="udg('${toot.id}','${acct_id}');" user="${toot.acct}" class="udg">`
var udg = `<a onclick="udg('${toot.id}','${acct_id}');" user="${toot.acct}" class="udg">`
}
var latest = date(toot.last_status_at, 'relative')
if (toot.last_status_at) {
@@ -1244,6 +1281,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
}
//クライアントダイアログ
function client(name) {
$('#contextWrap').addClass('hide')
if (name != 'Unknown') {
//聞く
Swal.fire({
@@ -1320,8 +1358,7 @@ function pollParse(poll, acct_id) {
var myvote = lang.lang_parse_endedvote
var result_hide = ''
} else {
var myvote =
`<a onclick="voteMastodon('${acct_id}','${poll.id}')" class="votebtn">${lang.lang_parse_vote}</a><br>`
var myvote = `<a onclick="voteMastodon('${acct_id}','${poll.id}')" class="votebtn">${lang.lang_parse_vote}</a><br>`
if (choices[0].votes_count === 0 || choices[0].votes_count > 0) {
myvote =
myvote +
@@ -1361,10 +1398,9 @@ function pollParse(poll, acct_id) {
${voteit}
</div>`
})
pollHtml =
`<div class="vote_${acct_id}_${poll.id}">
pollHtml = `<div class="vote_${acct_id}_${poll.id}">
${pollHtml}${myvote}
<a onclick="voteMastodonrefresh(${acct_id}','${poll.id}')" class="pointer">
<a onclick="voteMastodonrefresh('${acct_id}','${poll.id}')" class="pointer">
${lang.lang_manager_refresh}
</a>
<span class="cbadge cbadge-hover" title="${date(poll.expires_at, 'absolute')}">

View File

@@ -56,14 +56,15 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
)
$('#notice_icon_' + tlid).text('notifications')
return
} /*else if (type == "dm") {
//DMなら飛ばす
dm(acct_id, tlid, "plus",delc,voice);
$("#notice_" + tlid).text(cap(type, data, acct_id) + "(" + localStorage.getItem(
"user_" + acct_id) + "@" + domain + ")");
$("#notice_icon_" + tlid).text("mail_outline");
return;
}*/
} else if (type == 'bookmark') {
//ブックマークなら飛ばす
getBookmark(acct_id, tlid)
$('#notice_' + tlid).text(
cap(type, data, acct_id) + '(' + localStorage.getItem('user_' + acct_id) + '@' + domain + ')'
)
$('#notice_icon_' + tlid).text('bookmark')
return
}
localStorage.setItem('now', type)
todo(cap(type) + ' TL Loading...')
var at = localStorage.getItem('acct_' + acct_id + '_at')
@@ -267,12 +268,6 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
} else {
var typeA = JSON.parse(mess.data).event
if (typeA == 'delete') {
var del = localStorage.getItem('delete')
if (del > 10) {
reconnector(tlid, type, acct_id, data)
} else {
localStorage.setItem('delete', del * 1 + 1)
}
var obj = JSON.parse(mess.data).payload
if (delc == 'true') {
$('#timeline_' + tlid + ' [toot-id=' + JSON.parse(mess.data).payload + ']').addClass(
@@ -286,7 +281,6 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
$('[toot-id=' + JSON.parse(mess.data).payload + ']').remove()
}
} else if (typeA == 'update' || typeA == 'conversation') {
localStorage.removeItem('delete')
if (!$('#unread_' + tlid + ' .material-icons').hasClass('teal-text')) {
//markers show中はダメ
var obj = JSON.parse(JSON.parse(mess.data).payload)
@@ -394,6 +388,9 @@ function moreload(type, tlid) {
var data = obj[tlid].data
moreTs(tlid, data)
return
} else if (type == 'bookmark') {
getBookmark(acct_id, tlid, true)
return
}
moreloading = true
localStorage.setItem('now', type)
@@ -715,6 +712,8 @@ function cap(type, data, acct_id) {
var response = 'Twitter'
} else if (type == 'tootsearch') {
var response = 'tootsearch(' + escapeHTML(data) + ')'
} else if (type == 'bookmark') {
var response = 'Bookmarks'
}
return response
}
@@ -737,6 +736,8 @@ function com(type, data) {
return 'list/' + data + '?'
} else if (type == 'dm') {
return 'direct?'
} else if (type == 'bookmark') {
return 'bookmarks?'
}
}
//Misskey
@@ -807,31 +808,11 @@ function icon(type) {
var response = 'language'
} else if (type == 'tootsearch') {
var response = 'search'
} else if (type == 'bookmark') {
var response = 'bookmark'
}
return response
}
function strAlive() {
var date = new Date()
var a = date.getTime()
var unix = Math.floor(a / 1000)
var col = localStorage.getItem('column')
if (col) {
var obj = JSON.parse(col)
Object.keys(obj).forEach(function(key) {
if ($('#notice_icon_' + key).hasClass('red-text')) {
var type = obj[key].type
var acct_id = obj[key].domain
var data = obj[key].data
reconnector(key, type, acct_id, data, 'error')
}
})
}
return
}
function strAliveInt() {
setTimeout(strAlive, 10000)
}
function reconnector(tlid, type, acct_id, data, mode) {
console.log('%c Reconnector:' + mode + '(timeline' + tlid + ')', 'color:pink')
if (type == 'mix' || type == 'integrated' || type == 'plus') {
@@ -864,6 +845,9 @@ function reconnector(tlid, type, acct_id, data, mode) {
function columnReload(tlid, type) {
$('#notice_icon_' + tlid).addClass('red-text')
$('#unread_' + tlid + ' .material-icons').removeClass('teal-text')
var multi = localStorage.getItem('column')
var obj = JSON.parse(multi)
var acct_id = obj[tlid].domain
if (type == 'mix' || type == 'integrated' || type == 'plus') {
if (localStorage.getItem('voice_' + tlid)) {
var voice = true
@@ -879,6 +863,9 @@ function columnReload(tlid, type) {
} else if (type == 'notf') {
$('#notice_icon_' + tlid).removeClass('red-text')
notfColumn(acct_id, tlid, '')
} else if (type == 'bookmark') {
$('#notice_icon_' + tlid).removeClass('red-text')
getBookmark(acct_id, tlid, false)
} else {
var wss = localStorage.getItem('wss_' + tlid)
websocket[wss].close()
@@ -891,7 +878,6 @@ function columnReload(tlid, type) {
parseColumn(tlid)
}
}
strAliveInt()
//Markers
function getMarker(tlid, type, acct_id) {
var domain = localStorage.getItem('domain_' + acct_id)
@@ -1132,3 +1118,52 @@ function asReadEnd() {
postMessage(['asReadComp', ''], '*')
}
}
//ブックマーク
function getBookmark(acct_id, tlid, more) {
moreloading = true
console.log(acct_id, tlid, more)
if (more) {
var sid = $('#timeline_' + tlid + ' .notif-marker')
.last()
.attr('data-maxid')
var ad = '?max_id=' + sid
} else {
var ad = ''
}
var at = localStorage.getItem('acct_' + acct_id + '_at')
var domain = localStorage.getItem('domain_' + acct_id)
var start = 'https://' + domain + '/api/v1/bookmarks' + ad
var httpreq = new XMLHttpRequest()
httpreq.open('GET', start, true)
httpreq.setRequestHeader('Content-Type', 'application/json')
httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json'
httpreq.send()
httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) {
var json = httpreq.response
if (this.status !== 200) {
setLog(start, this.status, this.response)
}
var max_ids = httpreq.getResponseHeader('link')
var max_id = 0
if (max_ids) {
max_ids = max_ids.match(/[?&]{1}max_id=([0-9]+)/)
if (max_ids) {
max_id = max_ids[1]
}
}
var templete = parse(json, 'bookmark', acct_id, tlid, -1, null)
templete = templete + '<div class="hide notif-marker" data-maxid="' + max_id + '"></div>'
if (more) {
$('#timeline_' + tlid).append(templete)
} else {
$('#timeline_' + tlid).html(templete)
}
$('#landing_' + tlid).hide()
jQuery('time.timeago').timeago()
moreloading = false
todc()
}
}
}

View File

@@ -202,7 +202,29 @@ function parseColumn(target, dontclose) {
animecss,
acct.data
)
} else {
} else if (acct.type == 'bookmark') {
if (!acct.left_fold) {
basekey = key
}
var anime = localStorage.getItem('animation')
if (anime == 'yes' || !anime) {
var animecss = 'box-anime'
} else {
var animecss = ''
}
unstreamingTL(
acct.type,
key,
basekey,
insert,
icnsert,
acct.left_fold,
css,
animecss,
acct.domain
)
}else {
var anime = localStorage.getItem('animation')
if (anime == 'yes' || !anime) {
var animecss = 'box-anime'
@@ -214,6 +236,8 @@ function parseColumn(target, dontclose) {
class="setting nex" title="${lang.lang_layout_unread}">
<i class="material-icons waves-effect nex">more</i>
</a>`
var notfDomain = acct.domain
var notfKey = key
if (acct.type == 'notf') {
var exclude =
lang.lang_excluded +
@@ -257,6 +281,8 @@ function parseColumn(target, dontclose) {
</button>`
}
exclude = exclude + '<br>'
notfDomain = "dummy"
notfKey = "dummy"
} else if (acct.type == 'home') {
var exclude =
`<a onclick="ebtToggle('${key}')" class="setting nex">
@@ -353,8 +379,8 @@ function parseColumn(target, dontclose) {
</a>
</div>
</div>
<div class="column-hide notf-indv-box z-depth-4" id="notf-box_${key}">
<div id="notifications_${key}" data-notf="${acct.domain}" data-type="notf" class="notf-timeline">
<div class="column-hide notf-indv-box z-depth-4" id="notf-box_${notfKey}">
<div id="notifications_${notfKey}" data-notf="${notfDomain}" data-type="notf" class="notf-timeline">
</div>
</div>
<div class="column-hide notf-indv-box" id="util-box_${key}" style="padding:5px;">
@@ -364,7 +390,7 @@ function parseColumn(target, dontclose) {
<span id="sta-media-${key}">On</span>
</a>
${lang.lang_layout_mediafil}<br>
<a onclick="cardToggle(${key}')" class="setting nex">
<a onclick="cardToggle('${key}')" class="setting nex">
<i class="material-icons waves-effect nex" title="${lang.lang_layout_linkanades}">link</i>
<span id="sta-card-${key}">On</span>
</a>
@@ -724,105 +750,73 @@ function webviewParse(url, key, insert, icnsert, css) {
</div>`
return html
}
function unstreamingTL(type, key, basekey, insert, icnsert, left_fold, css, animecss, q) {
function unstreamingTL(type, key, basekey, insert, icnsert, left_fold, css, animecss, data) {
//type名が関数名
if (!left_fold) {
var basehtml =
'<div style="' +
css +
'" class="box ' +
animecss +
'" id="timeline_box_' +
basekey +
'_parentBox"></div>'
`<div style="${css}" class="box ${animecss}" id="timeline_box_${basekey}_parentBox"></div>`
$('#timeline-container').append(basehtml)
var left_hold =
'<a onclick="leftFoldSet(' +
key +
')" class="setting nex"><i class="material-icons waves-effect nex" title="' +
lang.lang_layout_leftFold +
'">view_agenda</i></a>' +
lang.lang_layout_leftFold +
'</span><br>'
`<a onclick="leftFoldSet('${key}')" class="setting nex">
<i class="material-icons waves-effect nex" title="${lang.lang_layout_leftFold}">view_agenda</i>
</a>
${lang.lang_layout_leftFold}
</span><br>`
} else {
var left_hold =
'<a onclick="leftFoldRemove(' +
key +
')" class="setting nex"><i class="material-icons waves-effect nex" title="' +
lang.lang_layout_leftUnfold +
'">view_column</i></a>' +
lang.lang_layout_leftUnfold +
'</span><br>'
`<a onclick="leftFoldRemove('${key}')" class="setting nex">
<i class="material-icons waves-effect nex" title="${lang.lang_layout_leftUnfold}">view_column</i>
</a>
${lang.lang_layout_leftUnfold}
</span><br>`
}
var html =
'<div class="boxIn" id="timeline_box_' +
key +
'_box" tlid="' +
key +
'"><div class="notice-box z-depth-2" id="menu_' +
key +
'" style="' +
insert +
' ">' +
'<div class="area-notice"><i class="material-icons waves-effect" id="notice_icon_' +
key +
'" style="font-size:40px; padding-top:25%;" onclick="tootsearch(' +
key +
",'" +
q +
'\');" title="' +
lang.lang_layout_gotop +
'"></i></div>' +
'<div class="area-notice_name"><span id="notice_' +
key +
'" class="tl-title"></span></div>' +
'<div class="area-a1"></div><div class="area-sta"></div>' +
'<div class="area-a2"><a onclick="removeColumn(' +
key +
')" class="setting nex"><i class="material-icons waves-effect nex" title="' +
lang.lang_layout_delthis +
'"' +
icnsert +
'>cancel</i></a></div>' +
'<div class="area-a3"><a onclick="setToggle(' +
key +
')" class="setting nex" title="' +
lang.lang_layout_setthis +
'"' +
icnsert +
'><i class="material-icons waves-effect nex">settings</i></a></div></div>' +
'<div class="column-hide notf-indv-box" id="util-box_' +
key +
'" style="padding:5px;">' +
left_hold +
'<a onclick="mediaToggle(' +
key +
')" class="setting nex"><i class="material-icons waves-effect nex" title="' +
lang.lang_layout_mediafil +
'">perm_media</i><span id="sta-media-' +
key +
'">On</span></a>' +
lang.lang_layout_mediafil +
'<br>' +
lang.lang_layout_headercolor +
'<br><div id="picker_' +
key +
'" class="color-picker"></div></div><div class="tl-box" tlid="' +
key +
'"><div id="timeline_' +
key +
'" class="tl ' +
type +
'-timeline " tlid="' +
key +
'" data-type="' +
type +
'" data-acct="nostr"><div id="landing_' +
key +
'" style="text-align:center">' +
lang.lang_layout_nodata +
'</div></div></div>'
`<div class="boxIn" id="timeline_box_${key}_box" tlid="${key}">
<div class="notice-box z-depth-2" id="menu_${key}" style="${insert} ">
<div class="area-notice">
<i class="material-icons waves-effect" id="notice_icon_${key}" style="font-size:40px; padding-top:25%;"
onclick="${type}('${key}','${data}');" title="${lang.lang_layout_gotop}"></i>
</div>
<div class="area-notice_name">
<span id="notice_${key}" class="tl-title"></span>
</div>
<div class="area-a1"></div>
<div class="area-sta"></div>
<div class="area-a2">
<a onclick="removeColumn('${key}')" class="setting nex">
<i class="material-icons waves-effect nex" title="${lang.lang_layout_delthis}"${icnsert}>cancel</i>
</a>
</div>
<div class="area-a3">
<a onclick="setToggle('${key}')" class="setting nex" title="${lang.lang_layout_setthis}" ${icnsert}>
<i class="material-icons waves-effect nex">settings</i>
</a>
</div>
</div>
<div class="column-hide notf-indv-box" id="util-box_${key}" style="padding:5px;">
${left_hold}
<a onclick="mediaToggle('${key}')" class="setting nex">
<i class="material-icons waves-effect nex" title="${lang.lang_layout_mediafil}">perm_media</i>
<span id="sta-media-${key}">On</span>
</a>
${lang.lang_layout_mediafil}<br>
${lang.lang_layout_headercolor}<br>
<div id="picker_${key}" class="color-picker"></div>
</div>
<div class="tl-box" tlid="${key}">
<div id="timeline_${key}" class="tl ${type}-timeline" tlid="${key}" data-type="${type}" data-acct="${data}">
<div id="landing_${key}" style="text-align:center">
${lang.lang_layout_nodata}
</div>
</div>
</div>`
$('#timeline_box_' + basekey + '_parentBox').append(html)
tootsearch(key, q)
if(type == 'tootsearch'){
tootsearch(key, data)
}else if(type == 'bookmark'){
console.log(key, data)
bookmark(key, data)
}
cardCheck(key)
ebtCheck(key)
mediaCheck(key)
@@ -830,6 +824,15 @@ function unstreamingTL(type, key, basekey, insert, icnsert, left_fold, css, anim
voiceCheck(key)
return true
}
function bookmark(key, data){
console.log(key, data)
if (localStorage.getItem('voice_' + key)) {
var voice = true
} else {
var voice = false
}
tl('bookmark', '', data, key, 'false', voice, '')
}
function leftFoldSet(key) {
var multi = localStorage.getItem('column')
var obj = JSON.parse(multi)

View File

@@ -1,135 +1,140 @@
/*ささやきボックス(Cr民並感)*/
//✕隠す
function hide() {
$("#right-side").hide()
$("#right-side").css("width", "300px")
$("#left-side").css("width", "100%")
var width = localStorage.getItem("postbox-width");
if(width){
width = width.replace("px", "") * 1
$('#right-side').hide()
$('#right-side').css('width', '300px')
$('#left-side').css('width', '100%')
var width = localStorage.getItem('postbox-width')
if (width) {
width = width.replace('px', '') * 1
} else {
width = 300
}
$("#post-box").css("width", width)
$('#post-box').css('width', width)
$('#post-box').fadeOut()
$("#post-box").removeClass("appear")
$("#emoji").addClass("hide")
$("#left-side").show();
$("#default-emoji").show();
$("#unreact").show();
$("#addreact").addClass("hide");
$('#post-box').removeClass('appear')
$('#emoji').addClass('hide')
$('#left-side').show()
$('#default-emoji').show()
$('#unreact').show()
$('#addreact').addClass('hide')
}
//最小化
function mini() {
$("body").toggleClass("mini-post");
if ($("body").hasClass("mini-post")) {
$(".mini-btn").text("expand_less");
$('body').toggleClass('mini-post')
if ($('body').hasClass('mini-post')) {
$('.mini-btn').text('expand_less')
} else {
$(".mini-btn").text("expand_more");
$('.mini-btn').text('expand_more')
}
}
//最小化時に展開
function show() {
$("#post-box").addClass("appear")
$("#textarea").focus();
console.log("show" + localStorage.getItem("postbox-left"));
var left = localStorage.getItem("postbox-left");
$('#post-box').addClass('appear')
$('#textarea').focus()
console.log('show' + localStorage.getItem('postbox-left'))
var left = localStorage.getItem('postbox-left')
if (left > $('body').width() - $('#post-box').width()) {
left = $('body').width() - $('#post-box').width();
left = $('body').width() - $('#post-box').width()
} else if (left < 0) {
left = 0;
left = 0
}
var top = localStorage.getItem("postbox-top");
var top = localStorage.getItem('postbox-top')
if (top > $('body').height() - $('#post-box').height()) {
top = $('body').height() - $('#post-box').height();
top = $('body').height() - $('#post-box').height()
} else if (top < 0) {
top = 0;
top = 0
}
$('#post-box').css("left", left + "px")
$('#post-box').css("top", top + "px")
var width = localStorage.getItem("postbox-width");
$('#post-box').css('left', left + 'px')
$('#post-box').css('top', top + 'px')
var width = localStorage.getItem('postbox-width')
if (width) {
$('#post-box').css("width", width + "px")
$('#post-box').css('width', width + 'px')
} else {
$('#post-box').css("width", "300px")
$('#post-box').css('width', '300px')
}
$('#post-box').fadeIn();
$('#textarea').characterCounter();
$('#post-box').fadeIn()
$('#textarea').characterCounter()
mdCheck()
}
$(function () {
$("#post-box").draggable({
handle: "#post-bar",
stop: function () {
var left = $('#post-box').offset().left;
$(function() {
$('#post-box').draggable({
handle: '#post-bar',
stop: function() {
var left = $('#post-box').offset().left
if (left > $('body').width() - $('#post-box').width()) {
left = $('body').width() - $('#post-box').width();
left = $('body').width() - $('#post-box').width()
} else if (left < 0) {
left = 0;
left = 0
}
var top = $('#post-box').offset().top;
var top = $('#post-box').offset().top
if (top > $('body').height() - $('#post-box').height()) {
top = $('body').height() - $('#post-box').height();
top = $('body').height() - $('#post-box').height()
} else if (top < 0) {
top = 0;
top = 0
}
localStorage.setItem("postbox-left", left);
localStorage.setItem("postbox-top", top);
localStorage.setItem('postbox-left', left)
localStorage.setItem('postbox-top', top)
}
});
$("#post-box").resizable({
})
$('#post-box').resizable({
minHeight: 150,
minWidth: 100,
stop: function (event, ui) {
$("#textarea").blur()
localStorage.setItem("postbox-width", ui.size.width);
stop: function(event, ui) {
$('#textarea').blur()
localStorage.setItem('postbox-width', ui.size.width)
}
});
});
})
})
//コード受信
if (location.search) {
var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/);
var mode = m[1];
var codex = m[2];
if (mode == "share") {
$('textarea').focus();
$("#textarea").val(decodeURI(codex));
show();
$("body").removeClass("mini-post");
$(".mini-btn").text("expand_less");
var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/)
var mode = m[1]
var codex = m[2]
if (mode == 'share') {
$('textarea').focus()
$('#textarea').val(decodeURI(codex))
show()
$('body').removeClass('mini-post')
$('.mini-btn').text('expand_less')
}
}
$('#posttgl').click(function (e) {
if (!$('#post-box').hasClass("appear")) {
show();
$('#posttgl').click(function(e) {
if (!$('#post-box').hasClass('appear')) {
show()
} else {
hide();
hide()
}
$('.cvo').removeClass("selectedToot")
$('.cvo').removeClass('selectedToot')
selectedColumn = 0
selectedToot = 0
});
})
$("#timeline-container,#group").click(function (e) {
if (localStorage.getItem("box") != "absolute") {
if ($('#post-box').hasClass("appear") && !localStorage.getItem("nohide")) {
hide();
$('#timeline-container,#group').click(function(e) {
if (localStorage.getItem('box') != 'absolute') {
if ($('#post-box').hasClass('appear') && !localStorage.getItem('nohide')) {
hide()
}
}
$('.cvo').removeClass("selectedToot")
$('.cvo').removeClass('selectedToot')
selectedColumn = 0
selectedToot = 0
localStorage.removeItem("nohide")
});
$('#textarea,#cw-text').focusout(function (e) {
localStorage.setItem("nohide", true)
var countup = function () {
localStorage.removeItem("nohide")
localStorage.removeItem('nohide')
})
$('#contextWrap').click(function(e) {
$('#contextWrap').addClass('hide')
$('.contextMenu').addClass('hide')
$('.act-icon').text('expand_more')
})
$('#textarea,#cw-text').focusout(function(e) {
localStorage.setItem('nohide', true)
var countup = function() {
localStorage.removeItem('nohide')
}
//setTimeout(remove, 100);
$('.cvo').removeClass("selectedToot")
$('.cvo').removeClass('selectedToot')
selectedColumn = 0
selectedToot = 0
});
})

View File

@@ -1,62 +1,70 @@
//スクロールで続きを読む
function scrollevent() {
$(".tl-box").scroll(function () {
scrollck();
});
$('.tl-box').scroll(function() {
scrollck()
})
}
scrollevent();
scrollevent()
function scrollck() {
$(".tl-box").each(function (i, elem) {
var tlid = $(this).attr('tlid');
$('.tl-box').each(function(i, elem) {
var tlid = $(this).attr('tlid')
var len = $('#timeline_' + tlid + ' .cvo').length
//一番上ならためていた新しいトゥートを表示ないしtealなら未読管理モード
if ($(this).scrollTop() === 0) {
if (!$("#unread_" + tlid + " .material-icons").hasClass("teal-text")) {
var pool = localStorage.getItem("pool_" + tlid);
if (!$('#unread_' + tlid + ' .material-icons').hasClass('teal-text')) {
var pool = localStorage.getItem('pool_' + tlid)
if (pool) {
$("#timeline_" + tlid).prepend(pool);
jQuery("time.timeago").timeago();
localStorage.removeItem("pool_" + tlid);
$('#timeline_' + tlid).prepend(pool)
jQuery('time.timeago').timeago()
localStorage.removeItem('pool_' + tlid)
}
} else {
ueload(tlid)
}
//自動リフレッシュ
if ($("#timeline_" + tlid + " .cvo").length > 30) {
for (var i = 30; i < $("#timeline_" + tlid + " .cvo").length; i++) {
$("#timeline_" + tlid + " .cvo").eq(i).remove();
if (len > 30) {
for (var i = 30; i < $('#timeline_' + tlid + ' .cvo').length; i++) {
$('#timeline_' + tlid + ' .cvo')
.eq(i)
.remove()
}
}
}
//続きを読むトリガー
var scrt = $(this).find(".tl").height() - $(window).height();
var scr = $(this).scrollTop();
if (scr > scrt) {
console.log("kicked more loading:" + tlid);
moreload('', tlid);
var scrt =
$(this)
.find('.tl')
.height() - $(window).height()
var scr = $(this).scrollTop()
if (scr > scrt && scrt > 0) {
console.log('kicked more loading:' + tlid)
moreload('', tlid)
}
});
})
}
function goTop(id) {
if ($("#unread_" + id + " .material-icons").hasClass("teal-text")) {
$("#unread_" + id + " .material-icons").removeClass("teal-text")
var multi = localStorage.getItem("column")
if ($('#unread_' + id + ' .material-icons').hasClass('teal-text')) {
$('#unread_' + id + ' .material-icons').removeClass('teal-text')
var multi = localStorage.getItem('column')
var obj = JSON.parse(multi)
var acct_id = obj[id * 1].domain
var type = obj[id * 1].type
console.log(id, type)
columnReload(id, type)
}
if ($("#timeline_box_" + id + "_box .tl-box").scrollTop() > 500) {
$("#timeline_box_" + id + "_box .tl-box").scrollTop(500)
if ($('#timeline_box_' + id + '_box .tl-box').scrollTop() > 500) {
$('#timeline_box_' + id + '_box .tl-box').scrollTop(500)
}
$("#timeline_box_" + id + "_box .tl-box").animate({ scrollTop: 0 });
$('#timeline_box_' + id + '_box .tl-box').animate({ scrollTop: 0 })
}
function goColumn(key) {
$("#sort-box").addClass("hide");
$("#sort-box").removeClass("show");
$('#sort-box').addClass('hide')
$('#sort-box').removeClass('show')
if ($('[tlid=' + key + ']').length) {
$("#timeline-container").animate({ scrollLeft: $("#timeline-container").scrollLeft() + $('[tlid=' + key + ']').offset().left });
$('#timeline-container').animate({
scrollLeft: $('#timeline-container').scrollLeft() + $('[tlid=' + key + ']').offset().left
})
}
}
}

View File

@@ -25,7 +25,7 @@ function udgEx(user, acct_id) {
return false;
}
var at = localStorage.getItem("acct_" + acct_id + "_at");
var start = "https://" + domain + "/api/v2/search?resolve=true&q=" + user;
var start = "https://" + domain + "/api/v2/search?resolve=true&q=" + encodeURIComponent(user);
fetch(start, {
method: "GET",
headers: {

View File

@@ -1,296 +1,327 @@
var dirname = __dirname;
var dir = "file://" + __dirname;
var base = dir + "/view/";
var dirname = __dirname
var dir = 'file://' + __dirname
var base = dir + '/view/'
// Electronのモジュール
const electron = require("electron");
const fs = require("fs");
const language = require("./main/language.js");
const css = require("./main/css.js");
const dl = require("./main/dl.js");
const img = require("./main/img.js");
const np = require("./main/np.js");
const systemFunc = require("./main/system.js");
const Menu = electron.Menu;
const join = require("path").join;
const electron = require('electron')
const fs = require('fs')
const language = require('./main/language.js')
const css = require('./main/css.js')
const dl = require('./main/dl.js')
const img = require('./main/img.js')
const np = require('./main/np.js')
const systemFunc = require('./main/system.js')
const Menu = electron.Menu
const join = require('path').join
// アプリケーションをコントロールするモジュール
const app = electron.app;
const app = electron.app
// ウィンドウを作成するモジュール
const BrowserWindow = electron.BrowserWindow;
const BrowserWindow = electron.BrowserWindow
// メインウィンドウはGCされないようにグローバル宣言
let mainWindow;
let mainWindow
// アプリが多重起動しないようにする
const gotTheLock = app.requestSingleInstanceLock();
const gotTheLock = app.requestSingleInstanceLock()
if (!gotTheLock) {
app.quit();
app.quit()
} else {
app.on("second-instance", () => {
app.on('second-instance', () => {
// 多重起動を試みた場合、既に存在するウィンドウにフォーカスを移す
// Someone tried to run a second instance, we should focus our window.
if (mainWindow) {
if (mainWindow.isMinimized()) mainWindow.restore();
mainWindow.focus();
if (mainWindow.isMinimized()) mainWindow.restore()
mainWindow.focus()
}
});
})
}
if (process.argv.indexOf("--dev") === -1) {
var packaged = true;
if (process.argv.indexOf('--dev') === -1) {
var packaged = true
} else {
var packaged = false;
console.log("||\\\\\\ \n" + "|||| \\\\\\\\ \n" + "|||| \\\\\\\\ \n" + "|||| Am I a \\\\\\\\ \n" + "|||| cat? ^ ^ \\\\\\\\\\ _____ _ ____ _ \n" + "|||| (.-.) \\\\\\\\\\ |_ _| |__ ___| _ \\ ___ ___| | __\n" + "|||| ___> ) ||||| | | | '_ \\ / _ \\ | | |/ _ \\/ __| |/ /\n" + "|||| < _ _) ////// | | | | | | __/ |_| | __/__ \\ < \n" + "|||| |_||_| ///// |_| |_| |_|\\___|____/ \\___||___/_|\\_\\ \n" + "|||| ///// \n" + "|||| /////\n" + "|||| /////\n" + "||||//////");
console.log("Welcome!");
var packaged = false
console.log(
'||\\\\\\ \n' +
'|||| \\\\\\\\ \n' +
'|||| \\\\\\\\ \n' +
'|||| Am I a \\\\\\\\ \n' +
'|||| cat? ^ ^ \\\\\\\\\\ _____ _ ____ _ \n' +
'|||| (.-.) \\\\\\\\\\ |_ _| |__ ___| _ \\ ___ ___| | __\n' +
"|||| ___> ) ||||| | | | '_ \\ / _ \\ | | |/ _ \\/ __| |/ /\n" +
'|||| < _ _) ////// | | | | | | __/ |_| | __/__ \\ < \n' +
'|||| |_||_| ///// |_| |_| |_|\\___|____/ \\___||___/_|\\_\\ \n' +
'|||| ///// \n' +
'|||| /////\n' +
'|||| /////\n' +
'||||//////'
)
console.log('Welcome!')
}
var info_path = join(app.getPath("userData"), "window-size.json");
var max_info_path = join(app.getPath("userData"), "max-window-size.json");
var lang_path = join(app.getPath("userData"), "language");
var ha_path = join(app.getPath("userData"), "hardwareAcceleration");
var ua_path = join(app.getPath("userData"), "useragent");
var info_path = join(app.getPath('userData'), 'window-size.json')
var max_info_path = join(app.getPath('userData'), 'max-window-size.json')
var lang_path = join(app.getPath('userData'), 'language')
var ha_path = join(app.getPath('userData'), 'hardwareAcceleration')
var ua_path = join(app.getPath('userData'), 'useragent')
try {
fs.readFileSync(ha_path, "utf8");
app.disableHardwareAcceleration();
if (!packaged) console.log("disabled: Hardware Acceleration");
fs.readFileSync(ha_path, 'utf8')
app.disableHardwareAcceleration()
if (!packaged) console.log('disabled: Hardware Acceleration')
} catch {
if (!packaged) console.log("enabled: Hardware Acceleration");
if (!packaged) console.log('enabled: Hardware Acceleration')
}
var window_size;
var window_size
try {
window_size = JSON.parse(fs.readFileSync(info_path, "utf8"));
window_size = JSON.parse(fs.readFileSync(info_path, 'utf8'))
} catch (e) {
window_size = {
width: 1000,
height: 750
}; // デフォルトバリュー
} // デフォルトバリュー
}
var max_window_size;
var max_window_size
try {
max_window_size = JSON.parse(fs.readFileSync(max_info_path, "utf8"));
max_window_size = JSON.parse(fs.readFileSync(max_info_path, 'utf8'))
} catch (e) {
max_window_size = {
width: "string",
height: "string",
x: "string",
y: "string"
}; // デフォルトバリュー
width: 'string',
height: 'string',
x: 'string',
y: 'string'
} // デフォルトバリュー
}
function isFile(file) {
try {
fs.statSync(file);
return true;
fs.statSync(file)
return true
} catch (err) {
if (err.code === "ENOENT") return false;
if (err.code === 'ENOENT') return false
}
}
// 全てのウィンドウが閉じたら終了
app.on("window-all-closed", function() {
electron.session.defaultSession.clearCache(() => {});
app.quit();
});
app.on('window-all-closed', function() {
electron.session.defaultSession.clearCache(() => {})
app.quit()
})
function createWindow() {
if (isFile(lang_path)) {
var lang = fs.readFileSync(lang_path, "utf8");
var lang = fs.readFileSync(lang_path, 'utf8')
} else {
var langs = app.getLocale();
console.log(langs);
if (~langs.indexOf("ja")) {
lang = "ja";
} else if (~langs.indexOf("de")) {
lang = "de";
} else if (~langs.indexOf("cs")) {
lang = "cs";
} else if (~langs.indexOf("bg")) {
lang = "bg";
var langs = app.getLocale()
console.log(langs)
if (~langs.indexOf('ja')) {
lang = 'ja'
} else if (~langs.indexOf('de')) {
lang = 'de'
} else if (~langs.indexOf('cs')) {
lang = 'cs'
} else if (~langs.indexOf('bg')) {
lang = 'bg'
} else {
lang = "en";
lang = 'en'
}
fs.mkdir(app.getPath("userData"), function(err) {
fs.writeFileSync(lang_path, lang);
});
fs.mkdir(app.getPath('userData'), function(err) {
fs.writeFileSync(lang_path, lang)
})
}
if (!packaged) console.log("your lang:" + app.getLocale());
if (!packaged) console.log("launch:" + lang);
if (!packaged) console.log('your lang:' + app.getLocale())
if (!packaged) console.log('launch:' + lang)
// メイン画面の表示。ウィンドウの幅、高さを指定できる
var platform = process.platform;
var bit = process.arch;
if (platform == "linux") {
var platform = process.platform
var bit = process.arch
if (platform == 'linux') {
var arg = {
webPreferences: {
webviewTag: true,
nodeIntegration: false,
contextIsolation: true,
preload: join(__dirname, "js", "platform", "preload.js")
preload: join(__dirname, 'js', 'platform', 'preload.js')
},
width: window_size.width,
height: window_size.height,
x: window_size.x,
y: window_size.y,
icon: __dirname + "/desk.png",
icon: __dirname + '/desk.png',
show: false
};
} else if (platform == "win32") {
var arg = {
webPreferences: {
webviewTag: true,
nodeIntegration: false,
contextIsolation: true,
preload: join(__dirname, "js", "platform", "preload.js")
},
width: window_size.width,
height: window_size.height,
x: window_size.x,
y: window_size.y,
simpleFullscreen: true,
show: false
};
} else if (platform == "darwin") {
var arg = {
webPreferences: {
webviewTag: true,
nodeIntegration: false,
contextIsolation: true,
preload: join(__dirname, "js", "platform", "preload.js")
},
width: window_size.width,
height: window_size.height,
x: window_size.x,
y: window_size.y,
simpleFullscreen: true,
show: false
};
}
mainWindow = new BrowserWindow(arg);
mainWindow.once("page-title-updated", () => {
mainWindow.show();
if (window_size.max) {
mainWindow.maximize();
}
});
if (!packaged) mainWindow.toggleDevTools();
electron.session.defaultSession.clearCache(() => {});
} else if (platform == 'win32') {
var arg = {
webPreferences: {
webviewTag: true,
nodeIntegration: false,
contextIsolation: true,
preload: join(__dirname, 'js', 'platform', 'preload.js')
},
width: window_size.width,
height: window_size.height,
x: window_size.x,
y: window_size.y,
simpleFullscreen: true,
show: false
}
} else if (platform == 'darwin') {
var arg = {
webPreferences: {
webviewTag: true,
nodeIntegration: false,
contextIsolation: true,
preload: join(__dirname, 'js', 'platform', 'preload.js')
},
width: window_size.width,
height: window_size.height,
x: window_size.x,
y: window_size.y,
simpleFullscreen: true,
show: false
}
}
mainWindow = new BrowserWindow(arg)
mainWindow.once('page-title-updated', () => {
mainWindow.show()
if (window_size.max) {
mainWindow.maximize()
}
})
if (!packaged) mainWindow.toggleDevTools()
electron.session.defaultSession.clearCache(() => {})
if (process.argv) {
if (process.argv[1]) {
var m = process.argv[1].match(/([a-zA-Z0-9]+)\/\?[a-zA-Z-0-9]+=(.+)/);
var m = process.argv[1].match(/([a-zA-Z0-9]+)\/\?[a-zA-Z-0-9]+=(.+)/)
if (m) {
var mode = m[1];
var code = m[2];
var plus = "?mode=" + mode + "&code=" + code;
var mode = m[1]
var code = m[2]
var plus = '?mode=' + mode + '&code=' + code
} else {
var plus = "";
var plus = ''
}
} else {
var plus = "";
var plus = ''
}
} else {
var plus = "";
var plus = ''
}
var ua;
var ua
try {
ua = fs.readFileSync(ua_path, "utf8");
ua = fs.readFileSync(ua_path, 'utf8')
} catch (e) {
//default UA Example:
// Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) thedesk/18.11.3 Chrome/76.0.3809.146 Electron/6.0.12 Safari/537.36
const crypto = require("crypto");
const N = 100;
const crypto = require('crypto')
const N = 100
var ua =
"Mastodon client: " +
'Mastodon client: ' +
crypto
.randomBytes(N)
.toString("base64")
.substring(0, N);
.toString('base64')
.substring(0, N)
}
mainWindow.loadURL(base + lang + "/index.html" + plus, { userAgent: ua });
mainWindow.loadURL(base + lang + '/index.html' + plus, { userAgent: ua })
if (!window_size.x && !window_size.y) {
mainWindow.center();
mainWindow.center()
}
// ウィンドウが閉じられたらアプリも終了
mainWindow.on("closed", function() {
electron.ipcMain.removeAllListeners();
mainWindow = null;
});
closeArg = false;
mainWindow.on("close", function(e, arg) {
writePos(mainWindow);
mainWindow.on('closed', function() {
electron.ipcMain.removeAllListeners()
mainWindow = null
})
closeArg = false
mainWindow.on('close', function(e, arg) {
writePos(mainWindow)
if (!closeArg) {
e.preventDefault();
e.preventDefault()
}
const promise = new Promise(function(resolve) {
mainWindow.webContents.send("asReadEnd", "");
mainWindow.webContents.send('asReadEnd', '')
setTimeout(function() {
resolve();
}, 3000);
});
resolve()
}, 3000)
})
promise.then(function(response) {
closeArg = true;
mainWindow.close();
});
});
electron.ipcMain.on("sendMarkersComplete", function(e, arg) {
closeArg = true;
mainWindow.close();
});
closeArg = true
mainWindow.close()
})
})
electron.ipcMain.on('sendMarkersComplete', function(e, arg) {
closeArg = true
mainWindow.close()
})
function writePos(mainWindow) {
if (max_window_size.width == mainWindow.getBounds().width && max_window_size.height == mainWindow.getBounds().height && max_window_size.x == mainWindow.getBounds().x && max_window_size.y == mainWindow.getBounds().y) {
var size = { width: mainWindow.getBounds().width, height: mainWindow.getBounds().height, x: mainWindow.getBounds().x, y: mainWindow.getBounds().y, max: true };
if (
max_window_size.width == mainWindow.getBounds().width &&
max_window_size.height == mainWindow.getBounds().height &&
max_window_size.x == mainWindow.getBounds().x &&
max_window_size.y == mainWindow.getBounds().y
) {
var size = {
width: mainWindow.getBounds().width,
height: mainWindow.getBounds().height,
x: mainWindow.getBounds().x,
y: mainWindow.getBounds().y,
max: true
}
} else {
var size = { width: mainWindow.getBounds().width, height: mainWindow.getBounds().height, x: mainWindow.getBounds().x, y: mainWindow.getBounds().y };
var size = {
width: mainWindow.getBounds().width,
height: mainWindow.getBounds().height,
x: mainWindow.getBounds().x,
y: mainWindow.getBounds().y
}
}
fs.writeFileSync(info_path, JSON.stringify(size));
fs.writeFileSync(info_path, JSON.stringify(size))
}
mainWindow.on("maximize", function() {
writePos(mainWindow);
fs.writeFileSync(max_info_path, JSON.stringify(mainWindow.getBounds()));
});
mainWindow.on("minimize", function() {
writePos(mainWindow);
mainWindow.webContents.send("asRead", "");
});
mainWindow.on('maximize', function() {
writePos(mainWindow)
fs.writeFileSync(max_info_path, JSON.stringify(mainWindow.getBounds()))
})
mainWindow.on('minimize', function() {
writePos(mainWindow)
mainWindow.webContents.send('asRead', '')
})
var platform = process.platform;
var bit = process.arch;
Menu.setApplicationMenu(Menu.buildFromTemplate(language.template(lang, mainWindow, packaged, dir, dirname)));
var platform = process.platform
var bit = process.arch
Menu.setApplicationMenu(
Menu.buildFromTemplate(language.template(lang, mainWindow, packaged, dir, dirname))
)
//CSS
css.css(mainWindow);
css.css(mainWindow)
//アップデータとダウンロード
dl.dl(mainWindow, lang_path, base, dirname);
dl.dl(mainWindow, lang_path, base, dirname)
//画像選択と画像処理
img.img(mainWindow, dir);
img.img(mainWindow, dir)
//NowPlaying
np.TheDeskNowPlaying(mainWindow);
np.TheDeskNowPlaying(mainWindow)
//その他system
systemFunc.system(mainWindow, dir, lang, dirname);
systemFunc.system(mainWindow, dir, lang, dirname)
setInterval(function() {
mouseTrack(mainWindow);
}, 1000);
mouseTrack(mainWindow)
}, 1000)
}
var x = 0;
var y = 0;
var unchanged = 0;
var locked = false;
var x = 0
var y = 0
var unchanged = 0
var locked = false
function mouseTrack(mainWindow) {
let mousePos = electron.screen.getCursorScreenPoint();
let xNow = mousePos.x;
let yNow = mousePos.x;
let mousePos = electron.screen.getCursorScreenPoint()
let xNow = mousePos.x
let yNow = mousePos.x
if (x != xNow || y != yNow) {
unchanged = 0;
locked = false;
unchanged = 0
locked = false
} else {
unchanged++;
unchanged++
if (unchanged > 60 && !locked) {
unchanged = 0;
locked = true;
mainWindow.webContents.send("asRead", "");
unchanged = 0
locked = true
mainWindow.webContents.send('asRead', '')
}
}
x = xNow;
y = yNow;
x = xNow
y = yNow
}
// Electronの初期化完了後に実行
app.on("ready", createWindow);
app.on('ready', createWindow)
var onError = function(err, response) {
console.error(err, response);
};
console.error(err, response)
}
app.setAsDefaultProtocolClient("thedesk");
app.setAsDefaultProtocolClient('thedesk')

View File

@@ -1,6 +1,6 @@
{
"name": "thedesk",
"version": "20.0.1",
"version": "20.0.4",
"description": "TheDesk is a Mastodon client for PC.",
"repository": "https://github.com/cutls/TheDesk",
"main": "main.js",
@@ -55,21 +55,21 @@
"jimp": "^0.8.4",
"jquery": "^3.4.1",
"jquery-ui-dist": "^1.12.1",
"materialize-css": "git://github.com/cutls/materialize",
"json5": "^2.1.1",
"lodash": "^4.17.15",
"materialize-css": "^1.0.0",
"sumchecker": "^3.0.0",
"sweetalert2": "^8.18.6",
"sweetalert2": "^9.3.10",
"vue": "^2.6.10"
},
"optionalDependencies": {
"font-manager": "^0.3.0",
"font-manager": "0.3.0",
"itunes-nowplaying-mac": "0.3.1"
},
"devDependencies": {
"chokidar": "^3.2.3",
"electron": "^6.0.12",
"electron-builder": "^21.1.5",
"chokidar": "^3.3.0",
"electron": "^7.1.1",
"electron-builder": "^22.1.0",
"electron-rebuild": "^1.8.6",
"readline-sync": "1.4.10"
},

View File

@@ -84,6 +84,7 @@
</div>
</div>
</div>
<div id="contextWrap" class="hide"></div>
<div id="post-box" class="z-depth-5">
<div id="post-bar" class="drag-bar"><span id="unreact">@@post-new@@</span><span id="addreact"
class="hide">Reaction</span></div>
@@ -760,47 +761,31 @@
<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-20-0-1_Kawaii" class="release-do" style="display:none; ">><br>
<div id="release-20-0-4_Kawaii" 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 20.0.1 (Kawaii)</h5>
緊急DoS対策(Spotify Tips)
<h5>Release Note 20.0.4 (Kawaii)</h5>
YouTubeの一部の埋め込みがtrustedになっていなかった
<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>
<h5>Release Note 20.0.0 (Kawaii)</h5>
・コードがKawaii感じ(Prettier)になりました
<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>
・リクエストエラーログ表示(例えばTLが表示されないのが、TheDeskが悪いのかサーバーが悪いのかなどがわかる)
<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('micchan83@fedibird.com','main')" class="contributor">
<img src="https://user-images.githubusercontent.com/17561618/67261210-a46a7980-f4da-11e9-9c9c-704757d3b1a7.png">micchan83
</a>
<a onclick="udgEx('noellabo@fedibird.com','main')" class="contributor">
<img src="https://user-images.githubusercontent.com/17561618/68497129-345c4180-0297-11ea-8001-1853bc0c84b8.png">noellabo
・Integrated TLを下にもっと読み込むことができなかった
<a onclick="udgEx('naokisz@kirishima.cloud','main')" class="contributor">
<img src="https://user-images.githubusercontent.com/17561618/69067796-0fba5380-0a67-11ea-9924-ffc3e1401672.png">naokisz
</a>
<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>
・Integrated TLについて改善
・Integrated TLのストリーミングも切れたらアイコンが赤くなるよう
<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>
イメージビューアのソースを自サーバーキャッシュかリモートかを選べるように。自鯖のCDN代圧縮に2mmくらい役立つかも
翻訳が上手く表示されていなかった
<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>
画像URLのコピー
<a onclick="udgEx('Zergling_man@openweb.social','main')" class="contributor">
<img src="https://user-images.githubusercontent.com/17561618/68497404-cebc8500-0297-11ea-8b21-99c6a40ecde0.png">Zergling_man
</a>
トゥートを外部URLから検索して表示するのが上手くいってなかった
<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>
@@ -913,6 +898,9 @@
<div class="type waves-effect" data-type="notf">
<div><i class="material-icons">notifications</i></div><span>@@notf@@</span>
</div>
<div class="type waves-effect" data-type="bookmark">
<div><i class="material-icons">bookmark</i></div><span>@@bookmark@@</span>
</div>
</div>
</div>
<div id="noauth" class="hide">@@showThisTL@@
@@ -1208,6 +1196,7 @@
<!--JS-->
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../node_modules/grapheme-splitter/index.js"></script>
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
<script type="text/javascript" src="../../node_modules/lodash/lodash.min.js"></script>
<script type="text/javascript" src="main.js"></script>
@@ -1219,17 +1208,15 @@
<script type="text/javascript" src="../../node_modules/jquery-ui-dist/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
<script type="text/javascript" src="../../js/platform/punycode.js"></script>
<script type="text/javascript" src="../../js/ui/tips.js"></script>
<script src="https://twemoji.maxcdn.com/2/twemoji.min.js?2.7"></script>
<script type="text/javascript" src="../../js/common/about.js"></script>
<script type="text/javascript" src="../../js/tl/parse.js"></script>
<script type="text/javascript" src="../../js/tl/misskeyparse.js"></script>
<script type="text/javascript" src="../../js/tl/dm.js"></script>
<script type="text/javascript" src="../../js/ui/scroll.js"></script>
<script type="text/javascript" src="../../js/tl/tl.js"></script>
<script type="text/javascript" src="../../js/tl/card.js"></script>
<script type="text/javascript" src="../../js/tl/parse.js"></script>
<script type="text/javascript" src="../../js/tl/poll.js"></script>
<script type="text/javascript" src="../../js/tl/date.js"></script>
<script type="text/javascript" src="../../js/tl/notification.js"></script>

View File

@@ -68,7 +68,7 @@
"favRegist": "Favourite",
"openBrowser": "Open in browser",
"screenshot": "Take a screenshot",
"copyURL": "Copy URL of this toot",
"copyURL": "Copy the URL",
"embed": "Embed",
"toots": "Toots",
"follow": "Follow",
@@ -125,6 +125,7 @@
"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>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Add",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
@@ -180,9 +182,14 @@
"lang_parse_bt": "Boost this toot",
"lang_parse_fav": "Favourite this toot",
"lang_parse_quote": "Quote this toot",
"lang_parse_del": "Delete this toot",
"lang_parse_pin": "Pin 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_clientop": "Operation of this client",
@@ -198,6 +205,7 @@
"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_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",

View File

@@ -127,6 +127,7 @@
"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",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -68,7 +68,7 @@
"favRegist": "Favourite",
"openBrowser": "Open in browser",
"screenshot": "Take a screenshot",
"copyURL": "Copy URL of this toot",
"copyURL": "Copy the URL",
"embed": "Embed",
"toots": "Toots",
"follow": "Follow",
@@ -125,6 +125,7 @@
"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>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Add",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
@@ -180,9 +182,14 @@
"lang_parse_bt": "Boost this toot",
"lang_parse_fav": "Favourite this toot",
"lang_parse_quote": "Quote this toot",
"lang_parse_del": "Delete this toot",
"lang_parse_pin": "Pin 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_clientop": "Operation of this client",
@@ -198,6 +205,7 @@
"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_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",

View File

@@ -127,6 +127,7 @@
"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",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -125,6 +125,7 @@
"integratedTLDes": "Интегриране (Местно/Начало)",
"localPlusDes": "LTL+Отговор+BT",
"notf": "Известия",
"bookmark": "Bookmarks",
"showThisTL": "Показване на този TL:",
"webviewWarn": "TweetDeck с потребителски TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Код</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Клавишните комбинации ще ви дразнят. Когато се почувствате така, маркирате „Предпочитам WebView“ в горната част на колоната.",
"add": "Добави",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "Няма данни",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
@@ -180,9 +182,14 @@
"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": "Изтрийте тази раздумка",
"lang_parse_pin": "Pin this toot",
"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": "Изтрий & върни",
"lang_parse_followed": "Followed you",
"lang_parse_clientop": "Operation of this client",
@@ -198,6 +205,7 @@
"lang_parse_thread": "Show thread",
"lang_parse_unknown": "Attached file",
"lang_parse_nsfw": "NSFW media",
"lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Show this user's notifications",
"lang_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",

View File

@@ -127,6 +127,7 @@
"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",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -68,7 +68,7 @@
"favRegist": "Favourite",
"openBrowser": "Open in browser",
"screenshot": "Take a screenshot",
"copyURL": "Copy URL of this toot",
"copyURL": "Copy the URL",
"embed": "Embed",
"toots": "Toots",
"follow": "Follow",
@@ -125,6 +125,7 @@
"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>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Add",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
@@ -180,9 +182,14 @@
"lang_parse_bt": "Boost this toot",
"lang_parse_fav": "Favourite this toot",
"lang_parse_quote": "Quote this toot",
"lang_parse_del": "Delete this toot",
"lang_parse_pin": "Pin 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_clientop": "Operation of this client",
@@ -198,6 +205,7 @@
"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_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",

View File

@@ -127,6 +127,7 @@
"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",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -125,6 +125,7 @@
"integratedTLDes": "Integrated(Local/Home)",
"localPlusDes": "LTL+Reply+BT",
"notf": "Notifikace",
"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>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Přidat",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Režim odpovězení. Pro vymazání stiskněte Ctrl+Shift+C.",
"lang_cards_check": " kontrolovat",
"lang_cards_pip": "Režim PiP",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "Žádná data",
"lang_details_filtered": "Filtrovaný toot",
"lang_details_embed": "HTML pro vložení je zkopírován.",
@@ -180,9 +182,14 @@
"lang_parse_bt": "Boostnout tento toot",
"lang_parse_fav": "Oblíbit si tento toot",
"lang_parse_quote": "Citovat tento toot",
"lang_parse_bookmark": "Bookmark this",
"lang_parse_unbookmark": "Unbookmark this",
"lang_parse_del": "Smazat tento toot",
"lang_parse_pin": "Připnout tento toot",
"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": "Vymazat a přepsat",
"lang_parse_followed": "vás nyní sleduje",
"lang_parse_clientop": "Operace tohoto klienta",
@@ -198,6 +205,7 @@
"lang_parse_thread": "Show thread",
"lang_parse_unknown": "Attached file",
"lang_parse_nsfw": "NSFW media",
"lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Show this user's notifications",
"lang_misskeyparse_renote": "Znovusdílení",
"lang_misskeyparse_renoteqt": "Renotování",

View File

@@ -127,6 +127,7 @@
"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",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -68,7 +68,7 @@
"favRegist": "Favourite",
"openBrowser": "Open in browser",
"screenshot": "Take a screenshot",
"copyURL": "Copy URL of this toot",
"copyURL": "Copy the URL",
"embed": "Embed",
"toots": "Toots",
"follow": "Follow",
@@ -125,6 +125,7 @@
"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>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Add",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
@@ -180,9 +182,14 @@
"lang_parse_bt": "Boost this toot",
"lang_parse_fav": "Favourite this toot",
"lang_parse_quote": "Quote this toot",
"lang_parse_del": "Delete this toot",
"lang_parse_pin": "Pin 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_clientop": "Operation of this client",
@@ -198,6 +205,7 @@
"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_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",

View File

@@ -127,6 +127,7 @@
"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",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -1,5 +1,5 @@
{
"list": "Konten",
"list": "Accountliste",
"back": "Zurück",
"add": "Konto hinzufügen",
"codesetupwarn": "Check if TheDesk is not working on Windows, you want to login Pleroma servers, you cannot login when it checked.",
@@ -8,9 +8,9 @@
"selacct": "Konto auswählen",
"codepastewarn": "Fügen Sie den Code ein und schließen Sie den Browser.",
"codepaste": "Code",
"domain": "Domain",
"domain": "Domäne",
"connect": "Föderierte Server",
"toots": "Toots",
"toots": "Tts",
"users": "Nutzer",
"users2": "Nutzer",
"safety": "Verbindung",
@@ -19,5 +19,5 @@
"thisismisskey": "Als Misskey anmelden",
"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": "Use access token to login(click after fill not code but access-token in box: Advanced)"
"accessTokenSetup": "Benutze Zugangs-Token zum Anmelden (Klicke nach Ausfüllen nicht den Code, sondern den Access-Token im Kästchen: Erweitert)"
}

View File

@@ -10,15 +10,15 @@
"selfile": "Anhängen...",
"insertEmoji": "Emojis",
"NPSpotify": "Wird gerade gespielt (Spotify)",
"NPiTunes": "Wird gerade gespielt(macOS)",
"NPiTunes": "Wird gerade wiedergegeben(macOS)",
"schedule": "Geplanter Tröt",
"postat": "Senden um",
"scheduleWarn": "2.7.0~ Mindestzeitraum: von 5min(Uhr auf dem Server ist möglicherweise ungenau.)",
"scheduleWarn": "2.7.0~ Mindestzeitabstand: von 5min(Uhr auf dem Server ist möglicherweise ungenau.)",
"clearToot": "Eingabe löschen",
"replyMode": "Antworten",
"no": "Nein",
"yes": "Ja",
"temp": "Hinzugefügte Inhalte",
"temp": "Dateien anhängen",
"nothing": "Keine",
"vis": "Adjust status privacy",
"cwtext": "Warntext",
@@ -61,8 +61,8 @@
"favedPeople": "Leute, die es bevorzugt haben",
"btedPeople": "Leute, die es verstärkt haben",
"useOtherAcct1": "Anderes Konto verwenden",
"useOtherAcct2": ":unfav and unBT are disabled.",
"btWithVis": "Boost with visibility",
"useOtherAcct2": ":unfav und unBT sind deaktiviert.",
"btWithVis": "Boost mit Sichtbarkeit",
"reply": "Antworten",
"bt": "Verstärkung",
"favRegist": "Favoriten",
@@ -81,29 +81,29 @@
"mutes": "Stumm geschaltet",
"block": "Blockieren",
"mute": "Stummschalten",
"domainBlock": "Domain block",
"domainBlock": "Domänenblockade",
"editProf": "Profil bearbeiten",
"change": "Speichern",
"followReq": "Anfragen folgen",
"likeHimOrHer": "Resembling",
"likeHimOrHer": "ähnlich wie",
"endorse": "Auf dem Profil zeigen",
"openinbrowser": "Im Browser öffnen",
"mainacct": "Im Hauptkonto einstellen",
"frc": "Vorschlagen",
"more": "Mehr",
"revoverJP": " an ",
"warnUseOtherAcct": "(Unable to unfollow)",
"warnUseOtherAcct": "(Kann nicht entfolgen)",
"revoverJPde": "",
"or": "oder",
"openProf": "Benutzerprofil",
"warnListRegist": "Folgen, um diesen Benutzer zu Listen hinzuzufügen.",
"blockDomain": "Add blocking domain",
"blockDomain": "Sperrdomain hinzufügen",
"name": "Anzeigename",
"note": "Notiz",
"editProfImg": "Avatar ändern",
"editHeader": "Change header image",
"editHeader": "Kopfzeilenbild ändern",
"blocked": "Sie sind blockiert. Warum?",
"likeUserDes": "Get people resembling this user.",
"likeUserDes": "Hole Leute die diesem Nutzer ähneln.",
"get": "Holen",
"historyBack": "Zurück",
"empUser": "Diesen Benutzer hervorheben",
@@ -125,8 +125,9 @@
"integratedTLDes": "Integrated(Local and Home)",
"localPlusDes": "Integrated(Local and replies and BT on Home)",
"notf": "Benachrichtigungen",
"bookmark": "Bookmarks",
"showThisTL": "Verlauf anzeigen:",
"webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"webviewWarn": "TweetDeck mit angepassten 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>). Tastaturkürzel werden Sie irritieren. Wenn Sie wollen, können Sie \"WebView bevorzugen\" oberhalb der Spalte aktivieren.",
"add": "Hinzufügen",
"search": "Suche",
"sortSet": "Sortieren",
@@ -142,13 +143,13 @@
"exceptWorn": "Gefilterte Toots verschwinden unwiderruflich, auch wenn der Filter später entfernt wird",
"avalableBefore": "Verfällt nach",
"warnAvBefore": "Nicht gesetzt oder \"0\" bedeutet \"Nie\"",
"warnAvBefore2": "This value may contain some error",
"warnAvBefore2": "Dieser Wert kann einen Fehler enthalten",
"unlimited": "Niemals",
"days": "Tag(e)",
"hours": "Stunde(n)",
"mins": "Minute(n)",
"secs": "Sekunde(n)",
"warnOnIntegratedTL": "Integrated TL/Plus TL will hide both Home-filtering words and Local-filtering words.",
"warnOnIntegratedTL": "Integrierte TL/Plus TL verbirgt sowohl Home-Filter-Wörter als auch Lokal-Filter-Wörter.",
"helloTheDesk": "Interner Fehler: Bitte löschen Sie alle Daten (auf der Einstellungsseite) <b>Alle Daten werden gelöscht.</b>",
"addColumn": "Spalte hinzufügen",
"sortColumns": "Sortieren",
@@ -157,25 +158,25 @@
"setting": "Einstellungen",
"reverse": "Tröt-Button Seite tauschen",
"f5": "Verlauf neu laden",
"nanoDes": "The smallest Mastodon,",
"nanoDes": "Das kleinste Mastodon,",
"verTips": "Version",
"clockTips": "Uhr",
"ramTips": "RAM-Status",
"changeTips": "Tipps ändern",
"helpAndLogs": "Help & Log",
"helpAndLogs": "Hilfe & Log",
"help": "Hilfe",
"contactwithlog": "If you tell me bugs(not working or something) with this log, I can detect what is wrong more easily.",
"contactwithlog": "Wenn Sie mir mit diesem Log Fehler (Funktionsunfähigkeit oder ähnliches) zeigen, kann ich leichter erkennen, was falsch ist.",
"about": "Über TheDesk",
"hereAddColumns": "<- Neuer Verlauf",
"show": "Show",
"directory": "Directory",
"active": "Recently active",
"newcomer": "New arrivals",
"show": "Zeige",
"directory": "Verzeichnis",
"active": "Kürzlich aktiv",
"newcomer": "Neu eingetroffen",
"local_only": "Nur lokal",
"demoBottomBtns": "Welcome guide",
"lookAtBottom": "Look at the bottom of this window. Here is some tips about it.",
"acctManDesc": "Add more accounts and logout them.",
"demoBottomBtns": "Willkommensguide",
"lookAtBottom": "Schauen Sie sich den unteren Teil des Fensters an. Hier sind einige Tipps darüber.",
"acctManDesc": "Fügen Sie weitere Konten hinzu und loggen Sie sie aus.",
"settingDesc": "Many and many preferences here. You will couldn't check it all!",
"nanoDescPlus": "Mini window client(experimental)",
"nanoDescPlus": "Mini-Fenster-Klient (experimentell)",
"listDesc": "All daily TheDesk and Mastodon tuning like <b>add and sort columns</b>, <b>list and filter check</b>."
}

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Antwortmodus. Strg+Umschalt+C zum Löschen.",
"lang_cards_check": " überprüfen",
"lang_cards_pip": "PiP mode",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "Keine Daten",
"lang_details_filtered": "Gefilterter Tröt",
"lang_details_embed": "Eingefügtes HTML wurde entfernt.",
@@ -180,9 +182,14 @@
"lang_parse_bt": "Diesen Tröt verstärken",
"lang_parse_fav": "Diesen Tröt favorisieren",
"lang_parse_quote": "Diesen Tröt zitieren",
"lang_parse_bookmark": "Bookmark this",
"lang_parse_unbookmark": "Unbookmark this",
"lang_parse_del": "Diesen Tröt löschen",
"lang_parse_pin": "Dieses Tröt fixieren",
"lang_parse_unpin": "Unpin this",
"lang_parse_link": "Open in a browser",
"lang_parse_det": "Details über Ihr Hauptkonto.",
"lang_parse_detail": "Details",
"lang_parse_redraft": "Löschen & Neuentwerfen",
"lang_parse_followed": "Folgt dir",
"lang_parse_clientop": "Aktion dieses Clients",
@@ -198,6 +205,7 @@
"lang_parse_thread": "Konversation anzeigen",
"lang_parse_unknown": "Angehängte Datei",
"lang_parse_nsfw": "NSFW Medien",
"lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Benachrichtigungen dieses Benutzers anzeigen",
"lang_misskeyparse_renote": "Weiterleiten",
"lang_misskeyparse_renoteqt": "Renote",

View File

@@ -127,6 +127,7 @@
"full": "URL, Text und Name(Hinweis auf den Benutzer)",
"notqt": "Deaktiviert (Taste in Verlauf ausgeblendet)",
"apiQuote": "API(only some instances)",
"showBookmarkAction": "Show a bookmarking toot button",
"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

@@ -68,7 +68,7 @@
"favRegist": "Favourite",
"openBrowser": "Open in browser",
"screenshot": "Take a screenshot",
"copyURL": "Copy URL of this toot",
"copyURL": "Copy the URL",
"embed": "Embed",
"toots": "Toots",
"follow": "Follow",
@@ -125,6 +125,7 @@
"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>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Add",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
@@ -180,9 +182,14 @@
"lang_parse_bt": "Boost this toot",
"lang_parse_fav": "Favourite this toot",
"lang_parse_quote": "Quote this toot",
"lang_parse_del": "Delete this toot",
"lang_parse_pin": "Pin 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_clientop": "Operation of this client",
@@ -198,6 +205,7 @@
"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_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",

View File

@@ -127,6 +127,7 @@
"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",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -125,6 +125,7 @@
"integratedTLDes": "crwdns3302:0crwdne3302:0",
"localPlusDes": "crwdns3304:0crwdne3304:0",
"notf": "crwdns3306:0crwdne3306:0",
"bookmark": "crwdns4402:0crwdne4402:0",
"showThisTL": "crwdns3308:0crwdne3308:0",
"webviewWarn": "crwdns3310:0crwdne3310:0",
"add": "crwdns3312:0crwdne3312:0",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "crwdns3574:0crwdne3574:0",
"lang_cards_check": "crwdns3576:0crwdne3576:0",
"lang_cards_pip": "crwdns3578:0crwdne3578:0",
"lang_cards_trasted": "crwdns4390:0crwdne4390:0",
"lang_cards_untransted": "crwdns4392:0crwdne4392:0",
"lang_details_nodata": "crwdns3580:0crwdne3580:0",
"lang_details_filtered": "crwdns3582:0crwdne3582:0",
"lang_details_embed": "crwdns3584:0crwdne3584:0",
@@ -180,9 +182,14 @@
"lang_parse_bt": "crwdns3760:0crwdne3760:0",
"lang_parse_fav": "crwdns3762:0crwdne3762:0",
"lang_parse_quote": "crwdns3764:0crwdne3764:0",
"lang_parse_bookmark": "crwdns4394:0crwdne4394:0",
"lang_parse_unbookmark": "crwdns4396:0crwdne4396:0",
"lang_parse_del": "crwdns3766:0crwdne3766:0",
"lang_parse_pin": "crwdns3768:0crwdne3768:0",
"lang_parse_unpin": "crwdns4398:0crwdne4398:0",
"lang_parse_link": "crwdns4400:0crwdne4400:0",
"lang_parse_det": "crwdns3770:0crwdne3770:0",
"lang_parse_detail": "crwdns4406:0crwdne4406:0",
"lang_parse_redraft": "crwdns3772:0crwdne3772:0",
"lang_parse_followed": "crwdns3774:0crwdne3774:0",
"lang_parse_clientop": "crwdns3776:0crwdne3776:0",
@@ -198,6 +205,7 @@
"lang_parse_thread": "crwdns3796:0crwdne3796:0",
"lang_parse_unknown": "crwdns3798:0crwdne3798:0",
"lang_parse_nsfw": "crwdns3800:0crwdne3800:0",
"lang_parse_html": "crwdns4388:0crwdne4388:0",
"lang_parse_notffilter": "crwdns3802:0crwdne3802:0",
"lang_misskeyparse_renote": "crwdns3804:0crwdne3804:0",
"lang_misskeyparse_renoteqt": "crwdns3806:0crwdne3806:0",

View File

@@ -127,6 +127,7 @@
"full": "crwdns4136:0crwdne4136:0",
"notqt": "crwdns4138:0crwdne4138:0",
"apiQuote": "crwdns4140:0crwdne4140:0",
"showBookmarkAction": "crwdns4404:0crwdne4404:0",
"main": "crwdns4142:0crwdne4142:0",
"mainwarn": "crwdns4144:0crwdne4144:0",
"lastacct": "crwdns4146:0crwdne4146:0",

View File

@@ -68,7 +68,7 @@
"favRegist":"Favourite",
"openBrowser":"Open in browser",
"screenshot":"Take a screenshot",
"copyURL":"Copy URL of this toot",
"copyURL":"Copy the URL",
"embed":"Embed",
"toots":"Toots",
"follow":"Follow",
@@ -125,6 +125,7 @@
"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>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add":"Add",

View File

@@ -86,6 +86,8 @@
"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.",
@@ -175,14 +177,19 @@
"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 Japanese",
"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_del": "Delete this toot",
"lang_parse_pin": "Pin 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_clientop": "Operation of this client",
@@ -198,6 +205,7 @@
"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_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",

View File

@@ -127,6 +127,7 @@
"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",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -125,6 +125,7 @@
"integratedTLDes": "Integrado (local/principal)",
"localPlusDes": "Local+Respuesta+retoot",
"notf": "Notificaciones",
"bookmark": "Bookmarks",
"showThisTL": "Mostrar esta línea temporal:",
"webviewWarn": "TweetDeck con TJDeck personalizado (<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Código</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Los atajos de teclado te irritarán. Cuando lo sientas, revisá \"Preferir WebView\" en la parte superior de la columna.",
"add": "Agregar",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Modo de respuesta. \"Ctrl\" + \"Mayús\" + \"C\" para limpiar.",
"lang_cards_check": " comprobado",
"lang_cards_pip": "Modo de pantalla en pantalla",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "Sin datos",
"lang_details_filtered": "Toot filtrado",
"lang_details_embed": "El código HTML de inserción se copió al portapapeles.",
@@ -180,9 +182,14 @@
"lang_parse_bt": "Retootear este toot",
"lang_parse_fav": "Marcar como favorito este toot",
"lang_parse_quote": "Citar este toot",
"lang_parse_bookmark": "Bookmark this",
"lang_parse_unbookmark": "Unbookmark this",
"lang_parse_del": "Eliminar este toot",
"lang_parse_pin": "Fijar este toot",
"lang_parse_unpin": "Unpin this",
"lang_parse_link": "Open in a browser",
"lang_parse_det": "Detalles vía tu cuenta principal.",
"lang_parse_detail": "Details",
"lang_parse_redraft": "Eliminar toot original y editarlo",
"lang_parse_followed": "Te sigue",
"lang_parse_clientop": "Función de este cliente",
@@ -198,6 +205,7 @@
"lang_parse_thread": "Mostrar hilo",
"lang_parse_unknown": "Archivo adjunto",
"lang_parse_nsfw": "medios sensibles",
"lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Mostrar notificaciones de este usuario",
"lang_misskeyparse_renote": "Republicar",
"lang_misskeyparse_renoteqt": "Renovar",

View File

@@ -127,6 +127,7 @@
"full": "Dirección web, texto y cuenta (mención al usuario)",
"notqt": "Deshabilitado (ocultar botones en las líneas temporales)",
"apiQuote": "API (sólo algunas instancias)",
"showBookmarkAction": "Show a bookmarking toot button",
"main": "Acciones de cuenta predeterminada",
"mainwarn": "Se puede establecer la cuenta predeterminada en el Administrador de cuentas.",
"lastacct": "Cuenta usada recientemente",

View File

@@ -68,7 +68,7 @@
"favRegist": "Favourite",
"openBrowser": "Open in browser",
"screenshot": "Take a screenshot",
"copyURL": "Copy URL of this toot",
"copyURL": "Copy the URL",
"embed": "Embed",
"toots": "Toots",
"follow": "Follow",
@@ -125,6 +125,7 @@
"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>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Add",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
@@ -180,9 +182,14 @@
"lang_parse_bt": "Boost this toot",
"lang_parse_fav": "Favourite this toot",
"lang_parse_quote": "Quote this toot",
"lang_parse_del": "Delete this toot",
"lang_parse_pin": "Pin 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_clientop": "Operation of this client",
@@ -198,6 +205,7 @@
"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_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",

View File

@@ -127,6 +127,7 @@
"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",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -68,7 +68,7 @@
"favRegist": "Favourite",
"openBrowser": "Open in browser",
"screenshot": "Take a screenshot",
"copyURL": "Copy URL of this toot",
"copyURL": "Copy the URL",
"embed": "Embed",
"toots": "Toots",
"follow": "Follow",
@@ -125,6 +125,7 @@
"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>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Add",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
@@ -180,9 +182,14 @@
"lang_parse_bt": "Boost this toot",
"lang_parse_fav": "Favourite this toot",
"lang_parse_quote": "Quote this toot",
"lang_parse_del": "Delete this toot",
"lang_parse_pin": "Pin 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_clientop": "Operation of this client",
@@ -198,6 +205,7 @@
"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_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",

View File

@@ -127,6 +127,7 @@
"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",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -68,7 +68,7 @@
"favRegist": "Favourite",
"openBrowser": "Open in browser",
"screenshot": "Take a screenshot",
"copyURL": "Copy URL of this toot",
"copyURL": "Copy the URL",
"embed": "Embed",
"toots": "Pouets",
"follow": "Follow",
@@ -125,6 +125,7 @@
"integratedTLDes": "Intégré (local et principal)",
"localPlusDes": "Integrated(Local and replies and BT on Home)",
"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>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Add",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "Aucune donnée",
"lang_details_filtered": "Pouet filtré",
"lang_details_embed": "Embed HTML is cliped.",
@@ -180,9 +182,14 @@
"lang_parse_bt": "Booster ce pouet",
"lang_parse_fav": "Mettre ce pouet en favoris",
"lang_parse_quote": "Citer ce pouet",
"lang_parse_bookmark": "Bookmark this",
"lang_parse_unbookmark": "Unbookmark this",
"lang_parse_del": "Supprimer ce pouet",
"lang_parse_pin": "Épingler ce pouet",
"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": "Supprimer & reformuler",
"lang_parse_followed": "Vous a suivi",
"lang_parse_clientop": "Operation of this client",
@@ -198,6 +205,7 @@
"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_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",

View File

@@ -127,6 +127,7 @@
"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",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -68,7 +68,7 @@
"favRegist": "Favourite",
"openBrowser": "Open in browser",
"screenshot": "Take a screenshot",
"copyURL": "Copy URL of this toot",
"copyURL": "Copy the URL",
"embed": "Embed",
"toots": "Toots",
"follow": "Follow",
@@ -125,6 +125,7 @@
"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>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Add",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
@@ -180,9 +182,14 @@
"lang_parse_bt": "Boost this toot",
"lang_parse_fav": "Favourite this toot",
"lang_parse_quote": "Quote this toot",
"lang_parse_del": "Delete this toot",
"lang_parse_pin": "Pin 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_clientop": "Operation of this client",
@@ -198,6 +205,7 @@
"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_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",

View File

@@ -127,6 +127,7 @@
"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",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -68,7 +68,7 @@
"favRegist": "Favourite",
"openBrowser": "Open in browser",
"screenshot": "Take a screenshot",
"copyURL": "Copy URL of this toot",
"copyURL": "Copy the URL",
"embed": "Embed",
"toots": "Toots",
"follow": "Follow",
@@ -125,6 +125,7 @@
"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>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Add",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
@@ -180,9 +182,14 @@
"lang_parse_bt": "Boost this toot",
"lang_parse_fav": "Favourite this toot",
"lang_parse_quote": "Quote this toot",
"lang_parse_del": "Delete this toot",
"lang_parse_pin": "Pin 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_clientop": "Operation of this client",
@@ -198,6 +205,7 @@
"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_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",

View File

@@ -127,6 +127,7 @@
"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",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -68,7 +68,7 @@
"favRegist": "Favourite",
"openBrowser": "Open in browser",
"screenshot": "Take a screenshot",
"copyURL": "Copy URL of this toot",
"copyURL": "Copy the URL",
"embed": "Embed",
"toots": "Toots",
"follow": "Follow",
@@ -125,6 +125,7 @@
"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>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Add",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
@@ -180,9 +182,14 @@
"lang_parse_bt": "Boost this toot",
"lang_parse_fav": "Favourite this toot",
"lang_parse_quote": "Quote this toot",
"lang_parse_del": "Delete this toot",
"lang_parse_pin": "Pin 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_clientop": "Operation of this client",
@@ -198,6 +205,7 @@
"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_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",

View File

@@ -127,6 +127,7 @@
"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",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -0,0 +1,23 @@
{
"list":"アカウント一覧",
"back":"戻る",
"add":"アカウントを追加",
"codesetupwarn":"チェック外したらコード貼っ付けんでもよくなる(<u>Mastodon</u>にWindowsやmacOSからログインするとき)失敗する場合は諦めて入れてや",
"codesetup":"コードセットアップ",
"mainacct":"メインアカウント",
"selacct":"アカウントを選択",
"codepastewarn":"コードはここに貼っ付けて。ログインウィンドウは閉じてもうてもええで。",
"codepaste":"コードを入力",
"domain":"ドメイン名",
"connect":"接続サーバー数",
"toots":"トゥート数",
"users":"ユーザー数",
"users2":"人",
"safety":"コネクション",
"ver":"Mastodonバージョン",
"ko":"個",
"thisismisskey":"これはMisskeyや",
"misskeylogin":"",
"nodata":"アカウントあらへん",
"accessTokenSetup": "アクセストークン使うてもいけるで(コードの代わりにアクセストークンを入れてクリックしてな: 一見さんお断り)"
}

View File

@@ -0,0 +1,182 @@
{
"draghere":"ドラッグしてみ?(ドラッグしたらすぐアップロードされるで)",
"close":"Close",
"showSelectProf":"このアカウントのプロフィール出す",
"closethisbox":"このボックスなおす",
"post-new":"投稿",
"toot":"トゥート",
"nsfwDes":"画像を見たらあかんやつにする",
"cwDes":"コンテンツワーニング(ほんまに見るんか?って聞く)",
"selfile":"ファイル選ぶ",
"insertEmoji":"絵文字入れる",
"NPSpotify":"NowPlaying(Spotify)",
"NPiTunes":"NowPlaying(macOS)",
"schedule":"時間指定投稿",
"postat":"時間指定投稿",
"scheduleWarn":"2.7.0~ 5分は待ってな。サーバーの時計おうてるかは知らんで。",
"clearToot":"トゥートボックスのクリア",
"replyMode":"返信モード",
"no":"いいえ",
"yes":"はい",
"temp":"添付ファイル",
"nothing":"なし",
"vis":"公開範囲",
"cwtext":"警告文",
"selectVis":"公開範囲指定",
"publicJP":"公開",
"unlistedJP":"未収載",
"privateJP":"非公開",
"localJP":"ローカル限定",
"directJP":"ダイレクト",
"sectoot":"こっちでもトゥート",
"emojiWarn":"サーバーちゃうかったら絵文字もちゃうで。",
"emojiInsertWarn":"入力できん絵文字もあるけどしゃーない。",
"refreshEmoji":"絵文字更新",
"closeThisBox":"ボックスなおす",
"showThisEmoji":"一覧を表示中",
"customEmoji":"カスタム絵文字",
"peopleEmoji":"ひと",
"natureEmoji":"自然",
"foodEmoji":"食べ物",
"activityEmoji":"活動",
"placeEmoji":"場所",
"thingsEmoji":"もの",
"symbolEmoji":"記号",
"flagsEmoji":"国旗",
"poll":"アンケート",
"pollDdisabled":"アンケート付けへん",
"pollProvider":"アンケートのプロバイダ",
"choice":"選択肢",
"polluntil":"あんたが投票するまで票数教えへん",
"pollmulti":"複数選択を許可",
"expires_in":"有効期限(秒)",
"contextBefore":"これより前の会話",
"thisToot":"対象のトゥート",
"contextAfter":"これより後の会話",
"beforeLTL":"これより前のLocal TL(誰にエアリプしてん)",
"beforeUTL":"これより前のユーザーTL(誰のトゥート言及してんねん)",
"afterLTL":"これより後のLocal TL(誰のトゥート言及してんねん)",
"afterUTL":"これより後のユーザーTL(誰のトゥート言及してんねん)",
"afterFTL":"これより後の連合TL(誰のトゥート言及してんねん)",
"favedPeople":"誰がお気に入りに登録してるんや",
"btedPeople":"誰がお気に入りブーストしたんや",
"useOtherAcct1":"他のアカウント使う",
"useOtherAcct2":"の解除はできひん",
"btWithVis": "公開範囲も決めてからブースト",
"reply":"返信",
"bt":"ブースト",
"favRegist":"お気に入り",
"openBrowser":"ブラウザで開く",
"screenshot":"スクリーンショット",
"copyURL":"URLをコピー",
"embed":"埋め込む",
"toots":"トゥート",
"follow":"フォロー",
"follower":"フォロワー",
"timeline":"タイムライン",
"operateOtherAcct":"他のアカウント使うて何かする",
"list":"リスト",
"makeNew":"新しいやつ",
"blocks":"ブロック",
"mutes":"ミュート",
"block":"ブロック",
"mute":"ミュート",
"domainBlock":"ドメインブロック",
"editProf":"プロフィールいらう",
"change":"変更",
"followReq":"フォローリクエスト",
"likeHimOrHer":"似とうユーザー",
"frc":"あんたにおすすめ",
"more":"他無いんか?",
"endorse":"紹介したる",
"openinbrowser":"ブラウザで開く",
"mainacct":"メインアカウントに設定",
"revoverJP":"する",
"warnUseOtherAcct":"(解除はでけへん。)",
"revoverJPde":"で",
"or":"それか",
"openProf":"プロフィール出す",
"warnListRegist":"リストに入れたかったらまずフォローせなあかん。",
"blockDomain":"ブロックするドメイン",
"name":"名前",
"note":"自己紹介",
"editProfImg":"アバター変える",
"editHeader":"ヘッダー変える",
"blocked":"なんでか知らんけどブロックされとるわ",
"likeUserDes":"あんたと似とうユーザーを発掘すんで。",
"get":"取得",
"historyBack":"一つ前のユーザーデータ",
"empUser":"ユーザー強調",
"supportme":"支援してくれんか?",
"TheDeskDes":"TheDeskは営利目的ちゃうし、有料機能や広告は一切あらへん。<br>せやけど君らが支援してくれとうからTheDeskは続いてるんや。ほんまありがとうな。",
"PatreonSupport":"Patreonで支援",
"PixivSupport":"Pixiv FANBOXで支援",
"AWLSupport":"Amazonほしいものリスト",
"SendAmazonGift1":"",
"SendAmazonGift2":"にAmazonギフトカードを送る",
"monthly":"月額支援(大歓迎)",
"once":"一度限りの支援(めっちゃ歓迎)",
"local":"ローカル",
"localMedia":"ローカル(メディア)",
"home":"ホーム",
"fed":"連合",
"fedMedia":"連合(メディア)",
"dm":"ダイレクトメッセージ",
"integratedTLDes":"統合(ローカルとホーム)",
"localPlusDes":"統合(LTL+BT+返信)",
"notf":"通知",
"showThisTL":"表示するタイムライン",
"webviewWarn":"TweetDeckを出すで。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>)。キーボードショートカットと干渉しはるから、文字入れる時はカラムの「WebView優先」にチェック入れてからしてな。",
"add":"追加",
"search":"検索",
"sortSet":"並べ替え設定",
"selectAcct":"選択(スクロールして全選択肢表示)",
"filterWord":"フィルターワード",
"listLocale":"一覧",
"degree":"適応範囲",
"conver":"会話",
"option":"オプション",
"matchWord":"単語マッチ",
"warnMatchWord":"非ラテン系の文字列では「単語マッチ」はせん方がええで。(これはフリかも知れん)",
"except":"除外",
"exceptWorn":"「除外」にしてもうたらマッチしたトゥートはフィルター解除しても二度と表示されへん。",
"avalableBefore":"有効期限(あと)",
"warnAvBefore":"未指定(または0分)で「無期限」や",
"warnAvBefore2":"この数字はそんなに正確ちゃうで",
"unlimited":"無期限",
"days":"日",
"hours":"時間",
"mins":"分",
"secs":"秒",
"warnOnIntegratedTL":"Integrated TL/Plus TLは、公開/ホームのフィルターワードをどっちも合わせて処理するで",
"helloTheDesk":"やってもうた…再読込して治らんかったら初期化(全データ削除)してな…(予め設定をエクスポートしとくんやで)",
"addColumn":"カラム追加",
"sortColumns":"カラム一覧/並べ替え",
"acctMan":"アカウントマネージャー",
"filter":"フィルター",
"setting":"設定",
"reverse":"トゥートボタンの左右入れ替え",
"f5":"TL再読込",
"nanoDes":"めっちゃ小さいマストドン。",
"verTips":"バージョン",
"clockTips":"時計",
"ramTips":"システムメモリ容量",
"changeTips":"Tips変更",
"helpAndLogs":"ヘルプとログ",
"help":"ヘルプ",
"contactwithlog":"なんか知らんけど動かんとかそういうのを開発者のお兄さんお姉さんに言うときは下のログのそこらへんの時間に起きたなぁってのを拾って連絡するとなんかの助けになるかも知れん。ついでやけどこのウィンドウ全体を横に引き伸ばしたらいい感じに見れるで",
"about":"このソフトについて",
"hereAddColumns":"←ここからTL追加",
"show": "表示",
"directory": "ディレクトリ",
"active": "最新活動順",
"newcomer": "新規順",
"local_only": "ローカルだけ",
"menu": "メニュー",
"demoBottomBtns": "チュートリアル",
"lookAtBottom": "画面下のアイコン群を見てみ。こんなんある思うけどとりあえずバァーっと説明してくで",
"acctManDesc": "アカウントに関することは全部ここ見てな。たくさんアカウント使うたりログアウトするときとか。各アカウントに好きな色設定して彩るんや",
"settingDesc": "設定はここや。数え切れんほどあるわ。(フィルターの管理などMastodon本体の設定はここちゃうで)",
"nanoDescPlus": "めっちゃ小さいMastodonクライアント。(試しに付けてみただけや)",
"menuDesc": "<u>カラム追加や並び変え</u>、<u>リストやフィルター</u>、<u>検索</u>などはここや。とりあえずここ見たらだいたいできる。"
}

View File

@@ -0,0 +1,259 @@
{
"language": "ja",
"lang_toot": "トゥート",
"lang_there": "あり",
"lang_nothing": "なし",
"lang_yesno": "はい",
"lang_no": "いいえ",
"lang_progress": "処理中",
"lang_edit": "編集",
"lang_del": "削除",
"lang_add": "追加",
"lang_fatalerroroccured": "あ、やってもうた。これヤバいやつや",
"lang_speech": "Google 日本語",
"lang_lang": "言語",
"lang_langlocale": "日本語(関西)",
"lang_back": "戻る",
"lang_set": "設定",
"lang_langadd": "<a href=\"https://github.com/cutls/TheDesk\" target=\"_blank\">GitHub</a>から翻訳してな。日本の方言はあらへんけど。",
"lang_time_prefixAgo": null,
"lang_time_prefixFromNow": "今から",
"lang_time_suffixAgo": "",
"lang_time_suffixFromNow": "",
"lang_time_inPast": "",
"lang_time_seconds": "%d秒前",
"lang_time_minute": "1分前",
"lang_time_minutes": "%d分前",
"lang_time_hour": "1時間前",
"lang_time_hours": "%d時間前",
"lang_time_day": "昨日",
"lang_time_days": "%d日前",
"lang_time_month": "昨月",
"lang_time_months": "%dヶ月前",
"lang_time_year": "去年",
"lang_time_years": "%d年前",
"lang_version_usever": "心配せんでええ。{{ver}}は最新や。",
"lang_version_skipver": "アップデートをスキップしてもうた。",
"lang_version_platform": "このソフトウェアMicrosoft Storeからダウンロードしたんか普通はホームページからインストールするし「いいえ」でええんやけど。「はい」にしたらMicrosoft StoreはんがアップデートするからTheDeskはアップデートせえへんとか言わへんようになる。",
"lang_version_platform_linux": "このソフトウェアSnapcraftからダウンロードしたんか普通はホームページからインストールするし「いいえ」でええんやけど。「はい」にしたらSnapcraftはんがアップデートするからTheDeskはアップデートせえへんとか言わへんようになる。",
"lang_version_platform_mac": "このソフトウェアHomebrew caskからダウンロードしたんか普通はホームページからインストールするし「いいえ」でええんやけど。「はい」にしたらHomebrew caskはんがアップデートするからTheDeskはアップデートせえへんとか言わへんようになる。",
"lang_login_noauth": "認証せんと見る",
"lang_manager_info": "インスタンス情報",
"lang_manager_refresh": "情報更新",
"lang_manager_delete": "削除",
"lang_manager_color": "アカウントカラー選ぶ",
"lang_manager_confirm": "を消すで。",
"lang_manager_mainAcct": "メインアカウント設定したで。",
"lang_manager_def": "既定",
"lang_manager_none": "なし",
"lang_manager_godev": "",
"lang_manager_logout": "ログアウト",
"lang_bbmd_misskey": "TheDeskのMisskeyは、@を返信として扱うけんど、全ての@はなおされて別パラメータになってまう。ついでに、「未収載」は「ホーム」扱いや。",
"lang_emoji_get": "絵文字リスト引っ張ってくる",
"lang_emoji_custom": "カスタム絵文字",
"lang_defaultemojis_text": "{{cat}}の絵文字",
"lang_emoji_uncat": "未分類",
"lang_postimg_previewdis": "プレビューできへん。",
"lang_postimg_aftupload": "アップロードしたらアカウントは切り替えられへん。",
"lang_postimg_failupload": "アップロードできんかったわ。",
"lang_postimg_delete": "クリック: 画像に説明付ける/右クリック: 削除",
"lang_postimg_desc": "説明",
"lang_postimg_leadContext": "画像を削除するんやったら右クリック",
"lang_post_tagTL": "デフォルトタグ無いしこのまま投稿するとローカルには表示されへんで。",
"lang_post_tagVis": "公開範囲が「公開」以外やったら、タグTLには出えへんで。(一部インスタンスを除く)",
"lang_post_cwtitle": "長文投稿の警告",
"lang_post_cwtxt": "指定文字数、行数を超えるトゥートをしようとしてんねんけどどうするCW付ける\n自動CWのタイトル:",
"lang_post_btn1": "キャンセル(投稿せえへん)",
"lang_post_btn2": "CW付けてこのまま投稿",
"lang_post_btn3": "これはええねん(そのまま投稿)",
"lang_status_favWarn": "お気に入り登録したんやけどインスタンスがちゃうときは時間がかかるで、知らんけど。",
"lang_status_btWarn": "ブーストしたんやけどインスタンスがちゃうときは時間がかかるで、知らんけど。",
"lang_status_follow": "フォロー",
"lang_status_unfollow": "フォロー解除",
"lang_status_block": "ブロック",
"lang_status_unblock": "ブロック解除",
"lang_status_mute": "ミュート",
"lang_status_unmute": "ミュート解除",
"lang_status_redraftTitle": "いっぺん消してもっぺん編集",
"lang_status_redraft": "いっぺん消してもっぺん編集するそのトゥートの全てのデータが無くなってまうけど。この機能はベータ版やで。画像はv2.4.1以上やないと無理やで。",
"lang_status_emphas": "を強調したで。リロードしてな。",
"lang_status_unemphas": "を強調解除したで。リロードしてな。",
"lang_status_unendorse": "紹介解除",
"lang_status_endorse": "プロフで紹介する",
"lang_status_followers": "フォロワー",
"lang_status_active": "最新トゥート",
"lang_suggest_nodata": "サジェストしたいんやけど、絵文字リストを取得してくれへん?",
"lang_usetxtbox_reply": "返信モードや。やめるときはCtrl+Shift+Cな。",
"lang_cards_check": "チェック",
"lang_cards_pip": "ながら観モード",
"lang_cards_transted": "TheDeskがええで言うた埋め込みHTMLです(Twitter, nicovideo, YouTube, Spotify, twitcasting)",
"lang_cards_untransted": "TheDeskはこの埋め込みURLほんまに大丈夫か自信ないけど",
"lang_details_nodata": "データなし",
"lang_details_filtered": "フィルターされたで。",
"lang_details_embed": "埋め込みHTMLがコピーされたで。",
"lang_details_url": "トゥートURLがコピーされたで。",
"lang_details_txt": "トゥート本文がコピーされたで。",
"lang_filter_nodata": "フィルターは無いで",
"lang_filter_errordegree": "適応範囲は一つ以上チェックせなあかんで。",
"lang_list_nodata": "リストは無いで",
"lang_list_show": "表示",
"lang_list_users": "ユーザー一覧",
"lang_list_nouser": "ユーザーはおらんで",
"lang_list_add": "リストに追加",
"lang_list_add_misskey": "(重複追加になってるかもしれん)",
"lang_list_remove": "リストから消す",
"lang_notf_new": "件の新しい通知",
"lang_speech_refresh": "音声読み上げ設定を更新したで。",
"lang_src_ts": "時系列",
"lang_src_people": "人がトゥート",
"lang_tags_always": "常に",
"lang_tags_realtime": "実況",
"lang_tags_tagunpin": "{{tag}}をよく使うタグから消す",
"lang_tags_unrealtime": "実況解除",
"lang_tags_tagwarn": "{{tag}}がないときは自動でタグ付けるで。",
"lang_tl_media": "メディア",
"lang_tl_reconnect": "Streamingに再接続や",
"lang_tl_postmarkers_title": "処理中",
"lang_tl_postmarkers": "未読マーカー送信してるしちょっと待ってな…",
"lang_img_DLDone": "ダウンロード先:",
"lang_img_copyDone": "画像のURLをコピーしたで",
"lang_layout_gotop": "一番上へ。アイコンが赤のときはストリーミングに接続できてへんしF5で再読込やってみて。",
"lang_layout_thisacct": "このアカウントの{{notf}}",
"lang_layout_delthis": "このカラムを削除",
"lang_layout_setthis": "このカラムの設定",
"lang_layout_mediafil": "メディアフィルター",
"lang_layout_linkana": "リンク解析",
"lang_layout_linkanades": "リンクの解析を切り替え",
"lang_layout_tts": "読み上げ",
"lang_layout_reconnect": "カラム再読込",
"lang_layout_headercolor": "TLヘッダーカラー",
"lang_layout_nodata": "[トゥートあらへん]<br>F5/⌘+Rで再読込してみて。",
"lang_layout_dm": "ダイレクトメッセージ",
"lang_layout_webviewmode": "WebView優先",
"lang_excluded": "見せへん通知",
"lang_layout_excludingbt": "BT表示(OFF/BT除外/BTだけ)",
"lang_layout_leftFold": "左へ重ねる",
"lang_layout_leftUnfold": "右へ出す",
"lang_layout_deleteColumn": "カラム削除",
"lang_layout_deleteColumnDesc": "カラムを削除してええ?",
"lang_layout_unread": "未読",
"lang_sort_gothis": "このカラムへ",
"lang_sort_remthis": "このカラムを消す",
"lang_spotify_img": "アルバムアートワークを付けるで。",
"lang_spotify_imgno": "アルバムアートワークを付けへんで。",
"lang_spotify_acct": "まずアカウント連携をしてな",
"lang_spotify_np": "NowPlayingするときのやつを変えたで",
"lang_setting_npprovide": "NowPlayingのソースを{{set}}にしたで",
"lang_hisdata_frcreq": "Mastodon 2.4.3~だけやで",
"lang_hisdata_frcwarn": "非フォローやけど絡みある人らや。",
"lang_hisdata_taketime": "30秒から数分かかることがあるで",
"lang_hisdata_notonmisskey": "このシステムはMisskeyにはあらへん。",
"lang_hisdata_key": "こいつは{{set}}が信じれるって言うてるし信じたってな",
"lang_showontl_movetxt": "このアカウントはお引っ越ししたで",
"lang_showontl_movebtn": "移行先を見る",
"lang_showontl_botacct": "botアカウント",
"lang_showontl_followed": "フォローしてもろてる",
"lang_showontl_notf": "通知",
"lang_showontl_domain": "ドメイン",
"lang_showontl_listwarn": "リストに追加すんにはまずフォローしてな。",
"lang_showontl_verified": "このサイトはこの人のやつやってわかってる。",
"lang_parse_mentioned": "が返信したで",
"lang_parse_faved": "がお気に入り登録したで",
"lang_parse_bted": "がブーストしたで",
"lang_parse_btedsimple": "がブースト",
"lang_parse_polled": "のアンケート",
"lang_parse_notftime": "通知された時間",
"lang_parse_cwshow": "見る",
"lang_parse_fulltext": "以下全文",
"lang_parse_autofold": "自動折り畳み",
"lang_parse_more": "もっと見せてや",
"lang_parse_url": "URL解析",
"lang_parse_tagTL": "{{tag}}のタイムライン",
"lang_parse_tagtoot": "{{tag}}でトゥート",
"lang_parse_tagpin": "{{tag}}をよく使うタグへ",
"lang_parse_public": "公開",
"lang_parse_unlisted": "未収載",
"lang_parse_private": "非公開",
"lang_parse_direct": "ダイレクト",
"lang_parse_clickcopy": "クリックして本文をコピー",
"lang_parse_clickcopyurl": "クリックしてトゥートURLをコピー",
"lang_parse_trans": "このトゥートを標準語に翻訳",
"lang_parse_replyto": "このトゥートに返信",
"lang_parse_bt": "このトゥートをブースト",
"lang_parse_fav": "このトゥートをお気に入り登録",
"lang_parse_quote": "このトゥートを引用",
"lang_parse_del": "このトゥートを削除",
"lang_parse_pin": "このトゥートをピン留め",
"lang_parse_det": "詳細(メインアカウント経由)",
"lang_parse_redraft": "このトゥートを削除して再編集",
"lang_parse_followed": "フォローしてもろた。",
"lang_parse_clientop": "クライアント操作",
"lang_parse_clienttxt": " どうする?",
"lang_parse_clientno": "何もせえへん",
"lang_parse_clientemp": "強調表示/解除",
"lang_parse_clientmute": "ミュート",
"lang_parse_mute": "ミュートするけど設定から解除できんで。",
"lang_parse_voted": "投票済みや",
"lang_parse_vote": "投票",
"lang_parse_unvoted": "結果だけチラ見や",
"lang_parse_endedvote": "終了済み",
"lang_parse_thread": "会話を表示",
"lang_parse_unknown": "添付ファイル",
"lang_parse_nsfw": "閲覧注意",
"lang_parse_html": "埋め込みを表示",
"lang_parse_notffilter": "このユーザーの通知だけ見る",
"lang_misskeyparse_renote": "再投稿",
"lang_misskeyparse_renoteqt": "引用",
"lang_misskeyparse_reaction": "リアクション",
"lang_misskeyparse_tagnostr": "タグTLはストリーミング無いで。",
"lang_misskeyparse_listnostr": "リストTLはストリーミング無いで。",
"lang_misskeyparse_home": "ホーム",
"lang_misskeyparse_followers": "フォロワー",
"lang_misskeyparse_specified": "ユーザー指定",
"lang_misskeyparse_qt": "MisskeyのRenote(引用モード)中:Ctrl+Shift+Cでクリア",
"lang_misskeyparse_renoted": "がRepost",
"lang_misskeyparse_quoted": "が引用",
"lang_misskeyparse_reacted": "がリアクション",
"lang_setting_time": "時間設定を{{set}}に設定したで。",
"lang_setting_theme": "テーマ設定を{{set}}に設定したで。",
"lang_setting_nsfw": "画像表示設定を{{set}}に設定したで。",
"lang_setting_cw": "テキスト表示設定を{{set}}に設定したで。",
"lang_setting_cwtext": "デフォルトの警告文を「{{set}}に設定したで。",
"lang_setting_cws": "標準でCW:{{set}}",
"lang_setting_rp": "リプライ数表示:{{set}}",
"lang_setting_vis": "デフォルトの公開設定を{{set}}に設定したで。",
"lang_setting_popup": "ポップアップお知らせを{{set}}に設定したで。",
"lang_setting_off": "オフ",
"lang_setting_s": "秒",
"lang_setting_box": "デフォルトでのボックスの挙動を{{set}}に設定したで。",
"lang_setting_gif": "アイコンアニメーション再生を{{set}}に設定したで。",
"lang_setting_selt": "{{set1}}行以上または{{set2}}文字以上でテキストを隠すで。",
"lang_setting_autocw": "{{set1}}行以上または{{set2}}文字以上で警告を表示すんで。",
"lang_setting_width": "横幅最低を{{set}}pxに設定したで。",
"lang_setting_fixwidth": "TweetDeckの横幅を{{set}}pxに設定したで。",
"lang_setting_img": "画像投稿後の設定を「{{set}}に設定したで。",
"lang_setting_font": "フォントを{{set}}に設定したで。",
"lang_setting_default": "デフォルト",
"lang_setting_size": "フォントサイズを{{set}}pxに設定したで。",
"lang_setting_imgheight": "画像高さを{{set}}pxに設定したで。",
"lang_setting_ticker": "#InstanceTicker使用を{{set}}に設定したで。",
"lang_setting_animation": "アニメーションを{{set}}に設定したで。",
"lang_setting_tag": "タグの取得範囲を「{{set}}に設定したで。",
"lang_setting_boxConfirm": "投稿ボックスを{{set}}",
"lang_setting_ul": "独自ロケール設定を{{set}}に設定したで。",
"lang_setting_notf": "ネイティブ通知を{{set}}に設定したで。",
"lang_setting_quote": "引用形式を{{set}}に設定したで。",
"lang_setting_via": "via表示を{{set}}に設定したで。",
"lang_setting_mov": "アクションボタン非表示を{{set}}に設定したで。",
"lang_setting_setasread": "通知カラム存在時新着非表示を{{set}}に設定したで。",
"lang_setting_main": "起動時・投稿時のアカウントを{{set}}に設定したで。",
"lang_setting_sec": "セカンダリートゥートボタン:{{set}}",
"lang_setting_ksref": "キーボードショートカットを設定したで。",
"lang_setting_nomuting": "ミュートしているクライアントは無いで。",
"lang_setting_notftest": "通知テスト",
"lang_setting_notftestprof": "アイコンはあんたのアカウントのやつや。",
"lang_setting_exportwarn": "重要なデータだけエクスポートすんで。エクスポートされたデータは他の人に見せたらあかんで(これはフリちゃうで)。全ての認証データが入ってるからな、ほんまやで。",
"lang_setting_importwarn": "全てのデータが無くなってまうで。",
"lang_setting_noupd": "あんたのTheDeskは最新や",
"lang_setting_thisisbeta": "あんたのTheDeskはベータ版やし、アップデートは手動でせなあかん。"
}

View File

@@ -0,0 +1,207 @@
{
"setting": "設定",
"set": "設定",
"yes": "はい",
"no": "いいえ",
"none": "なし",
"default": "既定",
"change": "変更",
"select": "選択",
"env": "環境設定",
"setlang": "言語",
"backup": "設定のインポートとエクスポート",
"import": "インポート",
"export": "エクスポート",
"hardwareAcceleration": "ハードウェアアクセラレーションの無効化",
"hardwareAccelerationWarn": "表示(特に設定画面)があかんときは「はい」を選んでな。再起動入るで。",
"theme": "テーマの設定",
"popup": "新規通知のポップアップお知らせの表示秒数",
"popupwarn": "0にしたら出さへん",
"s": "秒",
"nativenotf": "ネイティブ通知設定",
"nnwarn": "Portableバージョンでは表示できんかも知れん。",
"nntest": "通知テスト",
"minwidth": "マルチカラムの最低横幅",
"minwidthwarn": "画面全体の横幅÷コラム数で計算してそれ超してもうたら横スクロール入るで。",
"fixwidth": "TweetDeckの限定の最低横幅",
"fixwidthwarn": "",
"above": "以上",
"font": "フォント",
"fontwarn": "「選択」を押してフォントを選んでな。(Linuxでは動かんかもしれん。)",
"fontsize": "フォントサイズ",
"savefolder": "デフォルトの保存先",
"savefolderwarn": "画像ダウンロードやスクリーンショットはここに保存や。",
"useragent":"ユーザーエージェント",
"useragentWarn":"再起動すんで。",
"absolute": "絶対指定",
"themeSel": "テーマの選択",
"customtheme": "カスタムテーマの作成・編集",
"customthemeDirection": "色の系統",
"advanced":"拡張項目(6つ)を開く",
"advancedWarn":"拡張項目は設定せんと「指定なし」に、基本3項目は白(fff)になるで。拡張項目を閉じた状態で「変更」すると拡張項目は消してまうで。",
"primary": "全体の背景色など",
"secondarycolor": "補助要素に使われる背景色",
"text": "テキストの色",
"accent": "ブーストの背景色など",
"active": "CWボタンやメニュー選択時の背景色",
"modal": "モーダルウィンドウの背景色",
"bottom":"下のメニューバーの背景色",
"postbox":"投稿ボックスやメニューの色",
"subcolor":"背景に準ずる色",
"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日前\"",
"absolutetime": "絶対時間の例\"23:25:21\",\"2017年12月30日 23:59:00\"",
"mixtime": "混合表示は、当日のトゥートのみ相対、それ以外は絶対で表示 ",
"relativesel": "相対時間",
"absolutesel": "絶対時間",
"doublesel": "両方表示",
"mixsel": "混合表示",
"locale": "独自ロケールを使用",
"localewarn": "対応サーバーではそのサーバーにあわせた言語表示ができるで。",
"nswf": "見たあかん言われてる画像は隠す",
"nsfwwarn": "結構強いぼかしがかかるで。",
"cw": "見る前に警告出すように言われてるやつ(CW)を隠す",
"replyct": "リプライ数表示",
"replyct_hidden": "2以上のとき1+と表示",
"replyct_full": "完全に表示",
"gif": "アイコンのアニメーションを再生する",
"box": "投稿ボックスの挙動",
"boxyes": "たたむ",
"boxabs": "枠外クリックしても消えへん(起動時に展開)",
"boxno": "投稿後も隠れへん",
"tag": "タグタイムラインの表示範囲",
"tagfed": "接続しているサーバー",
"taglocal": "検索対象のサーバーのみ",
"via": "viaを表示する",
"mouseover": "アクションメニューを非表示",
"mouseoverwarn": "「マウスオーバー」はちょっとあかんやつかもしれん。",
"mv": "マウスオーバーで表示",
"mvclick": "クリックで表示",
"notfmarker": "通知を開いとったら、通知新着お知らせを出す",
"autofold": "指定行数以上を折りたたむ",
"autofoldwarn": "5文字以下のトゥートはどちらにしろ折りたたまんし、折りたたみ時は改行は描画されん。改行だけ行数とカウントするで。",
"lines": "行",
"letters": "文字",
"or": "または",
"imgheight": "画像の高さ",
"imgheightwarn": "オプション:「full」と指定すると全ての画像をクロップせず全部出すで。",
"ticker": "#InstanceTickerを使う",
"tickerwarn": "トゥートした人の所属サーバーをわかりやすく彩ります(自サーバー以外のトゥート向け)。<a href=\"https://https://wee.jp/\">#InstanceTickerについて</a> Copyright 2018 weepjp, kyori19.",
"animation": "タイムラインのアニメーション",
"markers": "ホームと通知の未読管理",
"markerswarn": "Mastodon 3.0相当以上。WebUIと対応クライアントで共有するやつや。",
"remote_img": "画像をリモートから取得",
"remote_imgWarn": "プレビューはログインサーバーのキャッシュからどちらにしろ取得する。ビューワーのみに適用されるで。",
"replySound": "リプライの通知音",
"favSound": "お気に入り登録の通知音",
"btSound": "ブーストの通知音",
"followSound": "フォローの通知音",
"customSound": "カスタム通知音",
"post": "投稿設定",
"autocw": "長文投稿時に警告",
"autocwwarn": "下で指定した以上のトゥートを投稿しよ思ったらCWするかのダイアログが出るで。",
"defaultcw": "デフォルトの警告文",
"cws": "標準でCWを設定",
"defaultvis": "デフォルトの公開設定",
"public": "公開(Public)",
"unlisted": "未収載(Unlisted)",
"private": "非公開(Private)",
"direct": "ダイレクト(Direct)",
"memory": "前回の投稿設定を記憶する(サーバーごとに覚えとくで)",
"useapi": "マストドンアカウント設定の既定値",
"postimg": "画像投稿設定",
"showurl": "画像を投稿し、画像のURLを最後に表示",
"nourl": "画像を投稿するがURLは出さへん",
"disabled": "あかん",
"quote": "引用形式",
"simple": "URLのみ",
"mention": "URLとアカウント名(相手に通知)",
"full": "本文・URL・アカウント名",
"notqt": "使わない(TL上にボタンも出さん)",
"apiQuote": "パラメーター(対応インスタンス)",
"main": "投稿後や起動時のアカウント",
"mainwarn": "メインアカウントはアカウント設定で選んどいてな。投稿以外のアカウント選択もこれ使うで。",
"lastacct": "最後に使用したアカウント",
"usemainacct": "メインアカウント",
"secondary": "も一個トゥートボタン",
"secwarn": "公開範囲の変更とトゥートを一発でできるやつ。セカンダリートゥートボタン。",
"nothing": "表示しない",
"localonly": "ローカル限定",
"zeroWidthEmoji": "絵文字にゼロ幅スペースを使う",
"keysc": "キーボードショートカットの設定",
"iks": "簡単文字入力",
"okswarn": "絵文字やタグ、&gt;BTなどを登録しておくとすぐに使えてええ感じや。",
"muteemp": "ミュート・強調の設定",
"climute": "クライアントミュート",
"cliemp": "クライアント強調",
"cliwarn": "各トゥートのクライアントをクリックすると設定できるで。",
"enter": "Enterで確定",
"wordmute": "ワードミュート",
"wordemp": "ワード強調",
"useremp": "ユーザー強調",
"useerempwarn": "各ユーザーのデータ表示画面で設定できるで。",
"empcolorwarn": "強調色(テーマによって全然ちゃうで。)",
"spotify": "SpotifyとNowPlayingの設定",
"spotifynote1": "",
"spotifynote2": "ボタンから簡単にNowPlayingができんで。",
"link": "アカウントの連携",
"linkwarn": "APIの性質上thedesk.topへもアクセスするけどしゃーない。",
"connect": "接続",
"disconnect": "切断",
"templateedit": "テンプレートの編集",
"templateeditwarn": "以下を編集してテンプレートを変更できんで。",
"template1": "Spotify:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/{url}:各曲のSpotifyのURL",
"template2": "macOS:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/作曲家{composer}/サンプルレート{hz}/ビットレート{bitRate}/ジャンル{genre}",
"template3": "",
"postartwork": "アルバムアートワークを付ける(Spotify)",
"tts": "読み上げの設定",
"bouyomi": "棒読みちゃん連携",
"bouyomiWarn": "「棒読みちゃん用のWebSocket受付プラグイン」が要るで。",
"speed": "速さ",
"speedwarn": "1-100まで、デフォルトは10。",
"pitch": "高さ",
"pitchwarn": "0-100まで、デフォルトは50。(大きくなるほど高い)",
"vol": "音量",
"volwarn": "0-100まで、デフォルトは100。",
"volwarn80": "0-100まで、デフォルトは80。",
"test": "テスト",
"sample": "これはテスト音声やけど、やっぱりTheDeskはええクライアントや思わへんか思わんならええわ。",
"playstop": "再生/停止",
"back": "戻る",
"keyscs": "キーボードショートカット一覧",
"keyscr": "1番目9番目のTLにスクロール",
"keynew": "投稿パネルを開く",
"keytoggle": "投稿パネルを開閉",
"keypost": "投稿",
"keysecpost": "投稿(セカンダリートゥート)",
"keyunread": "全ての通知を既読にする",
"keyesc": "投稿パネルを消す",
"keyf5": "スーパーリロード",
"keyclear": "入力内容を消す",
"keyacctman": "アカウントマネージャ",
"keyshowprof": "現在選択中のプロフィール",
"keyrow": "イメージビューワー起動時に画像切り替え",
"keyzoom": "マウスホイール:イメージビューワー時に拡大縮小",
"whenSelected": "選択時",
"fav": "お気に入り登録",
"bt": "ブースト",
"reply": "返信",
"keyselecttop":"一番上の一番左のトゥートを選択",
"reset": "初期化",
"resetconfirm": "全てのデータを消してまうで。この操作は取り消せへんで。",
"about": "このソフトについて",
"hp": "公式HP",
"support": "支援",
"help": "ヘルプ",
"sushi": "寿司を投げる",
"checkup": "アップデートを確認",
"ossJP": "(オープンソースライセンス)"
}

View File

@@ -0,0 +1,19 @@
{
"updatehere":"アップデートあんで",
"download":"開始",
"portable":"ポータブル版",
"installer":"インストーラー版(推奨)",
"linux":"zip版",
"linuxdeb":"deb版(対応の場合推奨)",
"linuxsnap":"snap版",
"snap":"snap版はSnapcraft等よりDLしてな。",
"sureupd":"アップデートは必ずしてな",
"skipupd":"アップデートをスキップする",
"nexttl":"次回TL表示時までスキップ",
"nextver":"次のバージョンが出るまでスキップ",
"problem1":"あかんか?",
"problem2":"<a href='https://thedesk.top'>公式HP</a>からやってみてな。",
"continue":"アップデートを続行",
"dlnow":"ダウンロード中",
"checkWhatIsNew": "アップデート内容"
}

View File

@@ -125,6 +125,7 @@
"integratedTLDes":"統合(ローカルとホーム)",
"localPlusDes":"統合(LTL+BT+返信)",
"notf":"通知",
"bookmark": "ブックマーク",
"showThisTL":"表示するタイムライン",
"webviewWarn":"TweetDeckを表示します。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>)。キーボードショートカットが邪魔をするので、文字入力時はカラムの「WebView優先」にチェックを入れてください。",
"add":"追加",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "返信モードです。クリアするときはCtrl+Shift+Cを押してください。",
"lang_cards_check": "チェック",
"lang_cards_pip": "ながら観モード",
"lang_cards_trusted": "TheDeskが認証した埋め込みHTMLです(Twitter, nicovideo, YouTube, Spotify, twitcasting)",
"lang_cards_untrusted": "TheDeskはこの埋め込みURLの安全性を確認していません",
"lang_details_nodata": "データなし",
"lang_details_filtered": "フィルターされました。",
"lang_details_embed": "埋め込みHTMLがコピーされました。",
@@ -179,11 +181,16 @@
"lang_parse_replyto": "このトゥートに返信",
"lang_parse_bt": "このトゥートをブースト",
"lang_parse_fav": "このトゥートをお気に入り登録",
"lang_parse_bookmark": "ブックマークに追加",
"lang_parse_unbookmark": "ブックマークから削除",
"lang_parse_quote": "このトゥートを引用",
"lang_parse_del": "このトゥートを削除",
"lang_parse_pin": "このトゥートをピン留め",
"lang_parse_del": "削除",
"lang_parse_pin": "ピン留めする",
"lang_parse_unpin": "ピン留めを解除する",
"lang_parse_link": "ブラウザで開く",
"lang_parse_detail": "詳細",
"lang_parse_det": "詳細(メインアカウント経由)",
"lang_parse_redraft": "このトゥートを削除して再編集",
"lang_parse_redraft": "削除して再編集",
"lang_parse_followed": "フォローされました。",
"lang_parse_clientop": "クライアント操作",
"lang_parse_clienttxt": " に対する処理を選択してください。",
@@ -198,6 +205,7 @@
"lang_parse_thread": "会話を表示",
"lang_parse_unknown": "添付ファイル",
"lang_parse_nsfw": "閲覧注意",
"lang_parse_html": "埋め込みを表示",
"lang_parse_notffilter": "このユーザーの通知のみを表示",
"lang_misskeyparse_renote": "再投稿",
"lang_misskeyparse_renoteqt": "引用",

View File

@@ -127,6 +127,7 @@
"full": "本文・URL・アカウント名",
"notqt": "使わない(TL上にボタンも表示されません)",
"apiQuote": "パラメーター(対応インスタンス)",
"showBookmarkAction": "アクションボタンとしてブックマークを表示する",
"main": "投稿後や起動時のアカウント",
"mainwarn": "メインアカウントはアカウント設定で指定できます。投稿以外のアカウント選択にも影響します。",
"lastacct": "最後に使用したアカウント",

View File

@@ -68,7 +68,7 @@
"favRegist": "Favourite",
"openBrowser": "Open in browser",
"screenshot": "Take a screenshot",
"copyURL": "Copy URL of this toot",
"copyURL": "Copy the URL",
"embed": "Embed",
"toots": "Toots",
"follow": "Follow",
@@ -125,6 +125,7 @@
"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>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Add",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
@@ -180,9 +182,14 @@
"lang_parse_bt": "Boost this toot",
"lang_parse_fav": "Favourite this toot",
"lang_parse_quote": "Quote this toot",
"lang_parse_del": "Delete this toot",
"lang_parse_pin": "Pin 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_clientop": "Operation of this client",
@@ -198,6 +205,7 @@
"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_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",

View File

@@ -127,6 +127,7 @@
"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",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -1,23 +1,23 @@
{
"list": "List of accounts",
"back": "Back",
"add": "Add an account",
"list": "Kontoliste",
"back": "Tilbake",
"add": "Legg til en konto",
"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",
"codesetup": "Kodeoppsett",
"mainacct": "Sett som hovedkonto",
"selacct": "Velg en konto",
"codepastewarn": "Lim inn koden og lukk nettleseren.",
"codepaste": "Kode",
"domain": "Domene",
"connect": "Federerte tjenere",
"toots": "Toots",
"users": "Users",
"users2": "users",
"safety": "Connection",
"ver": "Mastodon version",
"users": "Brukere",
"users2": "brukere",
"safety": "Tilkobling",
"ver": "Mastodon-versjon",
"ko": "",
"thisismisskey": "Login as Misskey",
"thisismisskey": "Logg inn som Misskey",
"misskeylogin": "Read <a href=\"https://thedesk.top/how-to-misskey-login.html\">Docs(ja)</a> to login Misskey.",
"nodata": "No data",
"nodata": "Ingen data",
"accessTokenSetup": "Use access token to login(click after fill not code but access-token in box: Advanced)"
}

View File

@@ -1,180 +1,181 @@
{
"draghere": "Drag here to upload",
"close": "Close",
"showSelectProf": "Show profile of the selecting account",
"closethisbox": "Close this box",
"draghere": "Dra hit for å laste opp",
"close": "Lukk",
"showSelectProf": "Vis profil til den valgte kontoen",
"closethisbox": "Lukk denne boksen",
"toot": "Toot",
"post-new": "Post new",
"nsfwDes": "Mark media as sensitive",
"cwDes": "Hide text behind warning",
"selfile": "Attach..",
"post-new": "Post ny",
"nsfwDes": "Merk media som sensitivt",
"cwDes": "Gjem tekst bak advarsel",
"selfile": "Legg ved..",
"insertEmoji": "Emojis",
"NPSpotify": "NowPlaying(Spotify)",
"NPiTunes": "NowPlaying(macOS)",
"schedule": "Scheduled toot",
"postat": "Post at",
"NPSpotify": "Spiller nå(Spotify)",
"NPiTunes": "Spiller nå(macOS)",
"schedule": "Planlagt toot",
"postat": "Post dette ved",
"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",
"replyMode": "Svar",
"no": "Nei",
"yes": "Ja",
"temp": "Legg til filer",
"nothing": "Ingen",
"vis": "Adjust status privacy",
"cwtext": "Warning text",
"cwtext": "Advarselstekst",
"selectVis": "Adjust status privacy",
"publicJP": "",
"unlistedJP": "",
"privateJP": "",
"localJP": "Local only",
"localJP": "Kun lokalt",
"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",
"poll": "Poll",
"pollDdisabled": "Polls: Disabled",
"emojiInsertWarn": "Noen emojier kan ikke settes inn.",
"refreshEmoji": "Oppdater emoji-liste",
"closeThisBox": "Lukk denne boksen",
"showThisEmoji": " vises.",
"customEmoji": "Tilpassede emojier",
"peopleEmoji": "Emojier av mennesker",
"natureEmoji": "Naturemojier",
"foodEmoji": "Matemojier",
"activityEmoji": "Aktivitetsemojier",
"placeEmoji": "Stedsemojier",
"thingsEmoji": "Verktøyemojier",
"symbolEmoji": "Symbolemojier",
"flagsEmoji": "Flaggemojier",
"poll": "Spørreundersøkelse",
"pollDdisabled": "Spørreundersøkelser: Avslått",
"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",
"choice": "Valg",
"pollmulti": "Merk flere",
"expires_in": "Utgår om...(sek)",
"contextBefore": "Sammenheng før denne tooten",
"thisToot": "Denne tooten",
"contextAfter": "Sammenheng etter denne tooten",
"beforeLTL": "Lokal tidslinje før denne tooten",
"beforeUTL": "Brukertidslinje før denne tooten",
"afterLTL": "Lokal tidslinje etter denne tooten)",
"afterUTL": "Brukertidslinje før denne tooten",
"afterFTL": "Federated TL after this toot",
"favedPeople": "People who favourited it",
"btedPeople": "People who boosted it",
"useOtherAcct1": "Use other account",
"favedPeople": "Folk som favorittmarkerte den",
"btedPeople": "Folk som dyttet den",
"useOtherAcct1": "Bruk annen konto",
"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 URL of this toot",
"embed": "Embed",
"btWithVis": "Dytt med synlighet",
"reply": "Svar",
"bt": "Dytt",
"favRegist": "Favorittmarker",
"openBrowser": "Åpne i nettleser",
"screenshot": "Ta skjermbilde",
"copyURL": "Kopier bildeadressen",
"embed": "Bygg inn",
"toots": "Toots",
"follow": "Follow",
"follower": "Follower",
"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",
"follow": "Følg",
"follower": "Følger",
"timeline": "Tidslinje",
"operateOtherAcct": "Kryss-konto",
"list": "Liste",
"makeNew": "Lagre",
"blocks": "Blokker",
"mutes": "Demp",
"block": "Blokker",
"mute": "Stille",
"domainBlock": "Domeneblokkering",
"editProf": "Rediger profil",
"change": "Lagre",
"followReq": "Følgeforespørsler",
"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)",
"endorse": "Fremhev profil",
"openinbrowser": "Åpne i nettleser",
"mainacct": "Sett som hovedkonto",
"frc": "Foreslå",
"more": "Mer",
"revoverJP": " til ",
"warnUseOtherAcct": "Kunne ikke slutte å følge",
"revoverJPde": "",
"or": "or",
"openProf": "Show profile",
"warnListRegist": "Follow to add this user to lists.",
"or": "eller",
"openProf": "Vis profil",
"warnListRegist": "Følg for å legge til denne brukeren til lister.",
"blockDomain": "Add blocking domain",
"name": "Display name",
"note": "Note",
"editProfImg": "Change avataor",
"name": "Visningsnavn",
"note": "Merknad",
"editProfImg": "Endre avatar",
"editHeader": "Change header image",
"blocked": "You are blocked. Why?",
"blocked": "Du er blokkert. Hvorfor?",
"likeUserDes": "Get people resembling this user.",
"get": "Get",
"historyBack": "Back",
"get": "Hent",
"historyBack": "Tilbake",
"empUser": "Emphasize this user",
"supportme": "Support TheDesk!",
"supportme": "Støtt 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:",
"PatreonSupport": "Støtt på Patreon",
"PixivSupport": "Støtt på Pixiv FANBOX",
"AWLSupport": "Amazon-ønskeliste",
"SendAmazonGift1": "Gi meg et Amazon-gavekort:",
"SendAmazonGift2": "",
"monthly": "Monthly",
"once": "Once",
"local": "Local",
"localMedia": "Local(Media)",
"home": "Home",
"fed": "Federated",
"fedMedia": "Federated(Media)",
"dm": "Direct Message",
"integratedTLDes": "Integrated(Local/Home)",
"monthly": "Månedlig",
"once": "En gang",
"local": "Lokal",
"localMedia": "Lokal(Media)",
"home": "Hjem",
"fed": "Federert",
"fedMedia": "Federert(Media)",
"dm": "Direktemelding",
"integratedTLDes": "Integrert(Lokalt/Hjem)",
"localPlusDes": "LTL+Reply+BT",
"notf": "Notifications",
"showThisTL": "Show this TL:",
"notf": "Varsler",
"bookmark": "Bokmerke",
"showThisTL": "Vis denne tidslinjen:",
"webviewWarn": "TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Add",
"search": "Search",
"sortSet": "Sort",
"selectAcct": "Account(Scroll to show all)",
"listLocale": "List",
"add": "Legg til",
"search": "Søk",
"sortSet": "Sorter",
"selectAcct": "Konto(Rull for å vise alle)",
"listLocale": "Liste",
"filterWord": "Filtering words",
"degree": "Filter contexts",
"conver": "Conversations",
"option": "Options",
"matchWord": "Whole word",
"warnMatchWord": "Nice for Latin language",
"except": "Drop instead of hide",
"degree": "Filtert innhold",
"conver": "Samtaler",
"option": "Alternativer",
"matchWord": "Hele ord",
"warnMatchWord": "Godt for latin språk",
"except": "Slipp i stedet for å gjemme",
"exceptWorn": "Filtered toots will disappear irreversibly, even if filter is later removed",
"avalableBefore": "Expire after",
"avalableBefore": "Utløper etter",
"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)",
"warnAvBefore2": "Denne verdien kan inneholde feil",
"unlimited": "Aldri",
"days": "dag(er)",
"hours": "time(r)",
"mins": "minutt(er)",
"secs": "sekund(er)",
"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",
"addColumn": "Legg til en kolonne",
"sortColumns": "Sorter",
"acctMan": "Kontoadministrasjon",
"filter": "Filter",
"setting": "Preferences",
"setting": "Innstillinger",
"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",
"f5": "Last inn tidslinje på nytt",
"nanoDes": "Den minste Mastodon,",
"verTips": "Versjon",
"clockTips": "Klokke",
"ramTips": "Minnestatus",
"changeTips": "Skift ut tips",
"helpAndLogs": "Hjelp & Logg",
"help": "Hjelp",
"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",
"show": "Show",
"directory": "Directory",
"active": "Recently active",
"newcomer": "New arrivals",
"local_only": "Local only",
"demoBottomBtns": "Welcome guide",
"lookAtBottom": "Look at the bottom of this window. Here is some tips about it.",
"acctManDesc": "Add more accounts and logout them.",
"about": "Om TheDesk",
"hereAddColumns": "<- Legg til tidslinje",
"show": "Vis",
"directory": "Mapper",
"active": "Nylig aktive",
"newcomer": "Nykommere",
"local_only": "Kun lokalt",
"demoBottomBtns": "Velkomstguide",
"lookAtBottom": "Se på bunnen av dette vinduet. Her er noen tips om det.",
"acctManDesc": "Legg til flere kontoer og logg dem ut.",
"settingDesc": "Many and many preferences here. You will couldn't check it all!",
"nanoDescPlus": "Mini window client(experimental)",
"listDesc": "All daily TheDesk and Mastodon tuning like <b>add and sort columns</b>, <b>list and filter check</b>."

View File

@@ -1,20 +1,20 @@
{
"language": "en",
"language": "no",
"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_there": "Ja",
"lang_nothing": "Ingen",
"lang_yesno": "Ja",
"lang_no": "Nei",
"lang_progress": "Venter...",
"lang_edit": "Endre",
"lang_del": "Slett",
"lang_add": "Legg til",
"lang_fatalerroroccured": "Feil",
"lang_speech": "Google US English",
"lang_lang": "Language",
"lang_langlocale": "English",
"lang_back": "Back",
"lang_set": "Set",
"lang_lang": "Språk",
"lang_langlocale": "Engelsk",
"lang_back": "Tilbake",
"lang_set": "Angi",
"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,
@@ -28,199 +28,207 @@
"lang_time_hours": "%d h",
"lang_time_day": "1 d",
"lang_time_days": "%d d",
"lang_time_month": "1 month",
"lang_time_month": "1 måned",
"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_usever": "Ingen oppdatering funnet({{ver}})",
"lang_version_skipver": "Oppdatering ble ignorert.",
"lang_version_platform": "Vil du få automatiske oppdateringer?(Brukere installert på Microsoft Store velg 'Nei')",
"lang_version_platform_linux": "Vil du få automatiske oppdateringer?(Brukere installert på Snapcraft velg 'Nei')",
"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_info": "Om denne instansen",
"lang_manager_refresh": "Oppdater",
"lang_manager_delete": "Logg av",
"lang_manager_color": "Kontofarge",
"lang_manager_confirm": "skal til å logge ut. Vil du fortsette?",
"lang_manager_mainAcct": "Done:choose main account",
"lang_manager_def": "Default",
"lang_manager_none": "None",
"lang_manager_def": "Standard",
"lang_manager_none": "Ingen",
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
"lang_manager_logout": "Logout",
"lang_manager_logout": "Logg av",
"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_emoji_custom": "Tilpassede emojier",
"lang_defaultemojis_text": "Emojis about {{cat}}",
"lang_emoji_uncat": "Uncategorized",
"lang_postimg_previewdis": "cannot preview",
"lang_emoji_uncat": "Ukategorisert",
"lang_postimg_previewdis": "kan ikke forhåndsvise",
"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_postimg_failupload": "Mislyktes",
"lang_postimg_delete": "Klikk for å legge til beskrivelse, høyreklikk for å slette dette",
"lang_postimg_desc": "Beskrivelse",
"lang_postimg_leadContext": "høyreklikk forhåndsvisningen for å slette dette",
"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_btn1": "Avbryt (vil ikke publisere)",
"lang_post_btn2": "Make text hidden automatically",
"lang_post_btn3": "Continue to post",
"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_post_btn3": "Fortsett å poste",
"lang_status_favWarn": "Det vil ta en stund å favorittmarkere en fjern toot.",
"lang_status_btWarn": "Det vil ta en stund å dytte en fjern toot.",
"lang_status_follow": "Følg",
"lang_status_unfollow": "Slutt å følge",
"lang_status_block": "Blokker",
"lang_status_unblock": "Opphev blokkering",
"lang_status_mute": "Stille",
"lang_status_unmute": "Opphev demping",
"lang_status_redraftTitle": "Slett og gjør nytt utkast",
"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_status_endorse": "Fremhev profil",
"lang_status_followers": "Følgere",
"lang_status_active": "Siste status",
"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_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_cards_check": " kryss av",
"lang_cards_pip": "Bilde-i-bilde-modus",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "Ingen data",
"lang_details_filtered": "Filtrert 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_nodata": "Ingen 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_nodata": "Ingen data",
"lang_list_show": "Vis",
"lang_list_users": "Brukerliste",
"lang_list_nouser": "Ingen brukere i denne listen.",
"lang_list_add": "Legg til i listen",
"lang_list_add_misskey": "(perhaps this user has been listed)",
"lang_list_remove": "Remove from the list",
"lang_notf_new": " new notifications",
"lang_list_remove": "Fjern fra listen",
"lang_notf_new": " nye varsler",
"lang_speech_refresh": "Save value about TTS config",
"lang_src_ts": "chronological order",
"lang_src_ts": "kronologisk rekkefølge",
"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_media": "Medier",
"lang_tl_reconnect": "Reconnect to streaming API",
"lang_tl_postmarkers_title": "Process...",
"lang_tl_postmarkers_title": "Behandler...",
"lang_tl_postmarkers": "POST markers data. Please wait",
"lang_img_DLDone": "Downloaded:",
"lang_img_copyDone": "Copied: URL of this image",
"lang_img_DLDone": "Lastet ned:",
"lang_img_copyDone": "Kopiert: bildets URL",
"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_delthis": "Vil du fjerne dette elementet",
"lang_layout_setthis": "Preferences of this column",
"lang_layout_mediafil": "Media filtering",
"lang_layout_mediafil": "Mediafilter",
"lang_layout_linkana": "Auto Link Analyzer",
"lang_layout_linkanades": "Auto link analyzer",
"lang_layout_tts": "Text to speech ",
"lang_layout_reconnect": "Reload this column",
"lang_layout_tts": "Tekst-til-tale ",
"lang_layout_reconnect": "Last inn denne kolonnen på nytt",
"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_dm": "Direktemelding",
"lang_layout_webviewmode": "Foretrekk WebView",
"lang_excluded": "Excluded type of notification",
"lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)",
"lang_layout_leftFold": "Stack to the left",
"lang_layout_leftFold": "Stable til venstre",
"lang_layout_leftUnfold": "Dock on the right",
"lang_layout_deleteColumn": "Delete this column",
"lang_layout_deleteColumnDesc": "Delete this column",
"lang_layout_unread": "Unread",
"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_layout_deleteColumn": "Slett denne kolonnen",
"lang_layout_deleteColumnDesc": "Slett denne kolonnen",
"lang_layout_unread": "Uleste",
"lang_sort_gothis": "Gå til denne kolonnen",
"lang_sort_remthis": "Slett denne kolonnen",
"lang_spotify_img": "Legg til albumbilde",
"lang_spotify_imgno": "Ikke legg til albumbilde",
"lang_spotify_acct": "Koble til TheDesk til 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_frcreq": "Krever Mastodon 2.4.3 eller senere",
"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_taketime": "Det vil ta 30s ~ flere minutter",
"lang_hisdata_notonmisskey": "Misskey er ikke i stand til å spørre etter.",
"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_movetxt": "Denne kontoen er flyttet",
"lang_showontl_movebtn": "Fortsett på den nye kontoen",
"lang_showontl_botacct": "[bot]",
"lang_showontl_followed": "Following you",
"lang_showontl_notf": "Notification ",
"lang_showontl_domain": "Domain ",
"lang_showontl_listwarn": "Follow to add this user to lists.",
"lang_showontl_followed": "Følger deg",
"lang_showontl_notf": "Varsler ",
"lang_showontl_domain": "Domene ",
"lang_showontl_listwarn": "Følg for å legge til denne brukeren til lister.",
"lang_showontl_verified": "This website is verified by owner at ",
"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_mentioned": " svarte deg",
"lang_parse_faved": " favoriserte tooten din",
"lang_parse_bted": " boostet tooten din",
"lang_parse_btedsimple": " dyttet",
"lang_parse_polled": "'s spørreundersøkelse",
"lang_parse_notftime": "Actioned at",
"lang_parse_cwshow": "Show",
"lang_parse_cwshow": "Vis",
"lang_parse_fulltext": "Full size text:",
"lang_parse_autofold": "Auto folded",
"lang_parse_more": "More",
"lang_parse_more": "Mer",
"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_public": "Offentlig",
"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 Japanese",
"lang_parse_replyto": "Reply to this toot",
"lang_parse_private": "Privat",
"lang_parse_direct": "Direkte",
"lang_parse_clickcopy": "Klikk for å kopiere teksten i denne tooten",
"lang_parse_clickcopyurl": "Klikk for å kopiere URL-en i denne tooten",
"lang_parse_trans": "Oversett til japansk",
"lang_parse_replyto": "Svar på denne tooten",
"lang_parse_bt": "Boost this toot",
"lang_parse_fav": "Favourite this toot",
"lang_parse_quote": "Quote this toot",
"lang_parse_del": "Delete this toot",
"lang_parse_pin": "Pin this toot",
"lang_parse_fav": "Favoriser denne tooten",
"lang_parse_quote": "Sitér denne tooten",
"lang_parse_bookmark": "Bokmerk denne tooten",
"lang_parse_unbookmark": "Unbookmark this",
"lang_parse_del": "Slett dette",
"lang_parse_pin": "Pin this",
"lang_parse_unpin": "Unpin this",
"lang_parse_link": "Åpne i nettleser",
"lang_parse_det": "Details via your main account.",
"lang_parse_redraft": "Delete & re-draft",
"lang_parse_followed": "Followed you",
"lang_parse_detail": "Detaljer",
"lang_parse_redraft": "Slett og gjør nytt utkast",
"lang_parse_followed": "Fulgte deg",
"lang_parse_clientop": "Operation of this client",
"lang_parse_clienttxt": " will be",
"lang_parse_clientno": "done nothing",
"lang_parse_clientno": "gjorde ingenting",
"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_vote": "Vote",
"lang_parse_unvoted": "Show the result without voting",
"lang_parse_endedvote": "Expired",
"lang_parse_thread": "Show thread",
"lang_parse_unknown": "Attached file",
"lang_parse_nsfw": "sensitive media",
"lang_parse_clientmute": "dempet",
"lang_parse_mute": " vil bli dempet. Du kan fjerne på preferanser.",
"lang_parse_voted": "Stemte",
"lang_parse_vote": "Stem",
"lang_parse_unvoted": "Vis resultat uten å stemme",
"lang_parse_endedvote": "Utløpt",
"lang_parse_thread": "Vis tråd",
"lang_parse_unknown": "Vedlagt fil",
"lang_parse_nsfw": "sensitivt innhold",
"lang_parse_html": "Show embed HTML",
"lang_parse_notffilter": "Show this user's notifications",
"lang_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",
"lang_misskeyparse_reaction": "Reaction",
"lang_misskeyparse_reaction": "Reaksjon",
"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_home": "Hjem",
"lang_misskeyparse_followers": "Følger",
"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_quoted": " siterte den følgende posten din.",
"lang_misskeyparse_reacted": " reacted your following post.",
"lang_setting_time": "Time format:{{set}}",
"lang_setting_theme": "Theme:{{set}}",
"lang_setting_nsfw": "Sensitive media:{{set}}",
"lang_setting_time": "Tidsformat:{{set}}",
"lang_setting_theme": "Tema:{{set}}",
"lang_setting_nsfw": "Sensitivt innhold:{{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_off": "Av",
"lang_setting_s": "s",
"lang_setting_box": "Default toot box action:{{set}}",
"lang_setting_gif": "GIF:{{set}}",
@@ -229,9 +237,9 @@
"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_font": "Skrifttyper:{{set}}",
"lang_setting_default": "standard skrifttype",
"lang_setting_size": "Skriftstørrelse:{{set}}px",
"lang_setting_imgheight": "Image height:{{set}}px",
"lang_setting_ticker": "#InstanceTicker:{{set}}px",
"lang_setting_animation": "Animation: {{set}}",
@@ -247,10 +255,10 @@
"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."
"lang_setting_notftest": " Varseltest ",
"lang_setting_notftestprof": "Ikonet ditt vises.",
"lang_setting_exportwarn": "Kun viktig data vil bli eksportert. Du må oppbevare denne dataen på et sikkert sted.",
"lang_setting_importwarn": "All data vil bli slettet.",
"lang_setting_noupd": "Ingen oppdatering tilgjengelig",
"lang_setting_thisisbeta": "Dette er en betaversjon. Du må oppdatere manuelt."
}

View File

@@ -1,26 +1,26 @@
{
"setting": "Preferences",
"set": "Save",
"yes": "Yes",
"no": "No",
"none": "None",
"default": "Default",
"change": "Change",
"select": "Select",
"setting": "Innstillinger",
"set": "Lagre",
"yes": "Ja",
"no": "Nei",
"none": "Ingen",
"default": "Standard",
"change": "Endre",
"select": "Velg",
"env": "System Preferences",
"setlang": "Languages",
"setlang": "Språk",
"backup": "Import and export of preferences",
"import": "Import",
"export": "Export",
"hardwareAcceleration": "Disable hardware acceleration",
"import": "Importer",
"export": "Eksporter",
"hardwareAcceleration": "Slå av maskinvareakselerasjon",
"hardwareAccelerationWarn": "Auto restarted",
"theme": "Themes",
"theme": "Temaer",
"popup": "Popup notification(on Windows)",
"popupwarn": "Hide to set \"0\"",
"s": "sec",
"nativenotf": "Native notification",
"nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test",
"nntest": "Varseltest",
"minwidth": "Minimum width of columns",
"minwidthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser",
@@ -31,12 +31,12 @@
"fontsize": "Font size",
"savefolder": "Folder to save",
"savefolderwarn": "TheDesk uses this value when it try to save pictures or take screenshots.",
"useragent": "User agent",
"useragent": "Brukeragent",
"useragentWarn": "Restart when changed",
"absolute": "absolute value",
"themeSel": "Select theme",
"themeSel": "Velg tema",
"customtheme": "Edit and add custom themes",
"customthemeDirection": "Color scheme",
"customthemeDirection": "Fargepalett",
"advanced": "Advanced options(6 additional colors)",
"advancedWarn": "Advanced options will be <i>null</i> if you set nothing, while basic 3 options will be white(<i>fff</i>). They(adv. options) will be reset if you saved with advanced panel closed.",
"active": "Background of Show or CW buttons, selected options...",
@@ -44,28 +44,28 @@
"bottom": "Background of bottom bar",
"postbox": "Background of post box and menu",
"subcolor": "Subcolor, has harmony with secondary color",
"primary": "Background color",
"primary": "Bakgrunnsfarge",
"secondarycolor": "Background of components",
"text": "Text color",
"text": "Tekstfarge",
"accent": "Background of boosts",
"add_new": "Add new",
"name": "Name",
"desc": "About this theme",
"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": "Delete",
"delete": "Slett",
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
"timeline": "Timeline Preferences",
"timemode": "Time format",
"timeline": "Tidslinjepreferanser",
"timemode": "Tidsformat",
"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",
"absolutesel": "Absolutt",
"doublesel": "Both relative and absolute",
"mixsel": "Mixed",
"mixsel": "Blandet",
"locale": "Server's unique locale",
"localewarn": "This value is available on some Japanese servers",
"localewarn": "Denne verdien er tilgjengelig på noen japanske servere",
"nswf": "Hide Mark sensitive pictures",
"nsfwwarn": "Strong blur effect",
"cw": "Hide CW contents",
@@ -75,23 +75,23 @@
"gif": "Animated GIF images animation",
"box": "Action of posting-box",
"boxyes": "Folding",
"boxabs": "Absolutely open",
"boxabs": "Helt åpen",
"boxno": "Open after posting",
"tag": "Tag TL Search",
"tagfed": "Use federated network",
"taglocal": "Use local network",
"via": "Show via",
"taglocal": "Bruk lokalt nettverk",
"via": "Vis via",
"mouseover": "Hide action buttons without mouseover",
"mouseoverwarn": "You may feel 'mouseover' is unconfortable:(",
"mv": "Mouseover to show",
"mvclick": "Click to show",
"mvclick": "Klikk for å vise",
"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",
"lines": "linjer",
"letters": "bokstaver",
"or": "eller",
"imgheight": "Bildehøyder",
"imgheightwarn": "Option:Set \"full\" to uncrop.",
"ticker": "Enable #InstanceTicker",
"tickerwarn": "Show colorful stickers about the server. <a href=\"https://wee.jp/\">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.",
@@ -103,41 +103,42 @@
"replySound": "Sound(Reply)",
"favSound": "Sound(Fav)",
"btSound": "Sound(Boost)",
"followSound": "Sound(Follow)",
"followSound": "Lyd(Følg)",
"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",
"defaultcw": "Standard advarselstekst",
"cws": "Always CW set",
"defaultvis": "Default visibility",
"public": "Public",
"defaultvis": "Standard synlighet",
"public": "Offentlig",
"unlisted": "Unlisted",
"private": "Private",
"direct": "Direct",
"private": "Privat",
"direct": "Direkte",
"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",
"showurl": "Sett inn media-URL",
"nourl": "Ikke sett inn noe",
"disabled": "Slått av",
"quote": "Sitatformat",
"simple": "Kun 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)",
"apiQuote": "API(kun noen instanser)",
"showBookmarkAction": "Show a bookmarking toot button",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",
"usemainacct": "Main account",
"lastacct": "Konto du nylig brukte",
"usemainacct": "Hovedkonto",
"secondary": "Secondary Toot Button",
"secwarn": "Toot with other visibility setting",
"nothing": "Hidden",
"localonly": "Local Only",
"nothing": "Gjemt",
"localonly": "Kun lokalt",
"zeroWidthEmoji": "Zero-width space when inserting emojis",
"keysc": "Keyboard shortcut Preferences",
"iks": "Easy inserter",
"iks": "Enkel innsetter",
"okswarn": "You can insert any letters and emojis with only 3 keys",
"muteemp": "Mute & Emphasis Preferences",
"climute": "Client Mute",
@@ -150,13 +151,13 @@
"useerempwarn": "Set on users data modals.",
"empcolorwarn": "Use this color to emphasis",
"spotify": "Spotify and NowPlaying Preferences",
"spotifynote1": "Click ",
"spotifynote1": "Klikk ",
"spotifynote2": "icon to NowPlaying",
"link": "Account Connection",
"link": "Kontotilknytninger",
"linkwarn": "TheDesk save your data on thedesk.top server.",
"connect": "Connect",
"disconnect": "Disconnect",
"templateedit": "Edit a template",
"connect": "Koble til",
"disconnect": "Koble fra",
"templateedit": "Endre mal",
"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}",
@@ -165,7 +166,7 @@
"tts": "TTS(text to speech) Preferences",
"bouyomi": "BouyomiChan connect",
"bouyomiWarn": "Require: BouyomiChan WebSocket Plugin",
"speed": "Speed",
"speed": "Fart",
"speedwarn": "1-100(default:10)",
"pitch": "Pitch",
"pitchwarn": "0-100(default:50)",
@@ -174,9 +175,9 @@
"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",
"playstop": "Spill av/Stopp",
"back": "Tilbake",
"keyscs": "Hurtigtaster",
"keyscr": "Jump to n(1-9)th column",
"keynew": "Open toot box",
"keytoggle": "Toggle toot box",
@@ -186,22 +187,22 @@
"keyesc": "Hide toot box",
"keyf5": "Super Reload",
"keyclear": "Clear toot box",
"keyacctman": "Account Manager",
"keyacctman": "Kontoadministrasjon",
"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",
"fav": "Favoriser denne tooten",
"bt": "Boost this toot",
"reply": "Reply to this toot",
"reply": "Svar på denne tooten",
"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",
"resetconfirm": "Slett all data. Kan ikke gjøres om. Fortsette?",
"about": "Om TheDesk",
"hp": "Nettsted",
"support": "Støtte",
"help": "Hjelp",
"sushi": "Gi meg en sushi!",
"checkup": "Se etter oppdateringer",
"ossJP": ""
}

View File

@@ -1,19 +1,19 @@
{
"updatehere": "Get latest TheDesk",
"updatehere": "Hent siste TheDesk",
"download": "Start",
"portable": "Portable ver.",
"installer": "Installer(Recommended)",
"portable": "Bærbar ver.",
"installer": "Installerer(Anbefalt)",
"linux": "zip",
"linuxdeb": "deb(Recommended on buntu, Debian)",
"linuxdeb": "deb(Anbefalt på Ubuntu, Debian)",
"linuxsnap": "snap",
"snap": "Get it on Snapcraft",
"sureupd": "You may lose a cool experience!",
"skipupd": "Skip this update",
"snap": "Hent på Snapcraft",
"sureupd": "Du kan gå glipp av en kul opplevelse!",
"skipupd": "Hopp over denne oppdateringen",
"nexttl": "Hidden until next TL loading",
"nextver": "Hidden until next version",
"problem1": "Some problems?",
"problem1": "Problemer?",
"problem2": "Please download on <a href='https://thedesk.top'>Oficial HP</a>.",
"continue": "Continue updating",
"dlnow": "Downloading...",
"checkWhatIsNew": "What is new?"
"continue": "Fortsett oppdatering",
"dlnow": "Laster ned...",
"checkWhatIsNew": "Hva er nytt?"
}

View File

@@ -68,7 +68,7 @@
"favRegist": "Favourite",
"openBrowser": "Open in browser",
"screenshot": "Take a screenshot",
"copyURL": "Copy URL of this toot",
"copyURL": "Copy the URL",
"embed": "Embed",
"toots": "Toots",
"follow": "Follow",
@@ -125,6 +125,7 @@
"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>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Add",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
@@ -180,9 +182,14 @@
"lang_parse_bt": "Boost this toot",
"lang_parse_fav": "Favourite this toot",
"lang_parse_quote": "Quote this toot",
"lang_parse_del": "Delete this toot",
"lang_parse_pin": "Pin 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_clientop": "Operation of this client",
@@ -198,6 +205,7 @@
"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_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",

View File

@@ -127,6 +127,7 @@
"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",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -68,7 +68,7 @@
"favRegist": "Favourite",
"openBrowser": "Open in browser",
"screenshot": "Take a screenshot",
"copyURL": "Copy URL of this toot",
"copyURL": "Copy the URL",
"embed": "Embed",
"toots": "Toots",
"follow": "Follow",
@@ -125,6 +125,7 @@
"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>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Add",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
@@ -180,9 +182,14 @@
"lang_parse_bt": "Boost this toot",
"lang_parse_fav": "Favourite this toot",
"lang_parse_quote": "Quote this toot",
"lang_parse_del": "Delete this toot",
"lang_parse_pin": "Pin 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_clientop": "Operation of this client",
@@ -198,6 +205,7 @@
"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_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",

View File

@@ -127,6 +127,7 @@
"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",
"main": "Default accounts of actions",
"mainwarn": "Main account can be set on Account Manager.",
"lastacct": "Account you used recently",

View File

@@ -68,7 +68,7 @@
"favRegist": "Favourite",
"openBrowser": "Open in browser",
"screenshot": "Take a screenshot",
"copyURL": "Copy URL of this toot",
"copyURL": "Copy the URL",
"embed": "Embed",
"toots": "Toots",
"follow": "Follow",
@@ -125,6 +125,7 @@
"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>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
"add": "Add",

View File

@@ -86,6 +86,8 @@
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check",
"lang_cards_pip": "PiP mode",
"lang_cards_trasted": "Trusted embed HTML by TheDesk(Twitter, nicovideo, YouTube, Spotify, twitcasing)",
"lang_cards_untransted": "Untrusted embed HTML by TheDesk",
"lang_details_nodata": "No data",
"lang_details_filtered": "Filtered toot",
"lang_details_embed": "Embed HTML is cliped.",
@@ -180,9 +182,14 @@
"lang_parse_bt": "Boost this toot",
"lang_parse_fav": "Favourite this toot",
"lang_parse_quote": "Quote this toot",
"lang_parse_del": "Delete this toot",
"lang_parse_pin": "Pin 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_clientop": "Operation of this client",
@@ -198,6 +205,7 @@
"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_misskeyparse_renote": "Repost",
"lang_misskeyparse_renoteqt": "Renote",

View File

@@ -127,6 +127,7 @@
"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",
"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