Pull merge.
[yaffs-website] / web / core / modules / views / src / Plugin / views / argument / LanguageArgument.php
1 <?php
2
3 namespace Drupal\views\Plugin\views\argument;
4
5 /**
6  * Defines an argument handler to accept a language.
7  *
8  * @ingroup views_argument_handlers
9  *
10  * @ViewsArgument("language")
11  */
12 class LanguageArgument extends ArgumentPluginBase {
13
14   /**
15    * Overrides \Drupal\views\Plugin\views\argument\ArgumentPluginBase::summaryName().
16    *
17    * Gets the user-friendly version of the language name.
18    */
19   public function summaryName($data) {
20     return $this->language($data->{$this->name_alias});
21   }
22
23   /**
24    * Overrides \Drupal\views\Plugin\views\argument\ArgumentPluginBase::title().
25    *
26    * Gets the user friendly version of the language name for display as a
27    * title placeholder.
28    */
29   public function title() {
30     return $this->language($this->argument);
31   }
32
33   /**
34    * Returns the language name for a given langcode.
35    *
36    * @param string $langcode
37    *   The language code.
38    *
39    * @return string
40    *   The translated name for the language, or "Unknown language" if the
41    *   language was not found.
42    */
43   public function language($langcode) {
44     $languages = $this->listLanguages();
45     return isset($languages[$langcode]) ? $languages[$langcode] : $this->t('Unknown language');
46   }
47
48 }