123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- <?php
- /*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Symfony\Component\Translation;
- use Symfony\Component\Config\Resource\ResourceInterface;
- /**
- * MessageCatalogueInterface.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
- interface MessageCatalogueInterface
- {
- public const INTL_DOMAIN_SUFFIX = '+intl-icu';
- /**
- * Gets the catalogue locale.
- *
- * @return string The locale
- */
- public function getLocale();
- /**
- * Gets the domains.
- *
- * @return array An array of domains
- */
- public function getDomains();
- /**
- * Gets the messages within a given domain.
- *
- * If $domain is null, it returns all messages.
- *
- * @param string $domain The domain name
- *
- * @return array An array of messages
- */
- public function all(string $domain = null);
- /**
- * Sets a message translation.
- *
- * @param string $id The message id
- * @param string $translation The messages translation
- * @param string $domain The domain name
- */
- public function set(string $id, string $translation, string $domain = 'messages');
- /**
- * Checks if a message has a translation.
- *
- * @param string $id The message id
- * @param string $domain The domain name
- *
- * @return bool true if the message has a translation, false otherwise
- */
- public function has(string $id, string $domain = 'messages');
- /**
- * Checks if a message has a translation (it does not take into account the fallback mechanism).
- *
- * @param string $id The message id
- * @param string $domain The domain name
- *
- * @return bool true if the message has a translation, false otherwise
- */
- public function defines(string $id, string $domain = 'messages');
- /**
- * Gets a message translation.
- *
- * @param string $id The message id
- * @param string $domain The domain name
- *
- * @return string The message translation
- */
- public function get(string $id, string $domain = 'messages');
- /**
- * Sets translations for a given domain.
- *
- * @param array $messages An array of translations
- * @param string $domain The domain name
- */
- public function replace(array $messages, string $domain = 'messages');
- /**
- * Adds translations for a given domain.
- *
- * @param array $messages An array of translations
- * @param string $domain The domain name
- */
- public function add(array $messages, string $domain = 'messages');
- /**
- * Merges translations from the given Catalogue into the current one.
- *
- * The two catalogues must have the same locale.
- */
- public function addCatalogue(self $catalogue);
- /**
- * Merges translations from the given Catalogue into the current one
- * only when the translation does not exist.
- *
- * This is used to provide default translations when they do not exist for the current locale.
- */
- public function addFallbackCatalogue(self $catalogue);
- /**
- * Gets the fallback catalogue.
- *
- * @return self|null A MessageCatalogueInterface instance or null when no fallback has been set
- */
- public function getFallbackCatalogue();
- /**
- * Returns an array of resources loaded to build this collection.
- *
- * @return ResourceInterface[] An array of resources
- */
- public function getResources();
- /**
- * Adds a resource for this collection.
- */
- public function addResource(ResourceInterface $resource);
- }
|