前端添加一些提示

This commit is contained in:
John Smith 2023-09-27 00:35:12 +08:00
parent c8ff34c998
commit 5be00a8332
5 changed files with 74 additions and 27 deletions

View File

@ -61,6 +61,7 @@ translation_cache_size = 50000
# **The following is for translation team. Leave it default if you don't know its meaning**
# -------------------------------------------------------------------------------------------------
# 文档https://open-live.bilibili.com/document/
# 在B站直播开放平台申请的开发者密钥如果不填会把请求转发到作者的服务器
open_live_access_key_id =
open_live_access_key_secret =

View File

@ -11,9 +11,12 @@ export default {
roomIdInteger: 'Room ID must be positive integer',
authCodeEmpty: "Identity code can't be empty",
authCodeFormatError: 'Identity code format error',
useAuthCodeWarning: 'Please prioritize the identity code',
unavailableWhenUsingAuthCode: 'Deprecated. Unavailable when using identity code',
disabledByServer: 'Disabled by the server',
general: 'General',
useAuthCodeWarning: 'Please prioritize the identity code',
room: 'Room',
roomId: 'Room ID',
authCode: 'Identity code',
@ -37,8 +40,10 @@ export default {
blockMedalLevel: 'Block medal level lower than',
advanced: 'Advanced',
relayMessagesByServer: 'Relay messages by server',
autoTranslate: 'Auto translate messages to Japanese (requires relay messages by server)',
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',
dontShow: 'None',
pinyin: 'Pinyin',
@ -52,6 +57,7 @@ export default {
emoticonFileTooLarge: 'File size is too large. Max size is 1MB',
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',
roomUrl: 'Room URL',
enterRoom: 'Enter room',
enterTestRoom: 'Enter test room',

View File

@ -11,9 +11,12 @@ export default {
roomIdInteger: 'ルームは正の整数でなければなりません',
authCodeEmpty: 'アイデンティティコードを空白にすることはできません',
authCodeFormatError: 'アイデンティティコードの形式エラー',
useAuthCodeWarning: 'アイデンティティコードを優先的に使用してください',
unavailableWhenUsingAuthCode: '非推奨です。アイデンティティコードを使用する際に利用できません',
disabledByServer: 'サーバーによって無効にされました',
general: '常規',
useAuthCodeWarning: 'アイデンティティコードを優先的に使用してください',
room: 'ルーム',
roomId: 'ルームID',
authCode: 'アイデンティティコード',
@ -38,7 +41,9 @@ export default {
advanced: 'アドバンスド',
relayMessagesByServer: 'サーバを介してメッセージを転送する',
autoTranslate: 'コメントを日本語に翻訳する(サーバを介してメッセージを転送する必要)',
relayMessagesByServerTip: '有効になった場合のメッセージパスBilibiliサーバー -> blivechatサーバー -> あなたのブラウザー。一部の高度な機能では、これが有効になっている必要があります。blivechatをローカルで使用する場合にのみ有効にすることを推奨します。リモートサーバーを介して使用する場合には、有効にしないようにしてください',
autoTranslate: 'コメントを日本語に翻訳する',
requiresRelayMessagesByServer: 'サーバを介してメッセージを転送する必要',
giftUsernamePronunciation: 'スーパーチャットのユーザー名の発音',
dontShow: '非表示',
pinyin: 'ピンイン',
@ -52,6 +57,7 @@ export default {
emoticonFileTooLarge: 'ファイルサイズが大きすぎます。最大サイズは1MBです',
urlTooLong: 'ルームのURLが長すぎて、直播姬によって切り詰められますただし、OBSでは切り詰められません',
roomUrlUpdated: 'ルームのURLが更新されました。再度コピーすることをお忘れなく',
roomUrl: 'ルームのURL',
enterRoom: 'ルームに入る',
enterTestRoom: 'テストルームに入る',

View File

@ -11,9 +11,12 @@ export default {
roomIdInteger: '房间ID必须为正整数',
authCodeEmpty: '身份码不能为空',
authCodeFormatError: '身份码格式错误',
useAuthCodeWarning: '请优先使用身份码',
unavailableWhenUsingAuthCode: '已过时,使用身份码时不可用',
disabledByServer: '已被服务器禁用',
general: '常规',
useAuthCodeWarning: '请优先使用身份码',
room: '房间',
roomId: '房间ID',
authCode: '身份码',
@ -38,7 +41,9 @@ export default {
advanced: '高级',
relayMessagesByServer: '通过服务器转发消息',
autoTranslate: '自动翻译弹幕到日语(需要通过服务器转发消息)',
relayMessagesByServerTip: '开启时的消息路径B站服务器 -> blivechat服务器 -> 你的浏览器。部分高级功能需要开启这个。推荐只在本地使用blivechat时开启而通过远程服务器使用时不开启',
autoTranslate: '自动翻译弹幕到日语',
requiresRelayMessagesByServer: '需要通过服务器转发消息',
giftUsernamePronunciation: '标注打赏用户名读音',
dontShow: '不显示',
pinyin: '拼音',
@ -52,6 +57,7 @@ export default {
emoticonFileTooLarge: '文件尺寸太大最大1MB',
urlTooLong: '房间URL太长了会被直播姬截断OBS不会',
roomUrlUpdated: '房间URL已更新记得重新复制',
roomUrl: '房间URL',
enterRoom: '进入房间',
enterTestRoom: '进入测试房间',

View File

@ -106,21 +106,27 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="8">
<el-form-item :label="$t('home.informalUser')">
<el-switch v-model="form.blockNewbie"></el-switch>
</el-form-item>
<el-tooltip :content="$t('home.unavailableWhenUsingAuthCode')">
<el-form-item :label="$t('home.informalUser')">
<el-switch v-model="form.blockNewbie"></el-switch>
</el-form-item>
</el-tooltip>
</el-col>
<el-col :xs="24" :sm="8">
<el-form-item :label="$t('home.unverifiedUser')">
<el-switch v-model="form.blockNotMobileVerified"></el-switch>
</el-form-item>
<el-tooltip :content="$t('home.unavailableWhenUsingAuthCode')">
<el-form-item :label="$t('home.unverifiedUser')">
<el-switch v-model="form.blockNotMobileVerified"></el-switch>
</el-form-item>
</el-tooltip>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :xs="24" :sm="12">
<el-form-item :label="$t('home.blockLevel')">
<el-slider v-model="form.blockLevel" show-input :min="0" :max="60"></el-slider>
</el-form-item>
<el-tooltip :content="$t('home.unavailableWhenUsingAuthCode')">
<el-form-item :label="$t('home.blockLevel')">
<el-slider v-model="form.blockLevel" show-input :min="0" :max="60"></el-slider>
</el-form-item>
</el-tooltip>
</el-col>
<el-col :xs="24" :sm="12">
<el-form-item :label="$t('home.blockMedalLevel')">
@ -139,14 +145,22 @@
<el-tab-pane :label="$t('home.advanced')">
<el-row :gutter="20">
<el-col :xs="24" :sm="8">
<el-form-item :label="$t('home.relayMessagesByServer')">
<el-switch v-model="form.relayMessagesByServer"></el-switch>
</el-form-item>
<el-tooltip :content="$t('home.relayMessagesByServerTip')">
<el-form-item :label="$t('home.relayMessagesByServer')">
<el-switch v-model="form.relayMessagesByServer"></el-switch>
</el-form-item>
</el-tooltip>
</el-col>
<el-col :xs="24" :sm="8">
<el-form-item :label="$t('home.autoTranslate')">
<el-switch v-model="form.autoTranslate" :disabled="!serverConfig.enableTranslate || !form.relayMessagesByServer"></el-switch>
</el-form-item>
<el-tooltip :content="$t('home.requiresRelayMessagesByServer')">
<el-form-item :label="$t('home.autoTranslate')">
<el-tooltip :content="$t('home.disabledByServer')" placement="top" :disabled="serverConfig.enableTranslate">
<el-switch v-model="form.autoTranslate"
:disabled="!serverConfig.enableTranslate || !form.relayMessagesByServer"
></el-switch>
</el-tooltip>
</el-form-item>
</el-tooltip>
</el-col>
</el-row>
<el-form-item :label="$t('home.giftUsernamePronunciation')">
@ -195,10 +209,12 @@
<p v-if="obsRoomUrl.length > 1024">
<el-alert :title="$t('home.urlTooLong')" type="warning" show-icon :closable="false"></el-alert>
</p>
<el-form-item :label="$t('home.roomUrl')">
<el-input ref="roomUrlInput" readonly :value="obsRoomUrl" style="width: calc(100% - 8em); margin-right: 1em;"></el-input>
<el-button type="primary" icon="el-icon-copy-document" @click="copyUrl"></el-button>
</el-form-item>
<el-tooltip :content="$t('home.roomUrlUpdated')" v-model="showRoomUrlUpdatedTip" manual placement="top">
<el-form-item :label="$t('home.roomUrl')">
<el-input ref="roomUrlInput" readonly :value="obsRoomUrl" style="width: calc(100% - 8em); margin-right: 1em;"></el-input>
<el-button type="primary" icon="el-icon-copy-document" @click="copyUrl"></el-button>
</el-form-item>
</el-tooltip>
<el-form-item>
<el-button type="primary" :disabled="!roomUrl" @click="enterRoom">{{$t('home.enterRoom')}}</el-button>
<el-button @click="enterTestRoom">{{$t('home.enterTestRoom')}}</el-button>
@ -237,6 +253,7 @@ export default {
// $refs.form.validate
// getUnvalidatedRoomUrl -> unvalidatedRoomUrl -> updateRoomUrl -> roomUrl
roomUrl: '',
showRoomUrlUpdatedTip: false,
}
},
computed: {
@ -264,7 +281,15 @@ export default {
},
watch: {
unvalidatedRoomUrl: 'updateRoomUrl',
roomUrl: _.debounce(function() {
roomUrl: _.debounce(function(val, oldVal) {
// URL
//
if (val !== '' && oldVal !== '') {
this.showRoomUrlUpdatedTip = true
this.delayHideRoomUrlUpdatedTip()
}
//
window.localStorage.roomKeyType = this.form.roomKeyType
window.localStorage.roomId = this.form.roomId
window.localStorage.authCode = this.form.authCode
@ -296,6 +321,9 @@ export default {
//
this.roomUrl = this.unvalidatedRoomUrl
},
delayHideRoomUrlUpdatedTip: _.debounce(function() {
this.showRoomUrlUpdatedTip = false
}, 3000),
addEmoticon() {
this.form.emoticons.push({