mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-09-24 16:05:44 +08:00
fix: remove remaining English fallbacks
This commit is contained in:
@@ -56,7 +56,7 @@
|
||||
class="text-blue-600 focus:ring-blue-500"
|
||||
/>
|
||||
<span class="text-sm text-blue-900 dark:text-blue-200">{{
|
||||
t('admin.accounts.oauth.openai.mobileRefreshTokenAuth', 'Manual Mobile RT Input')
|
||||
t('admin.accounts.oauth.openai.mobileRefreshTokenAuth')
|
||||
}}</span>
|
||||
</label>
|
||||
<label v-if="showSessionTokenOption" class="flex cursor-pointer items-center gap-2">
|
||||
@@ -78,7 +78,7 @@
|
||||
class="text-blue-600 focus:ring-blue-500"
|
||||
/>
|
||||
<span class="text-sm text-blue-900 dark:text-blue-200">{{
|
||||
t('admin.accounts.oauth.openai.accessTokenAuth', 'Manual AT Input')
|
||||
t('admin.accounts.oauth.openai.accessTokenAuth')
|
||||
}}</span>
|
||||
</label>
|
||||
<label v-if="showCodexSessionImportOption" class="flex cursor-pointer items-center gap-2">
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
class="channel-tab"
|
||||
:class="activeTab === 'basic' ? 'channel-tab-active' : 'channel-tab-inactive'"
|
||||
>
|
||||
{{ t('admin.channels.form.basicSettings', 'Basic Settings') }}
|
||||
{{ t('admin.channels.form.basicSettings') }}
|
||||
</button>
|
||||
<!-- Platform Tabs (only enabled) -->
|
||||
<button
|
||||
@@ -230,7 +230,7 @@
|
||||
|
||||
<!-- Platform Management -->
|
||||
<div class="space-y-3">
|
||||
<label class="input-label mb-0">{{ t('admin.channels.form.platformConfig', 'Platform Configuration') }}</label>
|
||||
<label class="input-label mb-0">{{ t('admin.channels.form.platformConfig') }}</label>
|
||||
<div class="flex flex-wrap gap-2">
|
||||
<label
|
||||
v-for="p in platformOrder"
|
||||
@@ -283,7 +283,7 @@
|
||||
<label class="input-label text-xs">
|
||||
{{ t('admin.channels.form.groups', 'Associated Groups') }} <span class="text-red-500">*</span>
|
||||
<span v-if="section.group_ids.length > 0" class="ml-1 font-normal text-gray-400">
|
||||
({{ t('admin.channels.form.selectedCount', { count: section.group_ids.length }, `${section.group_ids.length} selected`) }})
|
||||
({{ t('admin.channels.form.selectedCount', { count: section.group_ids.length }) }})
|
||||
</span>
|
||||
</label>
|
||||
<div class="max-h-40 overflow-auto rounded-lg border border-gray-200 bg-gray-50 p-2 dark:border-dark-600 dark:bg-dark-900">
|
||||
@@ -1434,14 +1434,14 @@ async function handleSubmit() {
|
||||
for (const section of form.platforms.filter(s => s.enabled)) {
|
||||
if (section.group_ids.length === 0) {
|
||||
const platformLabel = t('admin.groups.platforms.' + section.platform, section.platform)
|
||||
appStore.showError(t('admin.channels.noGroupsSelected', { platform: platformLabel }, `${platformLabel} has no selected group. Select at least one group or disable this platform.`))
|
||||
appStore.showError(t('admin.channels.noGroupsSelected', { platform: platformLabel }))
|
||||
activeTab.value = section.platform
|
||||
return
|
||||
}
|
||||
for (const entry of section.model_pricing) {
|
||||
if (entry.models.length === 0) {
|
||||
const platformLabel = t('admin.groups.platforms.' + section.platform, section.platform)
|
||||
appStore.showError(t('admin.channels.emptyModelsInPricing', { platform: platformLabel }, `${platformLabel} has a pricing entry without models. Add models or remove the entry.`))
|
||||
appStore.showError(t('admin.channels.emptyModelsInPricing', { platform: platformLabel }))
|
||||
activeTab.value = section.platform
|
||||
return
|
||||
}
|
||||
@@ -1459,8 +1459,7 @@ async function handleSubmit() {
|
||||
if (pricingConflict) {
|
||||
appStore.showError(
|
||||
t('admin.channels.modelConflict',
|
||||
{ model1: pricingConflict[0], model2: pricingConflict[1] },
|
||||
`Model patterns '${pricingConflict[0]}' and '${pricingConflict[1]}' conflict: overlapping match range.`)
|
||||
{ model1: pricingConflict[0], model2: pricingConflict[1] })
|
||||
)
|
||||
activeTab.value = section.platform
|
||||
return
|
||||
@@ -1472,8 +1471,7 @@ async function handleSubmit() {
|
||||
if (mappingConflict) {
|
||||
appStore.showError(
|
||||
t('admin.channels.mappingConflict',
|
||||
{ model1: mappingConflict[0], model2: mappingConflict[1] },
|
||||
`Mapping source patterns '${mappingConflict[0]}' and '${mappingConflict[1]}' conflict: overlapping match range.`)
|
||||
{ model1: mappingConflict[0], model2: mappingConflict[1] })
|
||||
)
|
||||
activeTab.value = section.platform
|
||||
return
|
||||
@@ -1488,7 +1486,7 @@ async function handleSubmit() {
|
||||
if ((entry.billing_mode === 'per_request' || entry.billing_mode === 'image') &&
|
||||
(entry.per_request_price == null || entry.per_request_price === '') &&
|
||||
(!entry.intervals || entry.intervals.length === 0)) {
|
||||
appStore.showError(t('admin.channels.form.perRequestPriceRequired', 'Per-request price or billing tiers required for per-request/image billing mode'))
|
||||
appStore.showError(t('admin.channels.form.perRequestPriceRequired'))
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user