generateMapFromArb method

Map<String, dynamic>? generateMapFromArb(
  1. String localeName
)

根据arb文件生成Map, value 为特定的intl message 格式

Implementation

Map<String, dynamic>? generateMapFromArb(String localeName) {
  if (messages[localeName] != null) {
    return messages[localeName]!.messages;
  }

  File file = File(_getFilePath(localeName));
  ArbMessage? arbMessage;
  if (!file.existsSync()) {
    if (downedJson.isNotEmpty) {
      arbMessage = arbTranslation.parseFile(
          contentJson: downedJson, locale: localeName);
      messages[localeName] = arbMessage;
      if (localeName == _defaultLocale) {
        initializeDefaultArgs(contentJson: downedJson);
      }
    } else {
      return null;
    }
  } else {
    var content = file.readAsStringSync();
    arbMessage =
        arbTranslation.parseFile(contentJson: content, locale: localeName);
    messages[localeName] = arbMessage;
    if (localeName == _defaultLocale) {
      initializeDefaultArgs(contentJson: content);
    }
  }

  return arbMessage?.messages;
}