Locale switch on the fly



Hi all, I have a need to switch locale on the fly (without  an application
UI reload).
I  have a function which are using gkt_container_forall()  for marking of
all widgets are having GObject property "label" ,  all of them get
aditional GObject field  "msg_id" with original english text of property
"label").   When user press the button "Change locale"  function iterates
through all children of  the main window and reads thier marks "msg_id"
added before and uses them as a parameter for get_text() to get  translated
version of the label.  And it sets  localized text of every label by
function g_object_set(). Function works good for all widgets in my
application. But there is exclusion - GtkMenuItems widgets. Function
 gkt_container_forall() iterates trough them only once - at the "marking"
phase. In "change locale" phase it does not iterate them. It translates
only top level of GtkMenuBar, but does not GtkMenuItems and
GtkCheckMenuItems.

Fuction gtk_container_foreach () givese the same results.

Is there method to solve this issue by gtk-functions?

I am using gtk3.22.1 for Windows7.

Best regards,
 Igor


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]