Jelajahi Sumber

[Form] Implemented LanguageField

Bernhard Schussek 14 tahun lalu
induk
melakukan
93d3716a84
100 mengubah file dengan 60 tambahan dan 0 penghapusan
  1. 60 0
      src/Symfony/Component/Form/LanguageField.php
  2. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/af.res
  3. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ak.res
  4. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/am.res
  5. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ar.res
  6. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/as.res
  7. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/asa.res
  8. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/az.res
  9. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/az_AZ.res
  10. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/az_Cyrl.res
  11. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/az_Latn.res
  12. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/az_Latn_AZ.res
  13. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/be.res
  14. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/bem.res
  15. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/bez.res
  16. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/bg.res
  17. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/bm.res
  18. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/bn.res
  19. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/bn_IN.res
  20. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/bo.res
  21. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/bs.res
  22. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ca.res
  23. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/cgg.res
  24. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/chr.res
  25. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/cs.res
  26. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/cy.res
  27. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/da.res
  28. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/dav.res
  29. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/de.res
  30. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/de_CH.res
  31. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ebu.res
  32. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ee.res
  33. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/el.res
  34. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/en.res
  35. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/en_RH.res
  36. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/en_ZW.res
  37. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/eo.res
  38. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/es.res
  39. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/es_AR.res
  40. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/es_CL.res
  41. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/et.res
  42. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/eu.res
  43. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/fa.res
  44. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/fa_AF.res
  45. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ff.res
  46. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/fi.res
  47. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/fil.res
  48. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/fil_PH.res
  49. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/fo.res
  50. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/fr.res
  51. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ga.res
  52. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/gl.res
  53. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/gsw.res
  54. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/gu.res
  55. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/guz.res
  56. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/gv.res
  57. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ha.res
  58. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ha_GH.res
  59. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ha_Latn.res
  60. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ha_Latn_GH.res
  61. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ha_Latn_NE.res
  62. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ha_Latn_NG.res
  63. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ha_NE.res
  64. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ha_NG.res
  65. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/haw.res
  66. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/he.res
  67. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/he_IL.res
  68. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/hi.res
  69. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/hr.res
  70. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/hu.res
  71. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/hy.res
  72. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/id.res
  73. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/id_ID.res
  74. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ig.res
  75. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ii.res
  76. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/in.res
  77. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/in_ID.res
  78. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/is.res
  79. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/it.res
  80. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/iw.res
  81. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/iw_IL.res
  82. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ja.res
  83. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ja_JP.res
  84. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ja_JP_TRADITIONAL.res
  85. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/jmc.res
  86. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ka.res
  87. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/kab.res
  88. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/kam.res
  89. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/kde.res
  90. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/kea.res
  91. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/khq.res
  92. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/ki.res
  93. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/kk.res
  94. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/kk_Cyrl.res
  95. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/kk_Cyrl_KZ.res
  96. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/kk_KZ.res
  97. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/kl.res
  98. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/kln.res
  99. TEMPAT SAMPAH
      src/Symfony/Component/Form/Resources/data/lang/km.res
  100. 0 0
      src/Symfony/Component/Form/Resources/data/lang/kn.res

+ 60 - 0
src/Symfony/Component/Form/LanguageField.php

@@ -0,0 +1,60 @@
+<?php
+
+namespace Symfony\Component\Form;
+
+/**
+ * A field for selecting from a list of languages
+ *
+ * @author Bernhard Schussek <bernhard.schussek@symfony-project.com>
+ */
+class LanguageField extends ChoiceField
+{
+    /**
+     * Caches the language choices in different locales
+     * @var array
+     */
+    protected static $languages;
+
+    /**
+     * @inheritDoc
+     */
+    protected function configure()
+    {
+        $this->addOption('choices', self::getLanguageChoices($this->locale));
+
+        parent::configure();
+    }
+
+    /**
+     * Returns the list of languages for a locale
+     *
+     * @param string $locale     The locale to use for the language names
+     * @throws RuntimeException  When the resource bundles cannot be loaded
+     */
+    protected static function getLanguageChoices($locale)
+    {
+        if (!isset(self::$languages[$locale])) {
+            $bundle = new \ResourceBundle($locale, __DIR__.'/Resources/data/lang');
+
+            if ($bundle === null) {
+                throw new RuntimeException('The language resource bundle could not be loaded');
+            }
+
+            $collator = new \Collator($locale);
+            $languages = array();
+
+            foreach ($bundle->get('Languages') as $code => $name) {
+                // "mul" is the code for multiple languages
+                if ($code !== 'mul') {
+                    $languages[$code] = $name;
+                }
+            }
+
+            $collator->asort($languages);
+
+            self::$languages[$locale] = $languages;
+        }
+
+        return self::$languages[$locale];
+    }
+}

TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/af.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ak.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/am.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ar.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/as.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/asa.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/az.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/az_AZ.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/az_Cyrl.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/az_Latn.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/az_Latn_AZ.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/be.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/bem.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/bez.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/bg.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/bm.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/bn.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/bn_IN.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/bo.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/bs.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ca.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/cgg.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/chr.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/cs.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/cy.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/da.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/dav.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/de.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/de_CH.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ebu.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ee.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/el.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/en.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/en_RH.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/en_ZW.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/eo.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/es.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/es_AR.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/es_CL.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/et.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/eu.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/fa.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/fa_AF.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ff.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/fi.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/fil.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/fil_PH.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/fo.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/fr.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ga.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/gl.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/gsw.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/gu.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/guz.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/gv.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ha.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ha_GH.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ha_Latn.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ha_Latn_GH.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ha_Latn_NE.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ha_Latn_NG.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ha_NE.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ha_NG.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/haw.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/he.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/he_IL.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/hi.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/hr.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/hu.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/hy.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/id.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/id_ID.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ig.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ii.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/in.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/in_ID.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/is.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/it.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/iw.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/iw_IL.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ja.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ja_JP.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ja_JP_TRADITIONAL.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/jmc.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ka.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/kab.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/kam.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/kde.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/kea.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/khq.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/ki.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/kk.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/kk_Cyrl.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/kk_Cyrl_KZ.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/kk_KZ.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/kl.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/kln.res


TEMPAT SAMPAH
src/Symfony/Component/Form/Resources/data/lang/km.res


+ 0 - 0
src/Symfony/Component/Form/Resources/data/lang/kn.res


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini