Symfony API
Class

Symfony\Component\Translation\MessageCatalogue

class MessageCatalogue implements MessageCatalogueInterface, MetadataAwareInterface

MessageCatalogue.

Methods

__construct(string $locale, array $messages = array())

Constructor.

string getLocale()

Gets the catalogue locale.

array getDomains()

Gets the domains.

array all(string $domain = null)

Gets the messages within a given domain.

set(string $id, string $translation, string $domain = 'messages')

Sets a message translation.

bool has(string $id, string $domain = 'messages')

Checks if a message has a translation.

bool defines(string $id, string $domain = 'messages')

Checks if a message has a translation (it does not take into account the fallback mechanism).

string get(string $id, string $domain = 'messages')

Gets a message translation.

replace(array $messages, string $domain = 'messages')

Sets translations for a given domain.

add(array $messages, string $domain = 'messages')

Adds translations for a given domain.

addCatalogue(MessageCatalogueInterface $catalogue)

Merges translations from the given Catalogue into the current one.

addFallbackCatalogue(MessageCatalogueInterface $catalogue)

Merges translations from the given Catalogue into the current one only when the translation does not exist.

MessageCatalogueInterface|null getFallbackCatalogue()

Gets the fallback catalogue.

ResourceInterface[] getResources()

Returns an array of resources loaded to build this collection.

addResource(ResourceInterface $resource)

Adds a resource for this collection.

mixed getMetadata(string $key = '', string $domain = 'messages')

Gets metadata for the given domain and key.

setMetadata(string $key, mixed $value, string $domain = 'messages')

Adds metadata to a message domain.

deleteMetadata(string $key = '', string $domain = 'messages')

Deletes metadata for the given key and domain.

Details

at line 36
public __construct(string $locale, array $messages = array())

Constructor.

Parameters

string $locale The locale
array $messages An array of messages classified by domain

at line 45
public string getLocale()

Gets the catalogue locale.

Return Value

string The locale

at line 53
public array getDomains()

Gets the domains.

Return Value

array An array of domains

at line 61
public array all(string $domain = null)

Gets the messages within a given domain.

If $domain is null, it returns all messages.

Parameters

string $domain The domain name

Return Value

array An array of messages

at line 73
public set(string $id, string $translation, string $domain = 'messages')

Sets a message translation.

Parameters

string $id The message id
string $translation The messages translation
string $domain The domain name

at line 81
public bool has(string $id, string $domain = 'messages')

Checks if a message has a translation.

Parameters

string $id The message id
string $domain The domain name

Return Value

bool true if the message has a translation, false otherwise

at line 97
public bool defines(string $id, string $domain = 'messages')

Checks if a message has a translation (it does not take into account the fallback mechanism).

Parameters

string $id The message id
string $domain The domain name

Return Value

bool true if the message has a translation, false otherwise

at line 105
public string get(string $id, string $domain = 'messages')

Gets a message translation.

Parameters

string $id The message id
string $domain The domain name

Return Value

string The message translation

at line 121
public replace(array $messages, string $domain = 'messages')

Sets translations for a given domain.

Parameters

array $messages An array of translations
string $domain The domain name

at line 131
public add(array $messages, string $domain = 'messages')

Adds translations for a given domain.

Parameters

array $messages An array of translations
string $domain The domain name

at line 143
public addCatalogue(MessageCatalogueInterface $catalogue)

Merges translations from the given Catalogue into the current one.

The two catalogues must have the same locale.

Parameters

MessageCatalogueInterface $catalogue A MessageCatalogueInterface instance

at line 166
public addFallbackCatalogue(MessageCatalogueInterface $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.

Parameters

MessageCatalogueInterface $catalogue A MessageCatalogueInterface instance

at line 194
public MessageCatalogueInterface|null getFallbackCatalogue()

Gets the fallback catalogue.

Return Value

MessageCatalogueInterface|null A MessageCatalogueInterface instance or null when no fallback has been set

at line 202
public ResourceInterface[] getResources()

Returns an array of resources loaded to build this collection.

Return Value

ResourceInterface[] An array of resources

at line 210
public addResource(ResourceInterface $resource)

Adds a resource for this collection.

Parameters

ResourceInterface $resource A resource instance

at line 218
public mixed getMetadata(string $key = '', string $domain = 'messages')

Gets metadata for the given domain and key.

Passing an empty domain will return an array with all metadata indexed by domain and then by key. Passing an empty key will return an array with all metadata for the given domain.

Parameters

string $key The key
string $domain The domain name

Return Value

mixed The value that was set or an array with the domains/keys or null

at line 238
public setMetadata(string $key, mixed $value, string $domain = 'messages')

Adds metadata to a message domain.

Parameters

string $key The key
mixed $value The value
string $domain The domain name

at line 246
public deleteMetadata(string $key = '', string $domain = 'messages')

Deletes metadata for the given key and domain.

Passing an empty domain will delete all metadata. Passing an empty key will delete all metadata for the given domain.

Parameters

string $key The key
string $domain The domain name