오늘은 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
'WEB_APP > Kurogo' 카테고리의 다른 글
Kurogo Tutorial 19 - The Kurogo Object - (0) | 2012.06.12 |
---|---|
Kurogo Tutorial 18 - Video Module - (0) | 2012.06.07 |
Kurogo Tutorial 17 - Calendar Module - (0) | 2012.06.01 |
Kurogo Tutorial 16 - Database Access - (0) | 2012.05.30 |
Kurogo Tutorial 14 - Handling Requests - (0) | 2012.05.23 |
Kurogo Tutorial 12 - Logging in Kurogo - (1) | 2012.05.21 |
Kurogo Tutorial 11 - News Module - (0) | 2012.05.17 |
Kurogo Tutorial 10 - Module 만들기 - (0) | 2012.05.13 |
Kurogo Tutorial 09 - MAP Module - (0) | 2012.05.12 |
Kurogo Tutorial 08 - Configuration- (1) | 2012.05.11 |