Is it possible and if so, how to change the application language?

GorkemSenol
New Contributor III

Hello, our client wants to have the option to use OneStrem in Turkish for some users. I know that using culture settings we can add descriptions for different languages to the members. What I am actually looking for to change the application language meaning the options buttons, anything on the user interface.

 

Thanks

3 REPLIES 3

JackLacava
Community Manager
Community Manager

Unfortunately, at the moment this is not possible. A possible workaround is to build custom Dashboards to perform tasks, in which you can control button labels etc.

MarcusH
Contributor III

I am really uncomfortable disagreeing with Jack but it is possible to have more than one language in the application besides just the metadata descriptions. I am currently doing exactly the same although there are a few things that cannot be translated (eg Form template descriptions) but text on Cube Views and Dashboards etc can be translated. You use the Dashboard component XFStrings to hold the text in the different languages. Then you use the syntax XFString(XFStringName, Culture=UserCulture). The trick is to get the user's culture code without prompting for it (and Jack gave me this bit of code):

- create a parameter (pm_UserCulture). Set to call an XFBR function:

MarcusH_0-1684311643857.png

- create the XFBR function to return the user's culture:

Dim objUserInfo As UserInfo = BRApi.Security.Authorization.GetUser(si, si.UserName)
Dim UserCulture As String = objUserInfo.UserPreferences.Culture

MarcusH_1-1684311689416.png

- user that XFBR function in the XFString function:

XFString(XFStringName, Culture=|!pm_UserCulture!|)

Now use the XFString call instead of text eg this displays text about validations on a Cube View:

U6#None:Name(XFString(CV_Validations_Header1, Culture=|!pm_UserCulture!|))

This is an example of the Dashboard XFString:

MarcusH_2-1684311963559.png

 

Don't be uncomfortable, Onestream is so big that I forget features (and occasionally make mistakes) like anyone else... 😅

It's true that you can use XFStrings to multi-language elements of the UI that you control, like CV headers, captions etc (which is what I mentioned in the workaround); but I understood the question as trying to translate things you don't control, like "Load and Transform", "Validate", etc - which is not possible (or rather not supported, as far as I know; I'm sure someone somewhere figured out some hack).

Thanks for illustrating Dashboard Strings anyway, they are often overlooked but are meant precisely for this sort of work on Dashboards. They are documented on page "Reference Alias via XFString" in the Design guide.