Explorar el Código

[Form] Implemented LanguageField

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

BIN
src/Symfony/Component/Form/Resources/data/lang/af.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ak.res


BIN
src/Symfony/Component/Form/Resources/data/lang/am.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ar.res


BIN
src/Symfony/Component/Form/Resources/data/lang/as.res


BIN
src/Symfony/Component/Form/Resources/data/lang/asa.res


BIN
src/Symfony/Component/Form/Resources/data/lang/az.res


BIN
src/Symfony/Component/Form/Resources/data/lang/az_AZ.res


BIN
src/Symfony/Component/Form/Resources/data/lang/az_Cyrl.res


BIN
src/Symfony/Component/Form/Resources/data/lang/az_Latn.res


BIN
src/Symfony/Component/Form/Resources/data/lang/az_Latn_AZ.res


BIN
src/Symfony/Component/Form/Resources/data/lang/be.res


BIN
src/Symfony/Component/Form/Resources/data/lang/bem.res


BIN
src/Symfony/Component/Form/Resources/data/lang/bez.res


BIN
src/Symfony/Component/Form/Resources/data/lang/bg.res


BIN
src/Symfony/Component/Form/Resources/data/lang/bm.res


BIN
src/Symfony/Component/Form/Resources/data/lang/bn.res


BIN
src/Symfony/Component/Form/Resources/data/lang/bn_IN.res


BIN
src/Symfony/Component/Form/Resources/data/lang/bo.res


BIN
src/Symfony/Component/Form/Resources/data/lang/bs.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ca.res


BIN
src/Symfony/Component/Form/Resources/data/lang/cgg.res


BIN
src/Symfony/Component/Form/Resources/data/lang/chr.res


BIN
src/Symfony/Component/Form/Resources/data/lang/cs.res


BIN
src/Symfony/Component/Form/Resources/data/lang/cy.res


BIN
src/Symfony/Component/Form/Resources/data/lang/da.res


BIN
src/Symfony/Component/Form/Resources/data/lang/dav.res


BIN
src/Symfony/Component/Form/Resources/data/lang/de.res


BIN
src/Symfony/Component/Form/Resources/data/lang/de_CH.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ebu.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ee.res


BIN
src/Symfony/Component/Form/Resources/data/lang/el.res


BIN
src/Symfony/Component/Form/Resources/data/lang/en.res


BIN
src/Symfony/Component/Form/Resources/data/lang/en_RH.res


BIN
src/Symfony/Component/Form/Resources/data/lang/en_ZW.res


BIN
src/Symfony/Component/Form/Resources/data/lang/eo.res


BIN
src/Symfony/Component/Form/Resources/data/lang/es.res


BIN
src/Symfony/Component/Form/Resources/data/lang/es_AR.res


BIN
src/Symfony/Component/Form/Resources/data/lang/es_CL.res


BIN
src/Symfony/Component/Form/Resources/data/lang/et.res


BIN
src/Symfony/Component/Form/Resources/data/lang/eu.res


BIN
src/Symfony/Component/Form/Resources/data/lang/fa.res


BIN
src/Symfony/Component/Form/Resources/data/lang/fa_AF.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ff.res


BIN
src/Symfony/Component/Form/Resources/data/lang/fi.res


BIN
src/Symfony/Component/Form/Resources/data/lang/fil.res


BIN
src/Symfony/Component/Form/Resources/data/lang/fil_PH.res


BIN
src/Symfony/Component/Form/Resources/data/lang/fo.res


BIN
src/Symfony/Component/Form/Resources/data/lang/fr.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ga.res


BIN
src/Symfony/Component/Form/Resources/data/lang/gl.res


BIN
src/Symfony/Component/Form/Resources/data/lang/gsw.res


BIN
src/Symfony/Component/Form/Resources/data/lang/gu.res


BIN
src/Symfony/Component/Form/Resources/data/lang/guz.res


BIN
src/Symfony/Component/Form/Resources/data/lang/gv.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ha.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ha_GH.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ha_Latn.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ha_Latn_GH.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ha_Latn_NE.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ha_Latn_NG.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ha_NE.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ha_NG.res


BIN
src/Symfony/Component/Form/Resources/data/lang/haw.res


BIN
src/Symfony/Component/Form/Resources/data/lang/he.res


BIN
src/Symfony/Component/Form/Resources/data/lang/he_IL.res


BIN
src/Symfony/Component/Form/Resources/data/lang/hi.res


BIN
src/Symfony/Component/Form/Resources/data/lang/hr.res


BIN
src/Symfony/Component/Form/Resources/data/lang/hu.res


BIN
src/Symfony/Component/Form/Resources/data/lang/hy.res


BIN
src/Symfony/Component/Form/Resources/data/lang/id.res


BIN
src/Symfony/Component/Form/Resources/data/lang/id_ID.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ig.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ii.res


BIN
src/Symfony/Component/Form/Resources/data/lang/in.res


BIN
src/Symfony/Component/Form/Resources/data/lang/in_ID.res


BIN
src/Symfony/Component/Form/Resources/data/lang/is.res


BIN
src/Symfony/Component/Form/Resources/data/lang/it.res


BIN
src/Symfony/Component/Form/Resources/data/lang/iw.res


BIN
src/Symfony/Component/Form/Resources/data/lang/iw_IL.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ja.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ja_JP.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ja_JP_TRADITIONAL.res


BIN
src/Symfony/Component/Form/Resources/data/lang/jmc.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ka.res


BIN
src/Symfony/Component/Form/Resources/data/lang/kab.res


BIN
src/Symfony/Component/Form/Resources/data/lang/kam.res


BIN
src/Symfony/Component/Form/Resources/data/lang/kde.res


BIN
src/Symfony/Component/Form/Resources/data/lang/kea.res


BIN
src/Symfony/Component/Form/Resources/data/lang/khq.res


BIN
src/Symfony/Component/Form/Resources/data/lang/ki.res


BIN
src/Symfony/Component/Form/Resources/data/lang/kk.res


BIN
src/Symfony/Component/Form/Resources/data/lang/kk_Cyrl.res


BIN
src/Symfony/Component/Form/Resources/data/lang/kk_Cyrl_KZ.res


BIN
src/Symfony/Component/Form/Resources/data/lang/kk_KZ.res


BIN
src/Symfony/Component/Form/Resources/data/lang/kl.res


BIN
src/Symfony/Component/Form/Resources/data/lang/kln.res


BIN
src/Symfony/Component/Form/Resources/data/lang/km.res


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


Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio