#include <assert.h>
#include <stdlib.h>
#include <system_settings.h>
+#include <utils_i18n_ulocale.h>
using namespace Msg;
elm_app_base_scale_set(2.6);
elm_config_accel_preference_set("3d");
+ updateCharacterOrientation();
m_pWindow = new StandardWindow;
m_pWindow->show();
{
TRACE;
- char *languageSet = nullptr;
- system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &languageSet);
+ char *lang = nullptr;
+ system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &lang);
- if(languageSet)
+ if(lang)
{
- MSG_LOG("Language: ", languageSet);
- elm_language_set(languageSet);
- free(languageSet);
+ MSG_LOG("Language: ", lang);
+ elm_language_set(lang);
+ updateCharacterOrientation();
+ free(lang);
+ }
+}
+
+void MainApp::updateCharacterOrientation()
+{
+ char *lang = nullptr;
+ system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &lang);
+ if(lang)
+ {
+ MSG_LOG("Language: ", lang);
+ i18n_ulocale_layout_type_e layout = I18N_ULOCALE_LAYOUT_UNKNOWN;
+ if(i18n_ulocale_get_character_orientation(lang, &layout) == I18N_ERROR_NONE)
+ {
+ if(layout == I18N_ULOCALE_LAYOUT_LTR)
+ elm_config_mirrored_set(false);
+ else if(layout == I18N_ULOCALE_LAYOUT_RTL)
+ elm_config_mirrored_set(true);
+ else
+ {
+ MSG_LOG_ERROR("Unsupported character orientation type: ", layout);
+ }
+ }
+ free(lang);
}
}
(
SettingsListViewItem::multiLineStyle,
&Settings::msgOnSimItemHandler,
- dgettext(PROJECT_NAME, "IDS_MSG_TMBODY_MESSAGES_ON_SIM_CARD"),
- dgettext(PROJECT_NAME, "IDS_MSG_SBODY_MANAGE_THE_MESSAGES_STORED_ON_YOUR_SIM_CARD")
+ "IDS_MSG_TMBODY_MESSAGES_ON_SIM_CARD",
+ "IDS_MSG_SBODY_MANAGE_THE_MESSAGES_STORED_ON_YOUR_SIM_CARD"
);
}