diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 2bf22c4..c872e4e 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -1,92 +1,92 @@ export default { sidebar: { home: 'Home', - stylegen: 'Style Generator', + stylegen: 'Style generator', help: 'Help', plugins: 'Plugins', links: 'Links', - projectAddress: 'Project Address', + projectAddress: 'Project address', discussion: 'Discussions', documentation: 'Documentation', - mall: 'Mall', - giftRecordOfficial: 'Super Chat Records', + mall: 'Bilibili store', + giftRecordOfficial: 'Payment records', }, home: { roomIdEmpty: "Room ID can't be empty", - roomIdInteger: 'Room ID must be positive integer', + roomIdInteger: 'Room ID must be a positive integer', authCodeEmpty: "Identity code can't be empty", authCodeFormatError: 'Identity code format error', - unavailableWhenUsingAuthCode: 'Deprecated. Unavailable when using identity code', + unavailableWhenUsingAuthCode: 'Deprecated — unavailable when using identity code', disabledByServer: 'Disabled by the server', general: 'General', - useAuthCodeWarning: 'Please prioritize the identity code, otherwise usernames will not display and you may not be able to receive messages at any time', + useAuthCodeWarning: 'Please use an identity code whenever possible. Without one, usernames will not display and message retrieval may stop working at any time', room: 'Room', - roomId: 'Room ID (not recommended)', + roomId: 'Room ID (NOT recommended)', authCode: 'Identity code', - howToGetAuthCode: 'How to get identity code', - showDanmaku: 'Show messages', - showGift: 'Show Super Chats and memberships', - showGiftName: 'Show gift name', - mergeSimilarDanmaku: 'Merge similar messages', + howToGetAuthCode: 'How to get an identity code', + showDanmaku: 'Show chat messages', + showGift: 'Show paid messages', + showGiftName: 'Show gift names', + mergeSimilarDanmaku: 'Merge similar chat messages', mergeGift: 'Merge gifts', - minGiftPrice: 'Min price of Super Chats to show (CNY)', + minGiftPrice: 'Min paid message price to show (CNY)', maxNumber: 'Max number of messages', block: 'Block', - giftDanmaku: 'Block system messages (gift effect)', - mirrorMessage: 'Block mirror messages', - blockLevel: 'Block user level lower than', + giftDanmaku: 'Block raffle messages', + mirrorMessage: 'Block cross-room messages', + blockLevel: 'Block user level below', informalUser: 'Block informal users', unverifiedUser: 'Block unverified users', blockKeywords: 'Block keywords', onePerLine: 'One per line', blockUsers: 'Block users', - blockMedalLevel: 'Block medal level lower than', + blockMedalLevel: 'Block medal level below', advanced: 'Advanced', showDebugMessages: 'Show debug messages', - showDebugMessagesTip: 'If the messages cannot be displayed, you can enable this for debugging. Otherwise there is no need to enable it', - relayMessagesByServer: 'Relay messages by the server', - relayMessagesByServerTip: 'Message path when enabled: Bilibili server -> blivechat server -> your browser. Some advanced features require this to be enabled. It is recommended to enable it only when using blivechat locally, and not when using through a remote server', - autoTranslate: 'Auto translate messages to Japanese', - requiresRelayMessagesByServer: 'Requires relay messages by the server', - giftUsernamePronunciation: 'Pronunciation of gift username', + showDebugMessagesTip: 'Enable for troubleshooting when messages fail to display. No need to enable during normal use', + relayMessagesByServer: 'Relay messages through the server', + relayMessagesByServerTip: 'When enabled, message path: Bilibili server → blivechat server → your browser. Required by some advanced features. Recommended when using locally; leave off when connecting to a remote server', + autoTranslate: 'Auto-translate messages to Japanese', + requiresRelayMessagesByServer: 'Requires "Relay messages through the server"', + giftUsernamePronunciation: 'Pronunciation of gift usernames', dontShow: 'None', pinyin: 'Pinyin', kana: 'Kana', - importPresetCss: 'Import the server preset CSS', - importPresetCssTip: 'Automatically import the server CSS file: data/custom_public/preset.css', + importPresetCss: 'Import server preset CSS', + importPresetCssTip: 'Automatically use the server CSS file "data/custom_public/preset.css" without setting the custom CSS in OBS', - emoticon: 'Custom Emotes', - emoticonKeyword: 'Emote Code', + emoticon: 'Custom emotes', + emoticonKeyword: 'Emote code', emoticonUrl: 'URL', - operation: 'Operation', + operation: 'Actions', addEmoticon: 'Add emote', - emoticonFileTooLarge: 'File size is too large. Max size is 1MB', + emoticonFileTooLarge: 'File too large. Max size: 1 MB', - template: 'Custom HTML Templates', + template: 'Custom HTML template', templateHelp: 'Help', templateHelpContent: `\ -
Custom HTML templates allow complete customization of the room page, including DOM structure and CSS styles. - Templates may be developed by third-party authors, and their security and quality are the responsibility of the template author. - You can find some published templates on Custom HTML templates allow full customization of the room page, including DOM structure and CSS styles. + Templates may be developed by third-party authors, who are responsible for their security and quality. + You can find published templates on GitHub Discussions
-To install a template: Put the extracted template directory into the "data/custom_public/templates" directory, then wait - about 10 seconds and refresh the webpage. Alternatively, you can directly enter the template URL to use an online template
-Note: After modifying the template setting, the custom CSS in OBS will not take effect
+Installation: extract the template folder into "data/custom_public/templates" folder, wait about 10 seconds, then refresh the page. + You can also enter a URL directly to use an online template
+Note: after changing the template setting, custom CSS in OBS will no longer take effect by default
Template Development Documentation
+ >Template Development Docs `, templateDefaultTitle: 'Default', - templateDefaultDescription: 'A YouTube-style template that can be styled with custom CSS. Choose this if you are unfamiliar with custom HTML templates, otherwise your custom CSS in OBS will not take effect', + templateDefaultDescription: 'A YouTube-style template that can be customized with CSS. Choose this unless you are familiar with HTML templates, otherwise your custom CSS in OBS will not apply', templateCustomUrlTitle: 'Enter template URL', - templateCustomUrlDescription: 'For templates not listed, you can manually enter the URL provided by the author here', + templateCustomUrlDescription: 'For templates not listed below, paste the URL provided by the author here', author: 'Author: ', - urlTooLong: 'The room URL is too long, and will be truncated by Livehime (but not by OBS)', - roomUrlUpdated: 'The room URL is updated. Remember to copy it again', + urlTooLong: 'The room URL is too long and may be truncated by Bilibili Livehime (OBS is unaffected)', + roomUrlUpdated: 'Room URL updated — remember to re-copy it', roomUrl: 'Room URL', enterRoom: 'Enter room', copyTestRoomUrl: 'Copy test room URL', @@ -97,7 +97,7 @@ export default { }, stylegen: { legacy: 'Classic', - lineLike: 'LINE-like', + lineLike: 'LINE-style', playAnimation: 'Generate messages', messageSpeed: 'Messages per second', @@ -108,17 +108,17 @@ export default { typeSuperChat: 'Super Chat', typeMember: 'Membership', - light: 'light', - dark: 'dark', + light: 'Light', + dark: 'Dark', global: 'Global', - scalingNotice: 'You should modify these options rather than scaling in OBS', + scalingNotice: 'If the text looks too small, adjust these ratio first instead of stretching the browser source in OBS', globalScale: 'Global scale', fontScale: 'Font scale', outlines: 'Outlines', showOutlines: 'Show outlines', - outlineSize: 'Outline size', + outlineSize: 'Outline width', outlineColor: 'Outline color', blurryOutline: 'Blurry', @@ -126,24 +126,24 @@ export default { showAvatars: 'Show avatars', avatarSize: 'Avatar size', - userNames: 'User Names', + userNames: 'User names', showUserNames: 'Show user names', font: 'Font', - fontSelectTip: 'You can also input local font name. Fonts ranked first will be used first', + fontSelectTip: 'You can also enter a local font name. Fonts listed first are given priority', recentFonts: 'Recent fonts', presetFonts: 'Preset fonts', - networkFonts: 'Network fonts', + networkFonts: 'Web fonts', localFonts: 'Local fonts', fontSize: 'Font size', fontWeight: 'Font weight', normalColor: 'Normal color', - ownerColor: 'Owner color', + ownerColor: 'Streamer color', moderatorColor: 'Moderator color', memberColor: 'Member color', showBadges: 'Show badges', showColon: 'Show colon after name', - emoticonSize: 'Emoticon size', - largeEmoticonSize: 'Large emoticon size', + emoticonSize: 'Emote size', + largeEmoticonSize: 'Large emote size', messages: 'Messages', color: 'Color', @@ -156,13 +156,13 @@ export default { backgrounds: 'Backgrounds', bgColor: 'Background color', useBarsInsteadOfBg: 'Use bars instead of backgrounds', - showLargeEmoticonBg: 'Show large emoticon background', - messageBgColor: 'Message background color', - ownerMessageBgColor: 'Owner background color', + showLargeEmoticonBg: 'Show large emote background', + messageBgColor: 'Normal background color', + ownerMessageBgColor: 'Streamer background color', moderatorMessageBgColor: 'Moderator background color', memberMessageBgColor: 'Member background color', - scAndNewMember: 'Super Chat / New Member', + scAndNewMember: 'Paid messages', firstLineFont: 'First line font', firstLineFontSize: 'First line font size', firstLineWeight: 'First line font weight', @@ -176,40 +176,40 @@ export default { scContentWeight: 'Super Chat content font weight', scContentLineColor: 'Super Chat content color', showScTicker: 'Show Super Chat ticker', - showOtherThings: 'Show everything other than Super Chat ticker', + showOtherThings: 'Show content outside the Super Chat ticker', animation: 'Animation', animateIn: 'Animate in', - fadeInTime: 'Fade in time (miliseconds)', + fadeInTime: 'Fade in time (ms)', animateOut: 'Animate out (remove old messages)', - animateOutWaitTime: 'Wait time (seconds)', - fadeOutTime: 'Fade out time (miliseconds)', + animateOutWaitTime: 'Wait time before removal (seconds)', + fadeOutTime: 'Fade out time (ms)', slide: 'Slide', reverseSlide: 'Reverse slide', result: 'Result CSS', copy: 'Copy', editor: 'Editor', - resetConfig: 'Reset config' + resetConfig: 'Reset config to default' }, help: { help: 'Help', - p1_1: '1. Copy the identity code (身份码) from this webpage:', - p1_2: '. NOTE: DO NOT refresh the identity code, unless it is leaked. Once you refresh the identity code, the old one will be invalid', - p2: '2. Enter the identity code into the room configuration on the home page. Copy the room URL', - p3: '3. Generate styles with the style generator. Copy the CSS', - p4: '4. Add browser source in OBS', - p5: '5. Enter the previously copied room URL at URL, and enter the previously copied CSS at custom CSS' + p1_1: '1. Copy the identity code (身份码) from this page:', + p1_2: '. Note: do NOT refresh the identity code unless it has been leaked. Refreshing it invalidates the old code', + p2: '2. Enter the identity code in the room settings on the home page, then copy the room URL', + p3: '3. Use the Style Generator to create your styles, then copy the CSS', + p4: '4. Add a browser source in OBS', + p5: '5. Paste the room URL in the URL field and the CSS in the Custom CSS field' }, room: { - fatalErrorOccurred: 'A fatal error has occurred. Please manually refresh the page to reconnect' + fatalErrorOccurred: 'A fatal error occurred. Please refresh the page to reconnect' }, chat: { - moderator: 'moderator', - guardLevel1: 'governor', - guardLevel2: 'admiral', - guardLevel3: 'captain', - mirrorMsg: '[Mirror] ', + moderator: 'Moderator', + guardLevel1: 'Governor', + guardLevel2: 'Admiral', + guardLevel3: 'Captain', + mirrorMsg: '[Cross-room] ', sendGift: 'Sent {giftName}x{num}', membershipTitle: 'New member', tickerMembership: 'Member' @@ -218,21 +218,20 @@ export default { plugins: 'Plugins', help: 'Help', helpContent: `\ -Plugins can add more functionality to blivechat, such as message logging, text to speech, song requests, etc. Plugins may - be developed by third-party authors, and the security and quality are the responsibility of the plugin author. You can - find some published plugins in Plugins can add extra features to blivechat — message logging, text-to-speech, song requests, and more. Plugins + may be developed by third-party authors, who are responsible for their security and quality. + Find published plugins on GitHub Discussions
-To install a plugin: Put the extracted plugin directory into the "data/plugins" directory, then restart blivechat
-Notes: Most plugins require enabling the "Relay messages by the server" option and connecting to the room - in order to receive messages
- +Installation: extract the plugin folder into "data/plugins" folder, then restart blivechat
+Note: most plugins require "Relay messages through the server" to be enabled and a room connection to receive messages
+Plugin Development Documentation
+ >Plugin Development Docs `, author: 'Author: ', - disabledByServer: 'Administration for plugins is disabled by the server', + disabledByServer: 'Plugin administration is disabled by the server', admin: 'Admin', connected: 'Connected', - unconnected: 'Unconnected', + unconnected: 'Disconnected', }, } diff --git a/frontend/src/lang/ja.js b/frontend/src/lang/ja.js index ed65ae8..f004d32 100644 --- a/frontend/src/lang/ja.js +++ b/frontend/src/lang/ja.js @@ -1,168 +1,168 @@ export default { sidebar: { - home: 'トップページ', - stylegen: 'スタイルジェネレータ', + home: 'ホーム', + stylegen: 'スタイルジェネレーター', help: 'ヘルプ', plugins: 'プラグイン', links: 'リンク', projectAddress: 'プロジェクトアドレス', - discussion: '議論', - documentation: 'ドキュメンテーション', - mall: 'モール', - giftRecordOfficial: 'スーパーチャット記録', + discussion: 'ディスカッション', + documentation: 'ドキュメント', + mall: 'Bilibiliストア', + giftRecordOfficial: '支払い記録', }, home: { - roomIdEmpty: 'ルームのIDを空白にすることはできません', - roomIdInteger: 'ルームは正の整数でなければなりません', - authCodeEmpty: 'アイデンティティコードを空白にすることはできません', - authCodeFormatError: 'アイデンティティコードの形式エラー', + roomIdEmpty: 'ルームIDを入力してください', + roomIdInteger: 'ルームIDは正の整数でなければなりません', + authCodeEmpty: 'アイデンティティコードを入力してください', + authCodeFormatError: 'アイデンティティコードの形式が正しくありません', - unavailableWhenUsingAuthCode: '非推奨です。アイデンティティコードを使用する際に利用できません', - disabledByServer: 'サーバーによって無効にされました', + unavailableWhenUsingAuthCode: '非推奨 — アイデンティティコード使用時は利用不可', + disabledByServer: 'サーバーによって無効化されています', - general: '常規', - useAuthCodeWarning: 'アイデンティティコードを優先的に使用してください。そうしないと、ユーザー名が表示されず、コメントを受信できなくなる可能性があります', + general: '一般', + useAuthCodeWarning: 'アイデンティティコードの使用を推奨します。使用しない場合、ユーザー名が表示されず、いつコメント取得ができなくなるか分かりません', room: 'ルーム', - roomId: 'ルームID(推奨されません)', + roomId: 'ルームID(非推奨)', authCode: 'アイデンティティコード', howToGetAuthCode: 'アイデンティティコードの取得方法', - showDanmaku: 'コメントを表示する', - showGift: 'スーパーチャットと新規メンバーを表示する', - showGiftName: 'ギフト名を表示する', - mergeSimilarDanmaku: '同じコメントを合併する', - mergeGift: 'ギフトを合併する', - minGiftPrice: '最低表示スーパーチャット価格(CNY)', - maxNumber: '最大コメント数', + showDanmaku: 'コメントを表示', + showGift: '有料メッセージを表示', + showGiftName: 'ギフト名を表示', + mergeSimilarDanmaku: '類似コメントをまとめる', + mergeGift: 'ギフトをまとめる', + minGiftPrice: '表示する最低金額(CNY)', + maxNumber: '最大メッセージ数', block: 'ブロック', - giftDanmaku: 'ブロックシステムコメント(プレゼント効果)', - mirrorMessage: 'ブロック転送コメント', - blockLevel: 'ブロックユーザーレベルがx未満', - informalUser: 'ブロック非公式ユーザー', - unverifiedUser: 'ブロック認証されていないユーザー', + giftDanmaku: '抽選コメントをブロック', + mirrorMessage: '他ルームからのメッセージをブロック', + blockLevel: 'ブロック:ユーザーレベルが以下の場合', + informalUser: '非正式ユーザーをブロック', + unverifiedUser: '未認証ユーザーをブロック', blockKeywords: 'ブロックキーワード', - onePerLine: '1行に1つずつ', + onePerLine: '1行に1つ', blockUsers: 'ブロックユーザー', - blockMedalLevel: 'ブロック勲章等級がx未満', + blockMedalLevel: 'ブロック:メダルレベルが以下の場合', - advanced: 'アドバンスド', - showDebugMessages: 'デバッグメッセージを表示する', - showDebugMessagesTip: 'メッセージが表示されない場合、デバッグのためにこれを有効にすることができます。それ以外の場合は、有効にする必要はありません', - relayMessagesByServer: 'サーバを介してメッセージを転送する', - relayMessagesByServerTip: '有効になった場合のメッセージパス:Bilibiliサーバー -> blivechatサーバー -> あなたのブラウザー。一部の高度な機能では、これが有効になっている必要があります。blivechatをローカルで使用する場合にのみ有効にすることを推奨します。リモートサーバーを介して使用する場合には、有効にしないようにしてください', - autoTranslate: 'コメントを日本語に翻訳する', - requiresRelayMessagesByServer: 'サーバを介してメッセージを転送する必要', - giftUsernamePronunciation: 'スーパーチャットのユーザー名の発音', - dontShow: '非表示', + advanced: '詳細設定', + showDebugMessages: 'デバッグメッセージを表示', + showDebugMessagesTip: 'メッセージが表示されない場合のトラブルシューティング用です。通常時は有効にする必要はありません', + relayMessagesByServer: 'サーバー経由でメッセージを転送', + relayMessagesByServerTip: '有効時のメッセージ経路:Bilibiliサーバー → blivechatサーバー → ブラウザ。一部の高度な機能に必要です。ローカル使用時は有効を推奨、リモートサーバー経由ではオフにしてください', + autoTranslate: 'メッセージを日本語に自動翻訳', + requiresRelayMessagesByServer: '「サーバー経由でメッセージを転送」が必須です', + giftUsernamePronunciation: '有料メッセージ送信者のユーザー名の読み方', + dontShow: '表示しない', pinyin: 'ピンイン', - kana: '仮名', - importPresetCss: 'サーバープリセットのCSSをインポートする', - importPresetCssTip: 'サーバーのCSSファイル「data/custom_public/preset.css」を自動的にインポートする', + kana: 'かな', + importPresetCss: 'サーバープリセットCSSをインポート', + importPresetCssTip: 'サーバーのCSSファイル「data/custom_public/preset.css」を自動的に適用し、OBSでカスタムCSSを設定する手間を省きます', emoticon: 'カスタムスタンプ', - emoticonKeyword: '置き換えるキーワード', + emoticonKeyword: '置き換えキーワード', emoticonUrl: 'URL', operation: '操作', addEmoticon: 'スタンプを追加', - emoticonFileTooLarge: 'ファイルサイズが大きすぎます。最大サイズは1MBです', + emoticonFileTooLarge: 'ファイルサイズが大きすぎます(最大1MB)', template: 'カスタムHTMLテンプレート', templateHelp: 'ヘルプ', templateHelpContent: `\ -カスタムHTMLテンプレートを使用すると、DOM構造やCSSスタイルを含むフロントエンドページを完全にカスタマイズできます。 - テンプレートはサードパーティの作者によって開発される場合があり、そのセキュリティと品質はテンプレート作者の責任となります。 +
カスタムHTMLテンプレートを使用すると、DOM構造やCSSスタイルを含むルームページを完全にカスタマイズできます。 + テンプレートはサードパーティの作者によって開発される場合があり、セキュリティと品質はテンプレート作者の責任となります。 公開されているテンプレートはGitHub Discussionsで入手できます
-テンプレートのインストール方法:解凍したテンプレートディレクトリを「data/custom_public/templates」フォルダに配置し、 - 約10秒待ってからウェブページを更新してください。また、テンプレートURLを直接入力してオンラインテンプレートを使用することもできます
-注意:カスタムテンプレートを変更した場合、OBS内のカスタムCSSは反映されません
+インストール方法:解凍したテンプレートフォルダを「data/custom_public/templates」フォルダに配置し、約10秒待ってからページを更新してください。 + また、URLを直接入力してオンラインテンプレートを使用することもできます
+注意:テンプレート設定を変更すると、OBSのカスタムCSSはデフォルトで反映されなくなります
`, templateDefaultTitle: 'デフォルト', - templateDefaultDescription: 'YouTube風のテンプレートで、カスタムCSSでスタイルを変更できます。カスタムHTMLテンプレートの機能に慣れていない場合はこれを選択してください。そうでない場合、OBS内のカスタムCSSは反映されません', + templateDefaultDescription: 'YouTubeスタイルのテンプレートで、カスタムCSSでスタイルを変更できます。HTMLテンプレートに詳しくない場合はこちらを選択してください。そうでないとOBSのカスタムCSSが反映されません', templateCustomUrlTitle: 'テンプレートURLを入力', - templateCustomUrlDescription: 'リストにないテンプレートは、作者が提供するURLをここで手動で入力できます', + templateCustomUrlDescription: 'リストにないテンプレートは、作者が提供するURLをここに貼り付けてください', author: '作者:', - urlTooLong: 'ルームのURLが長すぎて、直播姬によって切り詰められます(ただし、OBSでは切り詰められません)', - roomUrlUpdated: 'ルームのURLが更新されました。再度コピーすることをお忘れなく', - roomUrl: 'ルームのURL', - enterRoom: 'ルームに入る', - copyTestRoomUrl: 'テストルームのURLをコピーする', - exportConfig: 'コンフィグの導出', - importConfig: 'コンフィグの導入', + urlTooLong: 'ルームURLが長すぎるため、Bilibili Livehime(直播姬)で切り詰められる可能性があります(OBSでは問題ありません)', + roomUrlUpdated: 'ルームURLが更新されました — 再コピーをお忘れなく', + roomUrl: 'ルームURL', + enterRoom: 'ルームに入室', + copyTestRoomUrl: 'テスト用ルームURLをコピー', + exportConfig: '設定をエクスポート', + importConfig: '設定をインポート', - failedToParseConfig: 'コンフィグ解析に失敗しました' + failedToParseConfig: '設定の解析に失敗しました:' }, stylegen: { - legacy: '古典', + legacy: 'クラシック', lineLike: 'LINE風', - playAnimation: 'メッセージを生成する', - messageSpeed: 'メッセージ/秒', + playAnimation: 'メッセージを生成', + messageSpeed: '毎秒メッセージ数', messageTypes: 'メッセージタイプ', typeText: 'テキスト', typeEmoticon: 'スタンプ', typeGift: 'ギフト', - typeSuperChat: 'スーパーチャット', - typeMember: '新規メンバー', + typeSuperChat: 'Super Chat', + typeMember: 'メンバーシップ', light: 'ライト', dark: 'ダーク', - global: 'グローバル', - scalingNotice: 'OBSでスケーリングするのではなく、まずこちらを調整してください', - globalScale: '全体のスケール', - fontScale: 'フォントスケール', + global: '全体', + scalingNotice: '文字が小さすぎると感じる場合は、OBSでブラウザソースを引き伸ばすのではなく、まずこちらの比率を調整してください', + globalScale: '全体の拡大率', + fontScale: 'フォント拡大率', outlines: 'アウトライン', - showOutlines: 'アウトラインを表示する', - outlineSize: 'アウトラインのサイズ', + showOutlines: 'アウトラインを表示', + outlineSize: 'アウトラインの太さ', outlineColor: 'アウトラインの色', - blurryOutline: 'ぼやけている', + blurryOutline: 'ぼかし', avatars: 'アイコン', - showAvatars: 'アイコンを表示する', + showAvatars: 'アイコンを表示', avatarSize: 'アイコンのサイズ', userNames: 'ユーザー名', - showUserNames: 'ユーザー名を表示する', + showUserNames: 'ユーザー名を表示', font: 'フォント', - fontSelectTip: 'ローカルフォント名も入力することができます。最初にランク付けされたフォントが最初に使用されます', - recentFonts: '最近のフォント', + fontSelectTip: 'ローカルフォント名を入力することもできます。リストの上位にあるフォントが優先されます', + recentFonts: '最近使用したフォント', presetFonts: 'プリセットフォント', - networkFonts: 'ネットワークフォント', + networkFonts: 'Webフォント', localFonts: 'ローカルフォント', fontSize: 'フォントサイズ', fontWeight: 'フォントの太さ', - normalColor: 'ノーマルの色', - ownerColor: 'オーナーの色', - moderatorColor: '管理者の色', + normalColor: '通常の色', + ownerColor: '配信者の色', + moderatorColor: 'モデレーターの色', memberColor: 'メンバーの色', - showBadges: '勲章を見せる', - showColon: 'ユーザー名の後にコロンが表示されます', + showBadges: 'バッジを表示', + showColon: 'ユーザー名の後にコロンを表示', emoticonSize: 'スタンプサイズ', - largeEmoticonSize: '大きなスタンプサイズ', + largeEmoticonSize: '大スタンプサイズ', messages: 'コメント', color: '色', - onNewLine: '新しい行に表示する', - messageReverseScroll: '逆方向にスクロールする', + onNewLine: '改行して表示', + messageReverseScroll: '逆方向にスクロール', - time: '時間', - showTime: '時間を表示する', + time: 'タイムスタンプ', + showTime: 'タイムスタンプを表示', backgrounds: '背景', bgColor: '背景色', - useBarsInsteadOfBg: '背景に代わります', - showLargeEmoticonBg: '大きなスタンプの背景を表示する', - messageBgColor: 'コメント背景色', - ownerMessageBgColor: 'オーナーコメント背景色', - moderatorMessageBgColor: '管理者コメント背景色', - memberMessageBgColor: 'メンバーコメント背景色', + useBarsInsteadOfBg: '背景の代わりにバーを使用', + showLargeEmoticonBg: '大スタンプの背景を表示', + messageBgColor: '通常背景色', + ownerMessageBgColor: '配信者背景色', + moderatorMessageBgColor: 'モデレーター背景色', + memberMessageBgColor: 'メンバー背景色', - scAndNewMember: 'スーパーチャット、新規メンバー', + scAndNewMember: '有料メッセージ', firstLineFont: '1行目のフォント', firstLineFontSize: '1行目のフォントサイズ', firstLineWeight: '1行目のフォントの太さ', @@ -171,45 +171,45 @@ export default { secondLineFontSize: '2行目のフォントサイズ', secondLineWeight: '2行目のフォントの太さ', secondLineColor: '2行目の色', - scContentLineFont: 'スーパーチャットのコンテンツフォント', - scContentLineFontSize: 'スーパーチャットコンテンツフォントサイズ', - scContentWeight: 'スーパーチャットコンテンツフォントの太さ', - scContentLineColor: 'スーパーチャットコンテンツライン色', - showScTicker: 'スーパーチャットチカーの表示', - showOtherThings: 'スーパーチャットチカー以外のコンテンツを表示します', + scContentLineFont: 'Super Chat内容のフォント', + scContentLineFontSize: 'Super Chat内容のフォントサイズ', + scContentWeight: 'Super Chat内容のフォントの太さ', + scContentLineColor: 'Super Chat内容の色', + showScTicker: 'Super Chatティッカーを表示', + showOtherThings: 'Super Chatティッカー以外の内容を表示', animation: 'アニメーション', animateIn: '入場アニメーション', fadeInTime: 'フェードイン時間(ミリ秒)', - animateOut: '古いコメントを除去する', - animateOutWaitTime: '待ち時間(秒)', + animateOut: '退場アニメーション(古いメッセージを削除)', + animateOutWaitTime: '削除前の待機時間(秒)', fadeOutTime: 'フェードアウト時間(ミリ秒)', - slide: '滑る', - reverseSlide: '逆の滑る', + slide: 'スライド', + reverseSlide: '逆スライド', result: '結果CSS', copy: 'コピー', editor: 'エディタ', - resetConfig: 'デフォルトに戻す' + resetConfig: '設定をデフォルトに戻す' }, help: { help: 'ヘルプ', - p1_1: '1. このウェブページからアイデンティティコード(身份码)をコピーして:', - p1_2: '。注意:アイデンティティコードは漏洩していない限り、更新しないでください。アイデンティティコードを更新すると、古いコードは無効になります', - p2: '2. ホームページに先ほどコピーしたアイデンティティコードを入力して、ルームのURLをこぴーする', - p3: '3. スタイルジェネレータでお好みのコメント様子を選び、出力したCSSをコピーする', - p4: '4. OBSでブラウザを新規作成する', - p5: '5. プロパティでこぴーしたURLを入力し、カスタムCSSでスタイルジェネレータのCSSを入力する' + p1_1: '1. このページからアイデンティティコード(身份码)をコピーします:', + p1_2: '。注意:アイデンティティコードは、漏洩した場合を除き更新しないでください。更新すると古いコードは無効になります', + p2: '2. ホームページのルーム設定にアイデンティティコードを入力し、ルームURLをコピーします', + p3: '3. スタイルジェネレーターで好みのスタイルを作成し、CSSをコピーします', + p4: '4. OBSでブラウザソースを追加します', + p5: '5. URL欄に先ほどコピーしたルームURLを、カスタムCSS欄に先ほどのCSSを貼り付けます' }, room: { - fatalErrorOccurred: '致命的なエラーが発生しました。ページを手動で更新して再接続してください' + fatalErrorOccurred: '致命的なエラーが発生しました。ページを更新して再接続してください' }, chat: { moderator: 'モデレーター', guardLevel1: '総督', guardLevel2: '提督', guardLevel3: '艦長', - mirrorMsg: '[転送] ', + mirrorMsg: '[他ルーム] ', sendGift: '{giftName}x{num} を贈りました', membershipTitle: '新規メンバー', tickerMembership: 'メンバー' @@ -218,19 +218,18 @@ export default { plugins: 'プラグイン', help: 'ヘルプ', helpContent: `\ -プラグインは、メッセージの記録、テキスト読み上げ、曲リクエストなど、blivechatにさらなる機能を追加できます。 +
プラグインを使用すると、メッセージログ、読み上げ、リクエスト曲など、blivechatに追加機能を組み込めます。 プラグインはサードパーティの作者によって開発される場合があり、セキュリティと品質はプラグイン作者の責任です。 - いくつかの公開されたプラグインはGitHub Discussionsで見つけることができます
-プラグインのインストール方法:抽出されたプラグインディレクトリを「data/plugins」ディレクトリに配置し、blivechatを再起動します
-注意:ほとんどのプラグインは、「サーバを介してメッセージを転送する」オプションを有効にし、メッセージを受信するために - ルームに接続する必要があります
+インストール方法:解凍したプラグインフォルダを「data/plugins」フォルダに配置し、blivechatを再起動します
+注意:ほとんどのプラグインは、「サーバー経由でメッセージを転送」を有効にし、ルームに接続してメッセージを受信する必要があります
`, author: '作者:', - disabledByServer: 'プラグインの管理は、サーバーによって無効にされています', + disabledByServer: 'プラグイン管理はサーバーによって無効化されています', admin: '管理', connected: '接続済み', unconnected: '未接続', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index d6f3c08..b18286f 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -9,7 +9,7 @@ export default { discussion: '反馈 / 交流', documentation: '文档', mall: 'B站商店', - giftRecordOfficial: '打赏记录', + giftRecordOfficial: '付费记录', }, home: { roomIdEmpty: '房间ID不能为空', @@ -17,22 +17,22 @@ export default { authCodeEmpty: '身份码不能为空', authCodeFormatError: '身份码格式错误', - unavailableWhenUsingAuthCode: '已过时,使用身份码时不可用', + unavailableWhenUsingAuthCode: '已废弃,使用身份码时不可用', disabledByServer: '已被服务器禁用', general: '常规', - useAuthCodeWarning: '请优先使用身份码,否则无法显示昵称,并且随时可能无法获取弹幕', + useAuthCodeWarning: '请优先使用身份码,否则无法显示昵称,且随时可能无法获取弹幕', room: '房间', roomId: '房间ID(不推荐)', authCode: '身份码', howToGetAuthCode: '如何获取身份码', showDanmaku: '显示弹幕', - showGift: '显示打赏和新舰长', + showGift: '显示付费消息', showGiftName: '显示礼物名', mergeSimilarDanmaku: '合并相似弹幕', mergeGift: '合并礼物', - minGiftPrice: '最低显示打赏价格(元)', - maxNumber: '最大弹幕数', + minGiftPrice: '最低显示付费消息价格(元)', + maxNumber: '最多显示消息数', block: '屏蔽', giftDanmaku: '屏蔽抽奖弹幕', @@ -47,17 +47,17 @@ export default { advanced: '高级', showDebugMessages: '显示调试消息', - showDebugMessagesTip: '如果消息不能显示,可以开启这个用来调试,否则没必要开启', + showDebugMessagesTip: '消息无法显示时可开启排查,正常使用时无需开启', relayMessagesByServer: '通过服务器转发消息', - relayMessagesByServerTip: '开启时的消息路径:B站服务器 -> blivechat服务器 -> 你的浏览器。部分高级功能需要开启这个。推荐只在本地使用blivechat时开启,而通过远程服务器使用时不开启', - autoTranslate: '自动翻译弹幕到日语', + relayMessagesByServerTip: '开启后消息路径:B站服务器 → blivechat服务器 → 你的浏览器。部分高级功能依赖此选项。建议仅在本地使用时开启,通过远程服务器使用时不开启', + autoTranslate: '自动翻译消息为日语', requiresRelayMessagesByServer: '需要通过服务器转发消息', - giftUsernamePronunciation: '标注打赏用户名读音', + giftUsernamePronunciation: '标注付费用户名读音', dontShow: '不显示', pinyin: '拼音', kana: '日文假名', importPresetCss: '导入服务器预设CSS', - importPresetCssTip: '自动导入服务器的CSS文件:data/custom_public/preset.css', + importPresetCssTip: '自动使用服务器预设的CSS文件“data/custom_public/preset.css”,而无需修改OBS中的自定义CSS', emoticon: '自定义表情', emoticonKeyword: '替换关键词', @@ -69,21 +69,21 @@ export default { template: '自定义HTML模板', templateHelp: '帮助', templateHelpContent: `\ -自定义HTML模板可以完全自定义房间页面,包括DOM结构、CSS样式。模板可能由第三方作者开发,其安全性和质量由模板作者负责。 +
自定义HTML模板可以完全自定义房间页面,包括DOM结构和CSS样式。模板可能由第三方作者开发,其安全性和质量由模板作者负责。 你可以在GitHub Discussions获取一些已发布的模板
-模板安装方法:把解压后的模板目录放到“data/custom_public/templates”目录,然后等待约10秒后刷新网页。 - 另外你也可以直接输入模板URL来使用在线模板
-注意:修改自定义模板设置后,OBS中的自定义CSS将不会生效
+ >GitHub Discussions获取已发布的模板 +模板安装方法:将解压后的模板目录放入“data/custom_public/templates”目录,等待约10秒后刷新页面。 + 另外你也可以直接输入模板URL使用在线模板
+注意:修改自定义模板设置后,OBS中的自定义CSS将默认不再生效,除非特殊设置
`, templateDefaultTitle: '默认', - templateDefaultDescription: '仿YouTube风格的模板,可以用自定义CSS修改样式。如果你不了解自定义HTML模板的功能,就选择这个,否则OBS中的自定义CSS不会生效', + templateDefaultDescription: '仿YouTube风格的模板,可通过自定义CSS修改样式。如不了解自定义HTML模板功能,请选择此项,否则OBS中的自定义CSS不会生效', templateCustomUrlTitle: '输入模板URL', - templateCustomUrlDescription: '没有列出的模板,也可以在这里手动输入作者提供的URL', + templateCustomUrlDescription: '未列出的模板也可在此手动输入作者提供的URL', author: '作者:', - urlTooLong: '房间URL太长了,会被直播姬截断(OBS不会)', + urlTooLong: '房间URL过长,直播姬可能会截断(OBS无此问题)', roomUrlUpdated: '房间URL已更新,记得重新复制', roomUrl: '房间URL', enterRoom: '进入房间', @@ -110,7 +110,7 @@ export default { dark: '深色', global: '全局', - scalingNotice: '如果觉得字体太小,优先修改这里的比例而不是在OBS里拉伸浏览器源。求求你们不要拉伸然后问为什么看不清了😭', + scalingNotice: '如果觉得字体太小,请优先调整此比例,而不要在OBS中拉伸浏览器源。求求你们不要拉伸然后问为什么看不清了😭', globalScale: '全局缩放比例', fontScale: '字体缩放比例', @@ -127,7 +127,7 @@ export default { userNames: '用户名', showUserNames: '显示用户名', font: '字体', - fontSelectTip: '你也可以输入本地字体名。前面的字体会被优先使用', + fontSelectTip: '你也可以输入本地字体名。排在前面的字体会被优先使用', recentFonts: '最近使用的字体', presetFonts: '预设字体', networkFonts: '网络字体', @@ -153,14 +153,14 @@ export default { backgrounds: '背景', bgColor: '背景色', - useBarsInsteadOfBg: '用条代替消息背景', + useBarsInsteadOfBg: '用装饰条而非背景', showLargeEmoticonBg: '显示大表情背景', messageBgColor: '消息背景色', ownerMessageBgColor: '主播消息背景色', moderatorMessageBgColor: '房管消息背景色', memberMessageBgColor: '舰长消息背景色', - scAndNewMember: '打赏、舰长', + scAndNewMember: '付费消息', firstLineFont: '第一行字体', firstLineFontSize: '第一行字体尺寸', firstLineWeight: '第一行字体粗细', @@ -179,8 +179,8 @@ export default { animation: '动画', animateIn: '进入动画', fadeInTime: '淡入时间(毫秒)', - animateOut: '移除旧消息', - animateOutWaitTime: '移除前等待时间(秒)', + animateOut: '旧消息退场', + animateOutWaitTime: '退场前等待时间(秒)', fadeOutTime: '淡出时间(毫秒)', slide: '滑动', reverseSlide: '反向滑动', @@ -193,14 +193,14 @@ export default { help: { help: '帮助', p1_1: '1. 从这个页面复制身份码:', - p1_2: '。注意:不要刷新身份码,除非你的身份码泄露了,因为刷新身份码会使旧的身份码失效', + p1_2: '。注意:请勿随意刷新身份码,除非已泄露,因为刷新会使旧身份码失效', p2: '2. 把身份码输入到首页的房间配置,复制房间URL', p3: '3. 使用样式生成器生成样式,复制CSS', p4: '4. 在OBS中添加浏览器源', p5: '5. URL处输入之前复制的房间URL,自定义CSS处输入之前复制的CSS' }, room: { - fatalErrorOccurred: '发生了一个致命错误,请手动刷新页面以重新连接' + fatalErrorOccurred: '发生了致命错误,请刷新页面以重新连接' }, chat: { moderator: '管理员', @@ -216,11 +216,11 @@ export default { plugins: '插件', help: '帮助', helpContent: `\ -插件可以给blivechat添加更多功能,比如消息日志、语音播报、点歌等。插件可能由第三方作者开发,其安全性和质量由插件作者负责。 +
插件可以为blivechat添加更多功能,如消息日志、语音播报、点歌等。插件可能由第三方作者开发,其安全性和质量由插件作者负责。 你可以在GitHub Discussions获取一些已发布的插件
-插件安装方法:把解压后的插件目录放到“data/plugins”目录,然后重启blivechat
-注意:大部分插件需要开启“通过服务器转发消息”,并且连接到房间,才能接收消息
+ >GitHub Discussions获取已发布的插件 +插件安装方法:将解压后的插件目录放入“data/plugins”目录,然后重启blivechat
+注意:大部分插件需要开启“通过服务器转发消息”,并连接到房间,才能接收消息
`, diff --git a/frontend/src/views/Home/TemplateSelect.vue b/frontend/src/views/Home/TemplateSelect.vue index 8e13a5a..b5bfb0d 100644 --- a/frontend/src/views/Home/TemplateSelect.vue +++ b/frontend/src/views/Home/TemplateSelect.vue @@ -32,7 +32,7 @@