Date: Fri, 15 Nov 2019 12:52:29 -0500
Subject: show badge visibility user setting checkbox only if needed
---
src/components/user_settings/user_settings.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/user_settings/user_settings.vue b/src/components/user_settings/user_settings.vue
index 8c18cf49..3f1982a6 100644
--- a/src/components/user_settings/user_settings.vue
+++ b/src/components/user_settings/user_settings.vue
@@ -104,7 +104,7 @@
{{ $t('settings.hide_followers_count_description') }}
-
+
{{ $t('settings.show_admin_badge') }}
--
cgit v1.2.3-70-g09d2
From 0995658757b89eeb38b78e997bec2d85b96296af Mon Sep 17 00:00:00 2001
From: kPherox
Date: Tue, 19 Nov 2019 14:07:15 +0000
Subject: backend interactor service: implement startFetchingFollowRequest
backend interactor service: remove unused fetchFollowRequests
---
src/components/nav_panel/nav_panel.js | 7 +------
src/components/side_drawer/side_drawer.js | 4 ++++
src/modules/api.js | 7 +++++++
src/modules/users.js | 1 +
.../backend_interactor_service/backend_interactor_service.js | 8 ++++++--
5 files changed, 19 insertions(+), 8 deletions(-)
diff --git a/src/components/nav_panel/nav_panel.js b/src/components/nav_panel/nav_panel.js
index aa3f7605..7f783acb 100644
--- a/src/components/nav_panel/nav_panel.js
+++ b/src/components/nav_panel/nav_panel.js
@@ -1,12 +1,7 @@
-import followRequestFetcher from '../../services/follow_request_fetcher/follow_request_fetcher.service'
-
const NavPanel = {
created () {
if (this.currentUser && this.currentUser.locked) {
- const store = this.$store
- const credentials = store.state.users.currentUser.credentials
-
- followRequestFetcher.startFetching({ store, credentials })
+ this.$store.dispatch('startFetchingFollowRequest')
}
},
computed: {
diff --git a/src/components/side_drawer/side_drawer.js b/src/components/side_drawer/side_drawer.js
index 567d2e5e..0188cf3e 100644
--- a/src/components/side_drawer/side_drawer.js
+++ b/src/components/side_drawer/side_drawer.js
@@ -10,6 +10,10 @@ const SideDrawer = {
}),
created () {
this.closeGesture = GestureService.swipeGesture(GestureService.DIRECTION_LEFT, this.toggleDrawer)
+
+ if (this.currentUser && this.currentUser.locked) {
+ this.$store.dispatch('startFetchingFollowRequest')
+ }
},
components: { UserCard },
computed: {
diff --git a/src/modules/api.js b/src/modules/api.js
index eb6a7980..1293e3c8 100644
--- a/src/modules/api.js
+++ b/src/modules/api.js
@@ -43,6 +43,13 @@ const api = {
const fetcher = store.state.backendInteractor.startFetchingNotifications({ store })
store.commit('addFetcher', { fetcherName: 'notifications', fetcher })
},
+ startFetchingFollowRequest (store) {
+ // Don't start fetching if we already are.
+ if (store.state.fetchers['followRequest']) return
+
+ const fetcher = store.state.backendInteractor.startFetchingFollowRequest({ store })
+ store.commit('addFetcher', { fetcherName: 'followRequest', fetcher })
+ },
stopFetching (store, fetcherName) {
const fetcher = store.state.fetchers[fetcherName]
window.clearInterval(fetcher)
diff --git a/src/modules/users.js b/src/modules/users.js
index 1c9ff5e8..14b2d8b5 100644
--- a/src/modules/users.js
+++ b/src/modules/users.js
@@ -434,6 +434,7 @@ const users = {
store.dispatch('stopFetching', 'friends')
store.commit('setBackendInteractor', backendInteractorService(store.getters.getToken()))
store.dispatch('stopFetching', 'notifications')
+ store.dispatch('stopFetching', 'followRequest')
store.commit('clearNotifications')
store.commit('resetStatuses')
})
diff --git a/src/services/backend_interactor_service/backend_interactor_service.js b/src/services/backend_interactor_service/backend_interactor_service.js
index d6617276..c16bd1f1 100644
--- a/src/services/backend_interactor_service/backend_interactor_service.js
+++ b/src/services/backend_interactor_service/backend_interactor_service.js
@@ -1,6 +1,7 @@
import apiService from '../api/api.service.js'
import timelineFetcherService from '../timeline_fetcher/timeline_fetcher.service.js'
import notificationsFetcher from '../notifications_fetcher/notifications_fetcher.service.js'
+import followRequestFetcher from '../../services/follow_request_fetcher/follow_request_fetcher.service'
const backendInteractorService = credentials => {
const fetchStatus = ({ id }) => {
@@ -63,6 +64,10 @@ const backendInteractorService = credentials => {
return notificationsFetcher.startFetching({ store, credentials })
}
+ const startFetchingFollowRequest = ({ store }) => {
+ return followRequestFetcher.startFetching({ store, credentials })
+ }
+
// eslint-disable-next-line camelcase
const tagUser = ({ screen_name }, tag) => {
return apiService.tagUser({ screen_name, tag, credentials })
@@ -111,7 +116,6 @@ const backendInteractorService = credentials => {
const subscribeUser = (id) => apiService.subscribeUser({ credentials, id })
const unsubscribeUser = (id) => apiService.unsubscribeUser({ credentials, id })
const fetchBlocks = () => apiService.fetchBlocks({ credentials })
- const fetchFollowRequests = () => apiService.fetchFollowRequests({ credentials })
const fetchOAuthTokens = () => apiService.fetchOAuthTokens({ credentials })
const revokeOAuthToken = (id) => apiService.revokeOAuthToken({ id, credentials })
const fetchPinnedStatuses = (id) => apiService.fetchPinnedStatuses({ credentials, id })
@@ -168,6 +172,7 @@ const backendInteractorService = credentials => {
verifyCredentials: apiService.verifyCredentials,
startFetchingTimeline,
startFetchingNotifications,
+ startFetchingFollowRequest,
fetchMutes,
muteUser,
unmuteUser,
@@ -203,7 +208,6 @@ const backendInteractorService = credentials => {
mfaSetupOTP,
mfaConfirmOTP,
mfaDisableOTP,
- fetchFollowRequests,
approveUser,
denyUser,
vote,
--
cgit v1.2.3-70-g09d2
From a55486f8d78161166e84b2b69709a49b3845c14e Mon Sep 17 00:00:00 2001
From: kPherox
Date: Tue, 19 Nov 2019 14:15:41 +0000
Subject: Normalize profile fields
---
src/services/entity_normalizer/entity_normalizer.service.js | 9 +++++++++
.../services/entity_normalizer/entity_normalizer.spec.js | 13 +++++++++++++
2 files changed, 22 insertions(+)
diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js
index 5f45660d..ca79df6f 100644
--- a/src/services/entity_normalizer/entity_normalizer.service.js
+++ b/src/services/entity_normalizer/entity_normalizer.service.js
@@ -46,6 +46,14 @@ export const parseUser = (data) => {
output.description = data.note
output.description_html = addEmojis(data.note, data.emojis)
+ output.fields = data.fields
+ output.fields_html = data.fields.map(field => {
+ return {
+ name: addEmojis(field.name, data.emojis),
+ value: addEmojis(field.value, data.emojis)
+ }
+ })
+
// Utilize avatar_static for gif avatars?
output.profile_image_url = data.avatar
output.profile_image_url_original = data.avatar
@@ -95,6 +103,7 @@ export const parseUser = (data) => {
if (data.source) {
output.description = data.source.note
output.default_scope = data.source.privacy
+ output.fields = data.source.fields
if (data.source.pleroma) {
output.no_rich_text = data.source.pleroma.no_rich_text
output.show_role = data.source.pleroma.show_role
diff --git a/test/unit/specs/services/entity_normalizer/entity_normalizer.spec.js b/test/unit/specs/services/entity_normalizer/entity_normalizer.spec.js
index 49f378e2..cfb380ba 100644
--- a/test/unit/specs/services/entity_normalizer/entity_normalizer.spec.js
+++ b/test/unit/specs/services/entity_normalizer/entity_normalizer.spec.js
@@ -277,6 +277,19 @@ describe('API Entities normalizer', () => {
expect(parsedUser).to.have.property('description_html').that.contains('
{
+ const user = makeMockUserMasto({ emojis: makeMockEmojiMasto(), fields: [{ name: ':thinking:', value: ':image:' }] })
+
+ const parsedUser = parseUser(user)
+
+ expect(parsedUser).to.have.property('fields_html').to.be.an('array')
+
+ const field = parsedUser.fields_html[0]
+
+ expect(field).to.have.property('name').that.contains('
{
const user = makeMockUserMasto({ pleroma: { hide_followers: true, hide_follows: false, hide_followers_count: false, hide_follows_count: true } })
--
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
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 40e774e05abfce6da3c558c09ce1750c132a580f Mon Sep 17 00:00:00 2001
From: taehoon
Date: Mon, 25 Nov 2019 12:25:01 -0500
Subject: restore muted users collapsing logic on other user’s profiles
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/conversation/conversation.js | 3 ++-
src/components/conversation/conversation.vue | 1 +
src/components/status/status.js | 5 +++--
src/components/timeline/timeline.vue | 2 ++
4 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/components/conversation/conversation.js b/src/components/conversation/conversation.js
index 72ee9c39..08283fff 100644
--- a/src/components/conversation/conversation.js
+++ b/src/components/conversation/conversation.js
@@ -43,7 +43,8 @@ const conversation = {
'collapsable',
'isPage',
'pinnedStatusIdsObject',
- 'inProfile'
+ 'inProfile',
+ 'profileUserId'
],
created () {
if (this.isPage) {
diff --git a/src/components/conversation/conversation.vue b/src/components/conversation/conversation.vue
index 0f1de55f..2e48240a 100644
--- a/src/components/conversation/conversation.vue
+++ b/src/components/conversation/conversation.vue
@@ -27,6 +27,7 @@
:highlight="getHighlight()"
:replies="getReplies(status.id)"
:in-profile="inProfile"
+ :profile-user-id="profileUserId"
class="status-fadein panel-body"
@goto="setHighlight"
@toggleExpanded="toggleExpanded"
diff --git a/src/components/status/status.js b/src/components/status/status.js
index 714ea6d2..c49e729c 100644
--- a/src/components/status/status.js
+++ b/src/components/status/status.js
@@ -33,7 +33,8 @@ const Status = {
'noHeading',
'inlineExpanded',
'showPinned',
- 'inProfile'
+ 'inProfile',
+ 'profileUserId'
],
data () {
return {
@@ -115,7 +116,7 @@ const Status = {
return hits
},
- muted () { return !this.unmuted && ((!this.inProfile && this.status.user.muted) || (!this.inConversation && this.status.thread_muted) || this.muteWordHits.length > 0) },
+ muted () { return !this.unmuted && ((!(this.inProfile && this.status.user.id === this.profileUserId) && this.status.user.muted) || (!this.inConversation && this.status.thread_muted) || this.muteWordHits.length > 0) },
hideFilteredStatuses () {
return this.mergedConfig.hideFilteredStatuses
},
diff --git a/src/components/timeline/timeline.vue b/src/components/timeline/timeline.vue
index f1d3903a..93f6f570 100644
--- a/src/components/timeline/timeline.vue
+++ b/src/components/timeline/timeline.vue
@@ -37,6 +37,7 @@
:collapsable="true"
:pinned-status-ids-object="pinnedStatusIdsObject"
:in-profile="inProfile"
+ :profile-user-id="userId"
/>
@@ -47,6 +48,7 @@
:status-id="status.id"
:collapsable="true"
:in-profile="inProfile"
+ :profile-user-id="userId"
/>