4738c3b033a88c6eecdf60126ad3c2939d07d24c
[scilab.git] / scilab / modules / localization / includes / setgetlanguage.h
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2007 - INRIA - Sylvestre LEDRU
4  * Copyright (C) 2007 - INRIA - Allan CORNET
5  * Copyright (C) 2011 - 2011 - DIGITEO - Bruno JOFRET
6  *
7  * This file must be used under the terms of the CeCILL.
8  * This source file is licensed as described in the file COPYING, which
9  * you should have received as part of this distribution.  The terms
10  * are also available at
11  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
12  *
13  */
14
15 #ifndef __SETGETLANGUAGE_H__
16 #define __SETGETLANGUAGE_H__
17
18 #include <wchar.h>
19 #include "BOOL.h"
20
21 /**
22  * change language
23  * @param lang
24  */
25 BOOL setlanguage(const wchar_t *lang);
26
27
28 /**
29  * returns current language
30  * @return
31  */
32 const wchar_t *getlanguage(void);
33
34 /**
35  * returns current alias
36  * example : en_US --> en
37  * @return
38  */
39 const wchar_t *getlanguagealias(void);
40
41 /**
42  * return internal code associated with a language
43  * @return
44  */
45 int getcurrentlanguagecode(void);
46
47 /**
48  * returns language of code
49  * @param code
50  * @return
51  */
52 const wchar_t *getlanguagefromcode(int code);
53
54 /**
55  * get code of a language
56  * @param language
57  * @return
58  */
59 int getcodefromlanguage(const wchar_t *language);
60
61 /**
62 * try to convert strlanguage (alias) to a good language string
63 * @param language
64 * @return
65 */
66 const wchar_t *convertlanguagealias(const wchar_t *strlanguage);
67
68 /**
69 * test if lang is defined language
70 * @param lang
71 * @return TRUE or FALSE
72 */
73 BOOL LanguageIsOK(const wchar_t *lang);
74
75 /**
76  * Check if the current language is the same we are trying to switch to
77  *
78  * @param language The language we want to switch to
79  * @return If we need to change the language or not
80  */
81 BOOL needtochangelanguage(const wchar_t *language);
82
83
84 /**
85  * Export the locale to the system
86  *
87  * @param the locale we want to export
88  * @return if is worked
89  */
90 BOOL exportLocaleToSystem(const wchar_t *locale);
91
92 /**
93  * Set the default language and save it in the registry (Windows)
94  * @param lang the new language
95  */
96 void setdefaultlanguage(const char * lang);
97
98 /**
99  * Get the default language from the registry (Windows)
100  * @return the default language
101  */
102 const char * getdefaultlanguage();
103
104
105 #endif /* __SETGETLANGUAGE_H__ */
106 /*--------------------------------------------------------------------------*/