i18n support

This commit is contained in:
Junyuan Feng
2022-05-05 16:07:55 +08:00
parent f9aa3b1728
commit 29e3ee0156
22 changed files with 1601 additions and 147 deletions

View File

@@ -0,0 +1,66 @@
// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
// This is a library that looks up messages for specific locales by
// delegating to the appropriate library.
// Ignore issues from commonly used lints in this file.
// ignore_for_file:implementation_imports, file_names, unnecessary_new
// ignore_for_file:unnecessary_brace_in_string_interps, directives_ordering
// ignore_for_file:argument_type_not_assignable, invalid_assignment
// ignore_for_file:prefer_single_quotes, prefer_generic_function_type_aliases
// ignore_for_file:comment_references
import 'dart:async';
import 'package:intl/intl.dart';
import 'package:intl/message_lookup_by_library.dart';
import 'package:intl/src/intl_helpers.dart';
import 'messages_en.dart' as messages_en;
import 'messages_zh.dart' as messages_zh;
typedef Future<dynamic> LibraryLoader();
Map<String, LibraryLoader> _deferredLibraries = {
'en': () => new Future.value(null),
'zh': () => new Future.value(null),
};
MessageLookupByLibrary? _findExact(String localeName) {
switch (localeName) {
case 'en':
return messages_en.messages;
case 'zh':
return messages_zh.messages;
default:
return null;
}
}
/// User programs should call this before using [localeName] for messages.
Future<bool> initializeMessages(String localeName) async {
var availableLocale = Intl.verifiedLocale(
localeName, (locale) => _deferredLibraries[locale] != null,
onFailure: (_) => null);
if (availableLocale == null) {
return new Future.value(false);
}
var lib = _deferredLibraries[availableLocale];
await (lib == null ? new Future.value(false) : lib());
initializeInternalMessageLookup(() => new CompositeMessageLookup());
messageLookup.addLocale(availableLocale, _findGeneratedMessagesFor);
return new Future.value(true);
}
bool _messagesExistFor(String locale) {
try {
return _findExact(locale) != null;
} catch (e) {
return false;
}
}
MessageLookupByLibrary? _findGeneratedMessagesFor(String locale) {
var actualLocale =
Intl.verifiedLocale(locale, _messagesExistFor, onFailure: (_) => null);
if (actualLocale == null) return null;
return _findExact(actualLocale);
}

View File

@@ -0,0 +1,140 @@
// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
// This is a library that provides messages for a en locale. All the
// messages from the main program should be duplicated here with the same
// function name.
// Ignore issues from commonly used lints in this file.
// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new
// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering
// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases
// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes
// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes
import 'package:intl/intl.dart';
import 'package:intl/message_lookup_by_library.dart';
final messages = new MessageLookup();
typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
class MessageLookup extends MessageLookupByLibrary {
String get localeName => 'en';
static String m0(rainSunMeGithub) =>
"\nThanks ${rainSunMeGithub} for participating in the test.\n\nAll rights reserved.";
static String m1(code) => "request failed, status code: ${code}";
static String m2(myGithub) => "\nMade with ❤️ by ${myGithub}";
static String m3(server) => "Are you sure to delete server [${server}]?";
static String m4(build) => "Found: v1.0.${build}, click to update";
static String m5(build) => "Current: v1.0.${build}";
static String m6(build) => "Current: v1.0.${build}, is up to date";
final messages = _notInlinedMessages(_notInlinedMessages);
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
"aboutThanks": m0,
"addAServer": MessageLookupByLibrary.simpleMessage("add a server"),
"addPrivateKey":
MessageLookupByLibrary.simpleMessage("Add private key"),
"appPrimaryColor":
MessageLookupByLibrary.simpleMessage("App primary color"),
"attention": MessageLookupByLibrary.simpleMessage("Attention"),
"cancel": MessageLookupByLibrary.simpleMessage("Cancel"),
"choose": MessageLookupByLibrary.simpleMessage("Choose"),
"chooseDestination":
MessageLookupByLibrary.simpleMessage("Choose destination"),
"choosePrivateKey":
MessageLookupByLibrary.simpleMessage("Choose private key"),
"clear": MessageLookupByLibrary.simpleMessage("Clear"),
"close": MessageLookupByLibrary.simpleMessage("Close"),
"convert": MessageLookupByLibrary.simpleMessage("Convert"),
"copy": MessageLookupByLibrary.simpleMessage("Copy"),
"currentMode": MessageLookupByLibrary.simpleMessage("Current Mode"),
"debug": MessageLookupByLibrary.simpleMessage("Debug"),
"decode": MessageLookupByLibrary.simpleMessage("Decode"),
"delete": MessageLookupByLibrary.simpleMessage("Delete"),
"edit": MessageLookupByLibrary.simpleMessage("Edit"),
"encode": MessageLookupByLibrary.simpleMessage("Encode"),
"exampleName": MessageLookupByLibrary.simpleMessage("Example name"),
"export": MessageLookupByLibrary.simpleMessage("Export"),
"fieldMustNotEmpty": MessageLookupByLibrary.simpleMessage(
"These fields must not be empty."),
"go": MessageLookupByLibrary.simpleMessage("Go"),
"host": MessageLookupByLibrary.simpleMessage("Host"),
"httpFailedWithCode": m1,
"import": MessageLookupByLibrary.simpleMessage("Import"),
"importAndExport":
MessageLookupByLibrary.simpleMessage("Import and Export"),
"keyAuth": MessageLookupByLibrary.simpleMessage("Key Auth"),
"launchPage": MessageLookupByLibrary.simpleMessage("Launch page"),
"license": MessageLookupByLibrary.simpleMessage("License"),
"loss": MessageLookupByLibrary.simpleMessage("Loss"),
"madeWithLove": m2,
"max": MessageLookupByLibrary.simpleMessage("max"),
"min": MessageLookupByLibrary.simpleMessage("min"),
"ms": MessageLookupByLibrary.simpleMessage("ms"),
"name": MessageLookupByLibrary.simpleMessage("Name"),
"noResult": MessageLookupByLibrary.simpleMessage("No result"),
"noSavedPrivateKey":
MessageLookupByLibrary.simpleMessage("No saved private keys."),
"noSavedSnippet":
MessageLookupByLibrary.simpleMessage("No saved snippets."),
"noServerAvailable":
MessageLookupByLibrary.simpleMessage("No server available."),
"ok": MessageLookupByLibrary.simpleMessage("OK"),
"ping": MessageLookupByLibrary.simpleMessage("Ping"),
"pingAvg": MessageLookupByLibrary.simpleMessage("Avg:"),
"pingInputIP": MessageLookupByLibrary.simpleMessage(
"Please input a target IP/domain."),
"plzEnterHost":
MessageLookupByLibrary.simpleMessage("Please enter host."),
"plzEnterPwd":
MessageLookupByLibrary.simpleMessage("Please enter password."),
"plzSelectKey":
MessageLookupByLibrary.simpleMessage("Please select a key."),
"port": MessageLookupByLibrary.simpleMessage("Port"),
"privateKey": MessageLookupByLibrary.simpleMessage("Private Key"),
"pwd": MessageLookupByLibrary.simpleMessage("Password"),
"result": MessageLookupByLibrary.simpleMessage("Result"),
"run": MessageLookupByLibrary.simpleMessage("Run"),
"save": MessageLookupByLibrary.simpleMessage("Save"),
"second": MessageLookupByLibrary.simpleMessage("s"),
"server": MessageLookupByLibrary.simpleMessage("Server"),
"serverTabConnecting":
MessageLookupByLibrary.simpleMessage("Connecting..."),
"serverTabEmpty": MessageLookupByLibrary.simpleMessage(
"There is no server.\nClick the fab to add one."),
"serverTabFailed": MessageLookupByLibrary.simpleMessage("Failed"),
"serverTabLoading": MessageLookupByLibrary.simpleMessage("Loading..."),
"serverTabPlzSave": MessageLookupByLibrary.simpleMessage(
"Please \'save\' this private key again."),
"serverTabUnkown":
MessageLookupByLibrary.simpleMessage("Unknown state"),
"setting": MessageLookupByLibrary.simpleMessage("Setting"),
"snippet": MessageLookupByLibrary.simpleMessage("Snippet"),
"start": MessageLookupByLibrary.simpleMessage("Start"),
"stop": MessageLookupByLibrary.simpleMessage("Stop"),
"sureToDeleteServer": m3,
"ttl": MessageLookupByLibrary.simpleMessage("TTL"),
"unknown": MessageLookupByLibrary.simpleMessage("unknown"),
"unkownConvertMode":
MessageLookupByLibrary.simpleMessage("Unknown convert mode"),
"updateIntervalEqual0": MessageLookupByLibrary.simpleMessage(
"You set to 0, will not update automatically.\nYou can pull to refresh manually."),
"updateServerStatusInterval": MessageLookupByLibrary.simpleMessage(
"Server status update interval"),
"upsideDown": MessageLookupByLibrary.simpleMessage("Upside Down"),
"urlOrJson": MessageLookupByLibrary.simpleMessage("URL or JSON"),
"user": MessageLookupByLibrary.simpleMessage("User"),
"versionHaveUpdate": m4,
"versionUnknownUpdate": m5,
"versionUpdated": m6,
"willTakEeffectImmediately":
MessageLookupByLibrary.simpleMessage("Will take effect immediately")
};
}

View File

@@ -0,0 +1,123 @@
// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart
// This is a library that provides messages for a zh locale. All the
// messages from the main program should be duplicated here with the same
// function name.
// Ignore issues from commonly used lints in this file.
// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new
// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering
// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases
// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes
// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes
import 'package:intl/intl.dart';
import 'package:intl/message_lookup_by_library.dart';
final messages = new MessageLookup();
typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
class MessageLookup extends MessageLookupByLibrary {
String get localeName => 'zh';
static String m0(rainSunMeGithub) =>
"\n感谢 ${rainSunMeGithub} 参与软件测试。\n\n保留所有权利。";
static String m1(code) => "请求失败, 状态码: ${code}";
static String m2(myGithub) => "\n用❤️制作 by ${myGithub}";
static String m3(server) => "你确定要删除服务器 [${server}] 吗?";
static String m4(build) => "找到新版本v1.0.${build}, 点击更新";
static String m5(build) => "当前v1.0.${build}";
static String m6(build) => "当前v1.0.${build}, 已是最新版本";
final messages = _notInlinedMessages(_notInlinedMessages);
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
"aboutThanks": m0,
"addAServer": MessageLookupByLibrary.simpleMessage("添加服务器"),
"addPrivateKey": MessageLookupByLibrary.simpleMessage("添加一个私钥"),
"appPrimaryColor": MessageLookupByLibrary.simpleMessage("App主要色"),
"attention": MessageLookupByLibrary.simpleMessage("注意"),
"cancel": MessageLookupByLibrary.simpleMessage("取消"),
"choose": MessageLookupByLibrary.simpleMessage("选择"),
"chooseDestination": MessageLookupByLibrary.simpleMessage("选择目标"),
"choosePrivateKey": MessageLookupByLibrary.simpleMessage("选择私钥"),
"clear": MessageLookupByLibrary.simpleMessage("清除"),
"close": MessageLookupByLibrary.simpleMessage("关闭"),
"convert": MessageLookupByLibrary.simpleMessage("转换"),
"copy": MessageLookupByLibrary.simpleMessage("复制到剪切板"),
"currentMode": MessageLookupByLibrary.simpleMessage("当前模式"),
"debug": MessageLookupByLibrary.simpleMessage("调试"),
"decode": MessageLookupByLibrary.simpleMessage("解码"),
"delete": MessageLookupByLibrary.simpleMessage("删除"),
"edit": MessageLookupByLibrary.simpleMessage("编辑"),
"encode": MessageLookupByLibrary.simpleMessage("编码"),
"exampleName": MessageLookupByLibrary.simpleMessage("名称示例"),
"export": MessageLookupByLibrary.simpleMessage("导出"),
"fieldMustNotEmpty": MessageLookupByLibrary.simpleMessage("这些输入框不能为空。"),
"go": MessageLookupByLibrary.simpleMessage("开始"),
"host": MessageLookupByLibrary.simpleMessage("主机"),
"httpFailedWithCode": m1,
"import": MessageLookupByLibrary.simpleMessage("导入"),
"importAndExport": MessageLookupByLibrary.simpleMessage("导入或导出"),
"keyAuth": MessageLookupByLibrary.simpleMessage("公钥认证"),
"launchPage": MessageLookupByLibrary.simpleMessage("启动页"),
"license": MessageLookupByLibrary.simpleMessage("开源证书"),
"loss": MessageLookupByLibrary.simpleMessage("丢包率"),
"madeWithLove": m2,
"max": MessageLookupByLibrary.simpleMessage("最大"),
"min": MessageLookupByLibrary.simpleMessage("最小"),
"ms": MessageLookupByLibrary.simpleMessage("毫秒"),
"name": MessageLookupByLibrary.simpleMessage("名称"),
"noResult": MessageLookupByLibrary.simpleMessage("无结果"),
"noSavedPrivateKey": MessageLookupByLibrary.simpleMessage("没有已保存的私钥。"),
"noSavedSnippet": MessageLookupByLibrary.simpleMessage("没有已保存的代码片段。"),
"noServerAvailable": MessageLookupByLibrary.simpleMessage("没有可用的服务器。"),
"ok": MessageLookupByLibrary.simpleMessage(""),
"ping": MessageLookupByLibrary.simpleMessage("Ping"),
"pingAvg": MessageLookupByLibrary.simpleMessage("平均:"),
"pingInputIP": MessageLookupByLibrary.simpleMessage("请输入目标IP或域名"),
"plzEnterHost": MessageLookupByLibrary.simpleMessage("请输入主机"),
"plzEnterPwd": MessageLookupByLibrary.simpleMessage("请输入密码"),
"plzSelectKey": MessageLookupByLibrary.simpleMessage("请选择私钥"),
"port": MessageLookupByLibrary.simpleMessage("端口"),
"privateKey": MessageLookupByLibrary.simpleMessage("私钥"),
"pwd": MessageLookupByLibrary.simpleMessage("密码"),
"result": MessageLookupByLibrary.simpleMessage("结果"),
"run": MessageLookupByLibrary.simpleMessage("运行"),
"save": MessageLookupByLibrary.simpleMessage("保存"),
"second": MessageLookupByLibrary.simpleMessage(""),
"server": MessageLookupByLibrary.simpleMessage("服务器"),
"serverTabConnecting": MessageLookupByLibrary.simpleMessage("连接中..."),
"serverTabEmpty":
MessageLookupByLibrary.simpleMessage("现在没有服务器。\n点击右下方按钮来添加。"),
"serverTabFailed": MessageLookupByLibrary.simpleMessage("失败"),
"serverTabLoading": MessageLookupByLibrary.simpleMessage("加载中..."),
"serverTabPlzSave": MessageLookupByLibrary.simpleMessage("请再次保存该私钥"),
"serverTabUnkown": MessageLookupByLibrary.simpleMessage("未知状态"),
"setting": MessageLookupByLibrary.simpleMessage("设置"),
"snippet": MessageLookupByLibrary.simpleMessage("代码片段"),
"start": MessageLookupByLibrary.simpleMessage("开始"),
"stop": MessageLookupByLibrary.simpleMessage("停止"),
"sureToDeleteServer": m3,
"ttl": MessageLookupByLibrary.simpleMessage("缓存时间"),
"unknown": MessageLookupByLibrary.simpleMessage("未知"),
"unkownConvertMode": MessageLookupByLibrary.simpleMessage("未知转换模式"),
"updateIntervalEqual0": MessageLookupByLibrary.simpleMessage(
"你设置为0服务器状态不会自动刷新。\n你可以手动下拉刷新。"),
"updateServerStatusInterval":
MessageLookupByLibrary.simpleMessage("服务器状态刷新间隔"),
"upsideDown": MessageLookupByLibrary.simpleMessage("上下交换"),
"urlOrJson": MessageLookupByLibrary.simpleMessage("链接或JSON"),
"user": MessageLookupByLibrary.simpleMessage("用户"),
"versionHaveUpdate": m4,
"versionUnknownUpdate": m5,
"versionUpdated": m6,
"willTakEeffectImmediately":
MessageLookupByLibrary.simpleMessage("更改将会立即生效")
};
}

859
lib/generated/l10n.dart Normal file
View File

@@ -0,0 +1,859 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'intl/messages_all.dart';
// **************************************************************************
// Generator: Flutter Intl IDE plugin
// Made by Localizely
// **************************************************************************
// ignore_for_file: non_constant_identifier_names, lines_longer_than_80_chars
// ignore_for_file: join_return_with_assignment, prefer_final_in_for_each
// ignore_for_file: avoid_redundant_argument_values, avoid_escaping_inner_quotes
class S {
S();
static S? _current;
static S get current {
assert(_current != null,
'No instance of S was loaded. Try to initialize the S delegate before accessing S.current.');
return _current!;
}
static const AppLocalizationDelegate delegate = AppLocalizationDelegate();
static Future<S> load(Locale locale) {
final name = (locale.countryCode?.isEmpty ?? false)
? locale.languageCode
: locale.toString();
final localeName = Intl.canonicalizedLocale(name);
return initializeMessages(localeName).then((_) {
Intl.defaultLocale = localeName;
final instance = S();
S._current = instance;
return instance;
});
}
static S of(BuildContext context) {
final instance = S.maybeOf(context);
assert(instance != null,
'No instance of S present in the widget tree. Did you add S.delegate in localizationsDelegates?');
return instance!;
}
static S? maybeOf(BuildContext context) {
return Localizations.of<S>(context, S);
}
/// `Server`
String get server {
return Intl.message(
'Server',
name: 'server',
desc: '',
args: [],
);
}
/// `Convert`
String get convert {
return Intl.message(
'Convert',
name: 'convert',
desc: '',
args: [],
);
}
/// `Ping`
String get ping {
return Intl.message(
'Ping',
name: 'ping',
desc: '',
args: [],
);
}
/// `Debug`
String get debug {
return Intl.message(
'Debug',
name: 'debug',
desc: '',
args: [],
);
}
/// `add a server`
String get addAServer {
return Intl.message(
'add a server',
name: 'addAServer',
desc: '',
args: [],
);
}
/// `Setting`
String get setting {
return Intl.message(
'Setting',
name: 'setting',
desc: '',
args: [],
);
}
/// `License`
String get license {
return Intl.message(
'License',
name: 'license',
desc: '',
args: [],
);
}
/// `Snippet`
String get snippet {
return Intl.message(
'Snippet',
name: 'snippet',
desc: '',
args: [],
);
}
/// `Private Key`
String get privateKey {
return Intl.message(
'Private Key',
name: 'privateKey',
desc: '',
args: [],
);
}
/// `\nMade with ❤️ by {myGithub}`
String madeWithLove(Object myGithub) {
return Intl.message(
'\nMade with ❤️ by $myGithub',
name: 'madeWithLove',
desc: '',
args: [myGithub],
);
}
/// `\nThanks {rainSunMeGithub} for participating in the test.\n\nAll rights reserved.`
String aboutThanks(Object rainSunMeGithub) {
return Intl.message(
'\nThanks $rainSunMeGithub for participating in the test.\n\nAll rights reserved.',
name: 'aboutThanks',
desc: '',
args: [rainSunMeGithub],
);
}
/// `There is no server.\nClick the fab to add one.`
String get serverTabEmpty {
return Intl.message(
'There is no server.\nClick the fab to add one.',
name: 'serverTabEmpty',
desc: '',
args: [],
);
}
/// `Loading...`
String get serverTabLoading {
return Intl.message(
'Loading...',
name: 'serverTabLoading',
desc: '',
args: [],
);
}
/// `Please 'save' this private key again.`
String get serverTabPlzSave {
return Intl.message(
'Please \'save\' this private key again.',
name: 'serverTabPlzSave',
desc: '',
args: [],
);
}
/// `Failed`
String get serverTabFailed {
return Intl.message(
'Failed',
name: 'serverTabFailed',
desc: '',
args: [],
);
}
/// `Unknown state`
String get serverTabUnkown {
return Intl.message(
'Unknown state',
name: 'serverTabUnkown',
desc: '',
args: [],
);
}
/// `Connecting...`
String get serverTabConnecting {
return Intl.message(
'Connecting...',
name: 'serverTabConnecting',
desc: '',
args: [],
);
}
/// `Decode`
String get decode {
return Intl.message(
'Decode',
name: 'decode',
desc: '',
args: [],
);
}
/// `Encode`
String get encode {
return Intl.message(
'Encode',
name: 'encode',
desc: '',
args: [],
);
}
/// `Current Mode`
String get currentMode {
return Intl.message(
'Current Mode',
name: 'currentMode',
desc: '',
args: [],
);
}
/// `Unknown convert mode`
String get unkownConvertMode {
return Intl.message(
'Unknown convert mode',
name: 'unkownConvertMode',
desc: '',
args: [],
);
}
/// `Copy`
String get copy {
return Intl.message(
'Copy',
name: 'copy',
desc: '',
args: [],
);
}
/// `Upside Down`
String get upsideDown {
return Intl.message(
'Upside Down',
name: 'upsideDown',
desc: '',
args: [],
);
}
/// `Avg:`
String get pingAvg {
return Intl.message(
'Avg:',
name: 'pingAvg',
desc: '',
args: [],
);
}
/// `unknown`
String get unknown {
return Intl.message(
'unknown',
name: 'unknown',
desc: '',
args: [],
);
}
/// `min`
String get min {
return Intl.message(
'min',
name: 'min',
desc: '',
args: [],
);
}
/// `max`
String get max {
return Intl.message(
'max',
name: 'max',
desc: '',
args: [],
);
}
/// `ms`
String get ms {
return Intl.message(
'ms',
name: 'ms',
desc: '',
args: [],
);
}
/// `TTL`
String get ttl {
return Intl.message(
'TTL',
name: 'ttl',
desc: '',
args: [],
);
}
/// `Loss`
String get loss {
return Intl.message(
'Loss',
name: 'loss',
desc: '',
args: [],
);
}
/// `No result`
String get noResult {
return Intl.message(
'No result',
name: 'noResult',
desc: '',
args: [],
);
}
/// `Please input a target IP/domain.`
String get pingInputIP {
return Intl.message(
'Please input a target IP/domain.',
name: 'pingInputIP',
desc: '',
args: [],
);
}
/// `Clear`
String get clear {
return Intl.message(
'Clear',
name: 'clear',
desc: '',
args: [],
);
}
/// `Start`
String get start {
return Intl.message(
'Start',
name: 'start',
desc: '',
args: [],
);
}
/// `App primary color`
String get appPrimaryColor {
return Intl.message(
'App primary color',
name: 'appPrimaryColor',
desc: '',
args: [],
);
}
/// `Server status update interval`
String get updateServerStatusInterval {
return Intl.message(
'Server status update interval',
name: 'updateServerStatusInterval',
desc: '',
args: [],
);
}
/// `Will take effect immediately`
String get willTakEeffectImmediately {
return Intl.message(
'Will take effect immediately',
name: 'willTakEeffectImmediately',
desc: '',
args: [],
);
}
/// `Launch page`
String get launchPage {
return Intl.message(
'Launch page',
name: 'launchPage',
desc: '',
args: [],
);
}
/// `Current: v1.0.{build}, is up to date`
String versionUpdated(Object build) {
return Intl.message(
'Current: v1.0.$build, is up to date',
name: 'versionUpdated',
desc: '',
args: [build],
);
}
/// `Current: v1.0.{build}`
String versionUnknownUpdate(Object build) {
return Intl.message(
'Current: v1.0.$build',
name: 'versionUnknownUpdate',
desc: '',
args: [build],
);
}
/// `Found: v1.0.{build}, click to update`
String versionHaveUpdate(Object build) {
return Intl.message(
'Found: v1.0.$build, click to update',
name: 'versionHaveUpdate',
desc: '',
args: [build],
);
}
/// `s`
String get second {
return Intl.message(
's',
name: 'second',
desc: '',
args: [],
);
}
/// `You set to 0, will not update automatically.\nYou can pull to refresh manually.`
String get updateIntervalEqual0 {
return Intl.message(
'You set to 0, will not update automatically.\nYou can pull to refresh manually.',
name: 'updateIntervalEqual0',
desc: '',
args: [],
);
}
/// `Edit`
String get edit {
return Intl.message(
'Edit',
name: 'edit',
desc: '',
args: [],
);
}
/// `No saved private keys.`
String get noSavedPrivateKey {
return Intl.message(
'No saved private keys.',
name: 'noSavedPrivateKey',
desc: '',
args: [],
);
}
/// `Name`
String get name {
return Intl.message(
'Name',
name: 'name',
desc: '',
args: [],
);
}
/// `Password`
String get pwd {
return Intl.message(
'Password',
name: 'pwd',
desc: '',
args: [],
);
}
/// `Save`
String get save {
return Intl.message(
'Save',
name: 'save',
desc: '',
args: [],
);
}
/// `Delete`
String get delete {
return Intl.message(
'Delete',
name: 'delete',
desc: '',
args: [],
);
}
/// `These fields must not be empty.`
String get fieldMustNotEmpty {
return Intl.message(
'These fields must not be empty.',
name: 'fieldMustNotEmpty',
desc: '',
args: [],
);
}
/// `Import and Export`
String get importAndExport {
return Intl.message(
'Import and Export',
name: 'importAndExport',
desc: '',
args: [],
);
}
/// `Choose`
String get choose {
return Intl.message(
'Choose',
name: 'choose',
desc: '',
args: [],
);
}
/// `Import`
String get import {
return Intl.message(
'Import',
name: 'import',
desc: '',
args: [],
);
}
/// `Export`
String get export {
return Intl.message(
'Export',
name: 'export',
desc: '',
args: [],
);
}
/// `OK`
String get ok {
return Intl.message(
'OK',
name: 'ok',
desc: '',
args: [],
);
}
/// `Cancel`
String get cancel {
return Intl.message(
'Cancel',
name: 'cancel',
desc: '',
args: [],
);
}
/// `URL or JSON`
String get urlOrJson {
return Intl.message(
'URL or JSON',
name: 'urlOrJson',
desc: '',
args: [],
);
}
/// `Go`
String get go {
return Intl.message(
'Go',
name: 'go',
desc: '',
args: [],
);
}
/// `request failed, status code: {code}`
String httpFailedWithCode(Object code) {
return Intl.message(
'request failed, status code: $code',
name: 'httpFailedWithCode',
desc: '',
args: [code],
);
}
/// `Run`
String get run {
return Intl.message(
'Run',
name: 'run',
desc: '',
args: [],
);
}
/// `No saved snippets.`
String get noSavedSnippet {
return Intl.message(
'No saved snippets.',
name: 'noSavedSnippet',
desc: '',
args: [],
);
}
/// `Choose destination`
String get chooseDestination {
return Intl.message(
'Choose destination',
name: 'chooseDestination',
desc: '',
args: [],
);
}
/// `No server available.`
String get noServerAvailable {
return Intl.message(
'No server available.',
name: 'noServerAvailable',
desc: '',
args: [],
);
}
/// `Result`
String get result {
return Intl.message(
'Result',
name: 'result',
desc: '',
args: [],
);
}
/// `Close`
String get close {
return Intl.message(
'Close',
name: 'close',
desc: '',
args: [],
);
}
/// `Attention`
String get attention {
return Intl.message(
'Attention',
name: 'attention',
desc: '',
args: [],
);
}
/// `Are you sure to delete server [{server}]?`
String sureToDeleteServer(Object server) {
return Intl.message(
'Are you sure to delete server [$server]?',
name: 'sureToDeleteServer',
desc: '',
args: [server],
);
}
/// `Host`
String get host {
return Intl.message(
'Host',
name: 'host',
desc: '',
args: [],
);
}
/// `Port`
String get port {
return Intl.message(
'Port',
name: 'port',
desc: '',
args: [],
);
}
/// `User`
String get user {
return Intl.message(
'User',
name: 'user',
desc: '',
args: [],
);
}
/// `Key Auth`
String get keyAuth {
return Intl.message(
'Key Auth',
name: 'keyAuth',
desc: '',
args: [],
);
}
/// `Add private key`
String get addPrivateKey {
return Intl.message(
'Add private key',
name: 'addPrivateKey',
desc: '',
args: [],
);
}
/// `Choose private key`
String get choosePrivateKey {
return Intl.message(
'Choose private key',
name: 'choosePrivateKey',
desc: '',
args: [],
);
}
/// `Please enter host.`
String get plzEnterHost {
return Intl.message(
'Please enter host.',
name: 'plzEnterHost',
desc: '',
args: [],
);
}
/// `Please enter password.`
String get plzEnterPwd {
return Intl.message(
'Please enter password.',
name: 'plzEnterPwd',
desc: '',
args: [],
);
}
/// `Please select a key.`
String get plzSelectKey {
return Intl.message(
'Please select a key.',
name: 'plzSelectKey',
desc: '',
args: [],
);
}
/// `Example name`
String get exampleName {
return Intl.message(
'Example name',
name: 'exampleName',
desc: '',
args: [],
);
}
/// `Stop`
String get stop {
return Intl.message(
'Stop',
name: 'stop',
desc: '',
args: [],
);
}
}
class AppLocalizationDelegate extends LocalizationsDelegate<S> {
const AppLocalizationDelegate();
List<Locale> get supportedLocales {
return const <Locale>[
Locale.fromSubtags(languageCode: 'en'),
Locale.fromSubtags(languageCode: 'zh'),
];
}
@override
bool isSupported(Locale locale) => _isSupported(locale);
@override
Future<S> load(Locale locale) => S.load(locale);
@override
bool shouldReload(AppLocalizationDelegate old) => false;
bool _isSupported(Locale locale) {
for (var supportedLocale in supportedLocales) {
if (supportedLocale.languageCode == locale.languageCode) {
return true;
}
}
return false;
}
}