mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-10-26 19:14:12 +00:00 
			
		
		
		
	
						commit
						553e1890d1
					
				
					 20 changed files with 255 additions and 107 deletions
				
			
		
							
								
								
									
										149
									
								
								locales/ja.yml
									
										
									
									
									
								
							
							
						
						
									
										149
									
								
								locales/ja.yml
									
										
									
									
									
								
							|  | @ -191,6 +191,12 @@ common/views/widgets/server.vue: | |||
|   title: "サーバー情報" | ||||
|   toggle: "表示を切り替え" | ||||
| 
 | ||||
| desktop/views/components/activity.chart.vue: | ||||
|   total: "Black ... Total" | ||||
|   notes: "Blue ... Notes" | ||||
|   replies: "Red ... Replies" | ||||
|   renotes: "Green ... Renotes" | ||||
| 
 | ||||
| desktop/views/components/activity.vue: | ||||
|   title: "アクティビティ" | ||||
|   toggle: "表示を切り替え" | ||||
|  | @ -201,6 +207,23 @@ desktop/views/components/calendar.vue: | |||
|   next: "次の月" | ||||
|   go: "クリックして時間遡行" | ||||
| 
 | ||||
| desktop/views/components/choose-file-from-drive-window.vue: | ||||
|   choose-file: "ファイル選択中" | ||||
|   upload: "PCからドライブにファイルをアップロード" | ||||
|   cancel: "キャンセル" | ||||
|   ok: "決定" | ||||
|   choose-prompt: "ファイルを選択" | ||||
| 
 | ||||
| desktop/views/components/choose-folder-from-drive-window.vue: | ||||
|   cancel: "キャンセル" | ||||
|   ok: "決定" | ||||
|   choose-prompt: "フォルダを選択" | ||||
| 
 | ||||
| desktop/views/components/crop-window.vue: | ||||
|   skip: "クロップをスキップ" | ||||
|   cancel: "キャンセル" | ||||
|   ok: "決定" | ||||
| 
 | ||||
| desktop/views/components/drive-window.vue: | ||||
|   used: "使用中" | ||||
|   drive: "ドライブ" | ||||
|  | @ -257,6 +280,32 @@ desktop/views/components/drive.vue: | |||
|     upload: "ファイルをアップロード" | ||||
|     url-upload: "URLからアップロード" | ||||
| 
 | ||||
| desktop/views/components/follow-button.vue: | ||||
|   unfollow: "フォロー解除" | ||||
|   follow: "フォローする" | ||||
| 
 | ||||
| desktop/views/components/followers-window.vue: | ||||
|   followers: "{} のフォロワー" | ||||
| 
 | ||||
| desktop/views/components/followers.vue: | ||||
|   empty: "フォロワーはいないようです。" | ||||
| 
 | ||||
| desktop/views/components/following-window.vue: | ||||
|   following: "{} のフォロー" | ||||
| 
 | ||||
| desktop/views/components/following.vue: | ||||
|   empty: "フォロー中のユーザーはいないようです。" | ||||
| 
 | ||||
| desktop/views/components/friends-maker.vue: | ||||
|   title: "気になるユーザーをフォロー:" | ||||
|   empty: "おすすめのユーザーは見つかりませんでした。" | ||||
|   fetching: "読み込んでいます" | ||||
|   refresh: "もっと見る" | ||||
|   close: "閉じる" | ||||
| 
 | ||||
| desktop/views/components/game-window.vue: | ||||
|   game: "オセロ" | ||||
| 
 | ||||
| desktop/views/components/home.vue: | ||||
|   done: "完了" | ||||
|   add-widget: "ウィジェットを追加:" | ||||
|  | @ -283,9 +332,25 @@ desktop/views/components/home.vue: | |||
|   tips: "ヒント" | ||||
|   add: "追加" | ||||
| 
 | ||||
| desktop/views/input-dialog.vue: | ||||
|   cancel: "キャンセル" | ||||
|   ok: "決定" | ||||
| 
 | ||||
| desktop/views/components/mentions.vue: | ||||
|   all: "すべて" | ||||
|   followed: "フォロー中" | ||||
|   empty: "あなた宛ての投稿はありません。" | ||||
|   empty-followed: "あなたがフォローしているユーザーからの言及はありません。" | ||||
| 
 | ||||
| desktop/views/components/messaging-room-window.vue: | ||||
|   title: "メッセージ:" | ||||
| 
 | ||||
| desktop/views/components/messaging-window.vue: | ||||
|   title: "メッセージ" | ||||
| 
 | ||||
| desktop/views/components/note-detail.sub.vue: | ||||
|   private: "(この投稿は非公開です)" | ||||
| 
 | ||||
| desktop/views/components/notes.note.vue: | ||||
|   reposted-by: "{}がRenote" | ||||
|   reply: "返信" | ||||
|  | @ -293,6 +358,10 @@ desktop/views/components/notes.note.vue: | |||
|   add-reaction: "リアクション" | ||||
|   detail: "詳細" | ||||
| 
 | ||||
| desktop/views/components/notes.vue: | ||||
|   error: "読み込みに失敗しました。" | ||||
|   retry: "リトライ" | ||||
| 
 | ||||
| desktop/views/components/notifications.vue: | ||||
|   more: "もっと見る" | ||||
|   empty: "ありません!" | ||||
|  | @ -324,6 +393,9 @@ desktop/views/components/post-form-window.vue: | |||
|   attaches: "添付: {}メディア" | ||||
|   uploading-media: "{}個のメディアをアップロード中" | ||||
| 
 | ||||
| desktop/views/components/progress-dialog.vue: | ||||
|   waiting: "待機中" | ||||
| 
 | ||||
| desktop/views/components/renote-form.vue: | ||||
|   quote: "引用する..." | ||||
|   cancel: "キャンセル" | ||||
|  | @ -348,6 +420,80 @@ desktop/views/components/settings.vue: | |||
|   other: "その他" | ||||
|   license: "ライセンス" | ||||
| 
 | ||||
|   behaviour: "動作" | ||||
|   fetch-on-scroll: "スクロールで自動読み込み" | ||||
|   fetch-on-scroll-desc: "ページを下までスクロールしたときに自動で追加のコンテンツを読み込みます。" | ||||
|   auto-popout: "ウィンドウの自動ポップアウト" | ||||
|   auto-popout-desc: "ウィンドウが開かれるとき、ポップアウト(ブラウザ外に切り離す)可能なら自動でポップアウトします。この設定はブラウザに記憶されます。" | ||||
|   advanced: "詳細設定" | ||||
|   api-via-stream: "ストリームを経由したAPIリクエスト" | ||||
|   api-via-stream-desc: "この設定をオンにすると、websocket接続を経由してAPIリクエストが行われます(パフォーマンス向上が期待できます)。オフにすると、ネイティブの fetch APIが利用されます。この設定はこのデバイスのみ有効です。" | ||||
| 
 | ||||
|   display: "デザインと表示" | ||||
|   customize: "ホームをカスタマイズ" | ||||
|   dark-mode: "ダークモード" | ||||
|   circle-icons: "円形のアイコンを使用" | ||||
|   gradient-window-header: "ウィンドウのタイトルバーにグラデーションを使用" | ||||
|   post-form-on-timeline: "タイムライン上部に投稿フォームを表示する" | ||||
|   show-reply-target: "リプライ先を表示する" | ||||
|   show-my-renotes: "自分の行ったRenoteをタイムラインに表示する" | ||||
|   show-renoted-my-notes: "Renoteされた自分の投稿をタイムラインに表示する" | ||||
|   show-maps: "マップの自動展開" | ||||
|   show-maps-desc: "位置情報が添付された投稿のマップを自動的に展開します。" | ||||
| 
 | ||||
|   sound: "サウンド" | ||||
|   enable-sounds: "サウンドを有効にする" | ||||
|   enable-sounds-desc: "投稿やメッセージを送受信したときなどにサウンドを再生します。この設定はブラウザに記憶されます。" | ||||
|   volume: "ボリューム" | ||||
|   test: "テスト" | ||||
| 
 | ||||
|   mobile: "モバイル" | ||||
|   disable-via-mobile: "「モバイルからの投稿」フラグを付けない" | ||||
| 
 | ||||
|   language: "言語" | ||||
|   pick-language: "言語を選択" | ||||
|   recommended: "推奨" | ||||
|   auto: "自動" | ||||
|   specify-language: "言語を指定" | ||||
|   language-desc: "変更はページの再度読み込み後に反映されます。" | ||||
| 
 | ||||
|   cache: "キャッシュ" | ||||
|   clean-cache: "クリーンアップ" | ||||
|   cache-warn: "クリーンアップを行うと、ブラウザに記憶されたアカウント情報のキャッシュ、書きかけの投稿・返信・メッセージ、およびその他のデータ(設定情報含む)が削除されます。クリーンアップを行った後はページを再度読み込みする必要があります。" | ||||
|   cache-cleared: "キャッシュを削除しました" | ||||
|   cache-cleared-desc: "ページを再度読み込みしてください。" | ||||
| 
 | ||||
|   auto-watch: "投稿の自動ウォッチ" | ||||
|   auto-watch-desc: "リアクションしたり返信したりした投稿に関する通知を自動的に受け取るようにします。" | ||||
| 
 | ||||
|   about: "Misskeyについて" | ||||
|   operator: "このサーバーの運営者" | ||||
| 
 | ||||
|   update: "Misskey Update" | ||||
|   version: "バージョン:" | ||||
|   latest-version: "最新のバージョン:" | ||||
|   update-checking: "アップデートを確認中" | ||||
|   do-update: "アップデートを確認" | ||||
|   update-settings: "詳細設定" | ||||
|   prevent-update: "アップデートを延期する(非推奨)" | ||||
|   prevent-update-desc: "この設定をオンにしてもアップデートが反映される場合があります。この設定はこのデバイスのみ有効です。" | ||||
|   no-updates: "利用可能な更新はありません" | ||||
|   no-updates-desc: "お使いのMisskeyは最新です。" | ||||
|   update-available: "新しいバージョンが利用可能です" | ||||
|   update-available-desc: "ページを再度読み込みすると更新が適用されます。" | ||||
| 
 | ||||
|   advanced-settings: "高度な設定" | ||||
|   debug-mode: "デバッグモードを有効にする" | ||||
|   debug-mode-desc: "この設定はブラウザに記憶されます。" | ||||
|   use-raw-script: "生のスクリプトを読み込む" | ||||
|   use-raw-script-desc: "圧縮されていない「生の」スクリプトを使用します。サイズが大きいため、読み込みに時間がかかる場合があります。この設定はブラウザに記憶されます。" | ||||
|   source-info: "Misskeyはソースマップも提供しています。" | ||||
|   experimental: "実験的機能を有効にする" | ||||
|   experimental-desc: "実験的機能を有効にするとMisskeyの動作が不安定になる可能性があります。この設定はブラウザに記憶されます。" | ||||
|   tools: "ツール" | ||||
|   task-manager: "タスクマネージャ" | ||||
|   third-parties: "サードパーティ" | ||||
| 
 | ||||
| desktop/views/components/settings.2fa.vue: | ||||
|   intro: "二段階認証を設定すると、サインイン時にパスワードだけでなく、予め登録しておいた物理的なデバイス(例えばあなたのスマートフォンなど)も必要になり、よりセキュリティが向上します。" | ||||
|   detail: "詳細..." | ||||
|  | @ -398,6 +544,9 @@ desktop/views/components/settings.profile.vue: | |||
|   birthday: "誕生日" | ||||
|   save: "保存" | ||||
| 
 | ||||
| desktop/views/components/taskmanager.vue: | ||||
|   title: "タスクマネージャ" | ||||
| 
 | ||||
| desktop/views/components/timeline.vue: | ||||
|   home: "ホーム" | ||||
|   local: "ローカル" | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue