Hi Thierry
How to recognize the language of the country of the client browser so that FoxInCloud indicates in the Form.wcLangUser property the language code of the client browser ?
I am looking to internationalize messages, texts, captions etc. depending on the client browser or depending on a user choice of language in my application.
Does the abdev.cLangUser () function seem to me to return the language of the machine running the application?
Amicalement
Gilles
Hi Gilles,
FoxInCloud sets xxxFrm.wcLangUser
to:
- desktop mode: the OS language
- web mode: the browser language
You can see that implemented in the FoxInCloud Live Tutorial with this label class:
&& modify class ficLbl of (home(1) + "tools\ab\aw\samples\FIC\classe\ficSample")
DEFINE CLASS ficlbl AS awlbl
caption_en = "" && properties added at design time to host the localized captions
caption_fr = "" && you can also get the localized captions dynamically from a table
caption_es = ""
caption_de = ""
caption_it = ""
caption_pt = ""
wcpropsave = "Caption"
wcpropsavenot = "Caption_de, Caption_en, Caption_fr, Caption_es, Caption_it, Caption_pt"
…
PROCEDURE refresh_
lparameters void_parameter_reminder_call_dodefault_in_your_sub_class_code
if Type('thisForm.wcLangUser') == 'C' and !empty(thisForm.wcLangUser)
local lcCaptionEN
lcCaptionEN = Evl(this.Caption_EN, this.Caption)
this.Caption = Iif(lProperty(m.this, 'Caption_' + thisForm.wcLangUser); && supported language?
, Evl(Evaluate('m.this.Caption_' + thisForm.wcLangUser), m.lcCaptionEN); && English if localized caption empty
, m.lcCaptionEN; && default: English
)
endif
ENDPROC
…
ENDDEFINE
You can also take a look at:
modify form (home(1) + "tools\ab\aw\samples\fic\fictuto\progs\forms\index.scx") method cboMore.Refresh_
Merci Thierry,
Thanks to the explanations and the TutoTest, I had already understood how to use the Form.wcLangUser property.
My question was to understand when and how she was affected by FoxInCloud.
You partially answered my question by telling me that FoxInCloud differentiated its value in WEB mode and in Desktop mode. In WEB, the language of the internet browser will be indicated in wcLangUser, that's good!
Would it be possible:
- to force a language from a combobox, a language different from the native one of the browser, and for my entire application to switch to this language for the duration of the connected session?
- change the language as soon as the user logs in (language taken from a table containing the user's data)?
Amicalement
Gilles