473,390 Members | 1,149 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,390 software developers and data experts.

Localization: user selectable UICulture w/ UICulture = auto

Hi,

I am running into a problem of mixing UICulture = auto and allowing users to
select culture using a dropdown list.

I am detecting a querystring, "setlang", and when found, setting the
CurrentUICulture to what's specified in the querystring. Since I want to
allow UICulture auto detecting, I add UICulture = "auto" to page directive on
each page.

Now, here is the problem: I don't know on what event (page or application) I
should set the CurrentUICulture based on the querystring, "setlang".

Since the UICulture = "auto", I cannot utilize any of the application events
to set CurrentUICulture. I could use PostAcquireRequestState if UICulture is
not auto on in page directive.

I cannot use page event effectively either. I tried to set CurrentUICulture
based on querystring in Page.PreInit. It seems that if I programmatically set
control's text to a resource string (textbox1.text =
resources.language.astring) everything works fine, but if I use explicit
binding declaratively on the control (<%$ Resources: language, astring%>), it
ignores the CurrentUICulture set in Page.PreInit and displays the string from
the culture the page auto detects. Not being able to bind declaratively is a
produtivity killer and therefore not acceptable.

Can anyone shed some light on how I can accomplish this?
I will repeat what I want to accomplish:

1) UICulture = "auto" on page directive (or can I set it somewhere else?)
2) user selectable cultures
3) being able to bind resources to control declaratively (<%$ Resources:
language, astring%>)
Nov 19 '05 #1
5 5020
Hi Samuel,

I think the last section of this blog post can help you :
http://dotnetjunkies.com/WebLog/anor.../13/54271.aspx

Let me know if you have any more questions..

Cheers,
Tom Pester
Hi,

I am running into a problem of mixing UICulture = auto and allowing
users to select culture using a dropdown list.

I am detecting a querystring, "setlang", and when found, setting the
CurrentUICulture to what's specified in the querystring. Since I want
to allow UICulture auto detecting, I add UICulture = "auto" to page
directive on each page.

Now, here is the problem: I don't know on what event (page or
application) I should set the CurrentUICulture based on the
querystring, "setlang".

Since the UICulture = "auto", I cannot utilize any of the application
events to set CurrentUICulture. I could use PostAcquireRequestState if
UICulture is not auto on in page directive.

I cannot use page event effectively either. I tried to set
CurrentUICulture based on querystring in Page.PreInit. It seems that
if I programmatically set control's text to a resource string
(textbox1.text = resources.language.astring) everything works fine,
but if I use explicit binding declaratively on the control (<%$
Resources: language, astring%>), it ignores the CurrentUICulture set
in Page.PreInit and displays the string from the culture the page auto
detects. Not being able to bind declaratively is a produtivity killer
and therefore not acceptable.

Can anyone shed some light on how I can accomplish this? I will repeat
what I want to accomplish:

1) UICulture = "auto" on page directive (or can I set it somewhere
else?)
2) user selectable cultures
3) being able to bind resources to control declaratively (<%$
Resources:
language, astring%>)

Nov 19 '05 #2
Hi Tom,

Thanks for your reply. Actually what's in the blog is what I did in my code
already. The only difference is that he uses PreRequestHandlerExecute and I
used PostAcquireRequestState (no difference)

However, I found the solution: if you want uiculture=auto while still
allowing user to change uiculture, the only way is to set uiculture = auto in
web.config and not on the page. When uiculture = auto is set in web.config,
we can use application event to override it, but when uiculture=auto is set
in page directive, you cannot override it for declaratively bound resources.

"To********************@pandora.be" wrote:
Hi Samuel,

I think the last section of this blog post can help you :
http://dotnetjunkies.com/WebLog/anor.../13/54271.aspx

Let me know if you have any more questions..

Cheers,
Tom Pester
Hi,

I am running into a problem of mixing UICulture = auto and allowing
users to select culture using a dropdown list.

I am detecting a querystring, "setlang", and when found, setting the
CurrentUICulture to what's specified in the querystring. Since I want
to allow UICulture auto detecting, I add UICulture = "auto" to page
directive on each page.

Now, here is the problem: I don't know on what event (page or
application) I should set the CurrentUICulture based on the
querystring, "setlang".

Since the UICulture = "auto", I cannot utilize any of the application
events to set CurrentUICulture. I could use PostAcquireRequestState if
UICulture is not auto on in page directive.

I cannot use page event effectively either. I tried to set
CurrentUICulture based on querystring in Page.PreInit. It seems that
if I programmatically set control's text to a resource string
(textbox1.text = resources.language.astring) everything works fine,
but if I use explicit binding declaratively on the control (<%$
Resources: language, astring%>), it ignores the CurrentUICulture set
in Page.PreInit and displays the string from the culture the page auto
detects. Not being able to bind declaratively is a produtivity killer
and therefore not acceptable.

Can anyone shed some light on how I can accomplish this? I will repeat
what I want to accomplish:

1) UICulture = "auto" on page directive (or can I set it somewhere
else?)
2) user selectable cultures
3) being able to bind resources to control declaratively (<%$
Resources:
language, astring%>)


Nov 19 '05 #3
Hi Samuel,

I've also got the result you mentioned on my local enviornment.
=================
if you want uiculture=auto while still
allowing user to change uiculture, the only way is to set uiculture = auto
in
web.config and not on the page. When uiculture = auto is set in web.config,
we can use application event to override it, but when uiculture=auto is set
in page directive, you cannot override it for declaratively bound resources.
================

I think the difference between the UICulture in @page directive and
web.config maybe the @Page directive's setting will be forced in some
internal time during the page's processing which makes our adjusting in
application level event be overrided. Anyway, IMO, we'd recommend that we
avoiding using the "Auto" setting together with custom culture handling ,
thus there will exist no such potiential conflict.

Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
--------------------
| Thread-Topic: Localization: user selectable UICulture w/ UICulture = auto
| thread-index: AcWavK9UvxFPttTERyG0bfUj0lZGdw==
| X-WBNR-Posting-Host: 64.180.16.145
| From: =?Utf-8?B?U2FtdWVs?= <pr********@nospam.nospam>
| References: <0D**********************************@microsoft.co m>
<a1**************************@news.microsoft.com >
| Subject: Re: Localization: user selectable UICulture w/ UICulture = auto
| Date: Sat, 6 Aug 2005 12:26:03 -0700
| Lines: 64
| Message-ID: <EB**********************************@microsoft.co m>
| MIME-Version: 1.0
| Content-Type: text/plain;
| charset="Utf-8"
| Content-Transfer-Encoding: 7bit
| X-Newsreader: Microsoft CDO for Windows 2000
| Content-Class: urn:content-classes:message
| Importance: normal
| Priority: normal
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| Newsgroups: microsoft.public.dotnet.framework.aspnet
| NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
| Xref: TK2MSFTNGXA01.phx.gbl
microsoft.public.dotnet.framework.aspnet:116515
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet
|
| Hi Tom,
|
| Thanks for your reply. Actually what's in the blog is what I did in my
code
| already. The only difference is that he uses PreRequestHandlerExecute and
I
| used PostAcquireRequestState (no difference)
|
| However, I found the solution: if you want uiculture=auto while still
| allowing user to change uiculture, the only way is to set uiculture =
auto in
| web.config and not on the page. When uiculture = auto is set in
web.config,
| we can use application event to override it, but when uiculture=auto is
set
| in page directive, you cannot override it for declaratively bound
resources.
|
| "To********************@pandora.be" wrote:
|
| > Hi Samuel,
| >
| > I think the last section of this blog post can help you :
| > http://dotnetjunkies.com/WebLog/anor.../13/54271.aspx
| >
| > Let me know if you have any more questions..
| >
| > Cheers,
| > Tom Pester
| >
| > > Hi,
| > >
| > > I am running into a problem of mixing UICulture = auto and allowing
| > > users to select culture using a dropdown list.
| > >
| > > I am detecting a querystring, "setlang", and when found, setting the
| > > CurrentUICulture to what's specified in the querystring. Since I want
| > > to allow UICulture auto detecting, I add UICulture = "auto" to page
| > > directive on each page.
| > >
| > > Now, here is the problem: I don't know on what event (page or
| > > application) I should set the CurrentUICulture based on the
| > > querystring, "setlang".
| > >
| > > Since the UICulture = "auto", I cannot utilize any of the application
| > > events to set CurrentUICulture. I could use PostAcquireRequestState if
| > > UICulture is not auto on in page directive.
| > >
| > > I cannot use page event effectively either. I tried to set
| > > CurrentUICulture based on querystring in Page.PreInit. It seems that
| > > if I programmatically set control's text to a resource string
| > > (textbox1.text = resources.language.astring) everything works fine,
| > > but if I use explicit binding declaratively on the control (<%$
| > > Resources: language, astring%>), it ignores the CurrentUICulture set
| > > in Page.PreInit and displays the string from the culture the page auto
| > > detects. Not being able to bind declaratively is a produtivity killer
| > > and therefore not acceptable.
| > >
| > > Can anyone shed some light on how I can accomplish this? I will repeat
| > > what I want to accomplish:
| > >
| > > 1) UICulture = "auto" on page directive (or can I set it somewhere
| > > else?)
| > > 2) user selectable cultures
| > > 3) being able to bind resources to control declaratively (<%$
| > > Resources:
| > > language, astring%>)
| >
| >
| >
|

Nov 19 '05 #4
Thanks Steven for your reply. Yes, I think the same too, but I also think
that being able to auto select UIculture for users while allowing them to
choose ui is a very nice feature if you want pefect globalization for your
app. Thus, setting UICulture = auto in web.config seems like a good solution
to me.. are you telling me you are afraid that in the future this behavior
could change?

By the way, can you please check out this new thread of mine, titled

"reference web control in dynamically added user control, ASP.NET 2"

I am not sure how I can send you directly the URL to the post, but you
should be able to see it on the first page of this newsgroup.

Thanks in advance!
Nov 19 '05 #5
Thanks for your prompt response Samuel,

En, yes, though I'm not absolutely sure whether this is changable through
different version, but since its a undocumented behavior, generally we can
not guarantee it. Anyway, I think its ok that you leave it as you currently
do.

In addition, as for the new thread you mentioned, did you just post it
right now? If so, maybe it hasn't been synchornized to our internal
program, I also search it on google and didn't find it. I'll monitor it
later. In addition, for asp.net 2.0 issue, we also suggest you try posting
in the

http://forums.microsoft.com/msdn/default.aspx

msdn forum since sometimes there have some .net dev team's members there.

Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
--------------------
| Thread-Topic: Localization: user selectable UICulture w/ UICulture = auto
| thread-index: AcWb7IYdiCzNB71iQhCmuDCyCAh4fg==
| X-WBNR-Posting-Host: 64.180.16.145
| From: =?Utf-8?B?U2FtdWVs?= <pr********@nospam.nospam>
| References: <0D**********************************@microsoft.co m>
<a1**************************@news.microsoft.com >
<EB**********************************@microsoft.co m>
<BQ**************@TK2MSFTNGXA01.phx.gbl>
| Subject: Re: Localization: user selectable UICulture w/ UICulture = auto
| Date: Mon, 8 Aug 2005 00:41:01 -0700
| Lines: 15
| Message-ID: <6C**********************************@microsoft.co m>
| MIME-Version: 1.0
| Content-Type: text/plain;
| charset="Utf-8"
| Content-Transfer-Encoding: 7bit
| X-Newsreader: Microsoft CDO for Windows 2000
| Content-Class: urn:content-classes:message
| Importance: normal
| Priority: normal
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| Newsgroups: microsoft.public.dotnet.framework.aspnet
| NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
| Xref: TK2MSFTNGXA01.phx.gbl
microsoft.public.dotnet.framework.aspnet:116630
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet
|
| Thanks Steven for your reply. Yes, I think the same too, but I also think
| that being able to auto select UIculture for users while allowing them to
| choose ui is a very nice feature if you want pefect globalization for
your
| app. Thus, setting UICulture = auto in web.config seems like a good
solution
| to me.. are you telling me you are afraid that in the future this
behavior
| could change?
|
| By the way, can you please check out this new thread of mine, titled
|
| "reference web control in dynamically added user control, ASP.NET 2"
|
| I am not sure how I can send you directly the URL to the post, but you
| should be able to see it on the first page of this newsgroup.
|
| Thanks in advance!
|

Nov 19 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Paul M | last post by:
Hi there, can anyone help me with this one.... i have a page which is in normal english format, but when i wanna change it to Russian format text, i set the Culture code, but it still remains...
8
by: Olivier Matrot | last post by:
I encounter a problem with Localization features in ASP.NET 2.0. Is seems that the framework is not able to manage neutral cultures such as 'fr', or 'de'. Those are the culture sent by default from...
1
by: kelmen | last post by:
Greeting, I'm working on the resources stuff, using the explicit localization. And to test it is as : http://www.asp.net/QuickStart/aspnet/doc/localization/culture.aspx#ielanguage add in the...
5
by: Mikeon | last post by:
Hello! I have tried to localize my Web.sitemap file using implicit localization but it doesn't seem to work. What I have done until now: I have created a sample Web.sitemap file: <?xml...
1
by: Bruno Alexandre | last post by:
Hi Guys, I'm driving crazy here with Localization issue, this is what I have now: masterpage.master - with some asp:linkbutton like this: <asp:LinkButton PostBackUrl="~/login/Default.aspx"...
4
by: Claes Bergefall | last post by:
I would like to format dates etc in the format that the user browsing the page would prefer according to his language setting. The DateTimeFormatInfo class provides all the information I need, but...
2
by: TVDJR | last post by:
Hi, I haven't had much luck in finding anything on this subject matter. I have a decent understanding of localization techinques but am not quite sure about some of the more simple things related...
0
by: shapper | last post by:
Hello, Sometime ago I followed an article (I believe MSDN) related with localization in Asp.Net 2.0. To make pages localization I create a class named Localization: 1 Public Class...
0
by: nickmarkham | last post by:
Hi, I have 'localized' the button images in my web app by using an HTTP handler file for each image so the correct langauge imagebutton can be loaded depending on the users language. In the...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.