mirror of
https://github.com/setube/ogame-vue-ts.git
synced 2026-05-12 07:55:11 +08:00
feat: 初始化项目结构与核心功能
引入项目基础目录结构,包含多语言支持、主要页面与组件、核心游戏逻辑、UI 组件库、加密与本地持久化、自动化 Docker 构建流程、GitHub issue 模板(中英文)、README(中英文)、LICENSE 及开发配置文件。实现 OGame 单机版主要功能模块,为后续开发和扩展奠定基础。
This commit is contained in:
53
src/locales/index.ts
Normal file
53
src/locales/index.ts
Normal file
@@ -0,0 +1,53 @@
|
||||
import zhCN from './zh-CN'
|
||||
import zhTW from './zh-TW'
|
||||
import en from './en'
|
||||
import de from './de'
|
||||
import ru from './ru'
|
||||
import ko from './ko'
|
||||
import ja from './ja'
|
||||
|
||||
export type Locale = 'zh-CN' | 'zh-TW' | 'en' | 'de' | 'ru' | 'ko' | 'ja'
|
||||
|
||||
export const locales = { 'zh-CN': zhCN, 'zh-TW': zhTW, en, de, ru, ko, ja }
|
||||
|
||||
export const localeNames: Record<Locale, string> = {
|
||||
'zh-CN': '简体中文',
|
||||
'zh-TW': '繁體中文',
|
||||
en: 'English',
|
||||
de: 'Deutsch',
|
||||
ru: 'Русский',
|
||||
ko: '한국어',
|
||||
ja: '日本語'
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据浏览器语言检测并返回应用支持的语言
|
||||
* @returns 检测到的语言代码
|
||||
*/
|
||||
export const detectBrowserLocale = (): Locale => {
|
||||
// 获取浏览器语言
|
||||
const browserLang = navigator.language || (navigator.languages && navigator.languages[0]) || 'zh-CN'
|
||||
const lang = browserLang.toLowerCase()
|
||||
|
||||
// 映射浏览器语言到应用支持的语言
|
||||
if (lang.startsWith('zh-tw') || lang.startsWith('zh-hant') || lang.startsWith('zh-hk') || lang.startsWith('zh-mo')) {
|
||||
return 'zh-TW'
|
||||
} else if (lang.startsWith('zh')) {
|
||||
return 'zh-CN'
|
||||
} else if (lang.startsWith('ja')) {
|
||||
return 'ja'
|
||||
} else if (lang.startsWith('ko')) {
|
||||
return 'ko'
|
||||
} else if (lang.startsWith('en')) {
|
||||
return 'en'
|
||||
} else if (lang.startsWith('de')) {
|
||||
return 'de'
|
||||
} else if (lang.startsWith('ru')) {
|
||||
return 'ru'
|
||||
}
|
||||
|
||||
// 默认返回简体中文
|
||||
return 'zh-CN'
|
||||
}
|
||||
|
||||
export type TranslationSchema = typeof zhCN
|
||||
Reference in New Issue
Block a user