// 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);
  }

  /// `慧视健康`
  String get appName {
    return Intl.message(
      '慧视健康',
      name: 'appName',
      desc: '',
      args: [],
    );
  }

  /// `慧视通`
  String get appNameHst {
    return Intl.message(
      '慧视通',
      name: 'appNameHst',
      desc: '',
      args: [],
    );
  }

  /// `慧视健康管理`
  String get splashTitle {
    return Intl.message(
      '慧视健康管理',
      name: 'splashTitle',
      desc: '',
      args: [],
    );
  }

  /// `慧视通健康管理`
  String get splashTitleHst {
    return Intl.message(
      '慧视通健康管理',
      name: 'splashTitleHst',
      desc: '',
      args: [],
    );
  }

  /// `高清拍照，轻松上传`
  String get appSlogan {
    return Intl.message(
      '高清拍照，轻松上传',
      name: 'appSlogan',
      desc: '',
      args: [],
    );
  }

  /// `口腔专家在线 — 提供专业健康指导`
  String get appSlogan2 {
    return Intl.message(
      '口腔专家在线 — 提供专业健康指导',
      name: 'appSlogan2',
      desc: '',
      args: [],
    );
  }

  /// `历史影像`
  String get history {
    return Intl.message(
      '历史影像',
      name: 'history',
      desc: '',
      args: [],
    );
  }

  /// `显示视频异常`
  String get showVideoError {
    return Intl.message(
      '显示视频异常',
      name: 'showVideoError',
      desc: '',
      args: [],
    );
  }

  /// `正在等待设备连接`
  String get waitingConnectDevice {
    return Intl.message(
      '正在等待设备连接',
      name: 'waitingConnectDevice',
      desc: '',
      args: [],
    );
  }

  /// `1、打开慧视口腔观察仪，设备会自动启动WiFi，WiFi名称为mlg+设备编号（例如mlg_HS24LN10001）,使用手机连接此WiFi。`
  String get notConnectDesc1 {
    return Intl.message(
      '1、打开慧视口腔观察仪，设备会自动启动WiFi，WiFi名称为mlg+设备编号（例如mlg_HS24LN10001）,使用手机连接此WiFi。',
      name: 'notConnectDesc1',
      desc: '',
      args: [],
    );
  }

  /// `2、设备与应用自动链接。打开应用拍照录像后仪器自动将图片或视频存储于您的手机。`
  String get notConnectDesc2 {
    return Intl.message(
      '2、设备与应用自动链接。打开应用拍照录像后仪器自动将图片或视频存储于您的手机。',
      name: 'notConnectDesc2',
      desc: '',
      args: [],
    );
  }

  /// `连接`
  String get connect {
    return Intl.message(
      '连接',
      name: 'connect',
      desc: '',
      args: [],
    );
  }

  /// `点击连接`
  String get clickToConnect {
    return Intl.message(
      '点击连接',
      name: 'clickToConnect',
      desc: '',
      args: [],
    );
  }

  /// `常见问题`
  String get faqs {
    return Intl.message(
      '常见问题',
      name: 'faqs',
      desc: '',
      args: [],
    );
  }

  /// `按照操作指引仍无法链接观察仪？`
  String get faq1Title {
    return Intl.message(
      '按照操作指引仍无法链接观察仪？',
      name: 'faq1Title',
      desc: '',
      args: [],
    );
  }

  /// `1、检查观察仪器是否正常使用。\n结合《口腔观察仪使用说明书》检查观察仪是否开机状态，是否低电量。`
  String get faq1Desc1 {
    return Intl.message(
      '1、检查观察仪器是否正常使用。\n结合《口腔观察仪使用说明书》检查观察仪是否开机状态，是否低电量。',
      name: 'faq1Desc1',
      desc: '',
      args: [],
    );
  }

  /// `2、检查手机是否正常打开WiFi开关。`
  String get faq1Desc2 {
    return Intl.message(
      '2、检查手机是否正常打开WiFi开关。',
      name: 'faq1Desc2',
      desc: '',
      args: [],
    );
  }

  /// `3、重启观察仪和手机设备。`
  String get faq1Desc3 {
    return Intl.message(
      '3、重启观察仪和手机设备。',
      name: 'faq1Desc3',
      desc: '',
      args: [],
    );
  }

  /// `您已链接设备`
  String get deviceHasConnected {
    return Intl.message(
      '您已链接设备',
      name: 'deviceHasConnected',
      desc: '',
      args: [],
    );
  }

  /// `开始拍摄`
  String get startShot {
    return Intl.message(
      '开始拍摄',
      name: 'startShot',
      desc: '',
      args: [],
    );
  }

  /// `停止拍摄`
  String get stopShot {
    return Intl.message(
      '停止拍摄',
      name: 'stopShot',
      desc: '',
      args: [],
    );
  }

  /// `拍照`
  String get takePhoto {
    return Intl.message(
      '拍照',
      name: 'takePhoto',
      desc: '',
      args: [],
    );
  }

  /// `开始录像`
  String get startRecord {
    return Intl.message(
      '开始录像',
      name: 'startRecord',
      desc: '',
      args: [],
    );
  }

  /// `停止录像`
  String get StopRecord {
    return Intl.message(
      '停止录像',
      name: 'StopRecord',
      desc: '',
      args: [],
    );
  }

  /// `录像`
  String get record {
    return Intl.message(
      '录像',
      name: 'record',
      desc: '',
      args: [],
    );
  }

  /// `拍照成功`
  String get takePhotoSuccess {
    return Intl.message(
      '拍照成功',
      name: 'takePhotoSuccess',
      desc: '',
      args: [],
    );
  }

  /// `拍照失败`
  String get takePhotoFailed {
    return Intl.message(
      '拍照失败',
      name: 'takePhotoFailed',
      desc: '',
      args: [],
    );
  }

  /// `已开始录像`
  String get hasStartRecord {
    return Intl.message(
      '已开始录像',
      name: 'hasStartRecord',
      desc: '',
      args: [],
    );
  }

  /// `已停止录像`
  String get hasStopRecord {
    return Intl.message(
      '已停止录像',
      name: 'hasStopRecord',
      desc: '',
      args: [],
    );
  }

  /// `开始录像失败`
  String get startRecordFailed {
    return Intl.message(
      '开始录像失败',
      name: 'startRecordFailed',
      desc: '',
      args: [],
    );
  }

  /// `停止录像失败`
  String get stopRecordFailed {
    return Intl.message(
      '停止录像失败',
      name: 'stopRecordFailed',
      desc: '',
      args: [],
    );
  }

  /// `照片`
  String get photo {
    return Intl.message(
      '照片',
      name: 'photo',
      desc: '',
      args: [],
    );
  }

  /// `视频`
  String get video {
    return Intl.message(
      '视频',
      name: 'video',
      desc: '',
      args: [],
    );
  }

  /// `提示`
  String get hint {
    return Intl.message(
      '提示',
      name: 'hint',
      desc: '',
      args: [],
    );
  }

  /// `是否删除此照片记录?`
  String get deletePhotoHint {
    return Intl.message(
      '是否删除此照片记录?',
      name: 'deletePhotoHint',
      desc: '',
      args: [],
    );
  }

  /// `是否删除此视频记录?`
  String get deleteVideoHint {
    return Intl.message(
      '是否删除此视频记录?',
      name: 'deleteVideoHint',
      desc: '',
      args: [],
    );
  }

  /// `确定`
  String get confirm {
    return Intl.message(
      '确定',
      name: 'confirm',
      desc: '',
      args: [],
    );
  }

  /// `取消`
  String get cancel {
    return Intl.message(
      '取消',
      name: 'cancel',
      desc: '',
      args: [],
    );
  }

  /// `删除成功`
  String get deleteSuccess {
    return Intl.message(
      '删除成功',
      name: 'deleteSuccess',
      desc: '',
      args: [],
    );
  }

  /// `删除失败`
  String get deleteFailed {
    return Intl.message(
      '删除失败',
      name: 'deleteFailed',
      desc: '',
      args: [],
    );
  }

  /// `为了保存拍摄的照片及视频,请授予文件管理权限`
  String get storagePermissionHint {
    return Intl.message(
      '为了保存拍摄的照片及视频,请授予文件管理权限',
      name: 'storagePermissionHint',
      desc: '',
      args: [],
    );
  }

  /// `没有授予文件管理权限,将无法保存照片及视频`
  String get storagePermissionRejectHint {
    return Intl.message(
      '没有授予文件管理权限,将无法保存照片及视频',
      name: 'storagePermissionRejectHint',
      desc: '',
      args: [],
    );
  }

  /// `已授予文件管理权限`
  String get storagePermissionGrantedHint {
    return Intl.message(
      '已授予文件管理权限',
      name: 'storagePermissionGrantedHint',
      desc: '',
      args: [],
    );
  }

  /// `没有历史记录`
  String get noHistories {
    return Intl.message(
      '没有历史记录',
      name: 'noHistories',
      desc: '',
      args: [],
    );
  }

  /// `正在读取历史记录`
  String get loadingHistories {
    return Intl.message(
      '正在读取历史记录',
      name: 'loadingHistories',
      desc: '',
      args: [],
    );
  }

  /// `再次点击退出程序`
  String get tapAgainExit {
    return Intl.message(
      '再次点击退出程序',
      name: 'tapAgainExit',
      desc: '',
      args: [],
    );
  }

  /// `设置`
  String get settings {
    return Intl.message(
      '设置',
      name: 'settings',
      desc: '',
      args: [],
    );
  }

  /// `延迟拍摄:`
  String get delayShotColon {
    return Intl.message(
      '延迟拍摄:',
      name: 'delayShotColon',
      desc: '',
      args: [],
    );
  }

  /// `延迟时间:`
  String get delayTimeColon {
    return Intl.message(
      '延迟时间:',
      name: 'delayTimeColon',
      desc: '',
      args: [],
    );
  }

  /// `{second}秒`
  String xxSecond(Object second) {
    return Intl.message(
      '$second秒',
      name: 'xxSecond',
      desc: '',
      args: [second],
    );
  }

  /// `开启`
  String get open {
    return Intl.message(
      '开启',
      name: 'open',
      desc: '',
      args: [],
    );
  }

  /// `关闭`
  String get close {
    return Intl.message(
      '关闭',
      name: 'close',
      desc: '',
      args: [],
    );
  }

  /// `请选择牙齿区域`
  String get selectToothAreaHint {
    return Intl.message(
      '请选择牙齿区域',
      name: 'selectToothAreaHint',
      desc: '',
      args: [],
    );
  }

  /// `已选择{selected}`
  String hasSelectXx(Object selected) {
    return Intl.message(
      '已选择$selected',
      name: 'hasSelectXx',
      desc: '',
      args: [selected],
    );
  }

  /// `左上区`
  String get leftTopArea {
    return Intl.message(
      '左上区',
      name: 'leftTopArea',
      desc: '',
      args: [],
    );
  }

  /// `左下区`
  String get leftBototmArea {
    return Intl.message(
      '左下区',
      name: 'leftBototmArea',
      desc: '',
      args: [],
    );
  }

  /// `右上区`
  String get rightTopArea {
    return Intl.message(
      '右上区',
      name: 'rightTopArea',
      desc: '',
      args: [],
    );
  }

  /// `右下区`
  String get rightBottomArea {
    return Intl.message(
      '右下区',
      name: 'rightBottomArea',
      desc: '',
      args: [],
    );
  }

  /// `未知`
  String get unknown {
    return Intl.message(
      '未知',
      name: 'unknown',
      desc: '',
      args: [],
    );
  }

  /// `请保持静止不动`
  String get pleaseHold {
    return Intl.message(
      '请保持静止不动',
      name: 'pleaseHold',
      desc: '',
      args: [],
    );
  }

  /// `按时间显示`
  String get byTime {
    return Intl.message(
      '按时间显示',
      name: 'byTime',
      desc: '',
      args: [],
    );
  }

  /// `按类型显示`
  String get byCategory {
    return Intl.message(
      '按类型显示',
      name: 'byCategory',
      desc: '',
      args: [],
    );
  }

  /// `已选择{count}项`
  String hasSelectCountItem(Object count) {
    return Intl.message(
      '已选择$count项',
      name: 'hasSelectCountItem',
      desc: '',
      args: [count],
    );
  }

  /// `上传`
  String get upload {
    return Intl.message(
      '上传',
      name: 'upload',
      desc: '',
      args: [],
    );
  }

  /// `删除`
  String get delete {
    return Intl.message(
      '删除',
      name: 'delete',
      desc: '',
      args: [],
    );
  }

  /// `请选择要上传的记录`
  String get pleaseSelectToUpload {
    return Intl.message(
      '请选择要上传的记录',
      name: 'pleaseSelectToUpload',
      desc: '',
      args: [],
    );
  }

  /// `请选择要删除的记录`
  String get pleaseSelectToDelete {
    return Intl.message(
      '请选择要删除的记录',
      name: 'pleaseSelectToDelete',
      desc: '',
      args: [],
    );
  }

  /// `是否删除{count}项记录?`
  String deleteMultiHint(Object count) {
    return Intl.message(
      '是否删除$count项记录?',
      name: 'deleteMultiHint',
      desc: '',
      args: [count],
    );
  }

  /// `全选`
  String get selectAll {
    return Intl.message(
      '全选',
      name: 'selectAll',
      desc: '',
      args: [],
    );
  }

  /// `请选择要上传的医院`
  String get pleaseSelectUploadClinic {
    return Intl.message(
      '请选择要上传的医院',
      name: 'pleaseSelectUploadClinic',
      desc: '',
      args: [],
    );
  }

  /// `连接超时`
  String get connectTimeout {
    return Intl.message(
      '连接超时',
      name: 'connectTimeout',
      desc: '',
      args: [],
    );
  }

  /// `请求超时`
  String get requestTimeout {
    return Intl.message(
      '请求超时',
      name: 'requestTimeout',
      desc: '',
      args: [],
    );
  }

  /// `响应超时`
  String get responseTimeout {
    return Intl.message(
      '响应超时',
      name: 'responseTimeout',
      desc: '',
      args: [],
    );
  }

  /// `请求取消`
  String get requestCancel {
    return Intl.message(
      '请求取消',
      name: 'requestCancel',
      desc: '',
      args: [],
    );
  }

  /// `请求语法错误`
  String get requestGrammarError {
    return Intl.message(
      '请求语法错误',
      name: 'requestGrammarError',
      desc: '',
      args: [],
    );
  }

  /// `没有权限`
  String get noPermissions {
    return Intl.message(
      '没有权限',
      name: 'noPermissions',
      desc: '',
      args: [],
    );
  }

  /// `服务器拒绝执行`
  String get serverRejectExec {
    return Intl.message(
      '服务器拒绝执行',
      name: 'serverRejectExec',
      desc: '',
      args: [],
    );
  }

  /// `请求资源不存在`
  String get requestResourceExist {
    return Intl.message(
      '请求资源不存在',
      name: 'requestResourceExist',
      desc: '',
      args: [],
    );
  }

  /// `请求方法被禁止`
  String get requestMethodBanned {
    return Intl.message(
      '请求方法被禁止',
      name: 'requestMethodBanned',
      desc: '',
      args: [],
    );
  }

  /// `服务器内部错误`
  String get serverInternalError {
    return Intl.message(
      '服务器内部错误',
      name: 'serverInternalError',
      desc: '',
      args: [],
    );
  }

  /// `错误网关`
  String get gateError {
    return Intl.message(
      '错误网关',
      name: 'gateError',
      desc: '',
      args: [],
    );
  }

  /// `服务器异常`
  String get serverError {
    return Intl.message(
      '服务器异常',
      name: 'serverError',
      desc: '',
      args: [],
    );
  }

  /// `网关超时`
  String get gateTimeout {
    return Intl.message(
      '网关超时',
      name: 'gateTimeout',
      desc: '',
      args: [],
    );
  }

  /// `不支持HTTP协议请求`
  String get notSupportHttpRequest {
    return Intl.message(
      '不支持HTTP协议请求',
      name: 'notSupportHttpRequest',
      desc: '',
      args: [],
    );
  }

  /// `未知错误`
  String get unknownException {
    return Intl.message(
      '未知错误',
      name: 'unknownException',
      desc: '',
      args: [],
    );
  }

  /// `网络未连接`
  String get notworkNotConnect {
    return Intl.message(
      '网络未连接',
      name: 'notworkNotConnect',
      desc: '',
      args: [],
    );
  }

  /// `连接错误`
  String get connectError {
    return Intl.message(
      '连接错误',
      name: 'connectError',
      desc: '',
      args: [],
    );
  }

  /// `证书错误`
  String get certificateError {
    return Intl.message(
      '证书错误',
      name: 'certificateError',
      desc: '',
      args: [],
    );
  }

  /// `没有数据`
  String get noData {
    return Intl.message(
      '没有数据',
      name: 'noData',
      desc: '',
      args: [],
    );
  }

  /// `正在上传中,是否停止上传?`
  String get stopUploadAlert {
    return Intl.message(
      '正在上传中,是否停止上传?',
      name: 'stopUploadAlert',
      desc: '',
      args: [],
    );
  }

  /// `请输入患者身份证号`
  String get pleaseInputPatientIdCard {
    return Intl.message(
      '请输入患者身份证号',
      name: 'pleaseInputPatientIdCard',
      desc: '',
      args: [],
    );
  }

  /// `请输入有效的身份证号`
  String get pleaseInputValidIdCard {
    return Intl.message(
      '请输入有效的身份证号',
      name: 'pleaseInputValidIdCard',
      desc: '',
      args: [],
    );
  }

  /// `上传中,请勿关闭当前页面或者退出应用`
  String get uploadingHint {
    return Intl.message(
      '上传中,请勿关闭当前页面或者退出应用',
      name: 'uploadingHint',
      desc: '',
      args: [],
    );
  }

  /// `没有可以上传的文件`
  String get noFileCanUpload {
    return Intl.message(
      '没有可以上传的文件',
      name: 'noFileCanUpload',
      desc: '',
      args: [],
    );
  }

  /// `接口异常,上传失败,请重试`
  String get uploadFailedByInterfaceError {
    return Intl.message(
      '接口异常,上传失败,请重试',
      name: 'uploadFailedByInterfaceError',
      desc: '',
      args: [],
    );
  }

  /// `没有授予应用所必须权限,无法正常使用相应功能`
  String get notGrantedPermissionCannotUse {
    return Intl.message(
      '没有授予应用所必须权限,无法正常使用相应功能',
      name: 'notGrantedPermissionCannotUse',
      desc: '',
      args: [],
    );
  }

  /// `上传失败,请重试`
  String get uploadFailedPleaseRetry {
    return Intl.message(
      '上传失败,请重试',
      name: 'uploadFailedPleaseRetry',
      desc: '',
      args: [],
    );
  }

  /// `上传成功`
  String get uploadSuccess {
    return Intl.message(
      '上传成功',
      name: 'uploadSuccess',
      desc: '',
      args: [],
    );
  }

  /// `上传失败`
  String get uploadFailed {
    return Intl.message(
      '上传失败',
      name: 'uploadFailed',
      desc: '',
      args: [],
    );
  }

  /// `请先连接外网Wifi`
  String get pleaseConnectInternetWifi {
    return Intl.message(
      '请先连接外网Wifi',
      name: 'pleaseConnectInternetWifi',
      desc: '',
      args: [],
    );
  }

  /// `延迟拍摄`
  String get delayShot {
    return Intl.message(
      '延迟拍摄',
      name: 'delayShot',
      desc: '',
      args: [],
    );
  }

  /// `退出登录`
  String get logout {
    return Intl.message(
      '退出登录',
      name: 'logout',
      desc: '',
      args: [],
    );
  }

  /// `用户协议`
  String get userAgreement {
    return Intl.message(
      '用户协议',
      name: 'userAgreement',
      desc: '',
      args: [],
    );
  }

  /// `隐私政策`
  String get privacyPolicy {
    return Intl.message(
      '隐私政策',
      name: 'privacyPolicy',
      desc: '',
      args: [],
    );
  }

  /// `《用户协议》`
  String get userAgreementBookTitle {
    return Intl.message(
      '《用户协议》',
      name: 'userAgreementBookTitle',
      desc: '',
      args: [],
    );
  }

  /// `《隐私政策》`
  String get privacyPolicyBookTitle {
    return Intl.message(
      '《隐私政策》',
      name: 'privacyPolicyBookTitle',
      desc: '',
      args: [],
    );
  }

  /// `检测版本`
  String get checkVersion {
    return Intl.message(
      '检测版本',
      name: 'checkVersion',
      desc: '',
      args: [],
    );
  }

  /// `发现新版本`
  String get hasNewVersion {
    return Intl.message(
      '发现新版本',
      name: 'hasNewVersion',
      desc: '',
      args: [],
    );
  }

  /// `已经是最新版本了`
  String get alreadyLatestVersion {
    return Intl.message(
      '已经是最新版本了',
      name: 'alreadyLatestVersion',
      desc: '',
      args: [],
    );
  }

  /// `立即更新`
  String get updateNow {
    return Intl.message(
      '立即更新',
      name: 'updateNow',
      desc: '',
      args: [],
    );
  }

  /// `下次再说`
  String get nextTime {
    return Intl.message(
      '下次再说',
      name: 'nextTime',
      desc: '',
      args: [],
    );
  }

  /// `取消下载`
  String get cancelDownload {
    return Intl.message(
      '取消下载',
      name: 'cancelDownload',
      desc: '',
      args: [],
    );
  }

  /// `下载完毕`
  String get downloadComplete {
    return Intl.message(
      '下载完毕',
      name: 'downloadComplete',
      desc: '',
      args: [],
    );
  }

  /// `安装`
  String get install {
    return Intl.message(
      '安装',
      name: 'install',
      desc: '',
      args: [],
    );
  }

  /// `正在下载中`
  String get downloading {
    return Intl.message(
      '正在下载中',
      name: 'downloading',
      desc: '',
      args: [],
    );
  }

  /// `下载失败`
  String get downloadFailed {
    return Intl.message(
      '下载失败',
      name: 'downloadFailed',
      desc: '',
      args: [],
    );
  }

  /// `未注册的手机号验证通过后将自动注册`
  String get registerHint {
    return Intl.message(
      '未注册的手机号验证通过后将自动注册',
      name: 'registerHint',
      desc: '',
      args: [],
    );
  }

  /// `发送`
  String get send {
    return Intl.message(
      '发送',
      name: 'send',
      desc: '',
      args: [],
    );
  }

  /// `登录`
  String get login {
    return Intl.message(
      '登录',
      name: 'login',
      desc: '',
      args: [],
    );
  }

  /// `手机号:`
  String get mobileColon {
    return Intl.message(
      '手机号:',
      name: 'mobileColon',
      desc: '',
      args: [],
    );
  }

  /// `验证码:`
  String get captchaColon {
    return Intl.message(
      '验证码:',
      name: 'captchaColon',
      desc: '',
      args: [],
    );
  }

  /// `请输入手机号`
  String get mobileInputHint {
    return Intl.message(
      '请输入手机号',
      name: 'mobileInputHint',
      desc: '',
      args: [],
    );
  }

  /// `请输入正确的手机号`
  String get mobileFormatError {
    return Intl.message(
      '请输入正确的手机号',
      name: 'mobileFormatError',
      desc: '',
      args: [],
    );
  }

  /// `请输入验证码`
  String get captchaInputHint {
    return Intl.message(
      '请输入验证码',
      name: 'captchaInputHint',
      desc: '',
      args: [],
    );
  }

  /// `验证码错误`
  String get captchaError {
    return Intl.message(
      '验证码错误',
      name: 'captchaError',
      desc: '',
      args: [],
    );
  }

  /// `验证码已发送`
  String get captchaHasSend {
    return Intl.message(
      '验证码已发送',
      name: 'captchaHasSend',
      desc: '',
      args: [],
    );
  }

  /// `验证码发送失败`
  String get captchaSendError {
    return Intl.message(
      '验证码发送失败',
      name: 'captchaSendError',
      desc: '',
      args: [],
    );
  }

  /// `登录成功`
  String get loginSuccess {
    return Intl.message(
      '登录成功',
      name: 'loginSuccess',
      desc: '',
      args: [],
    );
  }

  /// `登录失败`
  String get loginFailed {
    return Intl.message(
      '登录失败',
      name: 'loginFailed',
      desc: '',
      args: [],
    );
  }

  /// `是否退出登录?`
  String get logoutHint {
    return Intl.message(
      '是否退出登录?',
      name: 'logoutHint',
      desc: '',
      args: [],
    );
  }

  /// `我已阅读并同意`
  String get readAndAgree {
    return Intl.message(
      '我已阅读并同意',
      name: 'readAndAgree',
      desc: '',
      args: [],
    );
  }

  /// `请阅读并同意用户协议及隐私协议`
  String get needReadAndAgree {
    return Intl.message(
      '请阅读并同意用户协议及隐私协议',
      name: 'needReadAndAgree',
      desc: '',
      args: [],
    );
  }

  /// `切换咨询人`
  String get switchPatient {
    return Intl.message(
      '切换咨询人',
      name: 'switchPatient',
      desc: '',
      args: [],
    );
  }

  /// `新增咨询人`
  String get addPatient {
    return Intl.message(
      '新增咨询人',
      name: 'addPatient',
      desc: '',
      args: [],
    );
  }

  /// `正在同步数据,请稍候`
  String get syncDataWaiting {
    return Intl.message(
      '正在同步数据,请稍候',
      name: 'syncDataWaiting',
      desc: '',
      args: [],
    );
  }

  /// `首次使用请新增咨询人`
  String get needAddPatient {
    return Intl.message(
      '首次使用请新增咨询人',
      name: 'needAddPatient',
      desc: '',
      args: [],
    );
  }

  /// `选择咨询人`
  String get selectPatient {
    return Intl.message(
      '选择咨询人',
      name: 'selectPatient',
      desc: '',
      args: [],
    );
  }

  /// `咨询人列表`
  String get patientList {
    return Intl.message(
      '咨询人列表',
      name: 'patientList',
      desc: '',
      args: [],
    );
  }

  /// `请选择咨询人`
  String get pleaseSelectPatient {
    return Intl.message(
      '请选择咨询人',
      name: 'pleaseSelectPatient',
      desc: '',
      args: [],
    );
  }

  /// `提交`
  String get submit {
    return Intl.message(
      '提交',
      name: 'submit',
      desc: '',
      args: [],
    );
  }

  /// `包括您在内您最多新增四位咨询人。\n咨询人信息一旦填写完成不允许修改，请认真填写。`
  String get addPatientHint {
    return Intl.message(
      '包括您在内您最多新增四位咨询人。\n咨询人信息一旦填写完成不允许修改，请认真填写。',
      name: 'addPatientHint',
      desc: '',
      args: [],
    );
  }

  /// `关系`
  String get relation {
    return Intl.message(
      '关系',
      name: 'relation',
      desc: '',
      args: [],
    );
  }

  /// `名字`
  String get name {
    return Intl.message(
      '名字',
      name: 'name',
      desc: '',
      args: [],
    );
  }

  /// `性别`
  String get gender {
    return Intl.message(
      '性别',
      name: 'gender',
      desc: '',
      args: [],
    );
  }

  /// `年龄`
  String get age {
    return Intl.message(
      '年龄',
      name: 'age',
      desc: '',
      args: [],
    );
  }

  /// `身份证号`
  String get idCard {
    return Intl.message(
      '身份证号',
      name: 'idCard',
      desc: '',
      args: [],
    );
  }

  /// `请选择与您本人关系`
  String get pleaseSelectRelation {
    return Intl.message(
      '请选择与您本人关系',
      name: 'pleaseSelectRelation',
      desc: '',
      args: [],
    );
  }

  /// `请输入真实姓名`
  String get pleaseInputRealName {
    return Intl.message(
      '请输入真实姓名',
      name: 'pleaseInputRealName',
      desc: '',
      args: [],
    );
  }

  /// `男`
  String get male {
    return Intl.message(
      '男',
      name: 'male',
      desc: '',
      args: [],
    );
  }

  /// `女`
  String get female {
    return Intl.message(
      '女',
      name: 'female',
      desc: '',
      args: [],
    );
  }

  /// `请输入年龄`
  String get pleaseInputAge {
    return Intl.message(
      '请输入年龄',
      name: 'pleaseInputAge',
      desc: '',
      args: [],
    );
  }

  /// `年龄与身份证中的年龄不符`
  String get ageNotMatchIdCard {
    return Intl.message(
      '年龄与身份证中的年龄不符',
      name: 'ageNotMatchIdCard',
      desc: '',
      args: [],
    );
  }

  /// `性别与身份证中的性别不符`
  String get genderNotMatchIdCard {
    return Intl.message(
      '性别与身份证中的性别不符',
      name: 'genderNotMatchIdCard',
      desc: '',
      args: [],
    );
  }

  /// `预览照片`
  String get previewPhoto {
    return Intl.message(
      '预览照片',
      name: 'previewPhoto',
      desc: '',
      args: [],
    );
  }

  /// `预览视频`
  String get previewVideo {
    return Intl.message(
      '预览视频',
      name: 'previewVideo',
      desc: '',
      args: [],
    );
  }

  /// `保存`
  String get save {
    return Intl.message(
      '保存',
      name: 'save',
      desc: '',
      args: [],
    );
  }

  /// `重拍`
  String get retakePhoto {
    return Intl.message(
      '重拍',
      name: 'retakePhoto',
      desc: '',
      args: [],
    );
  }

  /// `未选择`
  String get unselected {
    return Intl.message(
      '未选择',
      name: 'unselected',
      desc: '',
      args: [],
    );
  }

  /// `请对口腔{area}域进行拍摄，最佳拍摄距离为1.5cm`
  String takePhotoAreaHint(Object area) {
    return Intl.message(
      '请对口腔$area域进行拍摄，最佳拍摄距离为1.5cm',
      name: 'takePhotoAreaHint',
      desc: '',
      args: [area],
    );
  }

  /// `{age}岁`
  String xxAge(Object age) {
    return Intl.message(
      '$age岁',
      name: 'xxAge',
      desc: '',
      args: [age],
    );
  }

  /// `保存失败`
  String get saveFailed {
    return Intl.message(
      '保存失败',
      name: 'saveFailed',
      desc: '',
      args: [],
    );
  }

  /// `保存成功`
  String get saveSuccess {
    return Intl.message(
      '保存成功',
      name: 'saveSuccess',
      desc: '',
      args: [],
    );
  }

  /// `您已经添加了四位咨询人，无法再添加更多咨询人了。`
  String get maxPatientCount {
    return Intl.message(
      '您已经添加了四位咨询人，无法再添加更多咨询人了。',
      name: 'maxPatientCount',
      desc: '',
      args: [],
    );
  }

  /// `登录信息已失效,请重新登录`
  String get tokenInvalidHint {
    return Intl.message(
      '登录信息已失效,请重新登录',
      name: 'tokenInvalidHint',
      desc: '',
      args: [],
    );
  }

  /// `同意`
  String get agree {
    return Intl.message(
      '同意',
      name: 'agree',
      desc: '',
      args: [],
    );
  }

  /// `不同意`
  String get disagree {
    return Intl.message(
      '不同意',
      name: 'disagree',
      desc: '',
      args: [],
    );
  }

  /// `退出应用`
  String get exitApp {
    return Intl.message(
      '退出应用',
      name: 'exitApp',
      desc: '',
      args: [],
    );
  }

  /// `权限说明`
  String get permissionDescription {
    return Intl.message(
      '权限说明',
      name: 'permissionDescription',
      desc: '',
      args: [],
    );
  }

  /// `《权限说明》`
  String get permissionDescriptionBookTitle {
    return Intl.message(
      '《权限说明》',
      name: 'permissionDescriptionBookTitle',
      desc: '',
      args: [],
    );
  }

  /// `用户协议及隐私政策提示`
  String get permissionDescDialogTitle {
    return Intl.message(
      '用户协议及隐私政策提示',
      name: 'permissionDescDialogTitle',
      desc: '',
      args: [],
    );
  }

  /// `欢迎使用{appName}!\n\n我们根据相关法律制定了《用户协议》和《隐私政策》，帮助您了解我们如何收集、保存、使用您的个人信息，请您在同意之前仔细阅读并充分理解相关条款。\n\n基于您的明示授权，我们将可能调用您的设备权限，您有权拒绝或取消授权，具体权限获取情况详见《权限说明》`
  String permissionDescDialogContent(Object appName) {
    return Intl.message(
      '欢迎使用$appName!\n\n我们根据相关法律制定了《用户协议》和《隐私政策》，帮助您了解我们如何收集、保存、使用您的个人信息，请您在同意之前仔细阅读并充分理解相关条款。\n\n基于您的明示授权，我们将可能调用您的设备权限，您有权拒绝或取消授权，具体权限获取情况详见《权限说明》',
      name: 'permissionDescDialogContent',
      desc: '',
      args: [appName],
    );
  }

  /// `阅读`
  String get read {
    return Intl.message(
      '阅读',
      name: 'read',
      desc: '',
      args: [],
    );
  }

  /// `同意并继续`
  String get agreeContinue {
    return Intl.message(
      '同意并继续',
      name: 'agreeContinue',
      desc: '',
      args: [],
    );
  }

  /// `因应用配套仪器使用WiFi连接，需通过位置权限判断您是否已连接仪器WiFi，请求获取您的位置权限，请在下个弹窗中点击允许。`
  String get requestLocationHint {
    return Intl.message(
      '因应用配套仪器使用WiFi连接，需通过位置权限判断您是否已连接仪器WiFi，请求获取您的位置权限，请在下个弹窗中点击允许。',
      name: 'requestLocationHint',
      desc: '',
      args: [],
    );
  }

  /// `选择照片`
  String get selectPhoto {
    return Intl.message(
      '选择照片',
      name: 'selectPhoto',
      desc: '',
      args: [],
    );
  }

  /// `选择录像`
  String get selectRecord {
    return Intl.message(
      '选择录像',
      name: 'selectRecord',
      desc: '',
      args: [],
    );
  }

  /// `选择照片和录像`
  String get selectPhotoAndRecord {
    return Intl.message(
      '选择照片和录像',
      name: 'selectPhotoAndRecord',
      desc: '',
      args: [],
    );
  }

  /// `最多可以选择{count}项`
  String maxSelectCountXx(Object count) {
    return Intl.message(
      '最多可以选择$count项',
      name: 'maxSelectCountXx',
      desc: '',
      args: [count],
    );
  }

  /// `请至少选择一项`
  String get pleaseSelectAtLastOne {
    return Intl.message(
      '请至少选择一项',
      name: 'pleaseSelectAtLastOne',
      desc: '',
      args: [],
    );
  }

  /// `服务中心`
  String get serviceCenter {
    return Intl.message(
      '服务中心',
      name: 'serviceCenter',
      desc: '',
      args: [],
    );
  }

  /// `免费咨询`
  String get freeConsultation {
    return Intl.message(
      '免费咨询',
      name: 'freeConsultation',
      desc: '',
      args: [],
    );
  }

  /// `口腔观察仪为医用级口腔影像采集设备，通过仪器拍摄的照片可用于本app相关机构免费在线咨询，咨询不限次数、不另收费。`
  String get electricityHospitalConsultationDesc {
    return Intl.message(
      '口腔观察仪为医用级口腔影像采集设备，通过仪器拍摄的照片可用于本app相关机构免费在线咨询，咨询不限次数、不另收费。',
      name: 'electricityHospitalConsultationDesc',
      desc: '',
      args: [],
    );
  }

  /// `立即咨询`
  String get consultationNow {
    return Intl.message(
      '立即咨询',
      name: 'consultationNow',
      desc: '',
      args: [],
    );
  }

  /// `请先安装微信`
  String get wxNotInstalledHint {
    return Intl.message(
      '请先安装微信',
      name: 'wxNotInstalledHint',
      desc: '',
      args: [],
    );
  }
}

class AppLocalizationDelegate extends LocalizationsDelegate<S> {
  const AppLocalizationDelegate();

  List<Locale> get supportedLocales {
    return const <Locale>[
      Locale.fromSubtags(languageCode: 'zh'),
      Locale.fromSubtags(languageCode: 'en'),
    ];
  }

  @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;
  }
}
