def ngettext(singular, plural, n, **kwargs): kwargs = {'ctx': self, "n": n, **kwargs} translated_message = ntranslate(singular, plural, n, language_code) try: formatted_message = translated_message.format(**kwargs) except KeyError: if n > 1: self.logger.exception( f"Error formatting message (n={n}) {plural} // {translated_message}" ) formatted_message = plural.format(**kwargs) else: self.logger.exception( f"Error formatting message (n={n}) {singular} // {translated_message}" ) formatted_message = singular.format(**kwargs) return formatted_message
def ngettext(singular, plurial, n, **kwargs): return ntranslate(singular, plurial, n, language).format(**kwargs)
async def ntranslate(self, singular, plural, n): language_code = await self.get_language_code() return ntranslate(singular, plural, n, language_code)