import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:intl/intl.dart' as intl; import 'app_localizations_en.dart'; import 'app_localizations_zh.dart'; // ignore_for_file: type=lint /// Callers can lookup localized strings with an instance of AppLocalizations /// returned by `AppLocalizations.of(context)`. /// /// Applications need to include `AppLocalizations.delegate()` in their app's /// `localizationDelegates` list, and the locales they support in the app's /// `supportedLocales` list. For example: /// /// ```dart /// import 'l10n/app_localizations.dart'; /// /// return MaterialApp( /// localizationsDelegates: AppLocalizations.localizationsDelegates, /// supportedLocales: AppLocalizations.supportedLocales, /// home: MyApplicationHome(), /// ); /// ``` /// /// ## Update pubspec.yaml /// /// Please make sure to update your pubspec.yaml to include the following /// packages: /// /// ```yaml /// dependencies: /// # Internationalization support. /// flutter_localizations: /// sdk: flutter /// intl: any # Use the pinned version from flutter_localizations /// /// # Rest of dependencies /// ``` /// /// ## iOS Applications /// /// iOS applications define key application metadata, including supported /// locales, in an Info.plist file that is built into the application bundle. /// To configure the locales supported by your app, you’ll need to edit this /// file. /// /// First, open your project’s ios/Runner.xcworkspace Xcode workspace file. /// Then, in the Project Navigator, open the Info.plist file under the Runner /// project’s Runner folder. /// /// Next, select the Information Property List item, select Add Item from the /// Editor menu, then select Localizations from the pop-up menu. /// /// Select and expand the newly-created Localizations item then, for each /// locale your application supports, add a new item and select the locale /// you wish to add from the pop-up menu in the Value field. This list should /// be consistent with the languages listed in the AppLocalizations.supportedLocales /// property. abstract class AppLocalizations { AppLocalizations(String locale) : localeName = intl.Intl.canonicalizedLocale(locale.toString()); final String localeName; static AppLocalizations? of(BuildContext context) { return Localizations.of(context, AppLocalizations); } static const LocalizationsDelegate delegate = _AppLocalizationsDelegate(); /// A list of this localizations delegate along with the default localizations /// delegates. /// /// Returns a list of localizations delegates containing this delegate along with /// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, /// and GlobalWidgetsLocalizations.delegate. /// /// Additional delegates can be added by appending to this list in /// MaterialApp. This list does not have to be used at all if a custom list /// of delegates is preferred or required. static const List> localizationsDelegates = >[ delegate, GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, GlobalWidgetsLocalizations.delegate, ]; /// A list of this localizations delegate's supported locales. static const List supportedLocales = [ Locale('en'), Locale('zh'), ]; /// No description provided for @appTitle. /// /// In zh, this message translates to: /// **'觅爻签问'** String get appTitle; /// No description provided for @welcomeLogin. /// /// In zh, this message translates to: /// **'欢迎登录'** String get welcomeLogin; /// No description provided for @loginSubtitle. /// /// In zh, this message translates to: /// **'请使用邮箱登录'** String get loginSubtitle; /// No description provided for @loginSubtitleEmail. /// /// In zh, this message translates to: /// **'请使用邮箱登录'** String get loginSubtitleEmail; /// No description provided for @emailHint. /// /// In zh, this message translates to: /// **'请输入邮箱地址'** String get emailHint; /// No description provided for @codeHint. /// /// In zh, this message translates to: /// **'请输入验证码'** String get codeHint; /// No description provided for @sendCode. /// /// In zh, this message translates to: /// **'获取验证码'** String get sendCode; /// No description provided for @sending. /// /// In zh, this message translates to: /// **'发送中...'** String get sending; /// No description provided for @retryAfter. /// /// In zh, this message translates to: /// **'{seconds}秒后重试'** String retryAfter(int seconds); /// No description provided for @login. /// /// In zh, this message translates to: /// **'登录'** String get login; /// No description provided for @agreementPrefix. /// /// In zh, this message translates to: /// **'我已阅读并同意'** String get agreementPrefix; /// No description provided for @privacyPolicy. /// /// In zh, this message translates to: /// **'隐私政策'** String get privacyPolicy; /// No description provided for @termsOfService. /// /// In zh, this message translates to: /// **'服务条款'** String get termsOfService; /// No description provided for @disclaimer. /// /// In zh, this message translates to: /// **'免责声明'** String get disclaimer; /// No description provided for @icp. /// /// In zh, this message translates to: /// **'粤ICP备2025428416号-1A'** String get icp; /// No description provided for @invalidPhone. /// /// In zh, this message translates to: /// **'请输入正确的手机号码'** String get invalidPhone; /// No description provided for @invalidEmail. /// /// In zh, this message translates to: /// **'请输入正确的邮箱地址'** String get invalidEmail; /// No description provided for @invalidCode. /// /// In zh, this message translates to: /// **'请输入6位验证码'** String get invalidCode; /// No description provided for @agreementRequired. /// /// In zh, this message translates to: /// **'请先勾选协议'** String get agreementRequired; /// No description provided for @codeSent. /// /// In zh, this message translates to: /// **'验证码已发送,请注意查收'** String get codeSent; /// No description provided for @loginSuccess. /// /// In zh, this message translates to: /// **'登录成功'** String get loginSuccess; /// No description provided for @helloUser. /// /// In zh, this message translates to: /// **'您好,{name}'** String helloUser(String name); /// No description provided for @startJourney. /// /// In zh, this message translates to: /// **'开始您的卦象之旅'** String get startJourney; /// No description provided for @journeySubtitle. /// /// In zh, this message translates to: /// **'借助AI智能,探索未来的可能'** String get journeySubtitle; /// No description provided for @startNow. /// /// In zh, this message translates to: /// **'立即起卦'** String get startNow; /// No description provided for @historyTitle. /// /// In zh, this message translates to: /// **'历史解卦'** String get historyTitle; /// No description provided for @more. /// /// In zh, this message translates to: /// **'更多'** String get more; /// No description provided for @noRecords. /// /// In zh, this message translates to: /// **'暂无记录'** String get noRecords; /// No description provided for @noRecordsSubtitle. /// /// In zh, this message translates to: /// **'您并没有保存任何卦象'** String get noRecordsSubtitle; /// No description provided for @homeTab. /// /// In zh, this message translates to: /// **'首页'** String get homeTab; /// No description provided for @profileTab. /// /// In zh, this message translates to: /// **'我的'** String get profileTab; /// No description provided for @notify. /// /// In zh, this message translates to: /// **'消息通知'** String get notify; /// No description provided for @featurePending. /// /// In zh, this message translates to: /// **'该功能暂未接入数据'** String get featurePending; /// No description provided for @logout. /// /// In zh, this message translates to: /// **'退出登录'** String get logout; /// No description provided for @defaultUserName. /// /// In zh, this message translates to: /// **'用户'** String get defaultUserName; /// No description provided for @historyQuestion1. /// /// In zh, this message translates to: /// **'今年转岗是否合适?'** String get historyQuestion1; /// No description provided for @historyQuestion2. /// /// In zh, this message translates to: /// **'最近感情是否能推进?'** String get historyQuestion2; /// No description provided for @historyQuestion3. /// /// In zh, this message translates to: /// **'本季度投资节奏如何?'** String get historyQuestion3; /// No description provided for @guaName1. /// /// In zh, this message translates to: /// **'天雷无妄'** String get guaName1; /// No description provided for @guaName2. /// /// In zh, this message translates to: /// **'泽火革'** String get guaName2; /// No description provided for @guaName3. /// /// In zh, this message translates to: /// **'风地观'** String get guaName3; /// No description provided for @welcomeDialogTitle. /// /// In zh, this message translates to: /// **'欢迎使用觅爻签问'** String get welcomeDialogTitle; /// No description provided for @welcomeParagraph1. /// /// In zh, this message translates to: /// **'你好,欢迎来到觅爻签问,这是一个借助于AI解读传统六爻卦象的平台,为用户了解中国传统易学文化提供一个窗口。'** String get welcomeParagraph1; /// No description provided for @welcomeParagraph2. /// /// In zh, this message translates to: /// **'六爻卦象源于《周易》深邃的哲学体系,是古人探索世界运行规律的一种独特方法。古人认为宇宙万物相互关联,在你起卦时,你的心念与时空信息会凝结成卦象的方式呈现出来。'** String get welcomeParagraph2; /// No description provided for @welcomeParagraph3. /// /// In zh, this message translates to: /// **'觅爻签问基于这样的思路,帮助你跳出局限思维,从全局和演变趋势看清矛盾、机会与风险,为判断和行动提供参考。'** String get welcomeParagraph3; /// No description provided for @warningTitle. /// /// In zh, this message translates to: /// **'特别提醒'** String get warningTitle; /// No description provided for @warningBody. /// /// In zh, this message translates to: /// **'卦象解读结果均由AI生成,仅供娱乐参考,切不可作为商业、医疗等专业领域的决策依据。理性看待卦象,自由掌握人生。'** String get warningBody; /// No description provided for @scrollHint. /// /// In zh, this message translates to: /// **'请向下滚动阅读全部内容'** String get scrollHint; /// No description provided for @understood. /// /// In zh, this message translates to: /// **'我已了解'** String get understood; /// No description provided for @readAllFirst. /// /// In zh, this message translates to: /// **'请先阅读完整内容'** String get readAllFirst; /// No description provided for @categoryCareer. /// /// In zh, this message translates to: /// **'事业学业'** String get categoryCareer; /// No description provided for @categoryLove. /// /// In zh, this message translates to: /// **'情感婚姻'** String get categoryLove; /// No description provided for @categoryMoney. /// /// In zh, this message translates to: /// **'财富投资'** String get categoryMoney; /// No description provided for @signBest. /// /// In zh, this message translates to: /// **'上上签'** String get signBest; /// No description provided for @signGood. /// /// In zh, this message translates to: /// **'中上签'** String get signGood; /// No description provided for @signNormal. /// /// In zh, this message translates to: /// **'中下签'** String get signNormal; /// No description provided for @language. /// /// In zh, this message translates to: /// **'语言'** String get language; /// No description provided for @english. /// /// In zh, this message translates to: /// **'英文'** String get english; /// No description provided for @chinese. /// /// In zh, this message translates to: /// **'中文'** String get chinese; /// No description provided for @dialogConfirm. /// /// In zh, this message translates to: /// **'确定'** String get dialogConfirm; /// No description provided for @agreementSeparator. /// /// In zh, this message translates to: /// **'、'** String get agreementSeparator; /// No description provided for @agreementAnd. /// /// In zh, this message translates to: /// **'和'** String get agreementAnd; /// No description provided for @privacyContent. /// /// In zh, this message translates to: /// **'隐私政策内容展示占位。'** String get privacyContent; /// No description provided for @termsContent. /// /// In zh, this message translates to: /// **'服务条款内容展示占位。'** String get termsContent; /// No description provided for @disclaimerContent. /// /// In zh, this message translates to: /// **'免责声明内容展示占位。'** String get disclaimerContent; /// No description provided for @toastLabelInfo. /// /// In zh, this message translates to: /// **'提示'** String get toastLabelInfo; /// No description provided for @toastLabelSuccess. /// /// In zh, this message translates to: /// **'成功'** String get toastLabelSuccess; /// No description provided for @toastLabelWarning. /// /// In zh, this message translates to: /// **'警告'** String get toastLabelWarning; /// No description provided for @toastLabelError. /// /// In zh, this message translates to: /// **'错误'** String get toastLabelError; /// No description provided for @errorTooManyRequests. /// /// In zh, this message translates to: /// **'请求过于频繁,请稍后重试'** String get errorTooManyRequests; /// No description provided for @errorInvalidVerificationCode. /// /// In zh, this message translates to: /// **'验证码错误'** String get errorInvalidVerificationCode; /// No description provided for @errorSessionExpired. /// /// In zh, this message translates to: /// **'登录已过期,请重新登录'** String get errorSessionExpired; /// No description provided for @errorServiceUnavailable. /// /// In zh, this message translates to: /// **'服务暂时不可用,请稍后重试'** String get errorServiceUnavailable; /// No description provided for @errorServerGeneric. /// /// In zh, this message translates to: /// **'服务异常,请稍后重试'** String get errorServerGeneric; /// No description provided for @errorRequestGeneric. /// /// In zh, this message translates to: /// **'请求失败,请稍后重试'** String get errorRequestGeneric; } class _AppLocalizationsDelegate extends LocalizationsDelegate { const _AppLocalizationsDelegate(); @override Future load(Locale locale) { return SynchronousFuture(lookupAppLocalizations(locale)); } @override bool isSupported(Locale locale) => ['en', 'zh'].contains(locale.languageCode); @override bool shouldReload(_AppLocalizationsDelegate old) => false; } AppLocalizations lookupAppLocalizations(Locale locale) { // Lookup logic when only language code is specified. switch (locale.languageCode) { case 'en': return AppLocalizationsEn(); case 'zh': return AppLocalizationsZh(); } throw FlutterError( 'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely ' 'an issue with the localizations generation tool. Please file an issue ' 'on GitHub with a reproducible sample app and the gen-l10n configuration ' 'that was used.', ); }