@@ -274,8 +274,14 @@ def gettext(self, message):
274274 return message
275275
276276 def lgettext (self , message ):
277+ import warnings
278+ warnings .warn ('lgettext() is deprecated, use gettext() instead' ,
279+ DeprecationWarning , 2 )
277280 if self ._fallback :
278- return self ._fallback .lgettext (message )
281+ with warnings .catch_warnings ():
282+ warnings .filterwarnings ('ignore' , r'.*\blgettext\b.*' ,
283+ DeprecationWarning )
284+ return self ._fallback .lgettext (message )
279285 if self ._output_charset :
280286 return message .encode (self ._output_charset )
281287 return message .encode (locale .getpreferredencoding ())
@@ -289,8 +295,14 @@ def ngettext(self, msgid1, msgid2, n):
289295 return msgid2
290296
291297 def lngettext (self , msgid1 , msgid2 , n ):
298+ import warnings
299+ warnings .warn ('lngettext() is deprecated, use ngettext() instead' ,
300+ DeprecationWarning , 2 )
292301 if self ._fallback :
293- return self ._fallback .lngettext (msgid1 , msgid2 , n )
302+ with warnings .catch_warnings ():
303+ warnings .filterwarnings ('ignore' , r'.*\blngettext\b.*' ,
304+ DeprecationWarning )
305+ return self ._fallback .lngettext (msgid1 , msgid2 , n )
294306 if n == 1 :
295307 tmsg = msgid1
296308 else :
@@ -306,9 +318,15 @@ def charset(self):
306318 return self ._charset
307319
308320 def output_charset (self ):
321+ import warnings
322+ warnings .warn ('output_charset() is deprecated' ,
323+ DeprecationWarning , 2 )
309324 return self ._output_charset
310325
311326 def set_output_charset (self , charset ):
327+ import warnings
328+ warnings .warn ('set_output_charset() is deprecated' ,
329+ DeprecationWarning , 2 )
312330 self ._output_charset = charset
313331
314332 def install (self , names = None ):
@@ -424,6 +442,9 @@ def _parse(self, fp):
424442 transidx += 8
425443
426444 def lgettext (self , message ):
445+ import warnings
446+ warnings .warn ('lgettext() is deprecated, use gettext() instead' ,
447+ DeprecationWarning , 2 )
427448 missing = object ()
428449 tmsg = self ._catalog .get (message , missing )
429450 if tmsg is missing :
@@ -435,6 +456,9 @@ def lgettext(self, message):
435456 return tmsg .encode (locale .getpreferredencoding ())
436457
437458 def lngettext (self , msgid1 , msgid2 , n ):
459+ import warnings
460+ warnings .warn ('lngettext() is deprecated, use ngettext() instead' ,
461+ DeprecationWarning , 2 )
438462 try :
439463 tmsg = self ._catalog [(msgid1 , self .plural (n ))]
440464 except KeyError :
@@ -510,9 +534,10 @@ def find(domain, localedir=None, languages=None, all=False):
510534
511535# a mapping between absolute .mo file path and Translation object
512536_translations = {}
537+ _unspecified = ['unspecified' ]
513538
514539def translation (domain , localedir = None , languages = None ,
515- class_ = None , fallback = False , codeset = None ):
540+ class_ = None , fallback = False , codeset = _unspecified ):
516541 if class_ is None :
517542 class_ = GNUTranslations
518543 mofiles = find (domain , localedir , languages , all = True )
@@ -538,16 +563,23 @@ def translation(domain, localedir=None, languages=None,
538563 # are not used.
539564 import copy
540565 t = copy .copy (t )
541- if codeset :
542- t .set_output_charset (codeset )
566+ if codeset is not _unspecified :
567+ import warnings
568+ warnings .warn ('parameter codeset is deprecated' ,
569+ DeprecationWarning , 2 )
570+ if codeset :
571+ with warnings .catch_warnings ():
572+ warnings .filterwarnings ('ignore' , r'.*\bset_output_charset\b.*' ,
573+ DeprecationWarning )
574+ t .set_output_charset (codeset )
543575 if result is None :
544576 result = t
545577 else :
546578 result .add_fallback (t )
547579 return result
548580
549581
550- def install (domain , localedir = None , codeset = None , names = None ):
582+ def install (domain , localedir = None , codeset = _unspecified , names = None ):
551583 t = translation (domain , localedir , fallback = True , codeset = codeset )
552584 t .install (names )
553585
@@ -576,6 +608,9 @@ def bindtextdomain(domain, localedir=None):
576608
577609
578610def bind_textdomain_codeset (domain , codeset = None ):
611+ import warnings
612+ warnings .warn ('bind_textdomain_codeset() is deprecated' ,
613+ DeprecationWarning , 2 )
579614 global _localecodesets
580615 if codeset is not None :
581616 _localecodesets [domain ] = codeset
@@ -584,24 +619,31 @@ def bind_textdomain_codeset(domain, codeset=None):
584619
585620def dgettext (domain , message ):
586621 try :
587- t = translation (domain , _localedirs .get (domain , None ),
588- codeset = _localecodesets .get (domain ))
622+ t = translation (domain , _localedirs .get (domain , None ))
589623 except OSError :
590624 return message
591625 return t .gettext (message )
592626
593627def ldgettext (domain , message ):
628+ import warnings
629+ warnings .warn ('ldgettext() is deprecated, use dgettext() instead' ,
630+ DeprecationWarning , 2 )
594631 codeset = _localecodesets .get (domain )
595632 try :
596- t = translation (domain , _localedirs .get (domain , None ), codeset = codeset )
633+ with warnings .catch_warnings ():
634+ warnings .filterwarnings ('ignore' , r'.*\bparameter codeset\b.*' ,
635+ DeprecationWarning )
636+ t = translation (domain , _localedirs .get (domain , None ), codeset = codeset )
597637 except OSError :
598638 return message .encode (codeset or locale .getpreferredencoding ())
599- return t .lgettext (message )
639+ with warnings .catch_warnings ():
640+ warnings .filterwarnings ('ignore' , r'.*\blgettext\b.*' ,
641+ DeprecationWarning )
642+ return t .lgettext (message )
600643
601644def dngettext (domain , msgid1 , msgid2 , n ):
602645 try :
603- t = translation (domain , _localedirs .get (domain , None ),
604- codeset = _localecodesets .get (domain ))
646+ t = translation (domain , _localedirs .get (domain , None ))
605647 except OSError :
606648 if n == 1 :
607649 return msgid1
@@ -610,28 +652,49 @@ def dngettext(domain, msgid1, msgid2, n):
610652 return t .ngettext (msgid1 , msgid2 , n )
611653
612654def ldngettext (domain , msgid1 , msgid2 , n ):
655+ import warnings
656+ warnings .warn ('ldngettext() is deprecated, use dngettext() instead' ,
657+ DeprecationWarning , 2 )
613658 codeset = _localecodesets .get (domain )
614659 try :
615- t = translation (domain , _localedirs .get (domain , None ), codeset = codeset )
660+ with warnings .catch_warnings ():
661+ warnings .filterwarnings ('ignore' , r'.*\bparameter codeset\b.*' ,
662+ DeprecationWarning )
663+ t = translation (domain , _localedirs .get (domain , None ), codeset = codeset )
616664 except OSError :
617665 if n == 1 :
618666 tmsg = msgid1
619667 else :
620668 tmsg = msgid2
621669 return tmsg .encode (codeset or locale .getpreferredencoding ())
622- return t .lngettext (msgid1 , msgid2 , n )
670+ with warnings .catch_warnings ():
671+ warnings .filterwarnings ('ignore' , r'.*\blngettext\b.*' ,
672+ DeprecationWarning )
673+ return t .lngettext (msgid1 , msgid2 , n )
623674
624675def gettext (message ):
625676 return dgettext (_current_domain , message )
626677
627678def lgettext (message ):
628- return ldgettext (_current_domain , message )
679+ import warnings
680+ warnings .warn ('lgettext() is deprecated, use gettext() instead' ,
681+ DeprecationWarning , 2 )
682+ with warnings .catch_warnings ():
683+ warnings .filterwarnings ('ignore' , r'.*\bldgettext\b.*' ,
684+ DeprecationWarning )
685+ return ldgettext (_current_domain , message )
629686
630687def ngettext (msgid1 , msgid2 , n ):
631688 return dngettext (_current_domain , msgid1 , msgid2 , n )
632689
633690def lngettext (msgid1 , msgid2 , n ):
634- return ldngettext (_current_domain , msgid1 , msgid2 , n )
691+ import warnings
692+ warnings .warn ('lngettext() is deprecated, use ngettext() instead' ,
693+ DeprecationWarning , 2 )
694+ with warnings .catch_warnings ():
695+ warnings .filterwarnings ('ignore' , r'.*\bldngettext\b.*' ,
696+ DeprecationWarning )
697+ return ldngettext (_current_domain , msgid1 , msgid2 , n )
635698
636699# dcgettext() has been deemed unnecessary and is not implemented.
637700
0 commit comments