반응형
블로그 이미지
개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들을 접할 기회가 많이 있습니다. 미국의 IT 프로젝트에서 사용되는 툴들에 대해 많은 분들과 정보를 공유하고 싶습니다.
솔웅

최근에 받은 트랙백

글 보관함

Kurogo Tutorial 13 - Localization -

2012. 5. 22. 07:11 | Posted by 솔웅


오늘은 Kurogo의 Localization을 살펴 봅니다.

이 미들웨어의 이름은 일본어 이지만 한국인들이 중심이 되어 만들어서 그런지 예제를 들 때 한국어를 많이 사용했네요.


===============================


Localization

Kurogo에는 서로 다른 언어와 지역에 대해 지원하는 기능이 있습니다. 여기에는 고정된 화면 출력 값과 에러 메세지 그리고 다른 text string들이 포함 됩니다. 현재 쿠로고는 US English translation만 지원됩니다. 그렇지만 여러분들은 여러분들 만의 translation을 생성할 수 있습니다. 여러분 사이트에 추가할 수도 있고 다음 Kurogo 버전에 반영되도록 submit 하실 수도 있습니다.

Configuration of Languages

site는 여러 언어들을 사용할 수 있도록 configure 되게 할 수 있습니다. 우선순위가 높은 언어를 사용하도록 하려면 Kurogo는 string table을 순서대로 search 하고 첫번째 것을 return 하기 때문에 그에 맞도록 string table을 세팅하시면 됩니다.

언어의 순서는 SITE_DIR/config/site.ini의 [site settings] section에 세팅하시면 됩니다. 간단하게 LANGUAGES[] 값들은 우선순위대로 생성하세요. Kurogo는 ISO 국가 지역코드를 사용합니다. Kurogo에서 지원되는 언어코드들을 보시려면 여기로 가세요.


Code Language Name Native Name
af_ZA Afrikaans Afrikaans
am_ET Amheric አማርኛ
be_BY Belarusian Беларуская
bg_BG Bulgarian български език
ca_ES Catalan Català
cs_CZ Czech čeština
da_DK Danie Dansk
de_AT German (Austria) Deutsch (Österreich)
de_CH German (Swiss) Deutsch (Schweiz)
de_DE German Deutsch (Deutschland)
el_GR Greek Ελληνικά
en_AU English (Australia) English (Australia)
en_CA English (Canada) English (Canada)
en_GB English (United Kingdom) English (United Kingdom)
en_IE English (Ireland) English (Ireland)
en_NZ English (New Zealand) English (New Zealand)
en_US English (United States) English (United States)
es_ES Spanish Español
et_EE Estonian Eesti
eu_ES Basque Euskara
fi_FI Finnish Suomi
fr_BE French (Belgium) Français (Belgique)
fr_CA French (Canada) Français (Canada)
fr_CH Frensh (Swiss) Français (Suisse)
fr_FR French Français (France)
he_IL Hebrew עברית
hr_HR Croatian Hrvatski
hu_HU Hungarian Magyar
hy_AM Armenian Հայերեն
is_IS Icelandic Íslenska
it_CH Italian (Swiss) Italiano (Svizzera)
it_IT Italian Italiano (Italia)
ja_JP Japanese 日本語
kk_KZ Kazakh Қазақ тілі
ko_KR Korean 한국어
lt_LT Lithuanian Lietuvių
nl_BE Dutch (Belgium) Vlaams
nl_NL Dutch (Netherlands) Nederlands
no_NO Norwegian Norsk
pl_PL Polish Polski
pt_BR Portuguese (Brazil) Português (Brasil)
pt_PT Portuguese Português
ro_RO Romanian Română
ru_RU Russian Pусский
sk_SK Slovak Slovenčina
sl_SI Slovene Slovenščina
sr_YU Serbian Cрпски
sv_SE Swedish Svenska
tr_TR Turkish Türkçe
uk_UA Ukrainian Yкраїнська
zh_CN Chinese (Simplified) 简体中文
zh_TW Chinese (Traditional) 繁體中文



예제)

LANGUAGES[] = "es_ES"
LANGUAGES[] = "ko_KR"
LANGUAGES[] = "en_US"


스페인어 다음에 한국어 그리고 영어가 세팅돼 있습니다. US English 는 이렇게 표기하지 않아도 자동으로 맨 마지막에 포함되도록 돼 있습니다. 이렇게 표기해도 되구요. 언어의 순서는 서버에 알려주는 겁니다. 그러니까 여러분이 두개의 서버를 가지고 있고 그 서버는 각각 다른 언어를 주요 언어로 사용한다면 Kurogo에서도 MultiSite를 사용해서 서버별로 다르게 language 세팅을 하실 수 있습니다. 그러면 유저에게는 선호하는 언어를 사용하는 서버로 가도록 링크를 걸어서 서비스를 제공할 수도 있겠죠.

Note : 만약에 admin 콘솔을 사용하신다면 오직 primary language만 세팅하실 수 있습니다. 어드민 콘솔은 multiple language를 지원하지 않습니다.

Using String Tables

Kurogo core와 각 모듈들에 모두 string table들이 있습니다 . 각 파일은 strings 폴더에 위치해 있고 language/locality 를 사용한 이름이 주어집니다. Kurogo는 string 테이블에 이 리스트를 merge 해서 프로젝트 내에서 언제든지 override 할 수 있도록 합니다.

Locations include (examples given for US English String tables)

app/common/strings/en_US.ini
app/modules/home/strings/en_US.ini
app/modules/news/stirngs/en_US.ini
SITE_DIR/app/common/strings/en_US.ini (if you want to override Kurogo string values)
SITE_DIR/app/modules/home/strings/en_US.ini (if you want to override the home module string values)
SITE_DIR/app/modules/news/strings/en_US.ini (if you want to override the news module string values)

다른 모든 Kurogo customization 들 처럼 여러분의 site 폴더 안에 파일을 생성하고 수정하실 것을 권장드립니다. 그래야지 나중에 Kurogo 상위버전 업데이트시 수월하게 하실 수 있습니다.

만약에 스페인어 버전을 사용하시고 싶으시면 아래와 같이 파일을 만드시면 됩니다.

SITE_DIR/app/common/strings/es_ES.ini
SITE_DIR/app/modules/home/strings/es_ES.ini
SITE_DIR/app/modules/news/strings/es_ES.ini

Values

각 string 테이블은 key와 values 쌍으로 .ini 파일 안에 들어가 있습니다. 이 string 을 업데이트하시려면 간단히 이 value를 수정하시면 됩니다. 여러분 파일에 모든 key 가 포함돼 있을 필요는 없습니다. 필요한 만큼의 key 만 작성하시면 됩니다.

key들의 이름은 어디에서 사용되는지 찾기 쉽도록 naming 돼 있습니다.

Format Specifiers

어떤 value들은 변수 값을 사용해서 구성 되도록 되어 있습니다. 왜냐하면 각 언어들의 문법이 다르기 때문입니다. 이런 경우 미리 사용할 placeholder가 정의 돼 있을 필요가 있습니다.  아래 예제가 있습니다.

SEARCH_MODULE="Search %s" ; english
SEARCH_MODULE="%s 검색" ; korean


%s 는 module name으로 replace 될 겁니다.

Site Values

여러분 site에서 사용되는 많은 value들은 standard configuration value들 입니다. 또한 여러분 site의 일 부분이기도 하죠. 이것은 다음과 같은 것을 포함하고 있습니다.

* Site name and organization
* Names of modules and page titles
* Home screen icons
* About text
* Feeds (you may wish to choose feeds that contain content in the appropriate language)

좀 더 자세한 사항은 해당 모듈이나 configuration documentation을 보시기 바랍니다.

Summary



1. String key in template or module
2. Kurogo chooses the appropriate string table
3. If there is a value, it replaces any %s
4. Display string


반응형

Comment