Saturday, March 22, 2008

BlogEngine.NET International Theme

Right now, I am working on a BlogEngine.NET Theme that I am planning on contributing back to the BlogEngine community.



I'm planning on including two enhancements that I really would love to have had when I was trying to set up my BlogEngine.NET. As they say, "Necessity is the mother of invention ..."

  1. Language drop-down. BlogEngine.NET is very i18n capable. However, from what I have seen (as of BlogEngine 1.3), the Language is set by the Administrator in the Control Panel->Settings tab, and it is application-wide. The User cannot select his/her own language. Of course, this language will only switch some of the labels, and some of the controls, and will not switch the language of the postings and content (now THAT would be an impressive feat). Still, I believe it would be useful so that people from other backgrounds and cultures could at least navigate through your blog, even if their understanding of the language in which you are writing your blog entries is limited.
  2. Out-of-box SyntaxHighlighter Integration. I am planning on redistributing SyntaxHighlighter. I love SyntaxHighlighter for posting code samples.

Thus far, the biggest issue I've run into is the fact that the BlogEngine.NET code that I downloaded (1.3.0.21, 10265) has Sessions disabled, i.e.:











As you can imagine, I have to be able to track the User's language selection. It's quite challenging to try to track state on a Web Site without use of the implicit Session object ... the first thing that comes to mind when encountering the problem of keeping track of a User's language selection is "oh, I'll just do Session[USER_LANGUAGE_SELECTION] = x".

I found the following MSDN article on ASP.NET: ASP.NET State Management. I read through it, and believe I have a decent solution, but want to see if I can make it any better.

I'll be posting my theme and contacting the BlogEngine.NET community to see how I can contribute it once I'm done.

Philip

No comments:

Post a Comment