Fixed localisation for all codesets

pull/207/head
parent 713d48bac6
commit e90cf49628

@ -165,6 +165,7 @@ void yon_menu_open_submenu(yon_menu_window *window, yon_menu_item *item){
int size; int size;
config_str options = yon_config_load(get_menus_entry_command,&size); config_str options = yon_config_load(get_menus_entry_command,&size);
bind_textdomain_codeset("ublinux-init-grub-functions","UTF-8"); bind_textdomain_codeset("ublinux-init-grub-functions","UTF-8");
textdomain("ublinux-init-grub-functions");
for (int i=1;i<size;i++){ for (int i=1;i<size;i++){
yon_char_remove_last_symbol(options[i],'\n'); yon_char_remove_last_symbol(options[i],'\n');
@ -184,7 +185,7 @@ void yon_menu_open_submenu(yon_menu_window *window, yon_menu_item *item){
yon_char_parsed_free(name_parsed,name_size); yon_char_parsed_free(name_parsed,name_size);
yon_char_parsed_free(parsed,parsed_size); yon_char_parsed_free(parsed,parsed_size);
} }
bind_textdomain_codeset(LocaleName,"UTF-8"); textdomain(LocaleName);
} }
@ -245,6 +246,7 @@ yon_menu_window *yon_menu_window_open(GtkWidget *, main_window *widgets){
config_str options = yon_config_load(get_menus_entry_command,&size); config_str options = yon_config_load(get_menus_entry_command,&size);
GHashTable *created = g_hash_table_new(g_str_hash,g_str_equal); GHashTable *created = g_hash_table_new(g_str_hash,g_str_equal);
bind_textdomain_codeset("ublinux-init-grub-functions","UTF-8"); bind_textdomain_codeset("ublinux-init-grub-functions","UTF-8");
textdomain("ublinux-init-grub-functions");
for (int i=1;i<size;i++){ for (int i=1;i<size;i++){
yon_char_remove_last_symbol(options[i],'\n'); yon_char_remove_last_symbol(options[i],'\n');
int parsed_size; int parsed_size;
@ -274,7 +276,7 @@ yon_menu_window *yon_menu_window_open(GtkWidget *, main_window *widgets){
} }
} }
} }
bind_textdomain_codeset(LocaleName,"UTF-8"); textdomain(LocaleName);
g_hash_table_unref(created); g_hash_table_unref(created);
yon_char_parsed_free(options,size); yon_char_parsed_free(options,size);
gtk_window_set_transient_for(GTK_WINDOW(window->MenuWindow), GTK_WINDOW(widgets->MainWindow)); gtk_window_set_transient_for(GTK_WINDOW(window->MenuWindow), GTK_WINDOW(widgets->MainWindow));

@ -96,7 +96,7 @@ void yon_main_window_update_locale(main_window *widgets){
locale = setlocale(LC_ALL,locale); locale = setlocale(LC_ALL,locale);
gtk_widget_destroy(widgets->MainWindow); gtk_widget_destroy(widgets->MainWindow);
bind_textdomain_codeset(LocaleName,"UTF-8"); textdomain(LocaleName);
g_setenv("LANGUAGE",locale,1); g_setenv("LANGUAGE",locale,1);
yon_main_window_create(widgets); yon_main_window_create(widgets);
@ -129,7 +129,6 @@ void set_locales_list(main_window *widgets){
qsort(locales,size,sizeof(char*),yon_char_parsed_compare); qsort(locales,size,sizeof(char*),yon_char_parsed_compare);
GtkTreeIter iter,itar; GtkTreeIter iter,itar;
GHashTable *added = g_hash_table_new(g_str_hash,g_str_equal); GHashTable *added = g_hash_table_new(g_str_hash,g_str_equal);
bind_textdomain_codeset(LOCALES_DOMAIN_NAME,"UTF-8");
textdomain(LOCALES_DOMAIN_NAME); textdomain(LOCALES_DOMAIN_NAME);
for (int i=0;i<size;i++){ for (int i=0;i<size;i++){
char *lang_ab = yon_locale_get_parameter(locales[i],YON_LOCALE_LANG_AB); char *lang_ab = yon_locale_get_parameter(locales[i],YON_LOCALE_LANG_AB);
@ -176,7 +175,7 @@ void set_locales_list(main_window *widgets){
on_locale_changed(NULL,widgets); on_locale_changed(NULL,widgets);
} }
} }
bind_textdomain_codeset(LocaleName,"UTF-8"); textdomain(LocaleName);
} }

@ -930,11 +930,12 @@ void yon_main_window_create(main_window *widgets){
parsed = yon_file_open(licence_path,&size); parsed = yon_file_open(licence_path,&size);
if (size){ if (size){
bind_textdomain_codeset("ublinux-init-eula","UTF-8"); bind_textdomain_codeset("ublinux-init-eula","UTF-8");
textdomain("ublinux-init-eula");
char *licence = yon_char_parsed_to_string(parsed,size,""); char *licence = yon_char_parsed_to_string(parsed,size,"");
gtk_label_set_text(GTK_LABEL(widgets->LicenceLabel),_(licence)); gtk_label_set_text(GTK_LABEL(widgets->LicenceLabel),_(licence));
free(licence); free(licence);
yon_char_parsed_free(parsed,size); yon_char_parsed_free(parsed,size);
bind_textdomain_codeset(LocaleName,"UTF-8"); textdomain(LocaleName);
} }
} }
gtk_builder_connect_signals(builder,NULL); gtk_builder_connect_signals(builder,NULL);
@ -1001,7 +1002,7 @@ main_window *yon_main_window_complete(){
int main(int argc, char *argv[]){ int main(int argc, char *argv[]){
__attribute__((unused)) char *locale = setlocale(LC_ALL, ""); __attribute__((unused)) char *locale = setlocale(LC_ALL, "");
bind_textdomain_codeset(LocaleName,"UTF-8"); textdomain(LocaleName);
yon_ubl_connect_config((_template_config*)&main_config); yon_ubl_connect_config((_template_config*)&main_config);
config_init(); config_init();
config_str unfound = NULL; config_str unfound = NULL;

Loading…
Cancel
Save