From b736e78af2e5f14df4d7756dbdb8cd23124e2245 Mon Sep 17 00:00:00 2001
From: Aya Morisawa <AyaMorisawa4869@gmail.com>
Date: Fri, 31 Mar 2017 19:56:59 +0900
Subject: [PATCH] WIP #332

---
 locales/en.yml                               | 70 ++++++++++++++++++++
 locales/ja.yml                               | 70 ++++++++++++++++++++
 src/web/app/mobile/tags/follow-button.tag    |  2 +-
 src/web/app/mobile/tags/home-timeline.tag    |  2 +-
 src/web/app/mobile/tags/notifications.tag    |  4 +-
 src/web/app/mobile/tags/post-detail.tag      |  4 +-
 src/web/app/mobile/tags/post-form.tag        |  6 +-
 src/web/app/mobile/tags/search-posts.tag     |  2 +-
 src/web/app/mobile/tags/sub-post-content.tag |  4 +-
 src/web/app/mobile/tags/timeline-post.tag    |  2 +-
 src/web/app/mobile/tags/timeline.tag         |  8 +--
 src/web/app/mobile/tags/ui-nav.tag           | 20 +++---
 src/web/app/mobile/tags/user-followers.tag   |  2 +-
 src/web/app/mobile/tags/user-following.tag   |  2 +-
 src/web/app/mobile/tags/user-timeline.tag    |  2 +-
 src/web/app/mobile/tags/user.tag             | 10 +--
 src/web/app/mobile/tags/users-list.tag       | 10 +--
 17 files changed, 180 insertions(+), 40 deletions(-)

diff --git a/locales/en.yml b/locales/en.yml
index 5516eb7e9b..8f1dbbfa59 100644
--- a/locales/en.yml
+++ b/locales/en.yml
@@ -199,3 +199,73 @@ mobile:
       loading: "Loading"
       nothing-in-drive: "Nothing"
       folder-is-empty: "This folder is empty"
+
+    mk-follow-button:
+      follow: "フォロー"
+      unfollow: "フォロー解除"
+
+    mk-home-timeline:
+      empty-timeline: "表示する投稿がありません。誰かしらをフォローするなどしましょう。"
+
+    mk-notifications:
+      empty: "ありません!"
+      loading: "読み込み中"
+
+    mk-post-detail:
+      reply: "返信"
+      reaction: "リアクション"
+
+    mk-post-form:
+      submit: "投稿"
+      reply-placeholder: "この投稿への返信..."
+      post-placeholder: "いまどうしてる?"
+      attach-media-from-local: "モバイルからメディアを添付"
+
+    mk-search-posts:
+      empty: "「{}」に関する投稿は見つかりませんでした。"
+
+    mk-sub-post-content:
+      media-count: "{}個のメディア"
+      poll: "投票"
+
+    mk-timeline-post:
+      reposted-by: "{}がRepost"
+
+    mk-timeline:
+      loading: "読み込み中"
+      empty: "表示するものがありません"
+      load-more: "もっとみる"
+
+    mk-ui-nav:
+      home: "ホーム"
+      notifications: "通知"
+      messaging: "メッセージ"
+      live: "ライブ"
+      search: "検索"
+      drive: "ドライブ"
+      settings: "設定"
+      about: "Misskeyについて"
+      search: "検索"
+
+    mk-user-followers:
+      no-users: "フォロワーはいないようです。"
+
+    mk-user-following:
+      no-users: "フォロー中のユーザーはいないようです。"
+
+    mk-user-timeline:
+      no-posts: "このユーザーはまだ投稿していないようです。"
+      no-posts-with-media: "メディア付き投稿はありません。"
+
+    mk-user:
+      is-followed: "フォローされています"
+      following: "フォロー"
+      followers: "フォロワー"
+      posts: "タイムライン"
+      media: "メディア"
+
+    mk-users-list:
+      all: "すべて"
+      known: "知り合い"
+      load-more: "もっと"
+      loading: "読み込み中"
diff --git a/locales/ja.yml b/locales/ja.yml
index a142ae2f8a..11b25d83bc 100644
--- a/locales/ja.yml
+++ b/locales/ja.yml
@@ -199,3 +199,73 @@ mobile:
       loading: "読み込み中"
       nothing-in-drive: "ドライブには何もありません"
       folder-is-empty: "このフォルダは空です"
+
+    mk-follow-button:
+      follow: "フォロー"
+      unfollow: "フォロー解除"
+
+    mk-home-timeline:
+      empty-timeline: "表示する投稿がありません。誰かしらをフォローするなどしましょう。"
+
+    mk-notifications:
+      empty: "ありません!"
+      loading: "読み込み中"
+
+    mk-post-detail:
+      reply: "返信"
+      reaction: "リアクション"
+
+    mk-post-form:
+      submit: "投稿"
+      reply-placeholder: "この投稿への返信..."
+      post-placeholder: "いまどうしてる?"
+      attach-media-from-local: "モバイルからメディアを添付"
+
+    mk-search-posts:
+      empty: "「{}」に関する投稿は見つかりませんでした。"
+
+    mk-sub-post-content:
+      media-count: "{}個のメディア"
+      poll: "投票"
+
+    mk-timeline-post:
+      reposted-by: "{}がRepost"
+
+    mk-timeline:
+      loading: "読み込み中"
+      empty: "表示するものがありません"
+      load-more: "もっとみる"
+
+    mk-ui-nav:
+      home: "ホーム"
+      notifications: "通知"
+      messaging: "メッセージ"
+      live: "ライブ"
+      search: "検索"
+      drive: "ドライブ"
+      settings: "設定"
+      about: "Misskeyについて"
+      search: "検索"
+
+    mk-user-followers:
+      no-users: "フォロワーはいないようです。"
+
+    mk-user-following:
+      no-users: "フォロー中のユーザーはいないようです。"
+
+    mk-user-timeline:
+      no-posts: "このユーザーはまだ投稿していないようです。"
+      no-posts-with-media: "メディア付き投稿はありません。"
+
+    mk-user:
+      is-followed: "フォローされています"
+      following: "フォロー"
+      followers: "フォロワー"
+      posts: "タイムライン"
+      media: "メディア"
+
+    mk-users-list:
+      all: "すべて"
+      known: "知り合い"
+      load-more: "もっと"
+      loading: "読み込み中"
diff --git a/src/web/app/mobile/tags/follow-button.tag b/src/web/app/mobile/tags/follow-button.tag
index c379733678..67d580eb99 100644
--- a/src/web/app/mobile/tags/follow-button.tag
+++ b/src/web/app/mobile/tags/follow-button.tag
@@ -1,5 +1,5 @@
 <mk-follow-button>
-	<button class={ wait: wait, follow: !user.is_following, unfollow: user.is_following } if={ !init } onclick={ onclick } disabled={ wait }><i class="fa fa-minus" if={ !wait && user.is_following }></i><i class="fa fa-plus" if={ !wait && !user.is_following }></i><i class="fa fa-spinner fa-pulse fa-fw" if={ wait }></i>{ user.is_following ? 'フォロー解除' : 'フォロー' }</button>
+	<button class={ wait: wait, follow: !user.is_following, unfollow: user.is_following } if={ !init } onclick={ onclick } disabled={ wait }><i class="fa fa-minus" if={ !wait && user.is_following }></i><i class="fa fa-plus" if={ !wait && !user.is_following }></i><i class="fa fa-spinner fa-pulse fa-fw" if={ wait }></i>{ user.is_following ? '%i18n:mobile.tags.mk-follow-button.unfollow%' : '%i18n:mobile.tags.mk-follow-button.follow%' }</button>
 	<div class="init" if={ init }><i class="fa fa-spinner fa-pulse fa-fw"></i></div>
 	<style>
 		:scope
diff --git a/src/web/app/mobile/tags/home-timeline.tag b/src/web/app/mobile/tags/home-timeline.tag
index aa12a7c10f..34cea212b1 100644
--- a/src/web/app/mobile/tags/home-timeline.tag
+++ b/src/web/app/mobile/tags/home-timeline.tag
@@ -1,5 +1,5 @@
 <mk-home-timeline>
-	<mk-timeline ref="timeline" init={ init } more={ more } empty={ '表示する投稿がありません。誰かしらをフォローするなどしましょう。' }></mk-timeline>
+	<mk-timeline ref="timeline" init={ init } more={ more } empty={ '%i18n:mobile.tags.mk-home-timeline.empty-timeline%' }></mk-timeline>
 	<style>
 		:scope
 			display block
diff --git a/src/web/app/mobile/tags/notifications.tag b/src/web/app/mobile/tags/notifications.tag
index d2396caa02..238f84f049 100644
--- a/src/web/app/mobile/tags/notifications.tag
+++ b/src/web/app/mobile/tags/notifications.tag
@@ -5,8 +5,8 @@
 			<p class="date" if={ i != notifications.length - 1 && notification._date != notifications[i + 1]._date }><span><i class="fa fa-angle-up"></i>{ notification._datetext }</span><span><i class="fa fa-angle-down"></i>{ notifications[i + 1]._datetext }</span></p>
 		</virtual>
 	</div>
-	<p class="empty" if={ notifications.length == 0 && !loading }>ありません!</p>
-	<p class="loading" if={ loading }><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
+	<p class="empty" if={ notifications.length == 0 && !loading }>%i18n:mobile.tags.mk-notifications.empty%</p>
+	<p class="loading" if={ loading }><i class="fa fa-spinner fa-pulse fa-fw"></i>%i18n:mobile.tags.mk-notifications.loading%
 		<mk-ellipsis></mk-ellipsis>
 	</p>
 	<style>
diff --git a/src/web/app/mobile/tags/post-detail.tag b/src/web/app/mobile/tags/post-detail.tag
index 172e37f299..14d1a9a576 100644
--- a/src/web/app/mobile/tags/post-detail.tag
+++ b/src/web/app/mobile/tags/post-detail.tag
@@ -47,13 +47,13 @@
 			</a>
 			<footer>
 				<mk-reactions-viewer post={ p }></mk-reactions-viewer>
-				<button onclick={ reply } title="返信"><i class="fa fa-reply"></i>
+				<button onclick={ reply } title="%i18n:mobile.tags.mk-post-detail.reply%"><i class="fa fa-reply"></i>
 					<p class="count" if={ p.replies_count > 0 }>{ p.replies_count }</p>
 				</button>
 				<button onclick={ repost } title="Repost"><i class="fa fa-retweet"></i>
 					<p class="count" if={ p.repost_count > 0 }>{ p.repost_count }</p>
 				</button>
-				<button class={ reacted: p.my_reaction != null } onclick={ react } ref="reactButton" title="リアクション"><i class="fa fa-plus"></i>
+				<button class={ reacted: p.my_reaction != null } onclick={ react } ref="reactButton" title="%i18n:mobile.tags.mk-post-detail.reaction%"><i class="fa fa-plus"></i>
 					<p class="count" if={ p.reactions_count > 0 }>{ p.reactions_count }</p>
 				</button>
 				<button><i class="fa fa-ellipsis-h"></i></button>
diff --git a/src/web/app/mobile/tags/post-form.tag b/src/web/app/mobile/tags/post-form.tag
index ae3f444c15..436a364b94 100644
--- a/src/web/app/mobile/tags/post-form.tag
+++ b/src/web/app/mobile/tags/post-form.tag
@@ -4,19 +4,19 @@
 			<button class="cancel" onclick={ cancel }><i class="fa fa-times"></i></button>
 			<div>
 				<span if={ refs.text } class="text-count { over: refs.text.value.length > 1000 }">{ 1000 - refs.text.value.length }</span>
-				<button class="submit" onclick={ post }>投稿</button>
+				<button class="submit" onclick={ post }>%i18n:mobile.tags.mk-post-form.submit%</button>
 			</div>
 		</div>
 	</header>
 	<div class="form">
 		<mk-post-preview if={ opts.reply } post={ opts.reply }></mk-post-preview>
-		<textarea ref="text" disabled={ wait } oninput={ update } onkeydown={ onkeydown } onpaste={ onpaste } placeholder={ opts.reply ? 'この投稿への返信...' : 'いまどうしてる?' }></textarea>
+		<textarea ref="text" disabled={ wait } oninput={ update } onkeydown={ onkeydown } onpaste={ onpaste } placeholder={ opts.reply ? '%i18n:mobile.tags.mk-post-form.reply-placeholder%' : '%i18n:mobile.tags.mk-post-form.post-placeholder%' }></textarea>
 		<div class="attaches" if={ files.length != 0 }>
 			<ul class="files" ref="attaches">
 				<li class="file" each={ files }>
 					<div class="img" style="background-image: url({ url + '?thumbnail&size=64' })" title={ name }></div>
 				</li>
-				<li class="add" if={ files.length < 4 } title="PCからファイルを添付" onclick={ selectFile }><i class="fa fa-plus"></i></li>
+				<li class="add" if={ files.length < 4 } title="%i18n:mobile.tags.mk-post-form.attach-media-from-local%" onclick={ selectFile }><i class="fa fa-plus"></i></li>
 			</ul>
 		</div>
 		<mk-poll-editor if={ poll } ref="poll" ondestroy={ onPollDestroyed }></mk-poll-editor>
diff --git a/src/web/app/mobile/tags/search-posts.tag b/src/web/app/mobile/tags/search-posts.tag
index e430aeeec1..e17611fcee 100644
--- a/src/web/app/mobile/tags/search-posts.tag
+++ b/src/web/app/mobile/tags/search-posts.tag
@@ -1,5 +1,5 @@
 <mk-search-posts>
-	<mk-timeline init={ init } more={ more } empty={ '「' + query + '」に関する投稿は見つかりませんでした。' }></mk-timeline>
+	<mk-timeline init={ init } more={ more } empty={ '%i18n:mobile.tags.mk-search-posts.empty%'.replace('{}', query) }></mk-timeline>
 	<style>
 		:scope
 			display block
diff --git a/src/web/app/mobile/tags/sub-post-content.tag b/src/web/app/mobile/tags/sub-post-content.tag
index beb524061b..e657a8d73c 100644
--- a/src/web/app/mobile/tags/sub-post-content.tag
+++ b/src/web/app/mobile/tags/sub-post-content.tag
@@ -1,11 +1,11 @@
 <mk-sub-post-content>
 	<div class="body"><a class="reply" if={ post.reply_to_id }><i class="fa fa-reply"></i></a><span ref="text"></span><a class="quote" if={ post.repost_id } href={ '/post:' + post.repost_id }>RP: ...</a></div>
 	<details if={ post.media }>
-		<summary>({ post.media.length }つのメディア)</summary>
+		<summary>({ post.media.length }個のメディア)</summary>
 		<mk-images-viewer images={ post.media }></mk-images-viewer>
 	</details>
 	<details if={ post.poll }>
-		<summary>投票</summary>
+		<summary>%i18n:mobile.tags.mk-sub-post-content.poll%</summary>
 		<mk-poll post={ post }></mk-poll>
 	</details>
 	<style>
diff --git a/src/web/app/mobile/tags/timeline-post.tag b/src/web/app/mobile/tags/timeline-post.tag
index 6af909ba96..94082b8dfa 100644
--- a/src/web/app/mobile/tags/timeline-post.tag
+++ b/src/web/app/mobile/tags/timeline-post.tag
@@ -8,7 +8,7 @@
 				<img class="avatar" src={ post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/>
 			</a>
 			<i class="fa fa-retweet"></i>
-			<a class="name" href={ CONFIG.url + '/' + post.user.username }>{ post.user.name }</a>がRepost
+			<a class="name" href={ CONFIG.url + '/' + post.user.username }>{ '%i18n:mobile.tags.mk-timeline-post.reposted-by%'.replace('{}', post.user.name) }</a>
 		</p>
 		<mk-time time={ post.created_at }></mk-time>
 	</div>
diff --git a/src/web/app/mobile/tags/timeline.tag b/src/web/app/mobile/tags/timeline.tag
index 81c32ce2bb..944b87b9c0 100644
--- a/src/web/app/mobile/tags/timeline.tag
+++ b/src/web/app/mobile/tags/timeline.tag
@@ -1,9 +1,9 @@
 <mk-timeline>
 	<div class="init" if={ init }>
-		<i class="fa fa-spinner fa-pulse"></i>読み込んでいます
+		<i class="fa fa-spinner fa-pulse"></i>%i18n:mobile.tags.mk-timeline.loading%
 	</div>
 	<div class="empty" if={ !init && posts.length == 0 }>
-		<i class="fa fa-comments-o"></i>{ opts.empty || '表示するものがありません' }
+		<i class="fa fa-comments-o"></i>{ opts.empty || '%i18n:mobile.tags.mk-timeline.empty%' }
 	</div>
 	<virtual each={ post, i in posts }>
 		<mk-timeline-post post={ post }></mk-timeline-post>
@@ -14,8 +14,8 @@
 	</virtual>
 	<footer if={ !init }>
 		<button if={ canFetchMore } onclick={ more } disabled={ fetching }>
-			<span if={ !fetching }>もっとみる</span>
-			<span if={ fetching }>読み込み中<mk-ellipsis></mk-ellipsis></span>
+			<span if={ !fetching }>%i18n:mobile.tags.mk-timeline.load-more%</span>
+			<span if={ fetching }>%i18n:mobile.tags.mk-timeline.loading%<mk-ellipsis></mk-ellipsis></span>
 		</button>
 	</footer>
 	<style>
diff --git a/src/web/app/mobile/tags/ui-nav.tag b/src/web/app/mobile/tags/ui-nav.tag
index 3691eedbe6..7e256624d9 100644
--- a/src/web/app/mobile/tags/ui-nav.tag
+++ b/src/web/app/mobile/tags/ui-nav.tag
@@ -7,22 +7,22 @@
 		</a>
 		<div class="links">
 			<ul>
-				<li class="home"><a href="/"><i class="icon fa fa-home"></i>ホーム<i class="angle fa fa-angle-right"></i></a></li>
-				<li class="notifications"><a href="/i/notifications"><i class="icon fa fa-bell-o"></i>通知<i class="angle fa fa-angle-right"></i></a></li>
-				<li class="messaging"><a href="/i/messaging"><i class="icon fa fa-comments-o"></i>メッセージ<i class="angle fa fa-angle-right"></i></a></li>
-				<li class="live"><a href="//misskey.tk" target="_blank"><i class="icon fa fa-television"></i>ライブ<i class="angle fa fa-angle-right"></i></a></li>
+				<li class="home"><a href="/"><i class="icon fa fa-home"></i>%i18n:mobile.tags.mk-ui-nav.home%<i class="angle fa fa-angle-right"></i></a></li>
+				<li class="notifications"><a href="/i/notifications"><i class="icon fa fa-bell-o"></i>%i18n:mobile.tags.mk-ui-nav.notifications%<i class="angle fa fa-angle-right"></i></a></li>
+				<li class="messaging"><a href="/i/messaging"><i class="icon fa fa-comments-o"></i>%i18n:mobile.tags.mk-ui-nav.messaging%<i class="angle fa fa-angle-right"></i></a></li>
+				<li class="live"><a href="//misskey.tk" target="_blank"><i class="icon fa fa-television"></i>%i18n:mobile.tags.mk-ui-nav.live%<i class="angle fa fa-angle-right"></i></a></li>
 			</ul>
 			<ul>
-				<li class="settings"><a onclick={ search }><i class="icon fa fa-search"></i>検索<i class="angle fa fa-angle-right"></i></a></li>
+				<li class="settings"><a onclick={ search }><i class="icon fa fa-search"></i>%i18n:mobile.tags.mk-ui-nav.search%<i class="angle fa fa-angle-right"></i></a></li>
 			</ul>
 			<ul>
-				<li class="settings"><a href="/i/drive"><i class="icon fa fa-cloud"></i>ドライブ<i class="angle fa fa-angle-right"></i></a></li>
+				<li class="settings"><a href="/i/drive"><i class="icon fa fa-cloud"></i>%i18n:mobile.tags.mk-ui-nav.drive%<i class="angle fa fa-angle-right"></i></a></li>
 			</ul>
 			<ul>
-				<li class="settings"><a href="/i/settings"><i class="icon fa fa-cog"></i>設定<i class="angle fa fa-angle-right"></i></a></li>
+				<li class="settings"><a href="/i/settings"><i class="icon fa fa-cog"></i>%i18n:mobile.tags.mk-ui-nav.settings%<i class="angle fa fa-angle-right"></i></a></li>
 			</ul>
 		</div>
-		<p class="about" href={ CONFIG.aboutUrl }><a>Misskeyについて</a></p>
+		<p class="about" href={ CONFIG.aboutUrl }><a>%i18n:mobile.tags.mk-ui-nav.about%</a></p>
 	</div>
 	<style>
 		:scope
@@ -36,7 +36,7 @@
 				width 100%
 				height 100%
 				background rgba(0, 0, 0, 0.2)
-			
+
 			.body
 				position fixed
 				top 0
@@ -122,7 +122,7 @@
 		this.mixin('page');
 
 		this.search = () => {
-			const query = window.prompt('検索');
+			const query = window.prompt('%i18n:mobile.tags.mk-ui-nav.search%');
 			if (query == null || query == '') return;
 			this.page('/search:' + query);
 		};
diff --git a/src/web/app/mobile/tags/user-followers.tag b/src/web/app/mobile/tags/user-followers.tag
index e939da6c6e..9002b5b226 100644
--- a/src/web/app/mobile/tags/user-followers.tag
+++ b/src/web/app/mobile/tags/user-followers.tag
@@ -1,5 +1,5 @@
 <mk-user-followers>
-	<mk-users-list ref="list" fetch={ fetch } count={ user.followers_count } you-know-count={ user.followers_you_know_count } no-users={ 'フォロワーはいないようです。' }></mk-users-list>
+	<mk-users-list ref="list" fetch={ fetch } count={ user.followers_count } you-know-count={ user.followers_you_know_count } no-users={ '%i18n:mobile.tags.mk-user-followers.no-users%' }></mk-users-list>
 	<style>
 		:scope
 			display block
diff --git a/src/web/app/mobile/tags/user-following.tag b/src/web/app/mobile/tags/user-following.tag
index 778eb08e1c..c4ca831cae 100644
--- a/src/web/app/mobile/tags/user-following.tag
+++ b/src/web/app/mobile/tags/user-following.tag
@@ -1,5 +1,5 @@
 <mk-user-following>
-	<mk-users-list ref="list" fetch={ fetch } count={ user.following_count } you-know-count={ user.following_you_know_count } no-users={ 'フォロー中のユーザーはいないようです。' }></mk-users-list>
+	<mk-users-list ref="list" fetch={ fetch } count={ user.following_count } you-know-count={ user.following_you_know_count } no-users={ '%i18n:mobile.tags.mk-user-following.no-users%' }></mk-users-list>
 	<style>
 		:scope
 			display block
diff --git a/src/web/app/mobile/tags/user-timeline.tag b/src/web/app/mobile/tags/user-timeline.tag
index 12db98adb0..beaae8023e 100644
--- a/src/web/app/mobile/tags/user-timeline.tag
+++ b/src/web/app/mobile/tags/user-timeline.tag
@@ -1,5 +1,5 @@
 <mk-user-timeline>
-	<mk-timeline ref="timeline" init={ init } more={ more } empty={ withMedia ? 'メディア付き投稿はありません。' : 'このユーザーはまだ投稿していないようです。' }></mk-timeline>
+	<mk-timeline ref="timeline" init={ init } more={ more } empty={ withMedia ? '%i18n:mobile.tags.mk-user-timeline.no-posts-with-media%' : '%i18n:mobile.tags.mk-user-timeline.no-posts%' }></mk-timeline>
 	<style>
 		:scope
 			display block
diff --git a/src/web/app/mobile/tags/user.tag b/src/web/app/mobile/tags/user.tag
index f276658a97..8f0d21b44e 100644
--- a/src/web/app/mobile/tags/user.tag
+++ b/src/web/app/mobile/tags/user.tag
@@ -12,7 +12,7 @@
 				<div class="title">
 					<h1>{ user.name }</h1>
 					<span class="username">@{ user.username }</span>
-					<span class="followed" if={ user.is_followed }>フォローされています</span>
+					<span class="followed" if={ user.is_followed }>%i18n:mobile.tags.mk-user.is-followed%</span>
 				</div>
 				<div class="description">{ user.description }</div>
 				<div class="info">
@@ -26,18 +26,18 @@
 				<div class="friends">
 					<a href="{ user.username }/following">
 						<b>{ user.following_count }</b>
-						<i>フォロー</i>
+						<i>%i18n:mobile.tags.mk-user.following%</i>
 					</a>
 					<a href="{ user.username }/followers">
 						<b>{ user.followers_count }</b>
-						<i>フォロワー</i>
+						<i>%i18n:mobile.tags.mk-user.followers%</i>
 					</a>
 				</div>
 				<mk-activity-table user={ user }></mk-activity-table>
 			</div>
 			<nav>
-				<a data-is-active={ page == 'posts' } onclick={ go.bind(null, 'posts') }>タイムライン</a>
-				<a data-is-active={ page == 'media' } onclick={ go.bind(null, 'media') }>メディア</a>
+				<a data-is-active={ page == 'posts' } onclick={ go.bind(null, 'posts') }>%i18n:mobile.tags.mk-user.posts%</a>
+				<a data-is-active={ page == 'media' } onclick={ go.bind(null, 'media') }>%i18n:mobile.tags.mk-user.media%</a>
 			</nav>
 		</header>
 		<div class="body">
diff --git a/src/web/app/mobile/tags/users-list.tag b/src/web/app/mobile/tags/users-list.tag
index e323f23f96..885e6e24bc 100644
--- a/src/web/app/mobile/tags/users-list.tag
+++ b/src/web/app/mobile/tags/users-list.tag
@@ -1,18 +1,18 @@
 <mk-users-list>
 	<nav>
-		<span data-is-active={ mode == 'all' } onclick={ setMode.bind(this, 'all') }>すべて<span>{ opts.count }</span></span>
+		<span data-is-active={ mode == 'all' } onclick={ setMode.bind(this, 'all') }>%i18n:mobile.tags.mk-users-list.all%<span>{ opts.count }</span></span>
 		<!-- ↓ https://github.com/riot/riot/issues/2080-->
-		<span if={ SIGNIN && opts.youKnowCount != '' } data-is-active={ mode == 'iknow' } onclick={ setMode.bind(this, 'iknow') }>知り合い<span>{ opts.youKnowCount }</span></span>
+		<span if={ SIGNIN && opts.youKnowCount != '' } data-is-active={ mode == 'iknow' } onclick={ setMode.bind(this, 'iknow') }>%i18n:mobile.tags.mk-users-list.known%<span>{ opts.youKnowCount }</span></span>
 	</nav>
 	<div class="users" if={ !fetching && users.length != 0 }>
 		<mk-user-preview each={ users } user={ this }></mk-user-preview>
 	</div>
 	<button class="more" if={ !fetching && next != null } onclick={ more } disabled={ moreFetching }>
-		<span if={ !moreFetching }>もっと</span>
-		<span if={ moreFetching }>読み込み中<mk-ellipsis></mk-ellipsis></span></button>
+		<span if={ !moreFetching }>%i18n:mobile.tags.mk-users-list.load-more%</span>
+		<span if={ moreFetching }>%i18n:mobile.tags.mk-users-list.loading%<mk-ellipsis></mk-ellipsis></span></button>
 	<p class="no" if={ !fetching && users.length == 0 }>{ opts.noUsers }</p>
 	<p class="fetching" if={ fetching }>
-		<i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます<mk-ellipsis></mk-ellipsis>
+		<i class="fa fa-spinner fa-pulse fa-fw"></i>%i18n:mobile.tags.mk-users-list.loading%<mk-ellipsis></mk-ellipsis>
 	</p>
 	<style>
 		:scope