2009-12-03 1 views
0

독일어로 작성된 프로그램 (즉, tr ("...") 내의 모든 문자열은 독일어)에 대한 영어 번역을 작성하고 있습니다. 비 영어가 아닌 로켈에있는 사용자는 영어 번역본을보고 싶어하지만 현재 프로그램은 그대로 독일어를 볼 수 있습니다. 그것이 영어 독일어 로케일과 힘이 달리 있다면소스 코드가 아닙니다. 사용자에게 표시 할 (자연스러운) 언어는 무엇입니까?

  • 확인 :

    이 문제를 해결하기 위해 몇 가지 방법이 있습니다.

  • 사용자에게 옵션을 제시하십시오.
  • 프로그래머가 소스 코드를 영어로 변경하도록하십시오.

소스 코드가 영어가 아닌 곳을 국제화하는 데 가장 좋은 방법으로 간주되는 사항은 무엇입니까?

+0

이 질문을 정말로 이해하지 못합니다. 이 세 가지가 다른 옵션은 무엇입니까? 프로그래밍 방식으로 해결하거나 사용자에게 옵션을 제공 할 수 있습니까? 후자가 전자를 요구하지 않을까요? 그리고 소스 코드가 영어가 아닌 것은 무엇을 의미합니까? 소스 코드는 영어로 된 적이 없습니다. C 또는 Delphi 또는 Java 또는 그와 유사한 것입니다. 그들은 외국 문자열을 하드 코딩 했습니까? – Chuck

+0

사용 된 언어 (자연어)는 독일어가 아닌 영어입니다. – RCIX

+0

감사합니다 척. 좀 더 명확하게 편집했습니다. –

답변

0

나는 (설치 중에 아마) 사용자에게 묻는 것이 가장 좋습니다.

소스를 영어로 변경하는 것은 너무 비싸고 그만한 가치가 없습니다. 나는 브라질에 산다. 우리는 포르투갈어로 많은 수의 코드를 가지고 있으며, 한 번만 영어로 번역한다. (우리는 영어로 말하는 사람에게 소프트웨어를 제공한다.) 당신이 그렇게해야하는 고객이 없다면 (대개 소스를 판매 할 때).

희망 하시겠습니까?

2

다음은 두 가지 질문입니다.

가장 좋은 방법은 소스에 하드 코딩 된 문자열을 사용하지 않는 것입니다. 문자열을 외부 파일에 저장하고 ID로로드해야합니다.

하지만 당신이 가지고있는 것이 모범 사례처럼 들리지는 않습니다. 거기에 들어가기에는 너무 많은 일이있을 수 있습니다.

당신이 묘사 한 것 (tr ("..."))은 gettext (또는 이와 유사한 것)처럼 들립니다. gettext (및 유사한 라이브러리)에 대한 접근 방식은 "소스의 내용이 궁극적 인 후퇴"라는 것입니다. 원하는 언어의 문자열이없는 경우에 사용됩니다.

이 경우에는 "사용자에게 옵션을 제시하십시오"와 같이 갈 것입니다. 사용자가 영어를 알 수 있다고 가정 할 수 없습니다.

실제 예 : 스위스에서는 공식 언어가 이탈리아어, 독일어, 프랑스어 및로만 슈어입니다. 제가 불어를 구하고 그것이 존재하지 않는다면 다음 최선의 선택은 영어가 아닌 독일어 일 것입니다. I Canada 공식 언어는 프랑스어와 영어입니다. 따라서 제가 프랑스어로 사용 가능하지 않은 경우 다음 최선의 선택은 아마도 영어입니다.

0

확인, 그래서 나는 세 가지 옵션은 다음과 같다 : 번역 된 문자열과

재 컴파일 프로그램을.
원본의 복사본을 두 개 만들면 위험 할 수 있습니다. 하나의 버그 수정은 다른 하나에서 수행되어야합니다. 그리고 프랑스 인이 필요하다면 어떻게 될까요? 이탈리아 사람? 스페인 사람? 이 접근법의 유일한 장점은 비 개발자가 작업을 수행하는 것이 가능하다는 것입니다. (막 정도입니다.)

리소스를 사용하여 리소스를 추출하고 UI 로캘이로드 될 때 자동으로 확인합니다.
여기서 문자열은 GetResource("key") 또는 그와 비슷한 것으로 대체됩니다. 프로그램을로드하면 사용자의 문화로 자동 변환됩니다. 이것은 효과가 있을지 모르지만 나는 PC에 영어 문화가 설치되어 있지만 어느 시점에서는 독일어 프로그램을 선호하는 많은 독일어 사용자를 알고 있습니다.

자원 부하에 문자열 출력 및 사용자에게 기회를주고는 일반적으로
는 사용자 제어를 제공하는 것이 가장 좋습니다. 이것은 응용 프로그램이 자주 사용되는 경우 성가심 일 수 있지만로드시 프롬프트가 될 수 있습니다. 아마도 균형은 설치 중에 사용자에게 환경 설정을 요청한 다음 나중에이 설정을 변경하기 위해 대화 상자에 옵션을 제공하는 것입니다.

참고로, 번역은 현지화가 아닙니다. 예를 들어 숫자 형식은 독일 (예 : 1.233,44)과 영어 (예 : 1,233.44)가 상당히 다릅니다. 아이콘 등은 종종 국가 특성을 가지고 있습니다.

관련 문제