all groups > dotnet windows forms > january 2007 >
You're in the

dotnet windows forms

group:

Get Culture Info from Language Name


Get Culture Info from Language Name lucky
1/31/2007 3:29:07 AM
dotnet windows forms: hi guys,
right now i'm going through System.Globalization Namespace. and i
found very intersting class there called CultureInfo.

i was trying to get cultureInfo on the basis of name but i didnt find
the way to do it. for example, if i pass the language name
"Danish","German",Russian", i'm suppose to get the cultureInfo object
of the language.

can anyone help me out here?
i would appriciate any help.

thanks,
Lucky
RE: Get Culture Info from Language Name Jakob Christensen
1/31/2007 3:57:00 AM
You need to pass the culture name, i.e. "da-DK", "de-DE" or "ru-RU". The
following link shows the complete list:
http://msdn2.microsoft.com/en-us/library/system.globalization.cultureinfo.aspx

Regards, Jakob.
--
http://www.dotninjas.dk



[quoted text, click to view]
Re: Get Culture Info from Language Name Jakob Christensen
1/31/2007 5:37:00 AM
The OP wants to create a new CultureInfo from EnglishName which can not be
done easily. I do not think that CurrentCulture is of much use here.

:-) Jakob.



[quoted text, click to view]
Re: Get Culture Info from Language Name Jakob Christensen
1/31/2007 6:39:01 AM
Excellent. You might want to post the code here for the OP to see?

:-) Jakob.


[quoted text, click to view]
Re: Get Culture Info from Language Name Jakob Christensen
1/31/2007 7:52:01 AM
Aaah, but you still have not solved Lucky's problem (the OP). You are just
using the culture name (i.e. "en-US" etc.) as I suggested in my first reply
to the OP. Lucky wants to create the CultureInfo directly from the string
"Danish" or "Russian". Nobody says that he can do what you did.

:-) Jakob.



[quoted text, click to view]
Re: Get Culture Info from Language Name Juan T. Llibre
1/31/2007 9:17:50 AM
Or, you could simply use these :

CultureInfo.CurrentCulture.EnglishName
CultureInfo.CurrentCulture.DisplayName
CultureInfo.CurrentCulture.NativeName




Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
===================================
[quoted text, click to view]

Re: Get Culture Info from Language Name Juan T. Llibre
1/31/2007 10:06:13 AM
re:
[quoted text, click to view]

Aw, that's not so hard to do :

http://asp.net.do/test/culture3.aspx



Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
===================================
[quoted text, click to view]

Re: Get Culture Info from Language Name Juan T. Llibre
1/31/2007 11:40:05 AM
re:
[quoted text, click to view]

Why not?

If I had a nickel for every line of code I've given away for free here
....well, you know how the rest of that goes. :-)

Here's the crux...and the trick.

<%@ Page Language="VB" uiculture="auto" %>
<%@ Import Namespace="System.Threading" %>
<%@ Import Namespace="System.Globalization" %>

<script runat="server">
Protected Overrides Sub InitializeCulture()
If Request.Form("ListBox1") IsNot Nothing Then
Dim selectedLanguage As String = Request.Form("ListBox1")
UICulture = Request.Form("ListBox1")
Culture = Request.Form("ListBox1")
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(selectedLanguage)
Thread.CurrentThread.CurrentUICulture = New CultureInfo(selectedLanguage)
End If
MyBase.InitializeCulture()
End Sub
</script>

<form id="form1" runat="server">
<div>
<asp:ListBox ID="ListBox1" runat="server">
<asp:ListItem Value="en-US" Selected="True">English</asp:ListItem>
<asp:ListItem Value="es-MX">Español</asp:ListItem>
<asp:ListItem Value="de-DE">Deutsch</asp:ListItem>
</asp:ListBox><br />
<asp:Button ID="Button1" runat="server"
Text="Set Language"
meta:resourcekey="Button1" />
<br />
</div>

The trick, as should be obvious by now, is that you don't *need* to pass the EnglishName.

The value that we *do* pass is CultureInfo.CurrentCulture.Name,
but we *display* whatever name we want to display to the user.

That way, it's transparent to the user *and* easy to program as well.

One of the most difficult concepts to grasp in programming
is that we should not attempt to lock a route to the desired result.

As long as we get where we want to get to, any route is OK.

Some routes are impossible and some are a waste,
but getting to where we want to get, with the least effort expended, is what counts.




Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
===================================
[quoted text, click to view]


Re: Get Culture Info from Language Name rossum
1/31/2007 12:13:40 PM
On 31 Jan 2007 03:29:07 -0800, "lucky" <tushar.n.patel@gmail.com>
[quoted text, click to view]
There is a full set of "Culture Names and Identifiers" in .NET, they
are shown if you search the internal Help for the CultureInfo class.

"The culture names follow the RFC 1766 standard in the format
"<languagecode2>-<country/regioncode2>", where <languagecode2> is a
lowercase two-letter code derived from ISO 639-1 and
<country/regioncode2> is an uppercase two-letter code derived from ISO
3166. For example, U.S. English is "en-US". In cases where a
two-letter language code is not available, the three-letter code
derived from ISO 639-2 is used; for example, the three-letter code
"div" is used for cultures that use the Dhivehi language. Some culture
names have suffixes that specify the script; for example, "-Cyrl"
specifies the Cyrillic script, "-Latn" specifies the Latin script."

Remember that what you program sees initially might not be "German"
but "Deutsch" and that "Russian" could well be in Cyrillic characters.
In general this is not a simple problem.

rossum
Re: Get Culture Info from Language Name Juan T. Llibre
1/31/2007 12:38:43 PM
Still, working around a programming task is better than not doing anything, right ?

What I'm saying ( and it's a bit hard to understand, I know )
is that we should not get hung up on a particular way of doing a task.

As long as we deliver a solution, it's OK.

The OP certainly won't be needing to deliver a solution
for *all* the possible languages/cultures, right ?

So, the proposed solution I coded *will* work for a fairly large
subset of the available languages/cultures ( the ones which
will fit into the Listbox without making it an unwieldy instrument ).




Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
===================================
[quoted text, click to view]


Re: Get Culture Info from Language Name Cor Ligthert (MVP)
1/31/2007 1:05:49 PM
Hi,

"NL-nl" Holland
"NL-be" Belgium
"EN-uk" Greath Brittain

is this what you mean?

Cor

"lucky" <tushar.n.patel@gmail.com> schreef in bericht
news:1170242947.058943.45200@a75g2000cwd.googlegroups.com...
[quoted text, click to view]

Re: Get Culture Info from Language Name Alexey Smirnov
1/31/2007 1:34:07 PM

[quoted text, click to view]

foreach ( CultureInfo ci in
CultureInfo.GetCultures(CultureTypes.NeutralCultures) ) {

if (ci.EnglishName == "Danish") {

....

}

}

AddThis Social Bookmark Button