/** * This is the main method to build the master string tables with the original strings. * It will search for existent modules that use the i18n feature, parse the _t() calls * and write the resultant files in the lang folder of each module. * * @uses DataObject->collectI18nStatics() * * @param HTTPRequest $request */ public function run($request) { increase_time_limit_to(); $collector = i18nTextCollector::create($request->getVar('locale')); $merge = $this->getIsMerge($request); // Custom writer $writerName = $request->getVar('writer'); if ($writerName) { $writer = Injector::inst()->get($writerName); $collector->setWriter($writer); } // Get restrictions $restrictModules = $request->getVar('module') ? explode(',', $request->getVar('module')) : null; $collector->run($restrictModules, $merge); Debug::message(__CLASS__ . " completed!", false); }
public function testCollectFromEntityProvidersInCustomObject() { $c = new i18nTextCollector(); $filePath = $this->getCurrentAbsolutePath() . '/i18nTextCollectorTestMyObject.php'; $matches = $c->collectFromEntityProviders($filePath); $this->assertEquals(array_keys($matches), array('i18nTextCollectorTestMyObject.PLURALNAME', 'i18nTextCollectorTestMyObject.SINGULARNAME')); $this->assertEquals('My Object', $matches['i18nTextCollectorTestMyObject.SINGULARNAME'][0]); }