This commit is contained in:
Aya Morisawa 2017-03-31 04:14:32 +09:00
parent e70729dda4
commit 4a70af8b62
21 changed files with 124 additions and 46 deletions

View file

@ -121,3 +121,81 @@ desktop:
mk-repost-form-window: mk-repost-form-window:
title: "この投稿をRepostしますか" title: "この投稿をRepostしますか"
mobile:
tags:
mk-drive-file-viewer:
download: "ダウンロード"
rename: "名前を変更"
move: "移動"
fash: "ハッシュ"
mk-entrance-signin:
signup: "新規登録"
about: "Misskeyについて"
mk-entrance-signup:
cancel: "キャンセル"
mk-authorized-apps-page:
application: "アプリケーション"
mk-signin-history-page:
signin-history: "ログイン履歴"
mk-twitter-setting-page:
twitter-integration: "Twitter連携"
mk-drive-page:
drive: "ドライブ"
mk-entrance:
ok: "わかった"
mk-home:
home: "ホーム"
mk-messaging-room-page:
message: "メッセージ"
mk-messaging-page:
message: "メッセージ"
mk-notifications-page:
notifications: "通知"
mk-post-page:
submit: "投稿"
mk-search-page:
search: "検索"
mk-settings-page:
profile: "プロフィール"
applications: "アプリケーション"
twitter-integration: "Twitter連携"
signin-history: "ログイン履歴"
settings: "設定"
mk-user-followers-page:
followers-of: "{}のフォロワー"
mk-user-following-page:
following-of: "{}のフォロー"
mk-drive-folder-selector:
select-folder: "フォルダーを選択"
mk-drive-selector:
select-file: "ファイルを選択"
mk-drive:
drive: "ドライブ"
used: "使用中"
folder-count: "フォルダ"
count-separator: "、"
file-count: "ファイル"
load-more: "もっと読み込む"
loading: "読み込み中"
nothing-in-drive: "ドライブには何もありません"
folder-is-empty: "このフォルダは空です"

View file

@ -1,7 +1,7 @@
<mk-drive-folder-selector> <mk-drive-folder-selector>
<div class="body"> <div class="body">
<header> <header>
<h1>フォルダを選択</h1> <h1>%i18n:mobile.tags.mk-drive-folder-selector.select-folder%</h1>
<button class="close" onclick={ cancel }><i class="fa fa-times"></i></button> <button class="close" onclick={ cancel }><i class="fa fa-times"></i></button>
<button class="ok" onclick={ ok }><i class="fa fa-check"></i></button> <button class="ok" onclick={ ok }><i class="fa fa-check"></i></button>
</header> </header>

View file

@ -1,7 +1,7 @@
<mk-drive-selector> <mk-drive-selector>
<div class="body"> <div class="body">
<header> <header>
<h1>ファイルを選択<span class="count" if={ files.length > 0 }>({ files.length })</span></h1> <h1>%i18n:mobile.tags.mk-drive-selector.select-file%<span class="count" if={ files.length > 0 }>({ files.length })</span></h1>
<button class="close" onclick={ cancel }><i class="fa fa-times"></i></button> <button class="close" onclick={ cancel }><i class="fa fa-times"></i></button>
<button class="ok" onclick={ ok }><i class="fa fa-check"></i></button> <button class="ok" onclick={ ok }><i class="fa fa-check"></i></button>
</header> </header>

View file

@ -1,6 +1,6 @@
<mk-drive> <mk-drive>
<nav> <nav>
<p onclick={ goRoot }><i class="fa fa-cloud"></i>ドライブ</p> <p onclick={ goRoot }><i class="fa fa-cloud"></i>%i18n:mobile.tags.mk-drive.drive%</p>
<virtual each={ folder in hierarchyFolders }> <virtual each={ folder in hierarchyFolders }>
<span><i class="fa fa-angle-right"></i></span> <span><i class="fa fa-angle-right"></i></span>
<p onclick={ move }>{ folder.name }</p> <p onclick={ move }>{ folder.name }</p>
@ -17,30 +17,30 @@
<mk-uploader ref="uploader"></mk-uploader> <mk-uploader ref="uploader"></mk-uploader>
<div class="browser { fetching: fetching }" if={ file == null }> <div class="browser { fetching: fetching }" if={ file == null }>
<div class="info" if={ info }> <div class="info" if={ info }>
<p if={ folder == null }>{ (info.usage / info.capacity * 100).toFixed(1) }%使用中</p> <p if={ folder == null }>{ (info.usage / info.capacity * 100).toFixed(1) }% %i18n:mobile.tags.mk-drive.used%</p>
<p if={ folder != null && (folder.folders_count > 0 || folder.files_count > 0) }> <p if={ folder != null && (folder.folders_count > 0 || folder.files_count > 0) }>
<virtual if={ folder.folders_count > 0 }>{ folder.folders_count }フォルダ</virtual> <virtual if={ folder.folders_count > 0 }>{ folder.folders_count } %i18:mobile.tags.mk-drive.folder-count%</virtual>
<virtual if={ folder.folders_count > 0 && folder.files_count > 0 }></virtual> <virtual if={ folder.folders_count > 0 && folder.files_count > 0 }>%i18n:mobile.tags.mk-drive.count-separator%</virtual>
<virtual if={ folder.files_count > 0 }>{ folder.files_count }ファイル</virtual> <virtual if={ folder.files_count > 0 }>{ folder.files_count } %i18n:mobile.tags.mk-drive.file-count%</virtual>
</p> </p>
</div> </div>
<div class="folders" if={ folders.length > 0 }> <div class="folders" if={ folders.length > 0 }>
<virtual each={ folder in folders }> <virtual each={ folder in folders }>
<mk-drive-folder folder={ folder }></mk-drive-folder> <mk-drive-folder folder={ folder }></mk-drive-folder>
</virtual> </virtual>
<p if={ moreFolders }>もっと読み込む</p> <p if={ moreFolders }>%i18n:mobile.tags.mk-drive.load-more%</p>
</div> </div>
<div class="files" if={ files.length > 0 }> <div class="files" if={ files.length > 0 }>
<virtual each={ file in files }> <virtual each={ file in files }>
<mk-drive-file file={ file }></mk-drive-file> <mk-drive-file file={ file }></mk-drive-file>
</virtual> </virtual>
<button class="more" if={ moreFiles } onclick={ fetchMoreFiles }> <button class="more" if={ moreFiles } onclick={ fetchMoreFiles }>
{ fetchingMoreFiles ? '読み込み中' : 'もっと読み込む' } { fetchingMoreFiles ? '%i18n:mobile.tags.mk-drive.loading%' : '%i18n:mobile.tags.mk-drive.load-more%' }
</button> </button>
</div> </div>
<div class="empty" if={ files.length == 0 && folders.length == 0 && !fetching }> <div class="empty" if={ files.length == 0 && folders.length == 0 && !fetching }>
<p if={ !folder == null }>ドライブには何もありません。</p> <p if={ !folder == null }>%i18n:mobile.tags.mk-drive.nothing-in-drive%</p>
<p if={ folder != null }>このフォルダーは空です</p> <p if={ folder != null }>%i18n:mobile.tags.mk-drive.drive-is-empty%</p>
</div> </div>
</div> </div>
<div class="fetching" if={ fetching && file == null && files.length == 0 && folders.length == 0 }> <div class="fetching" if={ fetching && file == null && files.length == 0 && folders.length == 0 }>

View file

@ -29,20 +29,20 @@
<div class="menu"> <div class="menu">
<div> <div>
<a href={ file.url + '?download' } download={ file.name }> <a href={ file.url + '?download' } download={ file.name }>
<i class="fa fa-download"></i>ダウンロード <i class="fa fa-download"></i>%i18n:mobile.tags.mk-drive-file-viewer.download%
</a> </a>
<button onclick={ rename }> <button onclick={ rename }>
<i class="fa fa-pencil"></i>名前を変更 <i class="fa fa-pencil"></i>%i18n:mobile.tags.mk-drive-file-viewer.rename%
</button> </button>
<button onclick={ move }> <button onclick={ move }>
<i class="fa fa-folder-open"></i>移動 <i class="fa fa-folder-open"></i>%i18n:mobile.tags.mk-drive-file-viewer.move%
</button> </button>
</div> </div>
</div> </div>
<div class="hash"> <div class="hash">
<div> <div>
<p> <p>
<i class="fa fa-hashtag"></i>ファイルのハッシュ値 <i class="fa fa-hashtag"></i>%i18n:mobile.tags.mk-drive-file-viewer.hash%
</p> </p>
<code>{ file.hash }</code> <code>{ file.hash }</code>
</div> </div>

View file

@ -12,7 +12,7 @@
this.on('mount', () => { this.on('mount', () => {
document.title = 'Misskey Drive'; document.title = 'Misskey Drive';
ui.trigger('title', '<i class="fa fa-cloud"></i>ドライブ'); ui.trigger('title', '<i class="fa fa-cloud"></i>%i18n:mobile.tags.mk-drive-page.drive%');
ui.trigger('func', () => { ui.trigger('func', () => {
this.refs.ui.refs.browser.openContextMenu(); this.refs.ui.refs.browser.openContextMenu();
@ -37,7 +37,7 @@
history.pushState(null, title, '/i/drive'); history.pushState(null, title, '/i/drive');
document.title = title; document.title = title;
ui.trigger('title', '<i class="fa fa-cloud"></i>ドライブ'); ui.trigger('title', '<i class="fa fa-cloud"></i>%i18n:mobile.tags.mk-drive-page.drive%');
}); });
this.refs.ui.refs.browser.on('open-folder', (folder, silent) => { this.refs.ui.refs.browser.on('open-folder', (folder, silent) => {

View file

@ -4,7 +4,7 @@
<mk-entrance-signup if={ mode == 'signup' }></mk-entrance-signup> <mk-entrance-signup if={ mode == 'signup' }></mk-entrance-signup>
<div class="introduction" if={ mode == 'introduction' }> <div class="introduction" if={ mode == 'introduction' }>
<mk-introduction></mk-introduction> <mk-introduction></mk-introduction>
<button onclick={ signin }>わかった</button> <button onclick={ signin }>%i18n:mobile.tags.mk-entrance.ok%</button>
</div> </div>
</main> </main>
<footer> <footer>

View file

@ -1,7 +1,7 @@
<mk-entrance-signin> <mk-entrance-signin>
<mk-signin></mk-signin> <mk-signin></mk-signin>
<div class="divider"><span>or</span></div> <div class="divider"><span>or</span></div>
<button class="signup" onclick={ parent.signup }>新規登録</button><a class="introduction" onclick={ parent.introduction }>Misskeyについて</a> <button class="signup" onclick={ parent.signup }>%i18n:mobile.tags.mk-entrance.signup%</button><a class="introduction" onclick={ parent.introduction }>%i18n:mobile.tags.mk-entrance-signin.about%</a>
<style> <style>
:scope :scope
display block display block
@ -43,9 +43,9 @@
font-size 12px font-size 12px
color #666 color #666
</style> </style>
</mk-entrance-signin> </mk-entrance-signin>

View file

@ -1,6 +1,6 @@
<mk-entrance-signup> <mk-entrance-signup>
<mk-signup></mk-signup> <mk-signup></mk-signup>
<button class="cancel" type="button" onclick={ parent.signin } title="キャンセル"><i class="fa fa-times"></i></button> <button class="cancel" type="button" onclick={ parent.signin } title="%i18n:mobile.tags.mk-entrance-signup.cancel%"><i class="fa fa-times"></i></button>
<style> <style>
:scope :scope
display block display block

View file

@ -19,7 +19,7 @@
this.on('mount', () => { this.on('mount', () => {
document.title = 'Misskey' document.title = 'Misskey'
ui.trigger('title', '<i class="fa fa-home"></i>ホーム'); ui.trigger('title', '<i class="fa fa-home"></i>%i18n:mobile.tags.mk-home.home%');
ui.trigger('func', () => { ui.trigger('func', () => {
openPostForm(); openPostForm();

View file

@ -22,7 +22,7 @@
user: user user: user
}); });
document.title = `メッセージ: ${user.name} | Misskey`; document.title = `%i18n:mobile.tags.mk-messaging-room-page.message%: ${user.name} | Misskey`;
// TODO: ユーザー名をエスケープ // TODO: ユーザー名をエスケープ
ui.trigger('title', '<i class="fa fa-comments-o"></i>' + user.name); ui.trigger('title', '<i class="fa fa-comments-o"></i>' + user.name);
}); });

View file

@ -12,8 +12,8 @@
this.mixin('page'); this.mixin('page');
this.on('mount', () => { this.on('mount', () => {
document.title = 'Misskey | メッセージ'; document.title = 'Misskey | %i18n:mobile.tags.mk-messaging-page.message%';
ui.trigger('title', '<i class="fa fa-comments-o"></i>メッセージ'); ui.trigger('title', '<i class="fa fa-comments-o"></i>%i18n:mobile.tags.mk-messaging-page.message%');
this.refs.ui.refs.index.on('navigate-user', user => { this.refs.ui.refs.index.on('navigate-user', user => {
this.page('/i/messaging/' + user.username); this.page('/i/messaging/' + user.username);

View file

@ -11,8 +11,8 @@
import Progress from '../../../common/scripts/loading'; import Progress from '../../../common/scripts/loading';
this.on('mount', () => { this.on('mount', () => {
document.title = 'Misskey | 通知'; document.title = 'Misskey | %i18n:mobile.tags.mk-notifications-page.notifications%';
ui.trigger('title', '<i class="fa fa-bell-o"></i>通知'); ui.trigger('title', '<i class="fa fa-bell-o"></i>%i18n:mobile.tags.mk-notifications-page.notifications%');
Progress.start(); Progress.start();

View file

@ -25,7 +25,7 @@
this.on('mount', () => { this.on('mount', () => {
document.title = 'Misskey'; document.title = 'Misskey';
ui.trigger('title', '<i class="fa fa-sticky-note-o"></i>投稿'); ui.trigger('title', '<i class="fa fa-sticky-note-o"></i>%i18n:mobile.tags.mk-post-page.submit%');
Progress.start(); Progress.start();

View file

@ -11,7 +11,7 @@
import Progress from '../../../common/scripts/loading'; import Progress from '../../../common/scripts/loading';
this.on('mount', () => { this.on('mount', () => {
document.title = `検索: ${this.opts.query} | Misskey` document.title = `%i18n:mobile.tags.mk-search-page.search%: ${this.opts.query} | Misskey`
// TODO: クエリをHTMLエスケープ // TODO: クエリをHTMLエスケープ
ui.trigger('title', '<i class="fa fa-search"></i>' + this.opts.query); ui.trigger('title', '<i class="fa fa-search"></i>' + this.opts.query);

View file

@ -1,10 +1,10 @@
<mk-settings-page> <mk-settings-page>
<mk-ui ref="ui"> <mk-ui ref="ui">
<ul> <ul>
<li><a><i class="fa fa-user"></i>プロフィール</a></li> <li><a><i class="fa fa-user"></i>%i18n:mobile.tags.mk-settings-page.profile%</a></li>
<li><a href="./settings/authorized-apps"><i class="fa fa-puzzle-piece"></i>アプリケーション</a></li> <li><a href="./settings/authorized-apps"><i class="fa fa-puzzle-piece"></i>%i18n:mobile.tags.mk-settings-page.applications%</a></li>
<li><a href="./settings/twitter"><i class="fa fa-twitter"></i>Twitter連携</a></li> <li><a href="./settings/twitter"><i class="fa fa-twitter"></i>%i18n:mobile.tags.mk-settings-page.twitter-integration%</a></li>
<li><a href="./settings/signin-history"><i class="fa fa-sign-in"></i>ログイン履歴</a></li> <li><a href="./settings/signin-history"><i class="fa fa-sign-in"></i>%i18n:mobile.tags.mk-settings-page.signin-history%</a></li>
<li><a href="./settings/api"><i class="fa fa-key"></i>API</a></li> <li><a href="./settings/api"><i class="fa fa-key"></i>API</a></li>
</ul> </ul>
</mk-ui> </mk-ui>
@ -16,8 +16,8 @@
import ui from '../../scripts/ui-event'; import ui from '../../scripts/ui-event';
this.on('mount', () => { this.on('mount', () => {
document.title = 'Misskey | 設定'; document.title = 'Misskey | %i18n:mobile.tags.mk-settings-page.settings%';
ui.trigger('title', '<i class="fa fa-cog"></i>設定'); ui.trigger('title', '<i class="fa fa-cog"></i>%i18n:mobile.tags.mk-settings-page.settings%');
}); });
</script> </script>
</mk-settings-page> </mk-settings-page>

View file

@ -10,8 +10,8 @@
const ui = require('../../../scripts/ui-event'); const ui = require('../../../scripts/ui-event');
this.on('mount', () => { this.on('mount', () => {
document.title = 'Misskey | アプリケーション'; document.title = 'Misskey | %i18n:mobile.tags.mk-authorized-apps-page.application%';
ui.trigger('title', '<i class="fa fa-puzzle-piece"></i>アプリケーション'); ui.trigger('title', '<i class="fa fa-puzzle-piece"></i>%i18n:mobile.tags.mk-authorized-apps-page.application%');
}); });
</script> </script>
</mk-authorized-apps-page> </mk-authorized-apps-page>

View file

@ -10,8 +10,8 @@
const ui = require('../../../scripts/ui-event'); const ui = require('../../../scripts/ui-event');
this.on('mount', () => { this.on('mount', () => {
document.title = 'Misskey | ログイン履歴'; document.title = 'Misskey | %i18n:mobile.tags.mk-signin-history-page.signin-history%';
ui.trigger('title', '<i class="fa fa-sign-in"></i>ログイン履歴'); ui.trigger('title', '<i class="fa fa-sign-in"></i>%i18n:mobile.tags.mk-signin-history-page.signin-history%');
}); });
</script> </script>
</mk-signin-history-page> </mk-signin-history-page>

View file

@ -10,8 +10,8 @@
const ui = require('../../../scripts/ui-event'); const ui = require('../../../scripts/ui-event');
this.on('mount', () => { this.on('mount', () => {
document.title = 'Misskey | Twitter連携'; document.title = 'Misskey | %i18n:mobile.tags.mk-twitter-setting-page.twitter-integration%';
ui.trigger('title', '<i class="fa fa-twitter"></i>Twitter連携'); ui.trigger('title', '<i class="fa fa-twitter"></i>%i18n:mobile.tags.mk-twitter-setting-page.twitter-integration%');
}); });
</script> </script>
</mk-twitter-setting-page> </mk-twitter-setting-page>

View file

@ -26,9 +26,9 @@
user: user user: user
}); });
document.title = user.name + 'のフォロワー | Misskey'; document.title = '%i18n:mobile.tags.mk-user-followers-page.followers-of%'.replace('{}', user.name) + ' | Misskey';
// TODO: ユーザー名をエスケープ // TODO: ユーザー名をエスケープ
ui.trigger('title', '<img src="' + user.avatar_url + '?thumbnail&size=64">' + user.name + 'のフォロワー'); ui.trigger('title', '<img src="' + user.avatar_url + '?thumbnail&size=64">' + '%i18n:mobile.tags.mk-user-followers-page.followers-of%'.replace('{}', user.name));
this.refs.ui.refs.list.on('loaded', () => { this.refs.ui.refs.list.on('loaded', () => {
Progress.done(); Progress.done();

View file

@ -26,9 +26,9 @@
user: user user: user
}); });
document.title = user.name + 'のフォロー | Misskey'; document.title = '%i18n:mobile.tags.mk-user-following-page.following-of%'.replace('{}', user.name) + ' | Misskey';
// TODO: ユーザー名をエスケープ // TODO: ユーザー名をエスケープ
ui.trigger('title', '<img src="' + user.avatar_url + '?thumbnail&size=64">' + user.name + 'のフォロー'); ui.trigger('title', '<img src="' + user.avatar_url + '?thumbnail&size=64">' + '%i18n:mobile.tags.mk-user-following-page.following-of%'.replace('{}', user.name));
this.refs.ui.refs.list.on('loaded', () => { this.refs.ui.refs.list.on('loaded', () => {
Progress.done(); Progress.done();