public function createMessageFormat($source) { $messageFormat = new sfMessageFormat($source, sfConfig::get('sf_charset')); if (sfConfig::get('sf_debug') && sfConfig::get('sf_i18n_debug')) { $messageFormat->setUntranslatedPS(array(sfConfig::get('sf_i18n_untranslated_prefix'), sfConfig::get('sf_i18n_untranslated_suffix'))); } return $messageFormat; }
$source = sfMessageSource::factory('XLIFF', $temp); $source->setCulture('fr_FR'); $format = new sfMessageFormat($source); $t->is($format->format('New message'), 'New message', '->save() saves new messages'); // test new culture $source->setCulture('it'); $source->append('New message & <more> (it)'); $source->save(); $source = sfMessageSource::factory('XLIFF', $temp); $source->setCulture('it'); $format = new sfMessageFormat($source); $t->is($format->format('New message & <more> (it)'), 'New message & <more> (it)', '->save() saves new messages'); $source->setCulture('fr_FR'); // ->update() $t->diag('->update()'); $t->is($source->update('New message', 'Nouveau message', ''), true, '->update() returns true if the message has been updated'); $source = sfMessageSource::factory('XLIFF', $temp); $source->setCulture('fr_FR'); $format = new sfMessageFormat($source); $t->is($format->format('New message'), 'Nouveau message', '->update() updates a message translation'); // ->delete() $t->diag('->delete()'); $t->is($source->delete('Non existant message'), false, '->delete() returns false if the message has not been deleted'); $t->is($source->delete('New message'), true, '->delete() returns true if the message has been deleted'); $source = sfMessageSource::factory('XLIFF', $temp); $source->setCulture('fr_FR'); $format = new sfMessageFormat($source); $t->is($format->format('New message'), 'New message', '->delete() deletes a message'); // teardown sfToolkit::clearDirectory($temp); rmdir($temp);
/** * Constructor. * * @param sfMessageSource $source Source of translation messages * @param string $charset Charset for the message output [optional] * @return void */ public function __construct(sfIMessageSource $source, $charset = 'UTF-8') { $this->transcode = sfConfig::get('app_i18n_always_transcode_charset', false); $this->update = sfConfig::get('app_i18n_update_dictionaries', false); parent::__construct($source, $charset); }