2008”N02ŒŽ26“ú

CakePHP1.2‚ÌŠÈ’P‘Û‰»

CakePHP1.2‚Ìbake‚ÅŽ©“®ï¿½ï¿½ï¿½ï¿½‚µ‚½‰æ–ʂ́A‰æ–Ê‚É•\Ž¦‚³‚ê‚é•ï¿½ï¿½Žš—ñ‚ª__('•ï¿½ï¿½Žš—ñ') ‚ň͂܂ê‚��‚Ü‚·B‚�}‚ê‚́AŠÈ’P‚É‘½Œ¾Œê–|–󂪂ł«‚é‚悤‚É”z—��‚³‚ê‚��‚é‚©‚ç‚Å‚·B

‚�}‚�}‚ð–³—‚â‚è“ú–{Œê‚ɏ‘‚«Š·‚¦‚Ä‚à“ú–{Œê‰»‚Í‚Å‚«‚Ü‚·‚ªA‚¹‚Á‚©‚­‚Ȃ̂ŁAÅ‰‚©‚獑Û‰»‚ð‚É‚ç‚ñ‚ŁApoƒtƒ@ƒCƒ‹‚ðï¿½ï¿½ï¿½ï¿½A•ÒW‚µ‚Ä“ú–{Œê‰»‚ði‚ß‚Ä‚à‚æ‚��‚̂ł͂Ȃ��‚©A‚ÆŽv‚��‚Ü‚·B

CakePHP1.2‚Ígettext‚ðŽg—p‚µ‚½–|–ó‚Ɨ��‚ê‚Í“¯‚��‚Å‚·B
http://ja.wikipedia.org/wiki/Gettext

i‚PjƒAƒvƒŠ‚ÅŽg—p‚·‚é•ï¿½ï¿½ŽšƒŠƒ\[ƒXiƒƒbƒZ[ƒW—ށj‚́A__('')‚ň͂Þ

@‚�}‚¤‚µ‚�N‚­‚ƁAŽ©“®“I‚É–|–óƒtƒ@ƒCƒ‹‚ðì‚Á‚Ä‚­‚ê‚é‚̂ł�}‚̃‹[ƒ‹‚ÍŽç‚è‚Ü‚µ‚傤B‚¿‚Ȃ݂ɁA’†‚̃ƒbƒZ[ƒW‚͉pŒê‚ōì‚è‘�}‚¯‚é‚Ì‚ª‚æ‚��‚ÆŽv‚��‚Ü‚·B

@*’Ç‹L* ’l‚ð‘ã“ü‚·‚é‚悤‚ȏꍇ‚ɂ́A
$message = __('Message test!', true);
echo __('testtest', true);
‚È‚Ç‚Æ‚Å‚«‚Ü‚·B@

i‚Qjconsole‚©‚çA–|–󃊃\[ƒXƒtƒ@ƒCƒ‹‚ðìï¿½ï¿½

consoleƒtƒHƒ‹ƒ_‚ɍ~‚è‚āA
> cake i18n
‚ðŽÀs‚µ‚Ü‚·B

Welcome to CakePHP v1.2.0.6311 beta Console
---------------------------------------------------------------
What is the full path you would like to extract?
Example: C:\Program Files\xampp\htdocs\cake12\myapp
[Q]uit
[Q] >

‚Æ•\Ž¦‚³‚ê‚é‚̂ŁAŽ©•ª‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚̃pƒX‚ðŽw’肵‚Ü‚µ‚傤B

[Q] > C:\Program Files\xampp\htdocs\ƒAƒvƒŠƒtƒHƒ‹ƒ_
What is the full path you would like to output?
Example: C:\Program Files\xampp\htdocs\ƒAƒvƒŠƒtƒHƒ‹ƒ_\locale
[Q]uit
[C:\Program Files\xampp\htdocs\ƒAƒvƒŠƒtƒHƒ‹ƒ_\locale] >
I18n Shell
---------------------------------------------------------------
[E]xtract POT file from sources
[I]nitialize i18n database table
[H]elp
[Q]uit
What would you like to do? (E/I/H/Q)
>

‚�}‚�}‚ŁAE‚ð‘I‘ð‚·‚é‚ƁACake‚ªŽ©•ª‚ŃvƒƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚𒲂�~‚Ü‚í‚Á‚āA–|–󃊃Xƒgˆê——‚ðìï¿½ï¿½‚µ‚Ü‚·BlocaleƒtƒHƒ‹ƒ_‚Ì’†‚É‚ ‚éAdefault.pot ƒtƒ@ƒCƒ‹‚̓eƒLƒXƒgƒtƒ@ƒCƒ‹‚Ȃ̂ŁA“K“–‚É’†g‚ðŒ©‚Ä‚Ý‚Ü‚µ‚傤B•ï¿½ï¿½Í‚ŏ‘‚­‚Æ–Ê“|‚»‚¤‚Å‚·‚ªAˆÄŠOA’Z‚��ŽžŠÔ‚Å‚Å‚«‚ ‚ª‚Á‚Ä‚µ‚܂��‚Ü‚·B

i‚Rj“ú–{ŒêƒŠƒ\[ƒXƒtƒHƒ‹ƒ_‚̍ìï¿½ï¿½

\locale\jpn\LC_MESSAGES ‚Ƃ��‚¤ƒtƒHƒ‹ƒ_‚ðìï¿½ï¿½‚µAi‚Qj‚��ï¿½ï¿½‚³‚ꂽƒtƒ@ƒCƒ‹‚ðA"default.po"‚Ƃ��‚¤–¼‘O‚É‚µ‚ăRƒs[‚µ‚Ü‚·B

i‚Sj–|–ó

Windowsã‚Å‚ ‚ê‚΁Apoedit‚ª—ǂ��‚̂ł͂Ȃ��‚©A‚ÆŽv‚��‚Ü‚·B

Poedit is cross-platform gettext catalogs (.po files) editor.
http://www.poedit.net/

–|–󃁃‚ƒŠ‚à‚‚��‚½A‚©‚µ‚�}‚��H–|–󃊃\[ƒXê—pƒGƒfƒBƒ^‚Å‚·B[ƒJƒ^ƒƒO]Ë[Ý’è]‚©‚çA‚�}‚Ì–|–óƒtƒ@ƒCƒ‹‚ÉŠÖ‚·‚éî•ñ‚ð’ljÁ‚Å‚«‚Ü‚·‚ªA‚»‚̍ہAm•¡”Œ`Fn‚Ƃ��‚¤‚Ƃ�}‚ë‚ðA
nplurals=1; plural=0;
‚Æ‚µ‚�N‚«‚Ü‚µ‚傤B
‚ ‚Ƃ́AƒŠƒ\[ƒX‚ð“K“–‚ɖ󂵂Ă݂܂·B

i‚Tjƒuƒ‰ƒEƒU‚ÅŠm”FB

“K“–‚ɖ󂵂½‚Ƃ�}‚ë‚ŁApoƒtƒ@ƒCƒ‹‚ðã‘‚«•Û‘��‚µ‚Ü‚·B‚Å‚«‚½‚Ƃ�}‚ë‚ŁAŽ©•ª‚ÌCakePHPƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð“®‚©‚µ‚Ä‚Ý‚Ü‚µ‚傤BŸŽè‚É“ú–{Œê‰»‚³‚ê‚��‚Ü‚·B‚�}‚ê‚́AHTTP_ACCEPT_LANGUAGE‚Ì’l‚ðŒ©‚ÄAŽ©“®‚Ő؂è‘Ö‚¦‚��‚é‚©‚ç‚Å‚·B

‚��‚á‚ A‚�}‚̐ݒè‚ðŽ©•ª‚ÅŒˆ‚ß‚½‚��ê‡‚É‚Í‚Ç‚¤‚·‚é‚©A‚Ƃ��‚¤‚ƁA‚ǂ�}‚©‚Ì beforeFilter() ‚ȂǂɁA

Configure::write('Config.language',"en");

‚Ə‘‚��‚�N‚­‚ƁA‹­ï¿½ï¿½“I‚ÉŒ¾Œê‚ðŽw’è‚Å‚«‚Ü‚·B

‚¿‚Ȃ݂ɁAV‚µ‚��•ï¿½ï¿½Žš—ñ‚ðƒy[ƒW‚ɒljÁ‚µ‚½ê‡‚ɂ́A(2)‚ð‚à‚¤ˆê“xŽÀs‚·‚é‚ƁAÅV‚Ìpotƒtƒ@ƒCƒ‹‚ªì‚ç‚ê‚Ü‚·B‚»‚ê‚©‚çApoedit‚́mƒJƒ^ƒƒOnËmPOTƒtƒ@ƒCƒ‹‚ðŒ³‚ÉXV‚µ‚Ü‚·n‚ð‘I‘ð‚µAV‚µ‚­‚Å‚«‚½gpotƒtƒ@ƒCƒ‹h‚ðŽw’è‚·‚é‚ƁAV‚µ‚­‰Á‚í‚Á‚½•ï¿½ï¿½Žš—ñ‚ðŽ©“®“I‚ɁA¡‚ ‚époƒtƒ@ƒCƒ‹‚ÉŽæ‚荞‚ñ‚Å‚­‚ê‚Ü‚·B

¦‘Û‰»•ï¿½ï¿½Žš—ñ‚ðDB‚ɕۑ��‚µ‚½‚��A‚Ƃ��‚¤ê‡‚ɂ́A
pm11op ‚̃uƒƒO
cake_1.2 pre-beta ‚Å‚Ì‘½Œ¾Œê‘Ήž‚̃ƒ‚
‚Æ‚©A
GoogleGroup
i18n translation in db tables - how to do this like Symfony?
‚È‚Ç‚ª—ǂ��‚̂ł͂Ȃ��‚©A‚ÆŽv‚��‚Ü‚·B

‚�}‚Ì‚ ‚½‚èA1.2‚©‚ç‚Í–{Ši“I‚ȍ‘Û‰»ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªì‚è‚â‚·‚­‚È‚Á‚��‚é‚ÆŽv‚��‚Ü‚·BŒ»óAkelos‚́Au‚Ü‚ŸPHP‚¾‚©‚ç”z—ñƒx[ƒX‚Ì–|–óƒtƒ@ƒCƒ‹‚ł��‚��‚©v‚Ƒ˦‚µ‚��‚éiHj‚ñ‚Å‚·‚ªACake‚́Apoƒtƒ@ƒCƒ‹‚Å‚Ì–|–󃊃\[ƒX‚É‚È‚Á‚��‚é‚̂ŁAŠeŽí‚ÌŠO•”ƒc[ƒ‹‚ðŽg‚Á‚½‚èA‹t‚ÉPHPˆÈŠO‚̃vƒƒWƒFƒNƒg‚©‚ç‚ÌŒ¾Œêƒf[ƒ^ƒtƒ@ƒCƒ‹‚̗��—p‚ª‚µ‚â‚·‚­‚È‚Á‚��‚é‚̂ł͂Ȃ��‚Å‚µ‚傤‚©B
ƒ‰ƒxƒ‹Fi18n cakephp
posted by SDozono at 21:01| “Œ‹ž ☁| Comment(1) | TrackBack(6) | CakePHP Tips | ‚}‚̃uƒƒO‚Ì“ÇŽÒ‚É‚È‚é | XVî•ñ‚ðƒ`ƒFƒbƒN‚·‚é
‚�}‚Ì‹LŽ–‚ւ̃Rƒƒ“ƒg
Notice: Undefined offset: 0 in D:\public_html\info_base\cake\console\libs\tasks\
extract.php on line 129

Notice: Undefined offset: 0 in D:\public_html\info_base\cake\console\libs\tasks\
extract.php on line 131

‚�}‚¯‚½`@orz
Posted by ƒ‰ƒŠƒAƒX at 2011”N04ŒŽ12“ú 12:53
ƒRƒƒ“ƒg‚ð‘‚­
‚�N–¼‘O: [•K{“ü—Í]

ƒ[ƒ‹ƒAƒhƒŒƒX:

ƒz[ƒ€ƒy[ƒWƒAƒhƒŒƒX:

ƒRƒƒ“ƒg: [•K{“ü—Í]

”FØƒR[ƒh: [•K{“ü—Í]


¦‰æ‘œ‚Ì’†‚̕��Žš‚𔼊p‚Å“ü—Í‚µ‚Ä‚­‚¾‚³‚��B

‚�}‚Ì‹LŽ–‚ւ̃gƒ‰ƒbƒNƒoƒbƒN

[CakePHP]1.2Œn‚Ì‘½Œ¾Œê‘Ήžƒƒ‚(1)
Excerpt: CakePHP‚Ì1.2Œn‚©‚瑽Œ¾Œê‹@”\‚ª[ŽÀ‚µ‚��‚Ü‚·B ‘½Œ¾Œê‘Ήž‚Ì•û–@‚Æ‚µ‚ẮA–|–óƒeƒLƒXƒg‚ðŽg‚¤•û–@igettext‚ð—˜—p‚·‚éê‡‚Æ“¯“™‚Ì•û–@j‚ÆDB‚ðŽg‚¤•û–@‚Ì2Ží—Þ‚ª‚ ‚è‚Ü‚·‚ªA¡‰ñ‚̘b‚Í..
Weblog: Writing Some Code
Tracked: 2008-02-28 00:57

‘½Œ¾Œê‘Ήž!!
Excerpt: CakePHP‚ɂ‚��‚��‚ë‚��‚ë‚ ‚³‚Á‚��‚½‚çCtranslation‚Ƃ��‚¤Œ¾—t‚ªD Œ¤‹†Žº‚ÅŠJ”­‚µ‚��‚éƒVƒXƒeƒ€‚ª‘½Œ¾Œê‘Ήž‚·‚é•K—v‚ª‚ ‚é‚̂ʼnߕq‚É”½‰žD ...
Weblog: •½–}‚È“úX‚̂ЂƂ育‚Æ
Tracked: 2008-09-08 23:50

CakePHP‚ō‘Û‰»‘Ήž‚·‚é‚Æ‚«‚ÍŒŸõƒGƒ“ƒWƒ“‚̃Nƒ[ƒ‰‚É‹C‚ð•t‚¯‚é
Excerpt: Cake‚Å‚Ígettext‚ð—˜—p‚µ‚Ä‘½Œ¾Œê‰»i‘Û‰»‘Ήžj‚ªŠÈ’P‚É‚Å‚«‚éŽdŠ|‚¯‚ª...
Weblog: blog.katsuma.tv
Tracked: 2008-12-18 01:40

CakePHP1.2‚ðŽg‚Á‚½‘½Œ¾ŒêƒTƒ|[ƒg‘ΉžŽž‚ÌŠo‘‚«
Excerpt: CakePHP 1.2‚ðŽg‚Á‚½‘Û‰»‚ðŽÀ‘•‚·‚éÛ‚É’²‚�~‚Ä–ð‚ɗ��‚Á‚½ƒTƒCƒg‚ðiŽå‚ÉŽ©•ª‚Ì‚½‚߂Ɂj“Z‚߂Ă�N‚«‚Ü‚·B ‚Pj‚��‚‚àAl’m‚ꂸ‚�Nï¿½ï¿½˜b‚É‚È‚Á‚��‚éƒTƒCƒguCakePHP‚̂�N‚��‚µ‚��H‚�~•ûv‚É‚Æ‚Ä‚à•ª..
Weblog: –³ŒÀ‚È‚éŠJ”­ƒuƒƒO
Tracked: 2011-01-03 14:59

CakePHP1.2‚ðŽg‚Á‚½‘½Œ¾ŒêƒTƒ|[ƒg‘ΉžŽž‚ÌŠo‘‚«
Excerpt: CakePHP 1.2‚ðŽg‚Á‚½‘Û‰»‚ðŽÀ‘•‚·‚éÛ‚É’²‚�~‚Ä–ð‚ɗ��‚Á‚½ƒTƒCƒg‚ðiŽå‚ÉŽ©•ª‚Ì‚½‚߂Ɂj“Z‚߂Ă�N‚«‚Ü‚·B ‚Pj‚��‚‚àAl’m‚ꂸ‚�Nï¿½ï¿½˜b‚É‚È‚Á‚��‚éƒTƒCƒguCakePHP‚̂�N‚��‚µ‚��H‚�~•ûv‚É‚Æ‚Ä‚à•ª..
Weblog: –³ŒÀ‚È‚éŠJ”­ƒuƒƒO
Tracked: 2011-03-05 10:32

CakePHP1.2‚ðŽg‚Á‚½‘½Œ¾ŒêƒTƒ|[ƒg‘ΉžŽž‚ÌŠo‘‚«
Excerpt: CakePHP 1.2‚ðŽg‚Á‚½‘Û‰»‚ðŽÀ‘•‚·‚éÛ‚É’²‚�~‚Ä–ð‚ɗ��‚Á‚½ƒTƒCƒg‚ðiŽå‚ÉŽ©•ª‚Ì‚½‚߂Ɂj“Z‚߂Ă�N‚«‚Ü‚·B ‚Pj‚��‚‚àAl’m‚ꂸ‚�Nï¿½ï¿½˜b‚É‚È‚Á‚��‚éƒTƒCƒguCakePHP‚̂�N‚��‚µ‚��H‚�~•ûv‚É‚Æ‚Ä‚à•ª..
Weblog: –³ŒÀ‚È‚éŠJ”­ƒuƒƒO
Tracked: 2011-03-08 12:41
Žèiƒp[jTo make a comment: Please type your name and comment. at the validation field box, type 'cakephp'. And there two glay buttons. "Preview"/"Submit". Thank you!
�~

‚�}‚̍L‚Í90“úˆÈãV‚µ‚��‹LŽ–‚Ì“Še‚ª‚Ȃ��ƒuƒƒO‚É•\Ž¦‚³‚ê‚�N‚è‚Ü‚·B