/var/www/vhosts/ihelp.ro/httpdocs/vendor/cakephp/cakephp/src/I18n
NameSizeModeActions
Exception/-0755rm
Formatter/-0755rm
Middleware/-0755rm
Parser/-0755rm
ChainMessagesLoader.php23220644editdlrm
composer.json12810644editdlrm
Date.php74610644editdlrm
DateFormatTrait.php177740644editdlrm
FormatterInterface.php12760644editdlrm
FormatterLocator.php28640644editdlrm
FrozenDate.php72890644editdlrm
FrozenTime.php100630644editdlrm
functions.php88550644editdlrm
I18n.php96210644editdlrm
I18nDateTimeInterface.php97090644editdlrm
LICENSE.txt12040644editdlrm
MessagesFileLoader.php55550644editdlrm
Number.php180140644editdlrm
Package.php39720644editdlrm
PackageLocator.php34880644editdlrm
PluralRules.php58900644editdlrm
README.md28790644editdlrm
RelativeTimeFormatter.php152960644editdlrm
Time.php125870644editdlrm
Translator.php60140644editdlrm
TranslatorRegistry.php101990644editdlrm
Edit: /var/www/vhosts/ihelp.ro/httpdocs/vendor/cakephp/cakephp/src/I18n/Translator.php (6014B)
locale = $locale; $this->package = $package; $this->formatter = $formatter; $this->fallback = $fallback; } /** * Gets the message translation by its key. * * @param string $key The message key. * @return mixed The message translation string, or false if not found. */ protected function getMessage(string $key) { $message = $this->package->getMessage($key); if ($message) { return $message; } if ($this->fallback) { $message = $this->fallback->getMessage($key); if ($message) { $this->package->addMessage($key, $message); return $message; } } return false; } /** * Translates the message formatting any placeholders * * @param string $key The message key. * @param array $tokensValues Token values to interpolate into the * message. * @return string The translated message with tokens replaced. */ public function translate(string $key, array $tokensValues = []): string { if (isset($tokensValues['_count'])) { $message = $this->getMessage(static::PLURAL_PREFIX . $key); if (!$message) { $message = $this->getMessage($key); } } else { $message = $this->getMessage($key); if (!$message) { $message = $this->getMessage(static::PLURAL_PREFIX . $key); } } if (!$message) { // Fallback to the message key $message = $key; } // Check for missing/invalid context if (is_array($message) && isset($message['_context'])) { $message = $this->resolveContext($key, $message, $tokensValues); unset($tokensValues['_context']); } if (empty($tokensValues)) { // Fallback for plurals that were using the singular key if (is_array($message)) { return array_values($message + [''])[0]; } return $message; } // Singular message, but plural call if (is_string($message) && isset($tokensValues['_singular'])) { $message = [$tokensValues['_singular'], $message]; } // Resolve plural form. if (is_array($message)) { $count = $tokensValues['_count'] ?? 0; $form = PluralRules::calculate($this->locale, (int)$count); $message = $message[$form] ?? (string)end($message); } if ($message === '') { $message = $key; // If singular haven't been translated, fallback to the key. if (isset($tokensValues['_singular']) && $tokensValues['_count'] === 1) { $message = $tokensValues['_singular']; } } unset($tokensValues['_count'], $tokensValues['_singular']); return $this->formatter->format($this->locale, $message, $tokensValues); } /** * Resolve a message's context structure. * * @param string $key The message key being handled. * @param array $message The message content. * @param array $vars The variables containing the `_context` key. * @return array|string */ protected function resolveContext(string $key, array $message, array $vars) { $context = $vars['_context'] ?? null; // No or missing context, fallback to the key/first message if ($context === null) { if (isset($message['_context'][''])) { return $message['_context'][''] === '' ? $key : $message['_context']['']; } return current($message['_context']); } if (!isset($message['_context'][$context])) { return $key; } if ($message['_context'][$context] === '') { return $key; } return $message['_context'][$context]; } /** * Returns the translator package * * @return \Cake\I18n\Package */ public function getPackage(): Package { return $this->package; } }