C#은 다국어 응용 프로그램을 생성합니다.
9445 단어 csharp
Para crear una aplicación multilenguaje en C# lo primero es crear una carpeta donde vamos a colocar cada uno de los lenguajes llamada
Lenguajes
o el nombre que desees.Luego agregamos un archivo de recurso en la carpeta con el nombre de
Strings
o cadenas
스페인어로.y por cada texto en el formulario o mensaje de alerta en el formulario procedemos hacer una propiedad o fila en el archivo de recurso, para agregar una propiedad se debe abrir el archivo de recurso.
Una vez tengamos el archivo procedemos hacer un archivo resx por cada lenguaje con las mismas propiedad, pero se llamará cómo el archivo anterior pero con un punto y el código de lenguaje, así :
El código del lenguaje es la unión de la abreviatura del idioma más un "-"seguido de la abreviatura del país, la abreviatura del idioma en minúscula y la del país en mayúscula.
Ejemplo, el idioma Ingles es "en"y el país de Estados Unido es "US"entonces el idioma ingles de estados unidos queda así "en-US"clic aquí para ver los código de los idiomas Y clic aquí para ver la abreviatura de todos los paises
Una vez tengamos el archivo por cada lenguaje, lo que procedemos hacer el cargar el idioma al cargar el formulario.
con esta línea cambiamos el lenguaje de la aplicación
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
pero antes de crear un método que cargue el idioma necesitamos guardar el idioma que el programa tuvo antes de cerrarse para que al volverlo abrir se cargue de nuevo.
eso lo hacemos creado una propiedad para guardar el idioma, sino sabes cómo hacerlo, mira este vídeo.
creamos un método que cargue el idioma al cargar el formulario
public void CargarIdioma()
{
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(Settings.Default.Idioma);
lblLenguaje.Text = Strings.lblLenguaje;
lblnuevo.Text = Strings.lblnuevo;
ckActivo.Text = Strings.ckActivo;
btnMensaje.Text = Strings.btnMensaje;
this.Text = Strings.titulo;
btnAplicar.Text = Strings.btnAplicar;
}
Al cambiar el idioma, cambiamos la configuración y volvemos a cargar el idioma
Settings.Default.Idioma = "en-US";
CargarIdioma();
Settings.Default.Idioma = "es-CO";
CargarIdioma();
al cerrar el formulario debemos guardar el último idioma que se seleccionó
Settings.Default.Save();
트루코스
1- Crear una clases que controles los idiomas
Creamos una clase con todos los atributos de un idioma y un método estático que devuelta todos los idiomas.
클래스 :
Idioma.cs
public class Idioma
{
public String Nombre { get; set; }
public String Abreviacion{ get; set; }
public String Pais { get; set; }
public String AbreviacionPais{ get; set; }
public String NombrePais
{
get
{
return Nombre + "(" + Pais + ")";
}
}
public String CultureInfo
{
get
{
return Abreviacion + "-" + AbreviacionPais;
}
}
public static List<Idioma> ObtenerIdiomas()
{
return new List<Idioma> {
new Idioma
{
Nombre = "Español",
Abreviacion = "es",
Pais = "Colombia",
AbreviacionPais = "CO"
},
new Idioma
{
Nombre = "English",
Abreviacion = "en",
Pais = "Estados Unidos",
AbreviacionPais = "US"
},
new Idioma
{
Nombre = "português",
Abreviacion = "pt",
Pais = "Brazil",
AbreviacionPais = "BR"
}
};
}
public static void CambiarTexto(Control.ControlCollection controls)
{
foreach (Control c in controls)
{
if(c is Panel)
{
CambiarTexto(c.Controls);
}
else
{
String text = Strings.ResourceManager.GetString(c.Name);
if (text != null)
{
c.Text = text;
}
}
}
}
}
para llenar un combobox sería así :
public void LlenarIdiomaCombobox()
{
comboBox1.DataSource = Idioma.ObtenerIdiomas();
comboBox1.DisplayMember = "Nombre";
comboBox1.ValueMember = "CultureInfo";
}
결과 :
기타 형식:
public void LlenarIdiomaCombobox()
{
comboBox1.DataSource = Idioma.ObtenerIdiomas();
comboBox1.DisplayMember = "NombrePais";
comboBox1.ValueMember = "CultureInfo";
}
결과:
Cargar los idiomas dinámicamente, el único requisito es que el nombre del control se debe llamar igual que la propiedad del archivo de recurso.
public void CargarIdioma()
{
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(Settings.Default.Idioma);
Idioma.CambiarTexto(this.Controls);
this.Text = Strings.titulo;
}
2- Instalar ResXManager
Herramientas 메뉴의 확장 프로그램을 설치하고 확장 프로그램과 cierras Visual Studio를 확장합니다.
presionas en modificar(수정) y luego en finalizar tarea(과제 종료).
luego vamos donde están los idiomas, clic derecho en uno de ellos y luego clic izquierdo para desplegar las opciones y luego lo abrimos con la extensión
luego puedes ver y editar todos los idiomas al mismo tiempo y agregar un nuevo 관용구
Reference
이 문제에 관하여(C#은 다국어 응용 프로그램을 생성합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/juandiegows/como-crear-aplicaciones-multilenguaje-con-c-539b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)