Rev 193 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
173 | PointedEar | 1 | <?php |
2 | |||
186 | PointedEar | 3 | class IndexView extends \PointedEars\PHPX\View |
173 | PointedEar | 4 | { |
5 | /** |
||
192 | PointedEar | 6 | * @var \Zend\I18n\Translator\Translator |
7 | */ |
||
8 | private $_translator; |
||
9 | |||
10 | /** |
||
11 | * @var string |
||
12 | */ |
||
13 | private $_textDomain; |
||
14 | |||
15 | /** |
||
16 | * @var string |
||
17 | */ |
||
18 | private $_language; |
||
19 | |||
20 | /** |
||
173 | PointedEar | 21 | * Creates a new index view |
22 | * |
||
23 | * @see View::__construct() |
||
24 | */ |
||
25 | public function __construct ($template) |
||
26 | { |
||
200 | PointedEar | 27 | parent::__construct('layouts/index/index.phtml'); |
192 | PointedEar | 28 | |
29 | require_once 'Zend/Loader/StandardAutoloader.php'; |
||
30 | $loader = new Zend\Loader\StandardAutoloader(array('autoregister_zf' => true)); |
||
31 | $loader->register(); |
||
32 | |||
33 | $translator = $this->_translator = new Zend\I18n\Translator\Translator(); |
||
34 | // $translator->setCache(new Zend\Cache\Storage\*Adapter()); |
||
35 | $type = 'gettext'; |
||
36 | $base_dir = $_SERVER['DOCUMENT_ROOT'] . '/i18n/LocaleData'; |
||
37 | $pattern = '%s/LC_MESSAGES/%1$s.pointedears.mo'; |
||
38 | $text_domain = $this->_textDomain = 'de.pointedears'; |
||
39 | $translator->addTranslationFilePattern($type, $base_dir, $pattern, $text_domain); |
||
173 | PointedEar | 40 | } |
192 | PointedEar | 41 | |
42 | /** |
||
43 | * @param string $value |
||
44 | * @return IndexView |
||
45 | */ |
||
46 | public function setLanguage ($value) |
||
47 | { |
||
48 | $this->_language = $value; |
||
49 | return $this; |
||
50 | } |
||
51 | |||
52 | /** |
||
53 | * Returns the translation of the parameter, if any, |
||
54 | * using Zend Framework 2.1 Translate |
||
55 | * |
||
56 | * @param string $s |
||
57 | * @return string |
||
58 | */ |
||
193 | PointedEar | 59 | public function _ ($s) |
192 | PointedEar | 60 | { |
61 | return $this->_translator->translate($s, $this->_textDomain, $this->_language); |
||
62 | } |
||
193 | PointedEar | 63 | |
64 | public function getCoverage ($seen) |
||
65 | { |
||
66 | if (!is_array($seen)) |
||
67 | { |
||
68 | return ''; |
||
69 | } |
||
70 | |||
71 | return implode(', ', |
||
72 | array_map( |
||
73 | function ($e) { |
||
74 | if (is_array($e)) |
||
75 | { |
||
76 | if ($e[1] === $e[0] + 1) |
||
77 | { |
||
78 | return implode(', ', $e); |
||
79 | } |
||
80 | |||
81 | return $e[0] . '–' . $e[1]; |
||
82 | } |
||
83 | |||
84 | return $e; |
||
85 | }, |
||
86 | $seen |
||
87 | ) |
||
88 | ); |
||
89 | } |
||
173 | PointedEar | 90 | } |