vendor/symfony/translation/MessageCatalogueInterface.php line 40

  1. <?php
  2. /*
  3.  * This file is part of the Symfony package.
  4.  *
  5.  * (c) Fabien Potencier <fabien@symfony.com>
  6.  *
  7.  * For the full copyright and license information, please view the LICENSE
  8.  * file that was distributed with this source code.
  9.  */
  10. namespace Symfony\Component\Translation;
  11. use Symfony\Component\Config\Resource\ResourceInterface;
  12. /**
  13.  * MessageCatalogueInterface.
  14.  *
  15.  * @author Fabien Potencier <fabien@symfony.com>
  16.  */
  17. interface MessageCatalogueInterface
  18. {
  19.     public const INTL_DOMAIN_SUFFIX '+intl-icu';
  20.     /**
  21.      * Gets the catalogue locale.
  22.      */
  23.     public function getLocale(): string;
  24.     /**
  25.      * Gets the domains.
  26.      */
  27.     public function getDomains(): array;
  28.     /**
  29.      * Gets the messages within a given domain.
  30.      *
  31.      * If $domain is null, it returns all messages.
  32.      */
  33.     public function all(string $domain null): array;
  34.     /**
  35.      * Sets a message translation.
  36.      *
  37.      * @param string $id          The message id
  38.      * @param string $translation The messages translation
  39.      * @param string $domain      The domain name
  40.      */
  41.     public function set(string $idstring $translationstring $domain 'messages');
  42.     /**
  43.      * Checks if a message has a translation.
  44.      *
  45.      * @param string $id     The message id
  46.      * @param string $domain The domain name
  47.      */
  48.     public function has(string $idstring $domain 'messages'): bool;
  49.     /**
  50.      * Checks if a message has a translation (it does not take into account the fallback mechanism).
  51.      *
  52.      * @param string $id     The message id
  53.      * @param string $domain The domain name
  54.      */
  55.     public function defines(string $idstring $domain 'messages'): bool;
  56.     /**
  57.      * Gets a message translation.
  58.      *
  59.      * @param string $id     The message id
  60.      * @param string $domain The domain name
  61.      */
  62.     public function get(string $idstring $domain 'messages'): string;
  63.     /**
  64.      * Sets translations for a given domain.
  65.      *
  66.      * @param array  $messages An array of translations
  67.      * @param string $domain   The domain name
  68.      */
  69.     public function replace(array $messagesstring $domain 'messages');
  70.     /**
  71.      * Adds translations for a given domain.
  72.      *
  73.      * @param array  $messages An array of translations
  74.      * @param string $domain   The domain name
  75.      */
  76.     public function add(array $messagesstring $domain 'messages');
  77.     /**
  78.      * Merges translations from the given Catalogue into the current one.
  79.      *
  80.      * The two catalogues must have the same locale.
  81.      */
  82.     public function addCatalogue(self $catalogue);
  83.     /**
  84.      * Merges translations from the given Catalogue into the current one
  85.      * only when the translation does not exist.
  86.      *
  87.      * This is used to provide default translations when they do not exist for the current locale.
  88.      */
  89.     public function addFallbackCatalogue(self $catalogue);
  90.     /**
  91.      * Gets the fallback catalogue.
  92.      */
  93.     public function getFallbackCatalogue(): ?self;
  94.     /**
  95.      * Returns an array of resources loaded to build this collection.
  96.      *
  97.      * @return ResourceInterface[]
  98.      */
  99.     public function getResources(): array;
  100.     /**
  101.      * Adds a resource for this collection.
  102.      */
  103.     public function addResource(ResourceInterface $resource);
  104. }