. */ declare(strict_types=1); namespace Fisharebest\Webtrees\Module; use Fisharebest\ExtCalendar\CalendarInterface; use Fisharebest\Localization\Locale\LocaleInterface; use Fisharebest\Webtrees\Relationship; use Illuminate\Database\Query\Builder; /** * Interface ModuleLanguageInterface - provide translation and localization. */ interface ModuleLanguageInterface extends ModuleInterface { /** * Phone-book ordering of letters. * * @return array */ public function alphabet(): array; /** * Default calendar used by this language. * * @return CalendarInterface */ public function calendar(): CalendarInterface; /** * One of: 'DMY', 'MDY', 'YMD'. * * @return string */ public function dateOrder(): string; /** * Some languages use digraphs and trigraphs. * * @param string $string * * @return string */ public function initialLetter(string $string): string; /** * @return LocaleInterface */ public function locale(): LocaleInterface; /** * Ignore diacritics on letters - unless the language considers them a different letter. * * @param string $text * * @return string */ public function normalize(string $text): string; /** * @return array */ public function relationships(): array; }