MissingTranslationEventHandler.php
1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
class MissingTranslationEventHandler
{
/**
* @param CMissingTranslationEvent $event
* @return void
*/
public function missingTranslation($event)
{
$model = SourceMessage::model()->find(
'category = :category and message COLLATE utf8_bin like :message COLLATE utf8_bin', //case sensitive like
array(
':category' => $event->category,
':message' => $event->message,
));
if ($model === null) {
$model = new SourceMessage();
$model->category = $event->category;
$model->message = $event->message;
$model->save();
// migration from old message source
// /**
// * @var CPhpMessageSource $oldOne
// */
// $oldOne = Yii::app()->oldOne;
// foreach (Yii::app()->params['languages'] as $lang) {
// $tr = new Message();
// $tr->id = $model->id;
// $tr->language = $lang;
// $tr->translation = $oldOne->translate($event->category, $event->message, $lang);
// if ($tr->translation != $event->message)
// $tr->save();
// }
}
}
}