1: <?php
2: /**
3: * PHP version 5
4: * @package generalDriver
5: * @author Christian Schiffler <c.schiffler@cyberspectrum.de>
6: * @author Stefan Heimes <stefan_heimes@hotmail.com>
7: * @author Tristan Lins <tristan.lins@bit3.de>
8: * @copyright The MetaModels team.
9: * @license LGPL.
10: * @filesource
11: */
12:
13: namespace DcGeneral\Data;
14:
15: /**
16: * Interface MultiLanguageDataProviderInterface.
17: *
18: * This interface describes how to interface with a multi language data provider.
19: *
20: * @package DcGeneral\Data
21: */
22: interface MultiLanguageDataProviderInterface extends DataProviderInterface
23: {
24: /**
25: * Get all available languages of a certain record.
26: *
27: * @param mixed $mixID The ID of the record to retrieve.
28: *
29: * @return LanguageInformationCollectionInterface|null
30: */
31: public function getLanguages($mixID);
32:
33: /**
34: * Get the fallback language of a certain record.
35: *
36: * @param mixed $mixID The ID of the record to retrieve.
37: *
38: * @return LanguageInformationInterface|null
39: */
40: public function getFallbackLanguage($mixID);
41:
42: /**
43: * Set the current working language for the whole data provider.
44: *
45: * @param string $strLanguage The new language, use short tag "2 chars like de, fr etc.".
46: *
47: * @return DataProviderInterface
48: */
49: public function setCurrentLanguage($strLanguage);
50:
51: /**
52: * Get the current working language.
53: *
54: * @return string Short tag for the current working language like de or fr etc.
55: */
56: public function getCurrentLanguage();
57: }
58: