Fixed localisation

pull/287/head
parent af5aa92782
commit fe57d88f6b

@ -5320,4 +5320,8 @@ msgid "Vietnamese (US)"
msgstr ""
msgid "Vietnamese (France)"
msgstr ""
#: source/libublsettingsui-gtk3.h:675
msgid "Grant root access"
msgstr ""

@ -5517,3 +5517,6 @@ msgstr "Вьетнамский (США)"
msgid "Vietnamese (France)"
msgstr "Вьетнамский (Франция)"
#: source/libublsettingsui-gtk3.h:675
msgid "Grant root access"
msgstr "Предоставить root-доступ"

@ -234,6 +234,33 @@ gboolean on_country_filter(GtkTreeModel *self, GtkTreeIter *iter, main_window *w
}
void yon_gtk_widget_set_translation(GtkWidget *target){
GObject *cur_widget = NULL;
char *widget_text = NULL;
if (GTK_IS_BUTTON(target)){
cur_widget = G_OBJECT(target);
widget_text = yon_char_new(gtk_button_get_label(GTK_BUTTON(cur_widget)));
} else if (GTK_IS_LABEL(target)){
cur_widget = G_OBJECT(target);
widget_text = yon_char_new(gtk_label_get_label(GTK_LABEL(cur_widget)));
} else if (GTK_IS_TREE_VIEW_COLUMN(target)){
cur_widget = G_OBJECT(target);
widget_text = yon_char_new(gtk_tree_view_column_get_title(GTK_TREE_VIEW_COLUMN(cur_widget)));
} else if (GTK_IS_MENU_ITEM(target)){
cur_widget = G_OBJECT(target);
GList *list = gtk_container_get_children(GTK_CONTAINER(cur_widget));
if (list) {
GtkWidget *widget = target;
g_list_free(list);
if (GTK_IS_BOX(widget)){
return;
}
}
widget_text = yon_char_new(gtk_menu_item_get_label(GTK_MENU_ITEM(cur_widget)));
} else return;
g_object_set_data(G_OBJECT(cur_widget),"original_label",(void*)widget_text);
}
void yon_translation_init(GtkBuilder *builder){
GSList *list = gtk_builder_get_objects(builder);
@ -270,9 +297,14 @@ void yon_translation_init(GtkBuilder *builder){
void yon_update_translation(main_window *widgets){
GtkBuilder *builder = widgets->builder;
GSList *list = gtk_builder_get_objects(builder);
list = g_slist_append(list,widgets->DocumentationMenuItem);
list = g_slist_append(list,widgets->AboutMenuItem);
list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->DocumentationMenuItem),"Label"));
list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->AboutMenuItem),"Label"));
list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->root_button),"Label"));
list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->ConfigurationModeMenuItem),"Label"));
list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->EnableVNCMenuItem),"Label"));
list = g_slist_append(list,g_object_get_data(G_OBJECT(widgets->EnableRDPMenuItem),"Label"));
GSList *iter;
for (iter = list; iter; iter = iter->next){
if (iter->data == widgets->LicenceLabel){
yon_licence_load(widgets);

@ -818,25 +818,13 @@ void yon_main_window_create(main_window *widgets){
}
yon_window_config_load(path);
yon_window_config_add_instant_parameter("fullscreen","window",&fullscreen,YON_TYPE_BOOLEAN);
yon_startup_language_init();
yon_locale_init();
yon_main_window_update_locale(widgets);
yon_gtk_window_setup(GTK_WINDOW(widgets->MainWindow),NULL,TITLE_LABEL,icon_path,NULL);
gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(widgets->InstallerCountryFilter),(GtkTreeModelFilterVisibleFunc)on_country_filter,widgets,NULL);
gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(widgets->LanguagesTree),(GtkTreeViewSearchEqualFunc)on_languages_search_func,widgets,NULL);
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->RegionMapOverlay),widgets->TimeZoneMapOverlayBox);
gtk_overlay_set_overlay_pass_through(GTK_OVERLAY(widgets->RegionMapOverlay),widgets->TimeZoneMapOverlayBox,1);
gtk_widget_hide(widgets->TimeZoneMapOverlayBox);
g_thread_new("Partitions_thread",(GThreadFunc)yon_partitions_list_load,widgets);
{
widgets->EnableRDPMenuItem = gtk_menu_item_new();
GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5);
GtkWidget *Label = gtk_label_new(ENABLE_RDP_LABEL);
GtkWidget *Check = gtk_check_button_new();
yon_gtk_widget_set_translation(Label);
g_object_set_data(G_OBJECT(widgets->EnableRDPMenuItem),"Label",Label);
gtk_box_pack_start(GTK_BOX(Box),Check,0,0,0);
gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0);
gtk_container_add(GTK_CONTAINER(widgets->EnableRDPMenuItem),Box);
@ -850,6 +838,8 @@ void yon_main_window_create(main_window *widgets){
GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5);
GtkWidget *Label = gtk_label_new(ENABLE_VNC_LABEL);
GtkWidget *Check = gtk_check_button_new();
yon_gtk_widget_set_translation(Label);
g_object_set_data(G_OBJECT(widgets->EnableVNCMenuItem),"Label",Label);
gtk_box_pack_start(GTK_BOX(Box),Check,0,0,0);
gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0);
gtk_container_add(GTK_CONTAINER(widgets->EnableVNCMenuItem),Box);
@ -862,6 +852,8 @@ void yon_main_window_create(main_window *widgets){
widgets->ConfigurationModeMenuItem = gtk_menu_item_new();
GtkWidget *Box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5);
GtkWidget *Label = gtk_label_new(CONFIGURATION_MODE_LABEL);
yon_gtk_widget_set_translation(Label);
g_object_set_data(G_OBJECT(widgets->ConfigurationModeMenuItem),"Label",Label);
widgets->ConfigurationModeCheck = gtk_check_button_new();
gtk_box_pack_start(GTK_BOX(Box),widgets->ConfigurationModeCheck,0,0,0);
gtk_box_pack_start(GTK_BOX(Box),Label,0,0,0);
@ -874,6 +866,29 @@ void yon_main_window_create(main_window *widgets){
gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,0);
}
}
{
widgets->root_button = yon_root_button_new(main_config.argv,main_config.argc);
GtkWidget *Label = g_object_get_data(G_OBJECT(widgets->root_button),"Label");
yon_gtk_widget_set_translation(Label);
gtk_style_context_add_class(gtk_widget_get_style_context(widgets->root_button),"menuitemtop");
gtk_menu_shell_prepend(GTK_MENU_SHELL(gtk_widget_get_parent(widgets->AboutMenuItem)),widgets->root_button);
yon_root_button_init(widgets->root_button,GTK_WINDOW(widgets->MainWindow));
}
yon_startup_language_init();
yon_locale_init();
yon_main_window_update_locale(widgets);
yon_gtk_window_setup(GTK_WINDOW(widgets->MainWindow),NULL,TITLE_LABEL,icon_path,NULL);
gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(widgets->InstallerCountryFilter),(GtkTreeModelFilterVisibleFunc)on_country_filter,widgets,NULL);
gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(widgets->LanguagesTree),(GtkTreeViewSearchEqualFunc)on_languages_search_func,widgets,NULL);
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->RegionMapOverlay),widgets->TimeZoneMapOverlayBox);
gtk_overlay_set_overlay_pass_through(GTK_OVERLAY(widgets->RegionMapOverlay),widgets->TimeZoneMapOverlayBox,1);
gtk_widget_hide(widgets->TimeZoneMapOverlayBox);
g_thread_new("Partitions_thread",(GThreadFunc)yon_partitions_list_load,widgets);
{
if (main_config.lock_load_global == 1){
@ -963,6 +978,8 @@ main_window *yon_main_window_complete(){
}
int main(int argc, char *argv[]){
main_config.argv=argv;
main_config.argc = argc;
// __attribute__((unused)) char *locale = setlocale(LC_ALL, "en_US.UTF-8");
config_str unfound = NULL;
int size=0;
@ -1003,11 +1020,6 @@ int main(int argc, char *argv[]){
-1);
{
widgets = yon_main_window_complete();
GtkWidget *root_button = yon_root_button_new(argv,argc);
gtk_style_context_add_class(gtk_widget_get_style_context(root_button),"menuitemtop");
gtk_menu_shell_prepend(GTK_MENU_SHELL(gtk_widget_get_parent(widgets->AboutMenuItem)),root_button);
yon_root_button_init(root_button,GTK_WINDOW(widgets->MainWindow));
on_config_global_load(NULL,widgets);
}

@ -472,6 +472,9 @@ typedef struct
config_str modules;
int modules_size;
config_str argv;
int argc;
} config;
extern config main_config;
@ -798,6 +801,8 @@ typedef struct
gboolean slider_stop;
GtkWidget *root_button;
} main_window;
enum ADVANCED_PART_TYPE
@ -1561,4 +1566,5 @@ void yon_advanced_part_to_data(advanced_part_widgets *part, advanced_part_data *
void yon_advanced_part_save_part(advanced_part_data *data);
void yon_advanced_part_remove_for_part(const char *part_name, main_window *widgets);
int yon_software_check_packages_size(GtkWidget *, main_window *widgets);
void yon_user_admin_check(GtkWidget *self, main_window *widgets);
void yon_user_admin_check(GtkWidget *self, main_window *widgets);
void yon_gtk_widget_set_translation(GtkWidget *target);
Loading…
Cancel
Save