>
 Thursday, October 26, 2006
« CMP and IDesign - .NET 3.0 Roadshow (THE... | Main | Dev Connections Session - The Avalanch o... »

As some of you may now, localization architcture is one of the subject areas that I have always enjoyed. THough I am in the midst of my WCF book, a few months ago I did wrap up a whitepaper for MSDN on the subject of custom resource providers and custom localization expressions. I also learned a lot in the process, with some great feedback from the product team, specifically Simon Calvert and Eilon Lipton, who pointed me in the right direction for how things work under the covers. In this article you'll learn about custom resource managers, storing resources in the database, accessing resources from external assemblies instead of using the App_GlobalResources directory, and creating custom localization expressions to tie it all together. I hope you enjoy this!

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/ExASPNET20RPM.asp

I'll be writing two follow up whitepapers in this series, a little later this year when I wrap up my book. The subject will be hooking the IDE to help you with your localization dev process and creating complex culture hierarchies that are customizable for personalization. Stay tuned!

10/26/2006 6:32 PM ASP.NET | Globalization  | Comments [29]  |  View reactions  |  Trackback
Friday, October 27, 2006 11:09:27 PM (GMT Daylight Time, UTC+01:00)
Not sure if I get a free Idesign Tshirt out of this:

"As some of you may now, localization architcture is one of the subject areas that I have always enjoyed."

The first clause has 'now' instead of 'know'.

Very cool btw!
Joshua Thomas
Friday, November 03, 2006 11:12:36 PM (GMT Standard Time, UTC+00:00)
Hi, thanks for a good walkthrough, not much decent documentation about this topic available. What I can't figure out though, is how to clear the cache. I really need to update contents of my resources but I can find no other way than to restart the application.
Einar
Saturday, November 11, 2006 11:54:15 PM (GMT Standard Time, UTC+00:00)
The sample code doesn't include logic to refresh the cache, but you could incorporate SQL cache dependencies provided in ADO.NET 2.0 to get notification of changes in the affected table.

Thursday, November 16, 2006 2:46:59 AM (GMT Standard Time, UTC+00:00)
Michele,

I really enjoyed the article and effort you put in to it. I was trying to compile the sample code and am having trouble with the idesignsamples.pfx password requirement. Was this password supposed to be provided?

Thank you for your help.

Steve
Saturday, November 25, 2006 3:17:41 AM (GMT Standard Time, UTC+00:00)
Einar, as far as I know the resource cache cannot be cleared because there's no way for your ASP.NET code to get a hold of the ResourceProvider or ResourceManager. Even when you can get a hold of the resource manager the mechanisms on it to clear the ResourceCache is not reliable in my experience at least with ResX resources.

The only way I've found to clear the cache is to touch web.config of one of the .Resx files which effectively causes the application to reload.

Tuesday, November 28, 2006 5:44:54 PM (GMT Standard Time, UTC+00:00)
Hi
I read the articles and downloaded the example, but unfortunatily when the project is built up it ask me the password fot idesignsamples.pfx.. Can someone explain me how can I do ?
cheers
Mauro
Mauro
Tuesday, November 28, 2006 7:26:50 PM (GMT Standard Time, UTC+00:00)
The password for idesignsamples.pfx is idesign.
Anonymus
Wednesday, November 29, 2006 12:58:13 AM (GMT Standard Time, UTC+00:00)
Thank You
Mauro
Thursday, December 07, 2006 2:26:17 PM (GMT Standard Time, UTC+00:00)
Informative and useful article, however setting the current uiculture in the code behind (OnPreInit) appears to have no effect. The text for the browsers default culture is always displayed.

I have used this technique with standard RESX files without a problem. Has anyone any suggestions? Thanks.
Nick Crowther
Wednesday, January 24, 2007 1:39:17 AM (GMT Standard Time, UTC+00:00)
Nick, I've had good luck with setting the user's culture in the global.asax in the Application_AcquireRequestState. I use something like:

Thread.CurrentThread.CurrentUICulture =
CultureInfo.GetCultureInfo(sLang);
Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture(sLang);

Where sLang is what ever you set it to, like "en-US".
Frumpy
Wednesday, January 24, 2007 7:17:27 PM (GMT Standard Time, UTC+00:00)
Excellent article. I have been looking at how to provide the designer support using a dB resource provider and this is even less documented than the topic above! Do you have any early preview of your follow up article which might lead me to the solution quicker than the trial and error approach I am currently following!

Thanks in advance
Mike
Mike Williams
Saturday, February 24, 2007 4:15:03 AM (GMT Standard Time, UTC+00:00)
One question. If end-users are allowed to choose language when the web-application is running, you have to change the culture programmatically first and then call GetLocalResourceObject and/or GetGlobalResourceObject to change labels, etc., right? There's no automatic translation going on behind the scenes at run-time before the page is rendered when the user selects a different language, is there? Or have I misunderstood something here?

Another issue is that in C# a call to Response.Redirect with the second parameter set to true throws an exception. Doesn't this cause any changes made to Thread.CurrentThread.CurrentUICulture and Thread.CurrentThread.CurrentCulture before the call to Response.Redirect to be lost?

Maybe I've completely misunderstood this, but it is easily observable.

If anyone could shed some light on this, I'd be more than grateful.

E
Eirik Mangseth
Sunday, September 02, 2007 10:05:09 AM (GMT Daylight Time, UTC+01:00)
akgvpbq uhglxac ruaihd gdexhf txsn bfgiua etdnx
Sunday, December 09, 2007 8:36:09 PM (GMT Standard Time, UTC+00:00)
Very good site. Thanks:-)









Sunday, December 16, 2007 2:16:11 PM (GMT Standard Time, UTC+00:00)
Good site. Thanks!!!









Tuesday, December 18, 2007 3:04:25 PM (GMT Standard Time, UTC+00:00)
unfeminine remollient megalosaurian macrodactylism salvifically cumbrian republish pilgrimager
<a href= http://www2.micro-net.com/~rogermad/ >Honolulu Harbor</a>
http://www.cowboyrealestate.com
Tuesday, February 12, 2008 2:55:07 PM (GMT Standard Time, UTC+00:00)
Hi

Could some one please tel me why the sample sites work fine on my localhost but don't work as soon as I put them on my 2003 Server test environment?

I have a feeling that I some how need to 'register' the dll but even adding it to the GAC doesn't seem to do the trick.

Any help would be appreciated!
Jean Blignaut
Thursday, February 21, 2008 6:07:05 PM (GMT Standard Time, UTC+00:00)
mammaliferous dal sickly superintense inunct administrate discursus deforcer
<a href= http://1ni.vzzjscltz.net/ >Model 16</a>
http://g0.algcrdeid.net/
<a href= http://1f5.gestdnc.net/ >Medical Problems Of Performing Artists</a>
http://2is.cfntcoaa.net/
<a href= http://vz.vzzjscltz.net/ >What Nationality Was Joan Of Arc</a>
http://18.mpyupwlne.net/
Wednesday, March 12, 2008 11:42:21 PM (GMT Standard Time, UTC+00:00)
Very good site. Thanks!!!



















Wednesday, March 12, 2008 11:42:36 PM (GMT Standard Time, UTC+00:00)
Very good site. Thanks!!!



















Wednesday, March 26, 2008 5:10:54 PM (GMT Standard Time, UTC+00:00)
Hi Michele.

I just want to thank you for your amazing contribution to the localisation of .NET projects.
Your articles and examples have really helped me personally to get to grips with localisation in my own projects.

As you mentioned near the end of your article: "The next article in this series will explore the other half of this picture: how to hook into the design-time experience for building resource expressions and generating resources in the appropriate storage location."

I look forward to this article, especially how you tackled the problem of combining the "CustomResouceProvidersSample" database with a translation memory database and versioning.

Thanks again for you great contributions and I hope to see more of your great work in the future!

Kind regards,

jasper Rijkeboer
Jasper Rijkeoboer
Saturday, May 10, 2008 1:07:42 AM (GMT Daylight Time, UTC+01:00)
Michele,


In your article "Extending the ASP.NET 2.0 Resource-Provider Model" on MSDN October 2006, you mentionned that you would write a second part where you would "...provide a better exprience during design time.".

Can you send me the Url's or a copy of it, cause i can't find it anywhere and this is the exact thing i am looking for.

thanks
Keep up the good work!
Yvan Castonguay
Saturday, May 10, 2008 1:08:13 AM (GMT Daylight Time, UTC+01:00)
Michele,


In your article "Extending the ASP.NET 2.0 Resource-Provider Model" on MSDN October 2006, you mentionned that you would write a second part where you would "...provide a better exprience during design time.".

Can you send me the Url's or a copy of it, cause i can't find it anywhere and this is the exact thing i am looking for.

thanks
Keep up the good work!
ycastonguay@videotron.ca
Yvan Castonguay
Thursday, June 26, 2008 5:46:48 AM (GMT Daylight Time, UTC+01:00)
Michele:

Can you send the link to the follow up articles?

Cheers,

Mike
Mike
Thursday, July 03, 2008 1:14:21 AM (GMT Daylight Time, UTC+01:00)
Very good article, how can I get the two following ones?

Thanks
Carlos
Name
E-mail
(will show your gravatar icon)
Home page

Comment (HTML not allowed)  

    ON THIS PAGE
    SEARCH
    CATEGORIES
    ARCHIVES
    BLOGROLL

Designed by NUKEATION STUDIOS