Hi all,
I'm using Tkinter for the first time in a small project where
multi-language functionality is necessary. I'm using gettext for
handling it together with StringVar.
Is there a mechanism that saves me from having to make a call to the
set() function for each StringVart involved?
Here below some code to better explain me.
Thank you very much.
slY
def set_language(lang):
current_lang = gettext.translation("translation",
localedir="locale", languages=[lang])
current_lang.install()
my_string_var1.set(msg1)
my_string_var2.set(msg2)
my_string_var3.set(msg3)
...
msg1 = _("lorem")
msg2 = _(".ipsum")
msg3 = _("dolor")
...
my_string_var1 = tk.StringVar()
my_string_var2 = tk.StringVar()
my_string_var3 = tk.StringVar()
my_string_var1.set(msg1)
my_string_var2.set(msg2)
my_string_var3.set(msg3)
...
Button(left, image=eng_img, borderwidth=0, command=lambda :
set_language("en")).grid(row=0, column=1)
Button(left, image=fra_img, borderwidth=0, command=lambda :
set_language("es")).grid(row=1, column=1)
Button(left, image=ita_img, borderwidth=0, command=lambda :
set_language("de")).grid(row=2, column=1)
msg1_label = Label(right, textvariable=my_string_var1).grid(row=0, column=1)
msg2_label = Label(right, textvariable=my_string_var2).grid(row=1, column=1)
msg3_label = Label(right, textvariable=my_string_var3).grid(row=2, column=1)
...
_______________________________________________
Tkinter-discuss mailing list
[email protected]
https://mail.python.org/mailman/listinfo/tkinter-discuss