mirror of
https://github.com/vbenjs/vue-vben-admin.git
synced 2025-08-27 14:47:28 +08:00
chore: update locale
This commit is contained in:
@@ -49,10 +49,10 @@ const appName = computed(() => preferences.app.name);
|
||||
<div class="flex-col-center -enter-x mr-20 h-full">
|
||||
<SloganIcon :alt="appName" class="animate-float h-64 w-2/5" />
|
||||
<div class="text-1xl mt-6 font-sans text-white lg:text-2xl">
|
||||
{{ $t('authentication.layout-title') }}
|
||||
{{ $t('authentication.page-title') }}
|
||||
</div>
|
||||
<div class="dark:text-muted-foreground mt-2 text-white/60">
|
||||
{{ $t('authentication.layout-desc') }}
|
||||
{{ $t('authentication.page-desc') }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -21,17 +21,17 @@ const menus = computed((): VbenDropdownMenuItem[] => [
|
||||
{
|
||||
icon: MdiDockLeft,
|
||||
key: 'panel-left',
|
||||
text: $t('layout.align-left'),
|
||||
text: $t('authentication.layout.align-left'),
|
||||
},
|
||||
{
|
||||
icon: MdiDockBottom,
|
||||
key: 'panel-center',
|
||||
text: $t('layout.center'),
|
||||
text: $t('authentication.layout.center'),
|
||||
},
|
||||
{
|
||||
icon: MdiDockRight,
|
||||
key: 'panel-right',
|
||||
text: $t('layout.align-right'),
|
||||
text: $t('authentication.layout.align-right'),
|
||||
},
|
||||
]);
|
||||
|
||||
|
@@ -25,7 +25,7 @@ function useContentSpinner() {
|
||||
};
|
||||
|
||||
router.beforeEach((to) => {
|
||||
if (to.meta.loaded || !enableLoading.value) {
|
||||
if (to.meta.loaded || !enableLoading.value || to.meta.iframeSrc) {
|
||||
return true;
|
||||
}
|
||||
startTime.value = performance.now();
|
||||
@@ -34,7 +34,7 @@ function useContentSpinner() {
|
||||
});
|
||||
|
||||
router.afterEach((to) => {
|
||||
if (to.meta.loaded || !enableLoading.value) {
|
||||
if (to.meta.loaded || !enableLoading.value || to.meta.iframeSrc) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -16,7 +16,7 @@ interface FallbackProps {
|
||||
/**
|
||||
* @zh_CN 内置类型
|
||||
*/
|
||||
status?: '403' | '404' | '500' | 'hello' | 'offline';
|
||||
status?: '403' | '404' | '500' | 'comming-soon' | 'offline';
|
||||
/**
|
||||
* @zh_CN 页面提示语
|
||||
*/
|
||||
|
@@ -19,14 +19,16 @@ const props = withDefaults(defineProps<Props>(), {
|
||||
homePath: '/',
|
||||
image: '',
|
||||
showBack: true,
|
||||
status: 'hello',
|
||||
status: 'comming-soon',
|
||||
title: '',
|
||||
});
|
||||
|
||||
const Icon403 = defineAsyncComponent(() => import('./icons/icon-403.vue'));
|
||||
const Icon404 = defineAsyncComponent(() => import('./icons/icon-404.vue'));
|
||||
const Icon500 = defineAsyncComponent(() => import('./icons/icon-500.vue'));
|
||||
const IconHello = defineAsyncComponent(() => import('./icons/icon-hello.vue'));
|
||||
const IconHello = defineAsyncComponent(
|
||||
() => import('./icons/icon-comming-soon.vue'),
|
||||
);
|
||||
const IconOffline = defineAsyncComponent(
|
||||
() => import('./icons/icon-offline.vue'),
|
||||
);
|
||||
@@ -49,7 +51,7 @@ const titleText = computed(() => {
|
||||
case 'offline': {
|
||||
return $t('fallback.offline-error');
|
||||
}
|
||||
case 'hello': {
|
||||
case 'comming-soon': {
|
||||
return $t('fallback.coming-soon');
|
||||
}
|
||||
default: {
|
||||
@@ -95,7 +97,7 @@ const fallbackIcon = computed(() => {
|
||||
case 'offline': {
|
||||
return IconOffline;
|
||||
}
|
||||
case 'hello': {
|
||||
case 'comming-soon': {
|
||||
return IconHello;
|
||||
}
|
||||
default: {
|
||||
|
@@ -71,7 +71,7 @@ if (props.enableShortcutKey) {
|
||||
<span
|
||||
class="text-muted-foreground group-hover:text-foreground hidden text-sm duration-300 md:block"
|
||||
>
|
||||
{{ $t('search.search') }}
|
||||
{{ $t('widgets.search.title') }}
|
||||
</span>
|
||||
<span
|
||||
v-if="enableShortcutKey"
|
||||
@@ -94,7 +94,7 @@ if (props.enableShortcutKey) {
|
||||
<IcRoundSearch class="mt-1 size-4" />
|
||||
<input
|
||||
v-model="keyword"
|
||||
:placeholder="$t('search.search-navigate')"
|
||||
:placeholder="$t('widgets.search.search-navigate')"
|
||||
class="ring-none placeholder:text-muted-foreground w-[80%] rounded-md border border-none bg-transparent p-2 text-sm outline-none ring-0 ring-offset-transparent focus-visible:ring-transparent"
|
||||
/>
|
||||
</DialogTitle>
|
||||
@@ -106,16 +106,16 @@ if (props.enableShortcutKey) {
|
||||
>
|
||||
<div class="flex items-center">
|
||||
<IcRoundSubdirectoryArrowLeft class="mr-1" />
|
||||
{{ $t('search.select') }}
|
||||
{{ $t('widgets.search.select') }}
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<IcRoundArrowUpward class="mr-2" />
|
||||
<IcRoundArrowDownward class="mr-2" />
|
||||
{{ $t('search.navigate') }}
|
||||
{{ $t('widgets.search.navigate') }}
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<MdiKeyboardEsc class="mr-1" />
|
||||
{{ $t('search.close') }}
|
||||
{{ $t('widgets.search.close') }}
|
||||
</div>
|
||||
</DialogFooter>
|
||||
</DialogContent>
|
||||
|
@@ -223,7 +223,7 @@ onMounted(() => {
|
||||
>
|
||||
<IcRoundSearchOff class="size-12" />
|
||||
<p class="my-10 text-xs">
|
||||
{{ $t('search.no-results') }}
|
||||
{{ $t('widgets.search.no-results') }}
|
||||
<span class="text-foreground text-sm font-medium">
|
||||
"{{ keyword }}"
|
||||
</span>
|
||||
@@ -235,7 +235,7 @@ onMounted(() => {
|
||||
class="text-muted-foreground text-center"
|
||||
>
|
||||
<p class="my-10 text-xs">
|
||||
{{ $t('search.no-recent') }}
|
||||
{{ $t('widgets.search.no-recent') }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -244,7 +244,7 @@ onMounted(() => {
|
||||
v-if="searchHistory.length > 0 && !keyword"
|
||||
class="text-muted-foreground mb-2 text-xs"
|
||||
>
|
||||
{{ $t('search.recent') }}
|
||||
{{ $t('widgets.search.recent') }}
|
||||
</li>
|
||||
<li
|
||||
v-for="(item, index) in uniqueByField(searchResults, 'path')"
|
||||
|
@@ -13,7 +13,7 @@ const logoVisible = defineModel<boolean>('logoVisible');
|
||||
|
||||
<template>
|
||||
<SwitchItem v-model="tabsVisible">
|
||||
{{ $t('preferences.tabs-visible') }}
|
||||
{{ $t('preferences.tabbar.enable') }}
|
||||
</SwitchItem>
|
||||
<SwitchItem v-model="logoVisible">
|
||||
{{ $t('preferences.logo-visible') }}
|
||||
|
@@ -28,18 +28,18 @@ const stylesItems: SelectListItem[] = [
|
||||
:disabled="disabled"
|
||||
:items="stylesItems"
|
||||
>
|
||||
{{ $t('preferences.navigation-style') }}
|
||||
{{ $t('preferences.navigation-menu.style') }}
|
||||
</ToggleItem>
|
||||
<SwitchItem
|
||||
v-model="navigationSplit"
|
||||
:disabled="disabledNavigationSplit || disabled"
|
||||
>
|
||||
{{ $t('preferences.navigation-split') }}
|
||||
{{ $t('preferences.navigation-menu.split') }}
|
||||
<template #tip>
|
||||
{{ $t('preferences.navigation-split-tip') }}
|
||||
{{ $t('preferences.navigation-menu.split-tip') }}
|
||||
</template>
|
||||
</SwitchItem>
|
||||
<SwitchItem v-model="navigationAccordion" :disabled="disabled">
|
||||
{{ $t('preferences.navigation-accordion') }}
|
||||
{{ $t('preferences.navigation-menu.accordion') }}
|
||||
</SwitchItem>
|
||||
</template>
|
||||
|
@@ -15,10 +15,10 @@ const tabbarShowIcon = defineModel<boolean>('tabbarShowIcon');
|
||||
|
||||
<template>
|
||||
<SwitchItem v-model="tabbarEnable" :disabled="disabled">
|
||||
{{ $t('preferences.tabs-visible') }}
|
||||
{{ $t('preferences.tabbar.enable') }}
|
||||
</SwitchItem>
|
||||
<SwitchItem v-model="tabbarShowIcon" :disabled="!tabbarEnable">
|
||||
{{ $t('preferences.tabs-icon') }}
|
||||
{{ $t('preferences.tabbar.icon') }}
|
||||
</SwitchItem>
|
||||
<!-- <SwitchItem v-model="sideCollapseShowTitle" :disabled="!tabsVisible">
|
||||
{{ $t('preferences.collapse-show-title') }}
|
||||
|
@@ -28,50 +28,50 @@ const inputValue = computed(() => {
|
||||
function typeView(name: BuiltinThemeType) {
|
||||
switch (name) {
|
||||
case 'default': {
|
||||
return $t('preferences.theme.default');
|
||||
return $t('preferences.theme.builtin.default');
|
||||
}
|
||||
case 'violet': {
|
||||
return $t('preferences.theme.violet');
|
||||
return $t('preferences.theme.builtin.violet');
|
||||
}
|
||||
case 'pink': {
|
||||
return $t('preferences.theme.pink');
|
||||
return $t('preferences.theme.builtin.pink');
|
||||
}
|
||||
case 'rose': {
|
||||
return $t('preferences.theme.rose');
|
||||
return $t('preferences.theme.builtin.rose');
|
||||
}
|
||||
case 'sky-blue': {
|
||||
return $t('preferences.theme.sky-blue');
|
||||
return $t('preferences.theme.builtin.sky-blue');
|
||||
}
|
||||
case 'deep-blue': {
|
||||
return $t('preferences.theme.deep-blue');
|
||||
return $t('preferences.theme.builtin.deep-blue');
|
||||
}
|
||||
|
||||
case 'green': {
|
||||
return $t('preferences.theme.green');
|
||||
return $t('preferences.theme.builtin.green');
|
||||
}
|
||||
case 'deep-green': {
|
||||
return $t('preferences.theme.deep-green');
|
||||
return $t('preferences.theme.builtin.deep-green');
|
||||
}
|
||||
case 'orange': {
|
||||
return $t('preferences.theme.orange');
|
||||
return $t('preferences.theme.builtin.orange');
|
||||
}
|
||||
case 'yellow': {
|
||||
return $t('preferences.theme.yellow');
|
||||
return $t('preferences.theme.builtin.yellow');
|
||||
}
|
||||
case 'zinc': {
|
||||
return $t('preferences.theme.zinc');
|
||||
return $t('preferences.theme.builtin.zinc');
|
||||
}
|
||||
case 'neutral': {
|
||||
return $t('preferences.theme.neutral');
|
||||
return $t('preferences.theme.builtin.neutral');
|
||||
}
|
||||
case 'slate': {
|
||||
return $t('preferences.theme.slate');
|
||||
return $t('preferences.theme.builtin.slate');
|
||||
}
|
||||
case 'gray': {
|
||||
return $t('preferences.theme.gray');
|
||||
return $t('preferences.theme.builtin.gray');
|
||||
}
|
||||
case 'custom': {
|
||||
return $t('preferences.theme.custom');
|
||||
return $t('preferences.theme.builtin.custom');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -18,9 +18,9 @@ const appColorGrayMode = defineModel<boolean>('appColorGrayMode', {
|
||||
|
||||
<template>
|
||||
<SwitchItem v-model="appColorWeakMode">
|
||||
{{ $t('preferences.weak-mode') }}
|
||||
{{ $t('preferences.theme.weak-mode') }}
|
||||
</SwitchItem>
|
||||
<SwitchItem v-model="appColorGrayMode">
|
||||
{{ $t('preferences.gray-mode') }}
|
||||
{{ $t('preferences.theme.gray-mode') }}
|
||||
</SwitchItem>
|
||||
</template>
|
||||
|
@@ -43,10 +43,10 @@ function activeClass(theme: string): string[] {
|
||||
function nameView(name: string) {
|
||||
switch (name) {
|
||||
case 'light': {
|
||||
return $t('preferences.light');
|
||||
return $t('preferences.theme.light');
|
||||
}
|
||||
case 'dark': {
|
||||
return $t('preferences.dark');
|
||||
return $t('preferences.theme.dark');
|
||||
}
|
||||
case 'auto': {
|
||||
return $t('preferences.follow-system');
|
||||
@@ -79,7 +79,7 @@ function nameView(name: string) {
|
||||
:disabled="modelValue !== 'light'"
|
||||
class="mt-6"
|
||||
>
|
||||
{{ $t('preferences.dark-menu') }}
|
||||
{{ $t('preferences.theme.dark-menu') }}
|
||||
</SwitchItem>
|
||||
</div>
|
||||
</template>
|
||||
|
@@ -233,7 +233,7 @@ async function handleReset() {
|
||||
:color-primary-presets="colorPrimaryPresets"
|
||||
/>
|
||||
</Block> -->
|
||||
<Block :title="$t('preferences.theme.builtin')">
|
||||
<Block :title="$t('preferences.theme.builtin.title')">
|
||||
<BuiltinTheme
|
||||
v-model="themeBuiltinType"
|
||||
v-model:theme-color-primary="themeColorPrimary"
|
||||
@@ -275,7 +275,7 @@ async function handleReset() {
|
||||
/>
|
||||
</Block>
|
||||
|
||||
<Block :title="$t('preferences.navigation-menu')">
|
||||
<Block :title="$t('preferences.navigation-menu.title')">
|
||||
<Navigation
|
||||
v-model:navigation-accordion="navigationAccordion"
|
||||
v-model:navigation-split="navigationSplit"
|
||||
@@ -298,7 +298,7 @@ async function handleReset() {
|
||||
/>
|
||||
</Block>
|
||||
|
||||
<Block :title="$t('preferences.tabs')">
|
||||
<Block :title="$t('preferences.tabbar.title')">
|
||||
<Tabbar
|
||||
v-model:tabbar-enable="tabbarEnable"
|
||||
v-model:tabbar-show-icon="tabbarShowIcon"
|
||||
|
@@ -39,12 +39,12 @@ const PRESETS = [
|
||||
{
|
||||
icon: IcRoundWbSunny,
|
||||
name: 'light',
|
||||
title: $t('preferences.light'),
|
||||
title: $t('preferences.theme.light'),
|
||||
},
|
||||
{
|
||||
icon: MdiMoonAndStars,
|
||||
name: 'dark',
|
||||
title: $t('preferences.dark'),
|
||||
title: $t('preferences.theme.dark'),
|
||||
},
|
||||
{
|
||||
icon: IcRoundMotionPhotosAuto,
|
||||
|
Reference in New Issue
Block a user