IupSetLanguage
| Definition: |
include pGUI.e
IupSetLanguage(string language_name) |
| Description: |
Sets the language name used by some pre-defined dialogs. Can also be changed using the global attribute LANGUAGE.
language_name: Can have one of the following values: "ENGLISH", "PORTUGUESE", "SPANISH". Default: "ENGLISH". Affects: All elements that have pre-defined texts. The pre-defined texts will be stored using IupSetLanguageString. |
| pwa/p2js: | Not supported. |
| Comments: |
The native dialogs like IupFileDlg will always be displayed in the system language.
Even if the language is not supported (meaning its pack of pre-defined strings are not defined) the new language name will be successfully stored so you can set your own strings and return a coherent value, and the current defined string will not be changed. Here is a list of the pre-defined string names: IUP_ERROR IUP_ATTENTION (since 3.22) IUP_YES IUP_NO IUP_INVALIDDIR IUP_FILEISDIR IUP_FILENOTEXIST IUP_FILEOVERWRITE IUP_CREATEFOLDER IUP_NAMENEWFOLDER IUP_SAVEAS IUP_OPEN IUP_SELECTDIR IUP_OK IUP_CANCEL IUP_RETRY IUP_APPLY IUP_RESET IUP_GETCOLOR IUP_HELP IUP_RED IUP_GREEN IUP_BLUE IUP_HUE IUP_SATURATION IUP_INTENSITY IUP_OPACITY IUP_PALETTE IUP_TRUE IUP_FALSE IUP_FAMILY IUP_STYLE IUP_SIZE IUP_SAMPLE IUP_ERRORFILEOPEN (since 3.22) IUP_ERRORFILESAVE (since 3.22) |
| Auxiliary Functions: |
IupGetLanguage() Returns the language used by some pre-defined dialogs. Returns the same value as the LANGUAGE global attribute. Example:
IupOpen()
IupSetLanguage("ENGLISH")
IupMessage("IUP Language", IupGetLanguage())
IupClose()
IupSetLanguageString(string name, val) IupStoreLanguageString(string name, val) Associates a name with a string as an auxiliary method for Internationalization of applications. name: name of the string. val: string value. IupStoreLanguageString will duplicate the string internally. IupSetLanguageString will store the pointer. Elements that have pre-defined texts use this function when the current language is changed using IupSetLanguage. IUP will not store strings for several languages at the same time, it will store only for the current language. When IupSetLanguage is called only the internal pre-defined strings are replace in the internal database. The application must register again all its strings for the new language. If a dialog is created with string names associations and the associations are about to be changed, then the dialog must be destroyed before the associations are changed, then created again. Associations are retrieved using the IupGetLanguageString function (see below). But to simplify the usage of the string names associations attributes set with regular IupSetStr* functions can use the prefix "_@" to indicate a string name and not the actual string. IupSetAttribute* functions can not be used because they simply store a pointer that may not be a string. Example:
// If Language is English
IupSetLanguageString("IUP_CANCEL", "Cancel")
// or
// If Language is Portuguese
IupSetLanguageString("IUP_CANCEL", "Cancelar")
// Then when setting a button title use:
Ihandle button_cancel = IupButton(IupGetLanguageString("IUP_CANCEL"))
// or
Ihandle button_cancel = IupButton("_@IUP_CANCEL")
// or
IupSetStrAttribute(button_cancel, "TITLE", "_@IUP_CANCEL")
string res = IupGetLanguageString(string name) Returns a language dependent string associated with the name. The string must have been associated with the name using the IupSetLanguageString or IupSetLanguagePack functions. If the association is not found returns the name itself. See example just above. IupSetLanguagePack(Ihandln ih) Sets a pack of associations between names and string values. Internally will call IupSetLanguageString for each name in the pack. ih: pack of name-value association. It is simply an IupUser element with several attributes set. After setting the pack it can be destroyed. The existent associations will not be removed. But if the new ones have the same names, the old ones will be replaced. If set to NULL will remove all current associations. Example: Ihandln pack = IupUser() IupSetAttribute(pack,"IUP_RED","Vermelho") IupSetAttribute(pack,"MY_ITEMCOLORTEST","Teste de Cor") IupSetLanguagePack(pack) pack = IupDestroy(pack) Note that pack has an Ihandln type for the benefit of IupDestroy(); IupUser() will throw a (catchable) exception rather than return NULL. |
| See Also: | IupUser, IupSetAttribute, IupDestroy, LANGUAGE |