| [ Index ] |
PHP Cross Reference of Limb3 |
[Summary view] [Print] [Text view]
1 <?php 2 /* 3 * Limb PHP Framework 4 * 5 * @link http://limb-project.com 6 * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com) 7 * @license LGPL http://www.gnu.org/copyleft/lesser.html 8 */ 9 lmb_require('limb/i18n/common.inc.php'); 10 lmb_require('limb/i18n/src/translation/lmbQtDictionaryBackend.class.php'); 11 lmb_require('limb/fs/src/lmbFs.class.php'); 12 13 class lmbI18NTranslationTest extends UnitTestCase 14 { 15 function setUp() 16 { 17 lmbFs :: mkdir(LIMB_VAR_DIR . '/translations'); 18 } 19 20 function tearDown() 21 { 22 lmbFs :: rm(LIMB_VAR_DIR . '/translations'); 23 } 24 25 function testTranslate() 26 { 27 $toolkit = lmbToolkit :: save(); 28 $back = new lmbQtDictionaryBackend(); 29 $back->setSearchPath($translations_dir = LIMB_VAR_DIR . '/translations'); 30 $toolkit->setDictionaryBackend($back); 31 32 $xml = <<< EOD 33 <?xml version="1.0"?> 34 <!DOCTYPE TS><TS> 35 <context> 36 <message> 37 <source>Hello</source> 38 <translation>Привет</translation> 39 </message> 40 </context> 41 </TS> 42 EOD; 43 file_put_contents($translations_dir . '/foo.ru_RU.ts', $xml); 44 45 $toolkit->setLocale('ru_RU'); 46 $this->assertEqual(lmb_i18n('Hello', 'foo'), 'Привет'); 47 48 lmbToolkit :: restore(); 49 } 50 51 function testTranslateDefaultContext() 52 { 53 $toolkit = lmbToolkit :: save(); 54 $back = new lmbQtDictionaryBackend(); 55 $back->setSearchPath($translations_dir = LIMB_VAR_DIR . '/translations'); 56 $toolkit->setDictionaryBackend($back); 57 58 $xml = <<< EOD 59 <?xml version="1.0"?> 60 <!DOCTYPE TS><TS> 61 <context> 62 <message> 63 <source>Hello</source> 64 <translation>Привет</translation> 65 </message> 66 </context> 67 </TS> 68 EOD; 69 file_put_contents($translations_dir . '/default.ru_RU.ts', $xml); 70 71 $toolkit->setLocale('ru_RU'); 72 $this->assertEqual(lmb_i18n('Hello'), 'Привет'); 73 74 lmbToolkit :: restore(); 75 } 76 77 function testTranslateSubstituteParameters() 78 { 79 $toolkit = lmbToolkit :: save(); 80 $back = new lmbQtDictionaryBackend(); 81 $back->setSearchPath($translations_dir = LIMB_VAR_DIR . '/translations'); 82 $toolkit->setDictionaryBackend($back); 83 84 $xml = <<< EOD 85 <?xml version="1.0"?> 86 <!DOCTYPE TS><TS> 87 <context> 88 <message> 89 <source>Hello {name}</source> 90 <translation>Привет {name}</translation> 91 </message> 92 </context> 93 </TS> 94 EOD; 95 file_put_contents($translations_dir . '/foo.ru_RU.ts', $xml); 96 97 $toolkit->setLocale('ru_RU'); 98 $this->assertEqual(lmb_i18n('Hello {name}', array('{name}' => 'Bob'), 'foo'), 'Привет Bob'); 99 100 lmbToolkit :: restore(); 101 } 102 103 function testTranslateSubstituteParametersDefaultContext() 104 { 105 $toolkit = lmbToolkit :: save(); 106 $back = new lmbQtDictionaryBackend(); 107 $back->setSearchPath($translations_dir = LIMB_VAR_DIR . '/translations'); 108 $toolkit->setDictionaryBackend($back); 109 110 $xml = <<< EOD 111 <?xml version="1.0"?> 112 <!DOCTYPE TS><TS> 113 <context> 114 <message> 115 <source>Hello {name}</source> 116 <translation>Привет {name}</translation> 117 </message> 118 </context> 119 </TS> 120 EOD; 121 file_put_contents($translations_dir . '/default.ru_RU.ts', $xml); 122 123 $toolkit->setLocale('ru_RU'); 124 $this->assertEqual(lmb_i18n('Hello {name}', array('{name}' => 'Bob')), 'Привет Bob'); 125 126 lmbToolkit :: restore(); 127 } 128 } 129 130 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Sat Nov 22 03:48:54 2008 | Cross-referenced by PHPXref 0.7 |