Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Finalmente, está preparado para probar la aplicación localizada. En el método más común de probar la localización es necesario un equipo que ejecute una versión localizada del sistema operativo para cada referencia cultural que se vaya a probar. Obviamente, para realizar esta tarea hacen falta muchos equipos, según el ámbito de distribución de la aplicación. Otro método implica la instalación de la versión MUI (Multilingual User Interface, Interfaz de usuario multilenguaje) de Windows 2000, que proporciona compatibilidad integrada con múltiples idiomas y permite reconfigurar el equipo sin necesidad de instalar otro sistema operativo. Aunque este enfoque puede funcionar en algunos escenarios de desarrollo, la versión MUI de Windows 2000 no está ampliamente distribuida.
La mayor parte de los programadores decidirán cambiar la propiedad CurrentThread.CurrentUICulture del subproceso ejecutado actualmente para simular una referencia cultural diferente. Se han mostrado varios ejemplos en este tutorial en los que se cargaban unos u otros recursos según los argumentos de la línea de comandos. El código necesario es sencillo. Primero se debe pasar la etiqueta de referencia cultural requerida, lo que se puede realizar con un código como el siguiente código de Visual C# tomado del archivo WorldCalc.cs.
public static void Main(string[] args) {
string strCulture = "";
if (args.Length == 1) {
strCulture = args[0];
}
Application.Run(new VersioningDemo(strCulture));
}
A continuación, el constructor de la clase crea la clase CultureInfo con la etiqueta de la referencia cultural y la asigna al subproceso que se ejecuta actualmente, como se muestra en el código siguiente.
public VersioningDemo(string culture) {
if (culture != "")
try {
Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);
}
catch (ArgumentException e){
MessageBox.Show(this, e.Message, "Bad command-line argument");
}
InitializeComponent();
}
El código equivalente en Visual Basic, que procede del archivo WorldCalc.vb, es ligeramente diferente. Visual Basic no permite pasar parámetros a Main, por lo que es necesario utilizar el método GetCommandLineArgs, como se muestra en el código siguiente.
<System.STAThreadAttribute()> _
Public Shared Sub Main()
Dim args() As String = System.Environment.GetCommandLineArgs()
Dim strCulture As String = ""
If args.Length = 2 Then
strCulture = args(1)
End If
Application.Run(New VersioningDemo(strCulture))
End Sub 'Main
En el código siguiente se muestra que el constructor de clases correspondiente de Visual Basic, New, es muy parecido al equivalente en Visual C#.
Public Sub New(culture As String)
If culture <> "" Then
try
Thread.CurrentThread.CurrentUICulture = New CultureInfo(culture)
catch e as ArgumentException
MessageBox.Show(Me, e.Message, "Bad command-line argument")
end try
End If
InitializeComponent()
End Sub 'New
Este enfoque permite a los programadores probar la mayor parte de los recursos que se deben traducir sin necesidad de configurar varios equipos.