Struts I18N

T

Tim Slattery

Does anybody know just when and how often Struts 1.3 sets the "Default
locale"?

We have a web system that kinda-sorta uses Struts
internationalization. The user chooses a language at the beginning
(English or Spanish). A Locale object is created using that choice,
and saved using the setLocale method of the Action object.

Later Actions will retrieve that Locale object and use the language
designation to find the right things. Among those things are rows in
the database. In the table that's showing the problem, there are rows
identified with "es" or "en", the languages that we support. But we
have a report that one user is getting an error message because the
program is looking for a "zh" (Chinese) row.

My theory is that although either "en" or "es" is set at the beginning
of the app, each request can reset that according to the user's
language preference, though I'm not sure how that's set. If that's
right, then the user with the problem has his browser set for Chinese,
and our setting disappears with his second request. Is this right?
 
A

Arne Vajhøj

Does anybody know just when and how often Struts 1.3 sets the "Default
locale"?

We have a web system that kinda-sorta uses Struts
internationalization. The user chooses a language at the beginning
(English or Spanish). A Locale object is created using that choice,
and saved using the setLocale method of the Action object.

Later Actions will retrieve that Locale object and use the language
designation to find the right things. Among those things are rows in
the database. In the table that's showing the problem, there are rows
identified with "es" or "en", the languages that we support. But we
have a report that one user is getting an error message because the
program is looking for a "zh" (Chinese) row.

My theory is that although either "en" or "es" is set at the beginning
of the app, each request can reset that according to the user's
language preference, though I'm not sure how that's set. If that's
right, then the user with the problem has his browser set for Chinese,
and our setting disappears with his second request. Is this right?

setLocale saves in session so it should not be changed between
reqeusts.

Can you recreate in test env?

My best guess based on the limited info available is that
your language chooser is not quite safe - you display
a combo box with valid values but process any values - and
that one user found out and made a call with Chinese.

Arne
 
T

Tim Slattery

Arne Vajhøj said:
setLocale saves in session so it should not be changed between
reqeusts.

Can you recreate in test env?

My best guess based on the limited info available is that
your language chooser is not quite safe - you display
a combo box with valid values but process any values - and
that one user found out and made a call with Chinese.

That was my thought also, but it ain't so. If "es" is passed into the
app, then it creates a locale using "es". If anything else is passed
in, it creates a locale using "en". Never anything else.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

i18n/l10n question 6
Where did my language setting go? 4
Struts....I18N and encoding? 1
I18N management tool? 5
struts-config.xml 1
Struts & DynaForms 3
Struts/Hibernate and date troubles 4
Struts Help 1

Members online

Forum statistics

Threads
473,981
Messages
2,570,188
Members
46,732
Latest member
ArronPalin

Latest Threads

Top