Merge pull request #2053 from gutfuckllc/devel

Translated the totality of desktop views and common views, a great bunch of mobile views
This commit is contained in:
syuilo 2018-08-02 06:44:46 +09:00 committed by GitHub
commit 25dec8b977
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 226 additions and 51 deletions

View file

@ -13,6 +13,7 @@ common:
paragraph3: "To delete a widget, <strong>drag and drop the widget onto the area labeled \"Trash\"</strong> in the header."
paragraph4: "To finish the customization, click \"Finish\" in the upper right."
gotit: "Got it!"
name: "Misskey"
time:
unknown: "unknown"
future: "future"
@ -237,6 +238,20 @@ common/views/widgets/broadcast.vue:
no-broadcasts: "No announcements"
have-a-nice-day: "Have a nice day!"
next: "Next"
common/views/widgets/calendar.vue:
year-english: "Year "
year-japanese: ""
month-english: "Month "
month-japanese: ""
day-english: "Day "
day-japanese: ""
weekday-english: "Weekday "
weekday-japanese: ""
today: "Today: "
this-month: "This month: "
this-year: "This year: "
common/views/widgets/donation.vue:
title: "Request for donations"
text: "To keep Misskey up and running, we have to spend money on our domain name, the server costs and so on. Since we don't receive money from advertisements, we count on donations from all of you. If you're interested in helping, contact {}. Thank you for your contribution!"
@ -261,6 +276,34 @@ common/views/widgets/slideshow.vue:
folder-customize-mode: "To specify a folder, please exit customize mode"
folder: "Please click and specify a folder"
no-image: "There is no image in this folder"
common/views/widgets/tips.vue:
tips-line1: "You can focus on the timeline with <kbd>t</kbd>."
tips-line2: "Open posting form with <kbd>p</kbd> or <kbd>n</kbd>."
tips-line3: "You can drag and drop files on the post form."
tips-line4: "You can paste an image from the clipboard into the submission form."
tips-line5: "You can upload files by dragging and dropping them to Drive."
tips-line6: "You can move a folder by dragging it within the Drive."
tips-line7: "You can move folders by dragging them within the Drive"
tips-line8: "Home can be customized from the settings widget."
tips-line9: "Misskey is licensed under AGPLv3."
tips-line10: "Using the Time Machine widget makes it easy to trace back to the past timeline."
tips-line11: "You can pin posts to user page by clicking on \"...\""
tips-line12: "Drive capacity is 1 GB (by default)"
tips-line13: "All the files attached to the post are saved to Drive."
tips-line14: "While customizing the home, you can right click on the widget and change the design."
tips-line15: "You can also place widgets at the top of the timeline."
tips-line16: "Double click on a post to see details."
tips-line17: "Surrounding the text with ** ** will highlight it."
tips-line18: "By using the channel widget, you can quickly check frequently used channels."
tips-line19: "Several windows can be detached outside the browser."
tips-line20: "The percentage of the calendar widget shows the percentage of time elapsed."
tips-line21: "You can also use the API to develop bots."
tips-line22: "Misskey is also available via LINE."
tips-line23: "Mayu is so cute with its eyebrows."
tips-line24: "Misskey started in 2014."
tips-line25: "You can receive notification even if Misskey is not open in a compatible browser."
common/views/pages/follow.vue:
signed-in-as: "Signed in as {}"
following: "Following"
@ -556,6 +599,11 @@ desktop/views/components/settings.api.vue:
enter-password: "Please enter the password"
desktop/views/components/settings.apps.vue:
no-apps: "No linked applications"
desktop/views/components/settings.drive.vue:
max: "Max "
in-use: " in use."
desktop/views/components/settings.mute.vue:
no-users: "No muted users"
desktop/views/components/settings.password.vue:
@ -652,6 +700,7 @@ desktop/views/pages/welcome.vue:
signin-button: "Log in"
signup-button: "Sign up"
timeline: "Timeline"
powered-by-misskey: "Powered by <b>Misskey</b>."
desktop/views/pages/drive.vue:
title: "Misskey storage"
desktop/views/pages/favorites.vue:
@ -666,6 +715,24 @@ desktop/views/pages/selectdrive.vue:
ok: "OK"
cancel: "Cancel"
upload: "Upload files from your device"
desktop/views/pages/search.vue:
not-available: "The search function can not be used."
not-found-quotes1: "\""
not-found-quotes2: "\""
not-found-text-english: "No posts were found for "
not-found-text-japanese: "."
desktop/views/pages/share.vue:
share-with: "Share with Misskey"
close: "Close"
desktop/views/pages/tag.vue:
no-posts-found-english: "No posts were found for "
no-posts-found-japanese: ""
left-quote: "\""
right-quote: "\"."
desktop/views/pages/user-list.users.vue:
users: "User"
add-user: "Add a user"
@ -821,6 +888,10 @@ mobile/views/components/sub-note-content.vue:
mobile/views/components/timeline.vue:
empty: "No notes"
load-more: "More"
mobile/views/components/ui.header.vue:
welcome-back: "Welcome back, "
mobile/views/components/ui.nav.vue:
timeline: "Timeline"
notifications: "Notifications"
@ -853,6 +924,19 @@ mobile/views/pages/drive.vue:
more: "Load more"
mobile/views/pages/followers.vue:
followers-of: "Followers of {}"
mobile/views/pages/signup.vue:
lets-start: "Let's start! 📦"
mobile/views/pages/tag.vue:
no-posts-found-japanese: ""
no-posts-found-english: "No posts were found for "
left-quote: "\""
right-quote: "\"."
mobile/views/pages/welcome.vue:
signup: "Sign up."
mobile/views/pages/widgets.vue:
dashboard: "Dashboard"
mobile/views/pages/widgets/activity.vue:
activity: "Activity"
mobile/views/pages/following.vue:
following-of: "Following of {}"
mobile/views/pages/home.vue:
@ -875,6 +959,10 @@ mobile/views/pages/note.vue:
mobile/views/pages/notifications.vue:
notifications: "Notifications"
read-all: "Do you wish to mark all notifications as read?"
mobile/views/pages/reversi.vue:
reversi: "Reversi"
mobile/views/pages/settings/settings.profile.vue:
title: "Profile"
name: "Name"

View file

@ -6,7 +6,6 @@ common:
misskey: "A ⭐ of fediverse"
about-title: "A ⭐ of fediverse."
about: "Misskeyを見つけていただき、ありがとうございます。Misskeyは、地球で生まれた<b>分散マイクロブログSNS</b>です。Fediverse(様々なSNSで構成される宇宙)の中に存在するため、他のSNSと相互に繋がっています。暫し都会の喧騒から離れて、新しいインターネットにダイブしてみませんか。"
customization-tips:
title: "カスタマイズのヒント"
paragraph1: "ホームのカスタマイズでは、ウィジェットを追加/削除したり、ドラッグ&ドロップして並べ替えたりすることができます。"
@ -14,7 +13,7 @@ common:
paragraph3: "ウィジェットを削除するには、ヘッダーの<strong>「ゴミ箱」</strong>と書かれたエリアにウィジェットをドラッグ&ドロップします。"
paragraph4: "カスタマイズを終了するには、右上の「完了」をクリックします。"
gotit: "Got it!"
name: "Misskey"
time:
unknown: "なぞのじかん"
future: "未来"
@ -267,6 +266,19 @@ common/views/widgets/broadcast.vue:
have-a-nice-day: "良い一日を!"
next: "次"
common/views/widgets/calendar.vue:
year-english: ""
year-japanese: "年"
month-english: ""
month-japanese: "月"
day-english: ""
day-japanese: "日"
weekday-english: ""
weekday-japanese: "曜日"
today: "今日:"
this-month: "今月:"
this-year: "今年:"
common/views/widgets/donation.vue:
title: "寄付のお願い"
text: "Misskeyの運営にはドメイン、サーバー等のコストが掛かります。Misskeyは広告を掲載したりしないため、収入を皆様からの寄付に頼っています。もしご興味があれば、{}までご連絡ください。ご協力ありがとうございます。"
@ -298,6 +310,33 @@ common/views/widgets/slideshow.vue:
folder: "クリックしてフォルダを指定してください"
no-image: "このフォルダには画像がありません"
common/views/widgets/tips.vue:
tips-line1: "<kbd>t</kbd>でタイムラインにフォーカスできます"
tips-line2: "<kbd>p</kbd>または<kbd>n</kbd>で投稿フォームを開きます"
tips-line3: "投稿フォームにはファイルをドラッグ&ドロップできます"
tips-line4: "投稿フォームにクリップボードにある画像データをペーストできます"
tips-line5: "ドライブにファイルをドラッグ&ドロップしてアップロードできます"
tips-line6: "ドライブでファイルをドラッグしてフォルダ移動できます"
tips-line7: "ドライブでフォルダをドラッグしてフォルダ移動できます"
tips-line8: "ホームは設定からカスタマイズできます"
tips-line9: "MisskeyはAGPLv3です"
tips-line10: "タイムマシンウィジェットを利用すると、簡単に過去のタイムラインに遡れます"
tips-line11: "投稿の ... をクリックして、投稿をユーザーページにピン留めできます"
tips-line12: "ドライブの容量は(デフォルトで)1GBです"
tips-line13: "投稿に添付したファイルは全てドライブに保存されます"
tips-line14: "ホームのカスタマイズ中、ウィジェットを右クリックしてデザインを変更できます"
tips-line15: "タイムライン上部にもウィジェットを設置できます"
tips-line16: "投稿をダブルクリックすると詳細が見れます"
tips-line17: "「**」でテキストを囲むと**強調表示**されます"
tips-line18: "チャンネルウィジェットを利用すると、よく利用するチャンネルを素早く確認できます"
tips-line19: "いくつかのウィンドウはブラウザの外に切り離すことができます"
tips-line20: "カレンダーウィジェットのパーセンテージは、経過の割合を示しています"
tips-line21: "APIを利用してbotの開発なども行えます"
tips-line22: "MisskeyはLINEを通じてでも利用できます"
tips-line23: "まゆかわいいよまゆ"
tips-line24: "Misskeyは2014年にサービスを開始しました"
tips-line25: "対応ブラウザではMisskeyを開いていなくても通知を受け取れます"
common/views/pages/follow.vue:
signed-in-as: "{}としてサインイン中"
following: "フォロー中"
@ -642,6 +681,10 @@ desktop/views/components/settings.api.vue:
desktop/views/components/settings.apps.vue:
no-apps: "連携しているアプリケーションはありません"
desktop/views/components/settings.drive.vue:
max: "中"
in-use: "使用中"
desktop/views/components/settings.mute.vue:
no-users: "ミュートしているユーザーはいません"
@ -718,6 +761,8 @@ desktop/views/components/received-follow-requests-window.vue:
accept: "承認"
reject: "拒否"
desktop/views/components/user-lists-window.vue:
title: "リスト"
create-list: "リストを作成"
@ -758,6 +803,7 @@ desktop/views/pages/welcome.vue:
signin-button: "やってる"
signup-button: "やる"
timeline: "タイムライン"
powered-by-misskey: "Powered by <b>Misskey</b>."
desktop/views/pages/drive.vue:
title: "Misskey Drive"
@ -778,6 +824,23 @@ desktop/views/pages/selectdrive.vue:
cancel: "キャンセル"
upload: "PCからドライブにファイルをアップロード"
desktop/views/pages/search.vue:
not-available: "検索機能を利用することができません。"
not-found-quotes1: "「"
not-found-quotes2: "」"
not-found-text-english: ""
not-found-text-japanese: "に関する投稿は見つかりませんでした。"
desktop/views/pages/share.vue:
share-with: "Misskeyで共有"
close: "閉じる"
desktop/views/pages/tag.vue:
no-posts-found-english: ""
no-posts-found-japanese: "に関する投稿は見つかりませんでした。"
left-quote: "「"
right-quote: "」"
desktop/views/pages/user-list.users.vue:
users: "ユーザー"
add-user: "ユーザーを追加"
@ -967,6 +1030,9 @@ mobile/views/components/timeline.vue:
empty: "投稿がありません"
load-more: "もっと"
mobile/views/components/ui.header.vue:
welcome-back: "おかえりなさい、"
mobile/views/components/ui.nav.vue:
timeline: "タイムライン"
notifications: "通知"
@ -1003,6 +1069,9 @@ mobile/views/pages/drive.vue:
drive: "ドライブ"
more: "もっと見る"
mobile/views/pages/signup.vue:
lets-start: "📦 始めましょう"
mobile/views/pages/followers.vue:
followers-of: "{}のフォロワー"
@ -1015,6 +1084,21 @@ mobile/views/pages/home.vue:
hybrid: "ソーシャル"
global: "グローバル"
mobile/views/pages/tag.vue:
no-posts-found-japanese: "に関する投稿は見つかりませんでした。"
no-posts-found-english: ""
left-quote: "「"
right-quote: "」"
mobile/views/pages/welcome.vue:
signup: "新規登録"
mobile/views/pages/widgets.vue:
dashboard: "ダッシュボード"
mobile/views/pages/widgets/activity.vue:
activity: "アクティビティ"
mobile/views/pages/messaging.vue:
messaging: "メッセージ"
@ -1035,6 +1119,9 @@ mobile/views/pages/notifications.vue:
notifications: "通知"
read-all: "すべての通知を既読にしますか?"
mobile/views/pages/reversi.vue:
reversi: "リバーシ"
mobile/views/pages/settings/settings.profile.vue:
title: "プロフィール"
name: "名前"

View file

@ -4,27 +4,27 @@
<div class="mkw-calendar--body">
<div class="calendar" :data-is-holiday="isHoliday">
<p class="month-and-year">
<span class="year">{{ year }}</span>
<span class="month">{{ month }}</span>
<span class="year">%i18n:year-english%{{ year }}%i18n:year-japanese%</span>
<span class="month">%i18n:month-english%{{ month }}%i18n:month-japanese%</span>
</p>
<p class="day">{{ day }}</p>
<p class="week-day">{{ weekDay }}曜日</p>
<p class="day">>%i18n:day-english%{{ day }}%i18n:day-japanese%</p>
<p class="week-day">%i18n:weekday-english%{{ weekDay }}%i18n:weekday-japanese%</p>
</div>
<div class="info">
<div>
<p>今日:<b>{{ dayP.toFixed(1) }}%</b></p>
<p>%i18n:today%<b>{{ dayP.toFixed(1) }}%</b></p>
<div class="meter">
<div class="val" :style="{ width: `${dayP}%` }"></div>
</div>
</div>
<div>
<p>今月:<b>{{ monthP.toFixed(1) }}%</b></p>
<p>%i18n:this-month%<b>{{ monthP.toFixed(1) }}%</b></p>
<div class="meter">
<div class="val" :style="{ width: `${monthP}%` }"></div>
</div>
</div>
<div>
<p>今年:<b>{{ yearP.toFixed(1) }}%</b></p>
<p>%i18n:this-year%<b>{{ yearP.toFixed(1) }}%</b></p>
<div class="meter">
<div class="val" :style="{ width: `${yearP}%` }"></div>
</div>

View file

@ -9,31 +9,31 @@ import * as anime from 'animejs';
import define from '../../../common/define-widget';
const tips = [
'<kbd>t</kbd>でタイムラインにフォーカスできます',
'<kbd>p</kbd>または<kbd>n</kbd>で投稿フォームを開きます',
'投稿フォームにはファイルをドラッグ&ドロップできます',
'投稿フォームにクリップボードにある画像データをペーストできます',
'ドライブにファイルをドラッグ&ドロップしてアップロードできます',
'ドライブでファイルをドラッグしてフォルダ移動できます',
'ドライブでフォルダをドラッグしてフォルダ移動できます',
'ホームは設定からカスタマイズできます',
'MisskeyはAGPLv3です',
'タイムマシンウィジェットを利用すると、簡単に過去のタイムラインに遡れます',
'投稿の ... をクリックして、投稿をユーザーページにピン留めできます',
'ドライブの容量は(デフォルトで)1GBです',
'投稿に添付したファイルは全てドライブに保存されます',
'ホームのカスタマイズ中、ウィジェットを右クリックしてデザインを変更できます',
'タイムライン上部にもウィジェットを設置できます',
'投稿をダブルクリックすると詳細が見れます',
'「**」でテキストを囲むと**強調表示**されます',
'チャンネルウィジェットを利用すると、よく利用するチャンネルを素早く確認できます',
'いくつかのウィンドウはブラウザの外に切り離すことができます',
'カレンダーウィジェットのパーセンテージは、経過の割合を示しています',
'APIを利用してbotの開発なども行えます',
'MisskeyはLINEを通じてでも利用できます',
'まゆかわいいよまゆ',
'Misskeyは2014年にサービスを開始しました',
'対応ブラウザではMisskeyを開いていなくても通知を受け取れます'
'%i18n:@tips-line1%',
'%i18n:@tips-line2%',
'%i18n:@tips-line3%',
'%i18n:@tips-line4%',
'%i18n:@tips-line5%',
'%i18n:@tips-line6%',
'%i18n:@tips-line7%',
'%i18n:@tips-line8%',
'%i18n:@tips-line9%',
'%i18n:@tips-line10%',
'%i18n:@tips-line11%',
'%i18n:@tips-line12%',
'%i18n:@tips-line13%',
'%i18n:@tips-line14%',
'%i18n:@tips-line15%',
'%i18n:@tips-line16%',
'%i18n:@tips-line17%',
'%i18n:@tips-line18%',
'%i18n:@tips-line19%',
'%i18n:@tips-line20%',
'%i18n:@tips-line21%',
'%i18n:@tips-line22%',
'%i18n:@tips-line23%',
'%i18n:@tips-line24%',
'%i18n:@tips-line25%'
]
export default define({

View file

@ -2,7 +2,7 @@
<div class="root">
<template v-if="!fetching">
<el-progress :text-inside="true" :stroke-width="18" :percentage="Math.floor((usage / capacity) * 100)"/>
<p><b>{{ capacity | bytes }}</b><b>{{ usage | bytes }}</b>使用中</p>
<p><b>{{ capacity | bytes }}</b>%i18n:max%<b>{{ usage | bytes }}</b>%i18n:in-use%</p>
</template>
</div>
</template>

View file

@ -6,8 +6,8 @@
<div :class="$style.loading" v-if="fetching">
<mk-ellipsis-icon/>
</div>
<p :class="$style.notAvailable" v-if="!fetching && notAvailable">検索機能を利用することができません</p>
<p :class="$style.empty" v-if="!fetching && empty">%fa:search%{{ q }}に関する投稿は見つかりませんでした</p>
<p :class="$style.notAvailable" v-if="!fetching && notAvailable">%i18n:@not-available%</p>
<p :class="$style.empty" v-if="!fetching && empty">%fa:search%%i18n:@not-found-text-english%%i18n:@not-found-quotes1%{{ q }}%i18n:@not-found-quotes2%%i18n:@not-found-text-japanese%</p>
<mk-notes ref="timeline" :class="$style.notes" :more="existMore ? more : null"/>
</mk-ui>
</template>

View file

@ -1,12 +1,12 @@
<template>
<div class="pptjhabgjtt7kwskbfv4y3uml6fpuhmr">
<h1>Misskeyで共有</h1>
<h1>%i18n:@share-with%</h1>
<div>
<mk-signin v-if="!$store.getters.isSignedIn"/>
<mk-post-form v-else-if="!posted" :initial-text="text" :instant="true" @posted="posted = true"/>
<p v-if="posted" class="posted">%fa:check%</p>
</div>
<button v-if="posted" class="ui button" @click="close">閉じる</button>
<button v-if="posted" class="ui button" @click="close">%i18n:@close%</button>
</div>
</template>

View file

@ -6,7 +6,7 @@
<div :class="$style.loading" v-if="fetching">
<mk-ellipsis-icon/>
</div>
<p :class="$style.empty" v-if="!fetching && empty">%fa:search%{{ q }}に関する投稿は見つかりませんでした</p>
<p :class="$style.empty" v-if="!fetching && empty">%i18n:no-posts-found-english%%fa:search%%i18n:left-quote%{{ q }}%i18n:right-quote%%i18n:no-posts-found-japanese%</p>
<mk-notes ref="timeline" :class="$style.notes" :more="existMore ? more : null"/>
</mk-ui>
</template>

View file

@ -8,7 +8,7 @@
<div class="body" :style="{ backgroundImage: `url('${ welcomeBgUrl }')` }">
<div class="container">
<div class="info">
<span>%i18n:common.misskey% <b>{{ host }}</b></span>
<span>%i18n:common.name% <b>{{ host }}</b></span>
<span class="stats" v-if="stats">
<span>%fa:user% {{ stats.originalUsersCount | number }}</span>
<span>%fa:pencil-alt% {{ stats.originalNotesCount | number }}</span>
@ -18,7 +18,7 @@
<div class="about">
<h1 v-if="name">{{ name }}</h1>
<h1 v-else><img :src="$store.state.device.darkmode ? 'assets/title.dark.svg' : 'assets/title.light.svg'" alt="Misskey"></h1>
<p class="powerd-by" v-if="name">powerd by <b>Misskey</b></p>
<p class="powerd-by" v-if="name">%i18n:@powered-by-misskey%</p>
<p class="desc" v-html="description || '%i18n:common.about%'"></p>
<a ref="signup" @click="signup">📦 %i18n:@signup%</a>
</div>

View file

@ -3,12 +3,12 @@
<mk-special-message/>
<div class="main" ref="main">
<div class="backdrop"></div>
<p ref="welcomeback" v-if="$store.getters.isSignedIn">おかえりなさい<b>{{ $store.state.i | userName }}</b>さん</p>
<p ref="welcomeback" v-if="$store.getters.isSignedIn">%i18n:@welcome-back%<b>{{ $store.state.i | userName }}</b>さん</p>
<div class="content" ref="mainContainer">
<button class="nav" @click="$parent.isDrawerOpening = true">%fa:bars%</button>
<template v-if="hasUnreadNotification || hasUnreadMessagingMessage || hasGameInvitation">%fa:circle%</template>
<h1>
<slot>Misskey</slot>
<slot>%i18n:common.name%</slot>
</h1>
<slot name="func"></slot>
</div>

View file

@ -1,6 +1,6 @@
<template>
<mk-ui>
<span slot="header">%fa:gamepad%リバーシ</span>
<span slot="header">%fa:gamepad%%i18n:@reversi%</span>
<mk-reversi v-if="!fetching" :init-game="game" @gamed="onGamed"/>
</mk-ui>
</template>
@ -23,7 +23,7 @@ export default Vue.extend({
this.fetch();
},
mounted() {
document.title = 'Misskey リバーシ';
document.title = '%i18n:common.name% %i18n:@reversi%';
document.documentElement.style.background = '#fff';
},
methods: {

View file

@ -1,6 +1,6 @@
<template>
<div class="signup">
<h1>📦 始めましょう</h1>
<h1>%i18n:@lets-start%</h1>
<mk-signup/>
</div>
</template>

View file

@ -3,7 +3,7 @@
<span slot="header">%fa:hashtag%{{ $route.params.tag }}</span>
<main>
<p v-if="!fetching && empty">%fa:search%{{ q }}に関する投稿は見つかりませんでした</p>
<p v-if="!fetching && empty">%fa:search%%i18n:@no-posts-found-english%%i18n:@left-quote%{{ q }}%i18n:@right-quote%%i18n:@no-posts-found-japanese%</p>
<mk-notes ref="timeline" :more="existMore ? more : null"/>
</main>
</mk-ui>

View file

@ -6,7 +6,7 @@
<div class="about">
<h2>{{ name || 'unidentified' }}</h2>
<p v-html="description || '%i18n:common.about%'"></p>
<router-link class="signup" to="/signup">新規登録</router-link>
<router-link class="signup" to="/signup">%i18n:@signup%</router-link>
</div>
<div class="login">
<mk-signin :with-avatar="false"/>

View file

@ -1,6 +1,6 @@
<template>
<mk-ui>
<span slot="header">%fa:home%ダッシュボード</span>
<span slot="header">%fa:home%%i18n:@dashboard%</span>
<template slot="func">
<button @click="customizing = !customizing">%fa:cog%</button>
</template>

View file

@ -1,7 +1,7 @@
<template>
<div class="mkw-activity">
<mk-widget-container :show-header="!props.compact">
<template slot="header">%fa:chart-bar%アクティビティ</template>
<template slot="header">%fa:chart-bar%%i18n:@activity%</template>
<div :class="$style.body">
<mk-activity :user="$store.state.i"/>
</div>