문제

제가 작성하고 있는 애플리케이션이 거의 완성되었으며, 다른 언어를 사용하는 사람들이 이를 사용했으면 합니다.

어디서부터 시작해야 할지 모르겠습니다. 프로그래밍과 관련하여 세계화와 문화의 차이점은 무엇입니까?

파일, 열기, 저장 등 대신 "이 응용 프로그램은 이런저런 일을 하도록 만들어졌습니다"와 같은 흔하지 않은 문구를 어떻게 스페인어로 바꿀 수 있을까요?

많은 감사드립니다 :-)

도움이 되었습니까?

해결책

Microsoft는 이미 매우 좋은 지도 시간

다른 팁

"세계화된" 애플리케이션을 갖기 위해서는 다양한 작업을 수행해야 합니다.

1) 애플리케이션의 양식 및 컨트롤에 있는 모든 라벨을 번역합니다.

모든 폼과 컨트롤에서 "Localized" 속성을 true로 설정해야 합니다.이 속성을 사용하면 각 언어 및 지역의 리소스 파일을 생성할 수 있습니다.이제 "언어" 속성을 사용하여 지원하려는 언어를 선택할 수 있습니다.콤보 상자 목록에서 언어를 선택하면 양식(또는 컨트롤)이 자동으로 이 언어로 전환됩니다.이제 컨트롤의 모든 단어를 번역하는 것이 귀하의 임무입니다.수정하는 즉시 Visual Studio는 특정 언어에 대한 리소스 파일을 만듭니다.(예: 프랑스-프랑스의 경우 MyForm.fr-FR.resx)

2) 코드의 모든 하드코딩된 문자열을 resx 파일로 가져옵니다.

리소스 파일을 만들고(개인적으로는 StringTable.resx를 사용합니다) 이 파일에 번역할 모든 문자열을 추가합니다.그런 다음 지원하려는 모든 언어에 대한 리소스 파일을 만들고 각 파일의 문자열을 번역합니다.예를 들어 프랑스어를 지원하려면 프랑스어-프랑스에 대해 StringTable.fr.resx 또는 StringTable.fr-FR.resx를 만듭니다.와 함께 자원관리자 클래스에서는 각 문자열을 로드할 수 있습니다.

메모: Visual Studio 2005 또는 2008을 사용하는 경우 기본적으로 리소스 파일이 이미 생성되어 있습니다.

3) 양식과 컨트롤을 현명하게 정교하게 만들어야 합니다.

Microsoft의 지침: 마이크로소프트 지침

4) 날짜와 숫자 다루기

애플리케이션이 다른 지역의 다른 사용자에게 보낼 수 있는 데이터 파일을 생성하는 경우 파일에 데이터를 저장할 때 이에 대해 고려해야 합니다.따라서 항상 날짜/시간을 UTC로 저장하고 정보를 로드할 때만 로컬로 변환을 수행하십시오.특히 텍스트에 저장된 경우 십진수에도 동일한 내용이 적용됩니다.


애플리케이션을 컴파일할 때 Visual Studion은 다음과 같은 위성 파일을 생성합니다. MyApplication.fr.dll 하위 폴더에 정말로.이 dll을 로드하려면 애플리케이션 시작 시 현재 스레드의 언어를 전환해야 합니다.

코드는 다음과 같습니다.

CultureInfo ci = new CultureInfo("fr");
Thread.CurrentThread.CurrentUICulture = ci;

귀하의 모든 질문에 대한 답변은 아래 책에서 확인하실 수 있습니다.초기 장에서는 모든 주요 개념과 용어, 그리고 i18n과 같은 고급 약어를 설명합니다.시간이 없어서 끝까지 읽지 못했어요..하지만 내가 읽을 때까지는 좋았다.올바른 방법으로 진지하게 하고 시간이 있다면 추천합니다 :)

http://www.amazon.com/NET-Internationalization-Developers-Applications-Development/dp/0321341384 Image

매우 간단한 시스템의 경우 GetSaveText() 등과 같은 메서드를 정의하는 인터페이스를 만듭니다.이와 같은 어셈블리를 애플리케이션에 연결할 수 있습니다.

이는 10-1000개의 문자열에 대해 매우 좋은 솔루션입니다.

각 로캘에 대한 리소스 파일이 있습니다.저는 .NET을 모르지만 이를 수행하는 몇 가지 일반적인 방법이 있다고 확신합니다.그런 다음 리소스 가져오기 코드에서 사용자의 브라우저 로캘 설정에 따라 적절한 코드를 로드합니다.일부 키에 대한 적절한 문자열을 가져오려면 이 코드를 요청하세요.

예제 파일 내용(처음부터 구현하려는 경우):

resources.en:

save=Save
close=Close
ok=OK
areYouSure=Are you sure?

리소스.es:

save=I don't know how to say anything in Spanish, oops
close=...
ok=...
areYouSure=...
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top