Add language selection dialog, A bit of work still required but this is a good

start.


SVN revision: 25996
This commit is contained in:
Stafford Mitchell Horne 2006-09-21 10:58:42 +00:00
parent b0909a55ec
commit 310fb5c67b
6 changed files with 1089 additions and 7 deletions

View File

@ -99,6 +99,7 @@ e_widget_image.h \
e_config_dialog.h \
e_int_config_focus.h \
e_int_config_desks.h \
e_int_config_intl.h \
e_configure.h \
e_int_border_locks.h \
e_thumb.h \
@ -278,6 +279,7 @@ e_int_config_desklock.c \
e_int_config_exebuf.c \
e_int_config_apps.c \
e_int_config_cfgdialogs.c \
e_int_config_intl.c \
e_deskpreview.c \
e_exebuf.c \
e_desklock.c \

View File

@ -88,6 +88,8 @@ e_configure_show(E_Container *con)
e_configure_standard_item_add(eco, "enlightenment/applications", _("Applications"), e_int_config_apps);
e_configure_standard_item_add(eco, "enlightenment/performance", _("Performance"), e_int_config_performance);
e_configure_standard_item_add(eco, "enlightenment/configuration", _("Configuration Dialogs"), e_int_config_cfgdialogs);
e_configure_standard_item_add(eco, "enlightenment/intl", _("Internationalization"), e_int_config_intl);
e_configure_header_item_add(eco, "enlightenment/advanced", _("Advanced"));
e_configure_standard_item_add(eco, "enlightenment/startup", _("Startup"), e_int_config_startup);

View File

@ -105,6 +105,7 @@
#include "e_int_config_exebuf.h"
#include "e_int_config_apps.h"
#include "e_int_config_cfgdialogs.h"
#include "e_int_config_intl.h"
#include "e_deskpreview.h"
#include "e_exebuf.h"
#include "e_desklock.h"

1063
src/bin/e_int_config_intl.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,12 @@
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#ifdef E_TYPEDEFS
#else
#ifndef E_INT_CONFIG_INTL_H
#define E_INT_CONFIG_INTL_H
EAPI E_Config_Dialog *e_int_config_intl(E_Container *con);
#endif
#endif

View File

@ -810,7 +810,7 @@ e_intl_locale_canonic_get(const char *locale, int ret_mask)
case 3:
modifier[tmp_idx] = 0;
}
/* Construct the clean locale string */
/* determine the size */
@ -830,25 +830,27 @@ e_intl_locale_canonic_get(const char *locale, int ret_mask)
clean_locale[0] = 0;
/* Put the parts of the string together */
strcat(clean_locale, language);
loc_mask |= E_LOC_LANG;
if ((ret_mask & E_LOC_LANG) && language[0] != 0)
{
loc_mask |= E_LOC_LANG;
strcat(clean_locale, language);
}
if ((ret_mask & E_LOC_REGION) && territory[0] != 0)
{
loc_mask |= E_LOC_REGION;
strcat(clean_locale, "_");
if (clean_locale[0] != 0) strcat(clean_locale, "_");
strcat(clean_locale, territory);
}
if ((ret_mask & E_LOC_CODESET) && codeset[0] != 0)
{
loc_mask |= E_LOC_CODESET;
strcat(clean_locale, ".");
if (clean_locale[0] != 0) strcat(clean_locale, ".");
strcat(clean_locale, codeset);
}
if ((ret_mask & E_LOC_MODIFIER) && (modifier[0] != 0))
{
loc_mask |= E_LOC_MODIFIER;
strcat(clean_locale, "@");
if (clean_locale[0] != 0) strcat(clean_locale, "@");
strcat(clean_locale, modifier);
}