WebLog Posts in Category Localization

Bitmap types, Binary Resources and Westwind.Globalization
Yesterday @ 4:35pm

I've been working on supporting binary resource imports via the Web interface using Westwind.Globalization and I'm debating on whether supporting the .NET convention of importing image resources as Bitmaps is prudent. Bitmaps are rather unwieldy to use and are painful to export to common stream or file formats due to the funky 30 year old encoding architecture used by GDI+. In this post I talk about some of the issues I've run into with Bitmaps and why I'm considering importing resources simple as raw byte data.

ASP.NET MVC, Localization and Westwind.Globalization for Db Resources
March 17, 2015 @ 4:53am

Recently I've been getting a number of questions related to customers having issues with running the Westwind.Globalization Database Resource provider library under ASP.NET MVC. While the original versions of this library were definitely WebForms centric since it originated in the WebForms era, the library has had full support for ASP.NET MVC for a while. In this post I'll review how localization works in ASP.NET MVC and then demonstrate how Westwind.Globalization handles the same scenarios with database resources.

Back to Basics: UTC and TimeZones in .NET Web Apps
February 10, 2015 @ 4:21am

Storing dates in persistent storage using UTC dates is a widely accepted best practice. But it's surprisingly complex using date data effectively if you want to let the user see dates and query data in their local time zone. Looking around I noticed that there's not a lot of comprehensive info on this topic, so I decided to take notes and write down some of the approaches I've used in this post. This post combines and overview and a number of helper routines specifically geared towards user timezone adjustments in typical ASP.NET Web applications.

Updated ASP.NET Database Resource Provider
March 31, 2014 @ 5:53pm

I've updated my database ASP.NET Resource Provider project into a more formal project with a new home page, and official GitHub repository for the source code as well as a getting started video. In this video I talk about what's new and a few examples on how to use the provider.

Auto Selecting Cultures for Localization in ASP.NET
March 27, 2014 @ 5:11am

When creating multi-language Web sites, one of the key issues you need to deal with is how to assign a culture to display the appropriate resources. Whether you need to auto-switch locales based on browser language, or explicitly assign a locale based on user preferences there is generally some code logic involved in making these decisions. In this post I show what options are available and a small helper that simplifies setting the culture in ASP.NET applications.

Setting up and using Bing Translate API Service for Machine Translation
June 06, 2013 @ 2:52am

Public translation APIs as a Web Service are great for doing machine translation within applications or casual translation for user input in many applications. With Google recently removing Google Translate API I've been looking at alternatives and so wanted to hook up to the still supported Bing Translate API. Unfortunately the signup process for the Translate API is terrible, although using the service is easy enough once signed up. In this post I discuss step by step how to sign up and how to use the Translate API.

WPF Localization Guidance Paper Posted on CodePlex
July 01, 2009 @ 2:44pm

I’m happy to announce that my WPF Localization paper went live a couple of days ago on CodePlex. This document provides an overview of localization in .NET in general as well as specifically to WPF. It covers localization with the rigid LocBaml approach, as well as using Resx resources for binding using markup extensions and attached properties respectively.

WPF Bindings and CurrentCulture Formatting
June 14, 2009 @ 11:55am

WPF doesn't apply the CurrentCulture to bindings by default, which is a little... unexpected to say the least. As it turns out there's an easy solution to this problem, but it does require using code to apply the culture specifically in every document.

Resx and BAML Resources in WPF
June 04, 2009 @ 4:19am

Resource loading in WPF applications that mix BAML and Resx resources can be very confusing as BAML resources require that all BAML resources are stored in external satellite assemblies.

A Localization Handler to serve ASP.NET Resources to JavaScript
April 02, 2009 @ 1:08pm

Here's an implementation of an HTTP handler that can serve ASP.NET Server resources to JavaScript clients easily. The handler can provide both local and global, normalized server resources to client JavaScript pages so that you can localize resources in one place on the server. Use standard Resx resources or our custom database resource provider.

Updated Westwind.Globalization Data Driven Resource Provider for ASP.NET
April 01, 2009 @ 3:27am

I've updated the ASP.NET Data Driven Resource Provider code base and examples. There are a number of small improvements based on user feedback as well as a few new features like a new JavaScript Resource Handler that can provide server resources to JavaScript code easily.

Updated Data Driven ASP.NET Resource Provider Posted
March 11, 2008 @ 1:53pm

I've update the source and samples for the wwDbResourceProvider component which provides an ASP.NET Resource Provider that is driven from resources stored in a SQL Server database. The tool also includes a real time ASP.NET resource editing front end and the abillity to import and export resources. This update fixes a few small bugs and enhances the ASP.NET resource editing front end with a few UI and AJAX tweaks.

XmlWriter and Schema
August 09, 2007 @ 1:16am

In the ResX exporter for my data driven Resource Provider I use a bit of code that iterates over the database resources and then spits out ResX resources from the data as an option to get your resources into your Web site. The code I've used in this stretch of code uses an XmlWriter to quickly spit...

Resource Unloading in a custom ASP.NET Localization Resource Provider
July 24, 2007 @ 12:30am

In ASP.NET 2.0 ResourceProviders allow extension of the native resource mechanism with your own resource backing store by implementing a custom ResourceProvider. It's fairly easy to create a new provider but figuring out how to unload resources with a dynamic resource store like a database is not quite straightforward. Here's how...

Creating a data driven ASP.NET Resource Provider and Editor Article posted
July 18, 2007 @ 1:26am

I finally managed to write up my data driven resource provider as an article. It ended up being quite a task getting it all to fit into an article and I actually ended up with TWO freaking articles - one an introduction and one for the resource provider and editor implementation. <s> Yeah,...

Generate Local Resources forces Culture="Auto" into Page
July 14, 2007 @ 4:23pm

Here's a real annoyance in Visual Studio's Generate Local Resources feature: When you generate local resources within the IDE ASP.NET will automatically add Culture="Auto" and UICulture="Auto" to the page header. While this may seem Ok at first  this is really, really lame if you are managing...

Finding Child Item Controls in ASP.NET
June 26, 2007 @ 5:52pm

I was mucking around with some old control code today where I have a control that has an array of child items. While making some modifications I realized that I really wanted to make some of these controls available as child controls. But alas it turns that ASP.NET is not readily firing any 'add'...

Global Resources Localization Suggestion for ASP.NET
June 24, 2007 @ 12:45am

ASP.NET provides the ability to use strongly typed resources for Global resources that are contained in App_GlobalResources. This is a nice feature, but it has a pretty major flaw as it's implemented right now. The way this works is that you have your Resx file in App_GlobalResources and...

Speaking at PADNUG on Wednesday: Data Driven Localization
June 21, 2007 @ 8:51pm

I'll be speaking at the Portland Area .NET User Group next Wednesday. The topic is: A Data Driven Approach to Localization with ASP.NET This session provides an introduction to localization with ASP.NET as well as demonstrating how to extend ASP.NET with a custom data driven ResourceProvider. The...

Strongly typed Resources in ASP.NET
November 22, 2006 @ 12:37am

If you’ve used WinForms application you might envy the fact that there you get strongly typed resources automatically for your RESX files – the Compiler automatically generates a class that contains each of the resources as a property of the class. Unfortunately this feature isn't available in ASP.NET. Here's why and a utility that can create you strongly typed resources that work.

ResourceProvider Localization Sample posted
November 05, 2006 @ 1:23pm

I’ve been talking for some time about about a localization provider I’ve been working on off and on for my session at ASP.NET Connections next week. I was finally able to post a small sample of what the provider does and what the admin interface looks like as part of my wwHoverPanel AJAX samples. The sample shows resource serving and resource editing in action.

Accessing Localized values in ASP.NET markup and JavaScript
October 31, 2006 @ 6:59pm

I'm finally getting to the point of actually using my localization provider and localizing a couple of applications, which as we all know is tedious as heck. Here are a few thoughts in how to deal with literal values placed into the ASP.NET page markup, especially in relation to creating script code literals.

Strongly typed resources in ASP.NET
October 31, 2006 @ 2:57am

So I was screwing around today with strongly typed resources in ASP.NET. Another cool side-effect of using Web Application Projects as opposed to stock ASP.NET projects is that WAP uses strongly typed global resources. If you create a global resource file, WAP automatically creates a strongly typed...

1 comment
Auto-Culture detection related issues in ASP.NET
October 30, 2006 @ 3:21am

I've been mostly playing around with new Auto-Culture switching in ASP.NET 2.0 and it seems that there are a coulpe of issues I've run into that I can't seem to work around using this mechanism. I’ve posted about ways to switch cultures in code previously and that’s been working fine, but...

ResoureProvider, ResourceManagers Relationships in ASP.NET 2.0
October 12, 2006 @ 6:18pm

 I’ve been chomping away at my custom resource provider/manager and I have most of this working nicely with the ability to dynamically update resource content which was the original goal of this whole process. But even as all of this is coming together I still feel a bit lost on the high...

Trying to implement IImplicitResourceProvider
October 06, 2006 @ 1:03am

I'm still trying to implement a custom Localization provider and while I've made the base functionality work fairly easily I'm stuck on the IImplicitResourceProvider interface not being quite sure where it needs to go and what it EXACTLY needs to do. I have it firing but it's not working correctly...

Custom Localization ResourceProviders and Compiler Errors
October 04, 2006 @ 2:36pm

I’ve been struggling with building a custom ResourceManager and hooking it into ASP.NET over the last few days as part of a localization engine that is data driven rather than through Resources. I’ve had a separate engine for this for sometime, but it hasn’t been hooked into the .NET or ASP.NET...