diff mbox series

gui: Make sure sepolicy calls are translated properly

Message ID 20220503114244.39441-1-vmojzis@redhat.com (mailing list archive)
State Changes Requested
Headers show
Series gui: Make sure sepolicy calls are translated properly | expand

Commit Message

Vit Mojzis May 3, 2022, 11:42 a.m. UTC
The policy is generated using sepolicy.generate, but since its
translations are in a different translation domain (selinux-python as
opposed to selinux-gui), the confirmation dialog is not translated.

- Add selinux-python as a fallback translation domain
- Set the whole "generate()" confirmation as translatable
- Drop "codeset" parameter since it is deprecated

Signed-off-by: Vit Mojzis <vmojzis@redhat.com>
---
 gui/polgengui.py                     | 7 +++++--
 python/sepolicy/sepolicy/generate.py | 2 +-
 2 files changed, 6 insertions(+), 3 deletions(-)

Comments

Vit Mojzis May 4, 2022, 8:11 a.m. UTC | #1
Hello,
please disregard this patch. I am working on an improved solution for 
the issue based on module namespaces.

Sorry for the noise.

On 5/3/22 13:42, Vit Mojzis wrote:
> The policy is generated using sepolicy.generate, but since its
> translations are in a different translation domain (selinux-python as
> opposed to selinux-gui), the confirmation dialog is not translated.
> 
> - Add selinux-python as a fallback translation domain
> - Set the whole "generate()" confirmation as translatable
> - Drop "codeset" parameter since it is deprecated
> 
> Signed-off-by: Vit Mojzis <vmojzis@redhat.com>
> ---
>   gui/polgengui.py                     | 7 +++++--
>   python/sepolicy/sepolicy/generate.py | 2 +-
>   2 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/gui/polgengui.py b/gui/polgengui.py
> index 01f541ba..dcd5df47 100644
> --- a/gui/polgengui.py
> +++ b/gui/polgengui.py
> @@ -69,10 +69,13 @@ try:
>       kwargs = {}
>       if sys.version_info < (3,):
>           kwargs['unicode'] = True
> -    gettext.install(PROGNAME,
> +    t = gettext.translation(PROGNAME,
>                       localedir="/usr/share/locale",
> -                    codeset='utf-8',
>                       **kwargs)
> +    t.install()
> +    t.add_fallback(gettext.translation("selinux-python",
> +                    localedir="/usr/share/locale",
> +                    **kwargs))
>   except:
>       try:
>           import builtins
> diff --git a/python/sepolicy/sepolicy/generate.py b/python/sepolicy/sepolicy/generate.py
> index 43180ca6..42d52109 100644
> --- a/python/sepolicy/sepolicy/generate.py
> +++ b/python/sepolicy/sepolicy/generate.py
> @@ -1372,7 +1372,7 @@ Warning %s does not exist
>           fd.close()
>   
>       def generate(self, out_dir=os.getcwd()):
> -        out = "Created the following files:\n"
> +        out = _("Created the following files:\n")
>           out += "%s # %s\n" % (self.write_te(out_dir), _("Type Enforcement file"))
>           out += "%s # %s\n" % (self.write_if(out_dir), _("Interface file"))
>           out += "%s # %s\n" % (self.write_fc(out_dir), _("File Contexts file"))
diff mbox series

Patch

diff --git a/gui/polgengui.py b/gui/polgengui.py
index 01f541ba..dcd5df47 100644
--- a/gui/polgengui.py
+++ b/gui/polgengui.py
@@ -69,10 +69,13 @@  try:
     kwargs = {}
     if sys.version_info < (3,):
         kwargs['unicode'] = True
-    gettext.install(PROGNAME,
+    t = gettext.translation(PROGNAME,
                     localedir="/usr/share/locale",
-                    codeset='utf-8',
                     **kwargs)
+    t.install()
+    t.add_fallback(gettext.translation("selinux-python",
+                    localedir="/usr/share/locale",
+                    **kwargs))
 except:
     try:
         import builtins
diff --git a/python/sepolicy/sepolicy/generate.py b/python/sepolicy/sepolicy/generate.py
index 43180ca6..42d52109 100644
--- a/python/sepolicy/sepolicy/generate.py
+++ b/python/sepolicy/sepolicy/generate.py
@@ -1372,7 +1372,7 @@  Warning %s does not exist
         fd.close()
 
     def generate(self, out_dir=os.getcwd()):
-        out = "Created the following files:\n"
+        out = _("Created the following files:\n")
         out += "%s # %s\n" % (self.write_te(out_dir), _("Type Enforcement file"))
         out += "%s # %s\n" % (self.write_if(out_dir), _("Interface file"))
         out += "%s # %s\n" % (self.write_fc(out_dir), _("File Contexts file"))