diff --git a/Command/LoadAndUpdateLanguagesCommand.php b/Command/LoadAndUpdateLanguagesCommand.php
new file mode 100644
index 000000000..e0c328824
--- /dev/null
+++ b/Command/LoadAndUpdateLanguagesCommand.php
@@ -0,0 +1,80 @@
+
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+namespace Chill\MainBundle\Command;
+
+use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
+use Symfony\Component\Intl\Intl;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\OutputInterface;
+
+/*
+ * Load or update the languages entities command
+ */
+class LoadAndUpdateLanguagesCommand extends ContainerAwareCommand
+{
+ /*
+ * (non-PHPdoc)
+ * @see \Symfony\Component\Console\Command\Command::configure()
+ */
+ protected function configure()
+ {
+ $this->setName('chill:main:languages:populate')
+ ->setDescription('Load or update languages in db. This command does not delete existing '.
+ 'languages, but will update names according to available languages');
+ }
+
+ /*
+ * (non-PHPdoc)
+ * @see \Symfony\Component\Console\Command\Command::execute()
+ */
+ protected function execute(InputInterface $input, OutputInterface $output)
+ {
+ $em = $this->getContainer()->get('doctrine.orm.entity_manager');
+ $chillAvailableLanguages = $this->getContainer()->getParameter('chill_main.available_languages');
+ $languageBundle = Intl::getLanguageBundle();
+ $languages = array();
+
+ foreach ($chillAvailableLanguages as $avLang) {
+ $languages[$avLang] = $languageBundle->getLanguageNames($avLang);
+ }
+
+ $languageCodes = array_keys($languages[$chillAvailableLanguages[0]]);
+
+ foreach ($languageCodes as $code) {
+ $langageDB = $em->getRepository('ChillMainBundle:Language')->find($code);
+
+ if (! $langageDB) {
+ $langageDB = new \Chill\MainBundle\Entity\Language();
+ $langageDB->setId($code);
+ $em->persist($langageDB);
+ }
+
+ $avLangNames = array();
+
+ foreach ($chillAvailableLanguages as $avLang) {
+ $avLangNames[$avLang] = $languages[$avLang][$code];
+ }
+
+ $langageDB->setName($avLangNames);
+ }
+
+ $em->flush();
+ }
+}
diff --git a/Entity/Language.php b/Entity/Language.php
new file mode 100644
index 000000000..37f7963ec
--- /dev/null
+++ b/Entity/Language.php
@@ -0,0 +1,82 @@
+
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+namespace Chill\MainBundle\Entity;
+
+/**
+ * Language
+ */
+class Language
+{
+ /**
+ * @var string
+ */
+ private $id;
+
+ /**
+ * @var string array
+ */
+ private $name;
+
+ /**
+ * Get id
+ *
+ * @return string
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * Set id
+ *
+ * @param string $id
+ * @return Language
+ */
+ public function setId($id)
+ {
+ $this->id = $id;
+ return $this;
+ }
+
+ /**
+ * Set name
+ *
+ * @param string array $name
+ * @return Language
+ */
+ public function setName($name)
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+ /**
+ * Get name
+ *
+ * @return string array
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+}
diff --git a/Resources/config/doctrine/Language.orm.yml b/Resources/config/doctrine/Language.orm.yml
new file mode 100644
index 000000000..9112a780a
--- /dev/null
+++ b/Resources/config/doctrine/Language.orm.yml
@@ -0,0 +1,10 @@
+Chill\MainBundle\Entity\Language:
+ type: entity
+ table: null
+ id:
+ id:
+ type: string
+ fields:
+ name:
+ type: json_array
+ lifecycleCallbacks: { }
\ No newline at end of file