INNER CODE UNIT · Python
resolve_plural
OpenChemistry/avogadrolibs · scripts/copy-default.py:241
def resolve_plural(text, singular):
"""Resolve "(s)" in the plain text of a plural entry's form."""
if not text:
return text
replacement = r'\1' if singular else r'\1s'
pieces = MARKUP_RE.split(text)
for i in range(0, len(pieces), 2):
pieces[i] = PLURAL_S_RE.sub(replacement, pieces[i])
return ''.join(pieces)
def normalize_locale(name):
"""Turn 'en-GB' or 'en_gb' into 'en_GB'; return None if not a locale."""
if not name:
return None
parts = re.split(r'[-_]', name.strip())
if len(parts) != 2:
return None