0

두 가지 언어로 티타늄으로 앱을 개발 중입니다. 내 sqlite 데이터베이스에서 필드를 번역하는 방법에 대한 조언을 찾고 있어요. 나는 그것을 더 잘하고 싶다. 언어 (desc_en/desc_es)에 대해 테이블에 두 개의 필드를 만드는 것이 합리적입니까? 그런 다음 언어 (Ti.Platform.Local)를 기반으로 필드를 호출 하시겠습니까?앱 티타늄의 현지화 sqlite 파일

팁, 자습서? 많은 감사

답변

0

을 오히려 동적으로 사용자의 언어를 기반으로 열을 변경하는 대신, 각 관련 테이블의 [언어] 열을 포함 할 수있다 :

    PRODUCTS 
       productid 
       languageid 
       productname 

       composite primary key (productid, languageid) 


       1 | english | widget      
       1 | russian | виджет 
훨씬 쉽게 새로운 언어를 지원하기 위해 만들 것

- 필요 없음 테이블 스키마를 변경합니다.

+0

용서 해주세요. 조금 혼란 스럽습니다. 조인을 만들 수있는 '언어'테이블을 만들어야합니까? 이제 테이블이 있습니다 'PRODUCTS p_id | p_name | p_desc_en | p_desc_es' 변경된 내용이므로 'PRODUCTS p_id | p_name LAUNGUAGE l_id | l_name | p_id | p_desc' 저는 SLQ에 초보자입니다. – carlo

+0

LANGUAGES 테이블은 절대적으로 필요한 것은 아닙니다. 당신이 언어 적으로 알기 쉽게 만든 경우. '영어'또는 의미가 명백한 표준 약어 일 경우 값을 "설명"하기 위해 반드시 LANGUAGES 테이블이 필요하지는 않습니다. 언어 특정 데이터를 검색해야 할 때마다'and languageid = 'xx''를 where 절에 추가하면됩니다. – Tim

+0

Ok, 나는 이해할 것 같아서 언어마다 각 행마다 제품을 갖게 될 것입니다. 하지만 번역되지 않은 입력란이 중복되는 방식으로 이해합니다. 언어의 변수를 넣을 where 절에서 이점이 있습니다. – carlo