번역 된 시간대 설명의 출처를 알고 있습니까?
-
03-07-2019 - |
문제
Windows의 시간대 이름에 대한 컴파일 된 번역 목록을 아는 사람이 있습니까? 독일어, 프랑스어 및 스페인어로 75 명 정도가 필요합니다. 또는 .NET을 사용하여 그러한 목록을 컴파일하는 방법은 무엇입니까?
예제 형식 : (GMT+01 : 00) 베오그라드, Bratislava, Budapest, Ljubljana, Prague
해결책
레지스트리에는 모든 시간 영역의 목록이 있습니다.
hkey_local_machine 소프트웨어 Microsoft Windows NT CurrentVersion Time Zones
다음을 사용하여로드 할 수 있습니다.
ArrayList zones = new ArrayList();
using( RegistryKey key = Registry.LocalMachine.OpenSubKey(
@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones" ) )
{
string[] zoneNames = key.GetSubKeyNames();
foreach( string zoneName in zoneNames )
{
using( RegistryKey subKey = key.OpenSubKey( zoneName ) )
{
TimeZoneInformation tzi = new TimeZoneInformation();
tzi.Name = zoneName;
tzi.DisplayName = (string)subKey.GetValue( "Display" );
tzi.StandardName = (string)subKey.GetValue( "Std" );
tzi.DaylightName = (string)subKey.GetValue( "Dlt" );
object value = subKey.GetValue( "Index" );
if( value != null )
{
tzi.Index = (int)value;
}
tzi.InitTzi( (byte[])subKey.GetValue( "Tzi" ) );
zones.Add( tzi );
}
}
}
TimeZoneInformation은 쉽게 액세스 할 수있는 정보를 저장하는 클래스 일뿐입니다.
당신이 찾고있는 설명은 디스플레이 값입니다.
다른 팁
시간대 데이터베이스를 얻으십시오 https://iana.org/time- zones 또는 ftp://ftp.iana.org/tz (또는 웹의 다른 많은 소스). 이들은 UN ISO 코드 및 영어 국가/도시 이름으로 키워질 것입니다.
그런 다음 그것들을 번역하십시오 http://www.unicode.org/cldr/
예를 들어
Microsoft Terminology 컬렉션은입니다 다운로드 할 수 있습니다 ~을 위한 비상업적 사용.
제휴하지 않습니다 StackOverflow