New submission from Serhiy Storchaka <storchaka+cpyt...@gmail.com>:

Non-integer numbers in GNUTranslations.ngettext() are deprecated since 3.7 (see 
issue28692 for rationale). But I forget to add deprecation warning for default 
implementation (which just tests n == 1) and forget to add the "deprecated" 
directive in the module documentation. So currently

    gettext("Elapsed: %s second", "Elapsed: %s seconds", 1.25)

will emit a warning if there is a translation for these strings, and no 
warnings if it is not translated yet, or translation file is not found, or null 
translation is used.

It is now time to convert warnings to errors, but it would be error-prone since 
many developers do not have translations yet when write a code or use no 
translation (and fallback to hard-coded English).

The safest way is to add deprecation warnings also for default and fallback 
implementation before turning all of them into errors. Pablo, can we add these 
warnings in 3.10?

----------
components: Library (Lib)
messages: 394762
nosy: pablogsal, serhiy.storchaka
priority: normal
severity: normal
status: open
title: gettext: deprecate selecting plural form by fractional numbers (part 2)
type: enhancement
versions: Python 3.10, Python 3.11

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue44268>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to