localizedUnitName function

String? localizedUnitName(
  1. String symbol, {
  2. String? locale,
})

Returns a localized full name for a canonical unit symbol for the given locale (base-locale fallback). Returns null when no mapping is found.

Implementation

String? localizedUnitName(String symbol, {String? locale}) {
  if (locale == null || locale.isEmpty) return null;
  final normalized = locale.toLowerCase();
  final exact = _lookupInMaps(normalized, symbol);
  if (exact != null) return exact;

  final separatorIndex = normalized.indexOf(RegExp('[-_]'));
  if (separatorIndex != -1) {
    final base = normalized.substring(0, separatorIndex);
    final baseMatch = _lookupInMaps(base, symbol);
    if (baseMatch != null) return baseMatch;
  }

  return null;
}