summaryrefslogtreecommitdiffstats
path: root/Aufgabe06/vendor/symfony/translation/Symfony/Component/Translation/MessageSelector.php
diff options
context:
space:
mode:
authorStefan Suhren <suhren.stefan@fh-swf.de>2015-05-11 15:02:33 +0200
committerStefan Suhren <suhren.stefan@fh-swf.de>2015-05-11 15:02:33 +0200
commita7e17cb70e9306f8887bd2b5ca1a37edcbe3ea0f (patch)
treebf6e04c9bdba66e249fd6b78391e132da130848c /Aufgabe06/vendor/symfony/translation/Symfony/Component/Translation/MessageSelector.php
parentea3fed0df4eaedd820f3f405502b62efe5952f8f (diff)
downloadInternetTechnologien-a7e17cb70e9306f8887bd2b5ca1a37edcbe3ea0f.tar.gz
InternetTechnologien-a7e17cb70e9306f8887bd2b5ca1a37edcbe3ea0f.zip
Let composer manage its own files
Diffstat (limited to 'Aufgabe06/vendor/symfony/translation/Symfony/Component/Translation/MessageSelector.php')
-rw-r--r--Aufgabe06/vendor/symfony/translation/Symfony/Component/Translation/MessageSelector.php90
1 files changed, 0 insertions, 90 deletions
diff --git a/Aufgabe06/vendor/symfony/translation/Symfony/Component/Translation/MessageSelector.php b/Aufgabe06/vendor/symfony/translation/Symfony/Component/Translation/MessageSelector.php
deleted file mode 100644
index 9f5430c..0000000
--- a/Aufgabe06/vendor/symfony/translation/Symfony/Component/Translation/MessageSelector.php
+++ /dev/null
@@ -1,90 +0,0 @@
-<?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;
-
-/**
- * MessageSelector.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Bernhard Schussek <bschussek@gmail.com>
- *
- * @api
- */
-class MessageSelector
-{
- /**
- * Given a message with different plural translations separated by a
- * pipe (|), this method returns the correct portion of the message based
- * on the given number, locale and the pluralization rules in the message
- * itself.
- *
- * The message supports two different types of pluralization rules:
- *
- * interval: {0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples
- * indexed: There is one apple|There are %count% apples
- *
- * The indexed solution can also contain labels (e.g. one: There is one apple).
- * This is purely for making the translations more clear - it does not
- * affect the functionality.
- *
- * The two methods can also be mixed:
- * {0} There are no apples|one: There is one apple|more: There are %count% apples
- *
- * @param string $message The message being translated
- * @param int $number The number of items represented for the message
- * @param string $locale The locale to use for choosing
- *
- * @return string
- *
- * @throws \InvalidArgumentException
- *
- * @api
- */
- public function choose($message, $number, $locale)
- {
- $parts = explode('|', $message);
- $explicitRules = array();
- $standardRules = array();
- foreach ($parts as $part) {
- $part = trim($part);
-
- if (preg_match('/^(?P<interval>'.Interval::getIntervalRegexp().')\s*(?P<message>.*?)$/x', $part, $matches)) {
- $explicitRules[$matches['interval']] = $matches['message'];
- } elseif (preg_match('/^\w+\:\s*(.*?)$/', $part, $matches)) {
- $standardRules[] = $matches[1];
- } else {
- $standardRules[] = $part;
- }
- }
-
- // try to match an explicit rule, then fallback to the standard ones
- foreach ($explicitRules as $interval => $m) {
- if (Interval::test($number, $interval)) {
- return $m;
- }
- }
-
- $position = PluralizationRules::get($number, $locale);
-
- if (!isset($standardRules[$position])) {
- // when there's exactly one rule given, and that rule is a standard
- // rule, use this rule
- if (1 === count($parts) && isset($standardRules[0])) {
- return $standardRules[0];
- }
-
- throw new \InvalidArgumentException(sprintf('Unable to choose a translation for "%s" with locale "%s" for value "%d". Double check that this translation has the correct plural options (e.g. "There is one apple|There are %%count%% apples").', $message, $locale, $number));
- }
-
- return $standardRules[$position];
- }
-}