Bug 852374

Summary: Localization in CLI do not work
Product: Red Hat Enterprise Linux 7 Reporter: Miroslav Suchý <msuchy>
Component: subscription-managerAssignee: candlepin-bugs
Status: CLOSED CURRENTRELEASE QA Contact: Entitlement Bugs <entitlement-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: bkearney, ckozak, eng-i18n-bugs, jsefler, lijli, qe-i18n-bugs
Target Milestone: betaKeywords: i18n
Target Release: 7.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-13 13:13:26 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 863175    

Description Miroslav Suchý 2012-08-28 09:50:50 UTC
Description of problem:
LANG=fr subscription-manager --help
Traceback (most recent call last):
  File "/usr/sbin/subscription-manager", line 54, in <module>
    from subscription_manager import managercli
  File "/usr/share/rhsm/subscription_manager/managercli.py", line 33, in <module>
    from subscription_manager import constants
  File "/usr/share/rhsm/subscription_manager/constants.py", line 38, in <module>
    _("Expires:              \t%-25s") + \
  File "/usr/share/rhsm/subscription_manager/constants.py", line 22, in <lambda>
    _ = lambda x: gettext.ldgettext("rhsm", x)
  File "/usr/lib64/python2.6/gettext.py", line 543, in ldgettext
    return t.lgettext(message)
  File "/usr/lib64/python2.6/gettext.py", line 368, in lgettext
    return tmsg.encode(locale.getpreferredencoding())
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 14: ordinal not in range(128)

Version-Release number of selected component (if applicable):
RHEL6.3 - subscription-manager-0.99.19.4-1.el6_3.x86_64

How reproducible:
always

Steps to Reproduce:
1. LANG=fr subscription-manager --help
  
Actual results:
Traceback

Expected results:
help page in selected language

Additional info:
This is because gettext returns string as type 'str' and not type 'unicode'.
You need to use ugettext.
You can steal fix from Katello:
https://github.com/Katello/katello/pull/529

Comment 2 RHEL Program Management 2012-12-14 08:47:09 UTC
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.

Comment 3 Carter Kozak 2013-03-22 19:11:14 UTC
Appears to work fine built from git repo.  Please test on 1.8.5 or later.

Comment 4 John Sefler 2013-04-11 23:07:27 UTC
Verifying Version....
[root@jsefler-7 ~]# rpm -q subscription-manager python
subscription-manager-1.8.5-1.el7.x86_64
python-2.7.3-13.el7.x86_64
[root@jsefler-7 ~]# LANG=fr subscription-manager --help
Utilisation : subscription-manager MODULE-NAME [MODULE-OPTIONS] [--help]

Modules primaires :

  attach         Attacher un abonnement spécifié au système enregistré
  list           Répertorier les informations des produits et abonnements de ce système
  refresh        Extraire les données d'abonnement les plus récentes depuis le serveur
  register       Enregistrez ce système sur le Portail Client ou sur un autre service de gestion des abonnements
  release        Configurer la version du système d'exploitation à utiliser
  remove         Supprimer tous les abonnements ou des abonnements spécifiques de ce système
  unregister     Désenregistrez ce système du Portail Client ou d'un autre service de gestion des abonnements

Autres modules :

  clean          Supprimer toutes les données du système local et des abonnements sans affecter le serveur
  config         Répertorier, définir, ou supprimer les paramètres de configuration utilisés par ce système
  environments   Afficher les environnements disponibles pour un utilisateur
  facts          Afficher ou mettre à jour les informations du système détecté
  identity       Afficher le certificat d'identité de ce système ou en demander un nouveau
  import         Importe des certificats fournis en-dehors de l'outil
  orgs           Afficher les organisations avec lesquelles un utilisateur peut enregistrer un système
  plugins        Afficher et configurer les plugins de subscription-manager
  redeem         Tentative d'utilisation d'un abonnement pour un système préconfiguré
  repos          Répertorier les référentiels que ce système a le droit d'utiliser
  service-level  Gérer les niveaux de service pour ce système
  subscribe      Déprécié, voir attach (attacher)
  unsubscribe    Déprécié, voir remove (suppression)
  version        Imprimer les informations de version




Verifying Version....
[root@rhsm-compat-rhel63 ~]# rpm -q subscription-manager python
subscription-manager-1.8.5-1.git.26.9540c7f.el6.x86_64
python-2.6.6-29.el6_2.2.x86_64
[root@rhsm-compat-rhel63 ~]# LANG=fr subscription-manager --help
Utilisation : subscription-manager MODULE-NAME [MODULE-OPTIONS] [--help]

Modules primaires :

  attach         Attacher un abonnement spécifié au système enregistré
  list           Répertorier les informations des produits et abonnements de ce système
  refresh        Extraire les données d'abonnement les plus récentes depuis le serveur
  register       Enregistrez ce système sur le Portail Client ou sur un autre service de gestion des abonnements
  release        Configurer la version du système d'exploitation à utiliser
  remove         Supprimer tous les abonnements ou des abonnements spécifiques de ce système
  unregister     Désenregistrez ce système du Portail Client ou d'un autre service de gestion des abonnements

Autres modules :

  clean          Supprimer toutes les données du système local et des abonnements sans affecter le serveur
  config         Répertorier, définir, ou supprimer les paramètres de configuration utilisés par ce système
  environments   Afficher les environnements disponibles pour un utilisateur
  facts          Afficher ou mettre à jour les informations du système détecté
  identity       Afficher le certificat d'identité de ce système ou en demander un nouveau
  import         Importe des certificats fournis en-dehors de l'outil
  orgs           Afficher les organisations avec lesquelles un utilisateur peut enregistrer un système
  plugins        Afficher et configurer les plugins de subscription-manager
  redeem         Tentative d'utilisation d'un abonnement pour un système préconfiguré
  repos          Répertorier les référentiels que ce système a le droit d'utiliser
  service-level  Gérer les niveaux de service pour ce système
  subscribe      Déprécié, voir attach (attacher)
  unsubscribe    Déprécié, voir remove (suppression)
  version        Imprimer les informations de version




Verifying Version....
[root@jsefler-5 ~]# rpm -q subscription-manager python
subscription-manager-1.8.5-1.el5
python-2.4.3-56.el5
[root@jsefler-5 ~]# LANG=fr subscription-manager --help
Utilisation : subscription-manager MODULE-NAME [MODULE-OPTIONS] [--help]

Modules primaires :

  attach         Attacher un abonnement spécifié au système enregistré
  list           Répertorier les informations des produits et abonnements de ce système
  refresh        Extraire les données d'abonnement les plus récentes depuis le serveur
  register       Enregistrez ce système sur le Portail Client ou sur un autre service de gestion des abonnements
  release        Configurer la version du système d'exploitation à utiliser
  remove         Supprimer tous les abonnements ou des abonnements spécifiques de ce système
  unregister     Désenregistrez ce système du Portail Client ou d'un autre service de gestion des abonnements

Autres modules :

  clean          Supprimer toutes les données du système local et des abonnements sans affecter le serveur
  config         Répertorier, définir, ou supprimer les paramètres de configuration utilisés par ce système
  environments   Afficher les environnements disponibles pour un utilisateur
  facts          Afficher ou mettre à jour les informations du système détecté
  identity       Afficher le certificat d'identité de ce système ou en demander un nouveau
  import         Importe des certificats fournis en-dehors de l'outil
  orgs           Afficher les organisations avec lesquelles un utilisateur peut enregistrer un système
  plugins        Afficher et configurer les plugins de subscription-manager
  redeem         Tentative d'utilisation d'un abonnement pour un système préconfiguré
  repos          Répertorier les référentiels que ce système a le droit d'utiliser
  service-level  Gérer les niveaux de service pour ce système
  subscribe      Déprécié, voir attach (attacher)
  unsubscribe    Déprécié, voir remove (suppression)
  version        Imprimer les informations de version

Comment 5 Ludek Smid 2014-06-13 13:13:26 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.