developer:sdksamples:determinecurrentlanguage


How To: Determine Rhino's Language Setting

C++, .NET

Summary: How to determine Rhino's current language setting when developing localized plug-ins.

Rhino provides support for multiple languages. And, Rhino's language setting is independent of the operating system's language setting. Thus, as a plug-in developer, knowing Rhino's current language setting is important if you plan on supporting multiple languages.

More Information

Rhino stores it's current Locale ID (LCID) in a CRhinoAppAppearanceSettings object that is held within Rhino applications settings object, or CRhinoAppSettings.

Example

The following is an example of how to determine Rhino's current language setting.

C++

ON_wString wstr;
CRhinoAppSettings settings = ::RhinoApp().AppSettings();
CRhinoAppAppearanceSettings appearance = settings.AppearanceSettings();
 
switch( appearance.m_language_identifier )
{
case 1028: // zh-tw
  wstr = L"Chinese - Taiwan";
  break;
case 1029: // cs
  wstr = L"Czech";
  break;
case 1031: // de-de
  wstr = L"German - Germany";
  break;
case 1033: // en-us
  wstr = L"English - United States";
  break;
case 1034: // es-es
  wstr = L"Spanish - Spain";
  break;
case 1036: // fr-fr
  wstr = L"French - France";
  break;
case 1040: // it-it
  wstr = L"Italian - Italy";
  break;
case 1041: // ja
  wstr = L"Japanese";
  break;
case 1042: // ko
  wstr = L"Korean";
  break;
case 1045: // pl
  wstr = L"Polish";
  break;
case 2052: // zh-cn
  wstr = L"Chinese - China";
  break;
default:
  wstr = L"unknown";
  break;
}
::RhinoApp().Print( L"The current language is \"%s\ , wstr );

VB.NET

Public Overrides Function RunCommand(ByVal context As IRhinoCommandContext) _
  As IRhinoCommand.result
 
  Dim settings As MRhinoAppSettings = RhUtil.RhinoApp.AppSettings
  Dim appearance As IRhinoAppAppearanceSettings = settings.AppearanceSettings()
  Dim id As Integer = CType(appearance.m_language_identifier, Integer)
  Dim culture As New System.Globalization.CultureInfo(id)
  RhUtil.RhinoApp.Print("The current language is " + culture.EnglishName + vbCrLf)
  Return IRhinoCommand.result.success
End Function

C#

public override IRhinoCommand.result RunCommand(IRhinoCommandContext context)
{
  MRhinoAppSettings settings = RhUtil.RhinoApp().AppSettings();
  IRhinoAppAppearanceSettings appearance = settings.AppearanceSettings();
 
  int id = (int)appearance.m_language_identifier;
  System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo(id);
  RhUtil.RhinoApp().Print( "The current language is " + culture.EnglishName + "\n" );
  return IRhinoCommand.result.success;
}
developer/sdksamples/determinecurrentlanguage.txt · Last modified: 2010/01/26 16:37 (external edit) Driven by DokuWiki Recent changes RSS feed

 © 1997-2012 

McNeel North America Europe Latin AmericaAsia