Alguém sabe uma fonte para as descrições traduzidos fuso horário?
-
03-07-2019 - |
Pergunta
Alguém sabe de uma lista compilada de traduções para os nomes de fuso horário no Windows? Preciso de toda 75 ou assim deles em alemão, francês e espanhol. Alternativamente, como eu usaria .Net para compilar uma lista desse tipo?
Exemplo formato: (GMT + 01: 00) Belgrado, Bratislava, Budapeste, Ljubljana, Praga
Solução
Há uma lista de todos os fusos horários no Registro em:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Time Zones
O que pode ser carregado usando:
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 );
}
}
}
Onde TimeZoneInformation é apenas uma classe que armazena as informações para facilitar o acesso.
A descrição que você está procurando no valor Display.
Outras dicas
Obter o banco de dados de fuso horário a partir https://iana.org/time-zones ou < a href = "ftp://ftp.iana.org/tz" rel = "nofollow noreferrer"> ftp://ftp.iana.org/tz (ou a muitos outra fonte na web). Estes serão introduzidos códigos ISO da ONU e país Inglês / nomes da cidade
E, em seguida, traduzi-los de http://www.unicode.org/cldr/
por exemplo.
A Terminologia Colecção Microsoft é disponível para download para não-comercial uso .