Sink/i18n/i18n.ts
ccbikai e7b22a497b refactor: optimize language switcher and header layout
- Extracts language switcher into separate component
- Updates locale display to use country flag emojis
- Improves header responsiveness and spacing
- Removes embedded i18n logic for better separation of concerns
- Adjusts menu items alignment and margins for better visual balance
2025-03-16 11:17:32 +08:00

28 lines
552 B
TypeScript

import type { LocaleObject } from '@nuxtjs/i18n'
const locales: LocaleObject[] = [
{
code: 'zh-CN',
file: 'zh-CN.json',
name: '简体中文',
emoji: '🇨🇳',
},
{
code: 'en-US',
file: 'en-US.json',
name: 'English',
emoji: '🇺🇸',
},
]
function buildLocales() {
const useLocales = Object.values(locales).reduce((acc, data) => {
acc.push(data)
return acc
}, <LocaleObject[]>[])
return useLocales.sort((a, b) => a.code.localeCompare(b.code))
}
export const currentLocales = buildLocales()