Set language when not building localization. Disable external_objects_java 38/13738/2
Bruno JOFRET [Fri, 14 Feb 2014 09:29:17 +0000 (10:29 +0100)]
Change-Id: I72f45b326a734cb278ec53b2ea86d899a69960c0

scilab/etc/modules.xml.in
scilab/modules/localization/src/c/InitializeLocalization.c

index 589167e..912fb53 100644 (file)
@@ -90,6 +90,6 @@
 <module name="preferences" activate="@GUI_ENABLE@"/>
 <module name="xml" activate="yes"/>
 <module name="external_objects" activate="yes"/>
-<module name="external_objects_java" activate="yes"/>
+<module name="external_objects_java" activate="@JAVA_ENABLE@"/>
 </modules>
 
index 9c4f707..138f44c 100644 (file)
@@ -55,7 +55,6 @@ BOOL InitializeLocalization(void)
 
     strcpy(pathLocales, SCIpath);
     strcat(pathLocales, PATHLOCALIZATIONFILE);
-
     if (bindtextdomain(NAMELOCALIZATIONDOMAIN, pathLocales) == NULL || !isdir(pathLocales))
     {
         /* source tree and classic build */
@@ -74,6 +73,26 @@ BOOL InitializeLocalization(void)
         {
             /* when it is installed on the system for example /usr/share/locale/ */
             fprintf(stderr, "Warning: Localization issue: Error while binding the domain from %s or %s: Switch to the default language (English).\n", pathLocales, previousPathLocales);
+
+            // Set default behaviour
+            textdomain(NAMELOCALIZATIONDOMAIN);
+            bind_textdomain_codeset (NAMELOCALIZATIONDOMAIN, "UTF-8");
+#ifndef _MSC_VER
+            setlanguage("");
+#else
+            /* We look if registry value LANGUAGE exists */
+            /* If not exists the "" means that we will try to use the language of the system.*/
+            {
+                char *loadLanguage = getLanguagePreferences();
+                setlanguage(loadLanguage);
+                if (loadLanguage)
+                {
+                    FREE(loadLanguage);
+                    loadLanguage = NULL;
+                }
+            }
+#endif
+
             if (previousPathLocales)
             {
                 FREE(previousPathLocales);