refactor(settings): 统一语言设置,合并 interface_language 和 ai_language

- 后端 Schema 将 interface_language 和 ai_language 合并为 language
- 前端设置界面只保留一个语言选项
- AI 回复语言统一使用 language 设置
- 更新协议文档
- 新增数据库迁移脚本
This commit is contained in:
ZL-Q
2026-04-28 17:19:47 +08:00
parent 940c67e642
commit b9617ae152
20 changed files with 740 additions and 176 deletions
+117 -27
View File
@@ -513,17 +513,11 @@ abstract class AppLocalizations {
/// **'账号数据'**
String get settingsAccountAndDataTitle;
/// No description provided for @settingsInterfaceLanguage.
/// No description provided for @settingsLanguage.
///
/// In zh, this message translates to:
/// **'界面语言'**
String get settingsInterfaceLanguage;
/// No description provided for @settingsAiLanguage.
///
/// In zh, this message translates to:
/// **'AI 回复语言'**
String get settingsAiLanguage;
/// **'语言'**
String get settingsLanguage;
/// No description provided for @settingsNotificationAllow.
///
@@ -597,12 +591,6 @@ abstract class AppLocalizations {
/// **'点数可用于后续起卦与相关服务消费'**
String get settingsCoinHeroSubtitle;
/// No description provided for @settingsAiLanguageHint.
///
/// In zh, this message translates to:
/// **'该字段将对齐 profiles.settings.preferences.ai_language,后续接入真实偏好设置。'**
String get settingsAiLanguageHint;
/// No description provided for @settingsTimezone.
///
/// In zh, this message translates to:
@@ -615,18 +603,6 @@ abstract class AppLocalizations {
/// **'该字段将对齐 profiles.settings.preferences.timezone,后续提供时区选择。'**
String get settingsTimezoneHint;
/// No description provided for @settingsCountry.
///
/// In zh, this message translates to:
/// **'国家/地区'**
String get settingsCountry;
/// No description provided for @settingsCountryHint.
///
/// In zh, this message translates to:
/// **'该字段将对齐 profiles.settings.preferences.country,后续提供国家或地区选择。'**
String get settingsCountryHint;
/// No description provided for @settingsPrivacyProfileVisibility.
///
/// In zh, this message translates to:
@@ -969,6 +945,12 @@ abstract class AppLocalizations {
/// **'推荐'**
String get settingsCoinPackPopularBadge;
/// No description provided for @settingsCoinPackNewUserBadge.
///
/// In zh, this message translates to:
/// **'限购一次'**
String get settingsCoinPackNewUserBadge;
/// No description provided for @settingsPurchaseButton.
///
/// In zh, this message translates to:
@@ -2468,6 +2450,114 @@ abstract class AppLocalizations {
/// In zh, this message translates to:
/// **'Apple 正在处理中,请稍候'**
String get paymentPending;
/// No description provided for @notifyCenterTitle.
///
/// In zh, this message translates to:
/// **'通知'**
String get notifyCenterTitle;
/// No description provided for @notifyMarkAllRead.
///
/// In zh, this message translates to:
/// **'全部已读'**
String get notifyMarkAllRead;
/// No description provided for @notifyLoadFailed.
///
/// In zh, this message translates to:
/// **'加载失败'**
String get notifyLoadFailed;
/// No description provided for @notifyRetry.
///
/// In zh, this message translates to:
/// **'重试'**
String get notifyRetry;
/// No description provided for @notifyEmpty.
///
/// In zh, this message translates to:
/// **'暂无通知'**
String get notifyEmpty;
/// No description provided for @timeJustNow.
///
/// In zh, this message translates to:
/// **'刚刚'**
String get timeJustNow;
/// No description provided for @timeMinutesAgo.
///
/// In zh, this message translates to:
/// **'{minutes}分钟前'**
String timeMinutesAgo(int minutes);
/// No description provided for @timeHoursAgo.
///
/// In zh, this message translates to:
/// **'{hours}小时前'**
String timeHoursAgo(int hours);
/// No description provided for @timeDaysAgo.
///
/// In zh, this message translates to:
/// **'{days}天前'**
String timeDaysAgo(int days);
/// No description provided for @pointsLedgerTitle.
///
/// In zh, this message translates to:
/// **'积分流水'**
String get pointsLedgerTitle;
/// No description provided for @pointsLedgerEmpty.
///
/// In zh, this message translates to:
/// **'暂无流水记录'**
String get pointsLedgerEmpty;
/// No description provided for @pointsLedgerTypeRegister.
///
/// In zh, this message translates to:
/// **'注册赠送'**
String get pointsLedgerTypeRegister;
/// No description provided for @pointsLedgerTypePurchase.
///
/// In zh, this message translates to:
/// **'购买积分包'**
String get pointsLedgerTypePurchase;
/// No description provided for @pointsLedgerTypeConsume.
///
/// In zh, this message translates to:
/// **'AI 对话消耗'**
String get pointsLedgerTypeConsume;
/// No description provided for @pointsLedgerTypeAdjust.
///
/// In zh, this message translates to:
/// **'系统调整'**
String get pointsLedgerTypeAdjust;
/// No description provided for @pointsLedgerTypeRefund.
///
/// In zh, this message translates to:
/// **'退款'**
String get pointsLedgerTypeRefund;
/// No description provided for @pointsLedgerBalance.
///
/// In zh, this message translates to:
/// **'余额 {balance}'**
String pointsLedgerBalance(int balance);
/// No description provided for @retry.
///
/// In zh, this message translates to:
/// **'重试'**
String get retry;
}
class _AppLocalizationsDelegate