diff --git a/app/js/common/blurhash.js b/app/js/common/blurhash.js new file mode 100644 index 00000000..4616a51e --- /dev/null +++ b/app/js/common/blurhash.js @@ -0,0 +1,119 @@ +var digitCharacters = [ + "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", + "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", + "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", + "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", + "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", + "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", + "y", "z", "#", "$", "%", "*", "+", ",", "-", ".", + ":", ";", "=", "?", "@", "[", "]", "^", "_", "{", + "|", "}", "~", +]; +function decode83(str) { + var value = 0; + for (var i = 0; i < str.length; i++) { + var c = str[i]; + var digit = digitCharacters.indexOf(c); + value = value * 83 + digit; + } + return value; +} +function linearTosRGB(value) { + var v = Math.max(0, Math.min(1, value)); + if (v <= 0.0031308) { + return Math.round(v * 12.92 * 255 + 0.5); + } + else { + return Math.round((1.055 * Math.pow(v, 1 / 2.4) - 0.055) * 255 + 0.5); + } +} +function sRGBToLinear(value) { + var v = value / 255; + if (v <= 0.04045) { + return v / 12.92; + } + else { + return Math.pow((v + 0.055) / 1.055, 2.4); + } +} +function decodeDC(value) { + var intR = value >> 16; + var intG = (value >> 8) & 255; + var intB = value & 255; + return [sRGBToLinear(intR), sRGBToLinear(intG), sRGBToLinear(intB)]; +}; +function sign(n) { return (n < 0 ? -1 : 1); } +function signPow(val, exp) { return sign(val) * Math.pow(Math.abs(val), exp); } +function decodeDC2(value, maximumValue) { + var quantR = Math.floor(value / (19 * 19)); + var quantG = Math.floor(value / 19) % 19; + var quantB = value % 19; + var rgb = [ + signPow((quantR - 9) / 9, 2.0) * maximumValue, + signPow((quantG - 9) / 9, 2.0) * maximumValue, + signPow((quantB - 9) / 9, 2.0) * maximumValue, + ]; + return rgb; +}; +function decodeblur(blurhash, width, height, punch) { + punch = punch | 1; + if (blurhash.length < 6) { + console.error('too short blurhash'); + return null; + } + var sizeFlag = decode83(blurhash[0]); + var numY = Math.floor(sizeFlag / 9) + 1; + var numX = (sizeFlag % 9) + 1; + var quantisedMaximumValue = decode83(blurhash[1]); + var maximumValue = (quantisedMaximumValue + 1) / 166; + if (blurhash.length !== 4 + 2 * numX * numY) { + console.error('blurhash length mismatch', blurhash.length, 4 + 2 * numX * numY); + return null; + } + var colors = new Array(numX * numY); + for (var i = 0; i < colors.length; i++) { + if (i === 0) { + var value = decode83(blurhash.substring(2, 6)); + colors[i] = decodeDC(value); + } + else { + var value = decode83(blurhash.substring(4 + i * 2, 6 + i * 2)); + colors[i] = decodeDC2(value, maximumValue * punch); + } + } + var bytesPerRow = width * 4; + var pixels = new Uint8ClampedArray(bytesPerRow * height); + for (var y = 0; y < height; y++) { + for (var x = 0; x < width; x++) { + var r = 0; + var g = 0; + var b = 0; + for (var j = 0; j < numY; j++) { + for (var i = 0; i < numX; i++) { + var basis = Math.cos(Math.PI * x * i / width) * Math.cos(Math.PI * y * j / height); + var color = colors[i + j * numX]; + r += color[0] * basis; + g += color[1] * basis; + b += color[2] * basis; + } + } + var intR = linearTosRGB(r); + var intG = linearTosRGB(g); + var intB = linearTosRGB(b); + pixels[4 * x + 0 + y * bytesPerRow] = intR; + pixels[4 * x + 1 + y * bytesPerRow] = intG; + pixels[4 * x + 2 + y * bytesPerRow] = intB; + pixels[4 * x + 3 + y * bytesPerRow] = 255; // alpha + } + } + return pixels; +} +function parseBlur(blur) { + var canvas = document.getElementById('canvas'); + var ctx = canvas.getContext('2d'); + var pixels = decodeblur(blur, 32, 32) + const imageData = new ImageData(pixels, 32, 32); + + ctx.putImageData(imageData, 0, 0); + return canvas.toDataURL() +} \ No newline at end of file diff --git a/app/js/tl/parse.js b/app/js/tl/parse.js index a41406eb..a9e7e4c2 100644 --- a/app/js/tl/parse.js +++ b/app/js/tl/parse.js @@ -580,16 +580,25 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) { var purl = media.preview_url; media_ids=media_ids+media.id+","; var url = media.url; + var nsfwmes="" if (toot.sensitive && nsfw) { var sense = "sensitive" + var blur=media.blurhash + if(blur){ + nsfwmes='NSFW media' + purl=parseBlur(blur) + var sense="" + } } else { var sense = "" + var blur=null } - viewer = viewer + ''; + ' toot-img pointer" style="width:calc(' + cwdt + '% - 1px); height:'+imh+';">'+nsfwmes; + }); media_ids = media_ids.slice(0, -1) ; } else { diff --git a/app/js/ui/settings.js b/app/js/ui/settings.js index 62bc14fa..780dffab 100644 --- a/app/js/ui/settings.js +++ b/app/js/ui/settings.js @@ -668,3 +668,4 @@ oksload(); npprovider(); ctLoad() }; + diff --git a/app/package.json b/app/package.json index ad278db0..9786ab22 100644 --- a/app/package.json +++ b/app/package.json @@ -1,6 +1,6 @@ { "name": "thedesk", - "version": "18.3.2", + "version": "18.3.3", "description": "TheDesk is a Mastodon client for PC.", "repository": "https://github.com/cutls/TheDesk", "main": "main.js", @@ -88,8 +88,7 @@ "linux": { "icon": "build/icons", "target": [ - "zip", - "snap" + "zip" ], "category": "Network" }, diff --git a/app/view/en/acct.html b/app/view/en/acct.html index c3a3c1ff..efdbe7df 100644 --- a/app/view/en/acct.html +++ b/app/view/en/acct.html @@ -1,5 +1,5 @@ - + Account Manager - TheDesk @@ -40,7 +40,7 @@ body,html{overflow-y: scroll;} - + @@ -48,23 +48,23 @@ body,html{overflow-y: scroll;}
- 戻る
-
アカウント一覧
+ Back
+
List of accounts
-
アカウントを追加

+
Add an account

- チェックを外すとコード貼り付けをスキップできます。(MastodonにWindowsやmacOSからログインする場合)失敗する場合はチェックを入れてください。
+ Uncheck it to skip pasiting code.(login to Mastodon on Windows or macOS) (Recommended: pcheck)
-
+
-
+

@@ -73,21 +73,21 @@ body,html{overflow-y: scroll;}
-
メインアカウント
-
アカウントを選択 +
Main an account
+
Select an account
@@ -98,12 +98,12 @@ Administered by:



-ドメイン名:
-接続サーバー数:
-トゥート数:
-ユーザー数:ユーザー数
-コネクション:%
-Mastodonバージョン:@
+Domain:
+Federated servers:
+Toots:
+Users:Users
+Connection:%
+Mastodon version:@
diff --git a/app/view/en/index.html b/app/view/en/index.html index 967f0baa..489295aa 100644 --- a/app/view/en/index.html +++ b/app/view/en/index.html @@ -1,5 +1,5 @@ - + TheDesk @@ -28,14 +28,15 @@ - + + +
-
ここにドラッグして添付(ドラッグと同時にアップロードされます) +
Drag here to upload
-
投稿Post newReaction
@@ -63,7 +65,7 @@ @@ -71,7 +73,7 @@
- cancel @@ -140,7 +142,7 @@ - +
Preview @@ -150,60 +152,60 @@
- visibility_off public - CW + CW photo_library + onclick="fileselect()" title="Attach..">photo_library tag_faces + title="Emojis">tag_faces more_vert - clear
- 返信モード: - いいえ/添付ファイル: - なし/公開範囲: + Reply: + No/Attaching files: + None/Adjust status privacy: public
- -
時間指定投稿
2.7.0~ 5分以内には投稿できません。サーバーの時計が正確とは限りません。
- + +
Post at
2.7.0~ Minimum time gap:5min(clock on the server may not be accurate.)
+
@@ -225,17 +227,17 @@
+ id="toot-post-btn">Toot + class="material-icons" id="toot-sec-icon" title="Secondary Toot">lock_open
- サーバーによって実装が異なります。 - 絵文字更新 + + Refresh emojis list
@@ -253,33 +255,33 @@
@@ -315,35 +317,35 @@
  • - people_outlineこれより後のLocal TL(言及確認) + people_outlineLocal TL after this toot)
  • - person_outlineこれより後のユーザーTL(言及確認) + person_outlineUser TL before this toot
  • - languageこれより後の連合TL(言及確認) + languageFederated TL after this toot
  • - arrow_upwardこれより前の会話 + arrow_upwardContext before this toot
  • - more_horiz対象のトゥート + more_horizThis toot
    @@ -351,42 +353,42 @@
  • - arrow_downwardこれより後の会話 + arrow_downwardContext after this toot
  • - people_outlineこれより前のLocal TL(エアリプソース確認) + people_outlineLocal TL before this toot
  • - person_outlineこれより前のユーザーTL(BTソース確認) + person_outlineUser TL before this toot
  • - starこのトゥートをお気に入りに登録した人 + starPeople who favourited it
  • - このトゥートをブーストした人 + People who boosted it
@@ -430,12 +432,12 @@
- トゥート + Toots - フォロー: + Follow: - フォロワー: + Follower:
Since: @@ -446,58 +448,58 @@

ユーザー強調 + onclick="empUser()">Emphasize this user 紹介する
+ onclick="pinUser()">Feature on profile
ブラウザで開く
+ onclick="profbrws()">Open in browser

- 似ているユーザーを取得できます。
+ Get people resembling this user.
Powered by Mastodon User Matching
- +
@@ -505,72 +507,72 @@
+ onclick="utl('--now','more')">More
+ onclick="flw('--now','more')">More
+ onclick="fer('--now','more')">More
- 他のアカウントを使用するフォロー((解除はできません。))
-
で - フォロー
- または
- プロフィールを表示
+ Use other account to Follow((Unable to unfollow))
+
+ Follow
+ or
+ Show profile
-
リストに追加するためにはフォローが必要です。
+
Follow to add this user to lists.
- +
- +
- +
ブロックするドメイン + onclick="showDom('more')">MoreAdd blocking domain
- +
-
名前 +
Display name
- -
自己紹介 + +
Note
- - + +
- -
アバターを変更: + +
Change avataor: -
ヘッダーを変更: +
Change header image: @@ -578,7 +580,7 @@
- +
@@ -586,19 +588,19 @@
-
ブロックされています。なぜでしょう?
+
You are blocked. Why?
@@ -622,7 +624,7 @@ - + @@ -650,12 +652,15 @@ HP
GitHub

- @@ -700,28 +705,28 @@
view_headlineリスト
+ class="material-icons">view_headlineList
filter_listフィルター
-
help_outlineヘルプ
+ class="material-icons">filter_listFilter +
help_outlineHelp
refreshTL再読込
+ class="material-icons">refreshReload TL
-
内部エラーです。再読込して治らない場合は初期化(全データ削除)をしてください。(事前に設定をエクスポートしておくことをおすすめします。)
+
Internal error: please clear all data(at setting page) All data will be deleted.
@@ -893,24 +898,24 @@
- account_circle + account_circle - settings + settings - remove_from_queue + remove_from_queue - apps + apps - ←ここからTL追加 + <- Add TL
@@ -918,13 +923,13 @@
Tips: - info + info - access_time + access_time - memory + memory
- bubble_chart + bubble_chart
diff --git a/app/view/en/setting.html b/app/view/en/setting.html index d5116349..87648b4b 100644 --- a/app/view/en/setting.html +++ b/app/view/en/setting.html @@ -1,5 +1,5 @@ - + Settings - TheDesk @@ -32,26 +32,26 @@ - + -

設定

+

Preferences

  • - hearing読み上げの設定 + hearingTTS(text to speech) Preferences
    -
    読み上げの速さ
    - 1-100まで、デフォルトは10。
    +
    Speed
    + 1-100(default:10)

    -
    読み上げの高さ
    - 0-100まで、デフォルトは50。(大きくなるほど高い)
    +
    Pitch
    + 0-100(default:50)

    -
    読み上げの音量
    - 0-100まで、デフォルトは100。
    +
    Volume
    + 0-100(default:100)

    -
    テスト
    - +
    Test
    +
    + id="testplay">Play/Stop

    - +

  • undo戻る + class="material-icons left">undoBack
    -
    キーボードショートカット一覧 -
  • Ctrl+1-9:1番目~9番目のTLにスクロール
  • -
  • N:投稿パネルを開く
  • -
  • X:投稿パネルを開閉
  • -
  • Ctrl+Enter:投稿
  • -
  • Ctrl+Enter+Shift:投稿(セカンダリートゥート)
  • -
  • Alt+Enter:セカンダリートゥートボタン
  • -
  • Ctrl+E:全ての通知を既読にする
  • -
  • Esc:投稿パネルを消す
  • -
  • F5:スーパーリロード
  • -
  • Ctrl+Shift+C:入力内容を消す
  • -
  • Ctrl+Shift+S:設定
  • -
  • Ctrl+Shift+M:アカウントマネージャ
  • +
    Keyboard shortcuts +
  • Ctrl+1-9:Jump to n(1-9)th column
  • +
  • N:Open toot box
  • +
  • X:Toggle toot box
  • +
  • Ctrl+Enter:Post
  • +
  • Ctrl+Enter+Shift:Post(secondary toot)
  • +
  • Alt+Enter:Secondary Toot Button
  • +
  • Ctrl+E:Make all notifications read
  • +
  • Esc:Hide toot box
  • +
  • F5:Super Reload
  • +
  • Ctrl+Shift+C:Clear toot box
  • +
  • Ctrl+Shift+S:Preferences
  • +
  • Ctrl+Shift+M:Account Manager
  • Ctrl+Shift+N:NowPlaying(Spotify)
  • -
  • Ctrl+Shift+P:現在選択中のプロフィール
  • -
  • ←/→:イメージビューワー起動時に画像切り替え
  • -
  • マウスホイール:イメージビューワー時に拡大縮小
  • +
  • Ctrl+Shift+P:Show profile of selecting
  • +
  • ←/→:Show next or previous image
  • +
  • Mousewheel:Zoom a image
  • 以下Markdownに対応したインスタンスのみ。
    @@ -401,16 +401,16 @@


    + onclick="if(confirm('Delete all data. You cannot undo. Continue?')){ localStorage.clear(); location.href='index.html'; }">deleteReset(Danger)

    + class="material-icons left">infoAbout TheDesk web公式HP + class="material-icons left">webWebsite trending_up支援(Pixiv FANBOX) + style="width:100%; max-width:500px;">trending_upSupport(Pixiv FANBOX) listヘルプ/Docs(Constructing) + class="material-icons left">listHelp/Docs(Constructing) GitHub
    アップデートを確認
    - OSS License(オープンソースライセンス)
    + class="pointer">Check update
    + OSS License
    Copyright © Cutls P 2018 All Rights Reserved. Under GNU General Public License v3.0 and Terms of Use/Privacy diff --git a/app/view/en/setting.vue.js b/app/view/en/setting.vue.js index 32f4d993..58b4e065 100644 --- a/app/view/en/setting.vue.js +++ b/app/view/en/setting.vue.js @@ -1,18 +1,18 @@ var yesno=[ { - text:"はい", + text:"Yes", value:"yes" },{ - text:"いいえ", + text:"No", value:"no" } ]; var sound=[ { - text:"なし", + text:"None", value:"none" },{ - text:"既定", + text:"Default", value:"default" },{ text:"Custom 1", @@ -37,9 +37,9 @@ var envConstruction=[ setValue:0, width:50, text:{ - head:"新規通知のポップアップお知らせの表示秒数", - desc:'0に設定すると表示されません', - after:"秒" + head:"Popup notification(on Windows)", + desc:'Hide to set "0"', + after:"sec" } },{ id:"notf", @@ -47,8 +47,8 @@ var envConstruction=[ checkbox:true, setValue:"yes", text:{ - head:"ネイティブ通知設定", - desc:"Portableバージョンでは表示できません。", + head:"Native notification", + desc:"This does not work on Windows Portable ver.", checkbox:yesno } },{ @@ -59,9 +59,9 @@ var envConstruction=[ width:50, setValue:300, text:{ - head:"マルチカラムの最低横幅", - desc:"画面全体の横幅÷コラム数がこの値を超えた時、横スクロールとなります。", - after:"px 以上" + head:"Minimum width of columns", + desc:"Scroll bar will be shown when your window size is more than ammounts of columns.", + after:"px above" } },{ id:"fixwidth", @@ -71,9 +71,9 @@ var envConstruction=[ setValue:300, width:50, text:{ - head:"TweetDeckの限定の最低横幅", + head:"Minimum width of TweetDeck browser", desc:"", - after:"px 以上" + after:"px above" } },{ id:"size", @@ -83,8 +83,8 @@ var envConstruction=[ width:50, setValue:13, text:{ - head:"フォントサイズ", - desc:'13px(絶対指定)', + head:"Font size", + desc:'13px(absolute value)', after:"px" } },{ @@ -93,14 +93,14 @@ var envConstruction=[ checkbox:true, setValue:false, text:{ - head:"ハードウェアアクセラレーションの無効化", - desc:"表示(特に設定画面)が乱れる場合に「はい」を選択してください。自動で再起動します。", + head:"Disable hardware acceleration", + desc:"Auto restarted", checkbox:[ { - text:"はい", + text:"Yes", value:"true" },{ - text:"いいえ", + text:"No", value:"false" } ] @@ -114,20 +114,20 @@ var tlConstruction=[ checkbox:true, setValue:"absolute", text:{ - head:"時間表記設定", - desc:'相対時間の例:"1分前","3日前"
    絶対時間の例"23:25:21","2017年12月30日 23:59:00"
    混合表示は、当日のトゥートのみ相対、それ以外は絶対で表示 ', + head:"Time format", + desc:'Relative format:"1 minutes ago","3 days ago"
    Absolute format:"23:25:21","2017/12/30 23:59:00"
    Mixed format:toots posted today are relative-format, others are absolute-format.', checkbox:[ { - text:"相対時間", + text:"Relative", value:"relative" },{ - text:"絶対時間", + text:"Absolute", value:"absolute" },{ - text:"両方表示", + text:"Both relative and absolute", value:"double" },{ - text:"混合表示", + text:"Mixed", value:"medium" } @@ -139,8 +139,8 @@ var tlConstruction=[ checkbox:true, setValue:"yes", text:{ - head:"独自ロケールを使用", - desc:"対応サーバーではそのサーバーにあわせた言語表示ができます。", + head:"Server's unique locale", + desc:"This value is available on some Japanese servers", checkbox:yesno } },{ @@ -149,8 +149,8 @@ var tlConstruction=[ checkbox:true, setValue:"yes", text:{ - head:"非表示設定の画像(NSFW)を隠す", - desc:"きつめのぼかしがかかります。", + head:"Hide NSFW pictures", + desc:"Strong blur effect", checkbox:yesno } },{ @@ -159,7 +159,7 @@ var tlConstruction=[ checkbox:true, setValue:"yes", text:{ - head:"非表示設定のテキスト(CW)を隠す", + head:"Hide CW contents", desc:"", checkbox:yesno } @@ -169,14 +169,14 @@ var tlConstruction=[ checkbox:true, setValue:"hidden", text:{ - head:"リプライ数表示", + head:"Reply counter style", desc:"", checkbox:[ { - text:"2以上のとき1+と表示", + text:"Show 1+ if the replies are more than 1.", value:"hidden" },{ - text:"2以上のとき1+と表示", + text:"Show 1+ if the replies are more than 1.", value:"all" } @@ -188,7 +188,7 @@ var tlConstruction=[ checkbox:true, setValue:"yes", text:{ - head:"アイコンのアニメーションを再生する", + head:"Animated GIF images animation", desc:"", checkbox:yesno } @@ -198,14 +198,14 @@ var tlConstruction=[ checkbox:true, setValue:"local", text:{ - head:"タグタイムラインの表示範囲", + head:"Tag TL Search", desc:"", checkbox:[ { - text:"接続しているサーバー", + text:"Use federated network", value:"all" },{ - text:"検索対象のサーバーのみ", + text:"Use local network", value:"local" } @@ -217,7 +217,7 @@ var tlConstruction=[ checkbox:true, setValue:"no", text:{ - head:"viaを表示する", + head:"Show via", desc:"", checkbox:yesno } @@ -227,17 +227,17 @@ var tlConstruction=[ checkbox:true, setValue:"no", text:{ - head:"アクションメニューを非表示", - desc:"「マウスオーバー」はすこし鬱陶しいと思うかもしれません。", + head:"Hide action buttons without mouseover", + desc:"You may feel 'mouseover' is unconfortable:(", checkbox:[ { - text:"マウスオーバーで表示", + text:"Mouseover to show", value:"yes" },{ - text:"クリックで表示", + text:"Click to show", value:"click" },{ - text:"いいえ", + text:"No", value:"no" } @@ -249,7 +249,7 @@ var tlConstruction=[ checkbox:true, setValue:"yes", text:{ - head:"通知を開いているとき、通知新着お知らせを表示する", + head:"Show Notification marker, red colored bell and counter(if you show a notification column.)", desc:"", checkbox:yesno } @@ -262,18 +262,18 @@ var tlConstruction=[ storage:"sentence", width:50, setValue:500, - text:{after:"行 以上 または"} + text:{after:"lines above or"} },{ id:"letters", storage:"letters", width:50, setValue:7000, - text:{after:"文字 以上"} + text:{after:"letters above"} } ], text:{ - head:"指定行数以上を折りたたむ", - desc:"5文字以下のトゥートは折りたたみません。また、折りたたみ時は改行が描画されません。改行のみを行数とカウントします。", + head:"Auto folding", + desc:"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.", } },{ id:"img-height", @@ -283,8 +283,8 @@ var tlConstruction=[ width:80, setValue:200, text:{ - head:"画像の高さ", - desc:'オプション:「full」と指定すると全ての画像をクロップしません。', + head:"Height of images", + desc:'Option:Set "full" to uncrop.', after:"px" } },{ @@ -293,8 +293,8 @@ var tlConstruction=[ checkbox:true, setValue:"no", text:{ - head:"#InstanceTickerを使う", - desc:'トゥートした人の所属サーバーをわかりやすく彩ります(自サーバー以外のトゥート向け)。
    #InstanceTickerについて Copyright 2018 weepjp, kyori19.', + head:"Enable #InstanceTicker", + desc:'Show colorful stickers about the server. About #InstanceTicker Copyright 2018 weepjp, kyori19.', checkbox:yesno } },{ @@ -303,7 +303,7 @@ var tlConstruction=[ checkbox:true, setValue:"yes", text:{ - head:"タイムラインのアニメーション", + head:"Animation of timelines", desc:"", checkbox:yesno } @@ -313,7 +313,7 @@ var tlConstruction=[ checkbox:true, setValue:"none", text:{ - head:"リプライの通知音", + head:"Sound(Reply)", desc:"", checkbox:sound } @@ -323,7 +323,7 @@ var tlConstruction=[ checkbox:true, setValue:"none", text:{ - head:"お気に入り登録の通知音", + head:"Sound(Fav)", desc:"", checkbox:sound } @@ -333,7 +333,7 @@ var tlConstruction=[ checkbox:true, setValue:"none", text:{ - head:"ブーストの通知音", + head:"Sound(Boost)", desc:"", checkbox:sound } @@ -343,7 +343,7 @@ var tlConstruction=[ checkbox:true, setValue:"none", text:{ - head:"フォローの通知音", + head:"Sound(Follow)", desc:"", checkbox:sound } @@ -358,7 +358,7 @@ var postConstruction=[ width:150, setValue:"", text:{ - head:"デフォルトの警告文", + head:"Default warining text", desc:"", after:"" } @@ -371,18 +371,18 @@ var postConstruction=[ storage:"cw_sentence", width:50, setValue:500, - text:{after:"行 以上 または"} + text:{after:"lines above or"} },{ id:"cw_letters", storage:"cw_letters", width:50, setValue:7000, - text:{after:"文字 以上"} + text:{after:"letters above"} } ], text:{ - head:"長文投稿時に警告", - desc:"下で指定した以上のトゥートを投稿するときにCWするかのダイアログを表示します。", + head:"Alert before posting a long toot.", + desc:"Show dialog whether you make too-long text hidden.", } },{ id:"cws", @@ -390,7 +390,7 @@ var postConstruction=[ checkbox:true, setValue:"no", text:{ - head:"標準でCWを設定", + head:"Always CW set", desc:"", checkbox:yesno } @@ -400,26 +400,26 @@ var postConstruction=[ checkbox:true, setValue:"public", text:{ - head:"デフォルトの公開設定", + head:"Default visibility", desc:"", checkbox:[ { - text:"公開(Public)", + text:"Public", value:"public" },{ - text:"未収載(Unlisted)", + text:"Unlisted", value:"unlisted" },{ - text:"非公開(Private)", + text:"Private", value:"private" },{ - text:"ダイレクト(Direct)", + text:"Direct", value:"direct" },{ - text:"前回の投稿設定を記憶する(サーバーごとに記憶されます)", + text:"Memory(memorized as each server)", value:"memory" },{ - text:"マストドンアカウント設定の既定値", + text:"Default of your visibility(Set on preferences of Mastodon server)", value:"useapi" } ] @@ -430,14 +430,14 @@ var postConstruction=[ checkbox:true, setValue:"no-act", text:{ - head:"画像投稿設定", + head:"Posting images preferences", desc:"", checkbox:[ { - text:"画像を投稿し、画像のURLを最後に表示", + text:"Insert media URL", value:"url" },{ - text:"画像を投稿するがURLは表示しない", + text:"Insert nothig", value:"no-act" } ] @@ -448,17 +448,17 @@ var postConstruction=[ checkbox:true, setValue:"yes", text:{ - head:"投稿ボックスの挙動", + head:"Action of posting-box", desc:"", checkbox:[ { - text:"たたむ", + text:"Folding", value:"yes" },{ - text:"投稿後も隠さない", + text:"Open after posting", value:"no" },{ - text:"枠外クリックで閉じない(起動時に展開)", + text:"Absolutely open", value:"absolute" } ] @@ -469,20 +469,20 @@ var postConstruction=[ checkbox:true, setValue:"nothing", text:{ - head:"引用形式", + head:"Quote format", desc:"", checkbox:[ { - text:"URLのみ", + text:"Only URL", value:"simple" },{ - text:"URLとアカウント名(相手に通知)", + text:"URL and acct(mention to the user)", value:"mention" },{ - text:"本文・URL・アカウント名", + text:"URL, text and acct(mention to the user)", value:"full" },{ - text:"使わない(TL上にボタンも表示されません)", + text:"Disabled(Hide buttons on TLs)", value:"nothing" } ] @@ -493,14 +493,14 @@ var postConstruction=[ checkbox:true, setValue:"remain", text:{ - head:"投稿後や起動時のアカウント", - desc:"メインアカウントはアカウント設定で指定できます。投稿以外のアカウント選択にも影響します。", + head:"Default accounts of actions", + desc:"Main account can be set on Account Manager.", checkbox:[ { - text:"最後に使用したアカウント", + text:"Account you used recently", value:"remain" },{ - text:"メインアカウント", + text:"Main account", value:"main" } ] @@ -511,26 +511,26 @@ var postConstruction=[ checkbox:true, setValue:"public", text:{ - head:"セカンダリートゥートボタン", + head:"Secondary Toot Button", desc:"", checkbox:[ { - text:"表示しない", + text:"Hidden", value:"nothing" },{ - text:"公開(Public)", + text:"Public", value:"public" },{ - text:"未収載(Unlisted)", + text:"Unlisted", value:"unlisted" },{ - text:"非公開(Private)", + text:"Private", value:"private" },{ - text:"ダイレクト(Direct)", + text:"Direct", value:"direct" },{ - text:"ローカル限定", + text:"Local Only", value:"local", kirishima:true, kirishimaText:"非対応インスタンスでは「未収載」になります。" @@ -544,7 +544,7 @@ var postConstruction=[ setValue:"normal", setValue:"no", text:{ - head:"絵文字にゼロ幅スペースを使う", + head:"Zero-width space when inserting emojis", desc:"", checkbox:yesno } diff --git a/app/view/en/update.html b/app/view/en/update.html index d2b54f88..d3708a7b 100644 --- a/app/view/en/update.html +++ b/app/view/en/update.html @@ -1,5 +1,5 @@ - + Update - TheDesk @@ -72,27 +72,27 @@ a,button,input,label,i{

    TheDesk

    -

    アップデートがあります

    +

    Get latest TheDesk



    - - - - + + + +
    - 問題が発生しますか?
    公式HPからダウンロードをお試しください。 + Some problems?
    Please download on Oficial HP.
    -

    アップデートは必ず行ってください

    - アップデートをスキップする
    +

    You may lose a cool experience!

    + Skip this update
    - アップデートを続行 + Continue updating
    -

    ダウンロード中

    +

    Downloading...

    @@ -208,7 +208,7 @@ function verck(){ $("#ver").text(json.desk_mac); localStorage.setItem("next-ver",json.desk_mac); } - var lang="ja"; + var lang="en"; if(lang=="ja"){ $("#det").html(json.detail); }else{ diff --git a/app/view/ja/index.html b/app/view/ja/index.html index 967f0baa..01c6a698 100644 --- a/app/view/ja/index.html +++ b/app/view/ja/index.html @@ -30,12 +30,13 @@ + +
    @@ -650,12 +652,15 @@ HP
    GitHub

    -
    -
    内部エラーです。再読込して治らない場合は初期化(全データ削除)をしてください。(事前に設定をエクスポートしておくことをおすすめします。)
    +
    crwdns511:0crwdne511:0
    @@ -893,24 +898,24 @@
    @@ -918,13 +923,13 @@
    diff --git a/app/view/ps/setting.html b/app/view/ps/setting.html index d5116349..3da65ff9 100644 --- a/app/view/ps/setting.html +++ b/app/view/ps/setting.html @@ -1,15 +1,15 @@ - + Settings - TheDesk - + @@ -32,26 +32,26 @@ - + -

    設定

    +

    crwdns524:0crwdne524:0

  • - hearing読み上げの設定 + hearingcrwdns636:0crwdne636:0
    -
    読み上げの速さ
    - 1-100まで、デフォルトは10。
    +
    crwdns637:0crwdne637:0
    + crwdns638:0crwdne638:0

    -
    読み上げの高さ
    - 0-100まで、デフォルトは50。(大きくなるほど高い)
    +
    crwdns639:0crwdne639:0
    + crwdns640:0crwdne640:0

    -
    読み上げの音量
    - 0-100まで、デフォルトは100。
    +
    crwdns641:0crwdne641:0
    + crwdns642:0crwdne642:0

    -
    テスト
    - +
    crwdns643:0crwdne643:0
    +
    + id="testplay">crwdns645:0crwdne645:0

    - +

  • undo戻る + class="material-icons left">undocrwdns646:0crwdne646:0
    -
    キーボードショートカット一覧 -
  • Ctrl+1-9:1番目~9番目のTLにスクロール
  • -
  • N:投稿パネルを開く
  • -
  • X:投稿パネルを開閉
  • -
  • Ctrl+Enter:投稿
  • -
  • Ctrl+Enter+Shift:投稿(セカンダリートゥート)
  • -
  • Alt+Enter:セカンダリートゥートボタン
  • -
  • Ctrl+E:全ての通知を既読にする
  • -
  • Esc:投稿パネルを消す
  • -
  • F5:スーパーリロード
  • -
  • Ctrl+Shift+C:入力内容を消す
  • -
  • Ctrl+Shift+S:設定
  • -
  • Ctrl+Shift+M:アカウントマネージャ
  • +
    crwdns647:0crwdne647:0 +
  • Ctrl+1-9:crwdns648:0crwdne648:0
  • +
  • N:crwdns649:0crwdne649:0
  • +
  • X:crwdns650:0crwdne650:0
  • +
  • Ctrl+Enter:crwdns651:0crwdne651:0
  • +
  • Ctrl+Enter+Shift:crwdns1924:0crwdne1924:0
  • +
  • Alt+Enter:crwdns1916:0crwdne1916:0
  • +
  • Ctrl+E:crwdns652:0crwdne652:0
  • +
  • Esc:crwdns653:0crwdne653:0
  • +
  • F5:crwdns654:0crwdne654:0
  • +
  • Ctrl+Shift+C:crwdns655:0crwdne655:0
  • +
  • Ctrl+Shift+S:crwdns524:0crwdne524:0
  • +
  • Ctrl+Shift+M:crwdns656:0crwdne656:0
  • Ctrl+Shift+N:NowPlaying(Spotify)
  • -
  • Ctrl+Shift+P:現在選択中のプロフィール
  • -
  • ←/→:イメージビューワー起動時に画像切り替え
  • -
  • マウスホイール:イメージビューワー時に拡大縮小
  • +
  • Ctrl+Shift+P:crwdns657:0crwdne657:0
  • +
  • ←/→:crwdns658:0crwdne658:0
  • +
  • crwdns659:0crwdne659:0
  • 以下Markdownに対応したインスタンスのみ。
    @@ -401,16 +401,16 @@


    + onclick="if(confirm('crwdns661:0crwdne661:0')){ localStorage.clear(); location.href='index.html'; }">deletecrwdns660:0crwdne660:0

    + class="material-icons left">infocrwdns662:0crwdne662:0 web公式HP + class="material-icons left">webcrwdns663:0crwdne663:0 trending_up支援(Pixiv FANBOX) + style="width:100%; max-width:500px;">trending_upcrwdns664:0crwdne664:0(Pixiv FANBOX) listヘルプ/Docs(Constructing) + class="material-icons left">listcrwdns665:0crwdne665:0/Docs(Constructing) GitHub
    アップデートを確認
    - OSS License(オープンソースライセンス)
    + class="pointer">crwdns667:0crwdne667:0
    + OSS Licensecrwdns668:0crwdne668:0
    Copyright © Cutls P 2018 All Rights Reserved. Under GNU General Public License v3.0 and Terms of Use/Privacy diff --git a/app/view/ps/setting.vue.js b/app/view/ps/setting.vue.js index 32f4d993..0ec8aea0 100644 --- a/app/view/ps/setting.vue.js +++ b/app/view/ps/setting.vue.js @@ -1,18 +1,18 @@ var yesno=[ { - text:"はい", + text:"crwdns526:0crwdne526:0", value:"yes" },{ - text:"いいえ", + text:"crwdns527:0crwdne527:0", value:"no" } ]; var sound=[ { - text:"なし", + text:"@@none@@", value:"none" },{ - text:"既定", + text:"@@default@@", value:"default" },{ text:"Custom 1", @@ -37,9 +37,9 @@ var envConstruction=[ setValue:0, width:50, text:{ - head:"新規通知のポップアップお知らせの表示秒数", - desc:'0に設定すると表示されません', - after:"秒" + head:"crwdns1898:0crwdne1898:0", + desc:'crwdns536:0crwdne536:0', + after:"crwdns537:0crwdne537:0" } },{ id:"notf", @@ -47,8 +47,8 @@ var envConstruction=[ checkbox:true, setValue:"yes", text:{ - head:"ネイティブ通知設定", - desc:"Portableバージョンでは表示できません。", + head:"crwdns538:0crwdne538:0", + desc:"crwdns539:0crwdne539:0", checkbox:yesno } },{ @@ -59,9 +59,9 @@ var envConstruction=[ width:50, setValue:300, text:{ - head:"マルチカラムの最低横幅", - desc:"画面全体の横幅÷コラム数がこの値を超えた時、横スクロールとなります。", - after:"px 以上" + head:"crwdns2376:0crwdne2376:0", + desc:"crwdns542:0crwdne542:0", + after:"px crwdns543:0crwdne543:0" } },{ id:"fixwidth", @@ -71,9 +71,9 @@ var envConstruction=[ setValue:300, width:50, text:{ - head:"TweetDeckの限定の最低横幅", - desc:"", - after:"px 以上" + head:"crwdns2378:0crwdne2378:0", + desc:"crwdns2380:0crwdne2380:0", + after:"px crwdns543:0crwdne543:0" } },{ id:"size", @@ -83,8 +83,8 @@ var envConstruction=[ width:50, setValue:13, text:{ - head:"フォントサイズ", - desc:'13px(絶対指定)', + head:"crwdns546:0crwdne546:0", + desc:'13px(crwdns549:0crwdne549:0)', after:"px" } },{ @@ -93,14 +93,14 @@ var envConstruction=[ checkbox:true, setValue:false, text:{ - head:"ハードウェアアクセラレーションの無効化", - desc:"表示(特に設定画面)が乱れる場合に「はい」を選択してください。自動で再起動します。", + head:"@@hardwareAcceleration@@", + desc:"@@hardwareAccelerationWarn@@", checkbox:[ { - text:"はい", + text:"crwdns526:0crwdne526:0", value:"true" },{ - text:"いいえ", + text:"crwdns527:0crwdne527:0", value:"false" } ] @@ -114,20 +114,20 @@ var tlConstruction=[ checkbox:true, setValue:"absolute", text:{ - head:"時間表記設定", - desc:'相対時間の例:"1分前","3日前"
    絶対時間の例"23:25:21","2017年12月30日 23:59:00"
    混合表示は、当日のトゥートのみ相対、それ以外は絶対で表示 ', + head:"crwdns551:0crwdne551:0", + desc:'crwdns552:0crwdne552:0
    crwdns553:0crwdne553:0
    crwdns554:0crwdne554:0', checkbox:[ { - text:"相対時間", + text:"crwdns555:0crwdne555:0", value:"relative" },{ - text:"絶対時間", + text:"crwdns1902:0crwdne1902:0", value:"absolute" },{ - text:"両方表示", + text:"crwdns557:0crwdne557:0", value:"double" },{ - text:"混合表示", + text:"crwdns558:0crwdne558:0", value:"medium" } @@ -139,8 +139,8 @@ var tlConstruction=[ checkbox:true, setValue:"yes", text:{ - head:"独自ロケールを使用", - desc:"対応サーバーではそのサーバーにあわせた言語表示ができます。", + head:"crwdns1904:0crwdne1904:0", + desc:"crwdns1906:0crwdne1906:0", checkbox:yesno } },{ @@ -149,8 +149,8 @@ var tlConstruction=[ checkbox:true, setValue:"yes", text:{ - head:"非表示設定の画像(NSFW)を隠す", - desc:"きつめのぼかしがかかります。", + head:"crwdns561:0crwdne561:0", + desc:"crwdns562:0crwdne562:0", checkbox:yesno } },{ @@ -159,7 +159,7 @@ var tlConstruction=[ checkbox:true, setValue:"yes", text:{ - head:"非表示設定のテキスト(CW)を隠す", + head:"crwdns563:0crwdne563:0", desc:"", checkbox:yesno } @@ -169,14 +169,14 @@ var tlConstruction=[ checkbox:true, setValue:"hidden", text:{ - head:"リプライ数表示", + head:"crwdns564:0crwdne564:0", desc:"", checkbox:[ { - text:"2以上のとき1+と表示", + text:"crwdns565:0crwdne565:0", value:"hidden" },{ - text:"2以上のとき1+と表示", + text:"crwdns565:0crwdne565:0", value:"all" } @@ -188,7 +188,7 @@ var tlConstruction=[ checkbox:true, setValue:"yes", text:{ - head:"アイコンのアニメーションを再生する", + head:"crwdns567:0crwdne567:0", desc:"", checkbox:yesno } @@ -198,14 +198,14 @@ var tlConstruction=[ checkbox:true, setValue:"local", text:{ - head:"タグタイムラインの表示範囲", + head:"crwdns572:0crwdne572:0", desc:"", checkbox:[ { - text:"接続しているサーバー", + text:"crwdns573:0crwdne573:0", value:"all" },{ - text:"検索対象のサーバーのみ", + text:"crwdns574:0crwdne574:0", value:"local" } @@ -217,7 +217,7 @@ var tlConstruction=[ checkbox:true, setValue:"no", text:{ - head:"viaを表示する", + head:"crwdns575:0crwdne575:0", desc:"", checkbox:yesno } @@ -227,17 +227,17 @@ var tlConstruction=[ checkbox:true, setValue:"no", text:{ - head:"アクションメニューを非表示", - desc:"「マウスオーバー」はすこし鬱陶しいと思うかもしれません。", + head:"crwdns576:0crwdne576:0", + desc:"crwdns577:0crwdne577:0", checkbox:[ { - text:"マウスオーバーで表示", + text:"crwdns578:0crwdne578:0", value:"yes" },{ - text:"クリックで表示", + text:"crwdns579:0crwdne579:0", value:"click" },{ - text:"いいえ", + text:"crwdns527:0crwdne527:0", value:"no" } @@ -249,7 +249,7 @@ var tlConstruction=[ checkbox:true, setValue:"yes", text:{ - head:"通知を開いているとき、通知新着お知らせを表示する", + head:"crwdns580:0crwdne580:0", desc:"", checkbox:yesno } @@ -262,18 +262,18 @@ var tlConstruction=[ storage:"sentence", width:50, setValue:500, - text:{after:"行 以上 または"} + text:{after:"crwdns583:0crwdne583:0 crwdns543:0crwdne543:0 crwdns585:0crwdne585:0"} },{ id:"letters", storage:"letters", width:50, setValue:7000, - text:{after:"文字 以上"} + text:{after:"crwdns584:0crwdne584:0 crwdns543:0crwdne543:0"} } ], text:{ - head:"指定行数以上を折りたたむ", - desc:"5文字以下のトゥートは折りたたみません。また、折りたたみ時は改行が描画されません。改行のみを行数とカウントします。", + head:"crwdns581:0crwdne581:0", + desc:"crwdns582:0crwdne582:0", } },{ id:"img-height", @@ -283,8 +283,8 @@ var tlConstruction=[ width:80, setValue:200, text:{ - head:"画像の高さ", - desc:'オプション:「full」と指定すると全ての画像をクロップしません。', + head:"crwdns586:0crwdne586:0", + desc:'@@imgheightwarn@@', after:"px" } },{ @@ -293,8 +293,8 @@ var tlConstruction=[ checkbox:true, setValue:"no", text:{ - head:"#InstanceTickerを使う", - desc:'トゥートした人の所属サーバーをわかりやすく彩ります(自サーバー以外のトゥート向け)。
    #InstanceTickerについて Copyright 2018 weepjp, kyori19.', + head:"crwdns1908:0crwdne1908:0", + desc:'crwdns1910:0crwdne1910:0', checkbox:yesno } },{ @@ -303,7 +303,7 @@ var tlConstruction=[ checkbox:true, setValue:"yes", text:{ - head:"タイムラインのアニメーション", + head:"crwdns2446:0crwdne2446:0", desc:"", checkbox:yesno } @@ -313,7 +313,7 @@ var tlConstruction=[ checkbox:true, setValue:"none", text:{ - head:"リプライの通知音", + head:"@@replySound@@", desc:"", checkbox:sound } @@ -323,7 +323,7 @@ var tlConstruction=[ checkbox:true, setValue:"none", text:{ - head:"お気に入り登録の通知音", + head:"@@favSound@@", desc:"", checkbox:sound } @@ -333,7 +333,7 @@ var tlConstruction=[ checkbox:true, setValue:"none", text:{ - head:"ブーストの通知音", + head:"@@btSound@@", desc:"", checkbox:sound } @@ -343,7 +343,7 @@ var tlConstruction=[ checkbox:true, setValue:"none", text:{ - head:"フォローの通知音", + head:"@@followSound@@", desc:"", checkbox:sound } @@ -358,7 +358,7 @@ var postConstruction=[ width:150, setValue:"", text:{ - head:"デフォルトの警告文", + head:"crwdns590:0crwdne590:0", desc:"", after:"" } @@ -371,18 +371,18 @@ var postConstruction=[ storage:"cw_sentence", width:50, setValue:500, - text:{after:"行 以上 または"} + text:{after:"crwdns583:0crwdne583:0 crwdns543:0crwdne543:0 crwdns585:0crwdne585:0"} },{ id:"cw_letters", storage:"cw_letters", width:50, setValue:7000, - text:{after:"文字 以上"} + text:{after:"crwdns584:0crwdne584:0 crwdns543:0crwdne543:0"} } ], text:{ - head:"長文投稿時に警告", - desc:"下で指定した以上のトゥートを投稿するときにCWするかのダイアログを表示します。", + head:"crwdns588:0crwdne588:0", + desc:"crwdns589:0crwdne589:0", } },{ id:"cws", @@ -390,7 +390,7 @@ var postConstruction=[ checkbox:true, setValue:"no", text:{ - head:"標準でCWを設定", + head:"crwdns591:0crwdne591:0", desc:"", checkbox:yesno } @@ -400,26 +400,26 @@ var postConstruction=[ checkbox:true, setValue:"public", text:{ - head:"デフォルトの公開設定", + head:"crwdns592:0crwdne592:0", desc:"", checkbox:[ { - text:"公開(Public)", + text:"crwdns593:0crwdne593:0", value:"public" },{ - text:"未収載(Unlisted)", + text:"crwdns594:0crwdne594:0", value:"unlisted" },{ - text:"非公開(Private)", + text:"crwdns595:0crwdne595:0", value:"private" },{ - text:"ダイレクト(Direct)", + text:"crwdns596:0crwdne596:0", value:"direct" },{ - text:"前回の投稿設定を記憶する(サーバーごとに記憶されます)", + text:"crwdns1912:0crwdne1912:0", value:"memory" },{ - text:"マストドンアカウント設定の既定値", + text:"crwdns1914:0crwdne1914:0", value:"useapi" } ] @@ -430,14 +430,14 @@ var postConstruction=[ checkbox:true, setValue:"no-act", text:{ - head:"画像投稿設定", + head:"crwdns599:0crwdne599:0", desc:"", checkbox:[ { - text:"画像を投稿し、画像のURLを最後に表示", + text:"crwdns600:0crwdne600:0", value:"url" },{ - text:"画像を投稿するがURLは表示しない", + text:"crwdns601:0crwdne601:0", value:"no-act" } ] @@ -448,17 +448,17 @@ var postConstruction=[ checkbox:true, setValue:"yes", text:{ - head:"投稿ボックスの挙動", + head:"crwdns568:0crwdne568:0", desc:"", checkbox:[ { - text:"たたむ", + text:"crwdns569:0crwdne569:0", value:"yes" },{ - text:"投稿後も隠さない", + text:"crwdns571:0crwdne571:0", value:"no" },{ - text:"枠外クリックで閉じない(起動時に展開)", + text:"crwdns570:0crwdne570:0", value:"absolute" } ] @@ -469,20 +469,20 @@ var postConstruction=[ checkbox:true, setValue:"nothing", text:{ - head:"引用形式", + head:"crwdns603:0crwdne603:0", desc:"", checkbox:[ { - text:"URLのみ", + text:"crwdns604:0crwdne604:0", value:"simple" },{ - text:"URLとアカウント名(相手に通知)", + text:"crwdns605:0crwdne605:0", value:"mention" },{ - text:"本文・URL・アカウント名", + text:"crwdns606:0crwdne606:0", value:"full" },{ - text:"使わない(TL上にボタンも表示されません)", + text:"@@notqt@@", value:"nothing" } ] @@ -493,14 +493,14 @@ var postConstruction=[ checkbox:true, setValue:"remain", text:{ - head:"投稿後や起動時のアカウント", - desc:"メインアカウントはアカウント設定で指定できます。投稿以外のアカウント選択にも影響します。", + head:"crwdns607:0crwdne607:0", + desc:"crwdns608:0crwdne608:0", checkbox:[ { - text:"最後に使用したアカウント", + text:"crwdns609:0crwdne609:0", value:"remain" },{ - text:"メインアカウント", + text:"crwdns610:0crwdne610:0", value:"main" } ] @@ -511,26 +511,26 @@ var postConstruction=[ checkbox:true, setValue:"public", text:{ - head:"セカンダリートゥートボタン", + head:"crwdns1916:0crwdne1916:0", desc:"", checkbox:[ { - text:"表示しない", + text:"crwdns1920:0crwdne1920:0", value:"nothing" },{ - text:"公開(Public)", + text:"crwdns593:0crwdne593:0", value:"public" },{ - text:"未収載(Unlisted)", + text:"crwdns594:0crwdne594:0", value:"unlisted" },{ - text:"非公開(Private)", + text:"crwdns595:0crwdne595:0", value:"private" },{ - text:"ダイレクト(Direct)", + text:"crwdns596:0crwdne596:0", value:"direct" },{ - text:"ローカル限定", + text:"crwdns1922:0crwdne1922:0", value:"local", kirishima:true, kirishimaText:"非対応インスタンスでは「未収載」になります。" @@ -544,7 +544,7 @@ var postConstruction=[ setValue:"normal", setValue:"no", text:{ - head:"絵文字にゼロ幅スペースを使う", + head:"@@zeroWidthEmoji@@", desc:"", checkbox:yesno } diff --git a/app/view/ps/update.html b/app/view/ps/update.html index d2b54f88..2f45976f 100644 --- a/app/view/ps/update.html +++ b/app/view/ps/update.html @@ -1,18 +1,18 @@ - + Update - TheDesk - +