From 20ccd93a176f911a43b3db3d595f3fdb3491934f Mon Sep 17 00:00:00 2001 From: Ariadne Conill Date: Fri, 8 Nov 2019 23:21:07 -0600 Subject: about: add staff panel --- src/i18n/en.json | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/i18n') diff --git a/src/i18n/en.json b/src/i18n/en.json index 483432ff..4cd66177 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -1,4 +1,7 @@ { + "about": { + "staff": "Staff" + }, "chat": { "title": "Chat" }, -- cgit v1.2.3-70-g09d2 From 90f764224d7518da08653db285c5343ca5d078ac Mon Sep 17 00:00:00 2001 From: Ariadne Conill Date: Sat, 9 Nov 2019 00:09:32 -0600 Subject: about: add MRF transparency panel --- src/boot/after_store.js | 3 + src/components/about/about.js | 4 +- src/components/about/about.vue | 1 + .../mrf_transparency_panel.js | 33 ++++++++ .../mrf_transparency_panel.vue | 91 ++++++++++++++++++++++ src/i18n/en.json | 18 ++++- 6 files changed, 148 insertions(+), 2 deletions(-) create mode 100644 src/components/mrf_transparency_panel/mrf_transparency_panel.js create mode 100644 src/components/mrf_transparency_panel/mrf_transparency_panel.vue (limited to 'src/i18n') diff --git a/src/boot/after_store.js b/src/boot/after_store.js index e96baaf0..bba3288c 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -227,6 +227,9 @@ const getNodeInfo = async ({ store }) => { store.dispatch('setInstanceOption', { name: 'frontendVersion', value: frontendVersion }) store.dispatch('setInstanceOption', { name: 'tagPolicyAvailable', value: metadata.federation.mrf_policies.includes('TagPolicy') }) + const federation = metadata.federation + store.dispatch('setInstanceOption', { name: 'federationPolicy', value: federation }) + const accounts = metadata.staffAccounts await resolveStaffAccounts({ store, accounts }) } else { diff --git a/src/components/about/about.js b/src/components/about/about.js index 5c95c079..1df25845 100644 --- a/src/components/about/about.js +++ b/src/components/about/about.js @@ -2,13 +2,15 @@ import InstanceSpecificPanel from '../instance_specific_panel/instance_specific_ import FeaturesPanel from '../features_panel/features_panel.vue' import TermsOfServicePanel from '../terms_of_service_panel/terms_of_service_panel.vue' import StaffPanel from '../staff_panel/staff_panel.vue' +import MRFTransparencyPanel from '../mrf_transparency_panel/mrf_transparency_panel.vue' const About = { components: { InstanceSpecificPanel, FeaturesPanel, TermsOfServicePanel, - StaffPanel + StaffPanel, + MRFTransparencyPanel }, computed: { showFeaturesPanel () { return this.$store.state.instance.showFeaturesPanel }, diff --git a/src/components/about/about.vue b/src/components/about/about.vue index ad520d11..518f6184 100644 --- a/src/components/about/about.vue +++ b/src/components/about/about.vue @@ -3,6 +3,7 @@ + diff --git a/src/components/mrf_transparency_panel/mrf_transparency_panel.js b/src/components/mrf_transparency_panel/mrf_transparency_panel.js new file mode 100644 index 00000000..3791dd12 --- /dev/null +++ b/src/components/mrf_transparency_panel/mrf_transparency_panel.js @@ -0,0 +1,33 @@ +const MRFTransparencyPanel = { + components: { + }, + computed: { + federationPolicy() { + return this.$store.state.instance.federationPolicy + }, + mrfPolicies() { + return this.$store.state.instance.federationPolicy.mrf_policies + }, + acceptInstances() { + return this.$store.state.instance.federationPolicy.mrf_simple.accept + }, + rejectInstances() { + return this.$store.state.instance.federationPolicy.mrf_simple.reject + }, + quarantineInstances() { + return this.$store.state.instance.federationPolicy.quarantined_instances + }, + ftlRemovalInstances() { + return this.$store.state.instance.federationPolicy.mrf_simple.federated_timeline_removal + }, + mediaNsfwInstances() { + return this.$store.state.instance.federationPolicy.mrf_simple.media_nsfw + }, + mediaRemovalInstances() { + return this.$store.state.instance.federationPolicy.mrf_simple.media_removal + } + } +} + +export default MRFTransparencyPanel + diff --git a/src/components/mrf_transparency_panel/mrf_transparency_panel.vue b/src/components/mrf_transparency_panel/mrf_transparency_panel.vue new file mode 100644 index 00000000..f3507591 --- /dev/null +++ b/src/components/mrf_transparency_panel/mrf_transparency_panel.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/i18n/en.json b/src/i18n/en.json index 4cd66177..ead333c1 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -1,6 +1,22 @@ { "about": { - "staff": "Staff" + "staff": "Staff", + "federation": "Federation", + "mrf_policies": "Enabled MRF Policies", + "mrf_policies_desc": "MRF policies manipulate the federation behaviour of the instance. The following policies are enabled:", + "mrf_policy_simple": "Instance-specific Policies", + "mrf_policy_simple_accept": "Accept", + "mrf_policy_simple_accept_desc": "This instance only accepts messages from the following instances:", + "mrf_policy_simple_reject": "Reject", + "mrf_policy_simple_reject_desc": "This instance will not accept messages from the following instances:", + "mrf_policy_simple_quarantine": "Quarantine", + "mrf_policy_simple_quarantine_desc": "This instance will send only public posts to the following instances:", + "mrf_policy_simple_ftl_removal": "Removal from \"The Whole Known Network\" Timeline", + "mrf_policy_simple_ftl_removal_desc": "This instance removes these instances from \"The Whole Known Network\" timeline:", + "mrf_policy_simple_media_removal": "Media Removal", + "mrf_policy_simple_media_removal_desc": "This instance removes media from posts on the following instances:", + "mrf_policy_simple_media_nsfw": "Media Force-set As Sensitive", + "mrf_policy_simple_media_nsfw_desc": "This instance forces media to be set sensitive in posts on the following instances:" }, "chat": { "title": "Chat" -- cgit v1.2.3-70-g09d2 From 85685d64788193f3f40ce14d3066c48c4523dde0 Mon Sep 17 00:00:00 2001 From: taehoon Date: Tue, 12 Nov 2019 10:47:49 -0500 Subject: add a translation --- src/components/user_card/user_card.vue | 4 ++-- src/i18n/en.json | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'src/i18n') diff --git a/src/components/user_card/user_card.vue b/src/components/user_card/user_card.vue index e54d30d4..421a1236 100644 --- a/src/components/user_card/user_card.vue +++ b/src/components/user_card/user_card.vue @@ -208,14 +208,14 @@ @click.prevent="setProfileView('friends')" >
{{ $t('user_card.followees') }}
- {{ hideFollowsCount ? 'N/A' : user.friends_count }} + {{ hideFollowsCount ? $t('user_card.na') : user.friends_count }}
{{ $t('user_card.followers') }}
- {{ hideFollowersCount ? 'N/A' : user.followers_count }} + {{ hideFollowersCount ? $t('user_card.na') : user.followers_count }}
diff --git a/src/i18n/en.json b/src/i18n/en.json index ead333c1..b9519617 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -574,6 +574,7 @@ "mention": "Mention", "mute": "Mute", "muted": "Muted", + "na": "N/A", "per_day": "per day", "remote_follow": "Remote follow", "report": "Report", -- cgit v1.2.3-70-g09d2 From 58839ecef895bbf7cf5fd94ed048a0736ee951fe Mon Sep 17 00:00:00 2001 From: taehoon Date: Tue, 12 Nov 2019 13:31:30 -0500 Subject: change N/A to Hidden --- src/components/user_card/user_card.vue | 4 ++-- src/i18n/en.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/i18n') diff --git a/src/components/user_card/user_card.vue b/src/components/user_card/user_card.vue index 421a1236..96acf610 100644 --- a/src/components/user_card/user_card.vue +++ b/src/components/user_card/user_card.vue @@ -208,14 +208,14 @@ @click.prevent="setProfileView('friends')" >
{{ $t('user_card.followees') }}
- {{ hideFollowsCount ? $t('user_card.na') : user.friends_count }} + {{ hideFollowsCount ? $t('user_card.hidden') : user.friends_count }}
{{ $t('user_card.followers') }}
- {{ hideFollowersCount ? $t('user_card.na') : user.followers_count }} + {{ hideFollowersCount ? $t('user_card.hidden') : user.followers_count }}
diff --git a/src/i18n/en.json b/src/i18n/en.json index b9519617..ad3e671d 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -569,12 +569,12 @@ "followers": "Followers", "following": "Following!", "follows_you": "Follows you!", + "hidden": "Hidden", "its_you": "It's you!", "media": "Media", "mention": "Mention", "mute": "Mute", "muted": "Muted", - "na": "N/A", "per_day": "per day", "remote_follow": "Remote follow", "report": "Report", -- cgit v1.2.3-70-g09d2 From 897131572f62c36277e06e464f328f37cf6acad2 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Thu, 14 Nov 2019 00:47:20 +0200 Subject: Made it optional --- src/components/settings/settings.vue | 11 ++++++++++ src/components/status/status.js | 40 ++++++++++++++++++++---------------- src/components/status/status.vue | 5 +++-- src/i18n/en.json | 2 ++ src/modules/config.js | 1 + src/modules/instance.js | 1 + 6 files changed, 40 insertions(+), 20 deletions(-) (limited to 'src/i18n') diff --git a/src/components/settings/settings.vue b/src/components/settings/settings.vue index a83489d2..c4021137 100644 --- a/src/components/settings/settings.vue +++ b/src/components/settings/settings.vue @@ -270,6 +270,17 @@ + +
+

{{ $t('settings.fun') }}

+
    +
  • + + {{ $t('settings.greentext') }} {{ $t('settings.instance_default', { value: greentextLocalizedValue }) }} + +
  • +
+
diff --git a/src/components/status/status.js b/src/components/status/status.js index 416aa36a..dd0ce3ab 100644 --- a/src/components/status/status.js +++ b/src/components/status/status.js @@ -259,26 +259,30 @@ const Status = { postBodyHtml () { const html = this.status.statusnet_html - try { - if (html.includes('>')) { - // This checks if post has '>' at the beginning, excluding mentions so that @mention >impying works - return processHtml(html, (string) => { - if (string.includes('>') && - string - .replace(/<[^>]+?>/gi, '') // remove all tags - .replace(/@\w+/gi, '') // remove mentions (even failed ones) - .trim() - .startsWith('>')) { - return `${string}` - } else { - return string - } - }) - } else { + if (this.mergedConfig.greentext) { + try { + if (html.includes('>')) { + // This checks if post has '>' at the beginning, excluding mentions so that @mention >impying works + return processHtml(html, (string) => { + if (string.includes('>') && + string + .replace(/<[^>]+?>/gi, '') // remove all tags + .replace(/@\w+/gi, '') // remove mentions (even failed ones) + .trim() + .startsWith('>')) { + return `${string}` + } else { + return string + } + }) + } else { + return html + } + } catch (e) { + console.err('Failed to process status html', e) return html } - } catch (e) { - console.err('Failed to process status html', e) + } else { return html } }, diff --git a/src/components/status/status.vue b/src/components/status/status.vue index 65778b2e..d291e762 100644 --- a/src/components/status/status.vue +++ b/src/components/status/status.vue @@ -606,7 +606,7 @@ $status-margin: 0.75em; height: 100%; mask: linear-gradient(to top, white, transparent) bottom/100% 70px no-repeat, linear-gradient(to top, white, white); - // Autoprefixed seem to ignore this one, and also syntax is different + /* Autoprefixed seem to ignore this one, and also syntax is different */ -webkit-mask-composite: xor; mask-composite: exclude; } @@ -752,7 +752,8 @@ $status-margin: 0.75em; } .greentext { - color: green; + color: $fallback--cGreen; + color: var(--cGreen, $fallback--cGreen); } .status-conversation { diff --git a/src/i18n/en.json b/src/i18n/en.json index ead333c1..7b0b3b94 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -370,6 +370,8 @@ "false": "no", "true": "yes" }, + "fun": "Fun", + "greentext": "Meme arrows", "notifications": "Notifications", "notification_setting": "Receive notifications from:", "notification_setting_follows": "Users you follow", diff --git a/src/modules/config.js b/src/modules/config.js index d4819ee8..329b4091 100644 --- a/src/modules/config.js +++ b/src/modules/config.js @@ -45,6 +45,7 @@ export const defaultState = { playVideosInModal: false, useOneClickNsfw: false, useContainFit: false, + greentext: undefined, // instance default hidePostStats: undefined, // instance default hideUserStats: undefined // instance default } diff --git a/src/modules/instance.js b/src/modules/instance.js index 7b0e0da4..96f14ed5 100644 --- a/src/modules/instance.js +++ b/src/modules/instance.js @@ -32,6 +32,7 @@ const defaultState = { noAttachmentLinks: false, showFeaturesPanel: true, minimalScopesMode: false, + greentext: false, // Nasty stuff pleromaBackend: true, -- cgit v1.2.3-70-g09d2 From bce750c5717419b8f2f2de6d8a4380a4e664f986 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Thu, 14 Nov 2019 00:49:31 +0200 Subject: making dtluna proud or disgusted --- src/i18n/ru.json | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/i18n') diff --git a/src/i18n/ru.json b/src/i18n/ru.json index f8bcd996..19e10f1e 100644 --- a/src/i18n/ru.json +++ b/src/i18n/ru.json @@ -174,6 +174,8 @@ "name_bio": "Имя и описание", "new_email": "Новый email", "new_password": "Новый пароль", + "fun": "Потешное", + "greentext": "Мемные стрелочки", "notification_visibility": "Показывать уведомления", "notification_visibility_follows": "Подписки", "notification_visibility_likes": "Лайки", -- cgit v1.2.3-70-g09d2 From 3ecfbc8ea2b60aa0fe40f2969d27fcb916d6b639 Mon Sep 17 00:00:00 2001 From: Mew Mew Date: Fri, 15 Nov 2019 05:09:01 +0000 Subject: Fix translation (https://blob.cat/notice/9oyYO1RzcNbJXxKxeq) --- src/i18n/zh.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/i18n') diff --git a/src/i18n/zh.json b/src/i18n/zh.json index 80c4e0d8..8d9462ab 100644 --- a/src/i18n/zh.json +++ b/src/i18n/zh.json @@ -111,7 +111,7 @@ }, "interactions": { "favs_repeats": "转发和收藏", - "follows": "新的关注着", + "follows": "新的关注者", "load_older": "加载更早的互动" }, "post_status": { -- cgit v1.2.3-70-g09d2 From de945ba3e9470b28dd010fb32f658b42053f19d3 Mon Sep 17 00:00:00 2001 From: Shpuld Shpuldson Date: Fri, 15 Nov 2019 16:29:25 +0200 Subject: wip commit, add basic popover for emoji reaction select --- src/components/react_button/react_button.js | 50 ++++++++++++++++++ src/components/react_button/react_button.vue | 78 ++++++++++++++++++++++++++++ src/components/status/status.js | 2 + src/components/status/status.vue | 10 ++-- src/i18n/en.json | 1 + 5 files changed, 138 insertions(+), 3 deletions(-) create mode 100644 src/components/react_button/react_button.js create mode 100644 src/components/react_button/react_button.vue (limited to 'src/i18n') diff --git a/src/components/react_button/react_button.js b/src/components/react_button/react_button.js new file mode 100644 index 00000000..d1d15d93 --- /dev/null +++ b/src/components/react_button/react_button.js @@ -0,0 +1,50 @@ +import { mapGetters } from 'vuex' + +const ReactButton = { + props: ['status', 'loggedIn'], + data () { + return { + animated: false, + showTooltip: false, + popperOptions: { + modifiers: { + preventOverflow: { padding: { top: 50 }, boundariesElement: 'viewport' } + } + } + } + }, + methods: { + openReactionSelect () { + console.log('test') + this.showTooltip = true + }, + closeReactionSelect () { + this.showTooltip = false + }, + favorite () { + if (!this.status.favorited) { + this.$store.dispatch('favorite', { id: this.status.id }) + } else { + this.$store.dispatch('unfavorite', { id: this.status.id }) + } + this.animated = true + setTimeout(() => { + this.animated = false + }, 500) + } + }, + computed: { + emojis () { + return this.$store.state.instance.emoji || [] + }, + classes () { + return { + 'icon-smile': true, + 'animate-spin': this.animated + } + }, + ...mapGetters(['mergedConfig']) + } +} + +export default ReactButton diff --git a/src/components/react_button/react_button.vue b/src/components/react_button/react_button.vue new file mode 100644 index 00000000..93638770 --- /dev/null +++ b/src/components/react_button/react_button.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/components/status/status.js b/src/components/status/status.js index 8268e615..8c6fc0cf 100644 --- a/src/components/status/status.js +++ b/src/components/status/status.js @@ -1,5 +1,6 @@ import Attachment from '../attachment/attachment.vue' import FavoriteButton from '../favorite_button/favorite_button.vue' +import ReactButton from '../react_button/react_button.vue' import RetweetButton from '../retweet_button/retweet_button.vue' import Poll from '../poll/poll.vue' import ExtraButtons from '../extra_buttons/extra_buttons.vue' @@ -289,6 +290,7 @@ const Status = { components: { Attachment, FavoriteButton, + ReactButton, RetweetButton, ExtraButtons, PostStatusForm, diff --git a/src/components/status/status.vue b/src/components/status/status.vue index aae58a5e..d455ccf6 100644 --- a/src/components/status/status.vue +++ b/src/components/status/status.vue @@ -356,12 +356,12 @@
@@ -393,6 +393,10 @@ :logged-in="loggedIn" :status="status" /> + Date: Sun, 17 Nov 2019 01:11:19 +0900 Subject: Use kana+kanji as default for Japanese translation --- .../interface_language_switcher.vue | 4 +- src/i18n/ja.json | 658 ++++++++++----------- src/i18n/ja_easy.json | 639 ++++++++++++++++++++ src/i18n/ja_pedantic.json | 639 -------------------- src/i18n/messages.js | 2 +- 5 files changed, 971 insertions(+), 971 deletions(-) create mode 100644 src/i18n/ja_easy.json delete mode 100644 src/i18n/ja_pedantic.json (limited to 'src/i18n') diff --git a/src/components/interface_language_switcher/interface_language_switcher.vue b/src/components/interface_language_switcher/interface_language_switcher.vue index 1ca22001..f5ace0cc 100644 --- a/src/components/interface_language_switcher/interface_language_switcher.vue +++ b/src/components/interface_language_switcher/interface_language_switcher.vue @@ -51,8 +51,8 @@ export default { methods: { getLanguageName (code) { const specialLanguageNames = { - 'ja': 'Japanese (やさしいにほんご)', - 'ja_pedantic': 'Japanese (日本語)', + 'ja': 'Japanese (日本語)', + 'ja_easy': 'Japanese (やさしいにほんご)', 'zh': 'Chinese (简体中文)' } return specialLanguageNames[code] || ISO6391.getName(code) diff --git a/src/i18n/ja.json b/src/i18n/ja.json index 592a7257..2ca7dca8 100644 --- a/src/i18n/ja.json +++ b/src/i18n/ja.json @@ -4,128 +4,128 @@ }, "exporter": { "export": "エクスポート", - "processing": "おまちください。しばらくすると、あなたのファイルをダウンロードするように、メッセージがでます。" + "processing": "処理中です。処理が完了すると、ファイルをダウンロードするよう指示があります。" }, "features_panel": { "chat": "チャット", "gopher": "Gopher", "media_proxy": "メディアプロクシ", - "scope_options": "こうかいはんいせんたく", - "text_limit": "もじのかず", - "title": "ゆうこうなきのう", + "scope_options": "公開範囲選択", + "text_limit": "文字の数", + "title": "有効な機能", "who_to_follow": "おすすめユーザー" }, "finder": { - "error_fetching_user": "ユーザーけんさくがエラーになりました。", - "find_user": "ユーザーをさがす" + "error_fetching_user": "ユーザー検索がエラーになりました。", + "find_user": "ユーザーを探す" }, "general": { - "apply": "てきよう", - "submit": "そうしん", - "more": "つづき", + "apply": "適用", + "submit": "送信", + "more": "続き", "generic_error": "エラーになりました", - "optional": "かかなくてもよい", - "show_more": "つづきをみる", + "optional": "省略可", + "show_more": "もっと見る", "show_less": "たたむ", "cancel": "キャンセル", - "disable": "なし", - "enable": "あり", - "confirm": "たしかめる", - "verify": "たしかめる" + "disable": "無効", + "enable": "有効", + "confirm": "確認", + "verify": "検査" }, "image_cropper": { - "crop_picture": "がぞうをきりぬく", - "save": "セーブ", - "save_without_cropping": "きりぬかずにセーブ", + "crop_picture": "画像を切り抜く", + "save": "保存", + "save_without_cropping": "切り抜かずに保存", "cancel": "キャンセル" }, "importer": { - "submit": "そうしん", - "success": "インポートできました。", - "error": "インポートがエラーになりました。" + "submit": "送信", + "success": "正常にインポートされました。", + "error": "このファイルをインポートするとき、エラーが発生しました。" }, "login": { "login": "ログイン", "description": "OAuthでログイン", "logout": "ログアウト", "password": "パスワード", - "placeholder": "れい: lain", - "register": "はじめる", - "username": "ユーザーめい", - "hint": "はなしあいにくわわるには、ログインしてください", - "authentication_code": "にんしょうコード", - "enter_recovery_code": "リカバリーコードをいれてください", - "enter_two_factor_code": "2-ファクターコードをいれてください", + "placeholder": "例: lain", + "register": "登録", + "username": "ユーザー名", + "hint": "会話に加わるには、ログインしてください", + "authentication_code": "認証コード", + "enter_recovery_code": "リカバリーコードを入力してください", + "enter_two_factor_code": "2段階認証コードを入力してください", "recovery_code": "リカバリーコード", "heading" : { - "totp" : "2-ファクターにんしょう", - "recovery" : "2-ファクターリカバリー" + "totp" : "2段階認証", + "recovery" : "2段階リカバリー" } }, "media_modal": { - "previous": "まえ", - "next": "つぎ" + "previous": "前", + "next": "次" }, "nav": { - "about": "これはなに?", - "back": "もどる", + "about": "このインスタンスについて", + "back": "戻る", "chat": "ローカルチャット", "friend_requests": "フォローリクエスト", - "mentions": "メンション", - "interactions": "やりとり", + "mentions": "通知", + "interactions": "インタラクション", "dms": "ダイレクトメッセージ", "public_tl": "パブリックタイムライン", "timeline": "タイムライン", - "twkn": "つながっているすべてのネットワーク", - "user_search": "ユーザーをさがす", - "search": "さがす", + "twkn": "接続しているすべてのネットワーク", + "user_search": "ユーザーを探す", + "search": "検索", "who_to_follow": "おすすめユーザー", - "preferences": "せってい" + "preferences": "設定" }, "notifications": { - "broken_favorite": "ステータスがみつかりません。さがしています...", - "favorited_you": "あなたのステータスがおきにいりされました", + "broken_favorite": "ステータスが見つかりません。探しています...", + "favorited_you": "あなたのステータスがお気に入りされました", "followed_you": "フォローされました", - "load_older": "ふるいつうちをみる", - "notifications": "つうち", - "read": "よんだ!", + "load_older": "古い通知をみる", + "notifications": "通知", + "read": "読んだ!", "repeated_you": "あなたのステータスがリピートされました", - "no_more_notifications": "つうちはありません" + "no_more_notifications": "通知はありません" }, "polls": { - "add_poll": "いれふだをはじめる", - "add_option": "オプションをふやす", - "option": "オプション", - "votes": "いれふだ", - "vote": "ふだをいれる", - "type": "いれふだのかた", - "single_choice": "ひとつえらぶ", - "multiple_choices": "いくつでもえらべる", - "expiry": "いれふだのながさ", - "expires_in": "いれふだは {0} で、おわります", - "expired": "いれふだは {0} まえに、おわりました", - "not_enough_options": "ユニークなオプションが、たりません" + "add_poll": "投票を追加", + "add_option": "選択肢を追加", + "option": "選択肢", + "votes": "票", + "vote": "投票", + "type": "投票の形式", + "single_choice": "択一式", + "multiple_choices": "複数選択式", + "expiry": "投票期間", + "expires_in": "投票は {0} で終了します", + "expired": "投票は {0} 前に終了しました", + "not_enough_options": "相異なる選択肢が不足しています" }, "emoji": { "stickers": "ステッカー", - "emoji": "えもじ", - "keep_open": "ピッカーをあけたままにする", - "search_emoji": "えもじをさがす", - "add_emoji": "えもじをうちこむ", - "custom": "カスタムえもじ", - "unicode": "ユニコードえもじ" + "emoji": "絵文字", + "keep_open": "ピッカーを開いたままにする", + "search_emoji": "絵文字を検索", + "add_emoji": "絵文字を挿入", + "custom": "カスタム絵文字", + "unicode": "Unicode絵文字" }, "stickers": { - "add_sticker": "ステッカーをふやす" + "add_sticker": "ステッカーを追加" }, "interactions": { - "favs_repeats": "リピートとおきにいり", - "follows": "あたらしいフォロー", - "load_older": "ふるいやりとりをみる" + "favs_repeats": "リピートとお気に入り", + "follows": "新しいフォロワー", + "load_older": "古いインタラクションを見る" }, "post_status": { - "new_status": "とうこうする", - "account_not_locked_warning": "あなたのアカウントは {0} ではありません。あなたをフォローすれば、だれでも、フォロワーげんていのステータスをよむことができます。", + "new_status": "投稿する", + "account_not_locked_warning": "あなたのアカウントは {0} ではありません。あなたをフォローすれば、誰でも、フォロワー限定のステータスを読むことができます。", "account_not_locked_warning_link": "ロックされたアカウント", "attachments_sensitive": "ファイルをNSFWにする", "content_type": { @@ -134,131 +134,131 @@ "text/markdown": "Markdown", "text/bbcode": "BBCode" }, - "content_warning": "せつめい (かかなくてもよい)", - "default": "はねだくうこうに、つきました。", - "direct_warning_to_all": "このとうこうは、メンションされたすべてのユーザーが、みることができます。", - "direct_warning_to_first_only": "このとうこうは、メッセージのはじめでメンションされたユーザーだけが、みることができます。", - "direct_warning": "このステータスは、メンションされたユーザーだけが、よむことができます。", - "posting": "とうこう", + "content_warning": "説明 (省略可)", + "default": "羽田空港に着きました。", + "direct_warning_to_all": "この投稿は、メンションされたすべてのユーザーが、見ることができます。", + "direct_warning_to_first_only": "この投稿は、メッセージの冒頭でメンションされたユーザーだけが、見ることができます。", + "direct_warning": "このステータスは、メンションされたユーザーだけが、読むことができます。", + "posting": "投稿", "scope_notice": { - "public": "このとうこうは、だれでもみることができます", - "private": "このとうこうは、あなたのフォロワーだけが、みることができます", - "unlisted": "このとうこうは、パブリックタイムラインと、つながっているすべてのネットワークでは、みることができません" + "public": "この投稿は、誰でも見ることができます", + "private": "この投稿は、あなたのフォロワーだけが、見ることができます。", + "unlisted": "この投稿は、パブリックタイムラインと、接続しているすべてのネットワークには、表示されません。" }, "scope": { - "direct": "ダイレクト: メンションされたユーザーのみにとどきます。", - "private": "フォロワーげんてい: フォロワーのみにとどきます。", - "public": "パブリック: パブリックタイムラインにとどきます。", - "unlisted": "アンリステッド: パブリックタイムラインにとどきません。" + "direct": "ダイレクト: メンションされたユーザーのみに届きます。", + "private": "フォロワーげんてい: フォロワーのみに届きます。", + "public": "パブリック: パブリックタイムラインに届きます。", + "unlisted": "アンリステッド: パブリックタイムラインに届きません。" } }, "registration": { "bio": "プロフィール", "email": "Eメール", "fullname": "スクリーンネーム", - "password_confirm": "パスワードのかくにん", - "registration": "はじめる", - "token": "しょうたいトークン", + "password_confirm": "パスワードの確認", + "registration": "登録", + "token": "招待トークン", "captcha": "CAPTCHA", - "new_captcha": "もじがよめないときは、がぞうをクリックすると、あたらしいがぞうになります", - "username_placeholder": "れい: lain", - "fullname_placeholder": "れい: いわくら れいん", - "bio_placeholder": "れい:\nごきげんよう。わたしはれいん。\nわたしはアニメのおんなのこで、にほんのベッドタウンにすんでいます。ワイヤードで、わたしにあったことが、あるかもしれませんね。", + "new_captcha": "文字が読めないときは、画像をクリックすると、新しい画像になります", + "username_placeholder": "例: lain", + "fullname_placeholder": "例: 岩倉玲音", + "bio_placeholder": "例:\nこんにちは。私は玲音。\n私はアニメのキャラクターで、日本の郊外に住んでいます。私をWiredで見たことがあるかもしれません。", "validations": { - "username_required": "なにかかいてください", - "fullname_required": "なにかかいてください", - "email_required": "なにかかいてください", - "password_required": "なにかかいてください", - "password_confirmation_required": "なにかかいてください", - "password_confirmation_match": "パスワードがちがいます" + "username_required": "必須", + "fullname_required": "必須", + "email_required": "必須", + "password_required": "必須", + "password_confirmation_required": "必須", + "password_confirmation_match": "パスワードが違います" } }, "selectable_list": { - "select_all": "すべてえらぶ" + "select_all": "すべて選択" }, "settings": { - "app_name": "アプリのなまえ", + "app_name": "アプリの名称", "security": "セキュリティ", - "enter_current_password_to_confirm": "あなたのアイデンティティをたしかめるため、あなたのいまのパスワードをかいてください", + "enter_current_password_to_confirm": "あなたのアイデンティティを証明するため、現在のパスワードを入力してください", "mfa": { "otp" : "OTP", - "setup_otp" : "OTPをつくる", - "wait_pre_setup_otp" : "OTPをよういしています", - "confirm_and_enable" : "OTPをたしかめて、ゆうこうにする", - "title": "2-ファクターにんしょう", - "generate_new_recovery_codes" : "あたらしいリカバリーコードをつくる", - "warning_of_generate_new_codes" : "あたらしいリカバリーコードをつくったら、ふるいコードはつかえなくなります。", + "setup_otp" : "OTPのセットアップ", + "wait_pre_setup_otp" : "OTPのプリセット", + "confirm_and_enable" : "OTPの確認と有効化", + "title": "2段階認証", + "generate_new_recovery_codes" : "新しいリカバリーコードを生成", + "warning_of_generate_new_codes" : "新しいリカバリーコードを生成すると、古いコードは使用できなくなります。", "recovery_codes" : "リカバリーコード。", - "waiting_a_recovery_codes": "バックアップコードをうけとっています...", - "recovery_codes_warning" : "コードをかきうつすか、ひとにみられないところにセーブしてください。そうでなければ、あなたはこのコードをふたたびみることはできません。もしあなたが、2FAアプリのアクセスをうしなって、なおかつ、リカバリーコードもおもいだせないならば、あなたはあなたのアカウントから、しめだされます。", - "authentication_methods" : "にんしょうメソッド", + "waiting_a_recovery_codes": "バックアップコードを受信しています...", + "recovery_codes_warning" : "コードを紙に書くか、安全な場所に保存してください。そうでなければ、あなたはコードを再び見ることはできません。もし2段階認証アプリのアクセスを喪失し、なおかつ、リカバリーコードもないならば、あなたは自分のアカウントから閉め出されます。", + "authentication_methods" : "認証方法", "scan": { "title": "スキャン", - "desc": "あなたの2-ファクターアプリをつかって、このQRコードをスキャンするか、テキストキーをうちこんでください:", + "desc": "あなたの2段階認証アプリを使って、このQRコードをスキャンするか、テキストキーを入力してください:", "secret_code": "キー" }, "verify": { - "desc": "2-ファクターにんしょうをつかうには、あなたの2-ファクターアプリのコードをいれてください:" + "desc": "2段階認証を有効にするには、あなたの2段階認証アプリのコードを入力してください:" } }, "attachmentRadius": "ファイル", "attachments": "ファイル", - "autoload": "したにスクロールしたとき、じどうてきによみこむ。", + "autoload": "下にスクロールしたとき、自動的に読み込む。", "avatar": "アバター", - "avatarAltRadius": "つうちのアバター", + "avatarAltRadius": "通知のアバター", "avatarRadius": "アバター", "background": "バックグラウンド", "bio": "プロフィール", "block_export": "ブロックのエクスポート", - "block_export_button": "ブロックをCSVファイルにエクスポート", + "block_export_button": "ブロックをCSVファイルにエクスポートする", "block_import": "ブロックのインポート", - "block_import_error": "ブロックのインポートがエラーになりました", - "blocks_imported": "ブロックをインポートしました! じっさいにブロックするまでには、もうしばらくかかります。", + "block_import_error": "ブロックのインポートに失敗しました", + "blocks_imported": "ブロックをインポートしました! 実際に処理されるまでに、しばらく時間がかかります。", "blocks_tab": "ブロック", "btnRadius": "ボタン", - "cBlue": "リプライとフォロー", + "cBlue": "返信とフォロー", "cGreen": "リピート", - "cOrange": "おきにいり", + "cOrange": "お気に入り", "cRed": "キャンセル", - "change_password": "パスワードをかえる", - "change_password_error": "パスワードをかえることが、できなかったかもしれません。", - "changed_password": "パスワードが、かわりました!", - "collapse_subject": "せつめいのあるとうこうをたたむ", - "composing": "とうこう", - "confirm_new_password": "あたらしいパスワードのかくにん", - "current_avatar": "いまのアバター", - "current_password": "いまのパスワード", - "current_profile_banner": "いまのプロフィールバナー", + "change_password": "パスワードを変える", + "change_password_error": "パスワードを変えることが、できなかったかもしれません。", + "changed_password": "パスワードが、変わりました!", + "collapse_subject": "説明のある投稿をたたむ", + "composing": "投稿", + "confirm_new_password": "新しいパスワードの確認", + "current_avatar": "現在のアバター", + "current_password": "現在のパスワード", + "current_profile_banner": "現在のプロフィールバナー", "data_import_export_tab": "インポートとエクスポート", - "default_vis": "デフォルトのこうかいはんい", - "delete_account": "アカウントをけす", - "delete_account_description": "あなたのアカウントとメッセージが、きえます。", - "delete_account_error": "アカウントをけすことが、できなかったかもしれません。インスタンスのアドミニストレーターに、おといあわせください。", - "delete_account_instructions": "ほんとうにアカウントをけしてもいいなら、パスワードをかいてください。", - "discoverable": "けんさくなどのサービスで、このアカウントをみつけてもよい", - "avatar_size_instruction": "アバターのおおきさは、150×150ピクセルか、それよりもおおきくするといいです。", - "pad_emoji": "えもじをピッカーでえらんだとき、えもじのまわりにスペースをいれる", - "export_theme": "セーブ", + "default_vis": "デフォルトの公開範囲", + "delete_account": "アカウントを消す", + "delete_account_description": "あなたのアカウントとメッセージが、消えます。", + "delete_account_error": "アカウントを消すことが、できなかったかもしれません。インスタンスの管理者に、連絡してください。", + "delete_account_instructions": "本当にアカウントを消してもいいなら、パスワードを入力してください。", + "discoverable": "検索などのサービスでこのアカウントを見つけることを許可する", + "avatar_size_instruction": "アバターの大きさは、150×150ピクセルか、それよりも大きくするといいです。", + "pad_emoji": "ピッカーから絵文字を挿入するとき、絵文字の両側にスペースを入れる", + "export_theme": "保存", "filtering": "フィルタリング", - "filtering_explanation": "これらのことばをふくむすべてのものがミュートされます。1ぎょうに1つのことばをかいてください。", + "filtering_explanation": "これらの言葉を含むすべてのものがミュートされます。1行に1つの言葉を書いてください。", "follow_export": "フォローのエクスポート", "follow_export_button": "エクスポート", - "follow_export_processing": "おまちください。まもなくファイルをダウンロードできます。", - "follow_import": "フォローインポート", + "follow_export_processing": "お待ちください。まもなくファイルをダウンロードできます。", + "follow_import": "フォローのインポート", "follow_import_error": "フォローのインポートがエラーになりました。", - "follows_imported": "フォローがインポートされました! すこしじかんがかかるかもしれません。", + "follows_imported": "フォローがインポートされました! 少し時間がかかるかもしれません。", "foreground": "フォアグラウンド", - "general": "ぜんぱん", - "hide_attachments_in_convo": "スレッドのファイルをかくす", - "hide_attachments_in_tl": "タイムラインのファイルをかくす", - "hide_muted_posts": "ミュートしたユーザーのとうこうをかくす", - "max_thumbnails": "ひとつのとうこうにいれられるサムネイルのかず", - "hide_isp": "インスタンススペシフィックパネルをかくす", - "preload_images": "がぞうをさきよみする", - "use_one_click_nsfw": "NSFWなファイルを1クリックでひらく", - "hide_post_stats": "とうこうのとうけいをかくす (れい: おきにいりのかず)", - "hide_user_stats": "ユーザーのとうけいをかくす (れい: フォロワーのかず)", - "hide_filtered_statuses": "フィルターされたとうこうをかくす", + "general": "全般", + "hide_attachments_in_convo": "スレッドのファイルを隠す", + "hide_attachments_in_tl": "タイムラインのファイルを隠す", + "hide_muted_posts": "ミュートしているユーザーの投稿を隠す", + "max_thumbnails": "投稿に含まれるサムネイルの最大数", + "hide_isp": "インスタンス固有パネルを隠す", + "preload_images": "画像を先読みする", + "use_one_click_nsfw": "NSFWなファイルを1クリックで開く", + "hide_post_stats": "投稿の統計を隠す (例: お気に入りの数)", + "hide_user_stats": "ユーザーの統計を隠す (例: フォロワーの数)", + "hide_filtered_statuses": "フィルターされた投稿を隠す", "import_blocks_from_a_csv_file": "CSVファイルからブロックをインポートする", "import_followers_from_a_csv_file": "CSVファイルからフォローをインポートする", "import_theme": "ロード", @@ -267,198 +267,198 @@ "instance_default": "(デフォルト: {value})", "instance_default_simple": "(デフォルト)", "interface": "インターフェース", - "interfaceLanguage": "インターフェースのことば", - "invalid_theme_imported": "このファイルはPleromaのテーマではありません。テーマはへんこうされませんでした。", + "interfaceLanguage": "インターフェースの言語", + "invalid_theme_imported": "このファイルはPleromaのテーマではありません。テーマは変更されませんでした。", "limited_availability": "あなたのブラウザではできません", "links": "リンク", - "lock_account_description": "あなたがみとめたひとだけ、あなたのアカウントをフォローできる", - "loop_video": "ビデオをくりかえす", - "loop_video_silent_only": "おとのないビデオだけくりかえす", + "lock_account_description": "あなたが認めた人だけ、あなたのアカウントをフォローできる", + "loop_video": "ビデオを繰り返す", + "loop_video_silent_only": "音のないビデオだけ繰り返す", "mutes_tab": "ミュート", - "play_videos_in_modal": "ビデオをメディアビューアーでみる", - "use_contain_fit": "がぞうのサムネイルを、きりぬかない", - "name": "なまえ", - "name_bio": "なまえとプロフィール", - "new_password": "あたらしいパスワード", - "notification_visibility": "ひょうじするつうち", + "play_videos_in_modal": "ビデオをメディアビューアーで見る", + "use_contain_fit": "画像のサムネイルを、切り抜かない", + "name": "名前", + "name_bio": "名前とプロフィール", + "new_password": "新しいパスワード", + "notification_visibility": "表示する通知", "notification_visibility_follows": "フォロー", - "notification_visibility_likes": "おきにいり", + "notification_visibility_likes": "お気に入り", "notification_visibility_mentions": "メンション", "notification_visibility_repeats": "リピート", - "no_rich_text_description": "リッチテキストをつかわない", - "no_blocks": "ブロックしていません", - "no_mutes": "ミュートしていません", - "hide_follows_description": "フォローしているひとをみせない", - "hide_followers_description": "フォロワーをみせない", - "hide_follows_count_description": "フォローしているひとのかずをみせない", - "hide_followers_count_description": "フォロワーのかずをみせない", - "show_admin_badge": "アドミンのしるしをみせる", - "show_moderator_badge": "モデレーターのしるしをみせる", - "nsfw_clickthrough": "NSFWなファイルをかくす", + "no_rich_text_description": "リッチテキストを使わない", + "no_blocks": "ブロックはありません", + "no_mutes": "ミュートはありません", + "hide_follows_description": "フォローしている人を見せない", + "hide_followers_description": "フォロワーを見せない", + "hide_follows_count_description": "フォローしている人の数を見せない", + "hide_followers_count_description": "フォロワーの数を見せない", + "show_admin_badge": "管理者のバッジを見せる", + "show_moderator_badge": "モデレーターのバッジを見せる", + "nsfw_clickthrough": "NSFWなファイルを隠す", "oauth_tokens": "OAuthトークン", "token": "トークン", - "refresh_token": "トークンをリフレッシュ", - "valid_until": "おわりのとき", - "revoke_token": "とりけす", + "refresh_token": "トークンを更新", + "valid_until": "まで有効", + "revoke_token": "取り消す", "panelRadius": "パネル", - "pause_on_unfocused": "タブにフォーカスがないときストリーミングをとめる", + "pause_on_unfocused": "タブにフォーカスがないときストリーミングを止める", "presets": "プリセット", "profile_background": "プロフィールのバックグラウンド", "profile_banner": "プロフィールバナー", "profile_tab": "プロフィール", - "radii_help": "インターフェースのまるさをせっていする。", + "radii_help": "インターフェースの丸さを設定する。", "replies_in_timeline": "タイムラインのリプライ", - "reply_link_preview": "カーソルをかさねたとき、リプライのプレビューをみる", - "reply_visibility_all": "すべてのリプライをみる", - "reply_visibility_following": "わたしにあてられたリプライと、フォローしているひとからのリプライをみる", - "reply_visibility_self": "わたしにあてられたリプライをみる", - "autohide_floating_post_button": "あたらしいとうこうのボタンを、じどうてきにかくす (モバイル)", - "saving_err": "せっていをセーブできませんでした", - "saving_ok": "せっていをセーブしました", - "search_user_to_block": "ブロックしたいひとを、ここでけんさくできます", - "search_user_to_mute": "ミュートしたいひとを、ここでけんさくできます", + "reply_link_preview": "カーソルを重ねたとき、リプライのプレビューを見る", + "reply_visibility_all": "すべてのリプライを見る", + "reply_visibility_following": "私に宛てられたリプライと、フォローしている人からのリプライを見る", + "reply_visibility_self": "私に宛てられたリプライを見る", + "autohide_floating_post_button": "新しい投稿ボタンを自動的に隠す (モバイル)", + "saving_err": "設定を保存できませんでした", + "saving_ok": "設定を保存しました", + "search_user_to_block": "ブロックしたいユーザーを検索", + "search_user_to_mute": "ミュートしたいユーザーを検索", "security_tab": "セキュリティ", - "scope_copy": "リプライするとき、こうかいはんいをコピーする (DMのこうかいはんいは、つねにコピーされます)", - "minimal_scopes_mode": "こうかいはんいせんたくオプションを、ちいさくする", - "set_new_avatar": "あたらしいアバターをせっていする", - "set_new_profile_background": "あたらしいプロフィールのバックグラウンドをせっていする", - "set_new_profile_banner": "あたらしいプロフィールバナーを設定する", - "settings": "せってい", - "subject_input_always_show": "サブジェクトフィールドをいつでもひょうじする", - "subject_line_behavior": "リプライするときサブジェクトをコピーする", - "subject_line_email": "メールふう: \"re: サブジェクト\"", - "subject_line_mastodon": "マストドンふう: そのままコピー", + "scope_copy": "返信するとき、公開範囲をコピーする (DMの公開範囲は、常にコピーされます)", + "minimal_scopes_mode": "公開範囲選択オプションを最小にする", + "set_new_avatar": "新しいアバターを設定する", + "set_new_profile_background": "新しいプロフィールのバックグラウンドを設定する", + "set_new_profile_banner": "新しいプロフィールバナーを設定する", + "settings": "設定", + "subject_input_always_show": "サブジェクトフィールドをいつでも表示する", + "subject_line_behavior": "返信するときサブジェクトをコピーする", + "subject_line_email": "メール風: \"re: サブジェクト\"", + "subject_line_mastodon": "マストドン風: そのままコピー", "subject_line_noop": "コピーしない", - "post_status_content_type": "とうこうのコンテントタイプ", - "stop_gifs": "カーソルをかさねたとき、GIFをうごかす", - "streaming": "うえまでスクロールしたとき、じどうてきにストリーミングする", - "text": "もじ", + "post_status_content_type": "投稿のコンテントタイプ", + "stop_gifs": "カーソルを重ねたとき、GIFを動かす", + "streaming": "上までスクロールしたとき、自動的にストリーミングする", + "text": "文字", "theme": "テーマ", "theme_help": "カラーテーマをカスタマイズできます", - "theme_help_v2_1": "チェックボックスをONにすると、コンポーネントごとに、いろと、とうめいどを、オーバーライドできます。「すべてクリア」ボタンをおすと、すべてのオーバーライドを、やめます。", - "theme_help_v2_2": "バックグラウンドとテキストのコントラストをあらわすアイコンがあります。マウスをホバーすると、くわしいせつめいがでます。とうめいないろをつかっているときは、もっともわるいばあいのコントラストがしめされます。", - "upload_a_photo": "がぞうをアップロード", + "theme_help_v2_1": "チェックボックスをONにすると、コンポーネントごとに、色と透明度をオーバーライドできます。「すべてクリア」ボタンを押すと、すべてのオーバーライドをやめます。", + "theme_help_v2_2": "バックグラウンドとテキストのコントラストを表すアイコンがあります。マウスをホバーすると、詳しい説明が出ます。透明な色を使っているときは、最悪の場合のコントラストが示されます。", "tooltipRadius": "ツールチップとアラート", - "user_settings": "ユーザーせってい", + "upload_a_photo": "画像をアップロード", + "user_settings": "ユーザー設定", "values": { "false": "いいえ", "true": "はい" }, - "notifications": "つうち", - "notification_setting": "つうちをうけとる:", - "notification_setting_follows": "あなたがフォローしているひとから", - "notification_setting_non_follows": "あなたがフォローしていないひとから", - "notification_setting_followers": "あなたをフォローしているひとから", - "notification_setting_non_followers": "あなたをフォローしていないひとから", - "notification_mutes": "あるユーザーからのつうちをとめるには、ミュートしてください。", - "notification_blocks": "ブロックしているユーザーからのつうちは、すべてとまります。", - "enable_web_push_notifications": "ウェブプッシュつうちをゆるす", + "notifications": "通知", + "notification_setting": "通知を受け取る:", + "notification_setting_follows": "あなたがフォローしているユーザーから", + "notification_setting_non_follows": "あなたがフォローしていないユーザーから", + "notification_setting_followers": "あなたをフォローしているユーザーから", + "notification_setting_non_followers": "あなたをフォローしていないユーザーから", + "notification_mutes": "特定のユーザーからの通知を止めるには、ミュートしてください。", + "notification_blocks": "ブロックしているユーザーからの通知は、すべて止まります。", + "enable_web_push_notifications": "ウェブプッシュ通知を許可する", "style": { "switcher": { - "keep_color": "いろをのこす", - "keep_shadows": "かげをのこす", - "keep_opacity": "とうめいどをのこす", - "keep_roundness": "まるさをのこす", - "keep_fonts": "フォントをのこす", - "save_load_hint": "「のこす」オプションをONにすると、テーマをえらんだときとロードしたとき、いまのせっていをのこします。また、テーマをエクスポートするとき、これらのオプションをストアします。すべてのチェックボックスをOFFにすると、テーマをエクスポートしたとき、すべてのせっていをセーブします。", + "keep_color": "色を残す", + "keep_shadows": "影を残す", + "keep_opacity": "透明度を残す", + "keep_roundness": "丸さを残す", + "keep_fonts": "フォントを残す", + "save_load_hint": "「残す」オプションをONにすると、テーマを選んだときとロードしたとき、現在の設定を残します。また、テーマをエクスポートするとき、これらのオプションを維持します。すべてのチェックボックスをOFFにすると、テーマをエクスポートしたとき、すべての設定を保存します。", "reset": "リセット", "clear_all": "すべてクリア", - "clear_opacity": "とうめいどをクリア" + "clear_opacity": "透明度をクリア" }, "common": { - "color": "いろ", - "opacity": "とうめいど", + "color": "色", + "opacity": "透明度", "contrast": { "hint": "コントラストは {ratio} です。{level}。({context})", "level": { - "aa": "AAレベルガイドライン (ミニマル) をみたします", - "aaa": "AAAレベルガイドライン (レコメンデッド) をみたします。", - "bad": "ガイドラインをみたしません。" + "aa": "AAレベルガイドライン (ミニマル) を満たします", + "aaa": "AAAレベルガイドライン (レコメンデッド) を満たします。", + "bad": "ガイドラインを満たしません。" }, "context": { - "18pt": "おおきい (18ポイントいじょう) テキスト", + "18pt": "大きい (18ポイント以上) テキスト", "text": "テキスト" } } }, "common_colors": { - "_tab_label": "きょうつう", - "main": "きょうつうのいろ", - "foreground_hint": "「くわしく」タブで、もっとこまかくせっていできます", + "_tab_label": "共通", + "main": "共通の色", + "foreground_hint": "「詳細」タブで、もっと細かく設定できます", "rgbo": "アイコンとアクセントとバッジ" }, "advanced_colors": { - "_tab_label": "くわしく", + "_tab_label": "詳細", "alert": "アラートのバックグラウンド", "alert_error": "エラー", "badge": "バッジのバックグラウンド", - "badge_notification": "つうち", + "badge_notification": "通知", "panel_header": "パネルヘッダー", "top_bar": "トップバー", - "borders": "さかいめ", + "borders": "境界", "buttons": "ボタン", "inputs": "インプットフィールド", - "faint_text": "うすいテキスト" + "faint_text": "薄いテキスト" }, "radii": { - "_tab_label": "まるさ" + "_tab_label": "丸さ" }, "shadows": { - "_tab_label": "ひかりとかげ", + "_tab_label": "光と影", "component": "コンポーネント", "override": "オーバーライド", - "shadow_id": "かげ #{value}", + "shadow_id": "影 #{value}", "blur": "ぼかし", - "spread": "ひろがり", - "inset": "うちがわ", - "hint": "かげのせっていでは、いろのあたいとして --variable をつかうことができます。これはCSS3へんすうです。ただし、とうめいどのせっていは、きかなくなります。", + "spread": "広がり", + "inset": "内側", + "hint": "影の設定では、色の値として --variable を使うことができます。これはCSS3変数です。ただし、透明度の設定は、効かなくなります。", "filter_hint": { - "always_drop_shadow": "ブラウザーがサポートしていれば、つねに {0} がつかわれます。", + "always_drop_shadow": "ブラウザーがサポートしていれば、常に {0} が使われます。", "drop_shadow_syntax": "{0} は、{1} パラメーターと {2} キーワードをサポートしていません。", - "avatar_inset": "うちがわのかげと、そとがわのかげを、いっしょにつかうと、とうめいなアバターが、へんなみためになります。", - "spread_zero": "ひろがりが 0 よりもおおきなかげは、0 とおなじです。", - "inset_classic": "うちがわのかげは {0} をつかいます。" + "avatar_inset": "内側の影と外側の影を同時に使うと、透明なアバターの表示が乱れます。", + "spread_zero": "広がりが 0 よりも大きな影は、0 と同じです。", + "inset_classic": "内側の影は {0} を使います。" }, "components": { "panel": "パネル", "panelHeader": "パネルヘッダー", "topBar": "トップバー", "avatar": "ユーザーアバター (プロフィール)", - "avatarStatus": "ユーザーアバター (とうこう)", + "avatarStatus": "ユーザーアバター (投稿)", "popup": "ポップアップとツールチップ", "button": "ボタン", "buttonHover": "ボタン (ホバー)", - "buttonPressed": "ボタン (おされているとき)", - "buttonPressedHover": "ボタン (ホバー、かつ、おされているとき)", + "buttonPressed": "ボタン (押されているとき)", + "buttonPressedHover": "ボタン (ホバー、かつ、押されているとき)", "input": "インプットフィールド" } }, "fonts": { "_tab_label": "フォント", - "help": "「カスタム」をえらんだときは、システムにあるフォントのなまえを、ただしくにゅうりょくしてください。", + "help": "「カスタム」を選んだときは、システムにあるフォントの名前を、正しく入力してください。", "components": { "interface": "インターフェース", "input": "インプットフィールド", - "post": "とうこう", - "postCode": "モノスペース (とうこうがリッチテキストであるとき)" + "post": "投稿", + "postCode": "等幅 (投稿がリッチテキストであるとき)" }, - "family": "フォントめい", - "size": "おおきさ (px)", - "weight": "ふとさ", + "family": "フォント名", + "size": "大きさ (px)", + "weight": "太さ", "custom": "カスタム" }, "preview": { "header": "プレビュー", - "content": "ほんぶん", - "error": "エラーのれい", + "content": "本文", + "error": "エラーの例", "button": "ボタン", - "text": "これは{0}と{1}のれいです。", + "text": "これは{0}と{1}の例です。", "mono": "monospace", - "input": "はねだくうこうに、つきました。", - "faint_link": "とてもたすけになるマニュアル", - "fine_print": "わたしたちの{0}を、よまないでください!", + "input": "羽田空港に着きました。", + "faint_link": "とても助けになるマニュアル", + "fine_print": "私たちの{0}を、読まないでください!", "header_faint": "エラーではありません", - "checkbox": "りようきやくを、よみました", + "checkbox": "利用規約を読みました", "link": "ハイパーリンク" } }, @@ -505,38 +505,38 @@ "timeline": { "collapse": "たたむ", "conversation": "スレッド", - "error_fetching": "よみこみがエラーになりました", - "load_older": "ふるいステータス", - "no_retweet_hint": "とうこうを「フォロワーのみ」または「ダイレクト」にすると、リピートできなくなります", + "error_fetching": "読み込みがエラーになりました", + "load_older": "古いステータス", + "no_retweet_hint": "投稿を「フォロワーのみ」または「ダイレクト」にすると、リピートできなくなります", "repeated": "リピート", - "show_new": "よみこみ", - "up_to_date": "さいしん", - "no_more_statuses": "これでおわりです", - "no_statuses": "ありません" + "show_new": "読み込み", + "up_to_date": "最新", + "no_more_statuses": "これで終わりです", + "no_statuses": "ステータスはありません" }, "status": { - "favorites": "おきにいり", + "favorites": "お気に入り", "repeats": "リピート", - "delete": "ステータスをけす", - "pin": "プロフィールにピンどめする", - "unpin": "プロフィールにピンどめするのをやめる", - "pinned": "ピンどめ", - "delete_confirm": "ほんとうに、このステータスを、けしてもいいですか?", - "reply_to": "へんしん:", - "replies_list": "へんしん:", - "mute_conversation": "スレッドをミュートする", - "unmute_conversation": "スレッドをミュートするのをやめる" + "delete": "ステータスを削除", + "pin": "プロフィールにピン留め", + "unpin": "プロフィールのピン留めを外す", + "pinned": "ピン留め", + "delete_confirm": "本当にこのステータスを削除してもよろしいですか?", + "reply_to": "返信", + "replies_list": "返信:", + "mute_conversation": "スレッドをミュート", + "unmute_conversation": "スレッドのミュートを解除" }, "user_card": { - "approve": "うけいれ", + "approve": "受け入れ", "block": "ブロック", "blocked": "ブロックしています!", - "deny": "おことわり", - "favorites": "おきにいり", + "deny": "お断り", + "favorites": "お気に入り", "follow": "フォロー", - "follow_sent": "リクエストを、おくりました!", + "follow_sent": "リクエストを送りました!", "follow_progress": "リクエストしています…", - "follow_again": "ふたたびリクエストをおくりますか?", + "follow_again": "再びリクエストを送りますか?", "follow_unfollow": "フォローをやめる", "followees": "フォロー", "followers": "フォロワー", @@ -549,66 +549,66 @@ "muted": "ミュートしています!", "per_day": "/日", "remote_follow": "リモートフォロー", - "report": "つうほう", + "report": "通報", "statuses": "ステータス", - "subscribe": "サブスクライブ", - "unsubscribe": "サブスクライブをやめる", - "unblock": "ブロックをやめる", - "unblock_progress": "ブロックをとりけしています...", + "subscribe": "購読", + "unsubscribe": "購読を解除", + "unblock": "ブロック解除", + "unblock_progress": "ブロックを解除しています...", "block_progress": "ブロックしています...", - "unmute": "ミュートをやめる", - "unmute_progress": "ミュートをとりけしています...", + "unmute": "ミュート解除", + "unmute_progress": "ミュートを解除しています...", "mute_progress": "ミュートしています...", "admin_menu": { "moderation": "モデレーション", - "grant_admin": "アドミンにする", - "revoke_admin": "アドミンをやめさせる", - "grant_moderator": "モデレーターにする", - "revoke_moderator": "モデレーターをやめさせる", + "grant_admin": "管理者権限を付与", + "revoke_admin": "管理者権限を解除", + "grant_moderator": "モデレーター権限を付与", + "revoke_moderator": "モデレーター権限を解除", "activate_account": "アカウントをアクティブにする", "deactivate_account": "アカウントをアクティブでなくする", - "delete_account": "アカウントをけす", - "force_nsfw": "すべてのとうこうをNSFWにする", - "strip_media": "とうこうからメディアをなくす", - "force_unlisted": "とうこうをアンリステッドにする", - "sandbox": "とうこうをフォロワーのみにする", - "disable_remote_subscription": "ほかのインスタンスからフォローされないようにする", + "delete_account": "アカウントを削除", + "force_nsfw": "すべての投稿をNSFWにする", + "strip_media": "投稿からメディアを除去する", + "force_unlisted": "投稿を未収載にする", + "sandbox": "投稿をフォロワーのみにする", + "disable_remote_subscription": "他のインスタンスからフォローされないようにする", "disable_any_subscription": "フォローされないようにする", - "quarantine": "ほかのインスタンスのユーザーのとうこうをとめる", - "delete_user": "ユーザーをけす", - "delete_user_confirmation": "あなたは、ほんとうに、きはたしかですか? これは、とりけすことが、できません。" + "quarantine": "他のインスタンスからの投稿を止める", + "delete_user": "ユーザーを削除", + "delete_user_confirmation": "あなたの精神状態に何か問題はございませんか? この操作を取り消すことはできません。" } }, "user_profile": { "timeline_title": "ユーザータイムライン", - "profile_does_not_exist": "ごめんなさい。このプロフィールは、そんざいしません。", - "profile_loading_error": "ごめんなさい。プロフィールのロードがエラーになりました。" + "profile_does_not_exist": "申し訳ない。このプロフィールは存在しません。", + "profile_loading_error": "申し訳ない。プロフィールの読み込みがエラーになりました。" }, "user_reporting": { - "title": "つうほうする: {0}", - "add_comment_description": "このつうほうは、あなたのインスタンスのモデレーターに、おくられます。このアカウントを、つうほうするりゆうを、せつめいすることができます:", - "additional_comments": "ついかのコメント", - "forward_description": "このアカウントは、ほかのインスタンスのものです。そのインスタンスにも、このつうほうのコピーを、おくりますか?", - "forward_to": "コピーをおくる: {0}", - "submit": "そうしん", - "generic_error": "あなたのリクエストをうけつけようとしましたが、エラーになってしまいました。" + "title": "通報する: {0}", + "add_comment_description": "この通報は、あなたのインスタンスのモデレーターに送られます。このアカウントを通報する理由を説明することができます:", + "additional_comments": "追加のコメント", + "forward_description": "このアカウントは他のサーバーに置かれています。この通報のコピーをリモートのサーバーに送りますか?", + "forward_to": "転送する: {0}", + "submit": "送信", + "generic_error": "あなたのリクエストを処理しようとしましたが、エラーになりました。" }, "who_to_follow": { - "more": "くわしく", + "more": "詳細", "who_to_follow": "おすすめユーザー" }, "tool_tip": { "media_upload": "メディアをアップロード", "repeat": "リピート", - "reply": "リプライ", - "favorite": "おきにいり", - "user_settings": "ユーザーせってい" + "reply": "返信", + "favorite": "お気に入り", + "user_settings": "ユーザー設定" }, "upload":{ "error": { - "base": "アップロードにしっぱいしました。", - "file_too_big": "ファイルがおおきすぎます [{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]", - "default": "しばらくしてから、ためしてください" + "base": "アップロードに失敗しました。", + "file_too_big": "ファイルが大きすぎます [{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]", + "default": "しばらくしてから試してください" }, "file_size_units": { "B": "B", @@ -619,21 +619,21 @@ } }, "search": { - "people": "ひとびと", + "people": "人々", "hashtags": "ハッシュタグ", - "person_talking": "{count} にんが、はなしています", - "people_talking": "{count} にんが、はなしています", - "no_results": "みつかりませんでした" + "person_talking": "{count} 人が話しています", + "people_talking": "{count} 人が話しています", + "no_results": "見つかりませんでした" }, "password_reset": { - "forgot_password": "パスワードを、わすれましたか?", + "forgot_password": "パスワードを忘れましたか?", "password_reset": "パスワードリセット", - "instruction": "あなたのメールアドレスかユーザーめいをいれてください。パスワードをリセットするためのリンクをおくります。", - "placeholder": "あなたのメールアドレスかユーザーめい", - "check_email": "パスワードをリセットするためのリンクがかかれたメールが、とどいているかどうか、みてください。", - "return_home": "ホームページにもどる", - "not_found": "そのメールアドレスまたはユーザーめいを、みつけることができませんでした。", - "too_many_requests": "パスワードリセットを、ためすことが、おおすぎます。しばらくしてから、ためしてください。", - "password_reset_disabled": "このインスタンスでは、パスワードリセットは、できません。インスタンスのアドミニストレーターに、おといあわせください。" + "instruction": "メールアドレスまたはユーザー名を入力してください。パスワードをリセットするためのリンクを送信します。", + "placeholder": "メールアドレスまたはユーザー名", + "check_email": "パスワードをリセットするためのリンクが記載されたメールが届いているか確認してください。", + "return_home": "ホームページに戻る", + "not_found": "メールアドレスまたはユーザー名が見つかりませんでした。", + "too_many_requests": "試行回数の制限に達しました。しばらく時間を置いてから再試行してください。", + "password_reset_disabled": "このインスタンスではパスワードリセットは無効になっています。インスタンスの管理者に連絡してください。" } } diff --git a/src/i18n/ja_easy.json b/src/i18n/ja_easy.json new file mode 100644 index 00000000..592a7257 --- /dev/null +++ b/src/i18n/ja_easy.json @@ -0,0 +1,639 @@ +{ + "chat": { + "title": "チャット" + }, + "exporter": { + "export": "エクスポート", + "processing": "おまちください。しばらくすると、あなたのファイルをダウンロードするように、メッセージがでます。" + }, + "features_panel": { + "chat": "チャット", + "gopher": "Gopher", + "media_proxy": "メディアプロクシ", + "scope_options": "こうかいはんいせんたく", + "text_limit": "もじのかず", + "title": "ゆうこうなきのう", + "who_to_follow": "おすすめユーザー" + }, + "finder": { + "error_fetching_user": "ユーザーけんさくがエラーになりました。", + "find_user": "ユーザーをさがす" + }, + "general": { + "apply": "てきよう", + "submit": "そうしん", + "more": "つづき", + "generic_error": "エラーになりました", + "optional": "かかなくてもよい", + "show_more": "つづきをみる", + "show_less": "たたむ", + "cancel": "キャンセル", + "disable": "なし", + "enable": "あり", + "confirm": "たしかめる", + "verify": "たしかめる" + }, + "image_cropper": { + "crop_picture": "がぞうをきりぬく", + "save": "セーブ", + "save_without_cropping": "きりぬかずにセーブ", + "cancel": "キャンセル" + }, + "importer": { + "submit": "そうしん", + "success": "インポートできました。", + "error": "インポートがエラーになりました。" + }, + "login": { + "login": "ログイン", + "description": "OAuthでログイン", + "logout": "ログアウト", + "password": "パスワード", + "placeholder": "れい: lain", + "register": "はじめる", + "username": "ユーザーめい", + "hint": "はなしあいにくわわるには、ログインしてください", + "authentication_code": "にんしょうコード", + "enter_recovery_code": "リカバリーコードをいれてください", + "enter_two_factor_code": "2-ファクターコードをいれてください", + "recovery_code": "リカバリーコード", + "heading" : { + "totp" : "2-ファクターにんしょう", + "recovery" : "2-ファクターリカバリー" + } + }, + "media_modal": { + "previous": "まえ", + "next": "つぎ" + }, + "nav": { + "about": "これはなに?", + "back": "もどる", + "chat": "ローカルチャット", + "friend_requests": "フォローリクエスト", + "mentions": "メンション", + "interactions": "やりとり", + "dms": "ダイレクトメッセージ", + "public_tl": "パブリックタイムライン", + "timeline": "タイムライン", + "twkn": "つながっているすべてのネットワーク", + "user_search": "ユーザーをさがす", + "search": "さがす", + "who_to_follow": "おすすめユーザー", + "preferences": "せってい" + }, + "notifications": { + "broken_favorite": "ステータスがみつかりません。さがしています...", + "favorited_you": "あなたのステータスがおきにいりされました", + "followed_you": "フォローされました", + "load_older": "ふるいつうちをみる", + "notifications": "つうち", + "read": "よんだ!", + "repeated_you": "あなたのステータスがリピートされました", + "no_more_notifications": "つうちはありません" + }, + "polls": { + "add_poll": "いれふだをはじめる", + "add_option": "オプションをふやす", + "option": "オプション", + "votes": "いれふだ", + "vote": "ふだをいれる", + "type": "いれふだのかた", + "single_choice": "ひとつえらぶ", + "multiple_choices": "いくつでもえらべる", + "expiry": "いれふだのながさ", + "expires_in": "いれふだは {0} で、おわります", + "expired": "いれふだは {0} まえに、おわりました", + "not_enough_options": "ユニークなオプションが、たりません" + }, + "emoji": { + "stickers": "ステッカー", + "emoji": "えもじ", + "keep_open": "ピッカーをあけたままにする", + "search_emoji": "えもじをさがす", + "add_emoji": "えもじをうちこむ", + "custom": "カスタムえもじ", + "unicode": "ユニコードえもじ" + }, + "stickers": { + "add_sticker": "ステッカーをふやす" + }, + "interactions": { + "favs_repeats": "リピートとおきにいり", + "follows": "あたらしいフォロー", + "load_older": "ふるいやりとりをみる" + }, + "post_status": { + "new_status": "とうこうする", + "account_not_locked_warning": "あなたのアカウントは {0} ではありません。あなたをフォローすれば、だれでも、フォロワーげんていのステータスをよむことができます。", + "account_not_locked_warning_link": "ロックされたアカウント", + "attachments_sensitive": "ファイルをNSFWにする", + "content_type": { + "text/plain": "プレーンテキスト", + "text/html": "HTML", + "text/markdown": "Markdown", + "text/bbcode": "BBCode" + }, + "content_warning": "せつめい (かかなくてもよい)", + "default": "はねだくうこうに、つきました。", + "direct_warning_to_all": "このとうこうは、メンションされたすべてのユーザーが、みることができます。", + "direct_warning_to_first_only": "このとうこうは、メッセージのはじめでメンションされたユーザーだけが、みることができます。", + "direct_warning": "このステータスは、メンションされたユーザーだけが、よむことができます。", + "posting": "とうこう", + "scope_notice": { + "public": "このとうこうは、だれでもみることができます", + "private": "このとうこうは、あなたのフォロワーだけが、みることができます", + "unlisted": "このとうこうは、パブリックタイムラインと、つながっているすべてのネットワークでは、みることができません" + }, + "scope": { + "direct": "ダイレクト: メンションされたユーザーのみにとどきます。", + "private": "フォロワーげんてい: フォロワーのみにとどきます。", + "public": "パブリック: パブリックタイムラインにとどきます。", + "unlisted": "アンリステッド: パブリックタイムラインにとどきません。" + } + }, + "registration": { + "bio": "プロフィール", + "email": "Eメール", + "fullname": "スクリーンネーム", + "password_confirm": "パスワードのかくにん", + "registration": "はじめる", + "token": "しょうたいトークン", + "captcha": "CAPTCHA", + "new_captcha": "もじがよめないときは、がぞうをクリックすると、あたらしいがぞうになります", + "username_placeholder": "れい: lain", + "fullname_placeholder": "れい: いわくら れいん", + "bio_placeholder": "れい:\nごきげんよう。わたしはれいん。\nわたしはアニメのおんなのこで、にほんのベッドタウンにすんでいます。ワイヤードで、わたしにあったことが、あるかもしれませんね。", + "validations": { + "username_required": "なにかかいてください", + "fullname_required": "なにかかいてください", + "email_required": "なにかかいてください", + "password_required": "なにかかいてください", + "password_confirmation_required": "なにかかいてください", + "password_confirmation_match": "パスワードがちがいます" + } + }, + "selectable_list": { + "select_all": "すべてえらぶ" + }, + "settings": { + "app_name": "アプリのなまえ", + "security": "セキュリティ", + "enter_current_password_to_confirm": "あなたのアイデンティティをたしかめるため、あなたのいまのパスワードをかいてください", + "mfa": { + "otp" : "OTP", + "setup_otp" : "OTPをつくる", + "wait_pre_setup_otp" : "OTPをよういしています", + "confirm_and_enable" : "OTPをたしかめて、ゆうこうにする", + "title": "2-ファクターにんしょう", + "generate_new_recovery_codes" : "あたらしいリカバリーコードをつくる", + "warning_of_generate_new_codes" : "あたらしいリカバリーコードをつくったら、ふるいコードはつかえなくなります。", + "recovery_codes" : "リカバリーコード。", + "waiting_a_recovery_codes": "バックアップコードをうけとっています...", + "recovery_codes_warning" : "コードをかきうつすか、ひとにみられないところにセーブしてください。そうでなければ、あなたはこのコードをふたたびみることはできません。もしあなたが、2FAアプリのアクセスをうしなって、なおかつ、リカバリーコードもおもいだせないならば、あなたはあなたのアカウントから、しめだされます。", + "authentication_methods" : "にんしょうメソッド", + "scan": { + "title": "スキャン", + "desc": "あなたの2-ファクターアプリをつかって、このQRコードをスキャンするか、テキストキーをうちこんでください:", + "secret_code": "キー" + }, + "verify": { + "desc": "2-ファクターにんしょうをつかうには、あなたの2-ファクターアプリのコードをいれてください:" + } + }, + "attachmentRadius": "ファイル", + "attachments": "ファイル", + "autoload": "したにスクロールしたとき、じどうてきによみこむ。", + "avatar": "アバター", + "avatarAltRadius": "つうちのアバター", + "avatarRadius": "アバター", + "background": "バックグラウンド", + "bio": "プロフィール", + "block_export": "ブロックのエクスポート", + "block_export_button": "ブロックをCSVファイルにエクスポート", + "block_import": "ブロックのインポート", + "block_import_error": "ブロックのインポートがエラーになりました", + "blocks_imported": "ブロックをインポートしました! じっさいにブロックするまでには、もうしばらくかかります。", + "blocks_tab": "ブロック", + "btnRadius": "ボタン", + "cBlue": "リプライとフォロー", + "cGreen": "リピート", + "cOrange": "おきにいり", + "cRed": "キャンセル", + "change_password": "パスワードをかえる", + "change_password_error": "パスワードをかえることが、できなかったかもしれません。", + "changed_password": "パスワードが、かわりました!", + "collapse_subject": "せつめいのあるとうこうをたたむ", + "composing": "とうこう", + "confirm_new_password": "あたらしいパスワードのかくにん", + "current_avatar": "いまのアバター", + "current_password": "いまのパスワード", + "current_profile_banner": "いまのプロフィールバナー", + "data_import_export_tab": "インポートとエクスポート", + "default_vis": "デフォルトのこうかいはんい", + "delete_account": "アカウントをけす", + "delete_account_description": "あなたのアカウントとメッセージが、きえます。", + "delete_account_error": "アカウントをけすことが、できなかったかもしれません。インスタンスのアドミニストレーターに、おといあわせください。", + "delete_account_instructions": "ほんとうにアカウントをけしてもいいなら、パスワードをかいてください。", + "discoverable": "けんさくなどのサービスで、このアカウントをみつけてもよい", + "avatar_size_instruction": "アバターのおおきさは、150×150ピクセルか、それよりもおおきくするといいです。", + "pad_emoji": "えもじをピッカーでえらんだとき、えもじのまわりにスペースをいれる", + "export_theme": "セーブ", + "filtering": "フィルタリング", + "filtering_explanation": "これらのことばをふくむすべてのものがミュートされます。1ぎょうに1つのことばをかいてください。", + "follow_export": "フォローのエクスポート", + "follow_export_button": "エクスポート", + "follow_export_processing": "おまちください。まもなくファイルをダウンロードできます。", + "follow_import": "フォローインポート", + "follow_import_error": "フォローのインポートがエラーになりました。", + "follows_imported": "フォローがインポートされました! すこしじかんがかかるかもしれません。", + "foreground": "フォアグラウンド", + "general": "ぜんぱん", + "hide_attachments_in_convo": "スレッドのファイルをかくす", + "hide_attachments_in_tl": "タイムラインのファイルをかくす", + "hide_muted_posts": "ミュートしたユーザーのとうこうをかくす", + "max_thumbnails": "ひとつのとうこうにいれられるサムネイルのかず", + "hide_isp": "インスタンススペシフィックパネルをかくす", + "preload_images": "がぞうをさきよみする", + "use_one_click_nsfw": "NSFWなファイルを1クリックでひらく", + "hide_post_stats": "とうこうのとうけいをかくす (れい: おきにいりのかず)", + "hide_user_stats": "ユーザーのとうけいをかくす (れい: フォロワーのかず)", + "hide_filtered_statuses": "フィルターされたとうこうをかくす", + "import_blocks_from_a_csv_file": "CSVファイルからブロックをインポートする", + "import_followers_from_a_csv_file": "CSVファイルからフォローをインポートする", + "import_theme": "ロード", + "inputRadius": "インプットフィールド", + "checkboxRadius": "チェックボックス", + "instance_default": "(デフォルト: {value})", + "instance_default_simple": "(デフォルト)", + "interface": "インターフェース", + "interfaceLanguage": "インターフェースのことば", + "invalid_theme_imported": "このファイルはPleromaのテーマではありません。テーマはへんこうされませんでした。", + "limited_availability": "あなたのブラウザではできません", + "links": "リンク", + "lock_account_description": "あなたがみとめたひとだけ、あなたのアカウントをフォローできる", + "loop_video": "ビデオをくりかえす", + "loop_video_silent_only": "おとのないビデオだけくりかえす", + "mutes_tab": "ミュート", + "play_videos_in_modal": "ビデオをメディアビューアーでみる", + "use_contain_fit": "がぞうのサムネイルを、きりぬかない", + "name": "なまえ", + "name_bio": "なまえとプロフィール", + "new_password": "あたらしいパスワード", + "notification_visibility": "ひょうじするつうち", + "notification_visibility_follows": "フォロー", + "notification_visibility_likes": "おきにいり", + "notification_visibility_mentions": "メンション", + "notification_visibility_repeats": "リピート", + "no_rich_text_description": "リッチテキストをつかわない", + "no_blocks": "ブロックしていません", + "no_mutes": "ミュートしていません", + "hide_follows_description": "フォローしているひとをみせない", + "hide_followers_description": "フォロワーをみせない", + "hide_follows_count_description": "フォローしているひとのかずをみせない", + "hide_followers_count_description": "フォロワーのかずをみせない", + "show_admin_badge": "アドミンのしるしをみせる", + "show_moderator_badge": "モデレーターのしるしをみせる", + "nsfw_clickthrough": "NSFWなファイルをかくす", + "oauth_tokens": "OAuthトークン", + "token": "トークン", + "refresh_token": "トークンをリフレッシュ", + "valid_until": "おわりのとき", + "revoke_token": "とりけす", + "panelRadius": "パネル", + "pause_on_unfocused": "タブにフォーカスがないときストリーミングをとめる", + "presets": "プリセット", + "profile_background": "プロフィールのバックグラウンド", + "profile_banner": "プロフィールバナー", + "profile_tab": "プロフィール", + "radii_help": "インターフェースのまるさをせっていする。", + "replies_in_timeline": "タイムラインのリプライ", + "reply_link_preview": "カーソルをかさねたとき、リプライのプレビューをみる", + "reply_visibility_all": "すべてのリプライをみる", + "reply_visibility_following": "わたしにあてられたリプライと、フォローしているひとからのリプライをみる", + "reply_visibility_self": "わたしにあてられたリプライをみる", + "autohide_floating_post_button": "あたらしいとうこうのボタンを、じどうてきにかくす (モバイル)", + "saving_err": "せっていをセーブできませんでした", + "saving_ok": "せっていをセーブしました", + "search_user_to_block": "ブロックしたいひとを、ここでけんさくできます", + "search_user_to_mute": "ミュートしたいひとを、ここでけんさくできます", + "security_tab": "セキュリティ", + "scope_copy": "リプライするとき、こうかいはんいをコピーする (DMのこうかいはんいは、つねにコピーされます)", + "minimal_scopes_mode": "こうかいはんいせんたくオプションを、ちいさくする", + "set_new_avatar": "あたらしいアバターをせっていする", + "set_new_profile_background": "あたらしいプロフィールのバックグラウンドをせっていする", + "set_new_profile_banner": "あたらしいプロフィールバナーを設定する", + "settings": "せってい", + "subject_input_always_show": "サブジェクトフィールドをいつでもひょうじする", + "subject_line_behavior": "リプライするときサブジェクトをコピーする", + "subject_line_email": "メールふう: \"re: サブジェクト\"", + "subject_line_mastodon": "マストドンふう: そのままコピー", + "subject_line_noop": "コピーしない", + "post_status_content_type": "とうこうのコンテントタイプ", + "stop_gifs": "カーソルをかさねたとき、GIFをうごかす", + "streaming": "うえまでスクロールしたとき、じどうてきにストリーミングする", + "text": "もじ", + "theme": "テーマ", + "theme_help": "カラーテーマをカスタマイズできます", + "theme_help_v2_1": "チェックボックスをONにすると、コンポーネントごとに、いろと、とうめいどを、オーバーライドできます。「すべてクリア」ボタンをおすと、すべてのオーバーライドを、やめます。", + "theme_help_v2_2": "バックグラウンドとテキストのコントラストをあらわすアイコンがあります。マウスをホバーすると、くわしいせつめいがでます。とうめいないろをつかっているときは、もっともわるいばあいのコントラストがしめされます。", + "upload_a_photo": "がぞうをアップロード", + "tooltipRadius": "ツールチップとアラート", + "user_settings": "ユーザーせってい", + "values": { + "false": "いいえ", + "true": "はい" + }, + "notifications": "つうち", + "notification_setting": "つうちをうけとる:", + "notification_setting_follows": "あなたがフォローしているひとから", + "notification_setting_non_follows": "あなたがフォローしていないひとから", + "notification_setting_followers": "あなたをフォローしているひとから", + "notification_setting_non_followers": "あなたをフォローしていないひとから", + "notification_mutes": "あるユーザーからのつうちをとめるには、ミュートしてください。", + "notification_blocks": "ブロックしているユーザーからのつうちは、すべてとまります。", + "enable_web_push_notifications": "ウェブプッシュつうちをゆるす", + "style": { + "switcher": { + "keep_color": "いろをのこす", + "keep_shadows": "かげをのこす", + "keep_opacity": "とうめいどをのこす", + "keep_roundness": "まるさをのこす", + "keep_fonts": "フォントをのこす", + "save_load_hint": "「のこす」オプションをONにすると、テーマをえらんだときとロードしたとき、いまのせっていをのこします。また、テーマをエクスポートするとき、これらのオプションをストアします。すべてのチェックボックスをOFFにすると、テーマをエクスポートしたとき、すべてのせっていをセーブします。", + "reset": "リセット", + "clear_all": "すべてクリア", + "clear_opacity": "とうめいどをクリア" + }, + "common": { + "color": "いろ", + "opacity": "とうめいど", + "contrast": { + "hint": "コントラストは {ratio} です。{level}。({context})", + "level": { + "aa": "AAレベルガイドライン (ミニマル) をみたします", + "aaa": "AAAレベルガイドライン (レコメンデッド) をみたします。", + "bad": "ガイドラインをみたしません。" + }, + "context": { + "18pt": "おおきい (18ポイントいじょう) テキスト", + "text": "テキスト" + } + } + }, + "common_colors": { + "_tab_label": "きょうつう", + "main": "きょうつうのいろ", + "foreground_hint": "「くわしく」タブで、もっとこまかくせっていできます", + "rgbo": "アイコンとアクセントとバッジ" + }, + "advanced_colors": { + "_tab_label": "くわしく", + "alert": "アラートのバックグラウンド", + "alert_error": "エラー", + "badge": "バッジのバックグラウンド", + "badge_notification": "つうち", + "panel_header": "パネルヘッダー", + "top_bar": "トップバー", + "borders": "さかいめ", + "buttons": "ボタン", + "inputs": "インプットフィールド", + "faint_text": "うすいテキスト" + }, + "radii": { + "_tab_label": "まるさ" + }, + "shadows": { + "_tab_label": "ひかりとかげ", + "component": "コンポーネント", + "override": "オーバーライド", + "shadow_id": "かげ #{value}", + "blur": "ぼかし", + "spread": "ひろがり", + "inset": "うちがわ", + "hint": "かげのせっていでは、いろのあたいとして --variable をつかうことができます。これはCSS3へんすうです。ただし、とうめいどのせっていは、きかなくなります。", + "filter_hint": { + "always_drop_shadow": "ブラウザーがサポートしていれば、つねに {0} がつかわれます。", + "drop_shadow_syntax": "{0} は、{1} パラメーターと {2} キーワードをサポートしていません。", + "avatar_inset": "うちがわのかげと、そとがわのかげを、いっしょにつかうと、とうめいなアバターが、へんなみためになります。", + "spread_zero": "ひろがりが 0 よりもおおきなかげは、0 とおなじです。", + "inset_classic": "うちがわのかげは {0} をつかいます。" + }, + "components": { + "panel": "パネル", + "panelHeader": "パネルヘッダー", + "topBar": "トップバー", + "avatar": "ユーザーアバター (プロフィール)", + "avatarStatus": "ユーザーアバター (とうこう)", + "popup": "ポップアップとツールチップ", + "button": "ボタン", + "buttonHover": "ボタン (ホバー)", + "buttonPressed": "ボタン (おされているとき)", + "buttonPressedHover": "ボタン (ホバー、かつ、おされているとき)", + "input": "インプットフィールド" + } + }, + "fonts": { + "_tab_label": "フォント", + "help": "「カスタム」をえらんだときは、システムにあるフォントのなまえを、ただしくにゅうりょくしてください。", + "components": { + "interface": "インターフェース", + "input": "インプットフィールド", + "post": "とうこう", + "postCode": "モノスペース (とうこうがリッチテキストであるとき)" + }, + "family": "フォントめい", + "size": "おおきさ (px)", + "weight": "ふとさ", + "custom": "カスタム" + }, + "preview": { + "header": "プレビュー", + "content": "ほんぶん", + "error": "エラーのれい", + "button": "ボタン", + "text": "これは{0}と{1}のれいです。", + "mono": "monospace", + "input": "はねだくうこうに、つきました。", + "faint_link": "とてもたすけになるマニュアル", + "fine_print": "わたしたちの{0}を、よまないでください!", + "header_faint": "エラーではありません", + "checkbox": "りようきやくを、よみました", + "link": "ハイパーリンク" + } + }, + "version": { + "title": "バージョン", + "backend_version": "バックエンドのバージョン", + "frontend_version": "フロントエンドのバージョン" + } + }, + "time": { + "day": "{0}日", + "days": "{0}日", + "day_short": "{0}日", + "days_short": "{0}日", + "hour": "{0}時間", + "hours": "{0}時間", + "hour_short": "{0}時間", + "hours_short": "{0}時間", + "in_future": "{0}で", + "in_past": "{0}前", + "minute": "{0}分", + "minutes": "{0}分", + "minute_short": "{0}分", + "minutes_short": "{0}分", + "month": "{0}ヶ月前", + "months": "{0}ヶ月前", + "month_short": "{0}ヶ月前", + "months_short": "{0}ヶ月前", + "now": "たった今", + "now_short": "たった今", + "second": "{0}秒", + "seconds": "{0}秒", + "second_short": "{0}秒", + "seconds_short": "{0}秒", + "week": "{0}週間", + "weeks": "{0}週間", + "week_short": "{0}週間", + "weeks_short": "{0}週間", + "year": "{0}年", + "years": "{0}年", + "year_short": "{0}年", + "years_short": "{0}年" + }, + "timeline": { + "collapse": "たたむ", + "conversation": "スレッド", + "error_fetching": "よみこみがエラーになりました", + "load_older": "ふるいステータス", + "no_retweet_hint": "とうこうを「フォロワーのみ」または「ダイレクト」にすると、リピートできなくなります", + "repeated": "リピート", + "show_new": "よみこみ", + "up_to_date": "さいしん", + "no_more_statuses": "これでおわりです", + "no_statuses": "ありません" + }, + "status": { + "favorites": "おきにいり", + "repeats": "リピート", + "delete": "ステータスをけす", + "pin": "プロフィールにピンどめする", + "unpin": "プロフィールにピンどめするのをやめる", + "pinned": "ピンどめ", + "delete_confirm": "ほんとうに、このステータスを、けしてもいいですか?", + "reply_to": "へんしん:", + "replies_list": "へんしん:", + "mute_conversation": "スレッドをミュートする", + "unmute_conversation": "スレッドをミュートするのをやめる" + }, + "user_card": { + "approve": "うけいれ", + "block": "ブロック", + "blocked": "ブロックしています!", + "deny": "おことわり", + "favorites": "おきにいり", + "follow": "フォロー", + "follow_sent": "リクエストを、おくりました!", + "follow_progress": "リクエストしています…", + "follow_again": "ふたたびリクエストをおくりますか?", + "follow_unfollow": "フォローをやめる", + "followees": "フォロー", + "followers": "フォロワー", + "following": "フォローしています!", + "follows_you": "フォローされました!", + "its_you": "これはあなたです!", + "media": "メディア", + "mention": "メンション", + "mute": "ミュート", + "muted": "ミュートしています!", + "per_day": "/日", + "remote_follow": "リモートフォロー", + "report": "つうほう", + "statuses": "ステータス", + "subscribe": "サブスクライブ", + "unsubscribe": "サブスクライブをやめる", + "unblock": "ブロックをやめる", + "unblock_progress": "ブロックをとりけしています...", + "block_progress": "ブロックしています...", + "unmute": "ミュートをやめる", + "unmute_progress": "ミュートをとりけしています...", + "mute_progress": "ミュートしています...", + "admin_menu": { + "moderation": "モデレーション", + "grant_admin": "アドミンにする", + "revoke_admin": "アドミンをやめさせる", + "grant_moderator": "モデレーターにする", + "revoke_moderator": "モデレーターをやめさせる", + "activate_account": "アカウントをアクティブにする", + "deactivate_account": "アカウントをアクティブでなくする", + "delete_account": "アカウントをけす", + "force_nsfw": "すべてのとうこうをNSFWにする", + "strip_media": "とうこうからメディアをなくす", + "force_unlisted": "とうこうをアンリステッドにする", + "sandbox": "とうこうをフォロワーのみにする", + "disable_remote_subscription": "ほかのインスタンスからフォローされないようにする", + "disable_any_subscription": "フォローされないようにする", + "quarantine": "ほかのインスタンスのユーザーのとうこうをとめる", + "delete_user": "ユーザーをけす", + "delete_user_confirmation": "あなたは、ほんとうに、きはたしかですか? これは、とりけすことが、できません。" + } + }, + "user_profile": { + "timeline_title": "ユーザータイムライン", + "profile_does_not_exist": "ごめんなさい。このプロフィールは、そんざいしません。", + "profile_loading_error": "ごめんなさい。プロフィールのロードがエラーになりました。" + }, + "user_reporting": { + "title": "つうほうする: {0}", + "add_comment_description": "このつうほうは、あなたのインスタンスのモデレーターに、おくられます。このアカウントを、つうほうするりゆうを、せつめいすることができます:", + "additional_comments": "ついかのコメント", + "forward_description": "このアカウントは、ほかのインスタンスのものです。そのインスタンスにも、このつうほうのコピーを、おくりますか?", + "forward_to": "コピーをおくる: {0}", + "submit": "そうしん", + "generic_error": "あなたのリクエストをうけつけようとしましたが、エラーになってしまいました。" + }, + "who_to_follow": { + "more": "くわしく", + "who_to_follow": "おすすめユーザー" + }, + "tool_tip": { + "media_upload": "メディアをアップロード", + "repeat": "リピート", + "reply": "リプライ", + "favorite": "おきにいり", + "user_settings": "ユーザーせってい" + }, + "upload":{ + "error": { + "base": "アップロードにしっぱいしました。", + "file_too_big": "ファイルがおおきすぎます [{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]", + "default": "しばらくしてから、ためしてください" + }, + "file_size_units": { + "B": "B", + "KiB": "KiB", + "MiB": "MiB", + "GiB": "GiB", + "TiB": "TiB" + } + }, + "search": { + "people": "ひとびと", + "hashtags": "ハッシュタグ", + "person_talking": "{count} にんが、はなしています", + "people_talking": "{count} にんが、はなしています", + "no_results": "みつかりませんでした" + }, + "password_reset": { + "forgot_password": "パスワードを、わすれましたか?", + "password_reset": "パスワードリセット", + "instruction": "あなたのメールアドレスかユーザーめいをいれてください。パスワードをリセットするためのリンクをおくります。", + "placeholder": "あなたのメールアドレスかユーザーめい", + "check_email": "パスワードをリセットするためのリンクがかかれたメールが、とどいているかどうか、みてください。", + "return_home": "ホームページにもどる", + "not_found": "そのメールアドレスまたはユーザーめいを、みつけることができませんでした。", + "too_many_requests": "パスワードリセットを、ためすことが、おおすぎます。しばらくしてから、ためしてください。", + "password_reset_disabled": "このインスタンスでは、パスワードリセットは、できません。インスタンスのアドミニストレーターに、おといあわせください。" + } +} diff --git a/src/i18n/ja_pedantic.json b/src/i18n/ja_pedantic.json deleted file mode 100644 index 2ca7dca8..00000000 --- a/src/i18n/ja_pedantic.json +++ /dev/null @@ -1,639 +0,0 @@ -{ - "chat": { - "title": "チャット" - }, - "exporter": { - "export": "エクスポート", - "processing": "処理中です。処理が完了すると、ファイルをダウンロードするよう指示があります。" - }, - "features_panel": { - "chat": "チャット", - "gopher": "Gopher", - "media_proxy": "メディアプロクシ", - "scope_options": "公開範囲選択", - "text_limit": "文字の数", - "title": "有効な機能", - "who_to_follow": "おすすめユーザー" - }, - "finder": { - "error_fetching_user": "ユーザー検索がエラーになりました。", - "find_user": "ユーザーを探す" - }, - "general": { - "apply": "適用", - "submit": "送信", - "more": "続き", - "generic_error": "エラーになりました", - "optional": "省略可", - "show_more": "もっと見る", - "show_less": "たたむ", - "cancel": "キャンセル", - "disable": "無効", - "enable": "有効", - "confirm": "確認", - "verify": "検査" - }, - "image_cropper": { - "crop_picture": "画像を切り抜く", - "save": "保存", - "save_without_cropping": "切り抜かずに保存", - "cancel": "キャンセル" - }, - "importer": { - "submit": "送信", - "success": "正常にインポートされました。", - "error": "このファイルをインポートするとき、エラーが発生しました。" - }, - "login": { - "login": "ログイン", - "description": "OAuthでログイン", - "logout": "ログアウト", - "password": "パスワード", - "placeholder": "例: lain", - "register": "登録", - "username": "ユーザー名", - "hint": "会話に加わるには、ログインしてください", - "authentication_code": "認証コード", - "enter_recovery_code": "リカバリーコードを入力してください", - "enter_two_factor_code": "2段階認証コードを入力してください", - "recovery_code": "リカバリーコード", - "heading" : { - "totp" : "2段階認証", - "recovery" : "2段階リカバリー" - } - }, - "media_modal": { - "previous": "前", - "next": "次" - }, - "nav": { - "about": "このインスタンスについて", - "back": "戻る", - "chat": "ローカルチャット", - "friend_requests": "フォローリクエスト", - "mentions": "通知", - "interactions": "インタラクション", - "dms": "ダイレクトメッセージ", - "public_tl": "パブリックタイムライン", - "timeline": "タイムライン", - "twkn": "接続しているすべてのネットワーク", - "user_search": "ユーザーを探す", - "search": "検索", - "who_to_follow": "おすすめユーザー", - "preferences": "設定" - }, - "notifications": { - "broken_favorite": "ステータスが見つかりません。探しています...", - "favorited_you": "あなたのステータスがお気に入りされました", - "followed_you": "フォローされました", - "load_older": "古い通知をみる", - "notifications": "通知", - "read": "読んだ!", - "repeated_you": "あなたのステータスがリピートされました", - "no_more_notifications": "通知はありません" - }, - "polls": { - "add_poll": "投票を追加", - "add_option": "選択肢を追加", - "option": "選択肢", - "votes": "票", - "vote": "投票", - "type": "投票の形式", - "single_choice": "択一式", - "multiple_choices": "複数選択式", - "expiry": "投票期間", - "expires_in": "投票は {0} で終了します", - "expired": "投票は {0} 前に終了しました", - "not_enough_options": "相異なる選択肢が不足しています" - }, - "emoji": { - "stickers": "ステッカー", - "emoji": "絵文字", - "keep_open": "ピッカーを開いたままにする", - "search_emoji": "絵文字を検索", - "add_emoji": "絵文字を挿入", - "custom": "カスタム絵文字", - "unicode": "Unicode絵文字" - }, - "stickers": { - "add_sticker": "ステッカーを追加" - }, - "interactions": { - "favs_repeats": "リピートとお気に入り", - "follows": "新しいフォロワー", - "load_older": "古いインタラクションを見る" - }, - "post_status": { - "new_status": "投稿する", - "account_not_locked_warning": "あなたのアカウントは {0} ではありません。あなたをフォローすれば、誰でも、フォロワー限定のステータスを読むことができます。", - "account_not_locked_warning_link": "ロックされたアカウント", - "attachments_sensitive": "ファイルをNSFWにする", - "content_type": { - "text/plain": "プレーンテキスト", - "text/html": "HTML", - "text/markdown": "Markdown", - "text/bbcode": "BBCode" - }, - "content_warning": "説明 (省略可)", - "default": "羽田空港に着きました。", - "direct_warning_to_all": "この投稿は、メンションされたすべてのユーザーが、見ることができます。", - "direct_warning_to_first_only": "この投稿は、メッセージの冒頭でメンションされたユーザーだけが、見ることができます。", - "direct_warning": "このステータスは、メンションされたユーザーだけが、読むことができます。", - "posting": "投稿", - "scope_notice": { - "public": "この投稿は、誰でも見ることができます", - "private": "この投稿は、あなたのフォロワーだけが、見ることができます。", - "unlisted": "この投稿は、パブリックタイムラインと、接続しているすべてのネットワークには、表示されません。" - }, - "scope": { - "direct": "ダイレクト: メンションされたユーザーのみに届きます。", - "private": "フォロワーげんてい: フォロワーのみに届きます。", - "public": "パブリック: パブリックタイムラインに届きます。", - "unlisted": "アンリステッド: パブリックタイムラインに届きません。" - } - }, - "registration": { - "bio": "プロフィール", - "email": "Eメール", - "fullname": "スクリーンネーム", - "password_confirm": "パスワードの確認", - "registration": "登録", - "token": "招待トークン", - "captcha": "CAPTCHA", - "new_captcha": "文字が読めないときは、画像をクリックすると、新しい画像になります", - "username_placeholder": "例: lain", - "fullname_placeholder": "例: 岩倉玲音", - "bio_placeholder": "例:\nこんにちは。私は玲音。\n私はアニメのキャラクターで、日本の郊外に住んでいます。私をWiredで見たことがあるかもしれません。", - "validations": { - "username_required": "必須", - "fullname_required": "必須", - "email_required": "必須", - "password_required": "必須", - "password_confirmation_required": "必須", - "password_confirmation_match": "パスワードが違います" - } - }, - "selectable_list": { - "select_all": "すべて選択" - }, - "settings": { - "app_name": "アプリの名称", - "security": "セキュリティ", - "enter_current_password_to_confirm": "あなたのアイデンティティを証明するため、現在のパスワードを入力してください", - "mfa": { - "otp" : "OTP", - "setup_otp" : "OTPのセットアップ", - "wait_pre_setup_otp" : "OTPのプリセット", - "confirm_and_enable" : "OTPの確認と有効化", - "title": "2段階認証", - "generate_new_recovery_codes" : "新しいリカバリーコードを生成", - "warning_of_generate_new_codes" : "新しいリカバリーコードを生成すると、古いコードは使用できなくなります。", - "recovery_codes" : "リカバリーコード。", - "waiting_a_recovery_codes": "バックアップコードを受信しています...", - "recovery_codes_warning" : "コードを紙に書くか、安全な場所に保存してください。そうでなければ、あなたはコードを再び見ることはできません。もし2段階認証アプリのアクセスを喪失し、なおかつ、リカバリーコードもないならば、あなたは自分のアカウントから閉め出されます。", - "authentication_methods" : "認証方法", - "scan": { - "title": "スキャン", - "desc": "あなたの2段階認証アプリを使って、このQRコードをスキャンするか、テキストキーを入力してください:", - "secret_code": "キー" - }, - "verify": { - "desc": "2段階認証を有効にするには、あなたの2段階認証アプリのコードを入力してください:" - } - }, - "attachmentRadius": "ファイル", - "attachments": "ファイル", - "autoload": "下にスクロールしたとき、自動的に読み込む。", - "avatar": "アバター", - "avatarAltRadius": "通知のアバター", - "avatarRadius": "アバター", - "background": "バックグラウンド", - "bio": "プロフィール", - "block_export": "ブロックのエクスポート", - "block_export_button": "ブロックをCSVファイルにエクスポートする", - "block_import": "ブロックのインポート", - "block_import_error": "ブロックのインポートに失敗しました", - "blocks_imported": "ブロックをインポートしました! 実際に処理されるまでに、しばらく時間がかかります。", - "blocks_tab": "ブロック", - "btnRadius": "ボタン", - "cBlue": "返信とフォロー", - "cGreen": "リピート", - "cOrange": "お気に入り", - "cRed": "キャンセル", - "change_password": "パスワードを変える", - "change_password_error": "パスワードを変えることが、できなかったかもしれません。", - "changed_password": "パスワードが、変わりました!", - "collapse_subject": "説明のある投稿をたたむ", - "composing": "投稿", - "confirm_new_password": "新しいパスワードの確認", - "current_avatar": "現在のアバター", - "current_password": "現在のパスワード", - "current_profile_banner": "現在のプロフィールバナー", - "data_import_export_tab": "インポートとエクスポート", - "default_vis": "デフォルトの公開範囲", - "delete_account": "アカウントを消す", - "delete_account_description": "あなたのアカウントとメッセージが、消えます。", - "delete_account_error": "アカウントを消すことが、できなかったかもしれません。インスタンスの管理者に、連絡してください。", - "delete_account_instructions": "本当にアカウントを消してもいいなら、パスワードを入力してください。", - "discoverable": "検索などのサービスでこのアカウントを見つけることを許可する", - "avatar_size_instruction": "アバターの大きさは、150×150ピクセルか、それよりも大きくするといいです。", - "pad_emoji": "ピッカーから絵文字を挿入するとき、絵文字の両側にスペースを入れる", - "export_theme": "保存", - "filtering": "フィルタリング", - "filtering_explanation": "これらの言葉を含むすべてのものがミュートされます。1行に1つの言葉を書いてください。", - "follow_export": "フォローのエクスポート", - "follow_export_button": "エクスポート", - "follow_export_processing": "お待ちください。まもなくファイルをダウンロードできます。", - "follow_import": "フォローのインポート", - "follow_import_error": "フォローのインポートがエラーになりました。", - "follows_imported": "フォローがインポートされました! 少し時間がかかるかもしれません。", - "foreground": "フォアグラウンド", - "general": "全般", - "hide_attachments_in_convo": "スレッドのファイルを隠す", - "hide_attachments_in_tl": "タイムラインのファイルを隠す", - "hide_muted_posts": "ミュートしているユーザーの投稿を隠す", - "max_thumbnails": "投稿に含まれるサムネイルの最大数", - "hide_isp": "インスタンス固有パネルを隠す", - "preload_images": "画像を先読みする", - "use_one_click_nsfw": "NSFWなファイルを1クリックで開く", - "hide_post_stats": "投稿の統計を隠す (例: お気に入りの数)", - "hide_user_stats": "ユーザーの統計を隠す (例: フォロワーの数)", - "hide_filtered_statuses": "フィルターされた投稿を隠す", - "import_blocks_from_a_csv_file": "CSVファイルからブロックをインポートする", - "import_followers_from_a_csv_file": "CSVファイルからフォローをインポートする", - "import_theme": "ロード", - "inputRadius": "インプットフィールド", - "checkboxRadius": "チェックボックス", - "instance_default": "(デフォルト: {value})", - "instance_default_simple": "(デフォルト)", - "interface": "インターフェース", - "interfaceLanguage": "インターフェースの言語", - "invalid_theme_imported": "このファイルはPleromaのテーマではありません。テーマは変更されませんでした。", - "limited_availability": "あなたのブラウザではできません", - "links": "リンク", - "lock_account_description": "あなたが認めた人だけ、あなたのアカウントをフォローできる", - "loop_video": "ビデオを繰り返す", - "loop_video_silent_only": "音のないビデオだけ繰り返す", - "mutes_tab": "ミュート", - "play_videos_in_modal": "ビデオをメディアビューアーで見る", - "use_contain_fit": "画像のサムネイルを、切り抜かない", - "name": "名前", - "name_bio": "名前とプロフィール", - "new_password": "新しいパスワード", - "notification_visibility": "表示する通知", - "notification_visibility_follows": "フォロー", - "notification_visibility_likes": "お気に入り", - "notification_visibility_mentions": "メンション", - "notification_visibility_repeats": "リピート", - "no_rich_text_description": "リッチテキストを使わない", - "no_blocks": "ブロックはありません", - "no_mutes": "ミュートはありません", - "hide_follows_description": "フォローしている人を見せない", - "hide_followers_description": "フォロワーを見せない", - "hide_follows_count_description": "フォローしている人の数を見せない", - "hide_followers_count_description": "フォロワーの数を見せない", - "show_admin_badge": "管理者のバッジを見せる", - "show_moderator_badge": "モデレーターのバッジを見せる", - "nsfw_clickthrough": "NSFWなファイルを隠す", - "oauth_tokens": "OAuthトークン", - "token": "トークン", - "refresh_token": "トークンを更新", - "valid_until": "まで有効", - "revoke_token": "取り消す", - "panelRadius": "パネル", - "pause_on_unfocused": "タブにフォーカスがないときストリーミングを止める", - "presets": "プリセット", - "profile_background": "プロフィールのバックグラウンド", - "profile_banner": "プロフィールバナー", - "profile_tab": "プロフィール", - "radii_help": "インターフェースの丸さを設定する。", - "replies_in_timeline": "タイムラインのリプライ", - "reply_link_preview": "カーソルを重ねたとき、リプライのプレビューを見る", - "reply_visibility_all": "すべてのリプライを見る", - "reply_visibility_following": "私に宛てられたリプライと、フォローしている人からのリプライを見る", - "reply_visibility_self": "私に宛てられたリプライを見る", - "autohide_floating_post_button": "新しい投稿ボタンを自動的に隠す (モバイル)", - "saving_err": "設定を保存できませんでした", - "saving_ok": "設定を保存しました", - "search_user_to_block": "ブロックしたいユーザーを検索", - "search_user_to_mute": "ミュートしたいユーザーを検索", - "security_tab": "セキュリティ", - "scope_copy": "返信するとき、公開範囲をコピーする (DMの公開範囲は、常にコピーされます)", - "minimal_scopes_mode": "公開範囲選択オプションを最小にする", - "set_new_avatar": "新しいアバターを設定する", - "set_new_profile_background": "新しいプロフィールのバックグラウンドを設定する", - "set_new_profile_banner": "新しいプロフィールバナーを設定する", - "settings": "設定", - "subject_input_always_show": "サブジェクトフィールドをいつでも表示する", - "subject_line_behavior": "返信するときサブジェクトをコピーする", - "subject_line_email": "メール風: \"re: サブジェクト\"", - "subject_line_mastodon": "マストドン風: そのままコピー", - "subject_line_noop": "コピーしない", - "post_status_content_type": "投稿のコンテントタイプ", - "stop_gifs": "カーソルを重ねたとき、GIFを動かす", - "streaming": "上までスクロールしたとき、自動的にストリーミングする", - "text": "文字", - "theme": "テーマ", - "theme_help": "カラーテーマをカスタマイズできます", - "theme_help_v2_1": "チェックボックスをONにすると、コンポーネントごとに、色と透明度をオーバーライドできます。「すべてクリア」ボタンを押すと、すべてのオーバーライドをやめます。", - "theme_help_v2_2": "バックグラウンドとテキストのコントラストを表すアイコンがあります。マウスをホバーすると、詳しい説明が出ます。透明な色を使っているときは、最悪の場合のコントラストが示されます。", - "tooltipRadius": "ツールチップとアラート", - "upload_a_photo": "画像をアップロード", - "user_settings": "ユーザー設定", - "values": { - "false": "いいえ", - "true": "はい" - }, - "notifications": "通知", - "notification_setting": "通知を受け取る:", - "notification_setting_follows": "あなたがフォローしているユーザーから", - "notification_setting_non_follows": "あなたがフォローしていないユーザーから", - "notification_setting_followers": "あなたをフォローしているユーザーから", - "notification_setting_non_followers": "あなたをフォローしていないユーザーから", - "notification_mutes": "特定のユーザーからの通知を止めるには、ミュートしてください。", - "notification_blocks": "ブロックしているユーザーからの通知は、すべて止まります。", - "enable_web_push_notifications": "ウェブプッシュ通知を許可する", - "style": { - "switcher": { - "keep_color": "色を残す", - "keep_shadows": "影を残す", - "keep_opacity": "透明度を残す", - "keep_roundness": "丸さを残す", - "keep_fonts": "フォントを残す", - "save_load_hint": "「残す」オプションをONにすると、テーマを選んだときとロードしたとき、現在の設定を残します。また、テーマをエクスポートするとき、これらのオプションを維持します。すべてのチェックボックスをOFFにすると、テーマをエクスポートしたとき、すべての設定を保存します。", - "reset": "リセット", - "clear_all": "すべてクリア", - "clear_opacity": "透明度をクリア" - }, - "common": { - "color": "色", - "opacity": "透明度", - "contrast": { - "hint": "コントラストは {ratio} です。{level}。({context})", - "level": { - "aa": "AAレベルガイドライン (ミニマル) を満たします", - "aaa": "AAAレベルガイドライン (レコメンデッド) を満たします。", - "bad": "ガイドラインを満たしません。" - }, - "context": { - "18pt": "大きい (18ポイント以上) テキスト", - "text": "テキスト" - } - } - }, - "common_colors": { - "_tab_label": "共通", - "main": "共通の色", - "foreground_hint": "「詳細」タブで、もっと細かく設定できます", - "rgbo": "アイコンとアクセントとバッジ" - }, - "advanced_colors": { - "_tab_label": "詳細", - "alert": "アラートのバックグラウンド", - "alert_error": "エラー", - "badge": "バッジのバックグラウンド", - "badge_notification": "通知", - "panel_header": "パネルヘッダー", - "top_bar": "トップバー", - "borders": "境界", - "buttons": "ボタン", - "inputs": "インプットフィールド", - "faint_text": "薄いテキスト" - }, - "radii": { - "_tab_label": "丸さ" - }, - "shadows": { - "_tab_label": "光と影", - "component": "コンポーネント", - "override": "オーバーライド", - "shadow_id": "影 #{value}", - "blur": "ぼかし", - "spread": "広がり", - "inset": "内側", - "hint": "影の設定では、色の値として --variable を使うことができます。これはCSS3変数です。ただし、透明度の設定は、効かなくなります。", - "filter_hint": { - "always_drop_shadow": "ブラウザーがサポートしていれば、常に {0} が使われます。", - "drop_shadow_syntax": "{0} は、{1} パラメーターと {2} キーワードをサポートしていません。", - "avatar_inset": "内側の影と外側の影を同時に使うと、透明なアバターの表示が乱れます。", - "spread_zero": "広がりが 0 よりも大きな影は、0 と同じです。", - "inset_classic": "内側の影は {0} を使います。" - }, - "components": { - "panel": "パネル", - "panelHeader": "パネルヘッダー", - "topBar": "トップバー", - "avatar": "ユーザーアバター (プロフィール)", - "avatarStatus": "ユーザーアバター (投稿)", - "popup": "ポップアップとツールチップ", - "button": "ボタン", - "buttonHover": "ボタン (ホバー)", - "buttonPressed": "ボタン (押されているとき)", - "buttonPressedHover": "ボタン (ホバー、かつ、押されているとき)", - "input": "インプットフィールド" - } - }, - "fonts": { - "_tab_label": "フォント", - "help": "「カスタム」を選んだときは、システムにあるフォントの名前を、正しく入力してください。", - "components": { - "interface": "インターフェース", - "input": "インプットフィールド", - "post": "投稿", - "postCode": "等幅 (投稿がリッチテキストであるとき)" - }, - "family": "フォント名", - "size": "大きさ (px)", - "weight": "太さ", - "custom": "カスタム" - }, - "preview": { - "header": "プレビュー", - "content": "本文", - "error": "エラーの例", - "button": "ボタン", - "text": "これは{0}と{1}の例です。", - "mono": "monospace", - "input": "羽田空港に着きました。", - "faint_link": "とても助けになるマニュアル", - "fine_print": "私たちの{0}を、読まないでください!", - "header_faint": "エラーではありません", - "checkbox": "利用規約を読みました", - "link": "ハイパーリンク" - } - }, - "version": { - "title": "バージョン", - "backend_version": "バックエンドのバージョン", - "frontend_version": "フロントエンドのバージョン" - } - }, - "time": { - "day": "{0}日", - "days": "{0}日", - "day_short": "{0}日", - "days_short": "{0}日", - "hour": "{0}時間", - "hours": "{0}時間", - "hour_short": "{0}時間", - "hours_short": "{0}時間", - "in_future": "{0}で", - "in_past": "{0}前", - "minute": "{0}分", - "minutes": "{0}分", - "minute_short": "{0}分", - "minutes_short": "{0}分", - "month": "{0}ヶ月前", - "months": "{0}ヶ月前", - "month_short": "{0}ヶ月前", - "months_short": "{0}ヶ月前", - "now": "たった今", - "now_short": "たった今", - "second": "{0}秒", - "seconds": "{0}秒", - "second_short": "{0}秒", - "seconds_short": "{0}秒", - "week": "{0}週間", - "weeks": "{0}週間", - "week_short": "{0}週間", - "weeks_short": "{0}週間", - "year": "{0}年", - "years": "{0}年", - "year_short": "{0}年", - "years_short": "{0}年" - }, - "timeline": { - "collapse": "たたむ", - "conversation": "スレッド", - "error_fetching": "読み込みがエラーになりました", - "load_older": "古いステータス", - "no_retweet_hint": "投稿を「フォロワーのみ」または「ダイレクト」にすると、リピートできなくなります", - "repeated": "リピート", - "show_new": "読み込み", - "up_to_date": "最新", - "no_more_statuses": "これで終わりです", - "no_statuses": "ステータスはありません" - }, - "status": { - "favorites": "お気に入り", - "repeats": "リピート", - "delete": "ステータスを削除", - "pin": "プロフィールにピン留め", - "unpin": "プロフィールのピン留めを外す", - "pinned": "ピン留め", - "delete_confirm": "本当にこのステータスを削除してもよろしいですか?", - "reply_to": "返信", - "replies_list": "返信:", - "mute_conversation": "スレッドをミュート", - "unmute_conversation": "スレッドのミュートを解除" - }, - "user_card": { - "approve": "受け入れ", - "block": "ブロック", - "blocked": "ブロックしています!", - "deny": "お断り", - "favorites": "お気に入り", - "follow": "フォロー", - "follow_sent": "リクエストを送りました!", - "follow_progress": "リクエストしています…", - "follow_again": "再びリクエストを送りますか?", - "follow_unfollow": "フォローをやめる", - "followees": "フォロー", - "followers": "フォロワー", - "following": "フォローしています!", - "follows_you": "フォローされました!", - "its_you": "これはあなたです!", - "media": "メディア", - "mention": "メンション", - "mute": "ミュート", - "muted": "ミュートしています!", - "per_day": "/日", - "remote_follow": "リモートフォロー", - "report": "通報", - "statuses": "ステータス", - "subscribe": "購読", - "unsubscribe": "購読を解除", - "unblock": "ブロック解除", - "unblock_progress": "ブロックを解除しています...", - "block_progress": "ブロックしています...", - "unmute": "ミュート解除", - "unmute_progress": "ミュートを解除しています...", - "mute_progress": "ミュートしています...", - "admin_menu": { - "moderation": "モデレーション", - "grant_admin": "管理者権限を付与", - "revoke_admin": "管理者権限を解除", - "grant_moderator": "モデレーター権限を付与", - "revoke_moderator": "モデレーター権限を解除", - "activate_account": "アカウントをアクティブにする", - "deactivate_account": "アカウントをアクティブでなくする", - "delete_account": "アカウントを削除", - "force_nsfw": "すべての投稿をNSFWにする", - "strip_media": "投稿からメディアを除去する", - "force_unlisted": "投稿を未収載にする", - "sandbox": "投稿をフォロワーのみにする", - "disable_remote_subscription": "他のインスタンスからフォローされないようにする", - "disable_any_subscription": "フォローされないようにする", - "quarantine": "他のインスタンスからの投稿を止める", - "delete_user": "ユーザーを削除", - "delete_user_confirmation": "あなたの精神状態に何か問題はございませんか? この操作を取り消すことはできません。" - } - }, - "user_profile": { - "timeline_title": "ユーザータイムライン", - "profile_does_not_exist": "申し訳ない。このプロフィールは存在しません。", - "profile_loading_error": "申し訳ない。プロフィールの読み込みがエラーになりました。" - }, - "user_reporting": { - "title": "通報する: {0}", - "add_comment_description": "この通報は、あなたのインスタンスのモデレーターに送られます。このアカウントを通報する理由を説明することができます:", - "additional_comments": "追加のコメント", - "forward_description": "このアカウントは他のサーバーに置かれています。この通報のコピーをリモートのサーバーに送りますか?", - "forward_to": "転送する: {0}", - "submit": "送信", - "generic_error": "あなたのリクエストを処理しようとしましたが、エラーになりました。" - }, - "who_to_follow": { - "more": "詳細", - "who_to_follow": "おすすめユーザー" - }, - "tool_tip": { - "media_upload": "メディアをアップロード", - "repeat": "リピート", - "reply": "返信", - "favorite": "お気に入り", - "user_settings": "ユーザー設定" - }, - "upload":{ - "error": { - "base": "アップロードに失敗しました。", - "file_too_big": "ファイルが大きすぎます [{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]", - "default": "しばらくしてから試してください" - }, - "file_size_units": { - "B": "B", - "KiB": "KiB", - "MiB": "MiB", - "GiB": "GiB", - "TiB": "TiB" - } - }, - "search": { - "people": "人々", - "hashtags": "ハッシュタグ", - "person_talking": "{count} 人が話しています", - "people_talking": "{count} 人が話しています", - "no_results": "見つかりませんでした" - }, - "password_reset": { - "forgot_password": "パスワードを忘れましたか?", - "password_reset": "パスワードリセット", - "instruction": "メールアドレスまたはユーザー名を入力してください。パスワードをリセットするためのリンクを送信します。", - "placeholder": "メールアドレスまたはユーザー名", - "check_email": "パスワードをリセットするためのリンクが記載されたメールが届いているか確認してください。", - "return_home": "ホームページに戻る", - "not_found": "メールアドレスまたはユーザー名が見つかりませんでした。", - "too_many_requests": "試行回数の制限に達しました。しばらく時間を置いてから再試行してください。", - "password_reset_disabled": "このインスタンスではパスワードリセットは無効になっています。インスタンスの管理者に連絡してください。" - } -} diff --git a/src/i18n/messages.js b/src/i18n/messages.js index 89c8a8c8..774a48e0 100644 --- a/src/i18n/messages.js +++ b/src/i18n/messages.js @@ -24,7 +24,7 @@ const messages = { hu: require('./hu.json'), it: require('./it.json'), ja: require('./ja.json'), - ja_pedantic: require('./ja_pedantic.json'), + ja_easy: require('./ja_easy.json'), ko: require('./ko.json'), nb: require('./nb.json'), nl: require('./nl.json'), -- cgit v1.2.3-70-g09d2 From 55da4462a4934f00486fdcaba5d43b3a092860e9 Mon Sep 17 00:00:00 2001 From: Hakaba Hitoyo Date: Tue, 19 Nov 2019 17:02:45 +0000 Subject: [i18n] Improve easy/pedantic Japanese switching --- src/i18n/ja.json | 639 ---------------------------------------------- src/i18n/ja_pedantic.json | 639 ++++++++++++++++++++++++++++++++++++++++++++++ src/i18n/messages.js | 2 +- 3 files changed, 640 insertions(+), 640 deletions(-) delete mode 100644 src/i18n/ja.json create mode 100644 src/i18n/ja_pedantic.json (limited to 'src/i18n') diff --git a/src/i18n/ja.json b/src/i18n/ja.json deleted file mode 100644 index 2ca7dca8..00000000 --- a/src/i18n/ja.json +++ /dev/null @@ -1,639 +0,0 @@ -{ - "chat": { - "title": "チャット" - }, - "exporter": { - "export": "エクスポート", - "processing": "処理中です。処理が完了すると、ファイルをダウンロードするよう指示があります。" - }, - "features_panel": { - "chat": "チャット", - "gopher": "Gopher", - "media_proxy": "メディアプロクシ", - "scope_options": "公開範囲選択", - "text_limit": "文字の数", - "title": "有効な機能", - "who_to_follow": "おすすめユーザー" - }, - "finder": { - "error_fetching_user": "ユーザー検索がエラーになりました。", - "find_user": "ユーザーを探す" - }, - "general": { - "apply": "適用", - "submit": "送信", - "more": "続き", - "generic_error": "エラーになりました", - "optional": "省略可", - "show_more": "もっと見る", - "show_less": "たたむ", - "cancel": "キャンセル", - "disable": "無効", - "enable": "有効", - "confirm": "確認", - "verify": "検査" - }, - "image_cropper": { - "crop_picture": "画像を切り抜く", - "save": "保存", - "save_without_cropping": "切り抜かずに保存", - "cancel": "キャンセル" - }, - "importer": { - "submit": "送信", - "success": "正常にインポートされました。", - "error": "このファイルをインポートするとき、エラーが発生しました。" - }, - "login": { - "login": "ログイン", - "description": "OAuthでログイン", - "logout": "ログアウト", - "password": "パスワード", - "placeholder": "例: lain", - "register": "登録", - "username": "ユーザー名", - "hint": "会話に加わるには、ログインしてください", - "authentication_code": "認証コード", - "enter_recovery_code": "リカバリーコードを入力してください", - "enter_two_factor_code": "2段階認証コードを入力してください", - "recovery_code": "リカバリーコード", - "heading" : { - "totp" : "2段階認証", - "recovery" : "2段階リカバリー" - } - }, - "media_modal": { - "previous": "前", - "next": "次" - }, - "nav": { - "about": "このインスタンスについて", - "back": "戻る", - "chat": "ローカルチャット", - "friend_requests": "フォローリクエスト", - "mentions": "通知", - "interactions": "インタラクション", - "dms": "ダイレクトメッセージ", - "public_tl": "パブリックタイムライン", - "timeline": "タイムライン", - "twkn": "接続しているすべてのネットワーク", - "user_search": "ユーザーを探す", - "search": "検索", - "who_to_follow": "おすすめユーザー", - "preferences": "設定" - }, - "notifications": { - "broken_favorite": "ステータスが見つかりません。探しています...", - "favorited_you": "あなたのステータスがお気に入りされました", - "followed_you": "フォローされました", - "load_older": "古い通知をみる", - "notifications": "通知", - "read": "読んだ!", - "repeated_you": "あなたのステータスがリピートされました", - "no_more_notifications": "通知はありません" - }, - "polls": { - "add_poll": "投票を追加", - "add_option": "選択肢を追加", - "option": "選択肢", - "votes": "票", - "vote": "投票", - "type": "投票の形式", - "single_choice": "択一式", - "multiple_choices": "複数選択式", - "expiry": "投票期間", - "expires_in": "投票は {0} で終了します", - "expired": "投票は {0} 前に終了しました", - "not_enough_options": "相異なる選択肢が不足しています" - }, - "emoji": { - "stickers": "ステッカー", - "emoji": "絵文字", - "keep_open": "ピッカーを開いたままにする", - "search_emoji": "絵文字を検索", - "add_emoji": "絵文字を挿入", - "custom": "カスタム絵文字", - "unicode": "Unicode絵文字" - }, - "stickers": { - "add_sticker": "ステッカーを追加" - }, - "interactions": { - "favs_repeats": "リピートとお気に入り", - "follows": "新しいフォロワー", - "load_older": "古いインタラクションを見る" - }, - "post_status": { - "new_status": "投稿する", - "account_not_locked_warning": "あなたのアカウントは {0} ではありません。あなたをフォローすれば、誰でも、フォロワー限定のステータスを読むことができます。", - "account_not_locked_warning_link": "ロックされたアカウント", - "attachments_sensitive": "ファイルをNSFWにする", - "content_type": { - "text/plain": "プレーンテキスト", - "text/html": "HTML", - "text/markdown": "Markdown", - "text/bbcode": "BBCode" - }, - "content_warning": "説明 (省略可)", - "default": "羽田空港に着きました。", - "direct_warning_to_all": "この投稿は、メンションされたすべてのユーザーが、見ることができます。", - "direct_warning_to_first_only": "この投稿は、メッセージの冒頭でメンションされたユーザーだけが、見ることができます。", - "direct_warning": "このステータスは、メンションされたユーザーだけが、読むことができます。", - "posting": "投稿", - "scope_notice": { - "public": "この投稿は、誰でも見ることができます", - "private": "この投稿は、あなたのフォロワーだけが、見ることができます。", - "unlisted": "この投稿は、パブリックタイムラインと、接続しているすべてのネットワークには、表示されません。" - }, - "scope": { - "direct": "ダイレクト: メンションされたユーザーのみに届きます。", - "private": "フォロワーげんてい: フォロワーのみに届きます。", - "public": "パブリック: パブリックタイムラインに届きます。", - "unlisted": "アンリステッド: パブリックタイムラインに届きません。" - } - }, - "registration": { - "bio": "プロフィール", - "email": "Eメール", - "fullname": "スクリーンネーム", - "password_confirm": "パスワードの確認", - "registration": "登録", - "token": "招待トークン", - "captcha": "CAPTCHA", - "new_captcha": "文字が読めないときは、画像をクリックすると、新しい画像になります", - "username_placeholder": "例: lain", - "fullname_placeholder": "例: 岩倉玲音", - "bio_placeholder": "例:\nこんにちは。私は玲音。\n私はアニメのキャラクターで、日本の郊外に住んでいます。私をWiredで見たことがあるかもしれません。", - "validations": { - "username_required": "必須", - "fullname_required": "必須", - "email_required": "必須", - "password_required": "必須", - "password_confirmation_required": "必須", - "password_confirmation_match": "パスワードが違います" - } - }, - "selectable_list": { - "select_all": "すべて選択" - }, - "settings": { - "app_name": "アプリの名称", - "security": "セキュリティ", - "enter_current_password_to_confirm": "あなたのアイデンティティを証明するため、現在のパスワードを入力してください", - "mfa": { - "otp" : "OTP", - "setup_otp" : "OTPのセットアップ", - "wait_pre_setup_otp" : "OTPのプリセット", - "confirm_and_enable" : "OTPの確認と有効化", - "title": "2段階認証", - "generate_new_recovery_codes" : "新しいリカバリーコードを生成", - "warning_of_generate_new_codes" : "新しいリカバリーコードを生成すると、古いコードは使用できなくなります。", - "recovery_codes" : "リカバリーコード。", - "waiting_a_recovery_codes": "バックアップコードを受信しています...", - "recovery_codes_warning" : "コードを紙に書くか、安全な場所に保存してください。そうでなければ、あなたはコードを再び見ることはできません。もし2段階認証アプリのアクセスを喪失し、なおかつ、リカバリーコードもないならば、あなたは自分のアカウントから閉め出されます。", - "authentication_methods" : "認証方法", - "scan": { - "title": "スキャン", - "desc": "あなたの2段階認証アプリを使って、このQRコードをスキャンするか、テキストキーを入力してください:", - "secret_code": "キー" - }, - "verify": { - "desc": "2段階認証を有効にするには、あなたの2段階認証アプリのコードを入力してください:" - } - }, - "attachmentRadius": "ファイル", - "attachments": "ファイル", - "autoload": "下にスクロールしたとき、自動的に読み込む。", - "avatar": "アバター", - "avatarAltRadius": "通知のアバター", - "avatarRadius": "アバター", - "background": "バックグラウンド", - "bio": "プロフィール", - "block_export": "ブロックのエクスポート", - "block_export_button": "ブロックをCSVファイルにエクスポートする", - "block_import": "ブロックのインポート", - "block_import_error": "ブロックのインポートに失敗しました", - "blocks_imported": "ブロックをインポートしました! 実際に処理されるまでに、しばらく時間がかかります。", - "blocks_tab": "ブロック", - "btnRadius": "ボタン", - "cBlue": "返信とフォロー", - "cGreen": "リピート", - "cOrange": "お気に入り", - "cRed": "キャンセル", - "change_password": "パスワードを変える", - "change_password_error": "パスワードを変えることが、できなかったかもしれません。", - "changed_password": "パスワードが、変わりました!", - "collapse_subject": "説明のある投稿をたたむ", - "composing": "投稿", - "confirm_new_password": "新しいパスワードの確認", - "current_avatar": "現在のアバター", - "current_password": "現在のパスワード", - "current_profile_banner": "現在のプロフィールバナー", - "data_import_export_tab": "インポートとエクスポート", - "default_vis": "デフォルトの公開範囲", - "delete_account": "アカウントを消す", - "delete_account_description": "あなたのアカウントとメッセージが、消えます。", - "delete_account_error": "アカウントを消すことが、できなかったかもしれません。インスタンスの管理者に、連絡してください。", - "delete_account_instructions": "本当にアカウントを消してもいいなら、パスワードを入力してください。", - "discoverable": "検索などのサービスでこのアカウントを見つけることを許可する", - "avatar_size_instruction": "アバターの大きさは、150×150ピクセルか、それよりも大きくするといいです。", - "pad_emoji": "ピッカーから絵文字を挿入するとき、絵文字の両側にスペースを入れる", - "export_theme": "保存", - "filtering": "フィルタリング", - "filtering_explanation": "これらの言葉を含むすべてのものがミュートされます。1行に1つの言葉を書いてください。", - "follow_export": "フォローのエクスポート", - "follow_export_button": "エクスポート", - "follow_export_processing": "お待ちください。まもなくファイルをダウンロードできます。", - "follow_import": "フォローのインポート", - "follow_import_error": "フォローのインポートがエラーになりました。", - "follows_imported": "フォローがインポートされました! 少し時間がかかるかもしれません。", - "foreground": "フォアグラウンド", - "general": "全般", - "hide_attachments_in_convo": "スレッドのファイルを隠す", - "hide_attachments_in_tl": "タイムラインのファイルを隠す", - "hide_muted_posts": "ミュートしているユーザーの投稿を隠す", - "max_thumbnails": "投稿に含まれるサムネイルの最大数", - "hide_isp": "インスタンス固有パネルを隠す", - "preload_images": "画像を先読みする", - "use_one_click_nsfw": "NSFWなファイルを1クリックで開く", - "hide_post_stats": "投稿の統計を隠す (例: お気に入りの数)", - "hide_user_stats": "ユーザーの統計を隠す (例: フォロワーの数)", - "hide_filtered_statuses": "フィルターされた投稿を隠す", - "import_blocks_from_a_csv_file": "CSVファイルからブロックをインポートする", - "import_followers_from_a_csv_file": "CSVファイルからフォローをインポートする", - "import_theme": "ロード", - "inputRadius": "インプットフィールド", - "checkboxRadius": "チェックボックス", - "instance_default": "(デフォルト: {value})", - "instance_default_simple": "(デフォルト)", - "interface": "インターフェース", - "interfaceLanguage": "インターフェースの言語", - "invalid_theme_imported": "このファイルはPleromaのテーマではありません。テーマは変更されませんでした。", - "limited_availability": "あなたのブラウザではできません", - "links": "リンク", - "lock_account_description": "あなたが認めた人だけ、あなたのアカウントをフォローできる", - "loop_video": "ビデオを繰り返す", - "loop_video_silent_only": "音のないビデオだけ繰り返す", - "mutes_tab": "ミュート", - "play_videos_in_modal": "ビデオをメディアビューアーで見る", - "use_contain_fit": "画像のサムネイルを、切り抜かない", - "name": "名前", - "name_bio": "名前とプロフィール", - "new_password": "新しいパスワード", - "notification_visibility": "表示する通知", - "notification_visibility_follows": "フォロー", - "notification_visibility_likes": "お気に入り", - "notification_visibility_mentions": "メンション", - "notification_visibility_repeats": "リピート", - "no_rich_text_description": "リッチテキストを使わない", - "no_blocks": "ブロックはありません", - "no_mutes": "ミュートはありません", - "hide_follows_description": "フォローしている人を見せない", - "hide_followers_description": "フォロワーを見せない", - "hide_follows_count_description": "フォローしている人の数を見せない", - "hide_followers_count_description": "フォロワーの数を見せない", - "show_admin_badge": "管理者のバッジを見せる", - "show_moderator_badge": "モデレーターのバッジを見せる", - "nsfw_clickthrough": "NSFWなファイルを隠す", - "oauth_tokens": "OAuthトークン", - "token": "トークン", - "refresh_token": "トークンを更新", - "valid_until": "まで有効", - "revoke_token": "取り消す", - "panelRadius": "パネル", - "pause_on_unfocused": "タブにフォーカスがないときストリーミングを止める", - "presets": "プリセット", - "profile_background": "プロフィールのバックグラウンド", - "profile_banner": "プロフィールバナー", - "profile_tab": "プロフィール", - "radii_help": "インターフェースの丸さを設定する。", - "replies_in_timeline": "タイムラインのリプライ", - "reply_link_preview": "カーソルを重ねたとき、リプライのプレビューを見る", - "reply_visibility_all": "すべてのリプライを見る", - "reply_visibility_following": "私に宛てられたリプライと、フォローしている人からのリプライを見る", - "reply_visibility_self": "私に宛てられたリプライを見る", - "autohide_floating_post_button": "新しい投稿ボタンを自動的に隠す (モバイル)", - "saving_err": "設定を保存できませんでした", - "saving_ok": "設定を保存しました", - "search_user_to_block": "ブロックしたいユーザーを検索", - "search_user_to_mute": "ミュートしたいユーザーを検索", - "security_tab": "セキュリティ", - "scope_copy": "返信するとき、公開範囲をコピーする (DMの公開範囲は、常にコピーされます)", - "minimal_scopes_mode": "公開範囲選択オプションを最小にする", - "set_new_avatar": "新しいアバターを設定する", - "set_new_profile_background": "新しいプロフィールのバックグラウンドを設定する", - "set_new_profile_banner": "新しいプロフィールバナーを設定する", - "settings": "設定", - "subject_input_always_show": "サブジェクトフィールドをいつでも表示する", - "subject_line_behavior": "返信するときサブジェクトをコピーする", - "subject_line_email": "メール風: \"re: サブジェクト\"", - "subject_line_mastodon": "マストドン風: そのままコピー", - "subject_line_noop": "コピーしない", - "post_status_content_type": "投稿のコンテントタイプ", - "stop_gifs": "カーソルを重ねたとき、GIFを動かす", - "streaming": "上までスクロールしたとき、自動的にストリーミングする", - "text": "文字", - "theme": "テーマ", - "theme_help": "カラーテーマをカスタマイズできます", - "theme_help_v2_1": "チェックボックスをONにすると、コンポーネントごとに、色と透明度をオーバーライドできます。「すべてクリア」ボタンを押すと、すべてのオーバーライドをやめます。", - "theme_help_v2_2": "バックグラウンドとテキストのコントラストを表すアイコンがあります。マウスをホバーすると、詳しい説明が出ます。透明な色を使っているときは、最悪の場合のコントラストが示されます。", - "tooltipRadius": "ツールチップとアラート", - "upload_a_photo": "画像をアップロード", - "user_settings": "ユーザー設定", - "values": { - "false": "いいえ", - "true": "はい" - }, - "notifications": "通知", - "notification_setting": "通知を受け取る:", - "notification_setting_follows": "あなたがフォローしているユーザーから", - "notification_setting_non_follows": "あなたがフォローしていないユーザーから", - "notification_setting_followers": "あなたをフォローしているユーザーから", - "notification_setting_non_followers": "あなたをフォローしていないユーザーから", - "notification_mutes": "特定のユーザーからの通知を止めるには、ミュートしてください。", - "notification_blocks": "ブロックしているユーザーからの通知は、すべて止まります。", - "enable_web_push_notifications": "ウェブプッシュ通知を許可する", - "style": { - "switcher": { - "keep_color": "色を残す", - "keep_shadows": "影を残す", - "keep_opacity": "透明度を残す", - "keep_roundness": "丸さを残す", - "keep_fonts": "フォントを残す", - "save_load_hint": "「残す」オプションをONにすると、テーマを選んだときとロードしたとき、現在の設定を残します。また、テーマをエクスポートするとき、これらのオプションを維持します。すべてのチェックボックスをOFFにすると、テーマをエクスポートしたとき、すべての設定を保存します。", - "reset": "リセット", - "clear_all": "すべてクリア", - "clear_opacity": "透明度をクリア" - }, - "common": { - "color": "色", - "opacity": "透明度", - "contrast": { - "hint": "コントラストは {ratio} です。{level}。({context})", - "level": { - "aa": "AAレベルガイドライン (ミニマル) を満たします", - "aaa": "AAAレベルガイドライン (レコメンデッド) を満たします。", - "bad": "ガイドラインを満たしません。" - }, - "context": { - "18pt": "大きい (18ポイント以上) テキスト", - "text": "テキスト" - } - } - }, - "common_colors": { - "_tab_label": "共通", - "main": "共通の色", - "foreground_hint": "「詳細」タブで、もっと細かく設定できます", - "rgbo": "アイコンとアクセントとバッジ" - }, - "advanced_colors": { - "_tab_label": "詳細", - "alert": "アラートのバックグラウンド", - "alert_error": "エラー", - "badge": "バッジのバックグラウンド", - "badge_notification": "通知", - "panel_header": "パネルヘッダー", - "top_bar": "トップバー", - "borders": "境界", - "buttons": "ボタン", - "inputs": "インプットフィールド", - "faint_text": "薄いテキスト" - }, - "radii": { - "_tab_label": "丸さ" - }, - "shadows": { - "_tab_label": "光と影", - "component": "コンポーネント", - "override": "オーバーライド", - "shadow_id": "影 #{value}", - "blur": "ぼかし", - "spread": "広がり", - "inset": "内側", - "hint": "影の設定では、色の値として --variable を使うことができます。これはCSS3変数です。ただし、透明度の設定は、効かなくなります。", - "filter_hint": { - "always_drop_shadow": "ブラウザーがサポートしていれば、常に {0} が使われます。", - "drop_shadow_syntax": "{0} は、{1} パラメーターと {2} キーワードをサポートしていません。", - "avatar_inset": "内側の影と外側の影を同時に使うと、透明なアバターの表示が乱れます。", - "spread_zero": "広がりが 0 よりも大きな影は、0 と同じです。", - "inset_classic": "内側の影は {0} を使います。" - }, - "components": { - "panel": "パネル", - "panelHeader": "パネルヘッダー", - "topBar": "トップバー", - "avatar": "ユーザーアバター (プロフィール)", - "avatarStatus": "ユーザーアバター (投稿)", - "popup": "ポップアップとツールチップ", - "button": "ボタン", - "buttonHover": "ボタン (ホバー)", - "buttonPressed": "ボタン (押されているとき)", - "buttonPressedHover": "ボタン (ホバー、かつ、押されているとき)", - "input": "インプットフィールド" - } - }, - "fonts": { - "_tab_label": "フォント", - "help": "「カスタム」を選んだときは、システムにあるフォントの名前を、正しく入力してください。", - "components": { - "interface": "インターフェース", - "input": "インプットフィールド", - "post": "投稿", - "postCode": "等幅 (投稿がリッチテキストであるとき)" - }, - "family": "フォント名", - "size": "大きさ (px)", - "weight": "太さ", - "custom": "カスタム" - }, - "preview": { - "header": "プレビュー", - "content": "本文", - "error": "エラーの例", - "button": "ボタン", - "text": "これは{0}と{1}の例です。", - "mono": "monospace", - "input": "羽田空港に着きました。", - "faint_link": "とても助けになるマニュアル", - "fine_print": "私たちの{0}を、読まないでください!", - "header_faint": "エラーではありません", - "checkbox": "利用規約を読みました", - "link": "ハイパーリンク" - } - }, - "version": { - "title": "バージョン", - "backend_version": "バックエンドのバージョン", - "frontend_version": "フロントエンドのバージョン" - } - }, - "time": { - "day": "{0}日", - "days": "{0}日", - "day_short": "{0}日", - "days_short": "{0}日", - "hour": "{0}時間", - "hours": "{0}時間", - "hour_short": "{0}時間", - "hours_short": "{0}時間", - "in_future": "{0}で", - "in_past": "{0}前", - "minute": "{0}分", - "minutes": "{0}分", - "minute_short": "{0}分", - "minutes_short": "{0}分", - "month": "{0}ヶ月前", - "months": "{0}ヶ月前", - "month_short": "{0}ヶ月前", - "months_short": "{0}ヶ月前", - "now": "たった今", - "now_short": "たった今", - "second": "{0}秒", - "seconds": "{0}秒", - "second_short": "{0}秒", - "seconds_short": "{0}秒", - "week": "{0}週間", - "weeks": "{0}週間", - "week_short": "{0}週間", - "weeks_short": "{0}週間", - "year": "{0}年", - "years": "{0}年", - "year_short": "{0}年", - "years_short": "{0}年" - }, - "timeline": { - "collapse": "たたむ", - "conversation": "スレッド", - "error_fetching": "読み込みがエラーになりました", - "load_older": "古いステータス", - "no_retweet_hint": "投稿を「フォロワーのみ」または「ダイレクト」にすると、リピートできなくなります", - "repeated": "リピート", - "show_new": "読み込み", - "up_to_date": "最新", - "no_more_statuses": "これで終わりです", - "no_statuses": "ステータスはありません" - }, - "status": { - "favorites": "お気に入り", - "repeats": "リピート", - "delete": "ステータスを削除", - "pin": "プロフィールにピン留め", - "unpin": "プロフィールのピン留めを外す", - "pinned": "ピン留め", - "delete_confirm": "本当にこのステータスを削除してもよろしいですか?", - "reply_to": "返信", - "replies_list": "返信:", - "mute_conversation": "スレッドをミュート", - "unmute_conversation": "スレッドのミュートを解除" - }, - "user_card": { - "approve": "受け入れ", - "block": "ブロック", - "blocked": "ブロックしています!", - "deny": "お断り", - "favorites": "お気に入り", - "follow": "フォロー", - "follow_sent": "リクエストを送りました!", - "follow_progress": "リクエストしています…", - "follow_again": "再びリクエストを送りますか?", - "follow_unfollow": "フォローをやめる", - "followees": "フォロー", - "followers": "フォロワー", - "following": "フォローしています!", - "follows_you": "フォローされました!", - "its_you": "これはあなたです!", - "media": "メディア", - "mention": "メンション", - "mute": "ミュート", - "muted": "ミュートしています!", - "per_day": "/日", - "remote_follow": "リモートフォロー", - "report": "通報", - "statuses": "ステータス", - "subscribe": "購読", - "unsubscribe": "購読を解除", - "unblock": "ブロック解除", - "unblock_progress": "ブロックを解除しています...", - "block_progress": "ブロックしています...", - "unmute": "ミュート解除", - "unmute_progress": "ミュートを解除しています...", - "mute_progress": "ミュートしています...", - "admin_menu": { - "moderation": "モデレーション", - "grant_admin": "管理者権限を付与", - "revoke_admin": "管理者権限を解除", - "grant_moderator": "モデレーター権限を付与", - "revoke_moderator": "モデレーター権限を解除", - "activate_account": "アカウントをアクティブにする", - "deactivate_account": "アカウントをアクティブでなくする", - "delete_account": "アカウントを削除", - "force_nsfw": "すべての投稿をNSFWにする", - "strip_media": "投稿からメディアを除去する", - "force_unlisted": "投稿を未収載にする", - "sandbox": "投稿をフォロワーのみにする", - "disable_remote_subscription": "他のインスタンスからフォローされないようにする", - "disable_any_subscription": "フォローされないようにする", - "quarantine": "他のインスタンスからの投稿を止める", - "delete_user": "ユーザーを削除", - "delete_user_confirmation": "あなたの精神状態に何か問題はございませんか? この操作を取り消すことはできません。" - } - }, - "user_profile": { - "timeline_title": "ユーザータイムライン", - "profile_does_not_exist": "申し訳ない。このプロフィールは存在しません。", - "profile_loading_error": "申し訳ない。プロフィールの読み込みがエラーになりました。" - }, - "user_reporting": { - "title": "通報する: {0}", - "add_comment_description": "この通報は、あなたのインスタンスのモデレーターに送られます。このアカウントを通報する理由を説明することができます:", - "additional_comments": "追加のコメント", - "forward_description": "このアカウントは他のサーバーに置かれています。この通報のコピーをリモートのサーバーに送りますか?", - "forward_to": "転送する: {0}", - "submit": "送信", - "generic_error": "あなたのリクエストを処理しようとしましたが、エラーになりました。" - }, - "who_to_follow": { - "more": "詳細", - "who_to_follow": "おすすめユーザー" - }, - "tool_tip": { - "media_upload": "メディアをアップロード", - "repeat": "リピート", - "reply": "返信", - "favorite": "お気に入り", - "user_settings": "ユーザー設定" - }, - "upload":{ - "error": { - "base": "アップロードに失敗しました。", - "file_too_big": "ファイルが大きすぎます [{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]", - "default": "しばらくしてから試してください" - }, - "file_size_units": { - "B": "B", - "KiB": "KiB", - "MiB": "MiB", - "GiB": "GiB", - "TiB": "TiB" - } - }, - "search": { - "people": "人々", - "hashtags": "ハッシュタグ", - "person_talking": "{count} 人が話しています", - "people_talking": "{count} 人が話しています", - "no_results": "見つかりませんでした" - }, - "password_reset": { - "forgot_password": "パスワードを忘れましたか?", - "password_reset": "パスワードリセット", - "instruction": "メールアドレスまたはユーザー名を入力してください。パスワードをリセットするためのリンクを送信します。", - "placeholder": "メールアドレスまたはユーザー名", - "check_email": "パスワードをリセットするためのリンクが記載されたメールが届いているか確認してください。", - "return_home": "ホームページに戻る", - "not_found": "メールアドレスまたはユーザー名が見つかりませんでした。", - "too_many_requests": "試行回数の制限に達しました。しばらく時間を置いてから再試行してください。", - "password_reset_disabled": "このインスタンスではパスワードリセットは無効になっています。インスタンスの管理者に連絡してください。" - } -} diff --git a/src/i18n/ja_pedantic.json b/src/i18n/ja_pedantic.json new file mode 100644 index 00000000..2ca7dca8 --- /dev/null +++ b/src/i18n/ja_pedantic.json @@ -0,0 +1,639 @@ +{ + "chat": { + "title": "チャット" + }, + "exporter": { + "export": "エクスポート", + "processing": "処理中です。処理が完了すると、ファイルをダウンロードするよう指示があります。" + }, + "features_panel": { + "chat": "チャット", + "gopher": "Gopher", + "media_proxy": "メディアプロクシ", + "scope_options": "公開範囲選択", + "text_limit": "文字の数", + "title": "有効な機能", + "who_to_follow": "おすすめユーザー" + }, + "finder": { + "error_fetching_user": "ユーザー検索がエラーになりました。", + "find_user": "ユーザーを探す" + }, + "general": { + "apply": "適用", + "submit": "送信", + "more": "続き", + "generic_error": "エラーになりました", + "optional": "省略可", + "show_more": "もっと見る", + "show_less": "たたむ", + "cancel": "キャンセル", + "disable": "無効", + "enable": "有効", + "confirm": "確認", + "verify": "検査" + }, + "image_cropper": { + "crop_picture": "画像を切り抜く", + "save": "保存", + "save_without_cropping": "切り抜かずに保存", + "cancel": "キャンセル" + }, + "importer": { + "submit": "送信", + "success": "正常にインポートされました。", + "error": "このファイルをインポートするとき、エラーが発生しました。" + }, + "login": { + "login": "ログイン", + "description": "OAuthでログイン", + "logout": "ログアウト", + "password": "パスワード", + "placeholder": "例: lain", + "register": "登録", + "username": "ユーザー名", + "hint": "会話に加わるには、ログインしてください", + "authentication_code": "認証コード", + "enter_recovery_code": "リカバリーコードを入力してください", + "enter_two_factor_code": "2段階認証コードを入力してください", + "recovery_code": "リカバリーコード", + "heading" : { + "totp" : "2段階認証", + "recovery" : "2段階リカバリー" + } + }, + "media_modal": { + "previous": "前", + "next": "次" + }, + "nav": { + "about": "このインスタンスについて", + "back": "戻る", + "chat": "ローカルチャット", + "friend_requests": "フォローリクエスト", + "mentions": "通知", + "interactions": "インタラクション", + "dms": "ダイレクトメッセージ", + "public_tl": "パブリックタイムライン", + "timeline": "タイムライン", + "twkn": "接続しているすべてのネットワーク", + "user_search": "ユーザーを探す", + "search": "検索", + "who_to_follow": "おすすめユーザー", + "preferences": "設定" + }, + "notifications": { + "broken_favorite": "ステータスが見つかりません。探しています...", + "favorited_you": "あなたのステータスがお気に入りされました", + "followed_you": "フォローされました", + "load_older": "古い通知をみる", + "notifications": "通知", + "read": "読んだ!", + "repeated_you": "あなたのステータスがリピートされました", + "no_more_notifications": "通知はありません" + }, + "polls": { + "add_poll": "投票を追加", + "add_option": "選択肢を追加", + "option": "選択肢", + "votes": "票", + "vote": "投票", + "type": "投票の形式", + "single_choice": "択一式", + "multiple_choices": "複数選択式", + "expiry": "投票期間", + "expires_in": "投票は {0} で終了します", + "expired": "投票は {0} 前に終了しました", + "not_enough_options": "相異なる選択肢が不足しています" + }, + "emoji": { + "stickers": "ステッカー", + "emoji": "絵文字", + "keep_open": "ピッカーを開いたままにする", + "search_emoji": "絵文字を検索", + "add_emoji": "絵文字を挿入", + "custom": "カスタム絵文字", + "unicode": "Unicode絵文字" + }, + "stickers": { + "add_sticker": "ステッカーを追加" + }, + "interactions": { + "favs_repeats": "リピートとお気に入り", + "follows": "新しいフォロワー", + "load_older": "古いインタラクションを見る" + }, + "post_status": { + "new_status": "投稿する", + "account_not_locked_warning": "あなたのアカウントは {0} ではありません。あなたをフォローすれば、誰でも、フォロワー限定のステータスを読むことができます。", + "account_not_locked_warning_link": "ロックされたアカウント", + "attachments_sensitive": "ファイルをNSFWにする", + "content_type": { + "text/plain": "プレーンテキスト", + "text/html": "HTML", + "text/markdown": "Markdown", + "text/bbcode": "BBCode" + }, + "content_warning": "説明 (省略可)", + "default": "羽田空港に着きました。", + "direct_warning_to_all": "この投稿は、メンションされたすべてのユーザーが、見ることができます。", + "direct_warning_to_first_only": "この投稿は、メッセージの冒頭でメンションされたユーザーだけが、見ることができます。", + "direct_warning": "このステータスは、メンションされたユーザーだけが、読むことができます。", + "posting": "投稿", + "scope_notice": { + "public": "この投稿は、誰でも見ることができます", + "private": "この投稿は、あなたのフォロワーだけが、見ることができます。", + "unlisted": "この投稿は、パブリックタイムラインと、接続しているすべてのネットワークには、表示されません。" + }, + "scope": { + "direct": "ダイレクト: メンションされたユーザーのみに届きます。", + "private": "フォロワーげんてい: フォロワーのみに届きます。", + "public": "パブリック: パブリックタイムラインに届きます。", + "unlisted": "アンリステッド: パブリックタイムラインに届きません。" + } + }, + "registration": { + "bio": "プロフィール", + "email": "Eメール", + "fullname": "スクリーンネーム", + "password_confirm": "パスワードの確認", + "registration": "登録", + "token": "招待トークン", + "captcha": "CAPTCHA", + "new_captcha": "文字が読めないときは、画像をクリックすると、新しい画像になります", + "username_placeholder": "例: lain", + "fullname_placeholder": "例: 岩倉玲音", + "bio_placeholder": "例:\nこんにちは。私は玲音。\n私はアニメのキャラクターで、日本の郊外に住んでいます。私をWiredで見たことがあるかもしれません。", + "validations": { + "username_required": "必須", + "fullname_required": "必須", + "email_required": "必須", + "password_required": "必須", + "password_confirmation_required": "必須", + "password_confirmation_match": "パスワードが違います" + } + }, + "selectable_list": { + "select_all": "すべて選択" + }, + "settings": { + "app_name": "アプリの名称", + "security": "セキュリティ", + "enter_current_password_to_confirm": "あなたのアイデンティティを証明するため、現在のパスワードを入力してください", + "mfa": { + "otp" : "OTP", + "setup_otp" : "OTPのセットアップ", + "wait_pre_setup_otp" : "OTPのプリセット", + "confirm_and_enable" : "OTPの確認と有効化", + "title": "2段階認証", + "generate_new_recovery_codes" : "新しいリカバリーコードを生成", + "warning_of_generate_new_codes" : "新しいリカバリーコードを生成すると、古いコードは使用できなくなります。", + "recovery_codes" : "リカバリーコード。", + "waiting_a_recovery_codes": "バックアップコードを受信しています...", + "recovery_codes_warning" : "コードを紙に書くか、安全な場所に保存してください。そうでなければ、あなたはコードを再び見ることはできません。もし2段階認証アプリのアクセスを喪失し、なおかつ、リカバリーコードもないならば、あなたは自分のアカウントから閉め出されます。", + "authentication_methods" : "認証方法", + "scan": { + "title": "スキャン", + "desc": "あなたの2段階認証アプリを使って、このQRコードをスキャンするか、テキストキーを入力してください:", + "secret_code": "キー" + }, + "verify": { + "desc": "2段階認証を有効にするには、あなたの2段階認証アプリのコードを入力してください:" + } + }, + "attachmentRadius": "ファイル", + "attachments": "ファイル", + "autoload": "下にスクロールしたとき、自動的に読み込む。", + "avatar": "アバター", + "avatarAltRadius": "通知のアバター", + "avatarRadius": "アバター", + "background": "バックグラウンド", + "bio": "プロフィール", + "block_export": "ブロックのエクスポート", + "block_export_button": "ブロックをCSVファイルにエクスポートする", + "block_import": "ブロックのインポート", + "block_import_error": "ブロックのインポートに失敗しました", + "blocks_imported": "ブロックをインポートしました! 実際に処理されるまでに、しばらく時間がかかります。", + "blocks_tab": "ブロック", + "btnRadius": "ボタン", + "cBlue": "返信とフォロー", + "cGreen": "リピート", + "cOrange": "お気に入り", + "cRed": "キャンセル", + "change_password": "パスワードを変える", + "change_password_error": "パスワードを変えることが、できなかったかもしれません。", + "changed_password": "パスワードが、変わりました!", + "collapse_subject": "説明のある投稿をたたむ", + "composing": "投稿", + "confirm_new_password": "新しいパスワードの確認", + "current_avatar": "現在のアバター", + "current_password": "現在のパスワード", + "current_profile_banner": "現在のプロフィールバナー", + "data_import_export_tab": "インポートとエクスポート", + "default_vis": "デフォルトの公開範囲", + "delete_account": "アカウントを消す", + "delete_account_description": "あなたのアカウントとメッセージが、消えます。", + "delete_account_error": "アカウントを消すことが、できなかったかもしれません。インスタンスの管理者に、連絡してください。", + "delete_account_instructions": "本当にアカウントを消してもいいなら、パスワードを入力してください。", + "discoverable": "検索などのサービスでこのアカウントを見つけることを許可する", + "avatar_size_instruction": "アバターの大きさは、150×150ピクセルか、それよりも大きくするといいです。", + "pad_emoji": "ピッカーから絵文字を挿入するとき、絵文字の両側にスペースを入れる", + "export_theme": "保存", + "filtering": "フィルタリング", + "filtering_explanation": "これらの言葉を含むすべてのものがミュートされます。1行に1つの言葉を書いてください。", + "follow_export": "フォローのエクスポート", + "follow_export_button": "エクスポート", + "follow_export_processing": "お待ちください。まもなくファイルをダウンロードできます。", + "follow_import": "フォローのインポート", + "follow_import_error": "フォローのインポートがエラーになりました。", + "follows_imported": "フォローがインポートされました! 少し時間がかかるかもしれません。", + "foreground": "フォアグラウンド", + "general": "全般", + "hide_attachments_in_convo": "スレッドのファイルを隠す", + "hide_attachments_in_tl": "タイムラインのファイルを隠す", + "hide_muted_posts": "ミュートしているユーザーの投稿を隠す", + "max_thumbnails": "投稿に含まれるサムネイルの最大数", + "hide_isp": "インスタンス固有パネルを隠す", + "preload_images": "画像を先読みする", + "use_one_click_nsfw": "NSFWなファイルを1クリックで開く", + "hide_post_stats": "投稿の統計を隠す (例: お気に入りの数)", + "hide_user_stats": "ユーザーの統計を隠す (例: フォロワーの数)", + "hide_filtered_statuses": "フィルターされた投稿を隠す", + "import_blocks_from_a_csv_file": "CSVファイルからブロックをインポートする", + "import_followers_from_a_csv_file": "CSVファイルからフォローをインポートする", + "import_theme": "ロード", + "inputRadius": "インプットフィールド", + "checkboxRadius": "チェックボックス", + "instance_default": "(デフォルト: {value})", + "instance_default_simple": "(デフォルト)", + "interface": "インターフェース", + "interfaceLanguage": "インターフェースの言語", + "invalid_theme_imported": "このファイルはPleromaのテーマではありません。テーマは変更されませんでした。", + "limited_availability": "あなたのブラウザではできません", + "links": "リンク", + "lock_account_description": "あなたが認めた人だけ、あなたのアカウントをフォローできる", + "loop_video": "ビデオを繰り返す", + "loop_video_silent_only": "音のないビデオだけ繰り返す", + "mutes_tab": "ミュート", + "play_videos_in_modal": "ビデオをメディアビューアーで見る", + "use_contain_fit": "画像のサムネイルを、切り抜かない", + "name": "名前", + "name_bio": "名前とプロフィール", + "new_password": "新しいパスワード", + "notification_visibility": "表示する通知", + "notification_visibility_follows": "フォロー", + "notification_visibility_likes": "お気に入り", + "notification_visibility_mentions": "メンション", + "notification_visibility_repeats": "リピート", + "no_rich_text_description": "リッチテキストを使わない", + "no_blocks": "ブロックはありません", + "no_mutes": "ミュートはありません", + "hide_follows_description": "フォローしている人を見せない", + "hide_followers_description": "フォロワーを見せない", + "hide_follows_count_description": "フォローしている人の数を見せない", + "hide_followers_count_description": "フォロワーの数を見せない", + "show_admin_badge": "管理者のバッジを見せる", + "show_moderator_badge": "モデレーターのバッジを見せる", + "nsfw_clickthrough": "NSFWなファイルを隠す", + "oauth_tokens": "OAuthトークン", + "token": "トークン", + "refresh_token": "トークンを更新", + "valid_until": "まで有効", + "revoke_token": "取り消す", + "panelRadius": "パネル", + "pause_on_unfocused": "タブにフォーカスがないときストリーミングを止める", + "presets": "プリセット", + "profile_background": "プロフィールのバックグラウンド", + "profile_banner": "プロフィールバナー", + "profile_tab": "プロフィール", + "radii_help": "インターフェースの丸さを設定する。", + "replies_in_timeline": "タイムラインのリプライ", + "reply_link_preview": "カーソルを重ねたとき、リプライのプレビューを見る", + "reply_visibility_all": "すべてのリプライを見る", + "reply_visibility_following": "私に宛てられたリプライと、フォローしている人からのリプライを見る", + "reply_visibility_self": "私に宛てられたリプライを見る", + "autohide_floating_post_button": "新しい投稿ボタンを自動的に隠す (モバイル)", + "saving_err": "設定を保存できませんでした", + "saving_ok": "設定を保存しました", + "search_user_to_block": "ブロックしたいユーザーを検索", + "search_user_to_mute": "ミュートしたいユーザーを検索", + "security_tab": "セキュリティ", + "scope_copy": "返信するとき、公開範囲をコピーする (DMの公開範囲は、常にコピーされます)", + "minimal_scopes_mode": "公開範囲選択オプションを最小にする", + "set_new_avatar": "新しいアバターを設定する", + "set_new_profile_background": "新しいプロフィールのバックグラウンドを設定する", + "set_new_profile_banner": "新しいプロフィールバナーを設定する", + "settings": "設定", + "subject_input_always_show": "サブジェクトフィールドをいつでも表示する", + "subject_line_behavior": "返信するときサブジェクトをコピーする", + "subject_line_email": "メール風: \"re: サブジェクト\"", + "subject_line_mastodon": "マストドン風: そのままコピー", + "subject_line_noop": "コピーしない", + "post_status_content_type": "投稿のコンテントタイプ", + "stop_gifs": "カーソルを重ねたとき、GIFを動かす", + "streaming": "上までスクロールしたとき、自動的にストリーミングする", + "text": "文字", + "theme": "テーマ", + "theme_help": "カラーテーマをカスタマイズできます", + "theme_help_v2_1": "チェックボックスをONにすると、コンポーネントごとに、色と透明度をオーバーライドできます。「すべてクリア」ボタンを押すと、すべてのオーバーライドをやめます。", + "theme_help_v2_2": "バックグラウンドとテキストのコントラストを表すアイコンがあります。マウスをホバーすると、詳しい説明が出ます。透明な色を使っているときは、最悪の場合のコントラストが示されます。", + "tooltipRadius": "ツールチップとアラート", + "upload_a_photo": "画像をアップロード", + "user_settings": "ユーザー設定", + "values": { + "false": "いいえ", + "true": "はい" + }, + "notifications": "通知", + "notification_setting": "通知を受け取る:", + "notification_setting_follows": "あなたがフォローしているユーザーから", + "notification_setting_non_follows": "あなたがフォローしていないユーザーから", + "notification_setting_followers": "あなたをフォローしているユーザーから", + "notification_setting_non_followers": "あなたをフォローしていないユーザーから", + "notification_mutes": "特定のユーザーからの通知を止めるには、ミュートしてください。", + "notification_blocks": "ブロックしているユーザーからの通知は、すべて止まります。", + "enable_web_push_notifications": "ウェブプッシュ通知を許可する", + "style": { + "switcher": { + "keep_color": "色を残す", + "keep_shadows": "影を残す", + "keep_opacity": "透明度を残す", + "keep_roundness": "丸さを残す", + "keep_fonts": "フォントを残す", + "save_load_hint": "「残す」オプションをONにすると、テーマを選んだときとロードしたとき、現在の設定を残します。また、テーマをエクスポートするとき、これらのオプションを維持します。すべてのチェックボックスをOFFにすると、テーマをエクスポートしたとき、すべての設定を保存します。", + "reset": "リセット", + "clear_all": "すべてクリア", + "clear_opacity": "透明度をクリア" + }, + "common": { + "color": "色", + "opacity": "透明度", + "contrast": { + "hint": "コントラストは {ratio} です。{level}。({context})", + "level": { + "aa": "AAレベルガイドライン (ミニマル) を満たします", + "aaa": "AAAレベルガイドライン (レコメンデッド) を満たします。", + "bad": "ガイドラインを満たしません。" + }, + "context": { + "18pt": "大きい (18ポイント以上) テキスト", + "text": "テキスト" + } + } + }, + "common_colors": { + "_tab_label": "共通", + "main": "共通の色", + "foreground_hint": "「詳細」タブで、もっと細かく設定できます", + "rgbo": "アイコンとアクセントとバッジ" + }, + "advanced_colors": { + "_tab_label": "詳細", + "alert": "アラートのバックグラウンド", + "alert_error": "エラー", + "badge": "バッジのバックグラウンド", + "badge_notification": "通知", + "panel_header": "パネルヘッダー", + "top_bar": "トップバー", + "borders": "境界", + "buttons": "ボタン", + "inputs": "インプットフィールド", + "faint_text": "薄いテキスト" + }, + "radii": { + "_tab_label": "丸さ" + }, + "shadows": { + "_tab_label": "光と影", + "component": "コンポーネント", + "override": "オーバーライド", + "shadow_id": "影 #{value}", + "blur": "ぼかし", + "spread": "広がり", + "inset": "内側", + "hint": "影の設定では、色の値として --variable を使うことができます。これはCSS3変数です。ただし、透明度の設定は、効かなくなります。", + "filter_hint": { + "always_drop_shadow": "ブラウザーがサポートしていれば、常に {0} が使われます。", + "drop_shadow_syntax": "{0} は、{1} パラメーターと {2} キーワードをサポートしていません。", + "avatar_inset": "内側の影と外側の影を同時に使うと、透明なアバターの表示が乱れます。", + "spread_zero": "広がりが 0 よりも大きな影は、0 と同じです。", + "inset_classic": "内側の影は {0} を使います。" + }, + "components": { + "panel": "パネル", + "panelHeader": "パネルヘッダー", + "topBar": "トップバー", + "avatar": "ユーザーアバター (プロフィール)", + "avatarStatus": "ユーザーアバター (投稿)", + "popup": "ポップアップとツールチップ", + "button": "ボタン", + "buttonHover": "ボタン (ホバー)", + "buttonPressed": "ボタン (押されているとき)", + "buttonPressedHover": "ボタン (ホバー、かつ、押されているとき)", + "input": "インプットフィールド" + } + }, + "fonts": { + "_tab_label": "フォント", + "help": "「カスタム」を選んだときは、システムにあるフォントの名前を、正しく入力してください。", + "components": { + "interface": "インターフェース", + "input": "インプットフィールド", + "post": "投稿", + "postCode": "等幅 (投稿がリッチテキストであるとき)" + }, + "family": "フォント名", + "size": "大きさ (px)", + "weight": "太さ", + "custom": "カスタム" + }, + "preview": { + "header": "プレビュー", + "content": "本文", + "error": "エラーの例", + "button": "ボタン", + "text": "これは{0}と{1}の例です。", + "mono": "monospace", + "input": "羽田空港に着きました。", + "faint_link": "とても助けになるマニュアル", + "fine_print": "私たちの{0}を、読まないでください!", + "header_faint": "エラーではありません", + "checkbox": "利用規約を読みました", + "link": "ハイパーリンク" + } + }, + "version": { + "title": "バージョン", + "backend_version": "バックエンドのバージョン", + "frontend_version": "フロントエンドのバージョン" + } + }, + "time": { + "day": "{0}日", + "days": "{0}日", + "day_short": "{0}日", + "days_short": "{0}日", + "hour": "{0}時間", + "hours": "{0}時間", + "hour_short": "{0}時間", + "hours_short": "{0}時間", + "in_future": "{0}で", + "in_past": "{0}前", + "minute": "{0}分", + "minutes": "{0}分", + "minute_short": "{0}分", + "minutes_short": "{0}分", + "month": "{0}ヶ月前", + "months": "{0}ヶ月前", + "month_short": "{0}ヶ月前", + "months_short": "{0}ヶ月前", + "now": "たった今", + "now_short": "たった今", + "second": "{0}秒", + "seconds": "{0}秒", + "second_short": "{0}秒", + "seconds_short": "{0}秒", + "week": "{0}週間", + "weeks": "{0}週間", + "week_short": "{0}週間", + "weeks_short": "{0}週間", + "year": "{0}年", + "years": "{0}年", + "year_short": "{0}年", + "years_short": "{0}年" + }, + "timeline": { + "collapse": "たたむ", + "conversation": "スレッド", + "error_fetching": "読み込みがエラーになりました", + "load_older": "古いステータス", + "no_retweet_hint": "投稿を「フォロワーのみ」または「ダイレクト」にすると、リピートできなくなります", + "repeated": "リピート", + "show_new": "読み込み", + "up_to_date": "最新", + "no_more_statuses": "これで終わりです", + "no_statuses": "ステータスはありません" + }, + "status": { + "favorites": "お気に入り", + "repeats": "リピート", + "delete": "ステータスを削除", + "pin": "プロフィールにピン留め", + "unpin": "プロフィールのピン留めを外す", + "pinned": "ピン留め", + "delete_confirm": "本当にこのステータスを削除してもよろしいですか?", + "reply_to": "返信", + "replies_list": "返信:", + "mute_conversation": "スレッドをミュート", + "unmute_conversation": "スレッドのミュートを解除" + }, + "user_card": { + "approve": "受け入れ", + "block": "ブロック", + "blocked": "ブロックしています!", + "deny": "お断り", + "favorites": "お気に入り", + "follow": "フォロー", + "follow_sent": "リクエストを送りました!", + "follow_progress": "リクエストしています…", + "follow_again": "再びリクエストを送りますか?", + "follow_unfollow": "フォローをやめる", + "followees": "フォロー", + "followers": "フォロワー", + "following": "フォローしています!", + "follows_you": "フォローされました!", + "its_you": "これはあなたです!", + "media": "メディア", + "mention": "メンション", + "mute": "ミュート", + "muted": "ミュートしています!", + "per_day": "/日", + "remote_follow": "リモートフォロー", + "report": "通報", + "statuses": "ステータス", + "subscribe": "購読", + "unsubscribe": "購読を解除", + "unblock": "ブロック解除", + "unblock_progress": "ブロックを解除しています...", + "block_progress": "ブロックしています...", + "unmute": "ミュート解除", + "unmute_progress": "ミュートを解除しています...", + "mute_progress": "ミュートしています...", + "admin_menu": { + "moderation": "モデレーション", + "grant_admin": "管理者権限を付与", + "revoke_admin": "管理者権限を解除", + "grant_moderator": "モデレーター権限を付与", + "revoke_moderator": "モデレーター権限を解除", + "activate_account": "アカウントをアクティブにする", + "deactivate_account": "アカウントをアクティブでなくする", + "delete_account": "アカウントを削除", + "force_nsfw": "すべての投稿をNSFWにする", + "strip_media": "投稿からメディアを除去する", + "force_unlisted": "投稿を未収載にする", + "sandbox": "投稿をフォロワーのみにする", + "disable_remote_subscription": "他のインスタンスからフォローされないようにする", + "disable_any_subscription": "フォローされないようにする", + "quarantine": "他のインスタンスからの投稿を止める", + "delete_user": "ユーザーを削除", + "delete_user_confirmation": "あなたの精神状態に何か問題はございませんか? この操作を取り消すことはできません。" + } + }, + "user_profile": { + "timeline_title": "ユーザータイムライン", + "profile_does_not_exist": "申し訳ない。このプロフィールは存在しません。", + "profile_loading_error": "申し訳ない。プロフィールの読み込みがエラーになりました。" + }, + "user_reporting": { + "title": "通報する: {0}", + "add_comment_description": "この通報は、あなたのインスタンスのモデレーターに送られます。このアカウントを通報する理由を説明することができます:", + "additional_comments": "追加のコメント", + "forward_description": "このアカウントは他のサーバーに置かれています。この通報のコピーをリモートのサーバーに送りますか?", + "forward_to": "転送する: {0}", + "submit": "送信", + "generic_error": "あなたのリクエストを処理しようとしましたが、エラーになりました。" + }, + "who_to_follow": { + "more": "詳細", + "who_to_follow": "おすすめユーザー" + }, + "tool_tip": { + "media_upload": "メディアをアップロード", + "repeat": "リピート", + "reply": "返信", + "favorite": "お気に入り", + "user_settings": "ユーザー設定" + }, + "upload":{ + "error": { + "base": "アップロードに失敗しました。", + "file_too_big": "ファイルが大きすぎます [{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]", + "default": "しばらくしてから試してください" + }, + "file_size_units": { + "B": "B", + "KiB": "KiB", + "MiB": "MiB", + "GiB": "GiB", + "TiB": "TiB" + } + }, + "search": { + "people": "人々", + "hashtags": "ハッシュタグ", + "person_talking": "{count} 人が話しています", + "people_talking": "{count} 人が話しています", + "no_results": "見つかりませんでした" + }, + "password_reset": { + "forgot_password": "パスワードを忘れましたか?", + "password_reset": "パスワードリセット", + "instruction": "メールアドレスまたはユーザー名を入力してください。パスワードをリセットするためのリンクを送信します。", + "placeholder": "メールアドレスまたはユーザー名", + "check_email": "パスワードをリセットするためのリンクが記載されたメールが届いているか確認してください。", + "return_home": "ホームページに戻る", + "not_found": "メールアドレスまたはユーザー名が見つかりませんでした。", + "too_many_requests": "試行回数の制限に達しました。しばらく時間を置いてから再試行してください。", + "password_reset_disabled": "このインスタンスではパスワードリセットは無効になっています。インスタンスの管理者に連絡してください。" + } +} diff --git a/src/i18n/messages.js b/src/i18n/messages.js index 774a48e0..c56ae205 100644 --- a/src/i18n/messages.js +++ b/src/i18n/messages.js @@ -23,7 +23,7 @@ const messages = { he: require('./he.json'), hu: require('./hu.json'), it: require('./it.json'), - ja: require('./ja.json'), + ja: require('./ja_pedantic.json'), ja_easy: require('./ja_easy.json'), ko: require('./ko.json'), nb: require('./nb.json'), -- cgit v1.2.3-70-g09d2 From 2bc63720a5f9da740fa8082d587b6cfdd0c652ee Mon Sep 17 00:00:00 2001 From: kPherox Date: Tue, 10 Dec 2019 23:54:28 +0900 Subject: fix parse for move type notifications --- src/i18n/en.json | 3 ++- src/modules/statuses.js | 5 ++++- src/services/entity_normalizer/entity_normalizer.service.js | 5 ++++- 3 files changed, 10 insertions(+), 3 deletions(-) (limited to 'src/i18n') diff --git a/src/i18n/en.json b/src/i18n/en.json index 85146ef5..f46d5b3d 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -110,7 +110,8 @@ "notifications": "Notifications", "read": "Read!", "repeated_you": "repeated your status", - "no_more_notifications": "No more notifications" + "no_more_notifications": "No more notifications", + "moved_to": "moved to" }, "polls": { "add_poll": "Add Poll", diff --git a/src/modules/statuses.js b/src/modules/statuses.js index f11ffdcd..3cf74a43 100644 --- a/src/modules/statuses.js +++ b/src/modules/statuses.js @@ -305,7 +305,7 @@ const addNewStatuses = (state, { statuses, showImmediately = false, timeline, us const addNewNotifications = (state, { dispatch, notifications, older, visibleNotificationTypes, rootGetters }) => { each(notifications, (notification) => { - if (notification.type !== 'follow') { + if (notification.type !== 'follow' && notification.type !== 'move') { notification.action = addStatusToGlobalStorage(state, notification.action).item notification.status = notification.status && addStatusToGlobalStorage(state, notification.status).item } @@ -338,6 +338,9 @@ const addNewNotifications = (state, { dispatch, notifications, older, visibleNot case 'follow': i18nString = 'followed_you' break + case 'move': + i18nString = 'moved_to' + break } if (i18nString) { diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js index ca79df6f..ee007bee 100644 --- a/src/services/entity_normalizer/entity_normalizer.service.js +++ b/src/services/entity_normalizer/entity_normalizer.service.js @@ -341,10 +341,13 @@ export const parseNotification = (data) => { if (masto) { output.type = mastoDict[data.type] || data.type output.seen = data.pleroma.is_seen - output.status = output.type === 'follow' + output.status = output.type === 'follow' || output.type === 'move' ? null : parseStatus(data.status) output.action = output.status // TODO: Refactor, this is unneeded + output.target = output.type !== 'move' + ? null + : parseUser(data.target) output.from_profile = parseUser(data.account) } else { const parsedNotice = parseStatus(data.notice) -- cgit v1.2.3-70-g09d2 From 6af870cd9069a8fc45b7684d264656dad0cf4a70 Mon Sep 17 00:00:00 2001 From: kPherox Date: Wed, 11 Dec 2019 00:00:10 +0900 Subject: Add view for moves notifications --- src/components/notification/notification.vue | 14 +++++++++++++- src/components/notifications/notifications.scss | 7 ++++++- src/components/settings/settings.vue | 5 +++++ src/i18n/en.json | 1 + src/modules/config.js | 3 ++- src/modules/statuses.js | 3 ++- src/services/notification_utils/notification_utils.js | 3 ++- src/services/push/push.js | 3 ++- static/fontello.json | 6 ++++++ 9 files changed, 39 insertions(+), 6 deletions(-) (limited to 'src/i18n') diff --git a/src/components/notification/notification.vue b/src/components/notification/notification.vue index 1f192c77..cf4d8072 100644 --- a/src/components/notification/notification.vue +++ b/src/components/notification/notification.vue @@ -74,9 +74,13 @@ {{ $t('notifications.followed_you') }} + + + {{ $t('notifications.moved_to') }} +
@@ -115,6 +119,14 @@ @{{ notification.from_profile.screen_name }}
+
+ + @{{ notification.target.screen_name }} + +
diff --git a/src/i18n/en.json b/src/i18n/en.json index f7a26262..f624a1c5 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -452,7 +452,7 @@ "blur": "Blur", "spread": "Spread", "inset": "Inset", - "hint": "For shadows you can also use --variable as a color value to use CSS3 variables. Please note that setting opacity won't work in this case.", + "hintV3": "For shadows you can also use the {0} notation to use other color slot.", "filter_hint": { "always_drop_shadow": "Warning, this shadow always uses {0} when browser supports it.", "drop_shadow_syntax": "{0} does not support {1} parameter and {2} keyword.", -- cgit v1.2.3-70-g09d2 From 9336140486f50159b935001b7ebadf3d9bda89ec Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Wed, 22 Jan 2020 00:37:19 +0200 Subject: massively improved initial theme loading code, added checks and warnings when loading theme files (import/localStorage/defaults) --- src/boot/after_store.js | 32 +++-- src/components/style_switcher/style_switcher.js | 153 ++++++++++++++++++++-- src/components/style_switcher/style_switcher.scss | 4 + src/components/style_switcher/style_switcher.vue | 79 +++++++---- src/i18n/en.json | 12 +- src/modules/config.js | 7 +- src/modules/instance.js | 17 ++- src/services/style_setter/style_setter.js | 27 ++-- 8 files changed, 259 insertions(+), 72 deletions(-) (limited to 'src/i18n') diff --git a/src/boot/after_store.js b/src/boot/after_store.js index 228a0497..6c4f0e1b 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -5,6 +5,8 @@ import App from '../App.vue' import { windowWidth } from '../services/window_utils/window_utils' import { getOrCreateApp, getClientToken } from '../services/new_api/oauth.js' import backendInteractorService from '../services/backend_interactor_service/backend_interactor_service.js' +import { CURRENT_VERSION } from '../services/theme_data/theme_data.service.js' +import { applyTheme } from '../services/style_setter/style_setter.js' const getStatusnetConfig = async ({ store }) => { try { @@ -261,7 +263,7 @@ const checkOAuthToken = async ({ store }) => { try { await store.dispatch('loginUser', store.getters.getUserToken()) } catch (e) { - console.log(e) + console.error(e) } } resolve() @@ -269,23 +271,29 @@ const checkOAuthToken = async ({ store }) => { } const afterStoreSetup = async ({ store, i18n }) => { - if (store.state.config.customTheme) { - // This is a hack to deal with async loading of config.json and themes - // See: style_setter.js, setPreset() - window.themeLoaded = true - store.dispatch('setOption', { - name: 'customTheme', - value: store.state.config.customTheme - }) - } - const width = windowWidth() store.dispatch('setMobileLayout', width <= 800) + await setConfig({ store }) + + const { customTheme, customThemeSource } = store.state.config + const { theme } = store.state.instance + const customThemePresent = customThemeSource || customTheme + + if (customThemePresent) { + if (customThemeSource && customThemeSource.version === CURRENT_VERSION) { + applyTheme(customThemeSource) + } else { + applyTheme(customTheme) + } + } else if (theme) { + // do nothing, it will load asynchronously + } else { + console.error('Failed to load any theme!') + } // Now we can try getting the server settings and logging in await Promise.all([ checkOAuthToken({ store }), - setConfig({ store }), getTOS({ store }), getInstancePanel({ store }), getStickers({ store }), diff --git a/src/components/style_switcher/style_switcher.js b/src/components/style_switcher/style_switcher.js index 799646b1..0ef02f39 100644 --- a/src/components/style_switcher/style_switcher.js +++ b/src/components/style_switcher/style_switcher.js @@ -57,6 +57,8 @@ export default { return { availableStyles: [], selected: this.$store.getters.mergedConfig.theme, + themeWarning: undefined, + tempImportFile: undefined, previewShadows: {}, previewColors: {}, @@ -120,12 +122,62 @@ export default { }) }, mounted () { - this.normalizeLocalState(this.$store.getters.mergedConfig.customTheme) + this.loadThemeFromLocalStorage() if (typeof this.shadowSelected === 'undefined') { this.shadowSelected = this.shadowsAvailable[0] } }, computed: { + themeWarningHelp () { + if (!this.themeWarning) return + const t = this.$t + const pre = 'settings.style.switcher.help.' + const { + origin, + themeEngineVersion, + type, + noActionsPossible + } = this.themeWarning + if (origin === 'file') { + // Loaded v2 theme from file + if (themeEngineVersion === 2 && type === 'wrong_version') { + return t(pre + 'v2_imported') + } + if (themeEngineVersion > CURRENT_VERSION) { + return t(pre + 'future_version_imported') + ' ' + + ( + noActionsPossible + ? t(pre + 'snapshot_missing') + : t(pre + 'snapshot_present') + ) + } + if (themeEngineVersion < CURRENT_VERSION) { + return t(pre + 'future_version_imported') + ' ' + + ( + noActionsPossible + ? t(pre + 'snapshot_missing') + : t(pre + 'snapshot_present') + ) + } + } else if (origin === 'localStorage') { + // FE upgraded from v2 + if (themeEngineVersion === 2) { + return 'upgraded_from_v2' + } + // Admin downgraded FE + if (themeEngineVersion > CURRENT_VERSION) { + return noActionsPossible + ? 'downgraded_theme' + : 'downgraded_theme_missing_snapshot' + } + // Admin upgraded FE + if (themeEngineVersion < CURRENT_VERSION) { + return noActionsPossible + ? 'upgraded_theme' + : 'upgraded_theme_missing_snapshot' + } + } + }, selectedVersion () { return Array.isArray(this.selected) ? 1 : 2 }, @@ -308,10 +360,96 @@ export default { Checkbox }, methods: { + loadTheme ( + { + theme, + source, + _pleroma_theme_version: fileVersion + }, + origin, + forceUseSource = false + ) { + if (!source && !theme) { + throw new Error('Can\'t load theme: empty') + } + const version = (origin === 'localstorage' && !theme.colors) + ? 'l1' + : fileVersion + const themeEngineVersion = (source || {}).themeEngineVersion || 2 + const versionsMatch = themeEngineVersion === CURRENT_VERSION + // Force loading of source if user requested it or if snapshot + // is unavailable + const forcedSourceLoad = (source && forceUseSource) || !theme + if (!versionsMatch && + !forcedSourceLoad && + version !== 'l1' && + origin !== 'defaults' + ) { + if (!theme) { + this.themeWarning = { + origin, + noActionsPossible: true, + themeEngineVersion, + type: 'no_snapshot_old_version' + } + } else if (!versionsMatch) { + this.themeWarning = { + origin, + noActionsPossible: !source, + themeEngineVersion, + type: 'wrong_version' + } + } + } + this.normalizeLocalState(theme, version, source, forcedSourceLoad) + }, + forceLoadLocalStorage () { + this.loadThemeFromLocalStorage(true) + }, + dismissWarning () { + this.themeWarning = undefined + this.tempImportFile = undefined + }, + forceLoad () { + const { origin } = this.themeWarning + switch (origin) { + case 'localstorage': + this.loadThemeFromLocalStorage(true) + break + case 'file': + this.onImport(this.tempImportFile, true) + break + } + }, + loadThemeFromLocalStorage (confirmLoadSource = false) { + const { + customTheme: theme, + customThemeSource: source + } = this.$store.getters.mergedConfig + if (!theme && !source) { + // Anon user or never touched themes + this.loadTheme( + this.$store.state.instance.themeData, + 'defaults', + confirmLoadSource + ) + } else { + this.loadTheme( + { theme, source }, + 'localStorage', + confirmLoadSource + ) + } + }, setCustomTheme () { this.$store.dispatch('setOption', { name: 'customTheme', + value: this.previewTheme + }) + this.$store.dispatch('setOption', { + name: 'customThemeSource', value: { + themeEngineVersion: CURRENT_VERSION, shadows: this.shadowsLocal, fonts: this.fontsLocal, opacity: this.currentOpacity, @@ -331,21 +469,16 @@ export default { this.previewColors.mod ) }, - onImport (parsed) { - if (parsed._pleroma_theme_version === 1) { - this.normalizeLocalState(parsed, 1) - } else if (parsed._pleroma_theme_version >= 2) { - this.normalizeLocalState(parsed.theme, 2, parsed.source) - } + onImport (parsed, forceSource = false) { + this.tempImportFile = parsed + this.loadTheme(parsed, 'file', forceSource) }, importValidator (parsed) { const version = parsed._pleroma_theme_version return version >= 1 || version <= 2 }, clearAll () { - const state = this.$store.getters.mergedConfig.customTheme - const version = state.colors ? 2 : 'l1' - this.normalizeLocalState(this.$store.getters.mergedConfig.customTheme, version, this.$store.getters.mergedConfig.customThemeSource) + this.loadThemeFromLocalStorage() }, // Clears all the extra stuff when loading V1 theme diff --git a/src/components/style_switcher/style_switcher.scss b/src/components/style_switcher/style_switcher.scss index 987245a2..71d0f05e 100644 --- a/src/components/style_switcher/style_switcher.scss +++ b/src/components/style_switcher/style_switcher.scss @@ -1,5 +1,9 @@ @import '../../_variables.scss'; .style-switcher { + .theme-warning { + display: flex; + align-items: baseline; + } .preset-switcher { margin-right: 1em; } diff --git a/src/components/style_switcher/style_switcher.vue b/src/components/style_switcher/style_switcher.vue index 287d31b7..61f8800a 100644 --- a/src/components/style_switcher/style_switcher.vue +++ b/src/components/style_switcher/style_switcher.vue @@ -1,31 +1,60 @@