MCPcopy Create free account
hub / github.com/RT-Thread/env-windows / find

Function find

tools/python-3.11.9-amd64/Lib/gettext.py:479–512  ·  view source on GitHub ↗
(domain, localedir=None, languages=None, all=False)

Source from the content-addressed store, hash-verified

477
478# Locate a .mo file using the gettext strategy
479def find(domain, localedir=None, languages=None, all=False):
480 # Get some reasonable defaults for arguments that were not supplied
481 if localedir is None:
482 localedir = _default_localedir
483 if languages is None:
484 languages = []
485 for envar in ('LANGUAGE', 'LC_ALL', 'LC_MESSAGES', 'LANG'):
486 val = os.environ.get(envar)
487 if val:
488 languages = val.split(':')
489 break
490 if 'C' not in languages:
491 languages.append('C')
492 # now normalize and expand the languages
493 nelangs = []
494 for lang in languages:
495 for nelang in _expand_lang(lang):
496 if nelang not in nelangs:
497 nelangs.append(nelang)
498 # select a language
499 if all:
500 result = []
501 else:
502 result = None
503 for lang in nelangs:
504 if lang == 'C':
505 break
506 mofile = os.path.join(localedir, lang, 'LC_MESSAGES', '%s.mo' % domain)
507 if os.path.exists(mofile):
508 if all:
509 result.append(mofile)
510 else:
511 return mofile
512 return result
513
514
515# a mapping between absolute .mo file path and Translation object

Callers 1

translationFunction · 0.70

Calls 6

_expand_langFunction · 0.85
getMethod · 0.45
splitMethod · 0.45
appendMethod · 0.45
joinMethod · 0.45
existsMethod · 0.45

Tested by

no test coverage detected