diff --git a/airtime_mvc/application/controllers/LocaleController.php b/airtime_mvc/application/controllers/LocaleController.php index eb92a1034..7084acc9f 100644 --- a/airtime_mvc/application/controllers/LocaleController.php +++ b/airtime_mvc/application/controllers/LocaleController.php @@ -17,8 +17,9 @@ class LocaleController extends Zend_Controller_Action header("Content-type: text/javascript"); $baseUrl = Application_Common_OsPath::getBaseDir(); + $locale = Application_Model_Preference::GetLocale(); echo "var datatables_dict =" . - file_get_contents($_SERVER['DOCUMENT_ROOT'].$baseUrl.'/js/datatables/i18n/en_CA.txt'); + file_get_contents($_SERVER['DOCUMENT_ROOT'].$baseUrl.'/js/datatables/i18n/'.$locale.'.txt'); } public function generalTranslationTableAction() diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php index 6e57a3523..6337c0edb 100644 --- a/airtime_mvc/application/controllers/PreferenceController.php +++ b/airtime_mvc/application/controllers/PreferenceController.php @@ -44,6 +44,7 @@ class PreferenceController extends Zend_Controller_Action Application_Model_Preference::SetHeadTitle($values["stationName"], $this->view); Application_Model_Preference::SetDefaultFade($values["stationDefaultFade"]); Application_Model_Preference::SetAllow3rdPartyApi($values["thirdPartyApi"]); + Application_Model_Preference::SetLocale($values["locale"]); Application_Model_Preference::SetTimezone($values["timezone"]); Application_Model_Preference::SetWeekStartDay($values["weekStartDay"]); diff --git a/airtime_mvc/application/forms/GeneralPreferences.php b/airtime_mvc/application/forms/GeneralPreferences.php index 7db3b8660..120d427c2 100644 --- a/airtime_mvc/application/forms/GeneralPreferences.php +++ b/airtime_mvc/application/forms/GeneralPreferences.php @@ -50,6 +50,13 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm $third_party_api->setValue(Application_Model_Preference::GetAllow3rdPartyApi()); $third_party_api->setDecorators(array('ViewHelper')); $this->addElement($third_party_api); + + $locale = new Zend_Form_Element_Select("locale"); + $locale->setLabel(_("locale")); + $locale->setMultiOptions($this->getLocales()); + $locale->setValue(Application_Model_Preference::GetLocale()); + $locale->setDecorators(array('ViewHelper')); + $this->addElement($locale); /* Form Element for setting the Timezone */ $timezone = new Zend_Form_Element_Select("timezone"); @@ -109,4 +116,13 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm return $days; } + + private function getLocales() + { + $locales = array( + 'en_CA' => 'English' + ); + + return $locales; + } } diff --git a/airtime_mvc/application/models/Preference.php b/airtime_mvc/application/models/Preference.php index 0d54206e2..4db27f0b3 100644 --- a/airtime_mvc/application/models/Preference.php +++ b/airtime_mvc/application/models/Preference.php @@ -428,6 +428,16 @@ class Application_Model_Preference { return self::getValue("timezone"); } + + public static function SetLocale($locale) + { + self::setValue("locale", $locale); + } + + public static function GetLocale() + { + return self::getValue("locale"); + } public static function SetStationLogo($imagePath) { diff --git a/airtime_mvc/application/views/scripts/form/preferences_general.phtml b/airtime_mvc/application/views/scripts/form/preferences_general.phtml index d8accb8a4..15caeb13b 100644 --- a/airtime_mvc/application/views/scripts/form/preferences_general.phtml +++ b/airtime_mvc/application/views/scripts/form/preferences_general.phtml @@ -50,6 +50,22 @@ + +
+ +
+
+ element->getElement('locale') ?> + element->getElement('locale')->hasErrors()) : ?> + + +
+