현재 사용자의 문화권으로 설정되지 않은 리소스 파일에서 값을 가져올 수 있습니까? 우리의 응용 프로그램은 문화 기반의 데이터 기반입니다.resx에서 수동으로 리소스 값을 검색 하시겠습니까?
문서는 프랑스어 문서이며 특정 레이블과 필드를 업데이트하고 새 데이터로 바꿀 필요가 있습니다.
자원 관리자는 기본값 .resx 대신 .resx를 사용하도록 지시 할 수 있습니까?
현재 사용자의 문화권으로 설정되지 않은 리소스 파일에서 값을 가져올 수 있습니까? 우리의 응용 프로그램은 문화 기반의 데이터 기반입니다.resx에서 수동으로 리소스 값을 검색 하시겠습니까?
문서는 프랑스어 문서이며 특정 레이블과 필드를 업데이트하고 새 데이터로 바꿀 필요가 있습니다.
자원 관리자는 기본값 .resx 대신 .resx를 사용하도록 지시 할 수 있습니까?
리소스 파일이 지원하려는 다른 언어로 조정되는 지역화를 통해 그렇게 할 수 있습니다. here에서 가져온 다음 링크를 통해 원하는 것을 얻을 수 있습니다.
".NET Localization, Part 1: Resource Managers - 아래 확인" ". 좋은 시작을
.NET Localization, Part 2: Creating Satellite Assemblies
.NET Localization, Part 3: Localizing Text
.NET Localization, Part 4: Localizing Units은"여러 언어에 대한 리소스를 생성
당신이 레이블 텍스트 typeto 언어를 설정할 수 있습니다 양식 중 하나를 선택하고 최종 사용자에게 보여주고 싶은 언어를 선택하면 해당 레이블 텍스트 IE가있는 언어와 비교됩니다. if 레이블 텍스트는 프랑스어
노트에 모든 컨트롤 이름을 표시 할 수 있습니다 다음 프랑스어 : 프랑스어에서 RESX 파일을 작성하고 같은 이름 값 무언가로 프랑스어에서 수동으로 모든 라벨과 버튼 컨트롤 이름을 다시 작성 후 그에만 작동 폼이로드
이private void applyResources(ComponentResourceManager resources, Control.ControlCollection controlCollection)
{
foreach (Control ctl in controlCollection)
{
resources.ApplyResources(ctl, ctl.Name);
applyResources(resources, ctl.Controls);
}
}
}
당신은 ResourceManager.GetString() 방법 및 있습니다 provi을 사용할 수있는 경우이 ..
Name value
----------- -------------
lblname.text frenchtype name
using System;
using System.IO;
using System.Linq;
using System.Data;
using System.Text;
using System.Diagnostics;
using System.Windows.Forms;
using System.Collections.Generic;
using System.ComponentModel;
public partial class Form1 : Form
{
public form1()
{
System.Threading.Thread.CurrentThread.CurrentUICulture = new
System.Globalization.CultureInfo("fr-FR");
getlanguagaefile();
InitializeComponent();
}
// blah
// blah
private void getlanguagaefile()
{
if (label1.Text == "French")
{
System.Threading.Thread.CurrentThread.CurrentUICulture = new
System.Globalization.CultureInfo("fr-FR");
ComponentResourceManager resources = new ComponentResourceManager(typeof(Wait));
resources.ApplyResources(this, "$this");
applyResources(resources, this.Controls);
}
}
모든 레이블 텍스트와 버튼 텍스트에 프랑스어 언어를 표시 할 수 있습니다 원하는 문화권을 매개 변수로 사용하십시오 :
var culture = CultureInfo.CreateSpecificCulture("fr-FR");
var localizedString = ResourceManager.GetString("labelName", culture);
미래의 독자를 위해,이 작업을하려면 자원을 기반으로 한'ResourceManager'의 새 인스턴스를 만들어야합니다. 'ResourceManager rm = new ResourceManager (typeof (YourProject.Properties.Resources))'와 같은 것에서 새로운 인스턴스에 대해'GetString'을 호출하십시오. – TheWanderingMind