* Bug 13753: dgettext() declared obsolete 33/19533/6
Samuel GOUGEON [Sun, 12 Nov 2017 18:25:00 +0000 (19:25 +0100)]
  http://bugzilla.scilab.org/13753

  As dgettext() is now just an alias of sci_gettext declared in localization_gw.cpp,
  i don't know whether it is possible to know inside sci_gettext() if it
  has been called as gettext(domain,text) or _(domain,text)
  (=> no obsolete warning) or as dgettext(..) or _d(..) (=> + warning)

Change-Id: Ia5ee1777cc2310a45f448b3bf13b4e00bc7228c4

16 files changed:
scilab/CHANGES.md
scilab/modules/localization/help/en_US/dgettext.xml
scilab/modules/localization/help/ja_JP/dgettext.xml
scilab/modules/localization/help/ru_RU/dgettext.xml
scilab/modules/localization/help/ru_RU/gettext.xml
scilab/modules/localization/help/ru_RU/underscore.xml
scilab/modules/localization/tests/nonreg_tests/bug_10654.dia.ref [deleted file]
scilab/modules/localization/tests/nonreg_tests/bug_10654.tst
scilab/modules/localization/tests/nonreg_tests/bug_9424.dia.ref [deleted file]
scilab/modules/localization/tests/nonreg_tests/bug_9424.tst
scilab/modules/localization/tests/unit_tests/dgettext.dia.ref [deleted file]
scilab/modules/localization/tests/unit_tests/dgettext.tst [deleted file]
scilab/modules/localization/tests/unit_tests/gettext.dia.ref [deleted file]
scilab/modules/localization/tests/unit_tests/gettext.tst
scilab/modules/modules_manager/tests/tbx/testbox/macros/scilab_error.sci
scilab/modules/slint/src/cpp/DeprecatedChecker.cpp

index 8a8e708..bab5ae7 100644 (file)
@@ -325,6 +325,7 @@ Obsolete functions or features
 * `nanmax` is obsolete and will be removed in Scilab 6.1. Please use `max` instead.
 * `xgetech` is obsolete and will be removed in Scilab 6.1. Please use `gca` instead.
 * `lstsize` is obsolete and will be removed in Scilab 6.1. Please use `size` instead.
+* `dgettext` is obsolete and will be removed in Scilab 6.1. Please use `gettext(domain, text)` instead.
 
 
 Removed Functions
index b5c6710..31bf3b9 100644 (file)
  * along with this program.
  *
  -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="dgettext">
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
+        xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML"
+        xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
+        xml:lang="en" xml:id="dgettext">
     <refnamediv>
         <refname>dgettext</refname>
-        <refpurpose>get text translated into the current locale and a specific domain</refpurpose>
+        <refpurpose>
+            get text translated into the current locale and a specific domain
+            <emphasis role="bold">(obsolete)</emphasis>
+        </refpurpose>
     </refnamediv>
     <refsynopsisdiv>
         <title>Syntax</title>
     </refsection>
     <refsection>
         <title>Description</title>
+        <warning>
+            This function is obsolete and will be removed from Scilab 6.1.
+            Please use <literal>gettext(domain, string)</literal> instead.
+        </warning>
         <para>
-            <literal>dgettext</literal> gets the translation of a string <literal>myString</literal> to the current locale in a specified message domain <literal>domain</literal>.
+            <literal>dgettext</literal> gets the translation of a string <literal>myString</literal>
+            to the current locale in a specified message domain <literal>domain</literal>.
         </para>
     </refsection>
     <refsection>
@@ -63,4 +74,15 @@ dgettext('scilab','Startup execution:')
             </member>
         </simplelist>
     </refsection>
+    <refsection role="history">
+        <title>History</title>
+        <revhistory>
+            <revision>
+                <revnumber>6.0.1</revnumber>
+                <revdescription>
+                    dgettext() is declared obsolete, for removal from Scilab 6.1.
+                </revdescription>
+            </revision>
+        </revhistory>
+    </refsection>
 </refentry>
index 559e94b..93261f2 100644 (file)
@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
-
 <!--
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2007 - INRIA - Allan CORNET
  * along with this program.
  *
  -->
-
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="dgettext">
-
     <refnamediv>
-
         <refname>dgettext</refname>
-
         <refpurpose>
-
-            カレントのロケールおよび指定したドメインに翻訳されたテキストを取得
-
+            カレントのロケールおよび指定したドメインに翻訳されたテキストを取得 <emphasis role="bold">(obsolete)</emphasis>
         </refpurpose>
-
     </refnamediv>
-
     <refsynopsisdiv>
-
         <title>呼び出し手順</title>
-
         <synopsis>msg=dgettext(domain, myString)</synopsis>
-
     </refsynopsisdiv>
-
     <refsection>
-
         <title>引数</title>
-
         <variablelist>
-
             <varlistentry>
-
                 <term>domain</term>
-
                 <listitem>
-
                     <para>文字列, メッセージドメインの名前</para>
-
                 </listitem>
-
             </varlistentry>
-
             <varlistentry>
-
                 <term>myString</term>
-
                 <listitem>
-
                     <para>文字列, 翻訳するメッセージ</para>
-
                 </listitem>
-
             </varlistentry>
-
         </variablelist>
-
     </refsection>
-
     <refsection>
-
         <title>説明</title>
-
+        <warning>
+            This function is obsolete and will be removed from Scilab 6.1.
+            Please use <literal>gettext(domain, string)</literal> instead.
+        </warning>
         <para>
-
             <literal>dgettext</literal> は文字列 <literal>myString</literal>を
-
             指定したメッセージドメイン<literal>domain</literal>の
-
             カレントのロケールへの翻訳したものを取得します.
-
         </para>
-
     </refsection>
-
     <refsection>
-
         <title>例</title>
-
         <programlisting role="example"><![CDATA[
 dgettext('scilab','Startup execution:')
  ]]></programlisting>
-
     </refsection>
-
     <refsection role="see also">
-
         <title>参照</title>
-
         <simplelist type="inline">
-
             <member>
-
                 <link linkend="gettext">gettext</link>
-
             </member>
-
             <member>
-
                 <link linkend="_">_</link>
-
             </member>
-
         </simplelist>
-
     </refsection>
-
-</refentry>
-
+    <refsection role="history">
+        <title>履歴</title>
+        <revhistory>
+            <revision>
+                <revnumber>6.0.1</revnumber>
+                <revdescription>
+                    dgettext() is declared obsolete, for removal from Scilab 6.1.
+                </revdescription>
+            </revision>
+        </revhistory>
+    </refsection>
+</refentry>
\ No newline at end of file
index 68af737..5c5a432 100644 (file)
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="dgettext">
     <refnamediv>
         <refname>dgettext</refname>
-        <refpurpose>получение текста, переведённого на язык текущей локали и определённого региона использования</refpurpose>
+        <refpurpose>
+            получение текста, переведённого на язык текущей локали и определённого региона
+            использования <emphasis role="bold">(устарело)</emphasis>
+        </refpurpose>
     </refnamediv>
     <refsynopsisdiv>
         <title>Синтаксис</title>
     </refsection>
     <refsection>
         <title>Описание</title>
+        <warning>
+            This function is obsolete and will be removed from Scilab 6.1.
+            Please use <literal>gettext(domain, string)</literal> instead.
+        </warning>
         <para>
             <literal>dgettext(domain, myString)</literal> получает перевод строки
             <literal>myString</literal> в определённой области использования <literal>domain</literal>.
@@ -64,4 +71,15 @@ dgettext('scilab','Startup execution:')
             </member>
         </simplelist>
     </refsection>
+    <refsection role="history">
+        <title>История</title>
+        <revhistory>
+            <revision>
+                <revnumber>6.0.1</revnumber>
+                <revdescription>
+                    dgettext() is declared obsolete, for removal from Scilab 6.1.
+                </revdescription>
+            </revision>
+        </revhistory>
+    </refsection>
 </refentry>
index 51eae1d..41a8bf9 100644 (file)
@@ -50,9 +50,6 @@ gettext("Startup execution:")
         <title>Смотрите также</title>
         <simplelist type="inline">
             <member>
-                <link linkend="dgettext">dgettext</link>
-            </member>
-            <member>
                 <link linkend="_">_</link>
             </member>
         </simplelist>
index ed0c51b..a426ccd 100644 (file)
@@ -55,9 +55,6 @@ _('Startup execution:')
             <member>
                 <link linkend="gettext">gettext</link>
             </member>
-            <member>
-                <link linkend="dgettext">dgettext</link>
-            </member>
         </simplelist>
     </refsection>
 </refentry>
diff --git a/scilab/modules/localization/tests/nonreg_tests/bug_10654.dia.ref b/scilab/modules/localization/tests/nonreg_tests/bug_10654.dia.ref
deleted file mode 100644 (file)
index 28b2c47..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-//<-- CLI SHELL MODE -->
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2012 - DIGITEO - Allan CORNET
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-// <-- Non-regression test for bug 10654 -->
-//
-// <-- Bugzilla URL -->
-// http://bugzilla.scilab.org/show_bug.cgi?id=10654
-//
-// <-- Short Description -->
-// dgettext with "scilab" domain did not return same result than gettext
-A = dgettext('scilab', '%s: No more memory.\n');
-B = gettext("%s: No more memory.\n");
-assert_checkequal(A, B);
index f33a5e1..3b74332 100644 (file)
@@ -1,19 +1,21 @@
-//<-- CLI SHELL MODE -->
 // =============================================================================
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2012 - DIGITEO - Allan CORNET
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
-
+//
+// <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
+//
 // <-- Non-regression test for bug 10654 -->
 //
 // <-- Bugzilla URL -->
-// http://bugzilla.scilab.org/show_bug.cgi?id=10654
+// http://bugzilla.scilab.org/10654
 //
 // <-- Short Description -->
-// dgettext with "scilab" domain did not return same result than gettext
+// gettext with "scilab" domain did not return same result than gettext
 
-A = dgettext('scilab', '%s: No more memory.\n');
+A = gettext('scilab', '%s: No more memory.\n');
 B = gettext("%s: No more memory.\n");
 assert_checkequal(A, B);
diff --git a/scilab/modules/localization/tests/nonreg_tests/bug_9424.dia.ref b/scilab/modules/localization/tests/nonreg_tests/bug_9424.dia.ref
deleted file mode 100644 (file)
index 7481cf1..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-//<-- CLI SHELL MODE -->
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2012 - DIGITEO - Allan CORNET
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-// <-- Non-regression test for bug 9424 -->
-//
-// <-- Bugzilla URL -->
-// http://bugzilla.scilab.org/show_bug.cgi?id=9424
-//
-// <-- Short Description -->
-// gettext("") did not return ""
-assert_checkequal(gettext(""), "");
-assert_checkequal(dgettext("scilab", ""), "");
-assert_checkequal(dgettext("mydomain", ""), "");
index 74c2791..da07bd0 100644 (file)
@@ -1,19 +1,21 @@
-//<-- CLI SHELL MODE -->
 // =============================================================================
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2012 - DIGITEO - Allan CORNET
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
-
+//
+//<-- CLI SHELL MODE -->
+//<-- NO CHECK REF -->
+//
 // <-- Non-regression test for bug 9424 -->
 //
 // <-- Bugzilla URL -->
-// http://bugzilla.scilab.org/show_bug.cgi?id=9424
+// http://bugzilla.scilab.org/9424
 //
 // <-- Short Description -->
 // gettext("") did not return ""
 
 assert_checkequal(gettext(""), "");
-assert_checkequal(dgettext("scilab", ""), "");
-assert_checkequal(dgettext("mydomain", ""), "");
\ No newline at end of file
+assert_checkequal(gettext("scilab", ""), "");
+assert_checkequal(gettext("mydomain", ""), "");
diff --git a/scilab/modules/localization/tests/unit_tests/dgettext.dia.ref b/scilab/modules/localization/tests/unit_tests/dgettext.dia.ref
deleted file mode 100644 (file)
index d15c853..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//<-- CLI SHELL MODE -->
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2008 - INRIA - Sylvestre LEDRU <sylvestre.ledru@inria.fr>
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-//===============================
-// unit tests dgettext
-//===============================
-// Void call
-if execstr('dgettext()','errcatch')==0 then bugmes();quit;end
-// one input argument
-str1="plop"; if execstr('dgettext(str1)','errcatch')<>0 then bugmes();quit;end
-// three input argument
-str1="plop"; str2="plip"; str3="plup"; if execstr('dgettext(str1, str2, str3)','errcatch')==0 then bugmes();quit;end
-// Try to translate from en_US to en_US to domain/string which doesn't exist
-lang="en_US"; setlanguage(lang); domain="fake_domain"; msg="Localization does not exist"; if dgettext(domain,msg) <> msg then bugmes();quit;end
-// Try to translate from en_US to fr_FR to a domain/string which doesn't exist
-lang="fr_FR"; setlanguage(lang); domain="fake_domain"; msg="Localization does not exist"; if dgettext(domain,msg) <> msg then bugmes();quit;end
-// Check if it is working with a good domain & good msgid
-lang="fr_FR"; setlanguage(lang); domain="scilab"; msg="Startup execution:"; if dgettext(domain,msg) <> "Initialisation :" then bugmes();quit;end
-// Check if it is working with a bad domain & good msgid
-lang="fr_FR"; setlanguage(lang); domain="fake_domain"; msg="Startup execution:"; if dgettext(domain,msg) == "Initialisation :" then bugmes();quit;end
-// Check if it is working with a good domain & good msgid and alias
-lang="fr"; setlanguage(lang); domain="scilab"; msg="Startup execution:"; if dgettext(domain,msg) <> "Initialisation :" then bugmes();quit;end
-// Check if it is working with a bad domain & good msgid and alias
-lang="fr"; setlanguage(lang); domain="fake_domain"; msg="Startup execution:"; if dgettext(domain,msg) == "Initialisation :" then bugmes();quit;end
-// Check if it is working with a good domain & good msgid
-lang="en_US"; setlanguage(lang); domain="scilab"; msg="Startup execution:"; if dgettext(domain,msg) <> msg then bugmes();quit;end
-// Check if it is working with a bad domain & good msgid
-lang="en_US"; setlanguage(lang); domain="fake_domain"; msg="Startup execution:"; if dgettext(domain,msg) <> msg then bugmes();quit;end
-// Check if it is working with a good domain & good msgid and alias
-lang="en"; setlanguage(lang); domain="scilab"; msg="Startup execution:"; if dgettext(domain,msg) <> msg then bugmes();quit;end
-// Check if it is working with a bad domain & good msgid and alias
-lang="en"; setlanguage(lang); domain="fake_domain"; msg="Startup execution:"; if dgettext(domain,msg) <> msg then bugmes();quit;end
-// @TODO : 
-// Add test to use other domain which are working (ie not fake_domain)
diff --git a/scilab/modules/localization/tests/unit_tests/dgettext.tst b/scilab/modules/localization/tests/unit_tests/dgettext.tst
deleted file mode 100644 (file)
index 65de5d1..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-//<-- CLI SHELL MODE -->
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2008 - INRIA - Sylvestre LEDRU <sylvestre.ledru@inria.fr>
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-
-//===============================
-// unit tests dgettext
-//===============================
-
-// Void call
-if execstr('dgettext()','errcatch')==0 then pause,end
-
-// one input argument
-str1="plop"; if execstr('dgettext(str1)','errcatch')<>0 then pause,end
-
-// three input argument
-str1="plop"; str2="plip"; str3="plup"; if execstr('dgettext(str1, str2, str3)','errcatch')==0 then pause,end
-
-// Try to translate from en_US to en_US to domain/string which doesn't exist
-lang="en_US"; setlanguage(lang); domain="fake_domain"; msg="Localization does not exist"; if dgettext(domain,msg) <> msg then pause, end
-
-// Try to translate from en_US to fr_FR to a domain/string which doesn't exist
-lang="fr_FR"; setlanguage(lang); domain="fake_domain"; msg="Localization does not exist"; if dgettext(domain,msg) <> msg then pause, end
-
-
-// Check if it is working with a good domain & good msgid
-lang="fr_FR"; setlanguage(lang); domain="scilab"; msg="Startup execution:"; if dgettext(domain,msg) <> "Initialisation :" then pause, end
-
-// Check if it is working with a bad domain & good msgid
-lang="fr_FR"; setlanguage(lang); domain="fake_domain"; msg="Startup execution:"; if dgettext(domain,msg) == "Initialisation :" then pause, end
-
-// Check if it is working with a good domain & good msgid and alias
-lang="fr"; setlanguage(lang); domain="scilab"; msg="Startup execution:"; if dgettext(domain,msg) <> "Initialisation :" then pause, end
-
-// Check if it is working with a bad domain & good msgid and alias
-lang="fr"; setlanguage(lang); domain="fake_domain"; msg="Startup execution:"; if dgettext(domain,msg) == "Initialisation :" then pause, end
-
-
-// Check if it is working with a good domain & good msgid
-lang="en_US"; setlanguage(lang); domain="scilab"; msg="Startup execution:"; if dgettext(domain,msg) <> msg then pause, end
-
-// Check if it is working with a bad domain & good msgid
-lang="en_US"; setlanguage(lang); domain="fake_domain"; msg="Startup execution:"; if dgettext(domain,msg) <> msg then pause, end
-
-// Check if it is working with a good domain & good msgid and alias
-lang="en"; setlanguage(lang); domain="scilab"; msg="Startup execution:"; if dgettext(domain,msg) <> msg then pause, end
-
-// Check if it is working with a bad domain & good msgid and alias
-lang="en"; setlanguage(lang); domain="fake_domain"; msg="Startup execution:"; if dgettext(domain,msg) <> msg then pause, end
-
-// @TODO : 
-// Add test to use other domain which are working (ie not fake_domain)
diff --git a/scilab/modules/localization/tests/unit_tests/gettext.dia.ref b/scilab/modules/localization/tests/unit_tests/gettext.dia.ref
deleted file mode 100644 (file)
index 58e6f4c..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-//<-- CLI SHELL MODE -->
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2008 - INRIA - Sylvestre LEDRU <sylvestre.ledru@inria.fr>
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-//===============================
-// unit tests gettext
-//===============================
-// Void call
-if execstr('gettext()','errcatch')==0 then bugmes();quit;end
-// three inputs arguments
-str1="plop"; str2="plip"; str3="plup"; if execstr('gettext(str1, str2, str3)','errcatch')==0 then bugmes();quit;end
-// Try to translate from en_US to en_US to a string which doesn't exist
-lang="en_US"; setlanguage(lang); msg="Localization does not exist"; if gettext(msg) <> msg then bugmes();quit;end
-// Try to translate from en_US to fr_FR to a string which doesn't exist
-lang="fr_FR"; setlanguage(lang); msg="Localization does not exist"; if gettext(msg) <> msg then bugmes();quit;end
-lang="fr_FR"; setlanguage(lang); msg="Startup execution:"; if gettext(msg) <> "Initialisation :" then bugmes();quit;end
-lang="fr"; setlanguage(lang); msg="Startup execution:"; if gettext(msg) <> "Initialisation :" then bugmes();quit;end
-lang="en"; setlanguage(lang); msg="Startup execution:"; if gettext(msg) <> msg then bugmes();quit;end
-lang="en_US"; setlanguage(lang); msg="Startup execution:"; if gettext(msg) <> msg then bugmes();quit;end
-addlocalizationdomain("tbx", "SCI/modules/localization/tests/unit_tests/locale");
-setlanguage("fr_FR");
-assert_checkequal(gettext("%s: No more memory.\n"), "%s : Plus de mémoire disponible.\n");
-assert_checkequal(gettext("tbx", "%s: No more memory.\n"), "%s : Overwrite Scilab translation.\n");
-assert_checkequal(gettext("%s: something not in Scilab.\n"), "%s: something not in Scilab.\n");
-assert_checkequal(gettext("tbx", "%s: something not in Scilab.\n"), "%s : it is true, that is not in Scilab.\n");
index 7777fd7..a832578 100644 (file)
@@ -1,34 +1,48 @@
-//<-- CLI SHELL MODE -->
 // =============================================================================
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2008 - INRIA - Sylvestre LEDRU <sylvestre.ledru@inria.fr>
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
-
+//
+//<-- CLI SHELL MODE -->
+//<-- NO CHECK REF -->
+//
 //===============================
-// unit tests gettext
+// unit tests gettext()
 //===============================
 
 // Void call
 if execstr('gettext()','errcatch')==0 then pause,end
 
+// one input argument
+str1 = "plop";
+assert_checktrue(execstr('gettext(str1)','errcatch')==0);
+
 // three inputs arguments
-str1="plop"; str2="plip"; str3="plup"; if execstr('gettext(str1, str2, str3)','errcatch')==0 then pause,end
+str1 = "plop"; str2 = "plip"; str3 = "plup";
+assert_checkfalse(execstr('gettext(str1, str2, str3)','errcatch')==0);
 
 // Try to translate from en_US to en_US to a string which doesn't exist
-lang="en_US"; setlanguage(lang); msg="Localization does not exist"; if gettext(msg) <> msg then pause, end
+lang = "en_US"; setlanguage(lang);
+msg = "Localization does not exist";
+assert_checkequal(gettext(msg), msg);
 
-// Try to translate from en_US to fr_FR to a string which doesn't exist
-lang="fr_FR"; setlanguage(lang); msg="Localization does not exist"; if gettext(msg) <> msg then pause, end
+// Try to translate from en_US to fr_FR a string which doesn't exist
+lang = "fr_FR"; setlanguage(lang);
+msg = "Localization does not exist";
+assert_checkequal(gettext(msg), msg);
 
-lang="fr_FR"; setlanguage(lang); msg="Startup execution:"; if gettext(msg) <> "Initialisation :" then pause, end
+msg = "Startup execution:";
 
-lang="fr"; setlanguage(lang); msg="Startup execution:"; if gettext(msg) <> "Initialisation :" then pause, end
-
-lang="en"; setlanguage(lang); msg="Startup execution:"; if gettext(msg) <> msg then pause, end
-
-lang="en_US"; setlanguage(lang); msg="Startup execution:"; if gettext(msg) <> msg then pause, end
+lang = "fr_FR"; setlanguage(lang);
+assert_checkequal(gettext(msg), "Initialisation :");
+lang = "fr"; setlanguage(lang);
+assert_checkequal(gettext(msg), "Initialisation :");
+lang = "en"; setlanguage(lang);
+assert_checkequal(gettext(msg), msg);
+lang = "en_US"; setlanguage(lang);
+assert_checkequal(gettext(msg), msg);
 
 addlocalizationdomain("tbx", "SCI/modules/localization/tests/unit_tests/locale");
 setlanguage("fr_FR");
@@ -37,3 +51,51 @@ assert_checkequal(gettext("tbx", "%s: No more memory.\n"), "%s : Overwrite Scila
 assert_checkequal(gettext("%s: something not in Scilab.\n"), "%s: something not in Scilab.\n");
 assert_checkequal(gettext("tbx", "%s: something not in Scilab.\n"), "%s : it is true, that is not in Scilab.\n");
 
+// ======================================================
+// With a domain (formerly dgettext() < 5.5)
+// ======================================================
+
+// Try to translate from en_US to en_US to domain/string which doesn't exist
+lang="en_US"; setlanguage(lang); domain="fake_domain"; msg="Localization does not exist";
+if gettext(domain,msg) <> msg then pause, end
+
+// Try to translate from en_US to fr_FR to a domain/string which doesn't exist
+lang="fr_FR"; setlanguage(lang); domain="fake_domain"; msg="Localization does not exist";
+if gettext(domain,msg) <> msg then pause, end
+
+
+// Check if it is working with a good domain & good msgid
+lang="fr_FR"; setlanguage(lang); domain="scilab"; msg="Startup execution:";
+if gettext(domain,msg) <> "Initialisation :" then pause, end
+
+// Check if it is working with a bad domain & good msgid
+lang="fr_FR"; setlanguage(lang); domain="fake_domain"; msg="Startup execution:";
+if gettext(domain,msg) == "Initialisation :" then pause, end
+
+// Check if it is working with a good domain & good msgid and alias
+lang="fr"; setlanguage(lang); domain="scilab"; msg="Startup execution:";
+if gettext(domain,msg) <> "Initialisation :" then pause, end
+
+// Check if it is working with a bad domain & good msgid and alias
+lang="fr"; setlanguage(lang); domain="fake_domain"; msg="Startup execution:";
+if gettext(domain,msg) == "Initialisation :" then pause, end
+
+
+// Check if it is working with a good domain & good msgid
+lang="en_US"; setlanguage(lang); domain="scilab"; msg="Startup execution:";
+if gettext(domain,msg) <> msg then pause, end
+
+// Check if it is working with a bad domain & good msgid
+lang="en_US"; setlanguage(lang); domain="fake_domain"; msg="Startup execution:";
+if gettext(domain,msg) <> msg then pause, end
+
+// Check if it is working with a good domain & good msgid and alias
+lang="en"; setlanguage(lang); domain="scilab"; msg="Startup execution:";
+if gettext(domain,msg) <> msg then pause, end
+
+// Check if it is working with a bad domain & good msgid and alias
+lang="en"; setlanguage(lang); domain="fake_domain"; msg="Startup execution:";
+if gettext(domain,msg) <> msg then pause, end
+
+// @TODO :
+// Add test to use other domain which are working (ie not fake_domain)
index 9eadde0..8bf73ac 100644 (file)
@@ -8,13 +8,13 @@ function scilab_error(varargin)
 
     argSize = size(varargin);
 
-    //in toolboxes, use "_d" or "dgettext" to your localized messages
+    //in toolboxes, use "_(myDomain, message)" or "gettext(myDomain, message)" to your localized messages
     if argSize <> 1 then
-        error(999, msprintf(_d("toolbox_skeleton", "%s: I''m waiting for only one argument.\n"), "scilab_error"));
+        error(msprintf(_("toolbox_skeleton", "%s: I''m waiting for only one argument.\n"), "scilab_error"));
     end
 
     if argSize == 1 then
-        error(999, msprintf(dgettext("toolbox_skeleton", "%s: Yeah! %d is a good number of arguments but I prefer fail, sorry.\n"), "scilab_error", 1));
+        error(msprintf(gettext("toolbox_skeleton", "%s: Yeah! %d is a good number of arguments but I prefer fail, sorry.\n"), "scilab_error", 1));
     end
 endfunction
 // ====================================================================
index f2f9960..4bd6643 100644 (file)
@@ -93,6 +93,8 @@ std::unordered_map<std::wstring, std::wstring> DeprecatedChecker::initDep()
     // TODO: get this list from a conf file
     std::unordered_map<std::wstring, std::wstring> map;
     // Scilab 6.0.x => 6.1.0
+    map.emplace(L"_d", L"_");
+    map.emplace(L"dgettext", L"gettext");
     map.emplace(L"lstsize", L"size");
     map.emplace(L"nanmin", L"min");
     map.emplace(L"nanmax", L"max");