+ {{ $t('common.confirm') }}
+
+```
+
+## 语言配置
+
+在 `preferences.ts` 中设置默认语言:
+
+```ts
+import { defineOverridesPreferences } from '@vben/preferences';
+
+export const overridesPreferences = defineOverridesPreferences({
+ app: {
+ locale: 'zh-CN', // 'en-US' | 'zh-CN' | ...
+ },
+});
+```
+
+## 支持的语言
+
+```ts
+type SupportedLanguagesType =
+ | 'en-US'
+ | 'zh-CN'
+ | 'zh-TW'
+ | 'ko-KR'
+ | 'ru-RU'
+ | 'ja-JP';
+```
+
+## 语言包位置
+
+```
+packages/locales/
+├── langs/ # 语言包文件
+│ ├── en-US.json
+│ ├── zh-CN.json
+│ └── ...
+└── src/ # 国际化相关代码
+```
+
+## 新增语言包
+
+1. 在 `packages/locales/langs/` 目录下新建语言文件,如 `ja-JP.json`
+2. 在 `packages/types/src.ts` 中添加类型定义
+3. 在 `preferences.ts` 中配置 `locale: 'ja-JP'`
+
+## 语言包结构示例
+
+```json
+{
+ "common": {
+ "confirm": "确认",
+ "cancel": "取消",
+ "save": "保存",
+ "delete": "删除",
+ "search": "搜索",
+ "reset": "重置"
+ },
+ "page": {
+ "home": {
+ "title": "首页",
+ "welcome": "欢迎"
+ }
+ },
+ "ui": {
+ "formRules": {
+ "required": "请输入{0}",
+ "selectRequired": "请选择{0}"
+ },
+ "placeholder": {
+ "input": "请输入",
+ "select": "请选择"
+ }
+ }
+}
+```
+
+## 远程加载语言包
+
+```ts
+// 支持从远程服务器加载语言包
+import { setI18nLanguage } from '@vben/locales';
+
+async function loadLocaleMessages(locale: string) {
+ const messages = await fetch(`/locales/${locale}.json`).then(res => res.json());
+ setI18nLanguage(locale, messages);
+}
+```
+
+## 切换语言
+
+框架内置了语言切换组件,可通过偏好设置开启:
+
+```ts
+export const overridesPreferences = defineOverridesPreferences({
+ widget: {
+ languageToggle: true, // 显示语言切换按钮
+ },
+});
+```
+
+## 在代码中切换
+
+```ts
+import { useLocale } from '@vben/locales';
+
+const { changeLocale } = useLocale();
+
+// 切换到英文
+changeLocale('en-US');
+```
diff --git a/skills/references/core/login.md b/skills/references/core/login.md
new file mode 100644
index 0000000..dd31a26
--- /dev/null
+++ b/skills/references/core/login.md
@@ -0,0 +1,185 @@
+# 登录对接
+
+对接自定义后端登录接口。
+
+## 需要实现的接口
+
+### 1. 登录接口
+
+```ts
+// src/api/core/auth.ts
+import { requestClient } from '#/api/request';
+
+export interface LoginParams {
+ password: string;
+ username: string;
+}
+
+export interface LoginResult {
+ accessToken: string;
+ refreshToken?: string;
+}
+
+export async function loginApi(data: LoginParams) {
+ return requestClient.post