* It requires to setup the build server to have the en_GB and ar_AE locales.
$ sudo locale-gen en
$ sudo locale-gen ar
$ sudo update-locale
Change-Id: I39e14f745f08f593af0b182c299814b65d87cf9e
Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
FILE(GLOB PO_FILES RELATIVE "${PO_DIR}" "${PO_DIR}/*.po")
SET(MSGFMT "/usr/bin/msgfmt")
-SET(MO_FILES_DIR /tmp/locale/en/LC_MESSAGES)
+SET(MO_FILES_DIR /tmp/locale)
FILE(MAKE_DIRECTORY ${MO_FILES_DIR})
-MESSAGE("mo dir: ${MO_FILES_DIR}")
FOREACH(PO_FILE ${PO_FILES})
SET(PO_FILE ${PO_DIR}/${PO_FILE})
MESSAGE("ABS_PO_FILE : ${ABS_PO_FILE}")
GET_FILENAME_COMPONENT(lang ${ABS_PO_FILE} NAME_WE)
MESSAGE("lang : ${lang}")
- SET(MO_FILE ${MO_FILES_DIR}/dali-toolkit.mo.${lang})
+ FILE(MAKE_DIRECTORY ${MO_FILES_DIR}/${lang}/LC_MESSAGES)
+ SET(MO_FILE ${MO_FILES_DIR}/${lang}/LC_MESSAGES/dali-toolkit.mo)
MESSAGE("MO_FILE : ${MO_FILE}")
ADD_CUSTOM_COMMAND(OUTPUT ${MO_FILE}
COMMAND ${MSGFMT} -o ${MO_FILE} ${ABS_PO_FILE}
{
const char* DEFAULT_LOCALE_DIR = "/tmp/locale/";
-const std::string DEFAULT_EN_LOCALE_DIR = "/tmp/locale/en/LC_MESSAGES/";
+static std::string gLocaleLang;
+static std::string gLocaleLanguage;
}
void dali_textselectionpopupmirroringltr_startup(void)
{
- // Cheat! Copy the .mo file
- std::ifstream src( std::string( DEFAULT_EN_LOCALE_DIR + "dali-toolkit.mo.en" ).c_str(), std::ifstream::binary );
- std::ofstream dst( std::string( DEFAULT_EN_LOCALE_DIR + "dali-toolkit.mo" ).c_str(), std::ofstream::binary );
- dst << src.rdbuf();
+ // Keep the current locale environment.
+ char* langPtr = getenv( "LANG" );
+ gLocaleLang = std::string( langPtr );
+
+ char* languagePtr = getenv( "LANGUAGE" );
+ gLocaleLanguage = std::string( languagePtr );
+
+ // Set the locale environment to Arabic.
+ setenv( "LANG", "en_GB.UTF-8", 1 );
+ setenv( "LANGUAGE", "en_GB:en", 1 );
test_return_value = TET_UNDEF;
}
void dali_textselectionpopupmirroringltr_cleanup(void)
{
+ // Restore the locale environment.
+ setenv( "LANG", gLocaleLang.c_str(), 1 );
+ setenv( "LANGUAGE", gLocaleLanguage.c_str(), 1 );
+
test_return_value = TET_PASS;
}
{
const char* DEFAULT_LOCALE_DIR = "/tmp/locale/";
-const std::string DEFAULT_EN_LOCALE_DIR = "/tmp/locale/en/LC_MESSAGES/";
+static std::string gLocaleLang;
+static std::string gLocaleLanguage;
}
void dali_textselectionpopupmirroringrtl_startup(void)
{
- // Cheat! Copy the .mo file
- std::ifstream src( std::string( DEFAULT_EN_LOCALE_DIR + "dali-toolkit.mo.ar" ).c_str(), std::ifstream::binary );
- std::ofstream dst( std::string( DEFAULT_EN_LOCALE_DIR + "dali-toolkit.mo" ).c_str(), std::ofstream::binary );
- dst << src.rdbuf();
+ // Keep the current locale environment.
+ char* langPtr = getenv( "LANG" );
+ gLocaleLang = std::string( langPtr );
+
+ char* languagePtr = getenv( "LANGUAGE" );
+ gLocaleLanguage = std::string( languagePtr );
+
+ // Set the locale environment to Arabic.
+ setenv( "LANG", "ar_AE.UTF-8", 1 );
+ setenv( "LANGUAGE", "ar_AE:ar", 1 );
test_return_value = TET_UNDEF;
}
void dali_textselectionpopupmirroringrtl_cleanup(void)
{
+ // Restore the locale environment.
+ setenv( "LANG", gLocaleLang.c_str(), 1 );
+ setenv( "LANGUAGE", gLocaleLanguage.c_str(), 1 );
+
test_return_value = TET_PASS;
}
ToolkitTestApplication application;
- setlocale( LC_ALL, "en_GB.UTF-8" );
+ setlocale( LC_ALL, "ar_AE.UTF-8" );
textdomain("dali-toolkit");
bindtextdomain("dali-toolkit", DEFAULT_LOCALE_DIR );