| @@ -1,6 +1,6 @@ | ||||
| <template> | ||||
| <svg :viewBox="`0 0 ${ viewBoxX } ${ viewBoxY }`" preserveAspectRatio="none" @mousedown.prevent="onMousedown"> | ||||
| 	<title>Black ... Total<br/>Blue ... Notes<br/>Red ... Replies<br/>Green ... Renotes</title> | ||||
| 	<title>%i18n:@total%<br/>%i18n:@notes%<br/>%i18n:@replies%<br/>%i18n:@renotes%</title> | ||||
| 	<polyline | ||||
| 		:points="pointsNote" | ||||
| 		fill="none" | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| <mk-window ref="window" is-modal width="800px" height="500px" @closed="$destroy"> | ||||
| 	<span slot="header"> | ||||
| 		<span v-html="title" :class="$style.title"></span> | ||||
| 		<span :class="$style.count" v-if="multiple && files.length > 0">({{ files.length }}ファイル選択中)</span> | ||||
| 		<span :class="$style.count" v-if="multiple && files.length > 0">({{ files.length }}%i18n:@choose-file%)</span> | ||||
| 	</span> | ||||
|  | ||||
| 	<mk-drive | ||||
| @@ -13,9 +13,9 @@ | ||||
| 		@change-selection="onChangeSelection" | ||||
| 	/> | ||||
| 	<div :class="$style.footer"> | ||||
| 		<button :class="$style.upload" title="PCからドライブにファイルをアップロード" @click="upload">%fa:upload%</button> | ||||
| 		<button :class="$style.cancel" @click="cancel">キャンセル</button> | ||||
| 		<button :class="$style.ok" :disabled="multiple && files.length == 0" @click="ok">決定</button> | ||||
| 		<button :class="$style.upload" title="%i18n:@upload%" @click="upload">%fa:upload%</button> | ||||
| 		<button :class="$style.cancel" @click="cancel">%i18n:@cancel%</button> | ||||
| 		<button :class="$style.ok" :disabled="multiple && files.length == 0" @click="ok">%i18n:@ok%</button> | ||||
| 	</div> | ||||
| </mk-window> | ||||
| </template> | ||||
| @@ -28,7 +28,7 @@ export default Vue.extend({ | ||||
| 			default: false | ||||
| 		}, | ||||
| 		title: { | ||||
| 			default: '%fa:R file%ファイルを選択' | ||||
| 			default: '%fa:R file%%i18n:@choose-prompt%s' | ||||
| 		} | ||||
| 	}, | ||||
| 	data() { | ||||
| @@ -177,4 +177,3 @@ export default Vue.extend({ | ||||
| 		border-color #dcdcdc | ||||
|  | ||||
| </style> | ||||
|  | ||||
|   | ||||
| @@ -10,8 +10,8 @@ | ||||
| 		:multiple="false" | ||||
| 	/> | ||||
| 	<div :class="$style.footer"> | ||||
| 		<button :class="$style.cancel" @click="cancel">キャンセル</button> | ||||
| 		<button :class="$style.ok" @click="ok">決定</button> | ||||
| 		<button :class="$style.cancel" @click="cancel">%i18n:@cancel%</button> | ||||
| 		<button :class="$style.ok" @click="ok">%i18n:@ok%</button> | ||||
| 	</div> | ||||
| </mk-window> | ||||
| </template> | ||||
| @@ -21,7 +21,7 @@ import Vue from 'vue'; | ||||
| export default Vue.extend({ | ||||
| 	props: { | ||||
| 		title: { | ||||
| 			default: '%fa:R folder%フォルダを選択' | ||||
| 			default: '%fa:R folder%%i18n:@choose-prompt%' | ||||
| 		} | ||||
| 	}, | ||||
| 	methods: { | ||||
|   | ||||
| @@ -10,9 +10,9 @@ | ||||
| 			/> | ||||
| 		</div> | ||||
| 		<div :class="$style.actions"> | ||||
| 			<button :class="$style.skip" @click="skip">クロップをスキップ</button> | ||||
| 			<button :class="$style.cancel" @click="cancel">キャンセル</button> | ||||
| 			<button :class="$style.ok" @click="ok">決定</button> | ||||
| 			<button :class="$style.skip" @click="skip">%i18n:@skip%</button> | ||||
| 			<button :class="$style.cancel" @click="cancel">%i18n:@cancel%</button> | ||||
| 			<button :class="$style.ok" @click="ok">%i18n:@ok%</button> | ||||
| 		</div> | ||||
| 	</mk-window> | ||||
| </template> | ||||
|   | ||||
| @@ -3,15 +3,15 @@ | ||||
| 	:class="{ wait, follow: !user.isFollowing, unfollow: user.isFollowing, big: size == 'big' }" | ||||
| 	@click="onClick" | ||||
| 	:disabled="wait" | ||||
| 	:title="user.isFollowing ? 'フォロー解除' : 'フォローする'" | ||||
| 	:title="user.isFollowing ? '%i18n:@unfollow%' : '%i18n:@follow%'" | ||||
| > | ||||
| 	<template v-if="!wait && user.isFollowing"> | ||||
| 		<template v-if="size == 'compact'">%fa:minus%</template> | ||||
| 		<template v-if="size == 'big'">%fa:minus%フォロー解除</template> | ||||
| 		<template v-if="size == 'big'">%fa:minus%%i18n:@unfollow%</template> | ||||
| 	</template> | ||||
| 	<template v-if="!wait && !user.isFollowing"> | ||||
| 		<template v-if="size == 'compact'">%fa:plus%</template> | ||||
| 		<template v-if="size == 'big'">%fa:plus%フォロー</template> | ||||
| 		<template v-if="size == 'big'">%fa:plus%%i18n:@follow%</template> | ||||
| 	</template> | ||||
| 	<template v-if="wait">%fa:spinner .pulse .fw%</template> | ||||
| </button> | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| <template> | ||||
| <mk-window width="400px" height="550px" @closed="$destroy"> | ||||
| 	<span slot="header" :class="$style.header"> | ||||
| 		<img :src="`${user.avatarUrl}?thumbnail&size=64`" alt=""/>{{ user | userName }}のフォロワー | ||||
| 		<img :src="`${user.avatarUrl}?thumbnail&size=64`" alt=""/>%i18n:!@followers%.replace('{}', {{ user | userName }}) | ||||
| 	</span> | ||||
| 	<mk-followers :user="user"/> | ||||
| </mk-window> | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 	:count="user.followersCount" | ||||
| 	:you-know-count="user.followersYouKnowCount" | ||||
| > | ||||
| 	フォロワーはいないようです。 | ||||
| 	%i18n:@empty% | ||||
| </mk-users-list> | ||||
| </template> | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| <template> | ||||
| <mk-window width="400px" height="550px" @closed="$destroy"> | ||||
| 	<span slot="header" :class="$style.header"> | ||||
| 		<img :src="`${user.avatarUrl}?thumbnail&size=64`" alt=""/>{{ user | userName }}のフォロー | ||||
| 		<img :src="`${user.avatarUrl}?thumbnail&size=64`" alt=""/>%i18n:!@following%.replace('{}', {{ user | userName }}) | ||||
| 	</span> | ||||
| 	<mk-following :user="user"/> | ||||
| </mk-window> | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
| 	:count="user.followingCount" | ||||
| 	:you-know-count="user.followingYouKnowCount" | ||||
| > | ||||
| 	フォロー中のユーザーはいないようです。 | ||||
| 	%i18n:@empty% | ||||
| </mk-users-list> | ||||
| </template> | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| <template> | ||||
| <div class="mk-friends-maker"> | ||||
| 	<p class="title">気になるユーザーをフォロー:</p> | ||||
| 	<p class="title">%i18n:@title%</p> | ||||
| 	<div class="users" v-if="!fetching && users.length > 0"> | ||||
| 		<div class="user" v-for="user in users" :key="user.id"> | ||||
| 			<mk-avatar class="avatar" :user="user" target="_blank"/> | ||||
| @@ -11,10 +11,10 @@ | ||||
| 			<mk-follow-button :user="user"/> | ||||
| 		</div> | ||||
| 	</div> | ||||
| 	<p class="empty" v-if="!fetching && users.length == 0">おすすめのユーザーは見つかりませんでした。</p> | ||||
| 	<p class="fetching" v-if="fetching">%fa:spinner .pulse .fw%読み込んでいます<mk-ellipsis/></p> | ||||
| 	<a class="refresh" @click="refresh">もっと見る</a> | ||||
| 	<button class="close" @click="$destroy()" title="閉じる">%fa:times%</button> | ||||
| 	<p class="empty" v-if="!fetching && users.length == 0">%i18n:@empty%</p> | ||||
| 	<p class="fetching" v-if="fetching">%fa:spinner .pulse .fw%%i18n:@fetching%<mk-ellipsis/></p> | ||||
| 	<a class="refresh" @click="refresh">%i18n:@refresh%</a> | ||||
| 	<button class="close" @click="$destroy()" title="%i18n:@close%">%fa:times%</button> | ||||
| </div> | ||||
| </template> | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| <template> | ||||
| <mk-window ref="window" width="500px" height="560px" :popout-url="popout" @closed="$destroy"> | ||||
| 	<span slot="header" :class="$style.header">%fa:gamepad%オセロ</span> | ||||
| 	<span slot="header" :class="$style.header">%fa:gamepad%%i18n:@game%</span> | ||||
| 	<mk-othello :class="$style.content" @gamed="g => game = g"/> | ||||
| </mk-window> | ||||
| </template> | ||||
|   | ||||
| @@ -8,8 +8,8 @@ | ||||
| 		<input ref="text" v-model="text" :type="type" @keydown="onKeydown" :placeholder="placeholder"/> | ||||
| 	</div> | ||||
| 	<div :class="$style.actions"> | ||||
| 		<button :class="$style.cancel" @click="cancel">キャンセル</button> | ||||
| 		<button :class="$style.ok" :disabled="!allowEmpty && text.length == 0" @click="ok">決定</button> | ||||
| 		<button :class="$style.cancel" @click="cancel">%i18n:@cancel%</button> | ||||
| 		<button :class="$style.ok" :disabled="!allowEmpty && text.length == 0" @click="ok">%i18n:@ok%</button> | ||||
| 	</div> | ||||
| </mk-window> | ||||
| </template> | ||||
|   | ||||
| @@ -1,16 +1,16 @@ | ||||
| <template> | ||||
| <div class="mk-mentions"> | ||||
| 	<header> | ||||
| 		<span :data-active="mode == 'all'" @click="mode = 'all'">すべて</span> | ||||
| 		<span :data-active="mode == 'following'" @click="mode = 'following'">フォロー中</span> | ||||
| 		<span :data-active="mode == 'all'" @click="mode = 'all'">%i18n:@all%</span> | ||||
| 		<span :data-active="mode == 'following'" @click="mode = 'following'">%i18n:@followed%</span> | ||||
| 	</header> | ||||
| 	<div class="fetching" v-if="fetching"> | ||||
| 		<mk-ellipsis-icon/> | ||||
| 	</div> | ||||
| 	<p class="empty" v-if="notes.length == 0 && !fetching"> | ||||
| 		%fa:R comments% | ||||
| 		<span v-if="mode == 'all'">あなた宛ての投稿はありません。</span> | ||||
| 		<span v-if="mode == 'following'">あなたがフォローしているユーザーからの言及はありません。</span> | ||||
| 		<span v-if="mode == 'all'">%i18n:@empty%</span> | ||||
| 		<span v-if="mode == 'following'">%i18n:@empty-followed%</span> | ||||
| 	</p> | ||||
| 	<mk-notes :notes="notes" ref="timeline"/> | ||||
| </div> | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| <template> | ||||
| <mk-window ref="window" width="500px" height="560px" :popout-url="popout" @closed="$destroy"> | ||||
| 	<span slot="header" :class="$style.header">%fa:comments%メッセージ: {{ user | userName }}</span> | ||||
| 	<span slot="header" :class="$style.header">%fa:comments%%i18n:@title% {{ user | userName }}</span> | ||||
| 	<mk-messaging-room :user="user" :class="$style.content"/> | ||||
| </mk-window> | ||||
| </template> | ||||
|   | ||||
| @@ -15,7 +15,7 @@ | ||||
| 		</header> | ||||
| 		<div class="body"> | ||||
| 			<div class="text"> | ||||
| 				<span v-if="note.isHidden" style="opacity: 0.5">(この投稿は非公開です)</span> | ||||
| 				<span v-if="note.isHidden" style="opacity: 0.5">%i18n:@private%</span> | ||||
| 				<mk-note-html v-if="note.text" :text="note.text" :i="os.i"/> | ||||
| 			</div> | ||||
| 			<div class="media" v-if="note.mediaIds.length > 0"> | ||||
|   | ||||
| @@ -5,8 +5,8 @@ | ||||
| 	<slot name="empty" v-if="notes.length == 0 && !fetching && requestInitPromise == null"></slot> | ||||
|  | ||||
| 	<div v-if="!fetching && requestInitPromise != null"> | ||||
| 		<p>読み込みに失敗しました。</p> | ||||
| 		<button @click="resolveInitPromise">リトライ</button> | ||||
| 		<p>%i18n:@error%</p> | ||||
| 		<button @click="resolveInitPromise">%i18n:@retry%</button> | ||||
| 	</div> | ||||
|  | ||||
| 	<transition-group name="mk-notes" class="transition"> | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| <mk-window ref="window" :is-modal="false" :can-close="false" width="500px" @closed="$destroy"> | ||||
| 	<span slot="header">{{ title }}<mk-ellipsis/></span> | ||||
| 	<div :class="$style.body"> | ||||
| 		<p :class="$style.init" v-if="isNaN(value)">待機中<mk-ellipsis/></p> | ||||
| 		<p :class="$style.init" v-if="isNaN(value)">%i18n:@waiting%<mk-ellipsis/></p> | ||||
| 		<p :class="$style.percentage" v-if="!isNaN(value)">{{ Math.floor((value / max) * 100) }}</p> | ||||
| 		<progress :class="$style.progress" | ||||
| 			v-if="!isNaN(value) && value < max" | ||||
|   | ||||
| @@ -19,91 +19,91 @@ | ||||
| 		</section> | ||||
|  | ||||
| 		<section class="web" v-show="page == 'web'"> | ||||
| 			<h1>動作</h1> | ||||
| 			<mk-switch v-model="clientSettings.fetchOnScroll" @change="onChangeFetchOnScroll" text="スクロールで自動読み込み"> | ||||
| 				<span>ページを下までスクロールしたときに自動で追加のコンテンツを読み込みます。</span> | ||||
| 			<h1>%i18n:@behaviour%</h1> | ||||
| 			<mk-switch v-model="clientSettings.fetchOnScroll" @change="onChangeFetchOnScroll" text="%i18n:@fetch-on-scroll%> | ||||
| 				<span>%i18n:@fetch-on-scroll-desc%</span> | ||||
| 			</mk-switch> | ||||
| 			<mk-switch v-model="autoPopout" text="ウィンドウの自動ポップアウト"> | ||||
| 				<span>ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。</span> | ||||
| 			<mk-switch v-model="autoPopout" text="%i18n:@auto-popout%"> | ||||
| 				<span>%i18n:@auto-popout-desc%</span> | ||||
| 			</mk-switch> | ||||
| 			<details> | ||||
| 				<summary>詳細設定</summary> | ||||
| 				<mk-switch v-model="apiViaStream" text="ストリームを経由したAPIリクエスト"> | ||||
| 					<span>この設定をオンにすると、websocket接続を経由してAPIリクエストが行われます(パフォーマンス向上が期待できます)。オフにすると、ネイティブの fetch APIが利用されます。この設定はこのデバイスのみ有効です。</span> | ||||
| 				<summary>%i18n:@advanced%</summary> | ||||
| 				<mk-switch v-model="apiViaStream" text="%i18n:@api-via-stream%"> | ||||
| 					<span>%i18n:@api-via-stream-desc%</span> | ||||
| 				</mk-switch> | ||||
| 			</details> | ||||
| 		</section> | ||||
|  | ||||
| 		<section class="web" v-show="page == 'web'"> | ||||
| 			<h1>デザインと表示</h1> | ||||
| 			<h1>%i18n:@display%</h1> | ||||
| 			<div class="div"> | ||||
| 				<button class="ui button" @click="customizeHome" style="margin-bottom: 16px">ホームをカスタマイズ</button> | ||||
| 				<button class="ui button" @click="customizeHome" style="margin-bottom: 16px">%i18n:@customize%</button> | ||||
| 			</div> | ||||
| 			<div class="div"> | ||||
| 				<mk-switch v-model="darkmode" text="ダークモード"/> | ||||
| 				<mk-switch v-model="clientSettings.circleIcons" @change="onChangeCircleIcons" text="円形のアイコンを使用"/> | ||||
| 				<mk-switch v-model="clientSettings.gradientWindowHeader" @change="onChangeGradientWindowHeader" text="ウィンドウのタイトルバーにグラデーションを使用"/> | ||||
| 				<mk-switch v-model="darkmode" text="%i18n:@dark-mode%"/> | ||||
| 				<mk-switch v-model="clientSettings.circleIcons" @change="onChangeCircleIcons" text="%i18n:@circle-icons%"/> | ||||
| 				<mk-switch v-model="clientSettings.gradientWindowHeader" @change="onChangeGradientWindowHeader" text="%i18n:@gradient-window-header%"/> | ||||
| 			</div> | ||||
| 			<mk-switch v-model="clientSettings.showPostFormOnTopOfTl" @change="onChangeShowPostFormOnTopOfTl" text="タイムライン上部に投稿フォームを表示する"/> | ||||
| 			<mk-switch v-model="clientSettings.showReplyTarget" @change="onChangeShowReplyTarget" text="リプライ先を表示する"/> | ||||
| 			<mk-switch v-model="clientSettings.showMyRenotes" @change="onChangeShowMyRenotes" text="自分の行ったRenoteをタイムラインに表示する"/> | ||||
| 			<mk-switch v-model="clientSettings.showRenotedMyNotes" @change="onChangeShowRenotedMyNotes" text="Renoteされた自分の投稿をタイムラインに表示する"/> | ||||
| 			<mk-switch v-model="clientSettings.showMaps" @change="onChangeShowMaps" text="マップの自動展開"> | ||||
| 				<span>位置情報が添付された投稿のマップを自動的に展開します。</span> | ||||
| 			<mk-switch v-model="clientSettings.showPostFormOnTopOfTl" @change="onChangeShowPostFormOnTopOfTl" text="%i18n:@post-form-on-timeline%"/> | ||||
| 			<mk-switch v-model="clientSettings.showReplyTarget" @change="onChangeShowReplyTarget" text="%i18n:@show-reply-target%"/> | ||||
| 			<mk-switch v-model="clientSettings.showMyRenotes" @change="onChangeShowMyRenotes" text="%i18n:@show-my-renotes%"/> | ||||
| 			<mk-switch v-model="clientSettings.showRenotedMyNotes" @change="onChangeShowRenotedMyNotes" text="%i18n:@show-renoted-my-notes%"/> | ||||
| 			<mk-switch v-model="clientSettings.showMaps" @change="onChangeShowMaps" text="%i18n:@show-maps%"> | ||||
| 				<span>%i18n:@show-maps-desc%</span> | ||||
| 			</mk-switch> | ||||
| 		</section> | ||||
|  | ||||
| 		<section class="web" v-show="page == 'web'"> | ||||
| 			<h1>サウンド</h1> | ||||
| 			<mk-switch v-model="enableSounds" text="サウンドを有効にする"> | ||||
| 				<span>投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。</span> | ||||
| 			<h1>%i18n:@sound%</h1> | ||||
| 			<mk-switch v-model="enableSounds" text="%i18n:@enable-sounds%"> | ||||
| 				<span>%i18n:@enable-sounds-desc%</span> | ||||
| 			</mk-switch> | ||||
| 			<label>ボリューム</label> | ||||
| 			<label>%i18n:@volume%</label> | ||||
| 			<el-slider | ||||
| 				v-model="soundVolume" | ||||
| 				:show-input="true" | ||||
| 				:format-tooltip="v => `${v}%`" | ||||
| 				:disabled="!enableSounds" | ||||
| 			/> | ||||
| 			<button class="ui button" @click="soundTest">%fa:volume-up% テスト</button> | ||||
| 			<button class="ui button" @click="soundTest">%fa:volume-up% %i18n:@test%</button> | ||||
| 		</section> | ||||
|  | ||||
| 		<section class="web" v-show="page == 'web'"> | ||||
| 			<h1>モバイル</h1> | ||||
| 			<mk-switch v-model="clientSettings.disableViaMobile" @change="onChangeDisableViaMobile" text="「モバイルからの投稿」フラグを付けない"/> | ||||
| 			<h1>%i18n:@mobile%</h1> | ||||
| 			<mk-switch v-model="clientSettings.disableViaMobile" @change="onChangeDisableViaMobile" text="%i18n:@disable-via-mobile%"/> | ||||
| 		</section> | ||||
|  | ||||
| 		<section class="web" v-show="page == 'web'"> | ||||
| 			<h1>言語</h1> | ||||
| 			<el-select v-model="lang" placeholder="言語を選択"> | ||||
| 				<el-option-group label="推奨"> | ||||
| 					<el-option label="自動" value=""/> | ||||
| 			<h1>%i18n:@language%</h1> | ||||
| 			<el-select v-model="lang" placeholder="%i18n:@pick-language%"> | ||||
| 				<el-option-group label="%i18n:@recommended%"> | ||||
| 					<el-option label="%i18n:@auto%" value=""/> | ||||
| 				</el-option-group> | ||||
| 				<el-option-group label="言語を指定"> | ||||
| 					<el-option label="ja" value="ja"/> | ||||
| 					<el-option label="en" value="en"/> | ||||
| 					<el-option label="fr" value="fr"/> | ||||
| 					<el-option label="pl" value="pl"/> | ||||
| 					<el-option label="de" value="de"/> | ||||
| 				<el-option-group label="%i18n:@specify-language%"> | ||||
| 					<el-option label="日本語" value="ja"/> | ||||
| 					<el-option label="English" value="en"/> | ||||
| 					<el-option label="Français" value="fr"/> | ||||
| 					<el-option label="Polski" value="pl"/> | ||||
| 					<el-option label="Deutsch" value="de"/> | ||||
| 				</el-option-group> | ||||
| 			</el-select> | ||||
| 			<div class="none ui info"> | ||||
| 				<p>%fa:info-circle%変更はページの再度読み込み後に反映されます。</p> | ||||
| 				<p>%fa:info-circle%%i18n:@language-desc%</p> | ||||
| 			</div> | ||||
| 		</section> | ||||
|  | ||||
| 		<section class="web" v-show="page == 'web'"> | ||||
| 			<h1>キャッシュ</h1> | ||||
| 			<button class="ui button" @click="clean">クリーンアップ</button> | ||||
| 			<h1>%i18n:@cache%</h1> | ||||
| 			<button class="ui button" @click="clean">%i18n:@clean-cache%</button> | ||||
| 			<div class="none ui info warn"> | ||||
| 				<p>%fa:exclamation-triangle%クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。</p> | ||||
| 				<p>%fa:exclamation-triangle%%i18n:@cache-warn%</p> | ||||
| 			</div> | ||||
| 		</section> | ||||
|  | ||||
| 		<section class="notification" v-show="page == 'notification'"> | ||||
| 			<h1>%i18n:@notification%</h1> | ||||
| 			<mk-switch v-model="os.i.settings.autoWatch" @change="onChangeAutoWatch" text="投稿の自動ウォッチ"> | ||||
| 				<span>リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。</span> | ||||
| 			<mk-switch v-model="os.i.settings.autoWatch" @change="onChangeAutoWatch" text="%i18n:@auto-watch%"> | ||||
| 				<span>%i18n:@auto-watch-desc%</span> | ||||
| 			</mk-switch> | ||||
| 		</section> | ||||
|  | ||||
| @@ -148,57 +148,57 @@ | ||||
| 		</section> | ||||
|  | ||||
| 		<section class="other" v-show="page == 'other'"> | ||||
| 			<h1>Misskeyについて</h1> | ||||
| 			<p v-if="meta">このサーバーの運営者: <i><a :href="meta.maintainer.url" target="_blank">{{ meta.maintainer.name }}</a></i></p> | ||||
| 			<h1>%i18n:@about%</h1> | ||||
| 			<p v-if="meta">%i18n:@operator%: <i><a :href="meta.maintainer.url" target="_blank">{{ meta.maintainer.name }}</a></i></p> | ||||
| 		</section> | ||||
|  | ||||
| 		<section class="other" v-show="page == 'other'"> | ||||
| 			<h1>Misskey Update</h1> | ||||
| 			<h1>%i18n:@update%</h1> | ||||
| 			<p> | ||||
| 				<span>バージョン: <i>{{ version }}</i></span> | ||||
| 				<span>%i18n:@version% <i>{{ version }}</i></span> | ||||
| 				<template v-if="latestVersion !== undefined"> | ||||
| 					<br> | ||||
| 					<span>最新のバージョン: <i>{{ latestVersion ? latestVersion : version }}</i></span> | ||||
| 					<span>%i18n:@latest-version% <i>{{ latestVersion ? latestVersion : version }}</i></span> | ||||
| 				</template> | ||||
| 			</p> | ||||
| 			<button class="ui button block" @click="checkForUpdate" :disabled="checkingForUpdate"> | ||||
| 				<template v-if="checkingForUpdate">アップデートを確認中<mk-ellipsis/></template> | ||||
| 				<template v-else>アップデートを確認</template> | ||||
| 				<template v-if="checkingForUpdate">%i18n:@update-checking%<mk-ellipsis/></template> | ||||
| 				<template v-else>%i18n:@do-update%</template> | ||||
| 			</button> | ||||
| 			<details> | ||||
| 				<summary>詳細設定</summary> | ||||
| 				<mk-switch v-model="preventUpdate" text="アップデートを延期する(非推奨)"> | ||||
| 					<span>この設定をオンにしてもアップデートが反映される場合があります。この設定はこのデバイスのみ有効です。</span> | ||||
| 				<summary>%i18n:@update-settings%</summary> | ||||
| 				<mk-switch v-model="preventUpdate" text="%i18n:@prevent-update%> | ||||
| 					<span>%i18n:@prevent-update-desc%</span> | ||||
| 				</mk-switch> | ||||
| 			</details> | ||||
| 		</section> | ||||
|  | ||||
| 		<section class="other" v-show="page == 'other'"> | ||||
| 			<h1>高度な設定</h1> | ||||
| 			<mk-switch v-model="debug" text="デバッグモードを有効にする"> | ||||
| 				<span>この設定はブラウザに記憶されます。</span> | ||||
| 			<h1>%i18n:@advanced-settings%</h1> | ||||
| 			<mk-switch v-model="debug" text="%i18n:@debug-mode%"> | ||||
| 				<span>%i18n:@debug-mode-desc%</span> | ||||
| 			</mk-switch> | ||||
| 			<template v-if="debug"> | ||||
| 				<mk-switch v-model="useRawScript" text="生のスクリプトを読み込む"> | ||||
| 					<span>圧縮されていない「生の」スクリプトを使用します。サイズが大きいため、読み込みに時間がかかる場合があります。この設定はブラウザに記憶されます。</span> | ||||
| 				<mk-switch v-model="useRawScript" text="%i18n:@use-raw-script%"> | ||||
| 					<span>%i18n:@use-raw-script-desc%</span> | ||||
| 				</mk-switch> | ||||
| 				<div class="none ui info"> | ||||
| 				<p>%fa:info-circle%Misskeyはソースマップも提供しています。</p> | ||||
| 				<p>%fa:info-circle%%i18n:@source-info%</p> | ||||
| 			</div> | ||||
| 			</template> | ||||
| 			<mk-switch v-model="enableExperimental" text="実験的機能を有効にする"> | ||||
| 				<span>実験的機能を有効にするとMisskeyの動作が不安定になる可能性があります。この設定はブラウザに記憶されます。</span> | ||||
| 			<mk-switch v-model="enableExperimental" text="%i18n:@experimental%"> | ||||
| 				<span>%i18n:@experimental-desc%</span> | ||||
| 			</mk-switch> | ||||
| 			<details v-if="debug"> | ||||
| 				<summary>ツール</summary> | ||||
| 				<button class="ui button block" @click="taskmngr">タスクマネージャ</button> | ||||
| 				<summary>%i18n:@tools%</summary> | ||||
| 				<button class="ui button block" @click="taskmngr">%i18n:@task-manager%</button> | ||||
| 			</details> | ||||
| 		</section> | ||||
|  | ||||
| 		<section class="other" v-show="page == 'other'"> | ||||
| 			<h1>%i18n:@license%</h1> | ||||
| 			<div v-html="license"></div> | ||||
| 			<a :href="licenseUrl" target="_blank">サードパーティ</a> | ||||
| 			<a :href="licenseUrl" target="_blank">%i18n:@third-parties%</a> | ||||
| 		</section> | ||||
| 	</div> | ||||
| </div> | ||||
| @@ -371,13 +371,13 @@ export default Vue.extend({ | ||||
| 				this.latestVersion = newer; | ||||
| 				if (newer == null) { | ||||
| 					(this as any).apis.dialog({ | ||||
| 						title: '利用可能な更新はありません', | ||||
| 						text: 'お使いのMisskeyは最新です。' | ||||
| 						title: '%i18n:@no-updates%', | ||||
| 						text: '%i18n:@no-updates-desc%' | ||||
| 					}); | ||||
| 				} else { | ||||
| 					(this as any).apis.dialog({ | ||||
| 						title: '新しいバージョンが利用可能です', | ||||
| 						text: 'ページを再度読み込みすると更新が適用されます。' | ||||
| 						title: '%i18n:@update-available%', | ||||
| 						text: '%i18n:@update-available-desc%' | ||||
| 					}); | ||||
| 				} | ||||
| 			}); | ||||
| @@ -385,8 +385,8 @@ export default Vue.extend({ | ||||
| 		clean() { | ||||
| 			localStorage.clear(); | ||||
| 			(this as any).apis.dialog({ | ||||
| 				title: 'キャッシュを削除しました', | ||||
| 				text: 'ページを再度読み込みしてください。' | ||||
| 				title: '%i18n:@cache-cleared%', | ||||
| 				text: '%i18n:@caache-cleared-desc%' | ||||
| 			}); | ||||
| 		}, | ||||
| 		soundTest() { | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| <template> | ||||
| <mk-window ref="window" width="750px" height="500px" @closed="$destroy" name="TaskManager"> | ||||
| 	<span slot="header" :class="$style.header">%fa:stethoscope%タスクマネージャ</span> | ||||
| 	<span slot="header" :class="$style.header">%fa:stethoscope%%i18n:@title%</span> | ||||
| 	<el-tabs :class="$style.content"> | ||||
| 		<el-tab-pane label="Requests"> | ||||
| 			<el-table | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Marcin Mikołajczak
					Marcin Mikołajczak