Template
chore: 初始化脚手架 — sunny_mochi 企业级 Flutter 模板
Core 基础设施:Flavor 三包体系、Drift+SQLCipher 加密数据库 7 拦截器 Dio 网络栈、CrashReporter 崩溃日志、Sealed Failure 错误体系 5 色板主题系统、Auth 认证骨架(Clean Architecture)、Dev Panel、Mock Adapter 通过验证:flutter analyze(0 errors)、flutter test(全绿)、staging APK 74.8MB
This commit is contained in:
@@ -0,0 +1,165 @@
|
||||
///
|
||||
/// Generated file. Do not edit.
|
||||
///
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: type=lint, unused_import
|
||||
// dart format off
|
||||
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:slang/generated.dart';
|
||||
import 'strings.g.dart';
|
||||
|
||||
// Path: <root>
|
||||
class TranslationsEn extends Translations with BaseTranslations<AppLocale, Translations> {
|
||||
/// You can call this constructor and build your own translation instance of this locale.
|
||||
/// Constructing via the enum [AppLocale.build] is preferred.
|
||||
TranslationsEn({Map<String, Node>? overrides, PluralResolver? cardinalResolver, PluralResolver? ordinalResolver, TranslationMetadata<AppLocale, Translations>? meta})
|
||||
: assert(overrides == null, 'Set "translation_overrides: true" in order to enable this feature.'),
|
||||
$meta = meta ?? TranslationMetadata(
|
||||
locale: AppLocale.en,
|
||||
overrides: overrides ?? {},
|
||||
cardinalResolver: cardinalResolver,
|
||||
ordinalResolver: ordinalResolver,
|
||||
),
|
||||
super(cardinalResolver: cardinalResolver, ordinalResolver: ordinalResolver) {
|
||||
super.$meta.setFlatMapFunction($meta.getTranslation); // copy base translations to super.$meta
|
||||
$meta.setFlatMapFunction(_flatMapFunction);
|
||||
}
|
||||
|
||||
/// Metadata for the translations of <en>.
|
||||
@override final TranslationMetadata<AppLocale, Translations> $meta;
|
||||
|
||||
/// Access flat map
|
||||
@override dynamic operator[](String key) => $meta.getTranslation(key) ?? super.$meta.getTranslation(key);
|
||||
|
||||
late final TranslationsEn _root = this; // ignore: unused_field
|
||||
|
||||
@override
|
||||
TranslationsEn $copyWith({TranslationMetadata<AppLocale, Translations>? meta}) => TranslationsEn(meta: meta ?? this.$meta);
|
||||
|
||||
// Translations
|
||||
@override late final _TranslationsTabEn tab = _TranslationsTabEn._(_root);
|
||||
@override late final _TranslationsButtonEn button = _TranslationsButtonEn._(_root);
|
||||
@override late final _TranslationsErrorEn error = _TranslationsErrorEn._(_root);
|
||||
@override late final _TranslationsEmptyEn empty = _TranslationsEmptyEn._(_root);
|
||||
@override late final _TranslationsAuthEn auth = _TranslationsAuthEn._(_root);
|
||||
}
|
||||
|
||||
// Path: tab
|
||||
class _TranslationsTabEn extends TranslationsTabZhCn {
|
||||
_TranslationsTabEn._(TranslationsEn root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsEn _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get home => 'Home';
|
||||
@override String get mine => 'Mine';
|
||||
}
|
||||
|
||||
// Path: button
|
||||
class _TranslationsButtonEn extends TranslationsButtonZhCn {
|
||||
_TranslationsButtonEn._(TranslationsEn root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsEn _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get confirm => 'Confirm';
|
||||
@override String get cancel => 'Cancel';
|
||||
@override String get retry => 'Retry';
|
||||
@override String get submit => 'Submit';
|
||||
@override String get save => 'Save';
|
||||
@override String get edit => 'Edit';
|
||||
@override String get delete => 'Delete';
|
||||
@override String get back => 'Back';
|
||||
@override String get close => 'Close';
|
||||
@override String get login => 'Login';
|
||||
@override String get logout => 'Logout';
|
||||
}
|
||||
|
||||
// Path: error
|
||||
class _TranslationsErrorEn extends TranslationsErrorZhCn {
|
||||
_TranslationsErrorEn._(TranslationsEn root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsEn _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get unknown => 'Something went wrong, please try again';
|
||||
@override String get network => 'Network connection failed';
|
||||
@override String get timeout => 'Request timed out';
|
||||
@override String get server => 'Server error, please try again';
|
||||
@override String get auth => 'Session expired, please login again';
|
||||
@override String get empty_input => 'Please fill in required fields';
|
||||
@override String get invalid_phone => 'Please enter a valid phone number';
|
||||
}
|
||||
|
||||
// Path: empty
|
||||
class _TranslationsEmptyEn extends TranslationsEmptyZhCn {
|
||||
_TranslationsEmptyEn._(TranslationsEn root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsEn _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get kDefault => 'No data';
|
||||
@override String get list => 'List is empty';
|
||||
}
|
||||
|
||||
// Path: auth
|
||||
class _TranslationsAuthEn extends TranslationsAuthZhCn {
|
||||
_TranslationsAuthEn._(TranslationsEn root) : this._root = root, super.internal(root);
|
||||
|
||||
final TranslationsEn _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get login_title => 'Welcome';
|
||||
@override String get phone_hint => 'Enter phone number';
|
||||
@override String get code_hint => 'Enter verification code';
|
||||
@override String get password_hint => 'Enter password';
|
||||
@override String get send_code => 'Send Code';
|
||||
@override String get resend_code => 'Resend';
|
||||
@override String get sms_tab => 'SMS Code';
|
||||
@override String get pwd_tab => 'Password';
|
||||
}
|
||||
|
||||
/// The flat map containing all translations for locale <en>.
|
||||
/// Only for edge cases! For simple maps, use the map function of this library.
|
||||
///
|
||||
/// The Dart AOT compiler has issues with very large switch statements,
|
||||
/// so the map is split into smaller functions (512 entries each).
|
||||
extension on TranslationsEn {
|
||||
dynamic _flatMapFunction(String path) {
|
||||
return switch (path) {
|
||||
'tab.home' => 'Home',
|
||||
'tab.mine' => 'Mine',
|
||||
'button.confirm' => 'Confirm',
|
||||
'button.cancel' => 'Cancel',
|
||||
'button.retry' => 'Retry',
|
||||
'button.submit' => 'Submit',
|
||||
'button.save' => 'Save',
|
||||
'button.edit' => 'Edit',
|
||||
'button.delete' => 'Delete',
|
||||
'button.back' => 'Back',
|
||||
'button.close' => 'Close',
|
||||
'button.login' => 'Login',
|
||||
'button.logout' => 'Logout',
|
||||
'error.unknown' => 'Something went wrong, please try again',
|
||||
'error.network' => 'Network connection failed',
|
||||
'error.timeout' => 'Request timed out',
|
||||
'error.server' => 'Server error, please try again',
|
||||
'error.auth' => 'Session expired, please login again',
|
||||
'error.empty_input' => 'Please fill in required fields',
|
||||
'error.invalid_phone' => 'Please enter a valid phone number',
|
||||
'empty.kDefault' => 'No data',
|
||||
'empty.list' => 'List is empty',
|
||||
'auth.login_title' => 'Welcome',
|
||||
'auth.phone_hint' => 'Enter phone number',
|
||||
'auth.code_hint' => 'Enter verification code',
|
||||
'auth.password_hint' => 'Enter password',
|
||||
'auth.send_code' => 'Send Code',
|
||||
'auth.resend_code' => 'Resend',
|
||||
'auth.sms_tab' => 'SMS Code',
|
||||
'auth.pwd_tab' => 'Password',
|
||||
_ => null,
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user