keys property

  1. @override
Map<String, Map<String, String>> get keys
override

Implementation

@override
Map<String, Map<String, String>> get keys {
  // 紫微斗数库的翻译
  final Map<String, Map<String, String>> libraryTranslations = {
    // 中文简体
    'zh_CN': {
      ...commonCN,
      ...genderCN,
      ...palaceLocalsCN,
      ...starsLocalsCN,
      ...mutagenCNs,
      ...brightnessCN,
      ...earthlyBranchCN,
      ...heavenlyStemCNs,
      ...fileElementClassCN,
    },
    // 英文
    'en_US': {
      ...commonEN,
      ...genderEN,
      ...palaceLocalsEN,
      ...starsLocalsEN,
      ...mutagenENs,
      ...brightnessEN,
      ...earthlyBranchEN,
      ...heavenlyStemENs,
      ...fileElementClassEN,
    },
    // 日文
    'ja_JP': {
      ...commonJA,
      ...genderJA,
      ...palaceLocalsJA,
      ...starsLocalsJA,
      ...mutagenJAs,
      ...brightnessJA,
      ...earthlyBranchJA,
      ...heavenlyStemJAs,
      ...fileElementClassJA,
    },
    // 韩文
    'ko_KR': {
      ...commonKO,
      ...genderKO,
      ...palaceLocalsKO,
      ...starsLocalsKO,
      ...mutagenKOs,
      ...brightnessKO,
      ...earthlyBranchKO,
      ...heavenlyStemKOs,
      ...fileElementClassKO,
    },
    // 繁体中文
    'zh_TW': {
      ...commonTW,
      ...genderTW,
      ...palaceLocalsTW,
      ...starsTW,
      ...mutagenTWs,
      ...brightnessTW,
      ...earthlyBranchTW,
      ...heavenlyStemTWs,
      ...fileElementClassTW,
    },
    // 泰语
    'th_TH': {
      ...commonTH,
      ...genderTH,
      ...palaceLocalsTH,
      ...starsLocalsTH,
      ...mutagenTH,
      ...brightnessTH,
      ...earthlyBranchTH,
      ...heavenlyStemTH,
      ...fileElementClassTH,
    },
    // 越南语
    'vi_VN': {
      ...commonVI,
      ...genderVI,
      ...palaceLocalsVI,
      ...starsLocalsVI,
      ...mutagenVIs,
      ...brightnessVI,
      ...earthlyBranchVI,
      ...heavenlyStemVIs,
      ...fileElementClassVI,
    },
  };

  // 如果需要合并应用层翻译
  if (_mergeWithApp) {
    final result = <String, Map<String, String>>{};

    // 复制库翻译
    libraryTranslations.forEach((locale, translations) {
      result[locale] = Map<String, String>.from(translations);
    });

    // 合并应用层翻译
    _appTranslations.forEach((locale, translations) {
      if (result.containsKey(locale)) {
        // 如果库中已有该语言,合并翻译
        result[locale]!.addAll(translations);
      } else {
        // 如果库中没有该语言,直接添加
        result[locale] = Map<String, String>.from(translations);
      }
    });

    return result;
  }

  return libraryTranslations;
}