1import sys 2from typing import overload, Any, Container, IO, Iterable, Optional, Type, TypeVar 3 4if sys.version_info >= (3, 8): 5 from typing import Literal 6else: 7 from typing_extensions import Literal 8 9class NullTranslations: 10 def __init__(self, fp: IO[str] = ...) -> None: ... 11 def _parse(self, fp: IO[str]) -> None: ... 12 def add_fallback(self, fallback: NullTranslations) -> None: ... 13 def gettext(self, message: str) -> str: ... 14 def lgettext(self, message: str) -> str: ... 15 def ngettext(self, singular: str, plural: str, n: int) -> str: ... 16 def lngettext(self, singular: str, plural: str, n: int) -> str: ... 17 def pgettext(self, context: str, message: str) -> str: ... 18 def npgettext(self, context: str, msgid1: str, msgid2: str, n: int) -> str: ... 19 def info(self) -> Any: ... 20 def charset(self) -> Any: ... 21 def output_charset(self) -> Any: ... 22 def set_output_charset(self, charset: str) -> None: ... 23 def install(self, names: Optional[Container[str]] = ...) -> None: ... 24 25class GNUTranslations(NullTranslations): 26 LE_MAGIC: int 27 BE_MAGIC: int 28 29def find(domain: str, localedir: Optional[str] = ..., languages: Optional[Iterable[str]] = ..., 30 all: bool = ...) -> Any: ... 31 32_T = TypeVar('_T') 33@overload 34def translation(domain: str, localedir: Optional[str] = ..., languages: Optional[Iterable[str]] = ..., 35 class_: None = ..., fallback: bool = ..., codeset: Optional[str] = ...) -> NullTranslations: ... 36@overload 37def translation(domain: str, localedir: Optional[str] = ..., languages: Optional[Iterable[str]] = ..., 38 class_: Type[_T] = ..., fallback: Literal[False] = ..., codeset: Optional[str] = ...) -> _T: ... 39@overload 40def translation(domain: str, localedir: Optional[str] = ..., languages: Optional[Iterable[str]] = ..., 41 class_: Type[_T] = ..., fallback: Literal[True] = ..., codeset: Optional[str] = ...) -> Any: ... 42 43def install(domain: str, localedir: Optional[str] = ..., codeset: Optional[str] = ..., 44 names: Optional[Container[str]] = ...) -> None: ... 45 46def textdomain(domain: Optional[str] = ...) -> str: ... 47def bindtextdomain(domain: str, localedir: Optional[str] = ...) -> str: ... 48def bind_textdomain_codeset(domain: str, codeset: Optional[str] = ...) -> str: ... 49def dgettext(domain: str, message: str) -> str: ... 50def ldgettext(domain: str, message: str) -> str: ... 51def dngettext(domain: str, singular: str, plural: str, n: int) -> str: ... 52def ldngettext(domain: str, singular: str, plural: str, n: int) -> str: ... 53def gettext(message: str) -> str: ... 54def lgettext(message: str) -> str: ... 55def ngettext(singular: str, plural: str, n: int) -> str: ... 56def lngettext(singular: str, plural: str, n: int) -> str: ... 57def pgettext(context: str, message: str) -> str: ... 58def dpgettext(domain: str, context: str, message: str) -> str: ... 59def npgettext(context: str, msgid1: str, msgid2: str, n: int) -> str: ... 60def dnpgettext(domain: str, context: str, msgid1: str, msgid2: str, n: int) -> str: ... 61 62Catalog = translation 63