2011-09-16 3 views
5

내가 다른 사람으로부터 전달 된 데이터를 기반으로 동적으로 형성된다는 문장이 있다고 가정합니다. 음식 목록 (예 : ["apples", "pears", "oranges"] 또는 ["bread", "meat"])이라고 가정 해 보겠습니다. 저는 "사과, 배, 오렌지를 먹고 싶다", "나는 빵과 고기를 먹는 것을 좋아합니다."라는 문장을 만들어 문장을 만들고 싶습니다.동적 연결 기호로 문장을 어떻게 현지화 할 수 있습니까?

영어로만하기는 쉽지만 실제로 접속사가 모든 언어에서 동일한 방식으로 작동하지 않는다고 확신합니다. 사실 그 중 일부는 매우 다릅니다. 어떤 방식 으로든 합쳐진 동적 인 항목으로 문장을 어떻게 현지화합니까?

도움이된다면 Android 용으로 작업 중이므로 제공하는 라이브러리 (또는 Java 용 라이브러리)를 사용할 수 있습니다.

+0

내가 당신이 원하는 것을 정확하게 이해 확실하지 않다, 그런 작업은 그렇게 쉬운 일이 아닙니다 - 심지어 영어. 좀보고 - 당신은 할 수 있습니다 [Attempto 영어 제어 (http://en.wikipedia.org/wiki/Attempto_Controlled_English). 시 있니 aussi 그 의미 적 문장 (즉, 그리고 그것은 훨씬 더 어려움의 – MarcoS

답변

0

물론 문제는 다른 언어를 알고 있습니다. 타겟 언어에 대한 원어민 강사를 찾지 않고도 정확히 어떻게 할 수 있을지 모르겠습니다. Google 번역은 옵션이지만 아직 교정을 진행 한 언어를 말하는 사람이 있어야합니다.

Android는 Plurals 문자열 리소스에이 기본 기능을 제공합니다. {zero, one, two, few, many, other}

그들의 예 :

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <plurals name="numberOfSongsAvailable"> 
     <item quantity="one">One song found.</item> 
     <item quantity="other">%d songs found.</item> 
    </plurals> 
</resources> 

그래서 것 같다 이들 문서는 (res/values-pl/strings.xml에 위치) 다른 언어

유효 수량으로 영어 (res/valules/strings.xml)의 예 등을 제공합니다 그들의 접근 방식은 개별 단어 및 복수형보다 긴 문장 단편을 사용하는 것입니다.

1

나는 타겟 언어로 원어민에게 질문 할 것입니다. 모든 언어가 동일한 구문 (마지막 요소를 제외한 모든 요소 사이에 쉼표)을 사용하는 경우 간단히 쉼표로 구분 된 n - 1 요소 목록을 작성하고 외부화 된 패턴을 사용하고 java.util.MessageFormat을 사용하여 전체 문장을 작성하십시오. n - 1 요소 문자열을 첫 번째 인수로, n 번째 요소를 두 번째 인수로 사용합니다. 필요한 경우 분리 기호 (영어로 쉼표)를 외부화하여보다 유연하게 만들 수도 있습니다.

일부 언어가 다른 구문을 사용하는 경우 몇 가지 전략 구현을 정의하고 전략의 이름을 외부화하여 주어진 로케일에 사용할 전략을 알아 낸 다음 적합한 전략을 통해 목록의 형식을 지정하십시오. 영어 전략은 위에서 설명한 알고리즘을 사용합니다. 다른 언어에 대한 전략은 요소를 함께 결합하는 다른 방법을 사용하지만, 언어가 동일한 구조이지만 다른 단어를 사용하는 경우 외부화 된 패턴을 사용하여 여러 언어에 재사용 할 수 있습니다.

대부분의 프로그램이 그렇게하는 것이 어렵 기 때문에 좋아하는 것 목록 : 빵, 고기.

0

매우 어렵습니다. 예를 들어 프랑스어를 사용하면 각 명사 앞에 기사가 사용됩니다. 귀하의 예는 다음과 같습니다

J'aime 구유 POMMES, poires 등 오렌지.

또는 더 나은 :

나는 사과, 배,오렌지을 좋아합니다.

은 (말 그대로 : 나는 사과, 배, 오렌지를 좋아한다).

은 그래서 더 추적 접속사의 문제가 없습니다. 그것은 접속사를 넘어 다른 문법 규칙의 문제이다. 도없이 다른 언어는 완전히 다른 문제를 제기 할 수 있다고합니다.

+0

그리고 심지어 더 재미 빵과 고기가된다. 내가 빵을 좋아한다, "나는 고기와 책을 먹는 것을 좋아"예방 괜찮 확인하려면 ** ** **와 ** 고기. –

0

이 거의 불행하게도 수행하지 않는 것입니다. 그 때문에, 다른 하나 명 성별 DEPENDING 일측과 다른 형태의 결합이다. 영어는 다른 언어가 할 많은 그 구별의 목표를 (대부분?)-가 없습니다. 문제가 더 악화하려면 동사의 형태는 다음과 같은 명사 (성별에 따라 형태와 결합 모두)에 달려 있습니다. 대신 이러한 좋은 문장의

, 우리는 예를 들어, 일의 목록을 사용하는 경향이 :

내가 먹고 싶은 것들의 목록 :

오렌지
사과

나는이 (변수, 편집 목록을) 할 수있는 유일한 합리적인 일이 두렵다. 당신의 목표는 사용자가 통제 어휘를 사용하여 일부 언어에서 문법적으로 올바른 문장을 구축 할 수 있도록하기위한 것입니다 경우

관련 문제