diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index 6b52c2a9c..6a7a2c896 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -10,6 +10,7 @@ require_once 'Preference.php'; require_once "DateHelper.php"; require_once "OsPath.php"; require_once "Database.php"; +require_once __DIR__.'/forms/helpers/ValidationTypes.php'; require_once __DIR__.'/controllers/plugins/RabbitMqPlugin.php'; @@ -31,6 +32,19 @@ Zend_Validate::setDefaultNamespaces("Zend"); $front = Zend_Controller_Front::getInstance(); $front->registerPlugin(new RabbitMqPlugin()); +//localization configuration +$codeset = 'UTF-8'; +$lang = Application_Model_Preference::GetLocale().'.'.$codeset; + +putenv("LC_ALL=$lang"); +putenv("LANG=$lang"); +$res = setlocale(LC_MESSAGES, $lang); + +$domain = 'airtime'; +bindtextdomain($domain, '/usr/share/airtime/locale'); +textdomain($domain); +bind_textdomain_codeset($domain, $codeset); + /* The bootstrap class should only be used to initialize actions that return a view. Actions that return JSON will not use the bootstrap class! */ @@ -91,6 +105,10 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap $view->headScript()->appendFile($baseUrl.'/js/jplayer/jquery.jplayer.min.js?'.$CC_CONFIG['airtime_version'], 'text/javascript'); $view->headScript()->appendFile($baseUrl.'/js/sprintf/sprintf-0.7-beta1.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $view->headScript()->appendFile($baseUrl.'/js/bootstrap/bootstrap.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); + $view->headScript()->appendFile($baseUrl.'/js/i18n/jquery.i18n.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); + $view->headScript()->appendFile($baseUrl.'/locale/general-translation-table?'.$CC_CONFIG['airtime_version'],'text/javascript'); + $view->headScript()->appendFile($baseUrl.'/locale/datatables-translation-table?'.$CC_CONFIG['airtime_version'],'text/javascript'); + $view->headScript()->appendScript("$.i18n.setDictionary(general_dict)"); $view->headScript()->appendScript("var baseUrl='$baseUrl'"); //scripts for now playing bar diff --git a/airtime_mvc/application/common/DateHelper.php b/airtime_mvc/application/common/DateHelper.php index a22a26b4a..cc02544cd 100644 --- a/airtime_mvc/application/common/DateHelper.php +++ b/airtime_mvc/application/common/DateHelper.php @@ -332,10 +332,10 @@ class Application_Common_DateHelper // if year is < 1753 or > 9999 it's out of range if ($year < 1753) { $retVal['success'] = false; - $retVal['errMsg'] = "The year '$year' must be within the range of 1753 - 9999"; + $retVal['errMsg'] = sprintf(_("The year %s must be within the range of 1753 - 9999"), $year); } else if (!checkdate($month, $day, $year)) { $retVal['success'] = false; - $retVal['errMsg'] = "'$year-$month-$day' is not a valid date"; + $retVal['errMsg'] = sprintf(_("%s-%s-%s is not a valid date"), $year, $month, $day); } else { // check time if (isset($timeInfo)) { @@ -359,7 +359,7 @@ class Application_Common_DateHelper if ( ($hour < 0 || $hour > 23) || ($min < 0 || $min > 59) || ($sec < 0 || $sec > 59) ) { $retVal['success'] = false; - $retVal['errMsg'] = "'$timeInfo[0]:$timeInfo[1]:$timeInfo[2]' is not a valid time"; + $retVal['errMsg'] = sprintf(_("%s:%s:%s is not a valid time"), $timeInfo[0], $timeInfo[1] ,$timeInfo[2]); } } } diff --git a/airtime_mvc/application/configs/ACL.php b/airtime_mvc/application/configs/ACL.php index 6687011a4..46ec0c6a3 100644 --- a/airtime_mvc/application/configs/ACL.php +++ b/airtime_mvc/application/configs/ACL.php @@ -26,7 +26,8 @@ $ccAcl->add(new Zend_Acl_Resource('library')) ->add(new Zend_Acl_Resource('listenerstat')) ->add(new Zend_Acl_Resource('usersettings')) ->add(new Zend_Acl_Resource('audiopreview')) - ->add(new Zend_Acl_Resource('webstream')); + ->add(new Zend_Acl_Resource('webstream')) + ->add(new Zend_Acl_Resource('locale')); /** Creating permissions */ $ccAcl->allow('G', 'index') @@ -38,6 +39,7 @@ $ccAcl->allow('G', 'index') ->allow('G', 'dashboard') ->allow('G', 'audiopreview') ->allow('G', 'webstream') + ->allow('G', 'locale') ->allow('H', 'preference', 'is-import-in-progress') ->allow('H', 'usersettings') ->allow('H', 'plupload') diff --git a/airtime_mvc/application/configs/classmap-airtime-conf.php b/airtime_mvc/application/configs/classmap-airtime-conf.php index bc786f729..ef0357425 100644 --- a/airtime_mvc/application/configs/classmap-airtime-conf.php +++ b/airtime_mvc/application/configs/classmap-airtime-conf.php @@ -197,4 +197,11 @@ return array ( 'BaseCcListenerCountPeer' => 'airtime/om/BaseCcListenerCountPeer.php', 'BaseCcListenerCount' => 'airtime/om/BaseCcListenerCount.php', 'BaseCcListenerCountQuery' => 'airtime/om/BaseCcListenerCountQuery.php', + 'CcLocaleTableMap' => 'airtime/map/CcLocaleTableMap.php', + 'CcLocalePeer' => 'airtime/CcLocalePeer.php', + 'CcLocale' => 'airtime/CcLocale.php', + 'CcLocaleQuery' => 'airtime/CcLocaleQuery.php', + 'BaseCcLocalePeer' => 'airtime/om/BaseCcLocalePeer.php', + 'BaseCcLocale' => 'airtime/om/BaseCcLocale.php', + 'BaseCcLocaleQuery' => 'airtime/om/BaseCcLocaleQuery.php', ); \ No newline at end of file diff --git a/airtime_mvc/application/configs/navigation.php b/airtime_mvc/application/configs/navigation.php index 59ce874fe..32b4af39d 100644 --- a/airtime_mvc/application/configs/navigation.php +++ b/airtime_mvc/application/configs/navigation.php @@ -9,85 +9,85 @@ */ $pages = array( array( - 'label' => 'Now Playing', + 'label' => _('Now Playing'), 'module' => 'default', 'controller' => 'Showbuilder', 'action' => 'index', 'resource' => 'showbuilder' ), array( - 'label' => 'Add Media', + 'label' => _('Add Media'), 'module' => 'default', 'controller' => 'Plupload', 'action' => 'index', 'resource' => 'plupload' ), array( - 'label' => 'Library', + 'label' => _('Library'), 'module' => 'default', 'controller' => 'Library', 'action' => 'index', 'resource' => 'playlist' ), array( - 'label' => 'Calendar', + 'label' => _('Calendar'), 'module' => 'default', 'controller' => 'Schedule', 'action' => 'index', 'resource' => 'schedule' ), array( - 'label' => 'System', + 'label' => _('System'), 'uri' => '#', 'resource' => 'preference', 'pages' => array( array( - 'label' => 'Preferences', + 'label' => _('Preferences'), 'module' => 'default', 'controller' => 'Preference' ), array( - 'label' => 'Users', + 'label' => _('Users'), 'module' => 'default', 'controller' => 'user', 'action' => 'add-user', 'resource' => 'user' ), array( - 'label' => 'Media Folders', + 'label' => _('Media Folders'), 'module' => 'default', 'controller' => 'Preference', 'action' => 'directory-config', 'id' => 'manage_folder' ), array( - 'label' => 'Streams', + 'label' => _('Streams'), 'module' => 'default', 'controller' => 'Preference', 'action' => 'stream-setting' ), array( - 'label' => 'Support Feedback', + 'label' => _('Support Feedback'), 'module' => 'default', 'controller' => 'Preference', 'action' => 'support-setting' ), array( - 'label' => 'Status', + 'label' => _('Status'), 'module' => 'default', 'controller' => 'systemstatus', 'action' => 'index', 'resource' => 'systemstatus' ), array( - 'label' => 'Playout History', + 'label' => _('Playout History'), 'module' => 'default', 'controller' => 'playouthistory', 'action' => 'index', 'resource' => 'playouthistory' ), array( - 'label' => 'Listener Stats', + 'label' => _('Listener Stats'), 'module' => 'default', 'controller' => 'listenerstat', 'action' => 'index', @@ -96,24 +96,24 @@ $pages = array( ) ), array( - 'label' => 'Help', + 'label' => _('Help'), 'uri' => '#', 'resource' => 'dashboard', 'pages' => array( array( - 'label' => 'Getting Started', + 'label' => _('Getting Started'), 'module' => 'default', 'controller' => 'dashboard', 'action' => 'help', 'resource' => 'dashboard' ), array( - 'label' => 'User Manual', + 'label' => _('User Manual'), 'uri' => "http://www.sourcefabric.org/en/airtime/manuals/", 'target' => "_blank" ), array( - 'label' => 'About', + 'label' => _('About'), 'module' => 'default', 'controller' => 'dashboard', 'action' => 'about', diff --git a/airtime_mvc/application/controllers/ApiController.php b/airtime_mvc/application/controllers/ApiController.php index 44ad714e6..63625335c 100644 --- a/airtime_mvc/application/controllers/ApiController.php +++ b/airtime_mvc/application/controllers/ApiController.php @@ -53,7 +53,7 @@ class ApiController extends Zend_Controller_Action if (!in_array($api_key, $CC_CONFIG["apiKey"]) && is_null(Zend_Auth::getInstance()->getStorage()->read())) { header('HTTP/1.0 401 Unauthorized'); - print 'You are not allowed to access this resource.'; + print _('You are not allowed to access this resource.'); exit; } } @@ -80,7 +80,7 @@ class ApiController extends Zend_Controller_Action if (is_null(Zend_Auth::getInstance()->getStorage()->read())) { header('HTTP/1.0 401 Unauthorized'); - print 'You are not allowed to access this resource.'; + print _('You are not allowed to access this resource.'); return; } @@ -282,7 +282,7 @@ class ApiController extends Zend_Controller_Action echo isset($_GET['callback']) ? $_GET['callback'].'('.json_encode($result).')' : json_encode($result); } else { header('HTTP/1.0 401 Unauthorized'); - print 'You are not allowed to access this resource. '; + print _('You are not allowed to access this resource. '); exit; } } @@ -321,7 +321,7 @@ class ApiController extends Zend_Controller_Action echo isset($_GET['callback']) ? $_GET['callback'].'('.json_encode($result).')' : json_encode($result); } else { header('HTTP/1.0 401 Unauthorized'); - print 'You are not allowed to access this resource. '; + print _('You are not allowed to access this resource. '); exit; } } @@ -502,7 +502,7 @@ class ApiController extends Zend_Controller_Action //File is not in database anymore. if (is_null($file)) { - $return_hash['error'] = "File does not exist in Airtime."; + $return_hash['error'] = _("File does not exist in Airtime."); return $return_hash; } @@ -515,7 +515,7 @@ class ApiController extends Zend_Controller_Action $md['MDATA_KEY_ORIGINAL_PATH']); if (is_null($file)) { - $return_hash['error'] = 'File does not exist in Airtime'; + $return_hash['error'] = _('File does not exist in Airtime'); } else { $filepath = $md['MDATA_KEY_FILEPATH']; //$filepath = str_replace("\\", "", $filepath); @@ -527,7 +527,7 @@ class ApiController extends Zend_Controller_Action $file = Application_Model_StoredFile::RecallByFilepath($filepath); if (is_null($file)) { - $return_hash['error'] = "File doesn't exist in Airtime."; + $return_hash['error'] = _("File doesn't exist in Airtime."); Logging::warn("Attempt to delete file that doesn't exist. Path: '$filepath'"); @@ -573,7 +573,7 @@ class ApiController extends Zend_Controller_Action Logging::info("Received bad request(key=$k), no 'mode' parameter. Bad request is:"); Logging::info( $info_json ); array_push( $responses, array( - 'error' => "Bad request. no 'mode' parameter passed.", + 'error' => _("Bad request. no 'mode' parameter passed."), 'key' => $k)); continue; } elseif ( !in_array($info_json['mode'], $valid_modes) ) { @@ -583,7 +583,7 @@ class ApiController extends Zend_Controller_Action Logging::info("Received bad request(key=$k). 'mode' parameter was invalid with value: '$mode'. Request:"); Logging::info( $info_json ); array_push( $responses, array( - 'error' => "Bad request. 'mode' parameter is invalid", + 'error' => _("Bad request. 'mode' parameter is invalid"), 'key' => $k, 'mode' => $mode ) ); continue; diff --git a/airtime_mvc/application/controllers/AudiopreviewController.php b/airtime_mvc/application/controllers/AudiopreviewController.php index afd413631..3adf3351c 100644 --- a/airtime_mvc/application/controllers/AudiopreviewController.php +++ b/airtime_mvc/application/controllers/AudiopreviewController.php @@ -210,7 +210,7 @@ class AudiopreviewController extends Zend_Controller_Action throw new Exception("Unknown file type: $mime"); } - $elementMap['uri'] = "/api/get-media/file/".$track['item_id']; + $elementMap['uri'] = $baseUrl."/api/get-media/file/".$track['item_id']; } else { $elementMap['uri'] = $track['path']; } diff --git a/airtime_mvc/application/controllers/DashboardController.php b/airtime_mvc/application/controllers/DashboardController.php index 1e693b08f..fe0a0e71c 100644 --- a/airtime_mvc/application/controllers/DashboardController.php +++ b/airtime_mvc/application/controllers/DashboardController.php @@ -33,9 +33,9 @@ class DashboardController extends Zend_Controller_Action Application_Model_RabbitMq::SendMessageToPypo("disconnect_source", $data); } else { if ($source_connected) { - $this->view->error = "You don't have permission to disconnect source."; + $this->view->error = _("You don't have permission to disconnect source."); } else { - $this->view->error = "There is no source connected to this input."; + $this->view->error = _("There is no source connected to this input."); } } } @@ -79,12 +79,12 @@ class DashboardController extends Zend_Controller_Action } } else { if ($source_connected) { - $this->view->error = "You don't have permission to switch source."; + $this->view->error = _("You don't have permission to switch source."); } else { if ($sourcename == 'scheduled_play') { - $this->view->error = "You don't have permission to disconnect source."; + $this->view->error = _("You don't have permission to disconnect source."); } else { - $this->view->error = "There is no source connected to this input."; + $this->view->error = _("There is no source connected to this input."); } } } diff --git a/airtime_mvc/application/controllers/ErrorController.php b/airtime_mvc/application/controllers/ErrorController.php index 2c1aa0b87..0a4fee725 100644 --- a/airtime_mvc/application/controllers/ErrorController.php +++ b/airtime_mvc/application/controllers/ErrorController.php @@ -14,12 +14,12 @@ class ErrorController extends Zend_Controller_Action // 404 error -- controller or action not found $this->getResponse()->setHttpResponseCode(404); - $this->view->message = 'Page not found'; + $this->view->message = _('Page not found'); break; default: // application error $this->getResponse()->setHttpResponseCode(500); - $this->view->message = 'Application error'; + $this->view->message = _('Application error'); break; } diff --git a/airtime_mvc/application/controllers/LibraryController.php b/airtime_mvc/application/controllers/LibraryController.php index df2dd5419..3e5be64d2 100644 --- a/airtime_mvc/application/controllers/LibraryController.php +++ b/airtime_mvc/application/controllers/LibraryController.php @@ -90,7 +90,7 @@ class LibraryController extends Zend_Controller_Action protected function playlistNotFound($p_type) { - $this->view->error = "$p_type not found"; + $this->view->error = sprintf(_("%s not found"), $p_type); Logging::info("$p_type not found"); Application_Model_Library::changePlaylist(null, $p_type); @@ -99,7 +99,7 @@ class LibraryController extends Zend_Controller_Action protected function playlistUnknownError($e) { - $this->view->error = "Something went wrong."; + $this->view->error = _("Something went wrong."); Logging::info($e->getMessage()); } @@ -156,7 +156,7 @@ class LibraryController extends Zend_Controller_Action $user = new Application_Model_User($userInfo->id); //Open a jPlayer window and play the audio clip. - $menu["play"] = array("name"=> "Preview", "icon" => "play", "disabled" => false); + $menu["play"] = array("name"=> _("Preview"), "icon" => "play", "disabled" => false); $isAdminOrPM = $user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER)); @@ -177,19 +177,19 @@ class LibraryController extends Zend_Controller_Action } if ($isAdminOrPM || $obj->getCreatorId() == $user->getId()) { if ($obj_sess->type === "playlist") { - $menu["pl_add"] = array("name"=> "Add to Playlist", "icon" => "add-playlist", "icon" => "copy"); + $menu["pl_add"] = array("name"=> _("Add to Playlist"), "icon" => "add-playlist", "icon" => "copy"); } elseif ($obj_sess->type === "block" && $obj->isStatic()) { - $menu["pl_add"] = array("name"=> "Add to Smart Block", "icon" => "add-playlist", "icon" => "copy"); + $menu["pl_add"] = array("name"=> _("Add to Smart Block"), "icon" => "add-playlist", "icon" => "copy"); } } } if ($isAdminOrPM || $file->getFileOwnerId() == $user->getId()) { - $menu["del"] = array("name"=> "Delete", "icon" => "delete", "url" => $baseUrl."/library/delete"); - $menu["edit"] = array("name"=> "Edit Metadata", "icon" => "edit", "url" => $baseUrl."/library/edit-file-md/id/{$id}"); + $menu["del"] = array("name"=> _("Delete"), "icon" => "delete", "url" => $baseUrl."/library/delete"); + $menu["edit"] = array("name"=> _("Edit Metadata"), "icon" => "edit", "url" => $baseUrl."/library/edit-file-md/id/{$id}"); } $url = $file->getRelativeFileUrl($baseUrl).'/download/true'; - $menu["download"] = array("name" => "Download", "icon" => "download", "url" => $url); + $menu["download"] = array("name" => _("Download"), "icon" => "download", "url" => $url); } elseif ($type === "playlist" || $type === "block") { if ($type === 'playlist') { $obj = new Application_Model_Playlist($id); @@ -200,19 +200,19 @@ class LibraryController extends Zend_Controller_Action } if (($isAdminOrPM || $obj->getCreatorId() == $user->getId()) && $screen == "playlist") { if ($obj_sess->type === "playlist") { - $menu["pl_add"] = array("name"=> "Add to Playlist", "icon" => "add-playlist", "icon" => "copy"); + $menu["pl_add"] = array("name"=> _("Add to Playlist"), "icon" => "add-playlist", "icon" => "copy"); } } } if ($obj_sess->id !== $id && $screen == "playlist") { if ($isAdminOrPM || $obj->getCreatorId() == $user->getId()) { - $menu["edit"] = array("name"=> "Edit", "icon" => "edit"); + $menu["edit"] = array("name"=> _("Edit"), "icon" => "edit"); } } if ($isAdminOrPM || $obj->getCreatorId() == $user->getId()) { - $menu["del"] = array("name"=> "Delete", "icon" => "delete", "url" => $baseUrl."/library/delete"); + $menu["del"] = array("name"=> _("Delete"), "icon" => "delete", "url" => $baseUrl."/library/delete"); } } elseif ($type == "stream") { @@ -221,15 +221,15 @@ class LibraryController extends Zend_Controller_Action if (isset($obj_sess->id) && $screen == "playlist") { if ($isAdminOrPM || $obj->getCreatorId() == $user->getId()) { if ($obj_sess->type === "playlist") { - $menu["pl_add"] = array("name"=> "Add to Playlist", "icon" => "add-playlist", "icon" => "copy"); + $menu["pl_add"] = array("name"=> _("Add to Playlist"), "icon" => "add-playlist", "icon" => "copy"); } } } if ($isAdminOrPM || $obj->getCreatorId() == $user->getId()) { if ($screen == "playlist") { - $menu["edit"] = array("name"=> "Edit", "icon" => "edit", "url" => $baseUrl."/library/edit-file-md/id/{$id}"); + $menu["edit"] = array("name"=> _("Edit"), "icon" => "edit", "url" => $baseUrl."/library/edit-file-md/id/{$id}"); } - $menu["del"] = array("name"=> "Delete", "icon" => "delete", "url" => $baseUrl."/library/delete"); + $menu["del"] = array("name"=> _("Delete"), "icon" => "delete", "url" => $baseUrl."/library/delete"); } } @@ -240,26 +240,26 @@ class LibraryController extends Zend_Controller_Action $menu["sep1"] = "-----------"; //create a sub menu for Soundcloud actions. - $menu["soundcloud"] = array("name" => "Soundcloud", "icon" => "soundcloud", "items" => array()); + $menu["soundcloud"] = array("name" => _("Soundcloud"), "icon" => "soundcloud", "items" => array()); $scid = $file->getSoundCloudId(); if ($scid > 0) { $url = $file->getSoundCloudLinkToFile(); - $menu["soundcloud"]["items"]["view"] = array("name" => "View on Soundcloud", "icon" => "soundcloud", "url" => $url); + $menu["soundcloud"]["items"]["view"] = array("name" => _("View on Soundcloud"), "icon" => "soundcloud", "url" => $url); } if (!is_null($scid)) { - $text = "Re-upload to SoundCloud"; + $text = _("Re-upload to SoundCloud"); } else { - $text = "Upload to SoundCloud"; + $text = _("Upload to SoundCloud"); } $menu["soundcloud"]["items"]["upload"] = array("name" => $text, "icon" => "soundcloud", "url" => $baseUrl."/library/upload-file-soundcloud/id/{$id}"); } if (empty($menu)) { - $menu["noaction"] = array("name"=>"No action available"); + $menu["noaction"] = array("name"=>_("No action available")); } $this->view->items = $menu; @@ -279,7 +279,7 @@ class LibraryController extends Zend_Controller_Action $streams = array(); $message = null; - $noPermissionMsg = "You don't have permission to delete selected items."; + $noPermissionMsg = _("You don't have permission to delete selected items."); foreach ($mediaItems as $media) { @@ -328,7 +328,7 @@ class LibraryController extends Zend_Controller_Action $message = $noPermissionMsg; } catch (Exception $e) { //could throw a scheduled in future exception. - $message = "Could not delete some scheduled files."; + $message = _("Could not delete some scheduled files."); Logging::debug($e->getMessage()); } } @@ -456,10 +456,10 @@ class LibraryController extends Zend_Controller_Action $this->view->md = $md; if ($block->isStatic()) { - $this->view->blType = 'Static'; + $this->view->blType = _('Static'); $this->view->contents = $block->getContents(); } else { - $this->view->blType = 'Dynamic'; + $this->view->blType = _('Dynamic'); $this->view->contents = $block->getCriteria(); } $this->view->block = $block; diff --git a/airtime_mvc/application/controllers/LocaleController.php b/airtime_mvc/application/controllers/LocaleController.php new file mode 100644 index 000000000..7d9e1efcf --- /dev/null +++ b/airtime_mvc/application/controllers/LocaleController.php @@ -0,0 +1,340 @@ +_helper->getHelper('AjaxContext'); + $ajaxContext->addActionContext('general-translation-table', 'json') + ->addActionContext('datatables-translation-table', 'json') + ->initContext(); + } + + public function datatablesTranslationTableAction() + { + $this->view->layout()->disableLayout(); + $this->_helper->viewRenderer->setNoRender(true); + header("Content-type: text/javascript"); + + $baseUrl = Application_Common_OsPath::getBaseDir(); + $locale = Application_Model_Preference::GetLocale(); + echo "var datatables_dict =" . + file_get_contents(Application_Common_OsPath::join( + $_SERVER['DOCUMENT_ROOT'], + $baseUrl, + '/js/datatables/i18n/', + $locale.'.txt') + ); + } + + public function generalTranslationTableAction() + { + $translations = array ( + //common/common.js + "Audio Player" => _("Audio Player"), + //dashboard/dashboard.js + "Recording:" => _("Recording:"), + "Master Stream" => _("Master Stream"), + "Live Stream" => _("Live Stream"), + "Nothing Scheduled" => _("Nothing Scheduled"), + "Current Show:" => _("Current Show:"), + "Current" => _("Current"), + //dashboard/versiontooltip.js + "You are running the latest version" => _("You are running the latest version"), + "New version available: " => _("New version available: "), + "This version will soon be obsolete." => _("This version will soon be obsolete."), + "This version is no longer supported." => _("This version is no longer supported."), + "Please upgrade to " => _("Please upgrade to "), + //library/events/library_playlistbuilder.js + "Add to current playlist" => _("Add to current playlist"), + "Add to current smart block" => _("Add to current smart block"), + "Adding 1 Item" => _("Adding 1 Item"), + "Adding %s Items" => _("Adding %s Items"), + "You can only add tracks to smart blocks." => _("You can only add tracks to smart blocks."), + "You can only add tracks, smart blocks, and webstreams to playlists." => _("You can only add tracks, smart blocks, and webstreams to playlists."), + //library/events/library_showbuilder.js + //already in library/events/library_playlistbuilder.js + //"Adding 1 Item" => _("Adding 1 Item"), + //"Adding %s Items" => _("Adding %s Items"), + //library/library.js + "Add to selected show" => _("Add to selected show"), + "Select" => _("Select"), + "Select this page" => _("Select this page"), + "Deselect this page" => _("Deselect this page"), + "Deselect all" => _("Deselect all"), + "Are you sure you want to delete the selected item(s)?" => _("Are you sure you want to delete the selected item(s)?"), + "Title" => _("Title"), + "Creator" => _("Creator"), + "Album" => _("Album"), + "Bit Rate" => _("Bit Rate"), + "BPM" => _("BPM"), + "Composer" => _("Composer"), + "Conductor" => _("Conductor"), + "Copyright" => _("Copyright"), + "Encoded By" => _("Encoded By"), + "Genre" => _("Genre"), + "ISRC" => _("ISRC"), + "Label" => _("Label"), + "Language" => _("Language"), + "Last Modified" => _("Last Modified"), + "Last Played" => _("Last Played"), + "Length" => _("Length"), + "Mime" => _("Mime"), + "Mood" => _("Mood"), + "Owner" => _("Owner"), + "Replay Gain" => _("Replay Gain"), + "Sample Rate" => _("Sample Rate"), + "Track Number" => _("Track Number"), + "Uploaded" => _("Uploaded"), + "Website" => _("Website"), + "Year" => _("Year"), + "Loading..." => _("Loading..."), + "All" => _("All"), + "Files" => _("Files"), + "Playlists" => _("Playlists"), + "Smart Blocks" => _("Smart Blocks"), + "Web Streams" => _("Web Streams"), + "Unknown type: " => _("Unknown type: "), + "Are you sure you want to delete the selected item?" => _("Are you sure you want to delete the selected item?"), + "Uploading in progress..." => _("Uploading in progress..."), + "Retrieving data from the server..." => _("Retrieving data from the server..."), + "The soundcloud id for this file is: " => _("The soundcloud id for this file is: "), + "There was an error while uploading to soundcloud." => _("There was an error while uploading to soundcloud."), + "Error code: " => _("Error code: "), + "Error msg: " => _("Error msg: "), + "Input must be a positive number" => _("Input must be a positive number"), + "Input must be a number" => _("Input must be a number"), + "Input must be in the format: yyyy-mm-dd" => _("Input must be in the format: yyyy-mm-dd"), + "Input must be in the format: hh:mm:ss.t" => _("Input must be in the format: hh:mm:ss.t"), + //library/plupload.js + "You are currently uploading files. %sGoing to another screen will cancel the upload process. %sAre you sure you want to leave the page?" + => _("You are currently uploading files. %sGoing to another screen will cancel the upload process. %sAre you sure you want to leave the page?"), + //library/spl.js + "please put in a time '00:00:00 (.0)'" => _("please put in a time '00:00:00 (.0)'"), + "please put in a time in seconds '00 (.0)'" => _("please put in a time in seconds '00 (.0)'"), + "Your browser does not support playing this file type: " => _("Your browser does not support playing this file type: "), + "Dynamic block is not previewable" => _("Dynamic block is not previewable"), + "Limit to: " => _("Limit to: "), + "Playlist saved" => _("Playlist saved"), + "Airtime is unsure about the status of this file. This can happen when the file is on a remote drive that is unaccessible or the file is in a directory that isn't 'watched' anymore." + => _("Airtime is unsure about the status of this file. This can happen when the file is on a remote drive that is unaccessible or the file is in a directory that isn't 'watched' anymore."), + //listenerstat/listenerstat.js + "Listener Count on %s: %s" => _("Listener Count on %s: %s"), + //nowplaying/register.js + "Remind me in 1 week" => _("Remind me in 1 week"), + "Remind me never" => _("Remind me never"), + "Yes, help Airtime" => _("Yes, help Airtime"), + "Image must be one of jpg, jpeg, png, or gif" => _("Image must be one of jpg, jpeg, png, or gif"), + //playlist/smart_blockbuilder.js + "A static smart block will save the criteria and generate the block content immediately. This allows you to edit and view it in the Library before adding it to a show." + => _("A static smart block will save the criteria and generate the block content immediately. This allows you to edit and view it in the Library before adding it to a show."), + "A dynamic smart block will only save the criteria. The block content will get generated upon adding it to a show. You will not be able to view and edit the content in the Library." + => _("A dynamic smart block will only save the criteria. The block content will get generated upon adding it to a show. You will not be able to view and edit the content in the Library."), + "The desired block length will not be reached if Airtime cannot find enough unique tracks to match your criteria. Enable this option if you wish to allow tracks to be added multiple times to the smart block." + => _("The desired block length will not be reached if Airtime cannot find enough unique tracks to match your criteria. Enable this option if you wish to allow tracks to be added multiple times to the smart block."), + "Smart block shuffled" => _("Smart block shuffled"), + "Smart block generated and criteria saved" => _("Smart block generated and criteria saved"), + "Smart block saved" => _("Smart block saved"), + "Processing..." => _("Processing..."), + "Select modifier" => _("Select modifier"), + "contains" => _("contains"), + "does not contain" => _("does not contain"), + "is" => _("is"), + "is not" => _("is not"), + "starts with" => _("starts with"), + "ends with" => _("ends with"), + "is greater than" => _("is greater than"), + "is less than" => _("is less than"), + "is in the range" => _("is in the range"), + //playouthistory/historytable.js + "Title" => _("Title"), + "Creator" => _("Creator"), + "Played" => _("Played"), + "Length" => _("Length"), + "Composer" => _("Composer"), + "Copyright" => _("Copyright"), + "All" => _("All"), + //preferences/musicdirs.js + "Choose Storage Folder" => _("Choose Storage Folder"), + "Choose Folder to Watch" => _("Choose Folder to Watch"), + "Are you sure you want to change the storage folder?\nThis will remove the files from your Airtime library!" + => _("Are you sure you want to change the storage folder?\nThis will remove the files from your Airtime library!"), + "Manage Media Folders" => _("Manage Media Folders"), + "Are you sure you want to remove the watched folder?" => _("Are you sure you want to remove the watched folder?"), + "This path is currently not accessible." => _("This path is currently not accessible."), + //preferences/streamsetting.js + "Connected to the streaming server" => _("Connected to the streaming server"), + "The stream is disabled" => _("The stream is disabled"), + "Getting information from the server..." => _("Getting information from the server..."), + "Can not connect to the streaming server" => _("Can not connect to the streaming server"), + "If Airtime is behind a router or firewall, you may need to configure port forwarding and this field information will be incorrect. In this case you will need to manually update this field so it shows the correct host/port/mount that your DJ's need to connect to. The allowed range is between 1024 and 49151." + => _("If Airtime is behind a router or firewall, you may need to configure port forwarding and this field information will be incorrect. In this case you will need to manually update this field so it shows the correct host/port/mount that your DJ's need to connect to. The allowed range is between 1024 and 49151."), + "For more details, please read the %sAirtime Manual%s" => _("For more details, please read the %sAirtime Manual%s"), + "Check this option to enable metadata for OGG streams (stream metadata is the track title, artist, and show name that is displayed in an audio player). VLC and mplayer have a serious bug when playing an OGG/VORBIS stream that has metadata information enabled: they will disconnect from the stream after every song. If you are using an OGG stream and your listeners do not require support for these audio players, then feel free to enable this option." + => _("Check this option to enable metadata for OGG streams (stream metadata is the track title, artist, and show name that is displayed in an audio player). VLC and mplayer have a serious bug when playing an OGG/VORBIS stream that has metadata information enabled: they will disconnect from the stream after every song. If you are using an OGG stream and your listeners do not require support for these audio players, then feel free to enable this option."), + "Check this box to automatically switch off Master/Show source upon source disconnection." => _("Check this box to automatically switch off Master/Show source upon source disconnection."), + "Check this box to automatically switch on Master/Show source upon source connection." => _("Check this box to automatically switch on Master/Show source upon source connection."), + "If your Icecast server expects a username of 'source', this field can be left blank." => _("If your Icecast server expects a username of 'source', this field can be left blank."), + "If your live streaming client does not ask for a username, this field should be 'source'." => _("If your live streaming client does not ask for a username, this field should be 'source'."), + "If you change the username or password values for an enabled stream the playout engine will be rebooted and your listeners will hear silence for 5-10 seconds. Changing the following fields will NOT cause a reboot: Stream Label (Global Settings), and Switch Transition Fade(s), Master Username, and Master Password (Input Stream Settings). If Airtime is recording, and if the change causes a playout engine restart, the recording will be interrupted." + => _("If you change the username or password values for an enabled stream the playout engine will be rebooted and your listeners will hear silence for 5-10 seconds. Changing the following fields will NOT cause a reboot: Stream Label (Global Settings), and Switch Transition Fade(s), Master Username, and Master Password (Input Stream Settings). If Airtime is recording, and if the change causes a playout engine restart, the recording will be interrupted."), + //preferences/support-setting.js + "Image must be one of jpg, jpeg, png, or gif" => _("Image must be one of jpg, jpeg, png, or gif"), + //schedule/add-show.js + "No result found" => _("No result found"), + "This follows the same security pattern for the shows: only users assigned to the show can connect." => _("This follows the same security pattern for the shows: only users assigned to the show can connect."), + "Specify custom authentication which will work only for this show." => _("Specify custom authentication which will work only for this show."), + "If your live streaming client does not ask for a username, this field should be 'source'." => _("If your live streaming client does not ask for a username, this field should be 'source'."), + "The show instance doesn't exist anymore!" => _("The show instance doesn't exist anymore!"), + //schedule/full-calendar-functions + //already in schedule/add-show.js + //"The show instance doesn't exist anymore!" => _("The show instance doesn't exist anymore!"), + "Show" => _("Show"), + "Show is empty" => _("Show is empty"), + "1m" => _("1m"), + "5m" => _("5m"), + "10m" => _("10m"), + "15m" => _("15m"), + "30m" => _("30m"), + "60m" => _("60m"), + "Uploading in progress..." => _("Uploading in progress..."), + "Retreiving data from the server..." => _("Retreiving data from the server..."), + //already in library/library.js + //"The soundcloud id for this file is: " => _("The soundcloud id for this file is: "), + //"There was error while uploading to soundcloud." => _("There was error while uploading to soundcloud."), + //"Error code: " => _("Error code: "), + //"Error msg: " => _("Error msg: "), + "This show has no scheduled content." => _("This show has no scheduled content."), + //already in schedule/add-show.js + //"The show instance doesn't exist anymore!" => _("The show instance doesn't exist anymore!"), + //schedule/schedule.js + "January" => _("January"), + "February" => _("February"), + "March" => _("March"), + "April" => _("April"), + "May" => _("May"), + "June" => _("June"), + "July" => _("July"), + "August" => _("August"), + "September" => _("September"), + "October" => _("October"), + "November" => _("November"), + "December" => _("December"), + "Jan" => _("Jan"), + "Feb" => _("Feb"), + "Mar" => _("Mar"), + "Apr" => _("Apr"), + "May" => _("May"), + "Jun" => _("Jun"), + "Jul" => _("Jul"), + "Aug" => _("Aug"), + "Sep" => _("Sep"), + "Oct" => _("Oct"), + "Nov" => _("Nov"), + "Dec" => _("Dec"), + "today" => _("today"), + "day" => _("day"), + "week" => _("week"), + "month" => _("month"), + "Sunday" => _("Sunday"), + "Monday" => _("Monday"), + "Tuesday" => _("Tuesday"), + "Wednesday" => _("Wednesday"), + "Thursday" => _("Thursday"), + "Friday" => _("Friday"), + "Saturday" => _("Saturday"), + "Sun" => _("Sun"), + "Mon" => _("Mon"), + "Tue" => _("Tue"), + "Wed" => _("Wed"), + "Thu" => _("Thu"), + "Fri" => _("Fri"), + "Sat" => _("Sat"), + "Shows longer than their scheduled time will be cut off by a following show." => _("Shows longer than their scheduled time will be cut off by a following show."), + "Cancel Current Show?" => _("Cancel Current Show?"), + "Stop recording current show?" => _("Stop recording current show?"), + "Ok" => _("Ok"), + "Contents of Show" => _("Contents of Show"), + //already in schedule/add-show.js + //"The show instance doesn't exist anymore!" => _("The show instance doesn't exist anymore!"), + "Remove all content?" => _("Remove all content?"), + //showbuilder/builder.js + "Delete selected item(s)?" => _("Delete selected item(s)?"), + "Start" => _("Start"), + "End" => _("End"), + "Duration" => _("Duration"), + //already in library/library.js + //"Title" => _("Title"), + //"Creator" => _("Creator"), + //"Album" => _("Album"), + //"Mime" => _("Mime"), + "Cue In" => _("Cue In"), + "Cue Out" => _("Cue Out"), + "Fade In" => _("Fade In"), + "Fade Out" => _("Fade Out"), + "Show Empty" => _("Show Empty"), + "Recording From Line In" => _("Recording From Line In"), + "Track preview" => _("Track preview"), + //already in library/spl.js + //"Airtime is unsure about the status of this file. This can happen when the file is on a remote drive that is unaccessible or the file is in a directory that isn't 'watched' anymore." + //=> _("Airtime is unsure about the status of this file. This can happen when the file is on a remote drive that is unaccessible or the file is in a directory that isn't 'watched' anymore."), + "Cannot schedule outside a show." => _("Cannot schedule outside a show."), + "Moving 1 Item" => _("Moving 1 Item"), + "Moving %s Items" => _("Moving %s Items"), + //already in library/library.js + //"Select" => _("Select"), + "Select all" => _("Select all"), + "Select none" => _("Select none"), + "Remove overbooked tracks" => _("Remove overbooked tracks"), + "Remove selected scheduled items" => _("Remove selected scheduled items"), + "Jump to the current playing track" => _("Jump to the current playing track"), + "Cancel current show" => _("Cancel current show"), + //already in schedule/schedule.js + //"Cancel Current Show?" => _("Cancel Current Show?"), + "Stop recording current show?" => _("Stop recording current show?"), + //showbuilder/main_builder.js + "Open library to add or remove content" => _("Open library to add or remove content"), + "Add / Remove Content" => _("Add / Remove Content"), + //status/status.js + "in use" => _("in use"), + "Disk" => _("Disk"), + //serverbrowse/serverbrowse.js + "Look in" => _("Look in"), + "Cancel" => _("Cancel"), + "Open" => _("Open"), + //user/user.js + "Admin" => _("Admin"), + "DJ" => _("DJ"), + "Program Manager" => _("Program Manager"), + "Guest" => _("Guest"), + //dataTables/ColVis.js + "Show / hide columns" => _("Show / hide columns"), + //datatables.columnFilter.js + "From {from} to {to}" => _("From {from} to {to}"), + "kbps" => _("kbps"), + "yyyy-mm-dd" => _("yyyy-mm-dd"), + "hh:mm:ss.t" => _("hh:mm:ss.t"), + "kHz" => _("kHz"), + //datepicker + //months are already in schedule/schedule.js + "Su" => _("Su"), + "Mo" => _("Mo"), + "Tu" => _("Tu"), + "We" => _("We"), + "Th" => _("Th"), + "Fr" => _("Fr"), + "Sa" => _("Sa"), + "Close" => _("Close"), + //timepicker + "Hour" => _("Hour"), + "Minute" => _("Minute"), + "Done" => _("Done") + + ); + $this->view->layout()->disableLayout(); + $this->_helper->viewRenderer->setNoRender(true); + header("Content-type: text/javascript"); + echo "var general_dict=".json_encode($translations); + + } +} \ No newline at end of file diff --git a/airtime_mvc/application/controllers/LoginController.php b/airtime_mvc/application/controllers/LoginController.php index d4d66bf50..76be05bf4 100644 --- a/airtime_mvc/application/controllers/LoginController.php +++ b/airtime_mvc/application/controllers/LoginController.php @@ -31,7 +31,7 @@ class LoginController extends Zend_Controller_Action $form = new Application_Form_Login(); - $message = "Please enter your user name and password"; + $message = _("Please enter your user name and password"); if ($request->isPost()) { // if the post contains recaptcha field, which means form had recaptcha field. @@ -70,7 +70,7 @@ class LoginController extends Zend_Controller_Action $this->_redirect('Showbuilder'); } else { - $message = "Wrong username or password provided. Please try again."; + $message = _("Wrong username or password provided. Please try again."); Application_Model_Subjects::increaseLoginAttempts($username); Application_Model_LoginAttempts::increaseAttempts($_SERVER['REMOTE_ADDR']); $form = new Application_Form_Login(); @@ -132,10 +132,10 @@ class LoginController extends Zend_Controller_Action if ($success) { $this->_helper->redirector('password-restore-after', 'login'); } else { - $form->email->addError($this->view->translate("Email could not be sent. Check your mail server settings and ensure it has been configured properly.")); + $form->email->addError($this->view->translate(_("Email could not be sent. Check your mail server settings and ensure it has been configured properly."))); } } else { - $form->email->addError($this->view->translate("Given email not found.")); + $form->email->addError($this->view->translate(_("Given email not found."))); } } diff --git a/airtime_mvc/application/controllers/PlaylistController.php b/airtime_mvc/application/controllers/PlaylistController.php index 7283bba48..19c2756e7 100644 --- a/airtime_mvc/application/controllers/PlaylistController.php +++ b/airtime_mvc/application/controllers/PlaylistController.php @@ -42,7 +42,7 @@ class PlaylistController extends Zend_Controller_Action $modified = $this->_getParam('modified', null); if ($obj->getLastModified("U") !== $modified) { $this->createFullResponse($obj); - throw new PlaylistOutDatedException("You are viewing an older version of {$obj->getName()}"); + throw new PlaylistOutDatedException(sprintf(_("You are viewing an older version of %s"), $obj->getName())); } } @@ -117,14 +117,14 @@ class PlaylistController extends Zend_Controller_Action private function blockDynamic($obj) { - $this->view->error = "You cannot add tracks to dynamic blocks."; + $this->view->error = _("You cannot add tracks to dynamic blocks."); $this->createFullResponse($obj); } private function playlistNotFound($p_type, $p_isJson = false) { $p_type = ucfirst($p_type); - $this->view->error = "{$p_type} not found"; + $this->view->error = sprintf(_("%s not found"), $p_type); Logging::info("{$p_type} not found"); Application_Model_Library::changePlaylist(null, $p_type); @@ -138,26 +138,26 @@ class PlaylistController extends Zend_Controller_Action private function playlistNoPermission($p_type) { - $this->view->error = "You don't have permission to delete selected {$p_type}(s)."; + $this->view->error = sprintf(_("You don't have permission to delete selected %s(s)."), $p_type); $this->changePlaylist(null, $p_type); $this->createFullResponse(null); } private function playlistUnknownError($e) { - $this->view->error = "Something went wrong."; + $this->view->error = _("Something went wrong."); Logging::info($e->getMessage()); } private function wrongTypeToBlock($obj) { - $this->view->error = "You can only add tracks to smart block."; + $this->view->error = _("You can only add tracks to smart block."); $this->createFullResponse($obj); } private function wrongTypeToPlaylist($obj) { - $this->view->error = "You can only add tracks, smart blocks, and webstreams to playlists."; + $this->view->error = _("You can only add tracks, smart blocks, and webstreams to playlists."); $this->createFullResponse($obj); } @@ -169,9 +169,9 @@ class PlaylistController extends Zend_Controller_Action $objInfo = Application_Model_Library::getObjInfo($type); - $name = 'Untitled Playlist'; + $name = _('Untitled Playlist'); if ($type == 'block') { - $name = 'Untitled Smart Block'; + $name = _('Untitled Smart Block'); } $obj = new $objInfo['className'](); @@ -434,7 +434,7 @@ class PlaylistController extends Zend_Controller_Action public function setPlaylistNameDescAction() { - $name = $this->_getParam('name', 'Unknown Playlist'); + $name = $this->_getParam('name', _('Unknown Playlist')); $description = $this->_getParam('description', ""); $type = $this->_getParam('type'); diff --git a/airtime_mvc/application/controllers/PluploadController.php b/airtime_mvc/application/controllers/PluploadController.php index 64de111d2..eddf9b47c 100644 --- a/airtime_mvc/application/controllers/PluploadController.php +++ b/airtime_mvc/application/controllers/PluploadController.php @@ -16,10 +16,12 @@ class PluploadController extends Zend_Controller_Action global $CC_CONFIG; $baseUrl = Application_Common_OsPath::getBaseDir(); + $locale = Application_Model_Preference::GetLocale(); $this->view->headScript()->appendFile($baseUrl.'/js/plupload/plupload.full.min.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $this->view->headScript()->appendFile($baseUrl.'/js/plupload/jquery.plupload.queue.min.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $this->view->headScript()->appendFile($baseUrl.'/js/airtime/library/plupload.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); + $this->view->headScript()->appendFile($baseUrl.'/js/plupload/i18n/'.$locale.'.js?'.$CC_CONFIG['airtime_version'],'text/javascript'); $this->view->headLink()->appendStylesheet($baseUrl.'/css/plupload.queue.css?'.$CC_CONFIG['airtime_version']); } diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php index 5ed298d0f..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"]); @@ -66,7 +67,7 @@ class PreferenceController extends Zend_Controller_Action Application_Model_Preference::SetSoundCloudTrackType($values["SoundCloudTrackType"]); Application_Model_Preference::SetSoundCloudLicense($values["SoundCloudLicense"]); - $this->view->statusMsg = "
Preferences updated.
"; + $this->view->statusMsg = "
". _("Preferences updated.")."
"; $this->view->form = $form; die(json_encode(array("valid"=>"true", "html"=>$this->view->render('preference/index.phtml')))); } else { @@ -118,7 +119,7 @@ class PreferenceController extends Zend_Controller_Action Application_Model_Preference::SetPrivacyPolicyCheck($values["Privacy"]); } } - $this->view->statusMsg = "
Support setting updated.
"; + $this->view->statusMsg = "
"._("Support setting updated.")."
"; } } $logo = Application_Model_Preference::GetStationLogo(); @@ -130,7 +131,7 @@ class PreferenceController extends Zend_Controller_Action $privacyChecked = true; } $this->view->privacyChecked = $privacyChecked; - $this->view->section_title = 'Support Feedback'; + $this->view->section_title = _('Support Feedback'); $this->view->form = $form; //$form->render($this->view); } @@ -301,7 +302,7 @@ class PreferenceController extends Zend_Controller_Action $this->view->enable_stream_conf = Application_Model_Preference::GetEnableStreamConf(); $this->view->form = $form; $this->view->num_stream = $num_of_stream; - $this->view->statusMsg = "
Stream Setting Updated.
"; + $this->view->statusMsg = "
"._("Stream Setting Updated.")."
"; die(json_encode(array("valid"=>"true", "html"=>$this->view->render('preference/stream-setting.phtml')))); } else { $live_stream_subform->updateVariables(); @@ -328,7 +329,7 @@ class PreferenceController extends Zend_Controller_Action if (is_null($path)) { $element = array(); - $element["name"] = "path should be specified"; + $element["name"] = _("path should be specified"); $element["isFolder"] = false; $element["isError"] = true; $result[$path] = $element; @@ -423,7 +424,7 @@ class PreferenceController extends Zend_Controller_Action $num_of_stream = intval(Application_Model_Preference::GetNumOfStreams()); for ($i=1; $i<=$num_of_stream; $i++) { $status = Application_Model_StreamSetting::getLiquidsoapError($i); - $status = $status == NULL?"Problem with Liquidsoap...":$status; + $status = $status == NULL?_("Problem with Liquidsoap..."):$status; if (!Application_Model_StreamSetting::getStreamEnabled($i)) { $status = "N/A"; } diff --git a/airtime_mvc/application/controllers/ScheduleController.php b/airtime_mvc/application/controllers/ScheduleController.php index c21b2d29a..93729ff1f 100644 --- a/airtime_mvc/application/controllers/ScheduleController.php +++ b/airtime_mvc/application/controllers/ScheduleController.php @@ -250,7 +250,7 @@ class ScheduleController extends Zend_Controller_Action $file = $instance->getRecordedFile(); $fileId = $file->getId(); - $menu["view_recorded"] = array("name" => "View Recorded File Metadata", "icon" => "overview", + $menu["view_recorded"] = array("name" => _("View Recorded File Metadata"), "icon" => "overview", "url" => $baseUrl."/library/edit-file-md/id/".$fileId); } @@ -259,17 +259,17 @@ class ScheduleController extends Zend_Controller_Action && !$instance->isRecorded() && !$instance->isRebroadcast()) { - $menu["schedule"] = array("name"=> "Add / Remove Content", "icon" => "add-remove-content", + $menu["schedule"] = array("name"=> _("Add / Remove Content"), "icon" => "add-remove-content", "url" => $baseUrl."/showbuilder/builder-dialog/"); - $menu["clear"] = array("name"=> "Remove All Content", "icon" => "remove-all-content", + $menu["clear"] = array("name"=> _("Remove All Content"), "icon" => "remove-all-content", "url" => $baseUrl."/schedule/clear-show"); } } if (!$instance->isRecorded()) { - $menu["content"] = array("name"=> "Show Content", "icon" => "overview", "url" => $baseUrl."/schedule/show-content-dialog"); + $menu["content"] = array("name"=> _("Show Content"), "icon" => "overview", "url" => $baseUrl."/schedule/show-content-dialog"); } if ($showEndLocalDT->getTimestamp() <= $epochNow @@ -282,10 +282,10 @@ class ScheduleController extends Zend_Controller_Action if ($scid > 0) { $url = $file->getSoundCloudLinkToFile(); - $menu["soundcloud_view"] = array("name" => "View on Soundcloud", "icon" => "soundcloud", "url" => $url); + $menu["soundcloud_view"] = array("name" => _("View on Soundcloud"), "icon" => "soundcloud", "url" => $url); } - $text = is_null($scid) ? 'Upload to SoundCloud' : 'Re-upload to SoundCloud'; + $text = is_null($scid) ? _('Upload to SoundCloud') : _('Re-upload to SoundCloud'); $menu["soundcloud_upload"] = array("name"=> $text, "icon" => "soundcloud"); } @@ -293,34 +293,34 @@ class ScheduleController extends Zend_Controller_Action $epochNow < $showEndLocalDT->getTimestamp() && $isAdminOrPM) { if ($instance->isRecorded()) { - $menu["cancel_recorded"] = array("name"=> "Cancel Current Show", "icon" => "delete"); + $menu["cancel_recorded"] = array("name"=> _("Cancel Current Show"), "icon" => "delete"); } else { if (!$instance->isRebroadcast()) { - $menu["edit"] = array("name"=> "Edit Show", "icon" => "edit", "_type"=>"all", "url" => $baseUrl."/Schedule/populate-show-form"); + $menu["edit"] = array("name"=> _("Edit Show"), "icon" => "edit", "_type"=>"all", "url" => $baseUrl."/Schedule/populate-show-form"); } - $menu["cancel"] = array("name"=> "Cancel Current Show", "icon" => "delete"); + $menu["cancel"] = array("name"=> _("Cancel Current Show"), "icon" => "delete"); } } if ($epochNow < $showStartLocalDT->getTimestamp()) { if (!$instance->isRebroadcast() && $isAdminOrPM) { - $menu["edit"] = array("name"=> "Edit Show", "icon" => "edit", "_type"=>"all", "url" => $baseUrl."/Schedule/populate-show-form"); + $menu["edit"] = array("name"=> _("Edit Show"), "icon" => "edit", "_type"=>"all", "url" => $baseUrl."/Schedule/populate-show-form"); } if ($instance->getShow()->isRepeating() && $isAdminOrPM) { //create delete sub menu. - $menu["del"] = array("name"=> "Delete", "icon" => "delete", "items" => array()); + $menu["del"] = array("name"=> _("Delete"), "icon" => "delete", "items" => array()); - $menu["del"]["items"]["single"] = array("name"=> "Delete This Instance", "icon" => "delete", "url" => $baseUrl."/schedule/delete-show"); + $menu["del"]["items"]["single"] = array("name"=> _("Delete This Instance"), "icon" => "delete", "url" => $baseUrl."/schedule/delete-show"); - $menu["del"]["items"]["following"] = array("name"=> "Delete This Instance and All Following", "icon" => "delete", "url" => $baseUrl."/schedule/cancel-show"); + $menu["del"]["items"]["following"] = array("name"=> _("Delete This Instance and All Following"), "icon" => "delete", "url" => $baseUrl."/schedule/cancel-show"); } elseif ($isAdminOrPM) { - $menu["del"] = array("name"=> "Delete", "icon" => "delete", "url" => $baseUrl."/schedule/delete-show"); + $menu["del"] = array("name"=> _("Delete"), "icon" => "delete", "url" => $baseUrl."/schedule/delete-show"); } } @@ -443,8 +443,10 @@ class ScheduleController extends Zend_Controller_Action $originalDateTime->setTimezone(new DateTimeZone(date_default_timezone_get())); //$timestamp = Application_Common_DateHelper::ConvertToLocalDateTimeString($originalDateTime->format("Y-m-d H:i:s")); $this->view->additionalShowInfo = - "Rebroadcast of show \"$originalShowName\" from " - .$originalDateTime->format("l, F jS")." at ".$originalDateTime->format("G:i"); + sprintf(_("Rebroadcast of show %s from %s at %s"), + $originalShowName, + $originalDateTime->format("l, F jS"), + $originalDateTime->format("G:i")); } $this->view->showLength = $show->getShowLength(); $this->view->timeFilled = $show->getTimeScheduled(); @@ -895,7 +897,7 @@ class ScheduleController extends Zend_Controller_Action $baseUrl = $this->getRequest()->getBaseUrl(); $url = $file->getRelativeFileUrl($baseUrl).'/download/true'; $menu[] = array('action' => array('type' => 'gourl', 'url' => $url), - 'title' => 'Download'); + 'title' => _('Download')); //returns format jjmenu is looking for. die(json_encode($menu)); diff --git a/airtime_mvc/application/controllers/ShowbuilderController.php b/airtime_mvc/application/controllers/ShowbuilderController.php index 8080bc536..7760f8f07 100644 --- a/airtime_mvc/application/controllers/ShowbuilderController.php +++ b/airtime_mvc/application/controllers/ShowbuilderController.php @@ -187,15 +187,15 @@ class ShowbuilderController extends Zend_Controller_Action $item = CcScheduleQuery::create()->findPK($id); $instance = $item->getCcShowInstances(); - $menu["preview"] = array("name"=> "Preview", "icon" => "play"); + $menu["preview"] = array("name"=> _("Preview"), "icon" => "play"); //select the cursor - $menu["selCurs"] = array("name"=> "Select cursor","icon" => "select-cursor"); - $menu["delCurs"] = array("name"=> "Remove cursor","icon" => "select-cursor"); + $menu["selCurs"] = array("name"=> _("Select cursor"),"icon" => "select-cursor"); + $menu["delCurs"] = array("name"=> _("Remove cursor"),"icon" => "select-cursor"); if ($now < floatval($item->getDbEnds("U.u")) && $user->canSchedule($instance->getDbShowId())) { //remove/truncate the item from the schedule - $menu["del"] = array("name"=> "Delete", "icon" => "delete", "url" => $baseUrl."/showbuilder/schedule-remove"); + $menu["del"] = array("name"=> _("Delete"), "icon" => "delete", "url" => $baseUrl."/showbuilder/schedule-remove"); } $this->view->items = $menu; @@ -209,7 +209,7 @@ class ShowbuilderController extends Zend_Controller_Action $instance = CcShowInstancesQuery::create()->findPK($id); if (is_null($instance)) { - $this->view->error = "show does not exist"; + $this->view->error = _("show does not exist"); return; } diff --git a/airtime_mvc/application/controllers/UserController.php b/airtime_mvc/application/controllers/UserController.php index a9418ea12..b04a6e98b 100644 --- a/airtime_mvc/application/controllers/UserController.php +++ b/airtime_mvc/application/controllers/UserController.php @@ -51,7 +51,7 @@ class UserController extends Zend_Controller_Action && $formData['login'] == 'admin' && $formData['user_id'] != 0) { $this->view->form = $form; - $this->view->successMessage = "
Specific action is not allowed in demo version!
"; + $this->view->successMessage = "
"._("Specific action is not allowed in demo version!")."
"; die(json_encode(array("valid"=>"false", "html"=>$this->view->render('user/add-user.phtml')))); } elseif ($form->validateLogin($formData)) { $user = new Application_Model_User($formData['user_id']); @@ -75,9 +75,9 @@ class UserController extends Zend_Controller_Action $this->view->form = $form; if (strlen($formData['user_id']) == 0) { - $this->view->successMessage = "
User added successfully!
"; + $this->view->successMessage = "
"._("User added successfully!")."
"; } else { - $this->view->successMessage = "
User updated successfully!
"; + $this->view->successMessage = "
"._("User updated successfully!")."
"; } die(json_encode(array("valid"=>"true", "html"=>$this->view->render('user/add-user.phtml')))); diff --git a/airtime_mvc/application/controllers/WebstreamController.php b/airtime_mvc/application/controllers/WebstreamController.php index ebb5acbf6..8eb9a2ac5 100644 --- a/airtime_mvc/application/controllers/WebstreamController.php +++ b/airtime_mvc/application/controllers/WebstreamController.php @@ -26,11 +26,11 @@ class WebstreamController extends Zend_Controller_Action //we're not saving this primary key in the DB so it's OK to be -1 $webstream->setDbId(-1); - $webstream->setDbName("Untitled Webstream"); + $webstream->setDbName(_("Untitled Webstream")); $webstream->setDbDescription(""); $webstream->setDbUrl("http://"); $webstream->setDbLength("00:30:00"); - $webstream->setDbName("Untitled Webstream"); + $webstream->setDbName(_("Untitled Webstream")); $webstream->setDbCreatorId($userInfo->id); $webstream->setDbUtime(new DateTime("now", new DateTimeZone('UTC'))); $webstream->setDbMtime(new DateTime("now", new DateTimeZone('UTC'))); @@ -135,7 +135,7 @@ class WebstreamController extends Zend_Controller_Action Application_Model_Library::changePlaylist($streamId, "stream"); - $this->view->statusMessage = "
Webstream saved.
"; + $this->view->statusMessage = "
"._("Webstream saved.")."
"; $this->view->streamId = $streamId; $this->view->length = $di->format("%Hh %Im"); } else { @@ -143,7 +143,7 @@ class WebstreamController extends Zend_Controller_Action } } catch (Exception $e) { Logging::debug($e->getMessage()); - $this->view->statusMessage = "
Invalid form values.
"; + $this->view->statusMessage = "
"._("Invalid form values.")."
"; $this->view->streamId = -1; $this->view->analysis = $analysis; } diff --git a/airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php b/airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php index 8bfa71b2f..a2f5b5cf3 100644 --- a/airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php +++ b/airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php @@ -23,7 +23,7 @@ class Application_Form_AddShowAbsoluteRebroadcastDates extends Zend_Form_SubForm $text->setAttrib('class', 'input_text'); $text->addFilter('StringTrim'); $text->addValidator('date', false, array('HH:mm')); - $text->addValidator('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => 'Invalid character entered')); + $text->addValidator('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => _('Invalid character entered'))); $text->setRequired(false); $text->setDecorators(array('ViewHelper')); $this->addElement($text); @@ -55,12 +55,12 @@ class Application_Form_AddShowAbsoluteRebroadcastDates extends Zend_Form_SubForm } if (trim($day) == "") { - $this->getElement('add_show_rebroadcast_date_absolute_'.$i)->setErrors(array("Day must be specified")); + $this->getElement('add_show_rebroadcast_date_absolute_'.$i)->setErrors(array(_("Day must be specified"))); $valid = false; } if (trim($time) == "") { - $this->getElement('add_show_rebroadcast_time_absolute_'.$i)->setErrors(array("Time must be specified")); + $this->getElement('add_show_rebroadcast_time_absolute_'.$i)->setErrors(array(_("Time must be specified"))); $valid = false; } @@ -83,7 +83,7 @@ class Application_Form_AddShowAbsoluteRebroadcastDates extends Zend_Form_SubForm $rebroad_start = new DateTime($rebroad_start); if ($rebroad_start < $show_end) { - $this->getElement('add_show_rebroadcast_time_absolute_'.$i)->setErrors(array("Must wait at least 1 hour to rebroadcast")); + $this->getElement('add_show_rebroadcast_time_absolute_'.$i)->setErrors(array(_("Must wait at least 1 hour to rebroadcast"))); $valid = false; $noError = false; } diff --git a/airtime_mvc/application/forms/AddShowLiveStream.php b/airtime_mvc/application/forms/AddShowLiveStream.php index b241a54f0..b34aab2e5 100644 --- a/airtime_mvc/application/forms/AddShowLiveStream.php +++ b/airtime_mvc/application/forms/AddShowLiveStream.php @@ -7,13 +7,13 @@ class Application_Form_AddShowLiveStream extends Zend_Form_SubForm public function init() { $cb_airtime_auth = new Zend_Form_Element_Checkbox("cb_airtime_auth"); - $cb_airtime_auth->setLabel("Use Airtime Authentication:") + $cb_airtime_auth->setLabel(_("Use Airtime Authentication:")) ->setRequired(false) ->setDecorators(array('ViewHelper')); $this->addElement($cb_airtime_auth); $cb_custom_auth = new Zend_Form_Element_Checkbox("cb_custom_auth"); - $cb_custom_auth ->setLabel("Use Custom Authentication:") + $cb_custom_auth ->setLabel(_("Use Custom Authentication:")) ->setRequired(false) ->setDecorators(array('ViewHelper')); $this->addElement($cb_custom_auth); @@ -23,7 +23,7 @@ class Application_Form_AddShowLiveStream extends Zend_Form_SubForm $custom_username->setAttrib('class', 'input_text') ->setAttrib('autocomplete', 'off') ->setAllowEmpty(true) - ->setLabel('Custom Username') + ->setLabel(_('Custom Username')) ->setFilters(array('StringTrim')) ->setValidators(array( new ConditionalNotEmpty(array("cb_custom_auth"=>"1")))) @@ -36,7 +36,7 @@ class Application_Form_AddShowLiveStream extends Zend_Form_SubForm ->setAttrib('autocomplete', 'off') ->setAttrib('renderPassword','true') ->setAllowEmpty(true) - ->setLabel('Custom Password') + ->setLabel(_('Custom Password')) ->setFilters(array('StringTrim')) ->setValidators(array( new ConditionalNotEmpty(array("cb_custom_auth"=>"1")))) @@ -60,12 +60,12 @@ class Application_Form_AddShowLiveStream extends Zend_Form_SubForm if ($data['cb_custom_auth'] == 1) { if (trim($data['custom_username']) == '') { $element = $this->getElement("custom_username"); - $element->addError("Username field cannot be empty."); + $element->addError(_("Username field cannot be empty.")); $isValid = false; } if (trim($data['custom_password']) == '') { $element = $this->getElement("custom_password"); - $element->addError("Password field cannot be empty."); + $element->addError(_("Password field cannot be empty.")); $isValid = false; } } diff --git a/airtime_mvc/application/forms/AddShowRR.php b/airtime_mvc/application/forms/AddShowRR.php index 5c33723b6..f1fc4fcfd 100644 --- a/airtime_mvc/application/forms/AddShowRR.php +++ b/airtime_mvc/application/forms/AddShowRR.php @@ -7,13 +7,13 @@ class Application_Form_AddShowRR extends Zend_Form_SubForm { // Add record element $this->addElement('checkbox', 'add_show_record', array( - 'label' => 'Record from Line In?', + 'label' => _('Record from Line In?'), 'required' => false, )); // Add record element $this->addElement('checkbox', 'add_show_rebroadcast', array( - 'label' => 'Rebroadcast?', + 'label' => _('Rebroadcast?'), 'required' => false, )); } diff --git a/airtime_mvc/application/forms/AddShowRebroadcastDates.php b/airtime_mvc/application/forms/AddShowRebroadcastDates.php index 7bf0ea3a4..74725c98c 100644 --- a/airtime_mvc/application/forms/AddShowRebroadcastDates.php +++ b/airtime_mvc/application/forms/AddShowRebroadcastDates.php @@ -12,7 +12,7 @@ class Application_Form_AddShowRebroadcastDates extends Zend_Form_SubForm $relativeDates = array(); $relativeDates[""] = ""; for ($i=0; $i<=30; $i++) { - $relativeDates["$i days"] = "+$i days"; + $relativeDates["$i days"] = "+$i "._("days"); } for ($i=1; $i<=10; $i++) { @@ -28,7 +28,7 @@ class Application_Form_AddShowRebroadcastDates extends Zend_Form_SubForm $text->setAttrib('class', 'input_text'); $text->addFilter('StringTrim'); $text->addValidator('date', false, array('HH:mm')); - $text->addValidator('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => 'Invalid character entered')); + $text->addValidator('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => _('Invalid character entered'))); $text->setRequired(false); $text->setDecorators(array('ViewHelper')); $this->addElement($text); @@ -60,12 +60,12 @@ class Application_Form_AddShowRebroadcastDates extends Zend_Form_SubForm } if (trim($days) == "") { - $this->getElement('add_show_rebroadcast_date_'.$i)->setErrors(array("Day must be specified")); + $this->getElement('add_show_rebroadcast_date_'.$i)->setErrors(array(_("Day must be specified"))); $valid = false; } if (trim($time) == "") { - $this->getElement('add_show_rebroadcast_time_'.$i)->setErrors(array("Time must be specified")); + $this->getElement('add_show_rebroadcast_time_'.$i)->setErrors(array(_("Time must be specified"))); $valid = false; } @@ -92,7 +92,7 @@ class Application_Form_AddShowRebroadcastDates extends Zend_Form_SubForm $rebroad_start->add(new DateInterval("P".$day."D")); if ($rebroad_start < $show_end) { - $this->getElement('add_show_rebroadcast_time_'.$i)->setErrors(array("Must wait at least 1 hour to rebroadcast")); + $this->getElement('add_show_rebroadcast_time_'.$i)->setErrors(array(_("Must wait at least 1 hour to rebroadcast"))); $valid = false; $noError = false; } diff --git a/airtime_mvc/application/forms/AddShowRepeats.php b/airtime_mvc/application/forms/AddShowRepeats.php index 85bb7cb44..f0c2609e2 100644 --- a/airtime_mvc/application/forms/AddShowRepeats.php +++ b/airtime_mvc/application/forms/AddShowRepeats.php @@ -8,12 +8,12 @@ class Application_Form_AddShowRepeats extends Zend_Form_SubForm //Add type select $this->addElement('select', 'add_show_repeat_type', array( 'required' => true, - 'label' => 'Repeat Type:', + 'label' => _('Repeat Type:'), 'class' => ' input_select', 'multiOptions' => array( - "0" => "weekly", - "1" => "bi-weekly", - "2" => "monthly" + "0" => _("weekly"), + "1" => _("bi-weekly"), + "2" => _("monthly") ), )); @@ -22,22 +22,22 @@ class Application_Form_AddShowRepeats extends Zend_Form_SubForm 'multiCheckbox', 'add_show_day_check', array( - 'label' => 'Select Days:', + 'label' => _('Select Days:'), 'required' => false, 'multiOptions' => array( - "0" => "Sun", - "1" => "Mon", - "2" => "Tue", - "3" => "Wed", - "4" => "Thu", - "5" => "Fri", - "6" => "Sat", + "0" => _("Sun"), + "1" => _("Mon"), + "2" => _("Tue"), + "3" => _("Wed"), + "4" => _("Thu"), + "5" => _("Fri"), + "6" => _("Sat"), ), )); // Add end date element $this->addElement('text', 'add_show_end_date', array( - 'label' => 'Date End:', + 'label' => _('Date End:'), 'class' => 'input_text', 'value' => date("Y-m-d"), 'required' => false, @@ -50,7 +50,7 @@ class Application_Form_AddShowRepeats extends Zend_Form_SubForm // Add no end element $this->addElement('checkbox', 'add_show_no_end', array( - 'label' => 'No End?', + 'label' => _('No End?'), 'required' => false, 'checked' => true, )); @@ -76,7 +76,7 @@ class Application_Form_AddShowRepeats extends Zend_Form_SubForm $end_epoch = strtotime($end_timestamp); if ($end_epoch < $start_epoch) { - $this->getElement('add_show_end_date')->setErrors(array('End date must be after start date')); + $this->getElement('add_show_end_date')->setErrors(array(_('End date must be after start date'))); return false; } diff --git a/airtime_mvc/application/forms/AddShowStyle.php b/airtime_mvc/application/forms/AddShowStyle.php index 6ea301874..5f897f6ea 100644 --- a/airtime_mvc/application/forms/AddShowStyle.php +++ b/airtime_mvc/application/forms/AddShowStyle.php @@ -7,7 +7,7 @@ class Application_Form_AddShowStyle extends Zend_Form_SubForm { // Add show background-color input $this->addElement('text', 'add_show_background_color', array( - 'label' => 'Background Colour:', + 'label' => _('Background Colour:'), 'class' => 'input_text', 'filters' => array('StringTrim') )); @@ -26,7 +26,7 @@ class Application_Form_AddShowStyle extends Zend_Form_SubForm // Add show color input $this->addElement('text', 'add_show_color', array( - 'label' => 'Text Colour:', + 'label' => _('Text Colour:'), 'class' => 'input_text', 'filters' => array('StringTrim') )); diff --git a/airtime_mvc/application/forms/AddShowWhat.php b/airtime_mvc/application/forms/AddShowWhat.php index 7a092f4b5..20aeb6ef5 100644 --- a/airtime_mvc/application/forms/AddShowWhat.php +++ b/airtime_mvc/application/forms/AddShowWhat.php @@ -4,6 +4,7 @@ class Application_Form_AddShowWhat extends Zend_Form_SubForm { public function init() { + $notEmptyValidator = Application_Form_Helper_ValidationTypes::overrideNotEmptyValidator(); // retrieves the length limit for each char field // and store to assoc array $maxLens = Application_Model_Show::getMaxLengths(); @@ -22,27 +23,26 @@ class Application_Form_AddShowWhat extends Zend_Form_SubForm // Add name element $this->addElement('text', 'add_show_name', array( - 'label' => 'Name:', + 'label' => _('Name:'), 'class' => 'input_text', 'required' => true, 'filters' => array('StringTrim'), - 'validators' => array('NotEmpty'), - 'value' => 'Untitled Show', - 'validators' => array(array('StringLength', false, array(0, $maxLens['name']))) + 'value' => _('Untitled Show'), + 'validators' => array($notEmptyValidator, array('StringLength', false, array(0, $maxLens['name']))) )); // Add URL element $this->addElement('text', 'add_show_url', array( - 'label' => 'URL:', + 'label' => _('URL:'), 'class' => 'input_text', 'required' => false, 'filters' => array('StringTrim'), - 'validators' => array('NotEmpty', array('StringLength', false, array(0, $maxLens['url']))) + 'validators' => array($notEmptyValidator, array('StringLength', false, array(0, $maxLens['url']))) )); // Add genre element $this->addElement('text', 'add_show_genre', array( - 'label' => 'Genre:', + 'label' => _('Genre:'), 'class' => 'input_text', 'required' => false, 'filters' => array('StringTrim'), @@ -51,7 +51,7 @@ class Application_Form_AddShowWhat extends Zend_Form_SubForm // Add the description element $this->addElement('textarea', 'add_show_description', array( - 'label' => 'Description:', + 'label' => _('Description:'), 'required' => false, 'class' => 'input_text_area', 'validators' => array(array('StringLength', false, array(0, $maxLens['description']))) diff --git a/airtime_mvc/application/forms/AddShowWhen.php b/airtime_mvc/application/forms/AddShowWhen.php index e6d164022..92873f153 100644 --- a/airtime_mvc/application/forms/AddShowWhen.php +++ b/airtime_mvc/application/forms/AddShowWhen.php @@ -9,16 +9,22 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm array('ViewScript', array('viewScript' => 'form/add-show-when.phtml')) )); + $notEmptyValidator = Application_Form_Helper_ValidationTypes::overrideNotEmptyValidator(); + $dateValidator = Application_Form_Helper_ValidationTypes::overrrideDateValidator("YYYY-MM-DD"); + $regexValidator = Application_Form_Helper_ValidationTypes::overrideRegexValidator( + "/^[0-2]?[0-9]:[0-5][0-9]$/", + _("'%value%' does not fit the time format 'HH:mm'")); + // Add start date element $startDate = new Zend_Form_Element_Text('add_show_start_date'); $startDate->class = 'input_text'; $startDate->setRequired(true) - ->setLabel('Date/Time Start:') + ->setLabel(_('Date/Time Start:')) ->setValue(date("Y-m-d")) ->setFilters(array('StringTrim')) ->setValidators(array( - 'NotEmpty', - array('date', false, array('YYYY-MM-DD')))) + $notEmptyValidator, + $dateValidator)) ->setDecorators(array('ViewHelper')); $startDate->setAttrib('alt', 'date'); $this->addElement($startDate); @@ -30,9 +36,8 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm ->setValue('00:00') ->setFilters(array('StringTrim')) ->setValidators(array( - 'NotEmpty', - array('date', false, array('HH:mm')), - array('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => 'Time format should be HH:mm')) + $notEmptyValidator, + $regexValidator ))->setDecorators(array('ViewHelper')); $startTime->setAttrib('alt', 'time'); $this->addElement($startTime); @@ -41,12 +46,12 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm $endDate = new Zend_Form_Element_Text('add_show_end_date_no_repeat'); $endDate->class = 'input_text'; $endDate->setRequired(true) - ->setLabel('Date/Time End:') + ->setLabel(_('Date/Time End:')) ->setValue(date("Y-m-d")) ->setFilters(array('StringTrim')) ->setValidators(array( - 'NotEmpty', - array('date', false, array('YYYY-MM-DD')))) + $notEmptyValidator, + $dateValidator)) ->setDecorators(array('ViewHelper')); $endDate->setAttrib('alt', 'date'); $this->addElement($endDate); @@ -58,16 +63,15 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm ->setValue('01:00') ->setFilters(array('StringTrim')) ->setValidators(array( - 'NotEmpty', - array('date', false, array('HH:mm')), - array('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => 'Time format should be HH:mm')))) + $notEmptyValidator, + $regexValidator)) ->setDecorators(array('ViewHelper')); $endTime->setAttrib('alt', 'time'); $this->addElement($endTime); // Add duration element $this->addElement('text', 'add_show_duration', array( - 'label' => 'Duration:', + 'label' => _('Duration:'), 'class' => 'input_text', 'value' => '01h 00m', 'readonly' => true, @@ -76,7 +80,7 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm // Add repeats element $this->addElement('checkbox', 'add_show_repeats', array( - 'label' => 'Repeats?', + 'label' => _('Repeats?'), 'required' => false, 'decorators' => array('ViewHelper') )); @@ -96,7 +100,7 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm $showEndDateTime = new DateTime($end_time); if ($validateStartDate) { if ($showStartDateTime->getTimestamp() < $nowDateTime->getTimestamp()) { - $this->getElement('add_show_start_time')->setErrors(array('Cannot create show in the past')); + $this->getElement('add_show_start_time')->setErrors(array(_('Cannot create show in the past'))); $valid = false; } // if edit action, check if original show start time is in the past. CC-3864 @@ -104,7 +108,7 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm if ($originalStartDate->getTimestamp() < $nowDateTime->getTimestamp()) { $this->getElement('add_show_start_time')->setValue($originalStartDate->format("H:i")); $this->getElement('add_show_start_date')->setValue($originalStartDate->format("Y-m-d")); - $this->getElement('add_show_start_time')->setErrors(array('Cannot modify start date/time of the show that is already started')); + $this->getElement('add_show_start_time')->setErrors(array(_('Cannot modify start date/time of the show that is already started'))); $this->disableStartDateAndTime(); $valid = false; } @@ -113,7 +117,7 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm // if end time is in the past, return error if ($showEndDateTime->getTimestamp() < $nowDateTime->getTimestamp()) { - $this->getElement('add_show_end_time')->setErrors(array('End date/time cannot be in the past')); + $this->getElement('add_show_end_time')->setErrors(array(_('End date/time cannot be in the past'))); $valid = false; } @@ -123,15 +127,15 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm $hours = $matches[1]; $minutes = $matches[2]; if ($formData["add_show_duration"] == "00h 00m") { - $this->getElement('add_show_duration')->setErrors(array('Cannot have duration 00h 00m')); + $this->getElement('add_show_duration')->setErrors(array(_('Cannot have duration 00h 00m'))); $valid = false; } elseif (strpos($formData["add_show_duration"], 'h') !== false && $hours >= 24) { if ($hours > 24 || ($hours == 24 && $minutes > 0)) { - $this->getElement('add_show_duration')->setErrors(array('Cannot have duration greater than 24h')); + $this->getElement('add_show_duration')->setErrors(array(_('Cannot have duration greater than 24h'))); $valid = false; } } elseif ( strstr($formData["add_show_duration"], '-') ) { - $this->getElement('add_show_duration')->setErrors(array('Cannot have duration < 0m')); + $this->getElement('add_show_duration')->setErrors(array(_('Cannot have duration < 0m'))); $valid = false; } } else { @@ -247,7 +251,7 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm if ($overlapping) { $valid = false; - $this->getElement('add_show_duration')->setErrors(array('Cannot schedule overlapping shows')); + $this->getElement('add_show_duration')->setErrors(array(_('Cannot schedule overlapping shows'))); break 1; } else { $repeatShowStart->setTimezone($localTimezone); @@ -261,7 +265,7 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm } } else { $valid = false; - $this->getElement('add_show_duration')->setErrors(array('Cannot schedule overlapping shows')); + $this->getElement('add_show_duration')->setErrors(array(_('Cannot schedule overlapping shows'))); } } elseif ($formData["add_show_rebroadcast"]) { /* Check first show @@ -284,18 +288,18 @@ class Application_Form_AddShowWhen extends Zend_Form_SubForm $overlapping = Application_Model_Schedule::checkOverlappingShows($rebroadcastShowStart, $rebroadcastShowEnd, $update, $instanceId); if ($overlapping) { $valid = false; - $this->getElement('add_show_duration')->setErrors(array('Cannot schedule overlapping shows')); + $this->getElement('add_show_duration')->setErrors(array(_('Cannot schedule overlapping shows'))); break; } } } else { $valid = false; - $this->getElement('add_show_duration')->setErrors(array('Cannot schedule overlapping shows')); + $this->getElement('add_show_duration')->setErrors(array(_('Cannot schedule overlapping shows'))); } } else { $overlapping = Application_Model_Schedule::checkOverlappingShows($show_start, $show_end, $update, $instanceId); if ($overlapping) { - $this->getElement('add_show_duration')->setErrors(array('Cannot schedule overlapping shows')); + $this->getElement('add_show_duration')->setErrors(array(_('Cannot schedule overlapping shows'))); $valid = false; } } diff --git a/airtime_mvc/application/forms/AddShowWho.php b/airtime_mvc/application/forms/AddShowWho.php index 71d9f9fcc..aba16e110 100644 --- a/airtime_mvc/application/forms/AddShowWho.php +++ b/airtime_mvc/application/forms/AddShowWho.php @@ -7,7 +7,7 @@ class Application_Form_AddShowWho extends Zend_Form_SubForm { // Add hosts autocomplete $this->addElement('text', 'add_show_hosts_autocomplete', array( - 'label' => 'Search Users:', + 'label' => _('Search Users:'), 'class' => 'input_text ui-autocomplete-input', 'required' => false )); @@ -21,7 +21,7 @@ class Application_Form_AddShowWho extends Zend_Form_SubForm //Add hosts selection $hosts = new Zend_Form_Element_MultiCheckbox('add_show_hosts'); - $hosts->setLabel('DJs:') + $hosts->setLabel(_('DJs:')) ->setMultiOptions($options); $this->addElement($hosts); diff --git a/airtime_mvc/application/forms/AddUser.php b/airtime_mvc/application/forms/AddUser.php index 080c41bff..e94ea09ed 100644 --- a/airtime_mvc/application/forms/AddUser.php +++ b/airtime_mvc/application/forms/AddUser.php @@ -10,6 +10,8 @@ class Application_Form_AddUser extends Zend_Form '../application/validate', 'validate'); * */ + $notEmptyValidator = Application_Form_Helper_ValidationTypes::overrideNotEmptyValidator(); + $emailValidator = Application_Form_Helper_ValidationTypes::overrideEmailAddressValidator(); $this->setAttrib('id', 'user_form'); @@ -18,71 +20,73 @@ class Application_Form_AddUser extends Zend_Form $this->addElement($hidden); $login = new Zend_Form_Element_Text('login'); - $login->setLabel('Username:'); + $login->setLabel(_('Username:')); $login->setAttrib('class', 'input_text'); $login->setRequired(true); + $login->addValidator($notEmptyValidator); $login->addFilter('StringTrim'); //$login->addValidator('UserNameValidate'); $this->addElement($login); $password = new Zend_Form_Element_Password('password'); - $password->setLabel('Password:'); + $password->setLabel(_('Password:')); $password->setAttrib('class', 'input_text'); $password->setRequired(true); $password->addFilter('StringTrim'); - $password->addValidator('NotEmpty'); + $password->addValidator($notEmptyValidator); $this->addElement($password); $firstName = new Zend_Form_Element_Text('first_name'); - $firstName->setLabel('Firstname:'); + $firstName->setLabel(_('Firstname:')); $firstName->setAttrib('class', 'input_text'); $firstName->addFilter('StringTrim'); - $firstName->addValidator('NotEmpty'); + $firstName->addValidator($notEmptyValidator); $this->addElement($firstName); $lastName = new Zend_Form_Element_Text('last_name'); - $lastName->setLabel('Lastname:'); + $lastName->setLabel(_('Lastname:')); $lastName->setAttrib('class', 'input_text'); $lastName->addFilter('StringTrim'); - $lastName->addValidator('NotEmpty'); + $lastName->addValidator($notEmptyValidator); $this->addElement($lastName); $email = new Zend_Form_Element_Text('email'); - $email->setLabel('Email:'); + $email->setLabel(_('Email:')); $email->setAttrib('class', 'input_text'); $email->addFilter('StringTrim'); $email->setRequired(true); - $email->addValidator('EmailAddress'); + $email->addValidator($notEmptyValidator); + $email->addValidator($emailValidator); $this->addElement($email); $cellPhone = new Zend_Form_Element_Text('cell_phone'); - $cellPhone->setLabel('Mobile Phone:'); + $cellPhone->setLabel(_('Mobile Phone:')); $cellPhone->setAttrib('class', 'input_text'); $cellPhone->addFilter('StringTrim'); $this->addElement($cellPhone); $skype = new Zend_Form_Element_Text('skype'); - $skype->setLabel('Skype:'); + $skype->setLabel(_('Skype:')); $skype->setAttrib('class', 'input_text'); $skype->addFilter('StringTrim'); $this->addElement($skype); $jabber = new Zend_Form_Element_Text('jabber'); - $jabber->setLabel('Jabber:'); + $jabber->setLabel(_('Jabber:')); $jabber->setAttrib('class', 'input_text'); $jabber->addFilter('StringTrim'); - $jabber->addValidator('EmailAddress'); + $jabber->addValidator($emailValidator); $this->addElement($jabber); $select = new Zend_Form_Element_Select('type'); - $select->setLabel('User Type:'); + $select->setLabel(_('User Type:')); $select->setAttrib('class', 'input_select'); $select->setAttrib('style', 'width: 40%'); $select->setMultiOptions(array( - "G" => "Guest", - "H" => "DJ", - "P" => "Program Manager", - "A" => "Admin" + "G" => _("Guest"), + "H" => _("DJ"), + "P" => _("Program Manager"), + "A" => _("Admin") )); $select->setRequired(true); $this->addElement($select); @@ -90,7 +94,7 @@ class Application_Form_AddUser extends Zend_Form $saveBtn = new Zend_Form_Element_Button('save_user'); $saveBtn->setAttrib('class', 'btn btn-small right-floated'); $saveBtn->setIgnore(true); - $saveBtn->setLabel('Save'); + $saveBtn->setLabel(_('Save')); $this->addElement($saveBtn); } @@ -100,7 +104,7 @@ class Application_Form_AddUser extends Zend_Form $count = CcSubjsQuery::create()->filterByDbLogin($data['login'])->count(); if ($count != 0) { - $this->getElement('login')->setErrors(array("Login name is not unique.")); + $this->getElement('login')->setErrors(array(_("Login name is not unique."))); return false; } diff --git a/airtime_mvc/application/forms/DateRange.php b/airtime_mvc/application/forms/DateRange.php index 5d04696ed..4d8dd3570 100644 --- a/airtime_mvc/application/forms/DateRange.php +++ b/airtime_mvc/application/forms/DateRange.php @@ -13,7 +13,7 @@ class Application_Form_DateRange extends Zend_Form_SubForm $startDate = new Zend_Form_Element_Text('his_date_start'); $startDate->class = 'input_text'; $startDate->setRequired(true) - ->setLabel('Date Start:') + ->setLabel(_('Date Start:')) ->setValue(date("Y-m-d")) ->setFilters(array('StringTrim')) ->setValidators(array( @@ -32,7 +32,7 @@ class Application_Form_DateRange extends Zend_Form_SubForm ->setValidators(array( 'NotEmpty', array('date', false, array('HH:mm')), - array('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => 'Invalid character entered')))) + array('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => _('Invalid character entered'))))) ->setDecorators(array('ViewHelper')); $startTime->setAttrib('alt', 'time'); $this->addElement($startTime); @@ -41,7 +41,7 @@ class Application_Form_DateRange extends Zend_Form_SubForm $endDate = new Zend_Form_Element_Text('his_date_end'); $endDate->class = 'input_text'; $endDate->setRequired(true) - ->setLabel('Date End:') + ->setLabel(_('Date End:')) ->setValue(date("Y-m-d")) ->setFilters(array('StringTrim')) ->setValidators(array( @@ -60,7 +60,7 @@ class Application_Form_DateRange extends Zend_Form_SubForm ->setValidators(array( 'NotEmpty', array('date', false, array('HH:mm')), - array('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => 'Invalid character entered')))) + array('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => _('Invalid character entered'))))) ->setDecorators(array('ViewHelper')); $endTime->setAttrib('alt', 'time'); $this->addElement($endTime); diff --git a/airtime_mvc/application/forms/EditAudioMD.php b/airtime_mvc/application/forms/EditAudioMD.php index 219742b3f..913efd43c 100644 --- a/airtime_mvc/application/forms/EditAudioMD.php +++ b/airtime_mvc/application/forms/EditAudioMD.php @@ -10,75 +10,75 @@ class Application_Form_EditAudioMD extends Zend_Form // Add title field $this->addElement('text', 'track_title', array( - 'label' => 'Title:', + 'label' => _('Title:'), 'class' => 'input_text', 'filters' => array('StringTrim'), )); // Add artist field $this->addElement('text', 'artist_name', array( - 'label' => 'Creator:', + 'label' => _('Creator:'), 'class' => 'input_text', 'filters' => array('StringTrim'), )); // Add album field $this->addElement('text', 'album_title', array( - 'label' => 'Album:', + 'label' => _('Album:'), 'class' => 'input_text', 'filters' => array('StringTrim') )); // Add track number field $this->addElement('text', 'track_number', array( - 'label' => 'Track:', + 'label' => _('Track:'), 'class' => 'input_text', 'filters' => array('StringTrim') )); // Add genre field $this->addElement('text', 'genre', array( - 'label' => 'Genre:', + 'label' => _('Genre:'), 'class' => 'input_text', 'filters' => array('StringTrim') )); // Add year field $this->addElement('text', 'year', array( - 'label' => 'Year:', + 'label' => _('Year:'), 'class' => 'input_text', 'filters' => array('StringTrim'), 'validators' => array( - array('date', false, array('YYYY-MM-DD')), - array('date', false, array('YYYY-MM')), - array('date', false, array('YYYY')) + Application_Form_Helper_ValidationTypes::overrrideDateValidator("YYYY-MM-DD"), + Application_Form_Helper_ValidationTypes::overrrideDateValidator("YYYY-MM"), + Application_Form_Helper_ValidationTypes::overrrideDateValidator("YYYY") ) )); // Add label field $this->addElement('text', 'label', array( - 'label' => 'Label:', + 'label' => _('Label:'), 'class' => 'input_text', 'filters' => array('StringTrim') )); // Add composer field $this->addElement('text', 'composer', array( - 'label' => 'Composer:', + 'label' => _('Composer:'), 'class' => 'input_text', 'filters' => array('StringTrim') )); // Add conductor field $this->addElement('text', 'conductor', array( - 'label' => 'Conductor:', + 'label' => _('Conductor:'), 'class' => 'input_text', 'filters' => array('StringTrim') )); // Add mood field $this->addElement('text', 'mood', array( - 'label' => 'Mood:', + 'label' => _('Mood:'), 'class' => 'input_text', 'filters' => array('StringTrim') )); @@ -86,7 +86,7 @@ class Application_Form_EditAudioMD extends Zend_Form // Add bmp field $bpm = new Zend_Form_Element_Text('bpm'); $bpm->class = 'input_text'; - $bpm->setLabel('BPM:') + $bpm->setLabel(_('BPM:')) ->setFilters(array('StringTrim')) ->setValidators(array( new Zend_Validate_StringLength(array('min'=>0,'max' => 8)), @@ -95,28 +95,28 @@ class Application_Form_EditAudioMD extends Zend_Form // Add copyright field $this->addElement('text', 'copyright', array( - 'label' => 'Copyright:', + 'label' => _('Copyright:'), 'class' => 'input_text', 'filters' => array('StringTrim') )); // Add isrc number field $this->addElement('text', 'isrc_number', array( - 'label' => 'ISRC Number:', + 'label' => _('ISRC Number:'), 'class' => 'input_text', 'filters' => array('StringTrim') )); // Add website field $this->addElement('text', 'info_url', array( - 'label' => 'Website:', + 'label' => _('Website:'), 'class' => 'input_text', 'filters' => array('StringTrim') )); // Add language field $this->addElement('text', 'language', array( - 'label' => 'Language:', + 'label' => _('Language:'), 'class' => 'input_text', 'filters' => array('StringTrim') )); @@ -125,7 +125,7 @@ class Application_Form_EditAudioMD extends Zend_Form $this->addElement('submit', 'submit', array( 'ignore' => true, 'class' => 'btn', - 'label' => 'Save', + 'label' => _('Save'), 'decorators' => array( 'ViewHelper' ) @@ -135,7 +135,7 @@ class Application_Form_EditAudioMD extends Zend_Form $this->addElement('button', 'cancel', array( 'ignore' => true, 'class' => 'btn md-cancel', - 'label' => 'Cancel', + 'label' => _('Cancel'), 'onclick' => 'javascript:document.location.href="'.$baseUrl.'/Library"', 'decorators' => array( 'ViewHelper' diff --git a/airtime_mvc/application/forms/EmailServerPreferences.php b/airtime_mvc/application/forms/EmailServerPreferences.php index 03c73dae9..4bf390390 100644 --- a/airtime_mvc/application/forms/EmailServerPreferences.php +++ b/airtime_mvc/application/forms/EmailServerPreferences.php @@ -14,7 +14,7 @@ class Application_Form_EmailServerPreferences extends Zend_Form_SubForm // Enable system emails $this->addElement('checkbox', 'enableSystemEmail', array( - 'label' => 'Enable System Emails (Password Reset)', + 'label' => _('Enable System Emails (Password Reset)'), 'required' => false, 'value' => Application_Model_Preference::GetEnableSystemEmail(), 'decorators' => array( @@ -24,14 +24,14 @@ class Application_Form_EmailServerPreferences extends Zend_Form_SubForm $this->addElement('text', 'systemEmail', array( 'class' => 'input_text', - 'label' => 'Reset Password \'From\' Email', + 'label' => _("Reset Password 'From' Email"), 'value' => Application_Model_Preference::GetSystemEmail(), 'readonly' => true, 'decorators' => array('viewHelper') )); $this->addElement('checkbox', 'configureMailServer', array( - 'label' => 'Configure Mail Server', + 'label' => _('Configure Mail Server'), 'required' => false, 'value' => Application_Model_Preference::GetMailServerConfigured(), 'decorators' => array ( @@ -40,7 +40,7 @@ class Application_Form_EmailServerPreferences extends Zend_Form_SubForm )); $this->addElement('checkbox', 'msRequiresAuth', array( - 'label' => 'Requires Authentication', + 'label' => _('Requires Authentication'), 'required' => false, 'value' => Application_Model_Preference::GetMailServerRequiresAuth(), 'decorators' => array( @@ -50,7 +50,7 @@ class Application_Form_EmailServerPreferences extends Zend_Form_SubForm $this->addElement('text', 'mailServer', array( 'class' => 'input_text', - 'label' => 'Mail Server', + 'label' => _('Mail Server'), 'value' => Application_Model_Preference::GetMailServer(), 'readonly' => true, 'decorators' => array('viewHelper'), @@ -64,7 +64,7 @@ class Application_Form_EmailServerPreferences extends Zend_Form_SubForm $this->addElement('text', 'email', array( 'class' => 'input_text', - 'label' => 'Email Address', + 'label' => _('Email Address'), 'value' => Application_Model_Preference::GetMailServerEmailAddress(), 'readonly' => true, 'decorators' => array('viewHelper'), @@ -79,7 +79,7 @@ class Application_Form_EmailServerPreferences extends Zend_Form_SubForm $this->addElement('password', 'ms_password', array( 'class' => 'input_text', - 'label' => 'Password', + 'label' => _('Password'), 'value' => Application_Model_Preference::GetMailServerPassword(), 'readonly' => true, 'decorators' => array('viewHelper'), @@ -97,7 +97,7 @@ class Application_Form_EmailServerPreferences extends Zend_Form_SubForm $port->class = 'input_text'; $port->setRequired(false) ->setValue(Application_Model_Preference::GetMailServerPort()) - ->setLabel('Port') + ->setLabel(_('Port')) ->setAttrib('readonly', true) ->setDecorators(array('viewHelper')); diff --git a/airtime_mvc/application/forms/GeneralPreferences.php b/airtime_mvc/application/forms/GeneralPreferences.php index 815d46779..0244c983d 100644 --- a/airtime_mvc/application/forms/GeneralPreferences.php +++ b/airtime_mvc/application/forms/GeneralPreferences.php @@ -6,6 +6,7 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm public function init() { + $notEmptyValidator = Application_Form_Helper_ValidationTypes::overrideNotEmptyValidator(); $this->setDecorators(array( array('ViewScript', array('viewScript' => 'form/preferences_general.phtml')) )); @@ -18,7 +19,7 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm //Station name $this->addElement('text', 'stationName', array( 'class' => 'input_text', - 'label' => 'Station Name', + 'label' => _('Station Name'), 'required' => false, 'filters' => array('StringTrim'), 'value' => Application_Model_Preference::GetStationName(), @@ -30,12 +31,12 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm //Default station fade $this->addElement('text', 'stationDefaultFade', array( 'class' => 'input_text', - 'label' => 'Default Fade (s):', - 'required' => false, + 'label' => _('Default Fade (s):'), + 'required' => true, 'filters' => array('StringTrim'), - 'validators' => array(array('regex', false, + 'validators' => array(array($notEmptyValidator, 'regex', false, array('/^[0-9]{1,2}(\.\d{1})?$/', - 'messages' => 'enter a time in seconds 0{.0}'))), + 'messages' => _('enter a time in seconds 0{.0}')))), 'value' => $defaultFade, 'decorators' => array( 'ViewHelper' @@ -43,16 +44,24 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm )); $third_party_api = new Zend_Form_Element_Radio('thirdPartyApi'); - $third_party_api->setLabel('Allow Remote Websites To Access "Schedule" Info?
(Enable this to make front-end widgets work.)'); - $third_party_api->setMultiOptions(array("Disabled", - "Enabled")); + $third_party_api->setLabel( + sprintf(_('Allow Remote Websites To Access "Schedule" Info?%s (Enable this to make front-end widgets work.)'), '
')); + $third_party_api->setMultiOptions(array(_("Disabled"), + _("Enabled"))); $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(_("Language")); + $locale->setMultiOptions(Application_Model_Locale::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"); - $timezone->setLabel("Timezone"); + $timezone->setLabel(_("Timezone")); $timezone->setMultiOptions($this->getTimezones()); $timezone->setValue(Application_Model_Preference::GetTimezone()); $timezone->setDecorators(array('ViewHelper')); @@ -60,7 +69,7 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm /* Form Element for setting which day is the start of the week */ $week_start_day = new Zend_Form_Element_Select("weekStartDay"); - $week_start_day->setLabel("Week Starts On"); + $week_start_day->setLabel(_("Week Starts On")); $week_start_day->setMultiOptions($this->getWeekStartDays()); $week_start_day->setValue(Application_Model_Preference::GetWeekStartDay()); $week_start_day->setDecorators(array('ViewHelper')); @@ -97,13 +106,13 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm private function getWeekStartDays() { $days = array( - 'Sunday', - 'Monday', - 'Tuesday', - 'Wednesday', - 'Thursday', - 'Friday', - 'Saturday' + _('Sunday'), + _('Monday'), + _('Tuesday'), + _('Wednesday'), + _('Thursday'), + _('Friday'), + _('Saturday') ); return $days; diff --git a/airtime_mvc/application/forms/LiveStreamingPreferences.php b/airtime_mvc/application/forms/LiveStreamingPreferences.php index 6bef2be12..975ee3516 100644 --- a/airtime_mvc/application/forms/LiveStreamingPreferences.php +++ b/airtime_mvc/application/forms/LiveStreamingPreferences.php @@ -16,24 +16,24 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm // automatic trasition on source disconnection $auto_transition = new Zend_Form_Element_Checkbox("auto_transition"); - $auto_transition->setLabel("Auto Switch Off") + $auto_transition->setLabel(_("Auto Switch Off")) ->setValue(Application_Model_Preference::GetAutoTransition()) ->setDecorators(array('ViewHelper')); $this->addElement($auto_transition); // automatic switch on upon source connection $auto_switch = new Zend_Form_Element_Checkbox("auto_switch"); - $auto_switch->setLabel("Auto Switch On") + $auto_switch->setLabel(_("Auto Switch On")) ->setValue(Application_Model_Preference::GetAutoSwitch()) ->setDecorators(array('ViewHelper')); $this->addElement($auto_switch); // Default transition fade $transition_fade = new Zend_Form_Element_Text("transition_fade"); - $transition_fade->setLabel("Switch Transition Fade (s)") + $transition_fade->setLabel(_("Switch Transition Fade (s)")) ->setFilters(array('StringTrim')) ->addValidator('regex', false, array('/^[0-9]{1,2}(\.\d{1,6})?$/', - 'messages' => 'enter a time in seconds 00{.000000}')) + 'messages' => _('enter a time in seconds 00{.000000}'))) ->setValue($defaultFade) ->setDecorators(array('ViewHelper')); $this->addElement($transition_fade); @@ -42,7 +42,7 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm $master_username = new Zend_Form_Element_Text('master_username'); $master_username->setAttrib('autocomplete', 'off') ->setAllowEmpty(true) - ->setLabel('Master Username') + ->setLabel(_('Master Username')) ->setFilters(array('StringTrim')) ->setValue(Application_Model_Preference::GetLiveStreamMasterUsername()) ->setDecorators(array('ViewHelper')); @@ -59,7 +59,7 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm ->setAttrib('renderPassword','true') ->setAllowEmpty(true) ->setValue(Application_Model_Preference::GetLiveStreamMasterPassword()) - ->setLabel('Master Password') + ->setLabel(_('Master Password')) ->setFilters(array('StringTrim')) ->setDecorators(array('ViewHelper')); $this->addElement($master_password); @@ -67,7 +67,7 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm //Master source connection url $master_dj_connection_url = new Zend_Form_Element_Text('master_dj_connection_url'); $master_dj_connection_url->setAttrib('readonly', true) - ->setLabel('Master Source Connection URL') + ->setLabel(_('Master Source Connection URL')) ->setValue(Application_Model_Preference::GetMasterDJSourceConnectionURL()) ->setDecorators(array('ViewHelper')); $this->addElement($master_dj_connection_url); @@ -75,46 +75,47 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm //Show source connection url $live_dj_connection_url = new Zend_Form_Element_Text('live_dj_connection_url'); $live_dj_connection_url->setAttrib('readonly', true) - ->setLabel('Show Source Connection URL') + ->setLabel(_('Show Source Connection URL')) ->setValue(Application_Model_Preference::GetLiveDJSourceConnectionURL()) ->setDecorators(array('ViewHelper')); $this->addElement($live_dj_connection_url); //liquidsoap harbor.input port + $betweenValidator = Application_Form_Helper_ValidationTypes::overrideBetweenValidator(1024, 49151); $m_port = Application_Model_StreamSetting::getMasterLiveStreamPort(); $master_dj_port = new Zend_Form_Element_Text('master_harbor_input_port'); - $master_dj_port->setLabel("Master Source Port") + $master_dj_port->setLabel(_("Master Source Port")) ->setValue($m_port) - ->setValidators(array(new Zend_Validate_Between(array('min'=>1024, 'max'=>49151)))) - ->addValidator('regex', false, array('pattern'=>'/^[0-9]+$/', 'messages'=>array('regexNotMatch'=>'Only numbers are allowed.'))) + ->setValidators(array($betweenValidator)) + ->addValidator('regex', false, array('pattern'=>'/^[0-9]+$/', 'messages'=>array('regexNotMatch'=>_('Only numbers are allowed.')))) ->setDecorators(array('ViewHelper')); $this->addElement($master_dj_port); $m_mount = Application_Model_StreamSetting::getMasterLiveStreamMountPoint(); $master_dj_mount = new Zend_Form_Element_Text('master_harbor_input_mount_point'); - $master_dj_mount->setLabel("Master Source Mount Point") + $master_dj_mount->setLabel(_("Master Source Mount Point")) ->setValue($m_mount) ->setValidators(array( - array('regex', false, array('/^[^ &<>]+$/', 'messages' => 'Invalid character entered')))) + array('regex', false, array('/^[^ &<>]+$/', 'messages' => _('Invalid character entered'))))) ->setDecorators(array('ViewHelper')); $this->addElement($master_dj_mount); //liquidsoap harbor.input port $l_port = Application_Model_StreamSetting::getDjLiveStreamPort(); $live_dj_port = new Zend_Form_Element_Text('dj_harbor_input_port'); - $live_dj_port->setLabel("Show Source Port") + $live_dj_port->setLabel(_("Show Source Port")) ->setValue($l_port) - ->setValidators(array(new Zend_Validate_Between(array('min'=>1024, 'max'=>49151)))) - ->addValidator('regex', false, array('pattern'=>'/^[0-9]+$/', 'messages'=>array('regexNotMatch'=>'Only numbers are allowed.'))) + ->setValidators(array($betweenValidator)) + ->addValidator('regex', false, array('pattern'=>'/^[0-9]+$/', 'messages'=>array('regexNotMatch'=>_('Only numbers are allowed.')))) ->setDecorators(array('ViewHelper')); $this->addElement($live_dj_port); $l_mount = Application_Model_StreamSetting::getDjLiveStreamMountPoint(); $live_dj_mount = new Zend_Form_Element_Text('dj_harbor_input_mount_point'); - $live_dj_mount->setLabel("Show Source Mount Point") + $live_dj_mount->setLabel(_("Show Source Mount Point")) ->setValue($l_mount) ->setValidators(array( - array('regex', false, array('/^[^ &<>]+$/', 'messages' => 'Invalid character entered')))) + array('regex', false, array('/^[^ &<>]+$/', 'messages' => _('Invalid character entered'))))) ->setDecorators(array('ViewHelper')); $this->addElement($live_dj_mount); // demo only code @@ -149,7 +150,7 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm if ($master_harbor_input_port == $dj_harbor_input_port && $master_harbor_input_port != "") { $element = $this->getElement("dj_harbor_input_port"); - $element->addError("You cannot use same port as Master DJ port."); + $element->addError(_("You cannot use same port as Master DJ port.")); $isValid = false; } if ($master_harbor_input_port != "") { @@ -160,7 +161,7 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm socket_bind($sock, 0, $master_harbor_input_port); } catch (Exception $e) { $element = $this->getElement("master_harbor_input_port"); - $element->addError("Port '$master_harbor_input_port' is not available."); + $element->addError(sprintf(_("Port %s is not available"), $master_harbor_input_port)); $isValid = false; } @@ -178,7 +179,7 @@ class Application_Form_LiveStreamingPreferences extends Zend_Form_SubForm socket_bind($sock, 0, $dj_harbor_input_port); } catch (Exception $e) { $element = $this->getElement("dj_harbor_input_port"); - $element->addError("Port '$dj_harbor_input_port' is not available."); + $element->addError(sprintf(_("Port %s is not available"). $dj_harbor_input_port)); $isValid = false; } socket_close($sock); diff --git a/airtime_mvc/application/forms/Login.php b/airtime_mvc/application/forms/Login.php index 3761ff939..bd1deb806 100644 --- a/airtime_mvc/application/forms/Login.php +++ b/airtime_mvc/application/forms/Login.php @@ -16,7 +16,7 @@ class Application_Form_Login extends Zend_Form // Add username element $this->addElement('text', 'username', array( - 'label' => 'Username:', + 'label' => _('Username:'), 'class' => 'input_text', 'required' => true, 'value' => (isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1)?'admin':'', @@ -31,7 +31,7 @@ class Application_Form_Login extends Zend_Form // Add password element $this->addElement('password', 'password', array( - 'label' => 'Password:', + 'label' => _('Password:'), 'class' => 'input_text', 'required' => true, 'value' => (isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1)?'admin':'', @@ -56,7 +56,7 @@ class Application_Form_Login extends Zend_Form // Add the submit button $this->addElement('submit', 'submit', array( 'ignore' => true, - 'label' => 'Login', + 'label' => _('Login'), 'class' => 'ui-button ui-widget ui-state-default ui-button-text-only center', 'decorators' => array( 'ViewHelper' @@ -74,7 +74,7 @@ class Application_Form_Login extends Zend_Form $captcha = new Zend_Form_Element_Captcha('captcha', array( - 'label' => 'Type the characters you see in the picture below.', + 'label' => _('Type the characters you see in the picture below.'), 'captcha' => 'ReCaptcha', 'captchaOptions' => array( 'captcha' => 'ReCaptcha', diff --git a/airtime_mvc/application/forms/PasswordChange.php b/airtime_mvc/application/forms/PasswordChange.php index 48efae5ff..1b93911b0 100644 --- a/airtime_mvc/application/forms/PasswordChange.php +++ b/airtime_mvc/application/forms/PasswordChange.php @@ -9,21 +9,23 @@ class Application_Form_PasswordChange extends Zend_Form $this->setDecorators(array( array('ViewScript', array('viewScript' => 'form/password-change.phtml')) )); + + $notEmptyValidator = Application_Form_Helper_ValidationTypes::overrideNotEmptyValidator(); + $stringLengthValidator = Application_Form_Helper_ValidationTypes::overrideStringLengthValidator(6, 80); $this->addElement('password', 'password', array( - 'label' => 'Password', + 'label' => _('Password'), 'required' => true, 'filters' => array('stringTrim'), - 'validators' => array( - array('stringLength', false, array(6, 80)), - ), + 'validators' => array($notEmptyValidator, + $stringLengthValidator), 'decorators' => array( 'ViewHelper' ) )); $this->addElement('password', 'password_confirm', array( - 'label' => 'Confirm new password', + 'label' => _('Confirm new password'), 'required' => true, 'filters' => array('stringTrim'), 'validators' => array( @@ -31,14 +33,14 @@ class Application_Form_PasswordChange extends Zend_Form return $value == $context['password']; }), ), - 'errorMessages' => array("Password confirmation does not match your password."), + 'errorMessages' => array(_("Password confirmation does not match your password.")), 'decorators' => array( 'ViewHelper' ) )); $this->addElement('submit', 'submit', array( - 'label' => 'Get new password', + 'label' => _('Get new password'), 'ignore' => true, 'class' => 'ui-button ui-widget ui-state-default ui-button-text-only center', 'decorators' => array( diff --git a/airtime_mvc/application/forms/PasswordRestore.php b/airtime_mvc/application/forms/PasswordRestore.php index 584e767ad..0e8f4ad9c 100644 --- a/airtime_mvc/application/forms/PasswordRestore.php +++ b/airtime_mvc/application/forms/PasswordRestore.php @@ -11,7 +11,7 @@ class Application_Form_PasswordRestore extends Zend_Form )); $this->addElement('text', 'email', array( - 'label' => 'E-mail', + 'label' => _('E-mail'), 'required' => true, 'filters' => array( 'stringTrim', @@ -22,7 +22,7 @@ class Application_Form_PasswordRestore extends Zend_Form )); $this->addElement('text', 'username', array( - 'label' => 'Username', + 'label' => _('Username'), 'required' => false, 'filters' => array( 'stringTrim', @@ -33,7 +33,7 @@ class Application_Form_PasswordRestore extends Zend_Form )); $this->addElement('submit', 'submit', array( - 'label' => 'Restore password', + 'label' => _('Restore password'), 'ignore' => true, 'class' => 'ui-button ui-widget ui-state-default ui-button-text-only center', 'decorators' => array( @@ -43,7 +43,7 @@ class Application_Form_PasswordRestore extends Zend_Form $cancel = new Zend_Form_Element_Button("cancel"); $cancel->class = 'ui-button ui-widget ui-state-default ui-button-text-only center'; - $cancel->setLabel("Cancel") + $cancel->setLabel(_("Cancel")) ->setIgnore(True) ->setAttrib('onclick', 'redirectToLogin();') ->setDecorators(array('ViewHelper')); diff --git a/airtime_mvc/application/forms/RegisterAirtime.php b/airtime_mvc/application/forms/RegisterAirtime.php index 9ffd853e1..8c4af94c6 100644 --- a/airtime_mvc/application/forms/RegisterAirtime.php +++ b/airtime_mvc/application/forms/RegisterAirtime.php @@ -27,7 +27,7 @@ class Application_Form_RegisterAirtime extends Zend_Form // Station Name $stnName = new Zend_Form_Element_Text("stnName"); - $stnName->setLabel("Station Name") + $stnName->setLabel(_("Station Name")) ->setRequired(true) ->setValue(Application_Model_Preference::GetStationName()) ->setDecorators(array('ViewHelper')); @@ -36,7 +36,7 @@ class Application_Form_RegisterAirtime extends Zend_Form // Phone number $this->addElement('text', 'Phone', array( 'class' => 'input_text', - 'label' => 'Phone:', + 'label' => _('Phone:'), 'required' => false, 'filters' => array('StringTrim'), 'value' => Application_Model_Preference::GetPhone(), @@ -48,7 +48,7 @@ class Application_Form_RegisterAirtime extends Zend_Form //Email $this->addElement('text', 'Email', array( 'class' => 'input_text', - 'label' => 'Email:', + 'label' => _('Email:'), 'required' => false, 'filters' => array('StringTrim'), 'value' => Application_Model_Preference::GetEmail(), @@ -59,7 +59,7 @@ class Application_Form_RegisterAirtime extends Zend_Form // Station Web Site $this->addElement('text', 'StationWebSite', array( - 'label' => 'Station Web Site:', + 'label' => _('Station Web Site:'), 'required' => false, 'class' => 'input_text', 'value' => Application_Model_Preference::GetStationWebSite(), @@ -70,7 +70,7 @@ class Application_Form_RegisterAirtime extends Zend_Form // county list dropdown $this->addElement('select', 'Country', array( - 'label' => 'Country:', + 'label' => _('Country:'), 'required' => false, 'value' => Application_Model_Preference::GetStationCountry(), 'multiOptions' => $country_list, @@ -81,7 +81,7 @@ class Application_Form_RegisterAirtime extends Zend_Form // Station city $this->addElement('text', 'City', array( - 'label' => 'City:', + 'label' => _('City:'), 'required' => false, 'class' => 'input_text', 'value' => Application_Model_Preference::GetStationCity(), @@ -93,7 +93,7 @@ class Application_Form_RegisterAirtime extends Zend_Form // Station Description $description = new Zend_Form_Element_Textarea('Description'); $description->class = 'input_text_area'; - $description->setLabel('Station Description:') + $description->setLabel(_('Station Description:')) ->setRequired(false) ->setValue(Application_Model_Preference::GetStationDescription()) ->setDecorators(array('ViewHelper')) @@ -103,7 +103,7 @@ class Application_Form_RegisterAirtime extends Zend_Form // Station Logo $upload = new Zend_Form_Element_File('Logo'); - $upload->setLabel('Station Logo:') + $upload->setLabel(_('Station Logo:')) ->setRequired(false) ->setDecorators(array('File')) ->addValidator('Count', false, 1) @@ -113,7 +113,7 @@ class Application_Form_RegisterAirtime extends Zend_Form //enable support feedback $this->addElement('checkbox', 'SupportFeedback', array( - 'label' => 'Send support feedback', + 'label' => _('Send support feedback'), 'required' => false, 'value' => 1, 'decorators' => array( @@ -123,7 +123,7 @@ class Application_Form_RegisterAirtime extends Zend_Form // checkbox for publicise $checkboxPublicise = new Zend_Form_Element_Checkbox("Publicise"); - $checkboxPublicise->setLabel('Promote my station on Sourcefabric.org') + $checkboxPublicise->setLabel(_('Promote my station on Sourcefabric.org')) ->setRequired(false) ->setDecorators(array('ViewHelper')) ->setValue(Application_Model_Preference::GetPublicise()); @@ -145,7 +145,10 @@ class Application_Form_RegisterAirtime extends Zend_Form // checkbox for privacy policy $checkboxPrivacy = new Zend_Form_Element_Checkbox("Privacy"); - $checkboxPrivacy->setLabel("By checking this box, I agree to Sourcefabric's privacy policy.") + $checkboxPrivacy->setLabel( + sprintf(_("By checking this box, I agree to Sourcefabric's %sprivacy policy%s."), + "", + "")) ->setDecorators(array('ViewHelper')); $this->addElement($checkboxPrivacy); } @@ -160,7 +163,7 @@ class Application_Form_RegisterAirtime extends Zend_Form if (isset($data["Privacy"])) { $checkPrivacy = $this->getElement('Privacy'); if ($data["SupportFeedback"] == "1" && $data["Privacy"] != "1") { - $checkPrivacy->addError("You have to agree to privacy policy."); + $checkPrivacy->addError(_("You have to agree to privacy policy.")); $isValid = false; } } diff --git a/airtime_mvc/application/forms/ShowBuilder.php b/airtime_mvc/application/forms/ShowBuilder.php index 465d2dd71..291caccc2 100644 --- a/airtime_mvc/application/forms/ShowBuilder.php +++ b/airtime_mvc/application/forms/ShowBuilder.php @@ -15,7 +15,7 @@ class Application_Form_ShowBuilder extends Zend_Form_SubForm $startDate = new Zend_Form_Element_Text('sb_date_start'); $startDate->class = 'input_text'; $startDate->setRequired(true) - ->setLabel('Date Start:') + ->setLabel(_('Date Start:')) ->setValue(date("Y-m-d")) ->setFilters(array('StringTrim')) ->setValidators(array( @@ -34,7 +34,7 @@ class Application_Form_ShowBuilder extends Zend_Form_SubForm ->setValidators(array( 'NotEmpty', array('date', false, array('HH:mm')), - array('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => 'Invalid character entered')))) + array('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => _('Invalid character entered'))))) ->setDecorators(array('ViewHelper')); $startTime->setAttrib('alt', 'time'); $this->addElement($startTime); @@ -43,7 +43,7 @@ class Application_Form_ShowBuilder extends Zend_Form_SubForm $endDate = new Zend_Form_Element_Text('sb_date_end'); $endDate->class = 'input_text'; $endDate->setRequired(true) - ->setLabel('Date End:') + ->setLabel(_('Date End:')) ->setValue(date("Y-m-d")) ->setFilters(array('StringTrim')) ->setValidators(array( @@ -62,14 +62,14 @@ class Application_Form_ShowBuilder extends Zend_Form_SubForm ->setValidators(array( 'NotEmpty', array('date', false, array('HH:mm')), - array('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => 'Invalid character entered')))) + array('regex', false, array('/^[0-2]?[0-9]:[0-5][0-9]$/', 'messages' => _('Invalid character entered'))))) ->setDecorators(array('ViewHelper')); $endTime->setAttrib('alt', 'time'); $this->addElement($endTime); // add a select to choose a show. $showSelect = new Zend_Form_Element_Select("sb_show_filter"); - $showSelect->setLabel("Show:"); + $showSelect->setLabel(_("Show:")); $showSelect->setMultiOptions($this->getShowNames()); $showSelect->setValue(null); $showSelect->setDecorators(array('ViewHelper')); @@ -77,7 +77,7 @@ class Application_Form_ShowBuilder extends Zend_Form_SubForm if ($user->getType() === 'H') { $myShows = new Zend_Form_Element_Checkbox('sb_my_shows'); - $myShows->setLabel('All My Shows:') + $myShows->setLabel(_('All My Shows:')) ->setDecorators(array('ViewHelper')); $this->addElement($myShows); } diff --git a/airtime_mvc/application/forms/SmartBlockCriteria.php b/airtime_mvc/application/forms/SmartBlockCriteria.php index e48fc7590..f47117b63 100644 --- a/airtime_mvc/application/forms/SmartBlockCriteria.php +++ b/airtime_mvc/application/forms/SmartBlockCriteria.php @@ -1,88 +1,119 @@ "Select criteria", - "album_title" => "Album", - "bit_rate" => "Bit Rate (Kbps)", - "bpm" => "BPM", - "composer" => "Composer", - "conductor" => "Conductor", - "copyright" => "Copyright", - "artist_name" => "Creator", - "encoded_by" => "Encoded By", - "genre" => "Genre", - "isrc_number" => "ISRC", - "label" => "Label", - "language" => "Language", - "mtime" => "Last Modified", - "lptime" => "Last Played", - "length" => "Length", - "mime" => "Mime", - "mood" => "Mood", - "owner_id" => "Owner", - "replay_gain" => "Replay Gain", - "sample_rate" => "Sample Rate (kHz)", - "track_title" => "Title", - "track_number" => "Track Number", - "utime" => "Uploaded", - "info_url" => "Website", - "year" => "Year" - ); - + private $criteriaOptions; + private $stringCriteriaOptions; + private $numericCriteriaOptions; + private $limitOptions; private $criteriaTypes = array( - 0 => "", - "album_title" => "s", - "bit_rate" => "n", - "bpm" => "n", - "composer" => "s", - "conductor" => "s", - "copyright" => "s", - "artist_name" => "s", - "encoded_by" => "s", - "utime" => "n", - "mtime" => "n", - "lptime" => "n", - "genre" => "s", - "isrc_number" => "s", - "label" => "s", - "language" => "s", - "length" => "n", - "mime" => "s", - "mood" => "s", - "owner_id" => "s", - "replay_gain" => "n", - "sample_rate" => "n", - "track_title" => "s", - "track_number" => "n", - "info_url" => "s", - "year" => "n" + 0 => "", + "album_title" => "s", + "bit_rate" => "n", + "bpm" => "n", + "composer" => "s", + "conductor" => "s", + "copyright" => "s", + "artist_name" => "s", + "encoded_by" => "s", + "utime" => "n", + "mtime" => "n", + "lptime" => "n", + "genre" => "s", + "isrc_number" => "s", + "label" => "s", + "language" => "s", + "length" => "n", + "mime" => "s", + "mood" => "s", + "owner_id" => "s", + "replay_gain" => "n", + "sample_rate" => "n", + "track_title" => "s", + "track_number" => "n", + "info_url" => "s", + "year" => "n" ); + + private function getCriteriaOptions($option = null) + { + if (!isset($this->criteriaOptions)) { + $this->criteriaOptions = array( + 0 => _("Select criteria"), + "album_title" => _("Album"), + "bit_rate" => _("Bit Rate (Kbps)"), + "bpm" => _("BPM"), + "composer" => _("Composer"), + "conductor" => _("Conductor"), + "copyright" => _("Copyright"), + "artist_name" => _("Creator"), + "encoded_by" => _("Encoded By"), + "genre" => _("Genre"), + "isrc_number" => _("ISRC"), + "label" => _("Label"), + "language" => _("Language"), + "mtime" => _("Last Modified"), + "lptime" => _("Last Played"), + "length" => _("Length"), + "mime" => _("Mime"), + "mood" => _("Mood"), + "owner_id" => _("Owner"), + "replay_gain" => _("Replay Gain"), + "sample_rate" => _("Sample Rate (kHz)"), + "track_title" => _("Title"), + "track_number" => _("Track Number"), + "utime" => _("Uploaded"), + "info_url" => _("Website"), + "year" => _("Year") + ); + } + + if (is_null($option)) return $this->criteriaOptions; + else return $this->criteriaOptions[$option]; + } - private $stringCriteriaOptions = array( - "0" => "Select modifier", - "contains" => "contains", - "does not contain" => "does not contain", - "is" => "is", - "is not" => "is not", - "starts with" => "starts with", - "ends with" => "ends with" - ); + private function getStringCriteriaOptions() + { + if (!isset($this->stringCriteriaOptions)) { + $this->stringCriteriaOptions = array( + "0" => _("Select modifier"), + "contains" => _("contains"), + "does not contain" => _("does not contain"), + "is" => _("is"), + "is not" => _("is not"), + "starts with" => _("starts with"), + "ends with" => _("ends with") + ); + } + return $this->stringCriteriaOptions; + } - private $numericCriteriaOptions = array( - "0" => "Select modifier", - "is" => "is", - "is not" => "is not", - "is greater than" => "is greater than", - "is less than" => "is less than", - "is in the range" => "is in the range" - ); + private function getNumericCriteriaOptions() + { + if (!isset($this->numericCriteriaOptions)) { + $this->numericCriteriaOptions = array( + "0" => _("Select modifier"), + "is" => _("is"), + "is not" => _("is not"), + "is greater than" => _("is greater than"), + "is less than" => _("is less than"), + "is in the range" => _("is in the range") + ); + } + return $this->numericCriteriaOptions; + } - private $limitOptions = array( - "hours" => "hours", - "minutes" => "minutes", - "items" => "items" - ); + private function getLimitOptions() + { + if (!isset($this->limitOptions)) { + $this->limitOptions = array( + "hours" => _("hours"), + "minutes" => _("minutes"), + "items" => _("items") + ); + } + return $this->limitOptions; + } + public function init() { @@ -99,11 +130,11 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm } $spType = new Zend_Form_Element_Radio('sp_type'); - $spType->setLabel('Set smart block type:') + $spType->setLabel(_('Set smart block type:')) ->setDecorators(array('viewHelper')) ->setMultiOptions(array( - 'static' => 'Static', - 'dynamic' => 'Dynamic' + 'static' => _('Static'), + 'dynamic' => _('Dynamic') )) ->setValue($blockType); $this->addElement($spType); @@ -126,7 +157,7 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm if (isset($storedCrit["crit"])) { $criteriaKeys = array_keys($storedCrit["crit"]); } - $numElements = count($this->criteriaOptions); + $numElements = count($this->getCriteriaOptions()); for ($i = 0; $i < $numElements; $i++) { $criteriaType = ""; @@ -153,7 +184,7 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm $criteria->setAttrib('class', 'input_select sp_input_select'.$invisible) ->setValue('Select criteria') ->setDecorators(array('viewHelper')) - ->setMultiOptions($this->criteriaOptions); + ->setMultiOptions($this->getCriteriaOptions()); if ($i != 0 && !isset($criteriaKeys[$i])) { $criteria->setAttrib('disabled', 'disabled'); } @@ -174,13 +205,13 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm } if (isset($criteriaKeys[$i])) { if ($criteriaType == "s") { - $criteriaModifers->setMultiOptions($this->stringCriteriaOptions); + $criteriaModifers->setMultiOptions($this->getStringCriteriaOptions()); } else { - $criteriaModifers->setMultiOptions($this->numericCriteriaOptions); + $criteriaModifers->setMultiOptions($this->getNumericCriteriaOptions()); } $criteriaModifers->setValue($storedCrit["crit"][$criteriaKeys[$i]][$j]["modifier"]); } else { - $criteriaModifers->setMultiOptions(array('0' => 'Select modifier')); + $criteriaModifers->setMultiOptions(array('0' => _('Select modifier'))); } $this->addElement($criteriaModifers); @@ -214,7 +245,7 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm $repeatTracks = new Zend_Form_Element_Checkbox('sp_repeat_tracks'); $repeatTracks->setDecorators(array('viewHelper')) - ->setLabel('Allow Repeat Tracks:'); + ->setLabel(_('Allow Repeat Tracks:')); if (isset($storedCrit["repeat_tracks"])) { $repeatTracks->setChecked($storedCrit["repeat_tracks"]["value"] == 1?true:false); } @@ -223,7 +254,7 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm $limit = new Zend_Form_Element_Select('sp_limit_options'); $limit->setAttrib('class', 'sp_input_select') ->setDecorators(array('viewHelper')) - ->setMultiOptions($this->limitOptions); + ->setMultiOptions($this->getLimitOptions()); if (isset($storedCrit["limit"])) { $limit->setValue($storedCrit["limit"]["modifier"]); } @@ -231,7 +262,7 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm $limitValue = new Zend_Form_Element_Text('sp_limit_value'); $limitValue->setAttrib('class', 'sp_input_text_limit') - ->setLabel('Limit to') + ->setLabel(_('Limit to')) ->setDecorators(array('viewHelper')); $this->addElement($limitValue); if (isset($storedCrit["limit"])) { @@ -253,23 +284,23 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm $generate = new Zend_Form_Element_Button('generate_button'); $generate->setAttrib('class', 'btn btn-small'); - $generate->setAttrib('title', 'Generate playlist content and save criteria'); + $generate->setAttrib('title', _('Generate playlist content and save criteria')); $generate->setIgnore(true); - $generate->setLabel('Generate'); + $generate->setLabel(_('Generate')); $generate->setDecorators(array('viewHelper')); $this->addElement($generate); $shuffle = new Zend_Form_Element_Button('shuffle_button'); $shuffle->setAttrib('class', 'btn btn-small'); - $shuffle->setAttrib('title', 'Shuffle playlist content'); + $shuffle->setAttrib('title', _('Shuffle playlist content')); $shuffle->setIgnore(true); - $shuffle->setLabel('Shuffle'); + $shuffle->setLabel(_('Shuffle')); $shuffle->setDecorators(array('viewHelper')); $this->addElement($shuffle); $this->setDecorators(array( array('ViewScript', array('viewScript' => 'form/smart-block-criteria.phtml', "openOption"=> $openSmartBlockOption, - 'criteriasLength' => count($this->criteriaOptions), 'poolCount' => $files['count'], 'modRowMap' => $modRowMap, + 'criteriasLength' => count($this->getCriteriaOptions()), 'poolCount' => $files['count'], 'modRowMap' => $modRowMap, 'showPoolCount' => $showPoolCount)) )); } @@ -278,24 +309,24 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm { $data = Application_Model_Block::organizeSmartPlyalistCriteria($params['data']); // add elelments that needs to be added - // set multioption for modifier according to creiteria_field + // set multioption for modifier according to criteria_field $modRowMap = array(); foreach ($data['criteria'] as $critKey=>$d) { $count = 1; foreach ($d as $modKey=>$modInfo) { if ($modKey == 0) { $eleCrit = $this->getElement("sp_criteria_field_".$critKey."_".$modKey); - $eleCrit->setValue($this->criteriaOptions[$modInfo['sp_criteria_field']]); + $eleCrit->setValue($this->getCriteriaOptions($modInfo['sp_criteria_field'])); $eleCrit->setAttrib("disabled", null); $eleMod = $this->getElement("sp_criteria_modifier_".$critKey."_".$modKey); $criteriaType = $this->criteriaTypes[$modInfo['sp_criteria_field']]; if ($criteriaType == "s") { - $eleMod->setMultiOptions($this->stringCriteriaOptions); + $eleMod->setMultiOptions($this->getStringCriteriaOptions()); } elseif ($criteriaType == "n") { - $eleMod->setMultiOptions($this->numericCriteriaOptions); + $eleMod->setMultiOptions($this->getNumericCriteriaOptions()); } else { - $eleMod->setMultiOptions(array('0' => 'Select modifier')); + $eleMod->setMultiOptions(array('0' => _('Select modifier'))); } $eleMod->setValue($modInfo['sp_criteria_modifier']); $eleMod->setAttrib("disabled", null); @@ -316,10 +347,10 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm $criteria->setAttrib('class', 'input_select sp_input_select sp-invisible') ->setValue('Select criteria') ->setDecorators(array('viewHelper')) - ->setMultiOptions($this->criteriaOptions); + ->setMultiOptions($this->getCriteriaOptions()); $criteriaType = $this->criteriaTypes[$modInfo['sp_criteria_field']]; - $criteria->setValue($this->criteriaOptions[$modInfo['sp_criteria_field']]); + $criteria->setValue($this->getCriteriaOptions($modInfo['sp_criteria_field'])); $this->addElement($criteria); /****************** MODIFIER ***********/ @@ -329,11 +360,11 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm ->setDecorators(array('viewHelper')); if ($criteriaType == "s") { - $criteriaModifers->setMultiOptions($this->stringCriteriaOptions); + $criteriaModifers->setMultiOptions($this->getStringCriteriaOptions()); } elseif ($criteriaType == "n") { - $criteriaModifers->setMultiOptions($this->numericCriteriaOptions); + $criteriaModifers->setMultiOptions($this->getNumericCriteriaOptions()); } else { - $criteriaModifers->setMultiOptions(array('0' => 'Select modifier')); + $criteriaModifers->setMultiOptions(array('0' => _('Select modifier'))); } $criteriaModifers->setValue($modInfo['sp_criteria_modifier']); $this->addElement($criteriaModifers); @@ -427,25 +458,25 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm if ($data['etc']['sp_limit_options'] == 'hours' || $data['etc']['sp_limit_options'] == 'mins') { $element = $this->getElement("sp_limit_value"); if ($data['etc']['sp_limit_value'] == "" || floatval($data['etc']['sp_limit_value']) <= 0) { - $element->addError("Limit cannot be empty or smaller than 0"); + $element->addError(_("Limit cannot be empty or smaller than 0")); $isValid = false; } else { $mins = floatval($data['etc']['sp_limit_value']) * $multiplier; if ($mins > 1440) { - $element->addError("Limit cannot be more than 24 hrs"); + $element->addError(_("Limit cannot be more than 24 hrs")); $isValid = false; } } } else { $element = $this->getElement("sp_limit_value"); if ($data['etc']['sp_limit_value'] == "" || floatval($data['etc']['sp_limit_value']) <= 0) { - $element->addError("Limit cannot be empty or smaller than 0"); + $element->addError(_("Limit cannot be empty or smaller than 0")); $isValid = false; } elseif (!ctype_digit($data['etc']['sp_limit_value'])) { - $element->addError("The value should be an integer"); + $element->addError(_("The value should be an integer")); $isValid = false; } elseif (intval($data['etc']['sp_limit_value']) > 500) { - $element->addError("500 is the max item limit value you can set"); + $element->addError(_("500 is the max item limit value you can set")); $isValid = false; } } @@ -456,19 +487,19 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm $element = $this->getElement("sp_criteria_field_".$rowKey."_".$key); // check for not selected select box if ($d['sp_criteria_field'] == "0" || $d['sp_criteria_modifier'] == "0") { - $element->addError("You must select Criteria and Modifier"); + $element->addError(_("You must select Criteria and Modifier")); $isValid = false; } else { $column = CcFilesPeer::getTableMap()->getColumnByPhpName($criteria2PeerMap[$d['sp_criteria_field']]); // validation on type of column if ($d['sp_criteria_field'] == 'length') { if (!preg_match("/^(\d{2}):(\d{2}):(\d{2})/", $d['sp_criteria_value'])) { - $element->addError("'Length' should be in '00:00:00' format"); + $element->addError(_("'Length' should be in '00:00:00' format")); $isValid = false; } } elseif ($column->getType() == PropelColumnTypes::TIMESTAMP) { if (!preg_match("/(\d{4})-(\d{2})-(\d{2})/", $d['sp_criteria_value'])) { - $element->addError("The value should be in timestamp format(eg. 0000-00-00 or 00-00-00 00:00:00"); + $element->addError(_("The value should be in timestamp format(eg. 0000-00-00 or 00-00-00 00:00:00)")); $isValid = false; } else { $result = Application_Common_DateHelper::checkDateTimeRangeForSQL($d['sp_criteria_value']); @@ -481,7 +512,7 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm if (isset($d['sp_criteria_extra'])) { if (!preg_match("/(\d{4})-(\d{2})-(\d{2})/", $d['sp_criteria_extra'])) { - $element->addError("The value should be in timestamp format(eg. 0000-00-00 or 00-00-00 00:00:00"); + $element->addError(_("The value should be in timestamp format(eg. 0000-00-00 or 00-00-00 00:00:00)")); $isValid = false; } else { $result = Application_Common_DateHelper::checkDateTimeRangeForSQL($d['sp_criteria_extra']); @@ -495,24 +526,24 @@ class Application_Form_SmartBlockCriteria extends Zend_Form_SubForm } elseif ($column->getType() == PropelColumnTypes::INTEGER && $d['sp_criteria_field'] != 'owner_id') { if (!is_numeric($d['sp_criteria_value'])) { - $element->addError("The value has to be numeric"); + $element->addError(_("The value has to be numeric")); $isValid = false; } // length check if (intval($d['sp_criteria_value']) >= pow(2,31)) { - $element->addError("The value should be less then 2147483648"); + $element->addError(_("The value should be less then 2147483648")); $isValid = false; } } elseif ($column->getType() == PropelColumnTypes::VARCHAR) { if (strlen($d['sp_criteria_value']) > $column->getSize()) { - $element->addError("The value should be less ".$column->getSize()." characters"); + $element->addError(sprintf(_("The value should be less than %s characters"), $column->getSize())); $isValid = false; } } } if ($d['sp_criteria_value'] == "") { - $element->addError("Value cannot be empty"); + $element->addError(_("Value cannot be empty")); $isValid = false; } }//end foreach diff --git a/airtime_mvc/application/forms/SoundcloudPreferences.php b/airtime_mvc/application/forms/SoundcloudPreferences.php index d3840cbbf..30e1702c9 100644 --- a/airtime_mvc/application/forms/SoundcloudPreferences.php +++ b/airtime_mvc/application/forms/SoundcloudPreferences.php @@ -13,7 +13,7 @@ class Application_Form_SoundcloudPreferences extends Zend_Form_SubForm //enable soundcloud uploads $this->addElement('checkbox', 'UseSoundCloud', array( - 'label' => 'Automatically Upload Recorded Shows', + 'label' => _('Automatically Upload Recorded Shows'), 'required' => false, 'value' => Application_Model_Preference::GetAutoUploadRecordedShowToSoundcloud(), 'decorators' => array( @@ -23,7 +23,7 @@ class Application_Form_SoundcloudPreferences extends Zend_Form_SubForm //enable soundcloud uploads option $this->addElement('checkbox', 'UploadToSoundcloudOption', array( - 'label' => 'Enable SoundCloud Upload', + 'label' => _('Enable SoundCloud Upload'), 'required' => false, 'value' => Application_Model_Preference::GetUploadToSoundcloudOption(), 'decorators' => array( @@ -33,7 +33,7 @@ class Application_Form_SoundcloudPreferences extends Zend_Form_SubForm //enable downloadable for soundcloud $this->addElement('checkbox', 'SoundCloudDownloadbleOption', array( - 'label' => 'Automatically Mark Files "Downloadable" on SoundCloud', + 'label' => _('Automatically Mark Files "Downloadable" on SoundCloud'), 'required' => false, 'value' => Application_Model_Preference::GetSoundCloudDownloadbleOption(), 'decorators' => array( @@ -44,7 +44,7 @@ class Application_Form_SoundcloudPreferences extends Zend_Form_SubForm //SoundCloud Username $this->addElement('text', 'SoundCloudUser', array( 'class' => 'input_text', - 'label' => 'SoundCloud Email', + 'label' => _('SoundCloud Email'), 'filters' => array('StringTrim'), 'autocomplete' => 'off', 'value' => Application_Model_Preference::GetSoundCloudUser(), @@ -64,7 +64,7 @@ class Application_Form_SoundcloudPreferences extends Zend_Form_SubForm //SoundCloud Password $this->addElement('password', 'SoundCloudPassword', array( 'class' => 'input_text', - 'label' => 'SoundCloud Password', + 'label' => _('SoundCloud Password'), 'filters' => array('StringTrim'), 'autocomplete' => 'off', 'value' => Application_Model_Preference::GetSoundCloudPassword(), @@ -84,7 +84,7 @@ class Application_Form_SoundcloudPreferences extends Zend_Form_SubForm // Add the description element $this->addElement('textarea', 'SoundCloudTags', array( - 'label' => 'SoundCloud Tags: (separate tags with spaces)', + 'label' => _('SoundCloud Tags: (separate tags with spaces)'), 'required' => false, 'class' => 'input_text_area', 'value' => Application_Model_Preference::GetSoundCloudTags(), @@ -96,7 +96,7 @@ class Application_Form_SoundcloudPreferences extends Zend_Form_SubForm //SoundCloud default genre $this->addElement('text', 'SoundCloudGenre', array( 'class' => 'input_text', - 'label' => 'Default Genre:', + 'label' => _('Default Genre:'), 'required' => false, 'filters' => array('StringTrim'), 'value' => Application_Model_Preference::GetSoundCloudGenre(), @@ -106,23 +106,23 @@ class Application_Form_SoundcloudPreferences extends Zend_Form_SubForm )); $select = new Zend_Form_Element_Select('SoundCloudTrackType'); - $select->setLabel('Default Track Type:'); + $select->setLabel(_('Default Track Type:')); $select->setAttrib('class', 'input_select'); $select->setMultiOptions(array( "" => "", - "original" => "Original", - "remix" => "Remix", - "live" => "Live", - "recording" => "Recording", - "spoken" => "Spoken", - "podcast" => "Podcast", - "demo" => "Demo", - "in progress" => "Work in progress", - "stem" => "Stem", - "loop" => "Loop", - "sound effect" => "Sound Effect", - "sample" => "One Shot Sample", - "other" => "Other" + "original" => _("Original"), + "remix" => _("Remix"), + "live" => _("Live"), + "recording" => _("Recording"), + "spoken" => _("Spoken"), + "podcast" => _("Podcast"), + "demo" => _("Demo"), + "in progress" => _("Work in progress"), + "stem" => _("Stem"), + "loop" => _("Loop"), + "sound effect" => _("Sound Effect"), + "sample" => _("One Shot Sample"), + "other" => _("Other") )); $select->setRequired(false); $select->setValue(Application_Model_Preference::GetSoundCloudTrackType()); @@ -130,18 +130,18 @@ class Application_Form_SoundcloudPreferences extends Zend_Form_SubForm $this->addElement($select); $select = new Zend_Form_Element_Select('SoundCloudLicense'); - $select->setLabel('Default License:'); + $select->setLabel(_('Default License:')); $select->setAttrib('class', 'input_select'); $select->setMultiOptions(array( "" => "", - "no-rights-reserved" => "The work is in the public domain", - "all-rights-reserved" => "All rights are reserved", - "cc-by" => "Creative Commons Attribution", - "cc-by-nc" => "Creative Commons Attribution Noncommercial", - "cc-by-nd" => "Creative Commons Attribution No Derivative Works", - "cc-by-sa" => "Creative Commons Attribution Share Alike", - "cc-by-nc-nd" => "Creative Commons Attribution Noncommercial Non Derivate Works", - "cc-by-nc-sa" => "Creative Commons Attribution Noncommercial Share Alike" + "no-rights-reserved" => _("The work is in the public domain"), + "all-rights-reserved" => _("All rights are reserved"), + "cc-by" => _("Creative Commons Attribution"), + "cc-by-nc" => _("Creative Commons Attribution Noncommercial"), + "cc-by-nd" => _("Creative Commons Attribution No Derivative Works"), + "cc-by-sa" => _("Creative Commons Attribution Share Alike"), + "cc-by-nc-nd" => _("Creative Commons Attribution Noncommercial Non Derivate Works"), + "cc-by-nc-sa" => _("Creative Commons Attribution Noncommercial Share Alike") )); $select->setRequired(false); $select->setValue(Application_Model_Preference::GetSoundCloudLicense()); diff --git a/airtime_mvc/application/forms/StreamSetting.php b/airtime_mvc/application/forms/StreamSetting.php index c3443a3e0..1663cf127 100644 --- a/airtime_mvc/application/forms/StreamSetting.php +++ b/airtime_mvc/application/forms/StreamSetting.php @@ -19,7 +19,7 @@ class Application_Form_StreamSetting extends Zend_Form $setting = $this->setting; if (Application_Model_Preference::GetPlanLevel() == 'disabled') { $output_sound_device = new Zend_Form_Element_Checkbox('output_sound_device'); - $output_sound_device->setLabel('Hardware Audio Output') + $output_sound_device->setLabel(_('Hardware Audio Output')) ->setRequired(false) ->setValue(($setting['output_sound_device'] == "true")?1:0) ->setDecorators(array('ViewHelper')); @@ -30,7 +30,7 @@ class Application_Form_StreamSetting extends Zend_Form $output_types = array("ALSA"=>"ALSA", "AO"=>"AO", "OSS"=>"OSS", "Portaudio"=>"Portaudio", "Pulseaudio"=>"Pulseaudio"); $output_type = new Zend_Form_Element_Select('output_sound_device_type'); - $output_type->setLabel("Output Type") + $output_type->setLabel(_("Output Type")) ->setMultiOptions($output_types) ->setValue($setting['output_sound_device_type']) ->setDecorators(array('ViewHelper')); @@ -41,7 +41,7 @@ class Application_Form_StreamSetting extends Zend_Form } $icecast_vorbis_metadata = new Zend_Form_Element_Checkbox('icecast_vorbis_metadata'); - $icecast_vorbis_metadata->setLabel('Icecast Vorbis Metadata') + $icecast_vorbis_metadata->setLabel(_('Icecast Vorbis Metadata')) ->setRequired(false) ->setValue(($setting['icecast_vorbis_metadata'] == "true")?1:0) ->setDecorators(array('ViewHelper')); @@ -51,10 +51,10 @@ class Application_Form_StreamSetting extends Zend_Form $this->addElement($icecast_vorbis_metadata); $stream_format = new Zend_Form_Element_Radio('streamFormat'); - $stream_format->setLabel('Stream Label:'); - $stream_format->setMultiOptions(array("Artist - Title", - "Show - Artist - Title", - "Station name - Show name")); + $stream_format->setLabel(_('Stream Label:')); + $stream_format->setMultiOptions(array(_("Artist - Title"), + _("Show - Artist - Title"), + _("Station name - Show name"))); $stream_format->setValue(Application_Model_Preference::GetStreamLabelFormat()); $stream_format->setDecorators(array('ViewHelper')); $this->addElement($stream_format); diff --git a/airtime_mvc/application/forms/StreamSettingSubForm.php b/airtime_mvc/application/forms/StreamSettingSubForm.php index 6a243d12f..c5d8a19b2 100644 --- a/airtime_mvc/application/forms/StreamSettingSubForm.php +++ b/airtime_mvc/application/forms/StreamSettingSubForm.php @@ -45,7 +45,7 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm $disable_all = Application_Model_Preference::GetEnableStreamConf() == "false"; $enable = new Zend_Form_Element_Checkbox('enable'); - $enable->setLabel('Enabled:') + $enable->setLabel(_('Enabled:')) ->setValue($setting[$prefix.'_enable'] == 'true' ? 1 : 0) ->setDecorators(array('ViewHelper')); if ($disable_all) { @@ -54,7 +54,7 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm $this->addElement($enable); $type = new Zend_Form_Element_Select('type'); - $type->setLabel("Stream Type:") + $type->setLabel(_("Stream Type:")) ->setMultiOptions($stream_types) ->setValue(isset($setting[$prefix.'_type'])?$setting[$prefix.'_type']:0) ->setDecorators(array('ViewHelper')); @@ -64,7 +64,7 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm $this->addElement($type); $bitrate = new Zend_Form_Element_Select('bitrate'); - $bitrate->setLabel("Bit Rate:") + $bitrate->setLabel(_("Bit Rate:")) ->setMultiOptions($stream_bitrates) ->setValue(isset($setting[$prefix.'_bitrate'])?$setting[$prefix.'_bitrate']:0) ->setDecorators(array('ViewHelper')); @@ -74,7 +74,7 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm $this->addElement($bitrate); $output = new Zend_Form_Element_Select('output'); - $output->setLabel("Service Type:") + $output->setLabel(_("Service Type:")) ->setMultiOptions(array("icecast"=>"Icecast", "shoutcast"=>"SHOUTcast")) ->setValue(isset($setting[$prefix.'_output'])?$setting[$prefix.'_output']:"icecast") ->setDecorators(array('ViewHelper')); @@ -84,8 +84,8 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm $this->addElement($output); $channels = new Zend_Form_Element_Select('channels'); - $channels->setLabel("Channels:") - ->setMultiOptions(array("mono"=>"1 - Mono", "stereo"=>"2 - Stereo")) + $channels->setLabel(_("Channels:")) + ->setMultiOptions(array("mono"=>_("1 - Mono"), "stereo"=>_("2 - Stereo"))) ->setValue(isset($setting[$prefix.'_channels']) ? $setting[$prefix.'_channels'] : "stereo") ->setDecorators(array('ViewHelper')); if ($disable_all) { @@ -94,10 +94,10 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm $this->addElement($channels); $host = new Zend_Form_Element_Text('host'); - $host->setLabel("Server") + $host->setLabel(_("Server")) ->setValue(isset($setting[$prefix.'_host'])?$setting[$prefix.'_host']:"") ->setValidators(array( - array('regex', false, array('/^[0-9a-zA-Z-_.]+$/', 'messages' => 'Invalid character entered')))) + array('regex', false, array('/^[0-9a-zA-Z-_.]+$/', 'messages' => _('Invalid character entered'))))) ->setDecorators(array('ViewHelper')); if ($disable_all) { $host->setAttrib("disabled", "disabled"); @@ -106,10 +106,10 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm $this->addElement($host); $port = new Zend_Form_Element_Text('port'); - $port->setLabel("Port") + $port->setLabel(_("Port")) ->setValue(isset($setting[$prefix.'_port'])?$setting[$prefix.'_port']:"") ->setValidators(array(new Zend_Validate_Between(array('min'=>0, 'max'=>99999)))) - ->addValidator('regex', false, array('pattern'=>'/^[0-9]+$/', 'messages'=>array('regexNotMatch'=>'Only numbers are allowed.'))) + ->addValidator('regex', false, array('pattern'=>'/^[0-9]+$/', 'messages'=>array('regexNotMatch'=>_('Only numbers are allowed.')))) ->setDecorators(array('ViewHelper')); if ($disable_all) { $port->setAttrib("disabled", "disabled"); @@ -117,10 +117,10 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm $this->addElement($port); $pass = new Zend_Form_Element_Text('pass'); - $pass->setLabel("Password") + $pass->setLabel(_("Password")) ->setValue(isset($setting[$prefix.'_pass'])?$setting[$prefix.'_pass']:"") ->setValidators(array( - array('regex', false, array('/^[^ &<>]+$/', 'messages' => 'Invalid character entered')))) + array('regex', false, array('/^[^ &<>]+$/', 'messages' => _('Invalid character entered'))))) ->setDecorators(array('ViewHelper')); if ($disable_all) { $pass->setAttrib("disabled", "disabled"); @@ -129,7 +129,7 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm $this->addElement($pass); $genre = new Zend_Form_Element_Text('genre'); - $genre->setLabel("Genre") + $genre->setLabel(_("Genre")) ->setValue(isset($setting[$prefix.'_genre'])?$setting[$prefix.'_genre']:"") ->setDecorators(array('ViewHelper')); if ($disable_all) { @@ -138,10 +138,10 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm $this->addElement($genre); $url = new Zend_Form_Element_Text('url'); - $url->setLabel("URL") + $url->setLabel(_("URL")) ->setValue(isset($setting[$prefix.'_url'])?$setting[$prefix.'_url']:"") ->setValidators(array( - array('regex', false, array('/^[0-9a-zA-Z\-_.:\/]+$/', 'messages' => 'Invalid character entered')))) + array('regex', false, array('/^[0-9a-zA-Z\-_.:\/]+$/', 'messages' => _('Invalid character entered'))))) ->setDecorators(array('ViewHelper')); if ($disable_all) { $url->setAttrib("disabled", "disabled"); @@ -150,7 +150,7 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm $this->addElement($url); $name = new Zend_Form_Element_Text('name'); - $name->setLabel("Name") + $name->setLabel(_("Name")) ->setValue(isset($setting[$prefix.'_name'])?$setting[$prefix.'_name']:"") ->setDecorators(array('ViewHelper')); if ($disable_all) { @@ -159,7 +159,7 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm $this->addElement($name); $description = new Zend_Form_Element_Text('description'); - $description->setLabel("Description") + $description->setLabel(_("Description")) ->setValue(isset($setting[$prefix.'_description'])?$setting[$prefix.'_description']:"") ->setDecorators(array('ViewHelper')); if ($disable_all) { @@ -168,10 +168,10 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm $this->addElement($description); $mount = new Zend_Form_Element_Text('mount'); - $mount->setLabel("Mount Point") + $mount->setLabel(_("Mount Point")) ->setValue(isset($setting[$prefix.'_mount'])?$setting[$prefix.'_mount']:"") ->setValidators(array( - array('regex', false, array('/^[^ &<>]+$/', 'messages' => 'Invalid character entered')))) + array('regex', false, array('/^[^ &<>]+$/', 'messages' => _('Invalid character entered'))))) ->setDecorators(array('ViewHelper')); if ($disable_all) { $mount->setAttrib("disabled", "disabled"); @@ -180,10 +180,10 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm $this->addElement($mount); $user = new Zend_Form_Element_Text('user'); - $user->setLabel("Username") + $user->setLabel(_("Username")) ->setValue(isset($setting[$prefix.'_user'])?$setting[$prefix.'_user']:"") ->setValidators(array( - array('regex', false, array('/^[^ &<>]+$/', 'messages' => 'Invalid character entered')))) + array('regex', false, array('/^[^ &<>]+$/', 'messages' => _('Invalid character entered'))))) ->setDecorators(array('ViewHelper')); if ($disable_all) { $user->setAttrib("disabled", "disabled"); @@ -191,7 +191,7 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm $user->setAttrib('alt', 'regular_text'); $this->addElement($user); - $liquidsopa_error_msg = '

Getting information from the server...

'; + $liquidsopa_error_msg = '

'._('Getting information from the server...').'

'; $this->setDecorators(array( array('ViewScript', array('viewScript' => 'form/stream-setting-form.phtml', "stream_number"=>$stream_number, "enabled"=>$enable->getValue(), "liquidsoap_error_msg"=>$liquidsopa_error_msg)) @@ -205,18 +205,18 @@ class Application_Form_StreamSettingSubForm extends Zend_Form_SubForm if ($f_data['enable'] == 1) { if ($f_data['host'] == '') { $element = $this->getElement("host"); - $element->addError("Server cannot be empty."); + $element->addError(_("Server cannot be empty.")); $isValid = false; } if ($f_data['port'] == '') { $element = $this->getElement("port"); - $element->addError("Port cannot be empty."); + $element->addError(_("Port cannot be empty.")); $isValid = false; } if ($f_data['output'] == 'icecast') { if ($f_data['mount'] == '') { $element = $this->getElement("mount"); - $element->addError("Mount cannot be empty with Icecast server."); + $element->addError(_("Mount cannot be empty with Icecast server.")); $isValid = false; } } diff --git a/airtime_mvc/application/forms/SupportSettings.php b/airtime_mvc/application/forms/SupportSettings.php index 99aae55ad..4662a08ae 100644 --- a/airtime_mvc/application/forms/SupportSettings.php +++ b/airtime_mvc/application/forms/SupportSettings.php @@ -8,6 +8,7 @@ class Application_Form_SupportSettings extends Zend_Form public function init() { $country_list = Application_Model_Preference::GetCountryList(); + $notEmptyValidator = Application_Form_Helper_ValidationTypes::overrideNotEmptyValidator(); $this->setDecorators(array( array('ViewScript', array('viewScript' => 'form/support-setting.phtml')), @@ -17,10 +18,10 @@ class Application_Form_SupportSettings extends Zend_Form //Station name $this->addElement('text', 'stationName', array( 'class' => 'input_text', - 'label' => 'Station Name', + 'label' => _('Station Name'), 'required' => true, 'filters' => array('StringTrim'), - 'validator' => array('NotEmpty'), + 'validators' => array($notEmptyValidator), 'value' => Application_Model_Preference::GetStationName(), 'decorators' => array( 'ViewHelper' @@ -30,7 +31,7 @@ class Application_Form_SupportSettings extends Zend_Form // Phone number $this->addElement('text', 'Phone', array( 'class' => 'input_text', - 'label' => 'Phone:', + 'label' => _('Phone:'), 'required' => false, 'filters' => array('StringTrim'), 'value' => Application_Model_Preference::GetPhone(), @@ -42,7 +43,7 @@ class Application_Form_SupportSettings extends Zend_Form //Email $this->addElement('text', 'Email', array( 'class' => 'input_text', - 'label' => 'Email:', + 'label' => _('Email:'), 'required' => false, 'filters' => array('StringTrim'), 'value' => Application_Model_Preference::GetEmail(), @@ -53,7 +54,7 @@ class Application_Form_SupportSettings extends Zend_Form // Station Web Site $this->addElement('text', 'StationWebSite', array( - 'label' => 'Station Web Site:', + 'label' => _('Station Web Site:'), 'required' => false, 'class' => 'input_text', 'value' => Application_Model_Preference::GetStationWebSite(), @@ -64,7 +65,7 @@ class Application_Form_SupportSettings extends Zend_Form // county list dropdown $this->addElement('select', 'Country', array( - 'label' => 'Country:', + 'label' => _('Country:'), 'required' => false, 'value' => Application_Model_Preference::GetStationCountry(), 'multiOptions' => $country_list, @@ -75,7 +76,7 @@ class Application_Form_SupportSettings extends Zend_Form // Station city $this->addElement('text', 'City', array( - 'label' => 'City:', + 'label' => _('City:'), 'required' => false, 'class' => 'input_text', 'value' => Application_Model_Preference::GetStationCity(), @@ -87,7 +88,7 @@ class Application_Form_SupportSettings extends Zend_Form // Station Description $description = new Zend_Form_Element_Textarea('Description'); $description->class = 'input_text_area'; - $description->setLabel('Station Description:') + $description->setLabel(_('Station Description:')) ->setRequired(false) ->setValue(Application_Model_Preference::GetStationDescription()) ->setDecorators(array('ViewHelper')) @@ -97,7 +98,7 @@ class Application_Form_SupportSettings extends Zend_Form // Station Logo $upload = new Zend_Form_Element_File('Logo'); - $upload->setLabel('Station Logo:') + $upload->setLabel(_('Station Logo:')) ->setRequired(false) ->setDecorators(array('File')) ->addValidator('Count', false, 1) @@ -108,7 +109,7 @@ class Application_Form_SupportSettings extends Zend_Form //enable support feedback $this->addElement('checkbox', 'SupportFeedback', array( - 'label' => 'Send support feedback', + 'label' => _('Send support feedback'), 'required' => false, 'value' => Application_Model_Preference::GetSupportFeedback(), 'decorators' => array( @@ -118,7 +119,7 @@ class Application_Form_SupportSettings extends Zend_Form // checkbox for publicise $checkboxPublicise = new Zend_Form_Element_Checkbox("Publicise"); - $checkboxPublicise->setLabel('Promote my station on Sourcefabric.org') + $checkboxPublicise->setLabel(_('Promote my station on Sourcefabric.org')) ->setRequired(false) ->setDecorators(array('ViewHelper')) ->setValue(Application_Model_Preference::GetPublicise()); @@ -143,7 +144,10 @@ class Application_Form_SupportSettings extends Zend_Form // checkbox for privacy policy $checkboxPrivacy = new Zend_Form_Element_Checkbox("Privacy"); - $checkboxPrivacy->setLabel("By checking this box, I agree to Sourcefabric's privacy policy.") + $checkboxPrivacy->setLabel( + sprintf(_("By checking this box, I agree to Sourcefabric's %sprivacy policy%s."), + "", + "")) ->setDecorators(array('ViewHelper')); $this->addElement($checkboxPrivacy); @@ -151,7 +155,7 @@ class Application_Form_SupportSettings extends Zend_Form $submit = new Zend_Form_Element_Submit("submit"); $submit->class = 'ui-button ui-state-default right-floated'; $submit->setIgnore(true) - ->setLabel("Save") + ->setLabel(_("Save")) ->setDecorators(array('ViewHelper')); $this->addElement($submit); } @@ -166,7 +170,7 @@ class Application_Form_SupportSettings extends Zend_Form if (isset($data["Privacy"])) { $checkPrivacy = $this->getElement('Privacy'); if ($data["SupportFeedback"] == "1" && $data["Privacy"] != "1") { - $checkPrivacy->addError("You have to agree to privacy policy."); + $checkPrivacy->addError(_("You have to agree to privacy policy.")); $isValid = false; } } diff --git a/airtime_mvc/application/forms/WatchedDirPreferences.php b/airtime_mvc/application/forms/WatchedDirPreferences.php index 7fcf00893..7c4fca1c8 100644 --- a/airtime_mvc/application/forms/WatchedDirPreferences.php +++ b/airtime_mvc/application/forms/WatchedDirPreferences.php @@ -11,7 +11,7 @@ class Application_Form_WatchedDirPreferences extends Zend_Form_SubForm $this->addElement('text', 'storageFolder', array( 'class' => 'input_text', - 'label' => 'Import Folder:', + 'label' => _('Import Folder:'), 'required' => false, 'filters' => array('StringTrim'), 'value' => '', @@ -22,7 +22,7 @@ class Application_Form_WatchedDirPreferences extends Zend_Form_SubForm $this->addElement('text', 'watchedFolder', array( 'class' => 'input_text', - 'label' => 'Watched Folders:', + 'label' => _('Watched Folders:'), 'required' => false, 'filters' => array('StringTrim'), 'value' => '', @@ -37,7 +37,7 @@ class Application_Form_WatchedDirPreferences extends Zend_Form_SubForm $element = $this->getElement($p_form_element_id); if (!is_dir($element->getValue())) { - $element->setErrors(array('Not a valid Directory')); + $element->setErrors(array(_('Not a valid Directory'))); return false; } else { diff --git a/airtime_mvc/application/forms/customvalidators/ConditionalNotEmpty.php b/airtime_mvc/application/forms/customvalidators/ConditionalNotEmpty.php index bd3ae5723..d0d1992fc 100644 --- a/airtime_mvc/application/forms/customvalidators/ConditionalNotEmpty.php +++ b/airtime_mvc/application/forms/customvalidators/ConditionalNotEmpty.php @@ -7,9 +7,7 @@ class ConditionalNotEmpty extends Zend_Validate_Abstract { const KEY_IS_EMPTY = 'keyIsEmpty'; - protected $_messageTemplates = array( - self::KEY_IS_EMPTY => 'Value is required and can\'t be empty' - ); + protected $_messageTemplates; protected $_fieldValues; @@ -24,6 +22,9 @@ class ConditionalNotEmpty extends Zend_Validate_Abstract public function __construct($fieldValues) { $this->_fieldValues = $fieldValues; + $this->_messageTemplates = array( + self::KEY_IS_EMPTY => _("Value is required and can't be empty") + ); } /** diff --git a/airtime_mvc/application/forms/helpers/ValidationTypes.php b/airtime_mvc/application/forms/helpers/ValidationTypes.php new file mode 100644 index 000000000..6211a14b5 --- /dev/null +++ b/airtime_mvc/application/forms/helpers/ValidationTypes.php @@ -0,0 +1,83 @@ +setMessage( + _("Value is required and can't be empty"), + Zend_Validate_NotEmpty::IS_EMPTY + ); + + return $validator; + } + + public static function overrideEmailAddressValidator() + { + $validator = new Zend_Validate_EmailAddress(); + $validator->setMessage( + _("'%value%' is no valid email address in the basic format local-part@hostname"), + Zend_Validate_EmailAddress::INVALID_FORMAT + ); + + return $validator; + } + + public static function overrrideDateValidator($p_format) + { + $validator = new Zend_Validate_Date(); + + $validator->setFormat($p_format); + + $validator->setMessage( + _("'%value%' does not fit the date format '%format%'"), + Zend_Validate_Date::FALSEFORMAT + ); + + return $validator; + } + + public static function overrideRegexValidator($p_pattern, $p_msg) + { + $validator = new Zend_Validate_Regex($p_pattern); + + $validator->setMessage( + $p_msg, + Zend_Validate_Regex::NOT_MATCH + ); + + return $validator; + } + + public static function overrideStringLengthValidator($p_min, $p_max) + { + $validator = new Zend_Validate_StringLength(); + $validator->setMin($p_min); + $validator->setMax($p_max); + + $validator->setMessage( + _("'%value%' is less than %min% characters long"), + Zend_Validate_StringLength::TOO_SHORT + ); + + $validator->setMessage( + _("'%value%' is more than %max% characters long"), + Zend_Validate_StringLength::TOO_LONG + ); + + return $validator; + } + + public static function overrideBetweenValidator($p_min, $p_max) + { + $validator = new Zend_Validate_Between($p_min, $p_max, true); + + $validator->setMessage( + _("'%value%' is not between '%min%' and '%max%', inclusively"), + Zend_Validate_Between::NOT_BETWEEN + ); + + return $validator; + } + +} \ No newline at end of file diff --git a/airtime_mvc/application/layouts/scripts/audio-player.phtml b/airtime_mvc/application/layouts/scripts/audio-player.phtml index 85f5a7166..cb7f97740 100644 --- a/airtime_mvc/application/layouts/scripts/audio-player.phtml +++ b/airtime_mvc/application/layouts/scripts/audio-player.phtml @@ -2,7 +2,7 @@ - Audio Player + <?php echo _("Audio Player")?> headScript() ?> headLink() ?> google_analytics)?$this->google_analytics:"" ?> diff --git a/airtime_mvc/application/layouts/scripts/bare.phtml b/airtime_mvc/application/layouts/scripts/bare.phtml index b89443505..0f4a1b4ee 100644 --- a/airtime_mvc/application/layouts/scripts/bare.phtml +++ b/airtime_mvc/application/layouts/scripts/bare.phtml @@ -2,7 +2,7 @@ - Live stream + <?php echo _("Live stream") ?> headScript() ?> headLink() ?> google_analytics)?$this->google_analytics:"" ?> diff --git a/airtime_mvc/application/layouts/scripts/layout.phtml b/airtime_mvc/application/layouts/scripts/layout.phtml index b25b8c9cf..80951b748 100644 --- a/airtime_mvc/application/layouts/scripts/layout.phtml +++ b/airtime_mvc/application/layouts/scripts/layout.phtml @@ -23,7 +23,7 @@ $this->navigation()->menu()->setPartial($partial); ?>
diff --git a/airtime_mvc/application/layouts/scripts/login.phtml b/airtime_mvc/application/layouts/scripts/login.phtml index 42389f11a..966226700 100644 --- a/airtime_mvc/application/layouts/scripts/login.phtml +++ b/airtime_mvc/application/layouts/scripts/login.phtml @@ -13,8 +13,9 @@ layout()->content ?> diff --git a/airtime_mvc/application/models/Auth.php b/airtime_mvc/application/models/Auth.php index 2aef1ce81..104ee8050 100644 --- a/airtime_mvc/application/models/Auth.php +++ b/airtime_mvc/application/models/Auth.php @@ -30,10 +30,10 @@ class Application_Model_Auth $e_link_port = $_SERVER['SERVER_PORT']; $e_link_path = $view->url(array('user_id' => $user->getDbId(), 'token' => $token), 'password-change'); - $message = "Hi {$user->getDbLogin()}, \n\nClick this link to reset your password: "; + $message = sprintf(_("Hi %s, \n\nClick this link to reset your password: "), $user->getDbLogin()); $message .= "{$e_link_protocol}://{$e_link_base}:{$e_link_port}{$e_link_path}"; - $success = Application_Model_Email::send('Airtime Password Reset', $message, $user->getDbEmail()); + $success = Application_Model_Email::send(_('Airtime Password Reset'), $message, $user->getDbEmail()); return $success; } diff --git a/airtime_mvc/application/models/Block.php b/airtime_mvc/application/models/Block.php index 9341cf881..46e857e49 100644 --- a/airtime_mvc/application/models/Block.php +++ b/airtime_mvc/application/models/Block.php @@ -756,7 +756,7 @@ SQL; try { if (is_null($cueIn) && is_null($cueOut)) { - $errArray["error"] = "Cue in and cue out are null."; + $errArray["error"] = _("Cue in and cue out are null."); return $errArray; } @@ -791,7 +791,7 @@ SQL; ); $result = Application_Common_Database::prepareAndExecute($sql, $params, 'column'); if ($result) { - $errArray["error"] = "Can't set cue out to be greater than file length."; + $errArray["error"] = _("Can't set cue out to be greater than file length."); return $errArray; } @@ -802,7 +802,7 @@ SQL; ); $result = Application_Common_Database::prepareAndExecute($sql, $params, 'column'); if ($result) { - $errArray["error"] = "Can't set cue in to be larger than cue out."; + $errArray["error"] = _("Can't set cue in to be larger than cue out."); return $errArray; } @@ -823,7 +823,7 @@ SQL; ); $result = Application_Common_Database::prepareAndExecute($sql, $params, 'column'); if ($result) { - $errArray["error"] = "Can't set cue in to be larger than cue out."; + $errArray["error"] = _("Can't set cue in to be larger than cue out."); return $errArray; } @@ -847,7 +847,7 @@ SQL; ); $result = Application_Common_Database::prepareAndExecute($sql, $params, 'column'); if ($result) { - $errArray["error"] = "Can't set cue out to be greater than file length."; + $errArray["error"] = _("Can't set cue out to be greater than file length."); return $errArray; } @@ -858,7 +858,7 @@ SQL; ); $result = Application_Common_Database::prepareAndExecute($sql, $params, 'column'); if ($result) { - $errArray["error"] = "Can't set cue out to be smaller than cue in."; + $errArray["error"] = _("Can't set cue out to be smaller than cue in."); return $errArray; } @@ -1206,32 +1206,32 @@ SQL; public function getCriteria() { $criteriaOptions = array( - 0 => "Select criteria", - "album_title" => "Album", - "bit_rate" => "Bit Rate (Kbps)", - "bpm" => "BPM", - "composer" => "Composer", - "conductor" => "Conductor", - "copyright" => "Copyright", - "artist_name" => "Creator", - "encoded_by" => "Encoded By", - "genre" => "Genre", - "isrc_number" => "ISRC", - "label" => "Label", - "language" => "Language", - "mtime" => "Last Modified", - "lptime" => "Last Played", - "length" => "Length", - "mime" => "Mime", - "mood" => "Mood", - "owner_id" => "Owner", - "replay_gain" => "Replay Gain", - "sample_rate" => "Sample Rate (kHz)", - "track_title" => "Title", - "track_number" => "Track Number", - "utime" => "Uploaded", - "info_url" => "Website", - "year" => "Year" + 0 => _("Select criteria"), + "album_title" => _("Album"), + "bit_rate" => _("Bit Rate (Kbps)"), + "bpm" => _("BPM"), + "composer" => _("Composer"), + "conductor" => _("Conductor"), + "copyright" => _("Copyright"), + "artist_name" => _("Creator"), + "encoded_by" => _("Encoded By"), + "genre" => _("Genre"), + "isrc_number" => _("ISRC"), + "label" => _("Label"), + "language" => _("Language"), + "mtime" => _("Last Modified"), + "lptime" => _("Last Played"), + "length" => _("Length"), + "mime" => _("Mime"), + "mood" => _("Mood"), + "owner_id" => _("Owner"), + "replay_gain" => _("Replay Gain"), + "sample_rate" => _("Sample Rate (kHz)"), + "track_title" => _("Title"), + "track_number" => _("Track Number"), + "utime" => _("Uploaded"), + "info_url" => _("Website"), + "year" => _("Year") ); // Load criteria from db diff --git a/airtime_mvc/application/models/Locale.php b/airtime_mvc/application/models/Locale.php new file mode 100644 index 000000000..e1568e3fe --- /dev/null +++ b/airtime_mvc/application/models/Locale.php @@ -0,0 +1,17 @@ +query($sql)->fetchAll(); + $out = array(); + foreach ($res as $r) { + $out[$r["locale_code"]] = $r["locale_lang"]; + } + + return $out; + } +} diff --git a/airtime_mvc/application/models/MusicDir.php b/airtime_mvc/application/models/MusicDir.php index 3607efd4d..117d06f40 100644 --- a/airtime_mvc/application/models/MusicDir.php +++ b/airtime_mvc/application/models/MusicDir.php @@ -157,15 +157,15 @@ SQL; $diff = strlen($dir) - strlen($p_path); if ($diff == 0) { if ($dir == $p_path) { - throw new NestedDirectoryException("'$p_path' is already watched."); + throw new NestedDirectoryException(sprintf(_("%s is already watched."), $p_path)); } } elseif ($diff > 0) { if (self::isAncestorDir($p_path, $dir)) { - throw new NestedDirectoryException("'$p_path' contains nested watched directory: '$dir'"); + throw new NestedDirectoryException(sprintf(_("%s contains nested watched directory: %s"), $p_path, $dir)); } } else { /* diff < 0*/ if (self::isAncestorDir($dir, $p_path)) { - throw new NestedDirectoryException("'$p_path' is nested within existing watched directory: '$dir'"); + throw new NestedDirectoryException(sprintf(_("%s is nested within existing watched directory: %s"), $p_path, $dir)); } } } @@ -186,7 +186,7 @@ SQL; public static function addDir($p_path, $p_type, $userAddedWatchedDir=true, $nestedWatch=false) { if (!is_dir($p_path)) { - return array("code"=>2, "error"=>"'$p_path' is not a valid directory."); + return array("code"=>2, "error"=>sprintf(_("%s is not a valid directory."), $p_path)); } $real_path = Application_Common_OsPath::normpath($p_path)."/"; if ($real_path != "/") { @@ -227,7 +227,8 @@ SQL; return array("code"=>1, "error"=>"$msg"); } catch (Exception $e) { - return array("code"=>1, "error"=>"'$p_path' is already set as the current storage dir or in the watched folders list"); + return array("code"=>1, + "error"=>sprintf(_("%s is already set as the current storage dir or in the watched folders list"), $p_path)); } } @@ -359,7 +360,7 @@ SQL; // path should always ends with trailing '/' $p_dir = Application_Common_OsPath::normpath($p_dir)."/"; if (!is_dir($p_dir)) { - return array("code"=>2, "error"=>"'$p_dir' is not a valid directory."); + return array("code"=>2, "error"=>sprintf(_("%s is not a valid directory."), $p_dir)); } elseif (Application_Model_Preference::GetImportTimestamp()+10 > time()) { return array("code"=>3, "error"=>"Airtime is currently importing files. Please wait until this is complete before changing the storage directory."); } @@ -376,7 +377,8 @@ SQL; return array("code"=>0); } else { - return array("code"=>1, "error"=>"'$p_dir' is already set as the current storage dir or in the watched folders list."); + return array("code"=>1, + "error"=>sprintf(_("%s is already set as the current storage dir or in the watched folders list."), $p_dir)); } } @@ -419,7 +421,7 @@ SQL; } $dir = Application_Model_MusicDir::getDirByPath($p_dir); if (is_null($dir)) { - return array("code"=>1, "error"=>"'$p_dir' doesn't exist in the watched list."); + return array("code"=>1, "error"=>sprintf(_("%s doesn't exist in the watched list."), $p_dir)); } else { $dir->remove($userAddedWatchedDir); $data = array(); diff --git a/airtime_mvc/application/models/Playlist.php b/airtime_mvc/application/models/Playlist.php index 4e9562c72..fc1099837 100644 --- a/airtime_mvc/application/models/Playlist.php +++ b/airtime_mvc/application/models/Playlist.php @@ -721,7 +721,7 @@ SQL; try { if (is_null($cueIn) && is_null($cueOut)) { - $errArray["error"] = "Cue in and cue out are null."; + $errArray["error"] = _("Cue in and cue out are null."); return $errArray; } @@ -751,14 +751,14 @@ SQL; $sql = "SELECT :cueIn::INTERVAL > :cueOut::INTERVAL"; if (Application_Common_Database::prepareAndExecute($sql, array(':cueIn'=>$cueIn, ':cueOut'=>$cueOut), 'column')) { - $errArray["error"] = "Can't set cue in to be larger than cue out."; + $errArray["error"] = _("Can't set cue in to be larger than cue out."); return $errArray; } $sql = "SELECT :cueOut::INTERVAL > :origLength::INTERVAL"; if (Application_Common_Database::prepareAndExecute($sql, array(':cueOut'=>$cueOut, ':origLength'=>$origLength), 'column')) { - $errArray["error"] = "Can't set cue out to be greater than file length."; + $errArray["error"] = _("Can't set cue out to be greater than file length."); return $errArray; } @@ -774,7 +774,7 @@ SQL; $sql = "SELECT :cueIn::INTERVAL > :oldCueOut::INTERVAL"; if (Application_Common_Database::prepareAndExecute($sql, array(':cueIn'=>$cueIn, ':oldCueOut'=>$oldCueOut), 'column')) { - $errArray["error"] = "Can't set cue in to be larger than cue out."; + $errArray["error"] = _("Can't set cue in to be larger than cue out."); return $errArray; } @@ -792,14 +792,14 @@ SQL; $sql = "SELECT :cueOut::INTERVAL < :oldCueIn::INTERVAL"; if (Application_Common_Database::prepareAndExecute($sql, array(':cueOut'=>$cueOut, ':oldCueIn'=>$oldCueIn), 'column')) { - $errArray["error"] = "Can't set cue out to be smaller than cue in."; + $errArray["error"] = _("Can't set cue out to be smaller than cue in."); return $errArray; } $sql = "SELECT :cueOut::INTERVAL > :origLength::INTERVAL"; if (Application_Common_Database::prepareAndExecute($sql, array(':cueOut'=>$cueOut, ':origLength'=>$origLength), 'column')) { - $errArray["error"] = "Can't set cue out to be greater than file length."; + $errArray["error"] = _("Can't set cue out to be greater than file length."); return $errArray; } diff --git a/airtime_mvc/application/models/Preference.php b/airtime_mvc/application/models/Preference.php index cd9bd9bd8..916bc1deb 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) { @@ -456,7 +466,7 @@ class Application_Model_Preference $sql = "SELECT * FROM cc_country"; $res = $con->query($sql)->fetchAll(); $out = array(); - $out[""] = "Select Country"; + $out[""] = _("Select Country"); foreach ($res as $r) { $out[$r["isocode"]] = $r["name"]; } diff --git a/airtime_mvc/application/models/Scheduler.php b/airtime_mvc/application/models/Scheduler.php index b36fc2223..fb5c2ebc4 100644 --- a/airtime_mvc/application/models/Scheduler.php +++ b/airtime_mvc/application/models/Scheduler.php @@ -79,12 +79,12 @@ class Application_Model_Scheduler //an item has been deleted if (count($schedIds) !== count($schedItems)) { - throw new OutDatedScheduleException("The schedule you're viewing is out of date! (sched mismatch)"); + throw new OutDatedScheduleException(_("The schedule you're viewing is out of date! (sched mismatch)")); } //a show has been deleted if (count($instanceIds) !== count($showInstances)) { - throw new OutDatedScheduleException("The schedule you're viewing is out of date! (instance mismatch)"); + throw new OutDatedScheduleException(_("The schedule you're viewing is out of date! (instance mismatch)")); } foreach ($schedItems as $schedItem) { @@ -92,7 +92,7 @@ class Application_Model_Scheduler $instance = $schedItem->getCcShowInstances($this->con); if (intval($schedInfo[$id]) !== $instance->getDbId()) { - throw new OutDatedScheduleException("The schedule you're viewing is out of date!"); + throw new OutDatedScheduleException(_("The schedule you're viewing is out of date!")); } } @@ -102,24 +102,24 @@ class Application_Model_Scheduler $show = $instance->getCcShow($this->con); if ($this->checkUserPermissions && $this->user->canSchedule($show->getDbId()) === false) { - throw new Exception("You are not allowed to schedule show {$show->getDbName()}."); + throw new Exception(sprintf(_("You are not allowed to schedule show %s."), $show->getDbName())); } if ($instance->getDbRecord()) { - throw new Exception("You cannot add files to recording shows."); + throw new Exception(_("You cannot add files to recording shows.")); } $showEndEpoch = floatval($instance->getDbEnds("U.u")); if ($showEndEpoch < $nowEpoch) { - throw new OutDatedScheduleException("The show {$show->getDbName()} is over and cannot be scheduled."); + throw new OutDatedScheduleException(sprintf(_("The show %s is over and cannot be scheduled."), $show->getDbName())); } $ts = intval($instanceInfo[$id]); $lastSchedTs = intval($instance->getDbLastScheduled("U")) ? : 0; if ($ts < $lastSchedTs) { Logging::info("ts {$ts} last sched {$lastSchedTs}"); - throw new OutDatedScheduleException("The show {$show->getDbName()} has been previously updated!"); + throw new OutDatedScheduleException(sprintf(_("The show %s has been previously updated!"), $show->getDbName())); } } } @@ -138,7 +138,7 @@ class Application_Model_Scheduler $file = CcFilesQuery::create()->findPK($id, $this->con); if (is_null($file) || !$file->visible()) { - throw new Exception("A selected File does not exist!"); + throw new Exception(_("A selected File does not exist!")); } else { $data = $this->fileInfo; $data["id"] = $id; @@ -219,7 +219,7 @@ class Application_Model_Scheduler $stream = CcWebstreamQuery::create()->findPK($id, $this->con); if (is_null($stream) /* || !$file->visible() */) { - throw new Exception("A selected File does not exist!"); + throw new Exception(_("A selected File does not exist!")); } else { $data = $this->fileInfo; $data["id"] = $id; @@ -343,7 +343,7 @@ class Application_Model_Scheduler $instance = CcShowInstancesQuery::create()->findPK($showInstance, $this->con); if (is_null($instance)) { - throw new OutDatedScheduleException("The schedule you're viewing is out of date!"); + throw new OutDatedScheduleException(_("The schedule you're viewing is out of date!")); } $itemStartDT = $instance->getDbStarts(null); diff --git a/airtime_mvc/application/models/Show.php b/airtime_mvc/application/models/Show.php index 6f088046d..7f55e8c2a 100644 --- a/airtime_mvc/application/models/Show.php +++ b/airtime_mvc/application/models/Show.php @@ -177,7 +177,7 @@ SQL; $con = Propel::getConnection(); if ($deltaDay > 0) { - return "Shows can have a max length of 24 hours."; + return _("Shows can have a max length of 24 hours."); } $utc = new DateTimeZone("UTC"); @@ -208,7 +208,7 @@ SQL; $newEndsDateTime = Application_Model_ShowInstance::addDeltas($endsDateTime, $deltaDay, $deltaMin); if ($newEndsDateTime->getTimestamp() < $nowDateTime->getTimestamp()) { - return "End date/time cannot be in the past"; + return _("End date/time cannot be in the past"); } //convert our new starts/ends to UTC. @@ -219,8 +219,8 @@ SQL; $newStartsDateTime, $newEndsDateTime, true, $si->getDbId()); if ($overlapping) { - return "Cannot schedule overlapping shows.\nNote: Resizing a repeating show ". - "affects all of its repeats."; + return _("Cannot schedule overlapping shows.\nNote: Resizing a repeating show ". + "affects all of its repeats."); } } diff --git a/airtime_mvc/application/models/ShowBuilder.php b/airtime_mvc/application/models/ShowBuilder.php index 175e61dfd..a04bb4c8a 100644 --- a/airtime_mvc/application/models/ShowBuilder.php +++ b/airtime_mvc/application/models/ShowBuilder.php @@ -195,7 +195,7 @@ class Application_Model_ShowBuilder $dt->setTimezone(new DateTimeZone($this->timezone)); $time = $dt->format("Y-m-d H:i"); - $row["rebroadcast_title"] = "Rebroadcast of {$name} from {$time}"; + $row["rebroadcast_title"] = sprintf(_("Rebroadcast of %s from %s"), $name, $time); } elseif (intval($p_item["si_record"]) === 1) { $row["record"] = true; diff --git a/airtime_mvc/application/models/ShowInstance.php b/airtime_mvc/application/models/ShowInstance.php index e1cdbe5b6..9a5e8a7d4 100644 --- a/airtime_mvc/application/models/ShowInstance.php +++ b/airtime_mvc/application/models/ShowInstance.php @@ -242,7 +242,7 @@ SQL; public function moveShow($deltaDay, $deltaMin) { if ($this->getShow()->isRepeating()) { - return "Can't drag and drop repeating shows"; + return _("Can't drag and drop repeating shows"); } $today_timestamp = time(); @@ -250,7 +250,7 @@ SQL; $endsDateTime = new DateTime($this->getShowInstanceEnd(), new DateTimeZone("UTC")); if ($today_timestamp > $startsDateTime->getTimestamp()) { - return "Can't move a past show"; + return _("Can't move a past show"); } //the user is moving the show on the calendar from the perspective of local time. @@ -267,13 +267,13 @@ SQL; $newEndsDateTime->setTimezone(new DateTimeZone("UTC")); if ($today_timestamp > $newStartsDateTime->getTimestamp()) { - return "Can't move show into past"; + return _("Can't move show into past"); } //check if show is overlapping $overlapping = Application_Model_Schedule::checkOverlappingShows($newStartsDateTime, $newEndsDateTime, true, $this->getShowInstanceId()); if ($overlapping) { - return "Cannot schedule overlapping shows"; + return _("Cannot schedule overlapping shows"); } if ($this->isRecorded()) { @@ -287,7 +287,7 @@ SQL; ->find(); if (count($rebroadcasts) > 0) { - return "Can't move a recorded show less than 1 hour before its rebroadcasts."; + return _("Can't move a recorded show less than 1 hour before its rebroadcasts."); } } @@ -300,14 +300,14 @@ SQL; catch (Exception $e) { $this->_showInstance->delete(); - return "Show was deleted because recorded show does not exist!"; + return _("Show was deleted because recorded show does not exist!"); } $recordEndDateTime = new DateTime($recordedShow->getShowInstanceEnd(), new DateTimeZone("UTC")); $newRecordEndDateTime = self::addDeltas($recordEndDateTime, 0, 60); if ($newStartsDateTime->getTimestamp() < $newRecordEndDateTime->getTimestamp()) { - return "Must wait 1 hour to rebroadcast."; + return _("Must wait 1 hour to rebroadcast."); } } @@ -339,7 +339,7 @@ SQL; $ends = $this->getShowInstanceEnd(); if (strtotime($today_timestamp) > strtotime($starts)) { - return "can't resize a past show"; + return _("can't resize a past show"); } //$sql = "SELECT timestamp '{$ends}' + interval '{$deltaDay} days' + interval '{$hours}:{$mins}'"; @@ -361,7 +361,7 @@ SQL; if (count($overlap) > 0) { // TODO : fix ghetto error handling -- RG - return "Should not overlap shows"; + return _("Should not overlap shows"); } } //with overbooking no longer need to check already scheduled content still fits. diff --git a/airtime_mvc/application/models/StoredFile.php b/airtime_mvc/application/models/StoredFile.php index 074896269..4b13cfe9f 100644 --- a/airtime_mvc/application/models/StoredFile.php +++ b/airtime_mvc/application/models/StoredFile.php @@ -794,14 +794,14 @@ SQL; // ugly if ($type == "au") { $row['audioFile'] = $row['id'].".".pathinfo($row['filepath'], PATHINFO_EXTENSION); - $row['image'] = ''; + $row['image'] = ''; } elseif ($type == "pl") { - $row['image'] = ''; + $row['image'] = ''; } elseif ($type == "st") { $row['audioFile'] = $row['id']; - $row['image'] = ''; + $row['image'] = ''; } elseif ($type == "bl") { - $row['image'] = ''; + $row['image'] = ''; } } @@ -853,7 +853,7 @@ SQL; closedir($dir); } else - die('{"jsonrpc" : "2.0", "error" : {"code": 100, "message": "Failed to open temp directory."}, "id" : "id"}'); + die('{"jsonrpc" : "2.0", "error" : {"code": 100, "message": _("Failed to open temp directory.")}, "id" : "id"}'); // Look for the content type header if (isset($_SERVER["HTTP_CONTENT_TYPE"])) @@ -880,14 +880,14 @@ SQL; while ($buff = fread($in, 4096)) fwrite($out, $buff); } else - die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}'); + die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": _("Failed to open input stream.")}, "id" : "id"}'); fclose($out); unlink($_FILES['file']['tmp_name']); } else - die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": "Failed to open output stream."}, "id" : "id"}'); + die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": _("Failed to open output stream.")}, "id" : "id"}'); } else - die('{"jsonrpc" : "2.0", "error" : {"code": 103, "message": "Failed to move uploaded file."}, "id" : "id"}'); + die('{"jsonrpc" : "2.0", "error" : {"code": 103, "message": _("Failed to move uploaded file.")}, "id" : "id"}'); } else { // Open temp file $out = fopen($tempFilePath, $chunk == 0 ? "wb" : "ab"); @@ -899,11 +899,11 @@ SQL; while ($buff = fread($in, 4096)) fwrite($out, $buff); } else - die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}'); + die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": _("Failed to open input stream.")}, "id" : "id"}'); fclose($out); } else - die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": "Failed to open output stream."}, "id" : "id"}'); + die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": _("Failed to open output stream.")}, "id" : "id"}'); } return $tempFilePath; @@ -934,7 +934,7 @@ SQL; if (!mkdir($stor."/organize", 0777)) { return array( "code" => 109, - "message" => "Failed to create 'organize' directory."); + "message" => _("Failed to create 'organize' directory.")); } } @@ -947,17 +947,17 @@ SQL; $freeSpace = disk_free_space($stor); return array("code" => 107, - "message" => "The file was not uploaded, there is - ".$freeSpace."MB of disk space left and the file you are - uploading has a size of ".$fileSize."MB."); + "message" => sprintf(_("The file was not uploaded, there is " + ."%s MB of disk space left and the file you are " + ."uploading has a size of %s MB."), $freeSpace, $fileSize)); } // Check if liquidsoap can play this file if (!self::liquidsoapFilePlayabilityTest($audio_file)) { return array( "code" => 110, - "message" => "This file appears to be corrupted and will not - be added to media library."); + "message" => _("This file appears to be corrupted and will not " + ."be added to media library.")); } // Did all the checks for real, now trying to copy @@ -992,10 +992,9 @@ SQL; return array( "code" => 108, - "message" => " - The file was not uploaded, this error can occur if the computer - hard drive does not have enough disk space or the stor - directory does not have correct write permissions."); + "message" => _("The file was not uploaded, this error can occur if the computer " + ."hard drive does not have enough disk space or the stor " + ."directory does not have correct write permissions.")); } // Now that we successfully added this file, we will add another tag // file that will identify the user that owns it diff --git a/airtime_mvc/application/models/Webstream.php b/airtime_mvc/application/models/Webstream.php index ad6ca7f76..18545af18 100644 --- a/airtime_mvc/application/models/Webstream.php +++ b/airtime_mvc/application/models/Webstream.php @@ -154,12 +154,12 @@ class Application_Model_Webstream implements Application_Model_LibraryEditable if ($totalMinutes == 0) { $valid['length'][0] = false; - $valid['length'][1] = 'Length needs to be greater than 0 minutes'; + $valid['length'][1] = _('Length needs to be greater than 0 minutes'); } } else { $valid['length'][0] = false; - $valid['length'][1] = 'Length should be of form "00h 00m"'; + $valid['length'][1] = _('Length should be of form "00h 00m"'); } $url = $parameters["url"]; @@ -172,16 +172,16 @@ class Application_Model_Webstream implements Application_Model_LibraryEditable $mediaUrl = null; if ($result == 0) { $valid['url'][0] = false; - $valid['url'][1] = 'URL should be of form "http://domain"'; + $valid['url'][1] = _('URL should be of form "http://domain"'); } elseif (strlen($url) > 512) { $valid['url'][0] = false; - $valid['url'][1] = 'URL should be 512 characters or less'; + $valid['url'][1] = _('URL should be 512 characters or less'); } else { try { list($mime, $content_length_found) = self::discoverStreamMime($url); if (is_null($mime)) { - throw new Exception("No MIME type found for webstream."); + throw new Exception(_("No MIME type found for webstream.")); } $mediaUrl = self::getMediaUrl($url, $mime, $content_length_found); @@ -197,7 +197,7 @@ class Application_Model_Webstream implements Application_Model_LibraryEditable $name = $parameters["name"]; if (strlen($name) == 0) { $valid['name'][0] = false; - $valid['name'][1] = 'Webstream name cannot be empty'; + $valid['name'][1] = _('Webstream name cannot be empty'); } $id = $parameters["id"]; @@ -266,7 +266,7 @@ class Application_Model_Webstream implements Application_Model_LibraryEditable } } - throw new Exception("Could not parse XSPF playlist"); + throw new Exception(_("Could not parse XSPF playlist")); } private static function getPlsUrl($url) @@ -278,7 +278,7 @@ class Application_Model_Webstream implements Application_Model_LibraryEditable return $ini["playlist"]["File1"]; } - throw new Exception("Could not parse PLS playlist"); + throw new Exception(_("Could not parse PLS playlist")); } private static function getM3uUrl($url) @@ -297,7 +297,7 @@ class Application_Model_Webstream implements Application_Model_LibraryEditable return $lines[0]; } - throw new Exception("Could not parse M3U playlist"); + throw new Exception(_("Could not parse M3U playlist")); } private static function getMediaUrl($url, $mime, $content_length_found) @@ -311,11 +311,11 @@ class Application_Model_Webstream implements Application_Model_LibraryEditable $media_url = self::getPlsUrl($url); } elseif (preg_match("/(mpeg|ogg)/", $mime)) { if ($content_length_found) { - throw new Exception("Invalid webstream - This appears to be a file download."); + throw new Exception(_("Invalid webstream - This appears to be a file download.")); } $media_url = $url; } else { - throw new Exception("Unrecognized stream type: $mime"); + throw new Exception(sprintf(_("Unrecognized stream type: %s"), $mime)); } return $media_url; diff --git a/airtime_mvc/application/models/airtime/CcLocale.php b/airtime_mvc/application/models/airtime/CcLocale.php new file mode 100644 index 000000000..6953ae6b3 --- /dev/null +++ b/airtime_mvc/application/models/airtime/CcLocale.php @@ -0,0 +1,18 @@ +setName('cc_locale'); + $this->setPhpName('CcLocale'); + $this->setClassname('CcLocale'); + $this->setPackage('airtime'); + $this->setUseIdGenerator(true); + $this->setPrimaryKeyMethodInfo('cc_locale_id_seq'); + // columns + $this->addPrimaryKey('ID', 'DbId', 'INTEGER', true, null, null); + $this->addColumn('LOCALE_CODE', 'DbLocaleCode', 'VARCHAR', true, 16, null); + $this->addColumn('LOCALE_LANG', 'DbLocaleLang', 'VARCHAR', true, 128, null); + // validators + } // initialize() + + /** + * Build the RelationMap objects for this table relationships + */ + public function buildRelations() + { + } // buildRelations() + +} // CcLocaleTableMap diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLocale.php b/airtime_mvc/application/models/airtime/om/BaseCcLocale.php new file mode 100644 index 000000000..fdd4d43d8 --- /dev/null +++ b/airtime_mvc/application/models/airtime/om/BaseCcLocale.php @@ -0,0 +1,764 @@ +id; + } + + /** + * Get the [locale_code] column value. + * + * @return string + */ + public function getDbLocaleCode() + { + return $this->locale_code; + } + + /** + * Get the [locale_lang] column value. + * + * @return string + */ + public function getDbLocaleLang() + { + return $this->locale_lang; + } + + /** + * Set the value of [id] column. + * + * @param int $v new value + * @return CcLocale The current object (for fluent API support) + */ + public function setDbId($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->id !== $v) { + $this->id = $v; + $this->modifiedColumns[] = CcLocalePeer::ID; + } + + return $this; + } // setDbId() + + /** + * Set the value of [locale_code] column. + * + * @param string $v new value + * @return CcLocale The current object (for fluent API support) + */ + public function setDbLocaleCode($v) + { + if ($v !== null) { + $v = (string) $v; + } + + if ($this->locale_code !== $v) { + $this->locale_code = $v; + $this->modifiedColumns[] = CcLocalePeer::LOCALE_CODE; + } + + return $this; + } // setDbLocaleCode() + + /** + * Set the value of [locale_lang] column. + * + * @param string $v new value + * @return CcLocale The current object (for fluent API support) + */ + public function setDbLocaleLang($v) + { + if ($v !== null) { + $v = (string) $v; + } + + if ($this->locale_lang !== $v) { + $this->locale_lang = $v; + $this->modifiedColumns[] = CcLocalePeer::LOCALE_LANG; + } + + return $this; + } // setDbLocaleLang() + + /** + * Indicates whether the columns in this object are only set to default values. + * + * This method can be used in conjunction with isModified() to indicate whether an object is both + * modified _and_ has some values set which are non-default. + * + * @return boolean Whether the columns in this object are only been set with default values. + */ + public function hasOnlyDefaultValues() + { + // otherwise, everything was equal, so return TRUE + return true; + } // hasOnlyDefaultValues() + + /** + * Hydrates (populates) the object variables with values from the database resultset. + * + * An offset (0-based "start column") is specified so that objects can be hydrated + * with a subset of the columns in the resultset rows. This is needed, for example, + * for results of JOIN queries where the resultset row includes columns from two or + * more tables. + * + * @param array $row The row returned by PDOStatement->fetch(PDO::FETCH_NUM) + * @param int $startcol 0-based offset column which indicates which restultset column to start with. + * @param boolean $rehydrate Whether this object is being re-hydrated from the database. + * @return int next starting column + * @throws PropelException - Any caught Exception will be rewrapped as a PropelException. + */ + public function hydrate($row, $startcol = 0, $rehydrate = false) + { + try { + + $this->id = ($row[$startcol + 0] !== null) ? (int) $row[$startcol + 0] : null; + $this->locale_code = ($row[$startcol + 1] !== null) ? (string) $row[$startcol + 1] : null; + $this->locale_lang = ($row[$startcol + 2] !== null) ? (string) $row[$startcol + 2] : null; + $this->resetModified(); + + $this->setNew(false); + + if ($rehydrate) { + $this->ensureConsistency(); + } + + return $startcol + 3; // 3 = CcLocalePeer::NUM_COLUMNS - CcLocalePeer::NUM_LAZY_LOAD_COLUMNS). + + } catch (Exception $e) { + throw new PropelException("Error populating CcLocale object", $e); + } + } + + /** + * Checks and repairs the internal consistency of the object. + * + * This method is executed after an already-instantiated object is re-hydrated + * from the database. It exists to check any foreign keys to make sure that + * the objects related to the current object are correct based on foreign key. + * + * You can override this method in the stub class, but you should always invoke + * the base method from the overridden method (i.e. parent::ensureConsistency()), + * in case your model changes. + * + * @throws PropelException + */ + public function ensureConsistency() + { + + } // ensureConsistency + + /** + * Reloads this object from datastore based on primary key and (optionally) resets all associated objects. + * + * This will only work if the object has been saved and has a valid primary key set. + * + * @param boolean $deep (optional) Whether to also de-associated any related objects. + * @param PropelPDO $con (optional) The PropelPDO connection to use. + * @return void + * @throws PropelException - if this object is deleted, unsaved or doesn't have pk match in db + */ + public function reload($deep = false, PropelPDO $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("Cannot reload a deleted object."); + } + + if ($this->isNew()) { + throw new PropelException("Cannot reload an unsaved object."); + } + + if ($con === null) { + $con = Propel::getConnection(CcLocalePeer::DATABASE_NAME, Propel::CONNECTION_READ); + } + + // We don't need to alter the object instance pool; we're just modifying this instance + // already in the pool. + + $stmt = CcLocalePeer::doSelectStmt($this->buildPkeyCriteria(), $con); + $row = $stmt->fetch(PDO::FETCH_NUM); + $stmt->closeCursor(); + if (!$row) { + throw new PropelException('Cannot find matching row in the database to reload object values.'); + } + $this->hydrate($row, 0, true); // rehydrate + + if ($deep) { // also de-associate any related objects? + + } // if (deep) + } + + /** + * Removes this object from datastore and sets delete attribute. + * + * @param PropelPDO $con + * @return void + * @throws PropelException + * @see BaseObject::setDeleted() + * @see BaseObject::isDeleted() + */ + public function delete(PropelPDO $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("This object has already been deleted."); + } + + if ($con === null) { + $con = Propel::getConnection(CcLocalePeer::DATABASE_NAME, Propel::CONNECTION_WRITE); + } + + $con->beginTransaction(); + try { + $ret = $this->preDelete($con); + if ($ret) { + CcLocaleQuery::create() + ->filterByPrimaryKey($this->getPrimaryKey()) + ->delete($con); + $this->postDelete($con); + $con->commit(); + $this->setDeleted(true); + } else { + $con->commit(); + } + } catch (PropelException $e) { + $con->rollBack(); + throw $e; + } + } + + /** + * Persists this object to the database. + * + * If the object is new, it inserts it; otherwise an update is performed. + * All modified related objects will also be persisted in the doSave() + * method. This method wraps all precipitate database operations in a + * single transaction. + * + * @param PropelPDO $con + * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. + * @throws PropelException + * @see doSave() + */ + public function save(PropelPDO $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("You cannot save an object that has been deleted."); + } + + if ($con === null) { + $con = Propel::getConnection(CcLocalePeer::DATABASE_NAME, Propel::CONNECTION_WRITE); + } + + $con->beginTransaction(); + $isInsert = $this->isNew(); + try { + $ret = $this->preSave($con); + if ($isInsert) { + $ret = $ret && $this->preInsert($con); + } else { + $ret = $ret && $this->preUpdate($con); + } + if ($ret) { + $affectedRows = $this->doSave($con); + if ($isInsert) { + $this->postInsert($con); + } else { + $this->postUpdate($con); + } + $this->postSave($con); + CcLocalePeer::addInstanceToPool($this); + } else { + $affectedRows = 0; + } + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollBack(); + throw $e; + } + } + + /** + * Performs the work of inserting or updating the row in the database. + * + * If the object is new, it inserts it; otherwise an update is performed. + * All related objects are also updated in this method. + * + * @param PropelPDO $con + * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. + * @throws PropelException + * @see save() + */ + protected function doSave(PropelPDO $con) + { + $affectedRows = 0; // initialize var to track total num of affected rows + if (!$this->alreadyInSave) { + $this->alreadyInSave = true; + + if ($this->isNew() ) { + $this->modifiedColumns[] = CcLocalePeer::ID; + } + + // If this object has been modified, then save it to the database. + if ($this->isModified()) { + if ($this->isNew()) { + $criteria = $this->buildCriteria(); + if ($criteria->keyContainsValue(CcLocalePeer::ID) ) { + throw new PropelException('Cannot insert a value for auto-increment primary key ('.CcLocalePeer::ID.')'); + } + + $pk = BasePeer::doInsert($criteria, $con); + $affectedRows = 1; + $this->setDbId($pk); //[IMV] update autoincrement primary key + $this->setNew(false); + } else { + $affectedRows = CcLocalePeer::doUpdate($this, $con); + } + + $this->resetModified(); // [HL] After being saved an object is no longer 'modified' + } + + $this->alreadyInSave = false; + + } + return $affectedRows; + } // doSave() + + /** + * Array of ValidationFailed objects. + * @var array ValidationFailed[] + */ + protected $validationFailures = array(); + + /** + * Gets any ValidationFailed objects that resulted from last call to validate(). + * + * + * @return array ValidationFailed[] + * @see validate() + */ + public function getValidationFailures() + { + return $this->validationFailures; + } + + /** + * Validates the objects modified field values and all objects related to this table. + * + * If $columns is either a column name or an array of column names + * only those columns are validated. + * + * @param mixed $columns Column name or an array of column names. + * @return boolean Whether all columns pass validation. + * @see doValidate() + * @see getValidationFailures() + */ + public function validate($columns = null) + { + $res = $this->doValidate($columns); + if ($res === true) { + $this->validationFailures = array(); + return true; + } else { + $this->validationFailures = $res; + return false; + } + } + + /** + * This function performs the validation work for complex object models. + * + * In addition to checking the current object, all related objects will + * also be validated. If all pass then true is returned; otherwise + * an aggreagated array of ValidationFailed objects will be returned. + * + * @param array $columns Array of column names to validate. + * @return mixed true if all validations pass; array of ValidationFailed objets otherwise. + */ + protected function doValidate($columns = null) + { + if (!$this->alreadyInValidation) { + $this->alreadyInValidation = true; + $retval = null; + + $failureMap = array(); + + + if (($retval = CcLocalePeer::doValidate($this, $columns)) !== true) { + $failureMap = array_merge($failureMap, $retval); + } + + + + $this->alreadyInValidation = false; + } + + return (!empty($failureMap) ? $failureMap : true); + } + + /** + * Retrieves a field from the object by name passed in as a string. + * + * @param string $name name + * @param string $type The type of fieldname the $name is of: + * one of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME + * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM + * @return mixed Value of field. + */ + public function getByName($name, $type = BasePeer::TYPE_PHPNAME) + { + $pos = CcLocalePeer::translateFieldName($name, $type, BasePeer::TYPE_NUM); + $field = $this->getByPosition($pos); + return $field; + } + + /** + * Retrieves a field from the object by Position as specified in the xml schema. + * Zero-based. + * + * @param int $pos position in xml schema + * @return mixed Value of field at $pos + */ + public function getByPosition($pos) + { + switch($pos) { + case 0: + return $this->getDbId(); + break; + case 1: + return $this->getDbLocaleCode(); + break; + case 2: + return $this->getDbLocaleLang(); + break; + default: + return null; + break; + } // switch() + } + + /** + * Exports the object as an array. + * + * You can specify the key type of the array by passing one of the class + * type constants. + * + * @param string $keyType (optional) One of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME, + * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM. + * Defaults to BasePeer::TYPE_PHPNAME. + * @param boolean $includeLazyLoadColumns (optional) Whether to include lazy loaded columns. Defaults to TRUE. + * + * @return array an associative array containing the field names (as keys) and field values + */ + public function toArray($keyType = BasePeer::TYPE_PHPNAME, $includeLazyLoadColumns = true) + { + $keys = CcLocalePeer::getFieldNames($keyType); + $result = array( + $keys[0] => $this->getDbId(), + $keys[1] => $this->getDbLocaleCode(), + $keys[2] => $this->getDbLocaleLang(), + ); + return $result; + } + + /** + * Sets a field from the object by name passed in as a string. + * + * @param string $name peer name + * @param mixed $value field value + * @param string $type The type of fieldname the $name is of: + * one of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME + * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM + * @return void + */ + public function setByName($name, $value, $type = BasePeer::TYPE_PHPNAME) + { + $pos = CcLocalePeer::translateFieldName($name, $type, BasePeer::TYPE_NUM); + return $this->setByPosition($pos, $value); + } + + /** + * Sets a field from the object by Position as specified in the xml schema. + * Zero-based. + * + * @param int $pos position in xml schema + * @param mixed $value field value + * @return void + */ + public function setByPosition($pos, $value) + { + switch($pos) { + case 0: + $this->setDbId($value); + break; + case 1: + $this->setDbLocaleCode($value); + break; + case 2: + $this->setDbLocaleLang($value); + break; + } // switch() + } + + /** + * Populates the object using an array. + * + * This is particularly useful when populating an object from one of the + * request arrays (e.g. $_POST). This method goes through the column + * names, checking to see whether a matching key exists in populated + * array. If so the setByName() method is called for that column. + * + * You can specify the key type of the array by additionally passing one + * of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME, + * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM. + * The default key type is the column's phpname (e.g. 'AuthorId') + * + * @param array $arr An array to populate the object from. + * @param string $keyType The type of keys the array uses. + * @return void + */ + public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) + { + $keys = CcLocalePeer::getFieldNames($keyType); + + if (array_key_exists($keys[0], $arr)) $this->setDbId($arr[$keys[0]]); + if (array_key_exists($keys[1], $arr)) $this->setDbLocaleCode($arr[$keys[1]]); + if (array_key_exists($keys[2], $arr)) $this->setDbLocaleLang($arr[$keys[2]]); + } + + /** + * Build a Criteria object containing the values of all modified columns in this object. + * + * @return Criteria The Criteria object containing all modified values. + */ + public function buildCriteria() + { + $criteria = new Criteria(CcLocalePeer::DATABASE_NAME); + + if ($this->isColumnModified(CcLocalePeer::ID)) $criteria->add(CcLocalePeer::ID, $this->id); + if ($this->isColumnModified(CcLocalePeer::LOCALE_CODE)) $criteria->add(CcLocalePeer::LOCALE_CODE, $this->locale_code); + if ($this->isColumnModified(CcLocalePeer::LOCALE_LANG)) $criteria->add(CcLocalePeer::LOCALE_LANG, $this->locale_lang); + + return $criteria; + } + + /** + * Builds a Criteria object containing the primary key for this object. + * + * Unlike buildCriteria() this method includes the primary key values regardless + * of whether or not they have been modified. + * + * @return Criteria The Criteria object containing value(s) for primary key(s). + */ + public function buildPkeyCriteria() + { + $criteria = new Criteria(CcLocalePeer::DATABASE_NAME); + $criteria->add(CcLocalePeer::ID, $this->id); + + return $criteria; + } + + /** + * Returns the primary key for this object (row). + * @return int + */ + public function getPrimaryKey() + { + return $this->getDbId(); + } + + /** + * Generic method to set the primary key (id column). + * + * @param int $key Primary key. + * @return void + */ + public function setPrimaryKey($key) + { + $this->setDbId($key); + } + + /** + * Returns true if the primary key for this object is null. + * @return boolean + */ + public function isPrimaryKeyNull() + { + return null === $this->getDbId(); + } + + /** + * Sets contents of passed object to values from current object. + * + * If desired, this method can also make copies of all associated (fkey referrers) + * objects. + * + * @param object $copyObj An object of CcLocale (or compatible) type. + * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. + * @throws PropelException + */ + public function copyInto($copyObj, $deepCopy = false) + { + $copyObj->setDbLocaleCode($this->locale_code); + $copyObj->setDbLocaleLang($this->locale_lang); + + $copyObj->setNew(true); + $copyObj->setDbId(NULL); // this is a auto-increment column, so set to default value + } + + /** + * Makes a copy of this object that will be inserted as a new row in table when saved. + * It creates a new object filling in the simple attributes, but skipping any primary + * keys that are defined for the table. + * + * If desired, this method can also make copies of all associated (fkey referrers) + * objects. + * + * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. + * @return CcLocale Clone of current object. + * @throws PropelException + */ + public function copy($deepCopy = false) + { + // we use get_class(), because this might be a subclass + $clazz = get_class($this); + $copyObj = new $clazz(); + $this->copyInto($copyObj, $deepCopy); + return $copyObj; + } + + /** + * Returns a peer instance associated with this om. + * + * Since Peer classes are not to have any instance attributes, this method returns the + * same instance for all member of this class. The method could therefore + * be static, but this would prevent one from overriding the behavior. + * + * @return CcLocalePeer + */ + public function getPeer() + { + if (self::$peer === null) { + self::$peer = new CcLocalePeer(); + } + return self::$peer; + } + + /** + * Clears the current object and sets all attributes to their default values + */ + public function clear() + { + $this->id = null; + $this->locale_code = null; + $this->locale_lang = null; + $this->alreadyInSave = false; + $this->alreadyInValidation = false; + $this->clearAllReferences(); + $this->resetModified(); + $this->setNew(true); + $this->setDeleted(false); + } + + /** + * Resets all collections of referencing foreign keys. + * + * This method is a user-space workaround for PHP's inability to garbage collect objects + * with circular references. This is currently necessary when using Propel in certain + * daemon or large-volumne/high-memory operations. + * + * @param boolean $deep Whether to also clear the references on all associated objects. + */ + public function clearAllReferences($deep = false) + { + if ($deep) { + } // if ($deep) + + } + + /** + * Catches calls to virtual methods + */ + public function __call($name, $params) + { + if (preg_match('/get(\w+)/', $name, $matches)) { + $virtualColumn = $matches[1]; + if ($this->hasVirtualColumn($virtualColumn)) { + return $this->getVirtualColumn($virtualColumn); + } + // no lcfirst in php<5.3... + $virtualColumn[0] = strtolower($virtualColumn[0]); + if ($this->hasVirtualColumn($virtualColumn)) { + return $this->getVirtualColumn($virtualColumn); + } + } + throw new PropelException('Call to undefined method: ' . $name); + } + +} // BaseCcLocale diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLocalePeer.php b/airtime_mvc/application/models/airtime/om/BaseCcLocalePeer.php new file mode 100644 index 000000000..eebb6a002 --- /dev/null +++ b/airtime_mvc/application/models/airtime/om/BaseCcLocalePeer.php @@ -0,0 +1,744 @@ + array ('DbId', 'DbLocaleCode', 'DbLocaleLang', ), + BasePeer::TYPE_STUDLYPHPNAME => array ('dbId', 'dbLocaleCode', 'dbLocaleLang', ), + BasePeer::TYPE_COLNAME => array (self::ID, self::LOCALE_CODE, self::LOCALE_LANG, ), + BasePeer::TYPE_RAW_COLNAME => array ('ID', 'LOCALE_CODE', 'LOCALE_LANG', ), + BasePeer::TYPE_FIELDNAME => array ('id', 'locale_code', 'locale_lang', ), + BasePeer::TYPE_NUM => array (0, 1, 2, ) + ); + + /** + * holds an array of keys for quick access to the fieldnames array + * + * first dimension keys are the type constants + * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 + */ + private static $fieldKeys = array ( + BasePeer::TYPE_PHPNAME => array ('DbId' => 0, 'DbLocaleCode' => 1, 'DbLocaleLang' => 2, ), + BasePeer::TYPE_STUDLYPHPNAME => array ('dbId' => 0, 'dbLocaleCode' => 1, 'dbLocaleLang' => 2, ), + BasePeer::TYPE_COLNAME => array (self::ID => 0, self::LOCALE_CODE => 1, self::LOCALE_LANG => 2, ), + BasePeer::TYPE_RAW_COLNAME => array ('ID' => 0, 'LOCALE_CODE' => 1, 'LOCALE_LANG' => 2, ), + BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'locale_code' => 1, 'locale_lang' => 2, ), + BasePeer::TYPE_NUM => array (0, 1, 2, ) + ); + + /** + * Translates a fieldname to another type + * + * @param string $name field name + * @param string $fromType One of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME + * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM + * @param string $toType One of the class type constants + * @return string translated name of the field. + * @throws PropelException - if the specified name could not be found in the fieldname mappings. + */ + static public function translateFieldName($name, $fromType, $toType) + { + $toNames = self::getFieldNames($toType); + $key = isset(self::$fieldKeys[$fromType][$name]) ? self::$fieldKeys[$fromType][$name] : null; + if ($key === null) { + throw new PropelException("'$name' could not be found in the field names of type '$fromType'. These are: " . print_r(self::$fieldKeys[$fromType], true)); + } + return $toNames[$key]; + } + + /** + * Returns an array of field names. + * + * @param string $type The type of fieldnames to return: + * One of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME + * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM + * @return array A list of field names + */ + + static public function getFieldNames($type = BasePeer::TYPE_PHPNAME) + { + if (!array_key_exists($type, self::$fieldNames)) { + throw new PropelException('Method getFieldNames() expects the parameter $type to be one of the class constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME, BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM. ' . $type . ' was given.'); + } + return self::$fieldNames[$type]; + } + + /** + * Convenience method which changes table.column to alias.column. + * + * Using this method you can maintain SQL abstraction while using column aliases. + * + * $c->addAlias("alias1", TablePeer::TABLE_NAME); + * $c->addJoin(TablePeer::alias("alias1", TablePeer::PRIMARY_KEY_COLUMN), TablePeer::PRIMARY_KEY_COLUMN); + * + * @param string $alias The alias for the current table. + * @param string $column The column name for current table. (i.e. CcLocalePeer::COLUMN_NAME). + * @return string + */ + public static function alias($alias, $column) + { + return str_replace(CcLocalePeer::TABLE_NAME.'.', $alias.'.', $column); + } + + /** + * Add all the columns needed to create a new object. + * + * Note: any columns that were marked with lazyLoad="true" in the + * XML schema will not be added to the select list and only loaded + * on demand. + * + * @param Criteria $criteria object containing the columns to add. + * @param string $alias optional table alias + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function addSelectColumns(Criteria $criteria, $alias = null) + { + if (null === $alias) { + $criteria->addSelectColumn(CcLocalePeer::ID); + $criteria->addSelectColumn(CcLocalePeer::LOCALE_CODE); + $criteria->addSelectColumn(CcLocalePeer::LOCALE_LANG); + } else { + $criteria->addSelectColumn($alias . '.ID'); + $criteria->addSelectColumn($alias . '.LOCALE_CODE'); + $criteria->addSelectColumn($alias . '.LOCALE_LANG'); + } + } + + /** + * Returns the number of rows matching criteria. + * + * @param Criteria $criteria + * @param boolean $distinct Whether to select only distinct columns; deprecated: use Criteria->setDistinct() instead. + * @param PropelPDO $con + * @return int Number of matching rows. + */ + public static function doCount(Criteria $criteria, $distinct = false, PropelPDO $con = null) + { + // we may modify criteria, so copy it first + $criteria = clone $criteria; + + // We need to set the primary table name, since in the case that there are no WHERE columns + // it will be impossible for the BasePeer::createSelectSql() method to determine which + // tables go into the FROM clause. + $criteria->setPrimaryTableName(CcLocalePeer::TABLE_NAME); + + if ($distinct && !in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { + $criteria->setDistinct(); + } + + if (!$criteria->hasSelectClause()) { + CcLocalePeer::addSelectColumns($criteria); + } + + $criteria->clearOrderByColumns(); // ORDER BY won't ever affect the count + $criteria->setDbName(self::DATABASE_NAME); // Set the correct dbName + + if ($con === null) { + $con = Propel::getConnection(CcLocalePeer::DATABASE_NAME, Propel::CONNECTION_READ); + } + // BasePeer returns a PDOStatement + $stmt = BasePeer::doCount($criteria, $con); + + if ($row = $stmt->fetch(PDO::FETCH_NUM)) { + $count = (int) $row[0]; + } else { + $count = 0; // no rows returned; we infer that means 0 matches. + } + $stmt->closeCursor(); + return $count; + } + /** + * Method to select one object from the DB. + * + * @param Criteria $criteria object used to create the SELECT statement. + * @param PropelPDO $con + * @return CcLocale + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function doSelectOne(Criteria $criteria, PropelPDO $con = null) + { + $critcopy = clone $criteria; + $critcopy->setLimit(1); + $objects = CcLocalePeer::doSelect($critcopy, $con); + if ($objects) { + return $objects[0]; + } + return null; + } + /** + * Method to do selects. + * + * @param Criteria $criteria The Criteria object used to build the SELECT statement. + * @param PropelPDO $con + * @return array Array of selected Objects + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function doSelect(Criteria $criteria, PropelPDO $con = null) + { + return CcLocalePeer::populateObjects(CcLocalePeer::doSelectStmt($criteria, $con)); + } + /** + * Prepares the Criteria object and uses the parent doSelect() method to execute a PDOStatement. + * + * Use this method directly if you want to work with an executed statement durirectly (for example + * to perform your own object hydration). + * + * @param Criteria $criteria The Criteria object used to build the SELECT statement. + * @param PropelPDO $con The connection to use + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + * @return PDOStatement The executed PDOStatement object. + * @see BasePeer::doSelect() + */ + public static function doSelectStmt(Criteria $criteria, PropelPDO $con = null) + { + if ($con === null) { + $con = Propel::getConnection(CcLocalePeer::DATABASE_NAME, Propel::CONNECTION_READ); + } + + if (!$criteria->hasSelectClause()) { + $criteria = clone $criteria; + CcLocalePeer::addSelectColumns($criteria); + } + + // Set the correct dbName + $criteria->setDbName(self::DATABASE_NAME); + + // BasePeer returns a PDOStatement + return BasePeer::doSelect($criteria, $con); + } + /** + * Adds an object to the instance pool. + * + * Propel keeps cached copies of objects in an instance pool when they are retrieved + * from the database. In some cases -- especially when you override doSelect*() + * methods in your stub classes -- you may need to explicitly add objects + * to the cache in order to ensure that the same objects are always returned by doSelect*() + * and retrieveByPK*() calls. + * + * @param CcLocale $value A CcLocale object. + * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). + */ + public static function addInstanceToPool(CcLocale $obj, $key = null) + { + if (Propel::isInstancePoolingEnabled()) { + if ($key === null) { + $key = (string) $obj->getDbId(); + } // if key === null + self::$instances[$key] = $obj; + } + } + + /** + * Removes an object from the instance pool. + * + * Propel keeps cached copies of objects in an instance pool when they are retrieved + * from the database. In some cases -- especially when you override doDelete + * methods in your stub classes -- you may need to explicitly remove objects + * from the cache in order to prevent returning objects that no longer exist. + * + * @param mixed $value A CcLocale object or a primary key value. + */ + public static function removeInstanceFromPool($value) + { + if (Propel::isInstancePoolingEnabled() && $value !== null) { + if (is_object($value) && $value instanceof CcLocale) { + $key = (string) $value->getDbId(); + } elseif (is_scalar($value)) { + // assume we've been passed a primary key + $key = (string) $value; + } else { + $e = new PropelException("Invalid value passed to removeInstanceFromPool(). Expected primary key or CcLocale object; got " . (is_object($value) ? get_class($value) . ' object.' : var_export($value,true))); + throw $e; + } + + unset(self::$instances[$key]); + } + } // removeInstanceFromPool() + + /** + * Retrieves a string version of the primary key from the DB resultset row that can be used to uniquely identify a row in this table. + * + * For tables with a single-column primary key, that simple pkey value will be returned. For tables with + * a multi-column primary key, a serialize()d version of the primary key will be returned. + * + * @param string $key The key (@see getPrimaryKeyHash()) for this instance. + * @return CcLocale Found object or NULL if 1) no instance exists for specified key or 2) instance pooling has been disabled. + * @see getPrimaryKeyHash() + */ + public static function getInstanceFromPool($key) + { + if (Propel::isInstancePoolingEnabled()) { + if (isset(self::$instances[$key])) { + return self::$instances[$key]; + } + } + return null; // just to be explicit + } + + /** + * Clear the instance pool. + * + * @return void + */ + public static function clearInstancePool() + { + self::$instances = array(); + } + + /** + * Method to invalidate the instance pool of all tables related to cc_locale + * by a foreign key with ON DELETE CASCADE + */ + public static function clearRelatedInstancePool() + { + } + + /** + * Retrieves a string version of the primary key from the DB resultset row that can be used to uniquely identify a row in this table. + * + * For tables with a single-column primary key, that simple pkey value will be returned. For tables with + * a multi-column primary key, a serialize()d version of the primary key will be returned. + * + * @param array $row PropelPDO resultset row. + * @param int $startcol The 0-based offset for reading from the resultset row. + * @return string A string version of PK or NULL if the components of primary key in result array are all null. + */ + public static function getPrimaryKeyHashFromRow($row, $startcol = 0) + { + // If the PK cannot be derived from the row, return NULL. + if ($row[$startcol] === null) { + return null; + } + return (string) $row[$startcol]; + } + + /** + * Retrieves the primary key from the DB resultset row + * For tables with a single-column primary key, that simple pkey value will be returned. For tables with + * a multi-column primary key, an array of the primary key columns will be returned. + * + * @param array $row PropelPDO resultset row. + * @param int $startcol The 0-based offset for reading from the resultset row. + * @return mixed The primary key of the row + */ + public static function getPrimaryKeyFromRow($row, $startcol = 0) + { + return (int) $row[$startcol]; + } + + /** + * The returned array will contain objects of the default type or + * objects that inherit from the default. + * + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function populateObjects(PDOStatement $stmt) + { + $results = array(); + + // set the class once to avoid overhead in the loop + $cls = CcLocalePeer::getOMClass(false); + // populate the object(s) + while ($row = $stmt->fetch(PDO::FETCH_NUM)) { + $key = CcLocalePeer::getPrimaryKeyHashFromRow($row, 0); + if (null !== ($obj = CcLocalePeer::getInstanceFromPool($key))) { + // We no longer rehydrate the object, since this can cause data loss. + // See http://www.propelorm.org/ticket/509 + // $obj->hydrate($row, 0, true); // rehydrate + $results[] = $obj; + } else { + $obj = new $cls(); + $obj->hydrate($row); + $results[] = $obj; + CcLocalePeer::addInstanceToPool($obj, $key); + } // if key exists + } + $stmt->closeCursor(); + return $results; + } + /** + * Populates an object of the default type or an object that inherit from the default. + * + * @param array $row PropelPDO resultset row. + * @param int $startcol The 0-based offset for reading from the resultset row. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + * @return array (CcLocale object, last column rank) + */ + public static function populateObject($row, $startcol = 0) + { + $key = CcLocalePeer::getPrimaryKeyHashFromRow($row, $startcol); + if (null !== ($obj = CcLocalePeer::getInstanceFromPool($key))) { + // We no longer rehydrate the object, since this can cause data loss. + // See http://www.propelorm.org/ticket/509 + // $obj->hydrate($row, $startcol, true); // rehydrate + $col = $startcol + CcLocalePeer::NUM_COLUMNS; + } else { + $cls = CcLocalePeer::OM_CLASS; + $obj = new $cls(); + $col = $obj->hydrate($row, $startcol); + CcLocalePeer::addInstanceToPool($obj, $key); + } + return array($obj, $col); + } + /** + * Returns the TableMap related to this peer. + * This method is not needed for general use but a specific application could have a need. + * @return TableMap + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function getTableMap() + { + return Propel::getDatabaseMap(self::DATABASE_NAME)->getTable(self::TABLE_NAME); + } + + /** + * Add a TableMap instance to the database for this peer class. + */ + public static function buildTableMap() + { + $dbMap = Propel::getDatabaseMap(BaseCcLocalePeer::DATABASE_NAME); + if (!$dbMap->hasTable(BaseCcLocalePeer::TABLE_NAME)) + { + $dbMap->addTableObject(new CcLocaleTableMap()); + } + } + + /** + * The class that the Peer will make instances of. + * + * If $withPrefix is true, the returned path + * uses a dot-path notation which is tranalted into a path + * relative to a location on the PHP include_path. + * (e.g. path.to.MyClass -> 'path/to/MyClass.php') + * + * @param boolean $withPrefix Whether or not to return the path with the class name + * @return string path.to.ClassName + */ + public static function getOMClass($withPrefix = true) + { + return $withPrefix ? CcLocalePeer::CLASS_DEFAULT : CcLocalePeer::OM_CLASS; + } + + /** + * Method perform an INSERT on the database, given a CcLocale or Criteria object. + * + * @param mixed $values Criteria or CcLocale object containing data that is used to create the INSERT statement. + * @param PropelPDO $con the PropelPDO connection to use + * @return mixed The new primary key. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function doInsert($values, PropelPDO $con = null) + { + if ($con === null) { + $con = Propel::getConnection(CcLocalePeer::DATABASE_NAME, Propel::CONNECTION_WRITE); + } + + if ($values instanceof Criteria) { + $criteria = clone $values; // rename for clarity + } else { + $criteria = $values->buildCriteria(); // build Criteria from CcLocale object + } + + if ($criteria->containsKey(CcLocalePeer::ID) && $criteria->keyContainsValue(CcLocalePeer::ID) ) { + throw new PropelException('Cannot insert a value for auto-increment primary key ('.CcLocalePeer::ID.')'); + } + + + // Set the correct dbName + $criteria->setDbName(self::DATABASE_NAME); + + try { + // use transaction because $criteria could contain info + // for more than one table (I guess, conceivably) + $con->beginTransaction(); + $pk = BasePeer::doInsert($criteria, $con); + $con->commit(); + } catch(PropelException $e) { + $con->rollBack(); + throw $e; + } + + return $pk; + } + + /** + * Method perform an UPDATE on the database, given a CcLocale or Criteria object. + * + * @param mixed $values Criteria or CcLocale object containing data that is used to create the UPDATE statement. + * @param PropelPDO $con The connection to use (specify PropelPDO connection object to exert more control over transactions). + * @return int The number of affected rows (if supported by underlying database driver). + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function doUpdate($values, PropelPDO $con = null) + { + if ($con === null) { + $con = Propel::getConnection(CcLocalePeer::DATABASE_NAME, Propel::CONNECTION_WRITE); + } + + $selectCriteria = new Criteria(self::DATABASE_NAME); + + if ($values instanceof Criteria) { + $criteria = clone $values; // rename for clarity + + $comparison = $criteria->getComparison(CcLocalePeer::ID); + $value = $criteria->remove(CcLocalePeer::ID); + if ($value) { + $selectCriteria->add(CcLocalePeer::ID, $value, $comparison); + } else { + $selectCriteria->setPrimaryTableName(CcLocalePeer::TABLE_NAME); + } + + } else { // $values is CcLocale object + $criteria = $values->buildCriteria(); // gets full criteria + $selectCriteria = $values->buildPkeyCriteria(); // gets criteria w/ primary key(s) + } + + // set the correct dbName + $criteria->setDbName(self::DATABASE_NAME); + + return BasePeer::doUpdate($selectCriteria, $criteria, $con); + } + + /** + * Method to DELETE all rows from the cc_locale table. + * + * @return int The number of affected rows (if supported by underlying database driver). + */ + public static function doDeleteAll($con = null) + { + if ($con === null) { + $con = Propel::getConnection(CcLocalePeer::DATABASE_NAME, Propel::CONNECTION_WRITE); + } + $affectedRows = 0; // initialize var to track total num of affected rows + try { + // use transaction because $criteria could contain info + // for more than one table or we could emulating ON DELETE CASCADE, etc. + $con->beginTransaction(); + $affectedRows += BasePeer::doDeleteAll(CcLocalePeer::TABLE_NAME, $con, CcLocalePeer::DATABASE_NAME); + // Because this db requires some delete cascade/set null emulation, we have to + // clear the cached instance *after* the emulation has happened (since + // instances get re-added by the select statement contained therein). + CcLocalePeer::clearInstancePool(); + CcLocalePeer::clearRelatedInstancePool(); + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollBack(); + throw $e; + } + } + + /** + * Method perform a DELETE on the database, given a CcLocale or Criteria object OR a primary key value. + * + * @param mixed $values Criteria or CcLocale object or primary key or array of primary keys + * which is used to create the DELETE statement + * @param PropelPDO $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows + * if supported by native driver or if emulated using Propel. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function doDelete($values, PropelPDO $con = null) + { + if ($con === null) { + $con = Propel::getConnection(CcLocalePeer::DATABASE_NAME, Propel::CONNECTION_WRITE); + } + + if ($values instanceof Criteria) { + // invalidate the cache for all objects of this type, since we have no + // way of knowing (without running a query) what objects should be invalidated + // from the cache based on this Criteria. + CcLocalePeer::clearInstancePool(); + // rename for clarity + $criteria = clone $values; + } elseif ($values instanceof CcLocale) { // it's a model object + // invalidate the cache for this single object + CcLocalePeer::removeInstanceFromPool($values); + // create criteria based on pk values + $criteria = $values->buildPkeyCriteria(); + } else { // it's a primary key, or an array of pks + $criteria = new Criteria(self::DATABASE_NAME); + $criteria->add(CcLocalePeer::ID, (array) $values, Criteria::IN); + // invalidate the cache for this object(s) + foreach ((array) $values as $singleval) { + CcLocalePeer::removeInstanceFromPool($singleval); + } + } + + // Set the correct dbName + $criteria->setDbName(self::DATABASE_NAME); + + $affectedRows = 0; // initialize var to track total num of affected rows + + try { + // use transaction because $criteria could contain info + // for more than one table or we could emulating ON DELETE CASCADE, etc. + $con->beginTransaction(); + + $affectedRows += BasePeer::doDelete($criteria, $con); + CcLocalePeer::clearRelatedInstancePool(); + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollBack(); + throw $e; + } + } + + /** + * Validates all modified columns of given CcLocale object. + * If parameter $columns is either a single column name or an array of column names + * than only those columns are validated. + * + * NOTICE: This does not apply to primary or foreign keys for now. + * + * @param CcLocale $obj The object to validate. + * @param mixed $cols Column name or array of column names. + * + * @return mixed TRUE if all columns are valid or the error message of the first invalid column. + */ + public static function doValidate(CcLocale $obj, $cols = null) + { + $columns = array(); + + if ($cols) { + $dbMap = Propel::getDatabaseMap(CcLocalePeer::DATABASE_NAME); + $tableMap = $dbMap->getTable(CcLocalePeer::TABLE_NAME); + + if (! is_array($cols)) { + $cols = array($cols); + } + + foreach ($cols as $colName) { + if ($tableMap->containsColumn($colName)) { + $get = 'get' . $tableMap->getColumn($colName)->getPhpName(); + $columns[$colName] = $obj->$get(); + } + } + } else { + + } + + return BasePeer::doValidate(CcLocalePeer::DATABASE_NAME, CcLocalePeer::TABLE_NAME, $columns); + } + + /** + * Retrieve a single object by pkey. + * + * @param int $pk the primary key. + * @param PropelPDO $con the connection to use + * @return CcLocale + */ + public static function retrieveByPK($pk, PropelPDO $con = null) + { + + if (null !== ($obj = CcLocalePeer::getInstanceFromPool((string) $pk))) { + return $obj; + } + + if ($con === null) { + $con = Propel::getConnection(CcLocalePeer::DATABASE_NAME, Propel::CONNECTION_READ); + } + + $criteria = new Criteria(CcLocalePeer::DATABASE_NAME); + $criteria->add(CcLocalePeer::ID, $pk); + + $v = CcLocalePeer::doSelect($criteria, $con); + + return !empty($v) > 0 ? $v[0] : null; + } + + /** + * Retrieve multiple objects by pkey. + * + * @param array $pks List of primary keys + * @param PropelPDO $con the connection to use + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function retrieveByPKs($pks, PropelPDO $con = null) + { + if ($con === null) { + $con = Propel::getConnection(CcLocalePeer::DATABASE_NAME, Propel::CONNECTION_READ); + } + + $objs = null; + if (empty($pks)) { + $objs = array(); + } else { + $criteria = new Criteria(CcLocalePeer::DATABASE_NAME); + $criteria->add(CcLocalePeer::ID, $pks, Criteria::IN); + $objs = CcLocalePeer::doSelect($criteria, $con); + } + return $objs; + } + +} // BaseCcLocalePeer + +// This is the static code needed to register the TableMap for this table with the main Propel class. +// +BaseCcLocalePeer::buildTableMap(); + diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLocaleQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcLocaleQuery.php new file mode 100644 index 000000000..e12a5971b --- /dev/null +++ b/airtime_mvc/application/models/airtime/om/BaseCcLocaleQuery.php @@ -0,0 +1,217 @@ +setModelAlias($modelAlias); + } + if ($criteria instanceof Criteria) { + $query->mergeWith($criteria); + } + return $query; + } + + /** + * Find object by primary key + * Use instance pooling to avoid a database query if the object exists + * + * $obj = $c->findPk(12, $con); + * + * @param mixed $key Primary key to use for the query + * @param PropelPDO $con an optional connection object + * + * @return CcLocale|array|mixed the result, formatted by the current formatter + */ + public function findPk($key, $con = null) + { + if ((null !== ($obj = CcLocalePeer::getInstanceFromPool((string) $key))) && $this->getFormatter()->isObjectFormatter()) { + // the object is alredy in the instance pool + return $obj; + } else { + // the object has not been requested yet, or the formatter is not an object formatter + $criteria = $this->isKeepQuery() ? clone $this : $this; + $stmt = $criteria + ->filterByPrimaryKey($key) + ->getSelectStatement($con); + return $criteria->getFormatter()->init($criteria)->formatOne($stmt); + } + } + + /** + * Find objects by primary key + * + * $objs = $c->findPks(array(12, 56, 832), $con); + * + * @param array $keys Primary keys to use for the query + * @param PropelPDO $con an optional connection object + * + * @return PropelObjectCollection|array|mixed the list of results, formatted by the current formatter + */ + public function findPks($keys, $con = null) + { + $criteria = $this->isKeepQuery() ? clone $this : $this; + return $this + ->filterByPrimaryKeys($keys) + ->find($con); + } + + /** + * Filter the query by primary key + * + * @param mixed $key Primary key to use for the query + * + * @return CcLocaleQuery The current query, for fluid interface + */ + public function filterByPrimaryKey($key) + { + return $this->addUsingAlias(CcLocalePeer::ID, $key, Criteria::EQUAL); + } + + /** + * Filter the query by a list of primary keys + * + * @param array $keys The list of primary key to use for the query + * + * @return CcLocaleQuery The current query, for fluid interface + */ + public function filterByPrimaryKeys($keys) + { + return $this->addUsingAlias(CcLocalePeer::ID, $keys, Criteria::IN); + } + + /** + * Filter the query on the id column + * + * @param int|array $dbId The value to use as filter. + * Accepts an associative array('min' => $minValue, 'max' => $maxValue) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return CcLocaleQuery The current query, for fluid interface + */ + public function filterByDbId($dbId = null, $comparison = null) + { + if (is_array($dbId) && null === $comparison) { + $comparison = Criteria::IN; + } + return $this->addUsingAlias(CcLocalePeer::ID, $dbId, $comparison); + } + + /** + * Filter the query on the locale_code column + * + * @param string $dbLocaleCode The value to use as filter. + * Accepts wildcards (* and % trigger a LIKE) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return CcLocaleQuery The current query, for fluid interface + */ + public function filterByDbLocaleCode($dbLocaleCode = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($dbLocaleCode)) { + $comparison = Criteria::IN; + } elseif (preg_match('/[\%\*]/', $dbLocaleCode)) { + $dbLocaleCode = str_replace('*', '%', $dbLocaleCode); + $comparison = Criteria::LIKE; + } + } + return $this->addUsingAlias(CcLocalePeer::LOCALE_CODE, $dbLocaleCode, $comparison); + } + + /** + * Filter the query on the locale_lang column + * + * @param string $dbLocaleLang The value to use as filter. + * Accepts wildcards (* and % trigger a LIKE) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return CcLocaleQuery The current query, for fluid interface + */ + public function filterByDbLocaleLang($dbLocaleLang = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($dbLocaleLang)) { + $comparison = Criteria::IN; + } elseif (preg_match('/[\%\*]/', $dbLocaleLang)) { + $dbLocaleLang = str_replace('*', '%', $dbLocaleLang); + $comparison = Criteria::LIKE; + } + } + return $this->addUsingAlias(CcLocalePeer::LOCALE_LANG, $dbLocaleLang, $comparison); + } + + /** + * Exclude object from result + * + * @param CcLocale $ccLocale Object to remove from the list of results + * + * @return CcLocaleQuery The current query, for fluid interface + */ + public function prune($ccLocale = null) + { + if ($ccLocale) { + $this->addUsingAlias(CcLocalePeer::ID, $ccLocale->getDbId(), Criteria::NOT_EQUAL); + } + + return $this; + } + +} // BaseCcLocaleQuery diff --git a/airtime_mvc/application/views/scripts/airtime-recorder/index.phtml b/airtime_mvc/application/views/scripts/airtime-recorder/index.phtml index 0a04fb79c..e69de29bb 100644 --- a/airtime_mvc/application/views/scripts/airtime-recorder/index.phtml +++ b/airtime_mvc/application/views/scripts/airtime-recorder/index.phtml @@ -1 +0,0 @@ -

View script for controller AirtimeRecorder and script/action name index
\ No newline at end of file diff --git a/airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml b/airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml index f76249b9f..e8196913f 100644 --- a/airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml +++ b/airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml @@ -19,19 +19,19 @@
@@ -42,21 +42,21 @@
-type == "audioclip"): ?> +type == "audioclip"): ?>
- mute +
- unmute +
- max volume +
@@ -66,8 +66,10 @@
- Update Required - To play the media you will need to either update your browser to a recent version or update your Flash plugin. + + ", + "") ?>
diff --git a/airtime_mvc/application/views/scripts/dashboard/about.phtml b/airtime_mvc/application/views/scripts/dashboard/about.phtml index b2ce0cb38..a844ec398 100644 --- a/airtime_mvc/application/views/scripts/dashboard/about.phtml +++ b/airtime_mvc/application/views/scripts/dashboard/about.phtml @@ -1,8 +1,21 @@
-

About

+

-Airtime airtime_version ?>, the open radio software for scheduling and remote station management.
-© 2012 Sourcefabric o.p.s. Airtime is distributed under the GNU GPL v.3 +", + "", + $this->airtime_version, + "
") +?> +
© 2012 +", + "", + "", + "") +?>


diff --git a/airtime_mvc/application/views/scripts/dashboard/help.phtml b/airtime_mvc/application/views/scripts/dashboard/help.phtml index 3e5d68553..66857c7cd 100644 --- a/airtime_mvc/application/views/scripts/dashboard/help.phtml +++ b/airtime_mvc/application/views/scripts/dashboard/help.phtml @@ -1,15 +1,17 @@
-

Welcome to Airtime!

-

Here's how you can get started using Airtime to automate your broadcasts:

+

+

    -
  1. Begin by adding your files to the library using the "Add Media" menu button. You can drag and drop your files to this window too.
  2. -
  3. Create a show by going to "Calendar" in the menu bar, and then clicking the "+ Show" icon. This can be either a one-time or repeating show. Only admins and program managers can add shows.
  4. -
  5. Add media to the show by going to your show in the Schedule calendar, left-clicking on it and selecting "Add / Remove Content".
  6. -
  7. Select your media from the left pane and drag them to your show in the right pane.
  8. +
  9. +
  10. +
  11. .
  12. +
-

Then you're good to go!
-For more detailed help, read the user manual.

+


+", + "") ?>

diff --git a/airtime_mvc/application/views/scripts/dashboard/index.phtml b/airtime_mvc/application/views/scripts/dashboard/index.phtml index e5b885fc7..e69de29bb 100644 --- a/airtime_mvc/application/views/scripts/dashboard/index.phtml +++ b/airtime_mvc/application/views/scripts/dashboard/index.phtml @@ -1 +0,0 @@ -

View script for controller Dashboard and script/action name index
\ No newline at end of file diff --git a/airtime_mvc/application/views/scripts/dashboard/stream-player.phtml b/airtime_mvc/application/views/scripts/dashboard/stream-player.phtml index ce4faa068..3f6a46dec 100644 --- a/airtime_mvc/application/views/scripts/dashboard/stream-player.phtml +++ b/airtime_mvc/application/views/scripts/dashboard/stream-player.phtml @@ -1,5 +1,5 @@
-

Live stream

+

- +
- + "> + "> element->getElement('storageFolder')->hasErrors()) : ?>
    element->getElement('storageFolder')->getMessages() as $error): ?> @@ -16,7 +16,7 @@
-
Current Import Folder:getDirectory(); ?>
+
getDirectory(); ?>
@@ -24,8 +24,8 @@
element->getElement('watchedFolder') ?> - - + "> + "> element->getElement('watchedFolder')->hasErrors()) : ?> - Sourcefabric Privacy Policy +
diff --git a/airtime_mvc/application/views/scripts/index/display.phtml b/airtime_mvc/application/views/scripts/index/display.phtml index d2cfe08b7..e69de29bb 100644 --- a/airtime_mvc/application/views/scripts/index/display.phtml +++ b/airtime_mvc/application/views/scripts/index/display.phtml @@ -1 +0,0 @@ -

View script for controller Index and script/action name display
\ No newline at end of file diff --git a/airtime_mvc/application/views/scripts/index/main.phtml b/airtime_mvc/application/views/scripts/index/main.phtml index 6d10563ec..e69de29bb 100644 --- a/airtime_mvc/application/views/scripts/index/main.phtml +++ b/airtime_mvc/application/views/scripts/index/main.phtml @@ -1 +0,0 @@ -

View script for controller Index and script/action name main
\ No newline at end of file diff --git a/airtime_mvc/application/views/scripts/index/newfield.phtml b/airtime_mvc/application/views/scripts/index/newfield.phtml index d1935f51f..e69de29bb 100644 --- a/airtime_mvc/application/views/scripts/index/newfield.phtml +++ b/airtime_mvc/application/views/scripts/index/newfield.phtml @@ -1 +0,0 @@ -

View script for controller Index and script/action name newfield
\ No newline at end of file diff --git a/airtime_mvc/application/views/scripts/library/edit-file-md.phtml b/airtime_mvc/application/views/scripts/library/edit-file-md.phtml index bdead9832..3c1d28675 100644 --- a/airtime_mvc/application/views/scripts/library/edit-file-md.phtml +++ b/airtime_mvc/application/views/scripts/library/edit-file-md.phtml @@ -1,5 +1,5 @@
-

Edit Metadata

+

form->setAction($this->url()); echo $this->form; ?> diff --git a/airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml b/airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml index ad65f2417..0ab387ca1 100644 --- a/airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml +++ b/airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml @@ -1,53 +1,53 @@ type == "audioclip") : ?> - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +
Title:md["MDATA_KEY_TITLE"]);?>
Creator:md["MDATA_KEY_CREATOR"]);?>
Album:md["MDATA_KEY_SOURCE"]);?>
Track:md["MDATA_KEY_TRACKNUMBER"]);?>
Length:md["MDATA_KEY_DURATION"]);?>
Sample Rate:md["MDATA_KEY_SAMPLERATE"]);?>
Bit Rate:md["MDATA_KEY_BITRATE"]);?>
Mood:md["MDATA_KEY_MOOD"]);?>
Genre:md["MDATA_KEY_GENRE"]);?>
Year:md["MDATA_KEY_YEAR"]);?>
Label:md["MDATA_KEY_LABEL"]);?>
BPM:md["MDATA_KEY_BPM"]);?>
Composer:md["MDATA_KEY_COMPOSER"]);?>
Conductor:md["MDATA_KEY_CONDUCTOR"]);?>
Copyright:md["MDATA_KEY_COPYRIGHT"]);?>
Isrc Number:md["MDATA_KEY_ISRC"]);?>
Website:md["MDATA_KEY_URL"]);?>
Language:md["MDATA_KEY_LANGUAGE"]);?>
File Path:md["MDATA_KEY_FILEPATH"]);?>
md["MDATA_KEY_TITLE"]);?>
md["MDATA_KEY_CREATOR"]);?>
md["MDATA_KEY_SOURCE"]);?>
md["MDATA_KEY_TRACKNUMBER"]);?>
md["MDATA_KEY_DURATION"]);?>
md["MDATA_KEY_SAMPLERATE"]);?>
md["MDATA_KEY_BITRATE"]);?>
md["MDATA_KEY_MOOD"]);?>
md["MDATA_KEY_GENRE"]);?>
md["MDATA_KEY_YEAR"]);?>
md["MDATA_KEY_LABEL"]);?>
md["MDATA_KEY_BPM"]);?>
md["MDATA_KEY_COMPOSER"]);?>
md["MDATA_KEY_CONDUCTOR"]);?>
md["MDATA_KEY_COPYRIGHT"]);?>
md["MDATA_KEY_ISRC"]);?>
md["MDATA_KEY_URL"]);?>
md["MDATA_KEY_LANGUAGE"]);?>
 md["MDATA_KEY_FILEPATH"]);?>
type == "playlist" || $this->type == "block") : ?>
- Name:md["dc:title"]);?>
- Creator:md["dc:creator"]);?>
+ md["dc:title"]);?>
+ md["dc:creator"]);?>
type == "block" && $this->blType == "Dynamic") { ?> - Length:block->getLength();?>
+ block->getLength();?>
- Length:md["dcterms:extent"]);?>
+ md["dcterms:extent"]);?>
- Description:md["dc:description"]);?> + md["dc:description"]);?>
type == "playlist") { ?>
-o Web Stream
-o Dynamic Smart Block
-o Static Smart Block
-o Audio Track +o
+o
+o
+o
type == "playlist" || ($this->type == "block" && $this->blType == "Static")) {?> type == "playlist") { ?> -
Playlist Contents:
+
-
Static Smart Block Contents:
+
contents as $row) : ?> @@ -86,7 +86,7 @@
blType == "Dynamic") { ?> -
Dynamic Smart Block Criteria:
+
contents["crit"] as $criterias) : ?> @@ -115,7 +115,7 @@ - +
Limit to contents["limit"]["value"] ?> contents["limit"]["modifier"] ?>
@@ -124,11 +124,11 @@ type == "stream") : ?> -
Name:md["name"]);?>
-
Length:md["length"]);?>
-
Creator:md["login"]);?>
-
Description:md["description"]);?>
-
URL:md["url"]);?>
+
md["name"]);?>
+
md["length"]);?>
+
md["login"]);?>
+
md["description"]);?>
+
md["url"]);?>
diff --git a/airtime_mvc/application/views/scripts/library/library.phtml b/airtime_mvc/application/views/scripts/library/library.phtml index 03c4ad259..def981117 100644 --- a/airtime_mvc/application/views/scripts/library/library.phtml +++ b/airtime_mvc/application/views/scripts/library/library.phtml @@ -1,7 +1,8 @@ - + +
- Advanced Search Options +
diff --git a/airtime_mvc/application/views/scripts/listenerstat/index.phtml b/airtime_mvc/application/views/scripts/listenerstat/index.phtml index 9f3568869..466c34fa6 100644 --- a/airtime_mvc/application/views/scripts/listenerstat/index.phtml +++ b/airtime_mvc/application/views/scripts/listenerstat/index.phtml @@ -1,5 +1,5 @@
- Listener Count Over Time
+
date_form; ?> diff --git a/airtime_mvc/application/views/scripts/login/index.phtml b/airtime_mvc/application/views/scripts/login/index.phtml index 7aba40c29..524afee90 100644 --- a/airtime_mvc/application/views/scripts/login/index.phtml +++ b/airtime_mvc/application/views/scripts/login/index.phtml @@ -1,9 +1,11 @@
-

Source Streams

+

 

-
ON AIR
- Listen +
+
    -
  • Station time
  • +
diff --git a/airtime_mvc/application/views/scripts/partialviews/trialBox.phtml b/airtime_mvc/application/views/scripts/partialviews/trialBox.phtml index 7fb28258a..2ccbac174 100644 --- a/airtime_mvc/application/views/scripts/partialviews/trialBox.phtml +++ b/airtime_mvc/application/views/scripts/partialviews/trialBox.phtml @@ -1,12 +1,12 @@ trial_remain != '' && $this->trial_remain != "Trial expired."){?>
-

Your trial expires in

+

trial_remain?> -
days
+
- \ No newline at end of file + diff --git a/airtime_mvc/application/views/scripts/playlist/playlist.phtml b/airtime_mvc/application/views/scripts/playlist/playlist.phtml index d287abaec..f8496d926 100644 --- a/airtime_mvc/application/views/scripts/playlist/playlist.phtml +++ b/airtime_mvc/application/views/scripts/playlist/playlist.phtml @@ -7,27 +7,27 @@ if (isset($this->obj)) {
obj)) : ?>
- +
- +
- +
@@ -46,9 +46,9 @@ if (isset($this->obj)) {
- View / edit description +
-
+
@@ -60,10 +60,10 @@ if (isset($this->obj)) { -
No open playlist
+
diff --git a/airtime_mvc/application/views/scripts/playlist/set-cue.phtml b/airtime_mvc/application/views/scripts/playlist/set-cue.phtml index 5d18a5643..176d8b8ac 100644 --- a/airtime_mvc/application/views/scripts/playlist/set-cue.phtml +++ b/airtime_mvc/application/views/scripts/playlist/set-cue.phtml @@ -1,14 +1,14 @@
-
Cue In: (hh:mm:ss.t)
+
cueIn; ?>
-
Cue Out: (hh:mm:ss.t)
+
cueOut; ?>
-
Original Length:
+
origLength; ?>
diff --git a/airtime_mvc/application/views/scripts/playlist/set-fade.phtml b/airtime_mvc/application/views/scripts/playlist/set-fade.phtml index 3eed6e47f..17f1e7c60 100644 --- a/airtime_mvc/application/views/scripts/playlist/set-fade.phtml +++ b/airtime_mvc/application/views/scripts/playlist/set-fade.phtml @@ -1,13 +1,13 @@
item1Type == 0) {?> -
Fade out: (ss.t)
+
fadeOut; ?>
item2Type == 0) {?> -
Fade in: (ss.t)
+
fadeIn; ?>
diff --git a/airtime_mvc/application/views/scripts/playlist/smart-block.phtml b/airtime_mvc/application/views/scripts/playlist/smart-block.phtml index dd36ffbfc..b1ca48da5 100644 --- a/airtime_mvc/application/views/scripts/playlist/smart-block.phtml +++ b/airtime_mvc/application/views/scripts/playlist/smart-block.phtml @@ -7,24 +7,24 @@ if (isset($this->obj)) {
obj)) : ?>
- +
- +
@@ -48,9 +48,9 @@ if (isset($this->obj)) {
- View / edit description +
-
+
@@ -48,17 +48,17 @@
-
+
-
+
-
No webstream
+
diff --git a/airtime_mvc/build/schema.xml b/airtime_mvc/build/schema.xml index e4a8540a5..7fc126e05 100644 --- a/airtime_mvc/build/schema.xml +++ b/airtime_mvc/build/schema.xml @@ -458,4 +458,9 @@
+ + + + +
diff --git a/airtime_mvc/build/sql/defaultdata.sql b/airtime_mvc/build/sql/defaultdata.sql index b43028a71..0747d1034 100644 --- a/airtime_mvc/build/sql/defaultdata.sql +++ b/airtime_mvc/build/sql/defaultdata.sql @@ -308,3 +308,12 @@ INSERT INTO cc_stream_setting (keyname, value, type) VALUES ('s1_channels', 'ste INSERT INTO cc_stream_setting (keyname, value, type) VALUES ('s2_channels', 'stereo', 'string'); INSERT INTO cc_stream_setting (keyname, value, type) VALUES ('s3_channels', 'stereo', 'string'); -- end of added in 2.2 + + +-- added in 2.3 +INSERT INTO cc_pref("keystr", "valstr") VALUES('locale', 'en_CA'); + +INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('en_CA', 'English'); +INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('ko_KR', 'Korean'); + +-- end of added in 2.3 diff --git a/airtime_mvc/build/sql/schema.sql b/airtime_mvc/build/sql/schema.sql index af7c7ac0c..bd1f890cc 100644 --- a/airtime_mvc/build/sql/schema.sql +++ b/airtime_mvc/build/sql/schema.sql @@ -723,6 +723,25 @@ CREATE TABLE "cc_listener_count" COMMENT ON TABLE "cc_listener_count" IS ''; +SET search_path TO public; +----------------------------------------------------------------------------- +-- cc_locale +----------------------------------------------------------------------------- + +DROP TABLE "cc_locale" CASCADE; + + +CREATE TABLE "cc_locale" +( + "id" serial NOT NULL, + "locale_code" VARCHAR(16) NOT NULL, + "locale_lang" VARCHAR(128) NOT NULL, + PRIMARY KEY ("id") +); + +COMMENT ON TABLE "cc_locale" IS ''; + + SET search_path TO public; ALTER TABLE "cc_files" ADD CONSTRAINT "cc_files_owner_fkey" FOREIGN KEY ("owner_id") REFERENCES "cc_subjs" ("id"); diff --git a/airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.mo new file mode 100644 index 000000000..50f987d7f Binary files /dev/null and b/airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.mo differ diff --git a/airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.po b/airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.po new file mode 100644 index 000000000..bbbb7033c --- /dev/null +++ b/airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.po @@ -0,0 +1,3241 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Airtime 2.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-11-28 16:00-0500\n" +"PO-Revision-Date: 2012-11-29 11:31-0500\n" +"Last-Translator: Denise Rigato \n" +"Language-Team: Airtime\n" +"Language: en_CA\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: en_CA\n" + +#: airtime_mvc/application/configs/navigation.php:12 +msgid "Now Playing" +msgstr "Now Playing" + +#: airtime_mvc/application/configs/navigation.php:19 +msgid "Add Media" +msgstr "Add Media" + +#: airtime_mvc/application/configs/navigation.php:26 +msgid "Library" +msgstr "Library" + +#: airtime_mvc/application/configs/navigation.php:33 +msgid "Calendar" +msgstr "Calendar" + +#: airtime_mvc/application/configs/navigation.php:40 +msgid "System" +msgstr "System" + +#: airtime_mvc/application/configs/navigation.php:45 +#: airtime_mvc/application/views/scripts/preference/index.phtml:2 +msgid "Preferences" +msgstr "Preferences" + +#: airtime_mvc/application/configs/navigation.php:50 +msgid "Users" +msgstr "Users" + +#: airtime_mvc/application/configs/navigation.php:57 +msgid "Media Folders" +msgstr "Media Folders" + +#: airtime_mvc/application/configs/navigation.php:64 +msgid "Streams" +msgstr "Streams" + +#: airtime_mvc/application/configs/navigation.php:70 +#: airtime_mvc/application/controllers/PreferenceController.php:134 +msgid "Support Feedback" +msgstr "Support Feedback" + +#: airtime_mvc/application/configs/navigation.php:76 +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:5 +msgid "Status" +msgstr "Status" + +#: airtime_mvc/application/configs/navigation.php:83 +msgid "Playout History" +msgstr "Playout History" + +#: airtime_mvc/application/configs/navigation.php:90 +msgid "Listener Stats" +msgstr "Listener Stats" + +#: airtime_mvc/application/configs/navigation.php:99 +#: airtime_mvc/application/views/scripts/error/error.phtml:13 +msgid "Help" +msgstr "Help" + +#: airtime_mvc/application/configs/navigation.php:104 +msgid "Getting Started" +msgstr "Getting Started" + +#: airtime_mvc/application/configs/navigation.php:111 +msgid "User Manual" +msgstr "User Manual" + +#: airtime_mvc/application/configs/navigation.php:116 +#: airtime_mvc/application/views/scripts/dashboard/about.phtml:2 +msgid "About" +msgstr "About" + +#: airtime_mvc/application/layouts/scripts/bare.phtml:5 +#: airtime_mvc/application/views/scripts/dashboard/stream-player.phtml:2 +msgid "Live stream" +msgstr "Live stream" + +#: airtime_mvc/application/layouts/scripts/audio-player.phtml:5 +#: airtime_mvc/application/controllers/LocaleController.php:34 +msgid "Audio Player" +msgstr "Audio Player" + +#: airtime_mvc/application/layouts/scripts/layout.phtml:26 +msgid "Logout" +msgstr "Logout" + +#: airtime_mvc/application/layouts/scripts/login.phtml:16 +#, php-format +msgid "Airtime Copyright ©Sourcefabric o.p.s. All rights reserved.%sMaintained and distributed under GNU GPL v.3 by %sSourcefabric o.p.s%s" +msgstr "Airtime Copyright ©Sourcefabric o.p.s. All rights reserved.%sMaintained and distributed under GNU GPL v.3 by %sSourcefabric o.p.s%s" + +#: airtime_mvc/application/models/StoredFile.php:797 +#: airtime_mvc/application/controllers/LocaleController.php:277 +msgid "Track preview" +msgstr "Track preview" + +#: airtime_mvc/application/models/StoredFile.php:799 +msgid "Playlist preview" +msgstr "Playlist preview" + +#: airtime_mvc/application/models/StoredFile.php:802 +msgid "Webstream preview" +msgstr "Webstream preview" + +#: airtime_mvc/application/models/StoredFile.php:804 +msgid "Smart Block" +msgstr "Smart Block" + +#: airtime_mvc/application/models/StoredFile.php:937 +msgid "Failed to create 'organize' directory." +msgstr "Failed to create 'organize' directory." + +#: airtime_mvc/application/models/StoredFile.php:950 +#, php-format +msgid "The file was not uploaded, there is %s MB of disk space left and the file you are uploading has a size of %s MB." +msgstr "The file was not uploaded, there is %s MB of disk space left and the file you are uploading has a size of %s MB." + +#: airtime_mvc/application/models/StoredFile.php:959 +msgid "This file appears to be corrupted and will not be added to media library." +msgstr "This file appears to be corrupted and will not be added to media library." + +#: airtime_mvc/application/models/StoredFile.php:995 +msgid "The file was not uploaded, this error can occur if the computer hard drive does not have enough disk space or the stor directory does not have correct write permissions." +msgstr "The file was not uploaded, this error can occur if the computer hard drive does not have enough disk space or the stor directory does not have correct write permissions." + +#: airtime_mvc/application/models/Preference.php:469 +msgid "Select Country" +msgstr "Select Country" + +#: airtime_mvc/application/models/MusicDir.php:160 +#, php-format +msgid "%s is already watched." +msgstr "%s is already watched." + +#: airtime_mvc/application/models/MusicDir.php:164 +#, php-format +msgid "%s contains nested watched directory: %s" +msgstr "%s contains nested watched directory: %s" + +#: airtime_mvc/application/models/MusicDir.php:168 +#, php-format +msgid "%s is nested within existing watched directory: %s" +msgstr "%s is nested within existing watched directory: %s" + +#: airtime_mvc/application/models/MusicDir.php:189 +#: airtime_mvc/application/models/MusicDir.php:363 +#, php-format +msgid "%s is not a valid directory." +msgstr "%s is not a valid directory." + +#: airtime_mvc/application/models/MusicDir.php:231 +#, php-format +msgid "%s is already set as the current storage dir or in the watched folders list" +msgstr "%s is already set as the current storage dir or in the watched folders list" + +#: airtime_mvc/application/models/MusicDir.php:381 +#, php-format +msgid "%s is already set as the current storage dir or in the watched folders list." +msgstr "%s is already set as the current storage dir or in the watched folders list." + +#: airtime_mvc/application/models/MusicDir.php:424 +#, php-format +msgid "%s doesn't exist in the watched list." +msgstr "%s doesn't exist in the watched list." + +#: airtime_mvc/application/models/Playlist.php:724 +#: airtime_mvc/application/models/Block.php:757 +msgid "Cue in and cue out are null." +msgstr "Cue in and cue out are null." + +#: airtime_mvc/application/models/Playlist.php:754 +#: airtime_mvc/application/models/Playlist.php:777 +#: airtime_mvc/application/models/Block.php:803 +#: airtime_mvc/application/models/Block.php:824 +msgid "Can't set cue in to be larger than cue out." +msgstr "Can't set cue in to be larger than cue out." + +#: airtime_mvc/application/models/Playlist.php:761 +#: airtime_mvc/application/models/Playlist.php:802 +#: airtime_mvc/application/models/Block.php:792 +#: airtime_mvc/application/models/Block.php:848 +msgid "Can't set cue out to be greater than file length." +msgstr "Can't set cue out to be greater than file length." + +#: airtime_mvc/application/models/Playlist.php:795 +#: airtime_mvc/application/models/Block.php:859 +msgid "Can't set cue out to be smaller than cue in." +msgstr "Can't set cue out to be smaller than cue in." + +#: airtime_mvc/application/models/Show.php:180 +msgid "Shows can have a max length of 24 hours." +msgstr "Shows can have a max length of 24 hours." + +#: airtime_mvc/application/models/Show.php:211 +#: airtime_mvc/application/forms/AddShowWhen.php:120 +msgid "End date/time cannot be in the past" +msgstr "End date/time cannot be in the past" + +#: airtime_mvc/application/models/Show.php:222 +msgid "" +"Cannot schedule overlapping shows.\n" +"Note: Resizing a repeating show affects all of its repeats." +msgstr "" +"Cannot schedule overlapping shows.\n" +"Note: Resizing a repeating show affects all of its repeats." + +#: airtime_mvc/application/models/Webstream.php:157 +msgid "Length needs to be greater than 0 minutes" +msgstr "Length needs to be greater than 0 minutes" + +#: airtime_mvc/application/models/Webstream.php:162 +msgid "Length should be of form \"00h 00m\"" +msgstr "Length should be of form \"00h 00m\"" + +#: airtime_mvc/application/models/Webstream.php:175 +msgid "URL should be of form \"http://domain\"" +msgstr "URL should be of form \"http://domain\"" + +#: airtime_mvc/application/models/Webstream.php:178 +msgid "URL should be 512 characters or less" +msgstr "URL should be 512 characters or less" + +#: airtime_mvc/application/models/Webstream.php:184 +msgid "No MIME type found for webstream." +msgstr "No MIME type found for webstream." + +#: airtime_mvc/application/models/Webstream.php:200 +msgid "Webstream name cannot be empty" +msgstr "Webstream name cannot be empty" + +#: airtime_mvc/application/models/Webstream.php:269 +msgid "Could not parse XSPF playlist" +msgstr "Could not parse XSPF playlist" + +#: airtime_mvc/application/models/Webstream.php:281 +msgid "Could not parse PLS playlist" +msgstr "Could not parse PLS playlist" + +#: airtime_mvc/application/models/Webstream.php:300 +msgid "Could not parse M3U playlist" +msgstr "Could not parse M3U playlist" + +#: airtime_mvc/application/models/Webstream.php:314 +msgid "Invalid webstream - This appears to be a file download." +msgstr "Invalid webstream - This appears to be a file download." + +#: airtime_mvc/application/models/Webstream.php:318 +#, php-format +msgid "Unrecognized stream type: %s" +msgstr "Unrecognized stream type: %s" + +#: airtime_mvc/application/models/ShowInstance.php:245 +msgid "Can't drag and drop repeating shows" +msgstr "Can't drag and drop repeating shows" + +#: airtime_mvc/application/models/ShowInstance.php:253 +msgid "Can't move a past show" +msgstr "Can't move a past show" + +#: airtime_mvc/application/models/ShowInstance.php:270 +msgid "Can't move show into past" +msgstr "Can't move show into past" + +#: airtime_mvc/application/models/ShowInstance.php:276 +#: airtime_mvc/application/forms/AddShowWhen.php:254 +#: airtime_mvc/application/forms/AddShowWhen.php:268 +#: airtime_mvc/application/forms/AddShowWhen.php:291 +#: airtime_mvc/application/forms/AddShowWhen.php:297 +#: airtime_mvc/application/forms/AddShowWhen.php:302 +msgid "Cannot schedule overlapping shows" +msgstr "Cannot schedule overlapping shows" + +#: airtime_mvc/application/models/ShowInstance.php:290 +msgid "Can't move a recorded show less than 1 hour before its rebroadcasts." +msgstr "Can't move a recorded show less than 1 hour before its rebroadcasts." + +#: airtime_mvc/application/models/ShowInstance.php:303 +msgid "Show was deleted because recorded show does not exist!" +msgstr "Show was deleted because recorded show does not exist!" + +#: airtime_mvc/application/models/ShowInstance.php:310 +msgid "Must wait 1 hour to rebroadcast." +msgstr "Must wait 1 hour to rebroadcast." + +#: airtime_mvc/application/models/ShowInstance.php:342 +msgid "can't resize a past show" +msgstr "can't resize a past show" + +#: airtime_mvc/application/models/ShowInstance.php:364 +msgid "Should not overlap shows" +msgstr "Should not overlap shows" + +#: airtime_mvc/application/models/Auth.php:33 +#, php-format +msgid "" +"Hi %s, \n" +"\n" +"Click this link to reset your password: " +msgstr "" +"Hi %s, \n" +"\n" +"Click this link to reset your password: " + +#: airtime_mvc/application/models/Auth.php:36 +msgid "Airtime Password Reset" +msgstr "Airtime Password Reset" + +#: airtime_mvc/application/models/Scheduler.php:82 +msgid "The schedule you're viewing is out of date! (sched mismatch)" +msgstr "The schedule you're viewing is out of date! (sched mismatch)" + +#: airtime_mvc/application/models/Scheduler.php:87 +msgid "The schedule you're viewing is out of date! (instance mismatch)" +msgstr "The schedule you're viewing is out of date! (instance mismatch)" + +#: airtime_mvc/application/models/Scheduler.php:95 +#: airtime_mvc/application/models/Scheduler.php:346 +msgid "The schedule you're viewing is out of date!" +msgstr "The schedule you're viewing is out of date!" + +#: airtime_mvc/application/models/Scheduler.php:105 +#, php-format +msgid "You are not allowed to schedule show %s." +msgstr "You are not allowed to schedule show %s." + +#: airtime_mvc/application/models/Scheduler.php:109 +msgid "You cannot add files to recording shows." +msgstr "You cannot add files to recording shows." + +#: airtime_mvc/application/models/Scheduler.php:115 +#, php-format +msgid "The show %s is over and cannot be scheduled." +msgstr "The show %s is over and cannot be scheduled." + +#: airtime_mvc/application/models/Scheduler.php:122 +#, php-format +msgid "The show %s has been previously updated!" +msgstr "The show %s has been previously updated!" + +#: airtime_mvc/application/models/Scheduler.php:141 +#: airtime_mvc/application/models/Scheduler.php:222 +msgid "A selected File does not exist!" +msgstr "A selected File does not exist!" + +#: airtime_mvc/application/models/ShowBuilder.php:198 +#, php-format +msgid "Rebroadcast of %s from %s" +msgstr "Rebroadcast of %s from %s" + +#: airtime_mvc/application/models/Block.php:1207 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:41 +msgid "Select criteria" +msgstr "Select criteria" + +#: airtime_mvc/application/models/Block.php:1208 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:42 +#: airtime_mvc/application/controllers/LocaleController.php:68 +#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:8 +msgid "Album" +msgstr "Album" + +#: airtime_mvc/application/models/Block.php:1209 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:43 +msgid "Bit Rate (Kbps)" +msgstr "Bit Rate (Kbps)" + +#: airtime_mvc/application/models/Block.php:1210 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:44 +#: airtime_mvc/application/controllers/LocaleController.php:70 +msgid "BPM" +msgstr "BPM" + +#: airtime_mvc/application/models/Block.php:1211 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:45 +#: airtime_mvc/application/controllers/LocaleController.php:71 +#: airtime_mvc/application/controllers/LocaleController.php:154 +msgid "Composer" +msgstr "Composer" + +#: airtime_mvc/application/models/Block.php:1212 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:46 +#: airtime_mvc/application/controllers/LocaleController.php:72 +msgid "Conductor" +msgstr "Conductor" + +#: airtime_mvc/application/models/Block.php:1213 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:47 +#: airtime_mvc/application/controllers/LocaleController.php:73 +#: airtime_mvc/application/controllers/LocaleController.php:155 +msgid "Copyright" +msgstr "Copyright" + +#: airtime_mvc/application/models/Block.php:1214 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:48 +#: airtime_mvc/application/controllers/LocaleController.php:67 +#: airtime_mvc/application/controllers/LocaleController.php:151 +#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:7 +msgid "Creator" +msgstr "Creator" + +#: airtime_mvc/application/models/Block.php:1215 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:49 +#: airtime_mvc/application/controllers/LocaleController.php:74 +msgid "Encoded By" +msgstr "Encoded By" + +#: airtime_mvc/application/models/Block.php:1216 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:132 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:50 +#: airtime_mvc/application/controllers/LocaleController.php:75 +#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:10 +msgid "Genre" +msgstr "Genre" + +#: airtime_mvc/application/models/Block.php:1217 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:51 +#: airtime_mvc/application/controllers/LocaleController.php:76 +msgid "ISRC" +msgstr "ISRC" + +#: airtime_mvc/application/models/Block.php:1218 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:52 +#: airtime_mvc/application/controllers/LocaleController.php:77 +msgid "Label" +msgstr "Label" + +#: airtime_mvc/application/models/Block.php:1219 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:53 +#: airtime_mvc/application/forms/GeneralPreferences.php:56 +#: airtime_mvc/application/controllers/LocaleController.php:78 +msgid "Language" +msgstr "Language" + +#: airtime_mvc/application/models/Block.php:1220 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:54 +#: airtime_mvc/application/controllers/LocaleController.php:79 +msgid "Last Modified" +msgstr "Last Modified" + +#: airtime_mvc/application/models/Block.php:1221 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:55 +#: airtime_mvc/application/controllers/LocaleController.php:80 +msgid "Last Played" +msgstr "Last Played" + +#: airtime_mvc/application/models/Block.php:1222 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:56 +#: airtime_mvc/application/controllers/LocaleController.php:81 +#: airtime_mvc/application/controllers/LocaleController.php:153 +#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:9 +msgid "Length" +msgstr "Length" + +#: airtime_mvc/application/models/Block.php:1223 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:57 +#: airtime_mvc/application/controllers/LocaleController.php:82 +msgid "Mime" +msgstr "Mime" + +#: airtime_mvc/application/models/Block.php:1224 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:58 +#: airtime_mvc/application/controllers/LocaleController.php:83 +msgid "Mood" +msgstr "Mood" + +#: airtime_mvc/application/models/Block.php:1225 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:59 +#: airtime_mvc/application/controllers/LocaleController.php:84 +msgid "Owner" +msgstr "Owner" + +#: airtime_mvc/application/models/Block.php:1226 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:60 +#: airtime_mvc/application/controllers/LocaleController.php:85 +msgid "Replay Gain" +msgstr "Replay Gain" + +#: airtime_mvc/application/models/Block.php:1227 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:61 +msgid "Sample Rate (kHz)" +msgstr "Sample Rate (kHz)" + +#: airtime_mvc/application/models/Block.php:1228 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:62 +#: airtime_mvc/application/controllers/LocaleController.php:66 +#: airtime_mvc/application/controllers/LocaleController.php:150 +#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:6 +msgid "Title" +msgstr "Title" + +#: airtime_mvc/application/models/Block.php:1229 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:63 +#: airtime_mvc/application/controllers/LocaleController.php:87 +msgid "Track Number" +msgstr "Track Number" + +#: airtime_mvc/application/models/Block.php:1230 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:64 +#: airtime_mvc/application/controllers/LocaleController.php:88 +msgid "Uploaded" +msgstr "Uploaded" + +#: airtime_mvc/application/models/Block.php:1231 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:65 +#: airtime_mvc/application/controllers/LocaleController.php:89 +msgid "Website" +msgstr "Website" + +#: airtime_mvc/application/models/Block.php:1232 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:66 +#: airtime_mvc/application/controllers/LocaleController.php:90 +msgid "Year" +msgstr "Year" + +#: airtime_mvc/application/common/DateHelper.php:335 +#, php-format +msgid "The year %s must be within the range of 1753 - 9999" +msgstr "The year %s must be within the range of 1753 - 9999" + +#: airtime_mvc/application/common/DateHelper.php:338 +#, php-format +msgid "%s-%s-%s is not a valid date" +msgstr "%s-%s-%s is not a valid date" + +#: airtime_mvc/application/common/DateHelper.php:362 +#, php-format +msgid "%s:%s:%s is not a valid time" +msgstr "%s:%s:%s is not a valid time" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:17 +msgid "Enable System Emails (Password Reset)" +msgstr "Enable System Emails (Password Reset)" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:27 +msgid "Reset Password 'From' Email" +msgstr "Reset Password 'From' Email" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:34 +msgid "Configure Mail Server" +msgstr "Configure Mail Server" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:43 +msgid "Requires Authentication" +msgstr "Requires Authentication" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:53 +msgid "Mail Server" +msgstr "Mail Server" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:67 +msgid "Email Address" +msgstr "Email Address" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:82 +#: airtime_mvc/application/forms/PasswordChange.php:17 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:120 +msgid "Password" +msgstr "Password" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:100 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:109 +msgid "Port" +msgstr "Port" + +#: airtime_mvc/application/forms/RegisterAirtime.php:30 +#: airtime_mvc/application/forms/SupportSettings.php:21 +#: airtime_mvc/application/forms/GeneralPreferences.php:22 +msgid "Station Name" +msgstr "Station Name" + +#: airtime_mvc/application/forms/RegisterAirtime.php:39 +#: airtime_mvc/application/forms/SupportSettings.php:34 +msgid "Phone:" +msgstr "Phone:" + +#: airtime_mvc/application/forms/RegisterAirtime.php:51 +#: airtime_mvc/application/forms/AddUser.php:54 +#: airtime_mvc/application/forms/SupportSettings.php:46 +msgid "Email:" +msgstr "Email:" + +#: airtime_mvc/application/forms/RegisterAirtime.php:62 +#: airtime_mvc/application/forms/SupportSettings.php:57 +msgid "Station Web Site:" +msgstr "Station Web Site:" + +#: airtime_mvc/application/forms/RegisterAirtime.php:73 +#: airtime_mvc/application/forms/SupportSettings.php:68 +msgid "Country:" +msgstr "Country:" + +#: airtime_mvc/application/forms/RegisterAirtime.php:84 +#: airtime_mvc/application/forms/SupportSettings.php:79 +msgid "City:" +msgstr "City:" + +#: airtime_mvc/application/forms/RegisterAirtime.php:96 +#: airtime_mvc/application/forms/SupportSettings.php:91 +msgid "Station Description:" +msgstr "Station Description:" + +#: airtime_mvc/application/forms/RegisterAirtime.php:106 +#: airtime_mvc/application/forms/SupportSettings.php:101 +msgid "Station Logo:" +msgstr "Station Logo:" + +#: airtime_mvc/application/forms/RegisterAirtime.php:116 +#: airtime_mvc/application/forms/SupportSettings.php:112 +msgid "Send support feedback" +msgstr "Send support feedback" + +#: airtime_mvc/application/forms/RegisterAirtime.php:126 +#: airtime_mvc/application/forms/SupportSettings.php:122 +msgid "Promote my station on Sourcefabric.org" +msgstr "Promote my station on Sourcefabric.org" + +#: airtime_mvc/application/forms/RegisterAirtime.php:149 +#: airtime_mvc/application/forms/SupportSettings.php:148 +#, php-format +msgid "By checking this box, I agree to Sourcefabric's %sprivacy policy%s." +msgstr "By checking this box, I agree to Sourcefabric's %sprivacy policy%s." + +#: airtime_mvc/application/forms/RegisterAirtime.php:166 +#: airtime_mvc/application/forms/SupportSettings.php:173 +msgid "You have to agree to privacy policy." +msgstr "You have to agree to privacy policy." + +#: airtime_mvc/application/forms/PasswordChange.php:28 +msgid "Confirm new password" +msgstr "Confirm new password" + +#: airtime_mvc/application/forms/PasswordChange.php:36 +msgid "Password confirmation does not match your password." +msgstr "Password confirmation does not match your password." + +#: airtime_mvc/application/forms/PasswordChange.php:43 +msgid "Get new password" +msgstr "Get new password" + +#: airtime_mvc/application/forms/DateRange.php:16 +#: airtime_mvc/application/forms/ShowBuilder.php:18 +msgid "Date Start:" +msgstr "Date Start:" + +#: airtime_mvc/application/forms/DateRange.php:35 +#: airtime_mvc/application/forms/DateRange.php:63 +#: airtime_mvc/application/forms/AddShowRebroadcastDates.php:31 +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:99 +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:118 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:100 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:123 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:144 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:174 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:186 +#: airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php:26 +#: airtime_mvc/application/forms/ShowBuilder.php:37 +#: airtime_mvc/application/forms/ShowBuilder.php:65 +msgid "Invalid character entered" +msgstr "Invalid character entered" + +#: airtime_mvc/application/forms/DateRange.php:44 +#: airtime_mvc/application/forms/AddShowRepeats.php:40 +#: airtime_mvc/application/forms/ShowBuilder.php:46 +msgid "Date End:" +msgstr "Date End:" + +#: airtime_mvc/application/forms/helpers/ValidationTypes.php:8 +#: airtime_mvc/application/forms/customvalidators/ConditionalNotEmpty.php:26 +msgid "Value is required and can't be empty" +msgstr "Value is required and can't be empty" + +#: airtime_mvc/application/forms/helpers/ValidationTypes.php:19 +msgid "'%value%' is no valid email address in the basic format local-part@hostname" +msgstr "'%value%' is no valid email address in the basic format local-part@hostname" + +#: airtime_mvc/application/forms/helpers/ValidationTypes.php:33 +msgid "'%value%' does not fit the date format '%format%'" +msgstr "'%value%' does not fit the date format '%format%'" + +#: airtime_mvc/application/forms/helpers/ValidationTypes.php:59 +msgid "'%value%' is less than %min% characters long" +msgstr "'%value%' is less than %min% characters long" + +#: airtime_mvc/application/forms/helpers/ValidationTypes.php:64 +msgid "'%value%' is more than %max% characters long" +msgstr "'%value%' is more than %max% characters long" + +#: airtime_mvc/application/forms/helpers/ValidationTypes.php:76 +msgid "'%value%' is not between '%min%' and '%max%', inclusively" +msgstr "'%value%' is not between '%min%' and '%max%', inclusively" + +#: airtime_mvc/application/forms/AddShowRebroadcastDates.php:15 +#: airtime_mvc/application/views/scripts/partialviews/trialBox.phtml:6 +msgid "days" +msgstr "days" + +#: airtime_mvc/application/forms/AddShowRebroadcastDates.php:63 +#: airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php:58 +msgid "Day must be specified" +msgstr "Day must be specified" + +#: airtime_mvc/application/forms/AddShowRebroadcastDates.php:68 +#: airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php:63 +msgid "Time must be specified" +msgstr "Time must be specified" + +#: airtime_mvc/application/forms/AddShowRebroadcastDates.php:95 +#: airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php:86 +msgid "Must wait at least 1 hour to rebroadcast" +msgstr "Must wait at least 1 hour to rebroadcast" + +#: airtime_mvc/application/forms/AddShowRR.php:10 +msgid "Record from Line In?" +msgstr "Record from Line In?" + +#: airtime_mvc/application/forms/AddShowRR.php:16 +msgid "Rebroadcast?" +msgstr "Rebroadcast?" + +#: airtime_mvc/application/forms/AddShowStyle.php:10 +msgid "Background Colour:" +msgstr "Background Colour:" + +#: airtime_mvc/application/forms/AddShowStyle.php:29 +msgid "Text Colour:" +msgstr "Text Colour:" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:19 +msgid "Auto Switch Off" +msgstr "Auto Switch Off" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:26 +msgid "Auto Switch On" +msgstr "Auto Switch On" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:33 +msgid "Switch Transition Fade (s)" +msgstr "Switch Transition Fade (s)" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:36 +msgid "enter a time in seconds 00{.000000}" +msgstr "enter a time in seconds 00{.000000}" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:45 +msgid "Master Username" +msgstr "Master Username" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:62 +msgid "Master Password" +msgstr "Master Password" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:70 +msgid "Master Source Connection URL" +msgstr "Master Source Connection URL" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:78 +msgid "Show Source Connection URL" +msgstr "Show Source Connection URL" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:87 +msgid "Master Source Port" +msgstr "Master Source Port" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:90 +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:109 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:112 +msgid "Only numbers are allowed." +msgstr "Only numbers are allowed." + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:96 +msgid "Master Source Mount Point" +msgstr "Master Source Mount Point" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:106 +msgid "Show Source Port" +msgstr "Show Source Port" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:115 +msgid "Show Source Mount Point" +msgstr "Show Source Mount Point" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:153 +msgid "You cannot use same port as Master DJ port." +msgstr "You cannot use same port as Master DJ port." + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:164 +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:182 +#, php-format +msgid "Port %s is not available" +msgstr "Port %s is not available" + +#: airtime_mvc/application/forms/WatchedDirPreferences.php:14 +msgid "Import Folder:" +msgstr "Import Folder:" + +#: airtime_mvc/application/forms/WatchedDirPreferences.php:25 +msgid "Watched Folders:" +msgstr "Watched Folders:" + +#: airtime_mvc/application/forms/WatchedDirPreferences.php:40 +msgid "Not a valid Directory" +msgstr "Not a valid Directory" + +#: airtime_mvc/application/forms/AddUser.php:23 +#: airtime_mvc/application/forms/Login.php:19 +msgid "Username:" +msgstr "Username:" + +#: airtime_mvc/application/forms/AddUser.php:32 +#: airtime_mvc/application/forms/Login.php:34 +msgid "Password:" +msgstr "Password:" + +#: airtime_mvc/application/forms/AddUser.php:40 +msgid "Firstname:" +msgstr "Firstname:" + +#: airtime_mvc/application/forms/AddUser.php:47 +msgid "Lastname:" +msgstr "Lastname:" + +#: airtime_mvc/application/forms/AddUser.php:63 +msgid "Mobile Phone:" +msgstr "Mobile Phone:" + +#: airtime_mvc/application/forms/AddUser.php:69 +msgid "Skype:" +msgstr "Skype:" + +#: airtime_mvc/application/forms/AddUser.php:75 +msgid "Jabber:" +msgstr "Jabber:" + +#: airtime_mvc/application/forms/AddUser.php:82 +msgid "User Type:" +msgstr "User Type:" + +#: airtime_mvc/application/forms/AddUser.php:86 +#: airtime_mvc/application/controllers/LocaleController.php:309 +msgid "Guest" +msgstr "Guest" + +#: airtime_mvc/application/forms/AddUser.php:87 +#: airtime_mvc/application/controllers/LocaleController.php:307 +msgid "DJ" +msgstr "DJ" + +#: airtime_mvc/application/forms/AddUser.php:88 +#: airtime_mvc/application/controllers/LocaleController.php:308 +msgid "Program Manager" +msgstr "Program Manager" + +#: airtime_mvc/application/forms/AddUser.php:89 +#: airtime_mvc/application/controllers/LocaleController.php:306 +msgid "Admin" +msgstr "Admin" + +#: airtime_mvc/application/forms/AddUser.php:97 +#: airtime_mvc/application/forms/SupportSettings.php:158 +#: airtime_mvc/application/forms/EditAudioMD.php:128 +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:23 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:20 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:15 +#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:6 +#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:81 +#: airtime_mvc/application/views/scripts/preference/index.phtml:6 +#: airtime_mvc/application/views/scripts/preference/index.phtml:14 +msgid "Save" +msgstr "Save" + +#: airtime_mvc/application/forms/AddUser.php:107 +msgid "Login name is not unique." +msgstr "Login name is not unique." + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:48 +msgid "Enabled:" +msgstr "Enabled:" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:57 +msgid "Stream Type:" +msgstr "Stream Type:" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:67 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:9 +msgid "Bit Rate:" +msgstr "Bit Rate:" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:77 +msgid "Service Type:" +msgstr "Service Type:" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:87 +msgid "Channels:" +msgstr "Channels:" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:88 +msgid "1 - Mono" +msgstr "1 - Mono" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:88 +msgid "2 - Stereo" +msgstr "2 - Stereo" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:97 +msgid "Server" +msgstr "Server" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:141 +msgid "URL" +msgstr "URL" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:153 +msgid "Name" +msgstr "Name" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:162 +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:51 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:53 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:40 +msgid "Description" +msgstr "Description" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:171 +msgid "Mount Point" +msgstr "Mount Point" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:183 +#: airtime_mvc/application/forms/PasswordRestore.php:25 +#: airtime_mvc/application/views/scripts/user/add-user.phtml:18 +msgid "Username" +msgstr "Username" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:194 +#: airtime_mvc/application/controllers/LocaleController.php:168 +msgid "Getting information from the server..." +msgstr "Getting information from the server..." + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:208 +msgid "Server cannot be empty." +msgstr "Server cannot be empty." + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:213 +msgid "Port cannot be empty." +msgstr "Port cannot be empty." + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:219 +msgid "Mount cannot be empty with Icecast server." +msgstr "Mount cannot be empty with Icecast server." + +#: airtime_mvc/application/forms/AddShowRepeats.php:11 +msgid "Repeat Type:" +msgstr "Repeat Type:" + +#: airtime_mvc/application/forms/AddShowRepeats.php:14 +msgid "weekly" +msgstr "weekly" + +#: airtime_mvc/application/forms/AddShowRepeats.php:15 +msgid "bi-weekly" +msgstr "bi-weekly" + +#: airtime_mvc/application/forms/AddShowRepeats.php:16 +msgid "monthly" +msgstr "monthly" + +#: airtime_mvc/application/forms/AddShowRepeats.php:25 +msgid "Select Days:" +msgstr "Select Days:" + +#: airtime_mvc/application/forms/AddShowRepeats.php:28 +#: airtime_mvc/application/controllers/LocaleController.php:246 +msgid "Sun" +msgstr "Sun" + +#: airtime_mvc/application/forms/AddShowRepeats.php:29 +#: airtime_mvc/application/controllers/LocaleController.php:247 +msgid "Mon" +msgstr "Mon" + +#: airtime_mvc/application/forms/AddShowRepeats.php:30 +#: airtime_mvc/application/controllers/LocaleController.php:248 +msgid "Tue" +msgstr "Tue" + +#: airtime_mvc/application/forms/AddShowRepeats.php:31 +#: airtime_mvc/application/controllers/LocaleController.php:249 +msgid "Wed" +msgstr "Wed" + +#: airtime_mvc/application/forms/AddShowRepeats.php:32 +#: airtime_mvc/application/controllers/LocaleController.php:250 +msgid "Thu" +msgstr "Thu" + +#: airtime_mvc/application/forms/AddShowRepeats.php:33 +#: airtime_mvc/application/controllers/LocaleController.php:251 +msgid "Fri" +msgstr "Fri" + +#: airtime_mvc/application/forms/AddShowRepeats.php:34 +#: airtime_mvc/application/controllers/LocaleController.php:252 +msgid "Sat" +msgstr "Sat" + +#: airtime_mvc/application/forms/AddShowRepeats.php:53 +msgid "No End?" +msgstr "No End?" + +#: airtime_mvc/application/forms/AddShowRepeats.php:79 +msgid "End date must be after start date" +msgstr "End date must be after start date" + +#: airtime_mvc/application/forms/AddShowWhat.php:26 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:27 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:127 +msgid "Name:" +msgstr "Name:" + +#: airtime_mvc/application/forms/AddShowWhat.php:30 +msgid "Untitled Show" +msgstr "Untitled Show" + +#: airtime_mvc/application/forms/AddShowWhat.php:36 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:131 +msgid "URL:" +msgstr "URL:" + +#: airtime_mvc/application/forms/AddShowWhat.php:45 +#: airtime_mvc/application/forms/EditAudioMD.php:41 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:11 +msgid "Genre:" +msgstr "Genre:" + +#: airtime_mvc/application/forms/AddShowWhat.php:54 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:34 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:130 +msgid "Description:" +msgstr "Description:" + +#: airtime_mvc/application/forms/AddShowWho.php:10 +msgid "Search Users:" +msgstr "Search Users:" + +#: airtime_mvc/application/forms/AddShowWho.php:24 +msgid "DJs:" +msgstr "DJs:" + +#: airtime_mvc/application/forms/StreamSetting.php:22 +msgid "Hardware Audio Output" +msgstr "Hardware Audio Output" + +#: airtime_mvc/application/forms/StreamSetting.php:33 +msgid "Output Type" +msgstr "Output Type" + +#: airtime_mvc/application/forms/StreamSetting.php:44 +msgid "Icecast Vorbis Metadata" +msgstr "Icecast Vorbis Metadata" + +#: airtime_mvc/application/forms/StreamSetting.php:54 +msgid "Stream Label:" +msgstr "Stream Label:" + +#: airtime_mvc/application/forms/StreamSetting.php:55 +msgid "Artist - Title" +msgstr "Artist - Title" + +#: airtime_mvc/application/forms/StreamSetting.php:56 +msgid "Show - Artist - Title" +msgstr "Show - Artist - Title" + +#: airtime_mvc/application/forms/StreamSetting.php:57 +msgid "Station name - Show name" +msgstr "Station name - Show name" + +#: airtime_mvc/application/forms/PasswordRestore.php:14 +msgid "E-mail" +msgstr "E-mail" + +#: airtime_mvc/application/forms/PasswordRestore.php:36 +msgid "Restore password" +msgstr "Restore password" + +#: airtime_mvc/application/forms/PasswordRestore.php:46 +#: airtime_mvc/application/forms/EditAudioMD.php:138 +#: airtime_mvc/application/controllers/LocaleController.php:303 +msgid "Cancel" +msgstr "Cancel" + +#: airtime_mvc/application/forms/AddShowWhen.php:16 +msgid "'%value%' does not fit the time format 'HH:mm'" +msgstr "'%value%' does not fit the time format 'HH:mm'" + +#: airtime_mvc/application/forms/AddShowWhen.php:22 +msgid "Date/Time Start:" +msgstr "Date/Time Start:" + +#: airtime_mvc/application/forms/AddShowWhen.php:49 +msgid "Date/Time End:" +msgstr "Date/Time End:" + +#: airtime_mvc/application/forms/AddShowWhen.php:74 +msgid "Duration:" +msgstr "Duration:" + +#: airtime_mvc/application/forms/AddShowWhen.php:83 +msgid "Repeats?" +msgstr "Repeats?" + +#: airtime_mvc/application/forms/AddShowWhen.php:103 +msgid "Cannot create show in the past" +msgstr "Cannot create show in the past" + +#: airtime_mvc/application/forms/AddShowWhen.php:111 +msgid "Cannot modify start date/time of the show that is already started" +msgstr "Cannot modify start date/time of the show that is already started" + +#: airtime_mvc/application/forms/AddShowWhen.php:130 +msgid "Cannot have duration 00h 00m" +msgstr "Cannot have duration 00h 00m" + +#: airtime_mvc/application/forms/AddShowWhen.php:134 +msgid "Cannot have duration greater than 24h" +msgstr "Cannot have duration greater than 24h" + +#: airtime_mvc/application/forms/AddShowWhen.php:138 +msgid "Cannot have duration < 0m" +msgstr "Cannot have duration < 0m" + +#: airtime_mvc/application/forms/EditAudioMD.php:13 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:3 +msgid "Title:" +msgstr "Title:" + +#: airtime_mvc/application/forms/EditAudioMD.php:20 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:4 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:28 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:129 +msgid "Creator:" +msgstr "Creator:" + +#: airtime_mvc/application/forms/EditAudioMD.php:27 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:5 +msgid "Album:" +msgstr "Album:" + +#: airtime_mvc/application/forms/EditAudioMD.php:34 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:6 +msgid "Track:" +msgstr "Track:" + +#: airtime_mvc/application/forms/EditAudioMD.php:48 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:12 +msgid "Year:" +msgstr "Year:" + +#: airtime_mvc/application/forms/EditAudioMD.php:60 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:13 +msgid "Label:" +msgstr "Label:" + +#: airtime_mvc/application/forms/EditAudioMD.php:67 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:15 +msgid "Composer:" +msgstr "Composer:" + +#: airtime_mvc/application/forms/EditAudioMD.php:74 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:16 +msgid "Conductor:" +msgstr "Conductor:" + +#: airtime_mvc/application/forms/EditAudioMD.php:81 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:10 +msgid "Mood:" +msgstr "Mood:" + +#: airtime_mvc/application/forms/EditAudioMD.php:89 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:14 +msgid "BPM:" +msgstr "BPM:" + +#: airtime_mvc/application/forms/EditAudioMD.php:98 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:17 +msgid "Copyright:" +msgstr "Copyright:" + +#: airtime_mvc/application/forms/EditAudioMD.php:105 +msgid "ISRC Number:" +msgstr "ISRC Number:" + +#: airtime_mvc/application/forms/EditAudioMD.php:112 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:19 +msgid "Website:" +msgstr "Website:" + +#: airtime_mvc/application/forms/EditAudioMD.php:119 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:20 +msgid "Language:" +msgstr "Language:" + +#: airtime_mvc/application/forms/Login.php:59 +#: airtime_mvc/application/views/scripts/login/index.phtml:3 +msgid "Login" +msgstr "Login" + +#: airtime_mvc/application/forms/Login.php:77 +msgid "Type the characters you see in the picture below." +msgstr "Type the characters you see in the picture below." + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:78 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:94 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:214 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:329 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:367 +#: airtime_mvc/application/controllers/LocaleController.php:139 +msgid "Select modifier" +msgstr "Select modifier" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:79 +#: airtime_mvc/application/controllers/LocaleController.php:140 +msgid "contains" +msgstr "contains" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:80 +#: airtime_mvc/application/controllers/LocaleController.php:141 +msgid "does not contain" +msgstr "does not contain" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:81 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:95 +#: airtime_mvc/application/controllers/LocaleController.php:142 +msgid "is" +msgstr "is" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:82 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:96 +#: airtime_mvc/application/controllers/LocaleController.php:143 +msgid "is not" +msgstr "is not" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:83 +#: airtime_mvc/application/controllers/LocaleController.php:144 +msgid "starts with" +msgstr "starts with" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:84 +#: airtime_mvc/application/controllers/LocaleController.php:145 +msgid "ends with" +msgstr "ends with" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:97 +#: airtime_mvc/application/controllers/LocaleController.php:146 +msgid "is greater than" +msgstr "is greater than" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:98 +#: airtime_mvc/application/controllers/LocaleController.php:147 +msgid "is less than" +msgstr "is less than" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:99 +#: airtime_mvc/application/controllers/LocaleController.php:148 +msgid "is in the range" +msgstr "is in the range" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:109 +msgid "hours" +msgstr "hours" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:110 +msgid "minutes" +msgstr "minutes" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:111 +msgid "items" +msgstr "items" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:133 +msgid "Set smart block type:" +msgstr "Set smart block type:" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:136 +#: airtime_mvc/application/controllers/LibraryController.php:459 +msgid "Static" +msgstr "Static" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:137 +#: airtime_mvc/application/controllers/LibraryController.php:462 +msgid "Dynamic" +msgstr "Dynamic" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:248 +msgid "Allow Repeat Tracks:" +msgstr "Allow Repeat Tracks:" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:265 +msgid "Limit to" +msgstr "Limit to" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:287 +msgid "Generate playlist content and save criteria" +msgstr "Generate playlist content and save criteria" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:289 +msgid "Generate" +msgstr "Generate" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:295 +msgid "Shuffle playlist content" +msgstr "Shuffle playlist content" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:297 +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:20 +msgid "Shuffle" +msgstr "Shuffle" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:461 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:473 +msgid "Limit cannot be empty or smaller than 0" +msgstr "Limit cannot be empty or smaller than 0" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:466 +msgid "Limit cannot be more than 24 hrs" +msgstr "Limit cannot be more than 24 hrs" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:476 +msgid "The value should be an integer" +msgstr "The value should be an integer" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:479 +msgid "500 is the max item limit value you can set" +msgstr "500 is the max item limit value you can set" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:490 +msgid "You must select Criteria and Modifier" +msgstr "You must select Criteria and Modifier" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:497 +msgid "'Length' should be in '00:00:00' format" +msgstr "'Length' should be in '00:00:00' format" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:502 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:515 +msgid "The value should be in timestamp format(eg. 0000-00-00 or 00-00-00 00:00:00)" +msgstr "The value should be in timestamp format(eg. 0000-00-00 or 00-00-00 00:00:00)" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:529 +msgid "The value has to be numeric" +msgstr "The value has to be numeric" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:534 +msgid "The value should be less then 2147483648" +msgstr "The value should be less then 2147483648" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:539 +#, php-format +msgid "The value should be less than %s characters" +msgstr "The value should be less than %s characters" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:546 +msgid "Value cannot be empty" +msgstr "Value cannot be empty" + +#: airtime_mvc/application/forms/ShowBuilder.php:72 +msgid "Show:" +msgstr "Show:" + +#: airtime_mvc/application/forms/ShowBuilder.php:80 +msgid "All My Shows:" +msgstr "All My Shows:" + +#: airtime_mvc/application/forms/AddShowLiveStream.php:10 +msgid "Use Airtime Authentication:" +msgstr "Use Airtime Authentication:" + +#: airtime_mvc/application/forms/AddShowLiveStream.php:16 +msgid "Use Custom Authentication:" +msgstr "Use Custom Authentication:" + +#: airtime_mvc/application/forms/AddShowLiveStream.php:26 +msgid "Custom Username" +msgstr "Custom Username" + +#: airtime_mvc/application/forms/AddShowLiveStream.php:39 +msgid "Custom Password" +msgstr "Custom Password" + +#: airtime_mvc/application/forms/AddShowLiveStream.php:63 +msgid "Username field cannot be empty." +msgstr "Username field cannot be empty." + +#: airtime_mvc/application/forms/AddShowLiveStream.php:68 +msgid "Password field cannot be empty." +msgstr "Password field cannot be empty." + +#: airtime_mvc/application/forms/GeneralPreferences.php:34 +msgid "Default Fade (s):" +msgstr "Default Fade (s):" + +#: airtime_mvc/application/forms/GeneralPreferences.php:39 +msgid "enter a time in seconds 0{.0}" +msgstr "enter a time in seconds 0{.0}" + +#: airtime_mvc/application/forms/GeneralPreferences.php:48 +#, php-format +msgid "Allow Remote Websites To Access \"Schedule\" Info?%s (Enable this to make front-end widgets work.)" +msgstr "Allow Remote Websites To Access \"Schedule\" Info?%s (Enable this to make front-end widgets work.)" + +#: airtime_mvc/application/forms/GeneralPreferences.php:49 +msgid "Disabled" +msgstr "Disabled" + +#: airtime_mvc/application/forms/GeneralPreferences.php:50 +msgid "Enabled" +msgstr "Enabled" + +#: airtime_mvc/application/forms/GeneralPreferences.php:64 +msgid "Timezone" +msgstr "Timezone" + +#: airtime_mvc/application/forms/GeneralPreferences.php:72 +msgid "Week Starts On" +msgstr "Week Starts On" + +#: airtime_mvc/application/forms/GeneralPreferences.php:109 +#: airtime_mvc/application/controllers/LocaleController.php:239 +msgid "Sunday" +msgstr "Sunday" + +#: airtime_mvc/application/forms/GeneralPreferences.php:110 +#: airtime_mvc/application/controllers/LocaleController.php:240 +msgid "Monday" +msgstr "Monday" + +#: airtime_mvc/application/forms/GeneralPreferences.php:111 +#: airtime_mvc/application/controllers/LocaleController.php:241 +msgid "Tuesday" +msgstr "Tuesday" + +#: airtime_mvc/application/forms/GeneralPreferences.php:112 +#: airtime_mvc/application/controllers/LocaleController.php:242 +msgid "Wednesday" +msgstr "Wednesday" + +#: airtime_mvc/application/forms/GeneralPreferences.php:113 +#: airtime_mvc/application/controllers/LocaleController.php:243 +msgid "Thursday" +msgstr "Thursday" + +#: airtime_mvc/application/forms/GeneralPreferences.php:114 +#: airtime_mvc/application/controllers/LocaleController.php:244 +msgid "Friday" +msgstr "Friday" + +#: airtime_mvc/application/forms/GeneralPreferences.php:115 +#: airtime_mvc/application/controllers/LocaleController.php:245 +msgid "Saturday" +msgstr "Saturday" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:16 +msgid "Automatically Upload Recorded Shows" +msgstr "Automatically Upload Recorded Shows" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:26 +msgid "Enable SoundCloud Upload" +msgstr "Enable SoundCloud Upload" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:36 +msgid "Automatically Mark Files \"Downloadable\" on SoundCloud" +msgstr "Automatically Mark Files \"Downloadable\" on SoundCloud" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:47 +msgid "SoundCloud Email" +msgstr "SoundCloud Email" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:67 +msgid "SoundCloud Password" +msgstr "SoundCloud Password" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:87 +msgid "SoundCloud Tags: (separate tags with spaces)" +msgstr "SoundCloud Tags: (separate tags with spaces)" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:99 +msgid "Default Genre:" +msgstr "Default Genre:" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:109 +msgid "Default Track Type:" +msgstr "Default Track Type:" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:113 +msgid "Original" +msgstr "Original" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:114 +msgid "Remix" +msgstr "Remix" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:115 +msgid "Live" +msgstr "Live" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:116 +msgid "Recording" +msgstr "Recording" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:117 +msgid "Spoken" +msgstr "Spoken" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:118 +msgid "Podcast" +msgstr "Podcast" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:119 +msgid "Demo" +msgstr "Demo" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:120 +msgid "Work in progress" +msgstr "Work in progress" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:121 +msgid "Stem" +msgstr "Stem" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:122 +msgid "Loop" +msgstr "Loop" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:123 +msgid "Sound Effect" +msgstr "Sound Effect" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:124 +msgid "One Shot Sample" +msgstr "One Shot Sample" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:125 +msgid "Other" +msgstr "Other" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:133 +msgid "Default License:" +msgstr "Default License:" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:137 +msgid "The work is in the public domain" +msgstr "The work is in the public domain" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:138 +msgid "All rights are reserved" +msgstr "All rights are reserved" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:139 +msgid "Creative Commons Attribution" +msgstr "Creative Commons Attribution" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:140 +msgid "Creative Commons Attribution Noncommercial" +msgstr "Creative Commons Attribution Noncommercial" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:141 +msgid "Creative Commons Attribution No Derivative Works" +msgstr "Creative Commons Attribution No Derivative Works" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:142 +msgid "Creative Commons Attribution Share Alike" +msgstr "Creative Commons Attribution Share Alike" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:143 +msgid "Creative Commons Attribution Noncommercial Non Derivate Works" +msgstr "Creative Commons Attribution Noncommercial Non Derivate Works" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:144 +msgid "Creative Commons Attribution Noncommercial Share Alike" +msgstr "Creative Commons Attribution Noncommercial Share Alike" + +#: airtime_mvc/application/controllers/DashboardController.php:36 +#: airtime_mvc/application/controllers/DashboardController.php:85 +msgid "You don't have permission to disconnect source." +msgstr "You don't have permission to disconnect source." + +#: airtime_mvc/application/controllers/DashboardController.php:38 +#: airtime_mvc/application/controllers/DashboardController.php:87 +msgid "There is no source connected to this input." +msgstr "There is no source connected to this input." + +#: airtime_mvc/application/controllers/DashboardController.php:82 +msgid "You don't have permission to switch source." +msgstr "You don't have permission to switch source." + +#: airtime_mvc/application/controllers/LoginController.php:34 +msgid "Please enter your user name and password" +msgstr "Please enter your user name and password" + +#: airtime_mvc/application/controllers/LoginController.php:73 +msgid "Wrong username or password provided. Please try again." +msgstr "Wrong username or password provided. Please try again." + +#: airtime_mvc/application/controllers/LoginController.php:135 +msgid "Email could not be sent. Check your mail server settings and ensure it has been configured properly." +msgstr "Email could not be sent. Check your mail server settings and ensure it has been configured properly." + +#: airtime_mvc/application/controllers/LoginController.php:138 +msgid "Given email not found." +msgstr "Given email not found." + +#: airtime_mvc/application/controllers/PreferenceController.php:70 +msgid "Preferences updated." +msgstr "Preferences updated." + +#: airtime_mvc/application/controllers/PreferenceController.php:122 +msgid "Support setting updated." +msgstr "Support setting updated." + +#: airtime_mvc/application/controllers/PreferenceController.php:305 +msgid "Stream Setting Updated." +msgstr "Stream Setting Updated." + +#: airtime_mvc/application/controllers/PreferenceController.php:332 +msgid "path should be specified" +msgstr "path should be specified" + +#: airtime_mvc/application/controllers/PreferenceController.php:427 +msgid "Problem with Liquidsoap..." +msgstr "Problem with Liquidsoap..." + +#: airtime_mvc/application/controllers/ErrorController.php:17 +msgid "Page not found" +msgstr "Page not found" + +#: airtime_mvc/application/controllers/ErrorController.php:22 +msgid "Application error" +msgstr "Application error" + +#: airtime_mvc/application/controllers/UserController.php:54 +msgid "Specific action is not allowed in demo version!" +msgstr "Specific action is not allowed in demo version!" + +#: airtime_mvc/application/controllers/UserController.php:78 +msgid "User added successfully!" +msgstr "User added successfully!" + +#: airtime_mvc/application/controllers/UserController.php:80 +msgid "User updated successfully!" +msgstr "User updated successfully!" + +#: airtime_mvc/application/controllers/LocaleController.php:36 +msgid "Recording:" +msgstr "Recording:" + +#: airtime_mvc/application/controllers/LocaleController.php:37 +msgid "Master Stream" +msgstr "Master Stream" + +#: airtime_mvc/application/controllers/LocaleController.php:38 +msgid "Live Stream" +msgstr "Live Stream" + +#: airtime_mvc/application/controllers/LocaleController.php:39 +msgid "Nothing Scheduled" +msgstr "Nothing Scheduled" + +#: airtime_mvc/application/controllers/LocaleController.php:40 +msgid "Current Show:" +msgstr "Current Show:" + +#: airtime_mvc/application/controllers/LocaleController.php:41 +msgid "Current" +msgstr "Current" + +#: airtime_mvc/application/controllers/LocaleController.php:43 +msgid "You are running the latest version" +msgstr "You are running the latest version" + +#: airtime_mvc/application/controllers/LocaleController.php:44 +msgid "New version available: " +msgstr "New version available: " + +#: airtime_mvc/application/controllers/LocaleController.php:45 +msgid "This version will soon be obsolete." +msgstr "This version will soon be obsolete." + +#: airtime_mvc/application/controllers/LocaleController.php:46 +msgid "This version is no longer supported." +msgstr "This version is no longer supported." + +#: airtime_mvc/application/controllers/LocaleController.php:47 +msgid "Please upgrade to " +msgstr "Please upgrade to " + +#: airtime_mvc/application/controllers/LocaleController.php:49 +msgid "Add to current playlist" +msgstr "Add to current playlist" + +#: airtime_mvc/application/controllers/LocaleController.php:50 +msgid "Add to current smart block" +msgstr "Add to current smart block" + +#: airtime_mvc/application/controllers/LocaleController.php:51 +msgid "Adding 1 Item" +msgstr "Adding 1 Item" + +#: airtime_mvc/application/controllers/LocaleController.php:52 +#, php-format +msgid "Adding %s Items" +msgstr "Adding %s Items" + +#: airtime_mvc/application/controllers/LocaleController.php:53 +msgid "You can only add tracks to smart blocks." +msgstr "You can only add tracks to smart blocks." + +#: airtime_mvc/application/controllers/LocaleController.php:54 +#: airtime_mvc/application/controllers/PlaylistController.php:160 +msgid "You can only add tracks, smart blocks, and webstreams to playlists." +msgstr "You can only add tracks, smart blocks, and webstreams to playlists." + +#: airtime_mvc/application/controllers/LocaleController.php:60 +msgid "Add to selected show" +msgstr "Add to selected show" + +#: airtime_mvc/application/controllers/LocaleController.php:61 +msgid "Select" +msgstr "Select" + +#: airtime_mvc/application/controllers/LocaleController.php:62 +msgid "Select this page" +msgstr "Select this page" + +#: airtime_mvc/application/controllers/LocaleController.php:63 +msgid "Deselect this page" +msgstr "Deselect this page" + +#: airtime_mvc/application/controllers/LocaleController.php:64 +msgid "Deselect all" +msgstr "Deselect all" + +#: airtime_mvc/application/controllers/LocaleController.php:65 +msgid "Are you sure you want to delete the selected item(s)?" +msgstr "Are you sure you want to delete the selected item(s)?" + +#: airtime_mvc/application/controllers/LocaleController.php:69 +msgid "Bit Rate" +msgstr "Bit Rate" + +#: airtime_mvc/application/controllers/LocaleController.php:86 +msgid "Sample Rate" +msgstr "Sample Rate" + +#: airtime_mvc/application/controllers/LocaleController.php:91 +msgid "Loading..." +msgstr "Loading..." + +#: airtime_mvc/application/controllers/LocaleController.php:92 +#: airtime_mvc/application/controllers/LocaleController.php:156 +msgid "All" +msgstr "All" + +#: airtime_mvc/application/controllers/LocaleController.php:93 +msgid "Files" +msgstr "Files" + +#: airtime_mvc/application/controllers/LocaleController.php:94 +msgid "Playlists" +msgstr "Playlists" + +#: airtime_mvc/application/controllers/LocaleController.php:95 +msgid "Smart Blocks" +msgstr "Smart Blocks" + +#: airtime_mvc/application/controllers/LocaleController.php:96 +msgid "Web Streams" +msgstr "Web Streams" + +#: airtime_mvc/application/controllers/LocaleController.php:97 +msgid "Unknown type: " +msgstr "Unknown type: " + +#: airtime_mvc/application/controllers/LocaleController.php:98 +msgid "Are you sure you want to delete the selected item?" +msgstr "Are you sure you want to delete the selected item?" + +#: airtime_mvc/application/controllers/LocaleController.php:99 +#: airtime_mvc/application/controllers/LocaleController.php:200 +msgid "Uploading in progress..." +msgstr "Uploading in progress..." + +#: airtime_mvc/application/controllers/LocaleController.php:100 +msgid "Retrieving data from the server..." +msgstr "Retrieving data from the server..." + +#: airtime_mvc/application/controllers/LocaleController.php:101 +msgid "The soundcloud id for this file is: " +msgstr "The soundcloud id for this file is: " + +#: airtime_mvc/application/controllers/LocaleController.php:102 +msgid "There was an error while uploading to soundcloud." +msgstr "There was an error while uploading to soundcloud." + +#: airtime_mvc/application/controllers/LocaleController.php:103 +msgid "Error code: " +msgstr "Error code: " + +#: airtime_mvc/application/controllers/LocaleController.php:104 +msgid "Error msg: " +msgstr "Error msg: " + +#: airtime_mvc/application/controllers/LocaleController.php:105 +msgid "Input must be a positive number" +msgstr "Input must be a positive number" + +#: airtime_mvc/application/controllers/LocaleController.php:106 +msgid "Input must be a number" +msgstr "Input must be a number" + +#: airtime_mvc/application/controllers/LocaleController.php:107 +msgid "Input must be in the format: yyyy-mm-dd" +msgstr "Input must be in the format: yyyy-mm-dd" + +#: airtime_mvc/application/controllers/LocaleController.php:108 +msgid "Input must be in the format: hh:mm:ss.t" +msgstr "Input must be in the format: hh:mm:ss.t" + +#: airtime_mvc/application/controllers/LocaleController.php:111 +#, php-format +msgid "You are currently uploading files. %sGoing to another screen will cancel the upload process. %sAre you sure you want to leave the page?" +msgstr "You are currently uploading files. %sGoing to another screen will cancel the upload process. %sAre you sure you want to leave the page?" + +#: airtime_mvc/application/controllers/LocaleController.php:113 +msgid "please put in a time '00:00:00 (.0)'" +msgstr "please put in a time '00:00:00 (.0)'" + +#: airtime_mvc/application/controllers/LocaleController.php:114 +msgid "please put in a time in seconds '00 (.0)'" +msgstr "please put in a time in seconds '00 (.0)'" + +#: airtime_mvc/application/controllers/LocaleController.php:115 +msgid "Your browser does not support playing this file type: " +msgstr "Your browser does not support playing this file type: " + +#: airtime_mvc/application/controllers/LocaleController.php:116 +msgid "Dynamic block is not previewable" +msgstr "Dynamic block is not previewable" + +#: airtime_mvc/application/controllers/LocaleController.php:117 +msgid "Limit to: " +msgstr "Limit to: " + +#: airtime_mvc/application/controllers/LocaleController.php:118 +msgid "Playlist saved" +msgstr "Playlist saved" + +#: airtime_mvc/application/controllers/LocaleController.php:120 +msgid "Airtime is unsure about the status of this file. This can happen when the file is on a remote drive that is unaccessible or the file is in a directory that isn't 'watched' anymore." +msgstr "Airtime is unsure about the status of this file. This can happen when the file is on a remote drive that is unaccessible or the file is in a directory that isn't 'watched' anymore." + +#: airtime_mvc/application/controllers/LocaleController.php:122 +#, php-format +msgid "Listener Count on %s: %s" +msgstr "Listener Count on %s: %s" + +#: airtime_mvc/application/controllers/LocaleController.php:124 +msgid "Remind me in 1 week" +msgstr "Remind me in 1 week" + +#: airtime_mvc/application/controllers/LocaleController.php:125 +msgid "Remind me never" +msgstr "Remind me never" + +#: airtime_mvc/application/controllers/LocaleController.php:126 +msgid "Yes, help Airtime" +msgstr "Yes, help Airtime" + +#: airtime_mvc/application/controllers/LocaleController.php:127 +#: airtime_mvc/application/controllers/LocaleController.php:182 +msgid "Image must be one of jpg, jpeg, png, or gif" +msgstr "Image must be one of jpg, jpeg, png, or gif" + +#: airtime_mvc/application/controllers/LocaleController.php:130 +msgid "A static smart block will save the criteria and generate the block content immediately. This allows you to edit and view it in the Library before adding it to a show." +msgstr "A static smart block will save the criteria and generate the block content immediately. This allows you to edit and view it in the Library before adding it to a show." + +#: airtime_mvc/application/controllers/LocaleController.php:132 +msgid "A dynamic smart block will only save the criteria. The block content will get generated upon adding it to a show. You will not be able to view and edit the content in the Library." +msgstr "A dynamic smart block will only save the criteria. The block content will get generated upon adding it to a show. You will not be able to view and edit the content in the Library." + +#: airtime_mvc/application/controllers/LocaleController.php:134 +msgid "The desired block length will not be reached if Airtime cannot find enough unique tracks to match your criteria. Enable this option if you wish to allow tracks to be added multiple times to the smart block." +msgstr "The desired block length will not be reached if Airtime cannot find enough unique tracks to match your criteria. Enable this option if you wish to allow tracks to be added multiple times to the smart block." + +#: airtime_mvc/application/controllers/LocaleController.php:135 +msgid "Smart block shuffled" +msgstr "Smart block shuffled" + +#: airtime_mvc/application/controllers/LocaleController.php:136 +msgid "Smart block generated and criteria saved" +msgstr "Smart block generated and criteria saved" + +#: airtime_mvc/application/controllers/LocaleController.php:137 +msgid "Smart block saved" +msgstr "Smart block saved" + +#: airtime_mvc/application/controllers/LocaleController.php:138 +msgid "Processing..." +msgstr "Processing..." + +#: airtime_mvc/application/controllers/LocaleController.php:152 +msgid "Played" +msgstr "Played" + +#: airtime_mvc/application/controllers/LocaleController.php:158 +msgid "Choose Storage Folder" +msgstr "Choose Storage Folder" + +#: airtime_mvc/application/controllers/LocaleController.php:159 +msgid "Choose Folder to Watch" +msgstr "Choose Folder to Watch" + +#: airtime_mvc/application/controllers/LocaleController.php:161 +msgid "" +"Are you sure you want to change the storage folder?\n" +"This will remove the files from your Airtime library!" +msgstr "" +"Are you sure you want to change the storage folder?\n" +"This will remove the files from your Airtime library!" + +#: airtime_mvc/application/controllers/LocaleController.php:162 +#: airtime_mvc/application/views/scripts/preference/directory-config.phtml:2 +msgid "Manage Media Folders" +msgstr "Manage Media Folders" + +#: airtime_mvc/application/controllers/LocaleController.php:163 +msgid "Are you sure you want to remove the watched folder?" +msgstr "Are you sure you want to remove the watched folder?" + +#: airtime_mvc/application/controllers/LocaleController.php:164 +msgid "This path is currently not accessible." +msgstr "This path is currently not accessible." + +#: airtime_mvc/application/controllers/LocaleController.php:166 +msgid "Connected to the streaming server" +msgstr "Connected to the streaming server" + +#: airtime_mvc/application/controllers/LocaleController.php:167 +msgid "The stream is disabled" +msgstr "The stream is disabled" + +#: airtime_mvc/application/controllers/LocaleController.php:169 +msgid "Can not connect to the streaming server" +msgstr "Can not connect to the streaming server" + +#: airtime_mvc/application/controllers/LocaleController.php:171 +msgid "If Airtime is behind a router or firewall, you may need to configure port forwarding and this field information will be incorrect. In this case you will need to manually update this field so it shows the correct host/port/mount that your DJ's need to connect to. The allowed range is between 1024 and 49151." +msgstr "If Airtime is behind a router or firewall, you may need to configure port forwarding and this field information will be incorrect. In this case you will need to manually update this field so it shows the correct host/port/mount that your DJ's need to connect to. The allowed range is between 1024 and 49151." + +#: airtime_mvc/application/controllers/LocaleController.php:172 +#, php-format +msgid "For more details, please read the %sAirtime Manual%s" +msgstr "For more details, please read the %sAirtime Manual%s" + +#: airtime_mvc/application/controllers/LocaleController.php:174 +msgid "Check this option to enable metadata for OGG streams (stream metadata is the track title, artist, and show name that is displayed in an audio player). VLC and mplayer have a serious bug when playing an OGG/VORBIS stream that has metadata information enabled: they will disconnect from the stream after every song. If you are using an OGG stream and your listeners do not require support for these audio players, then feel free to enable this option." +msgstr "Check this option to enable metadata for OGG streams (stream metadata is the track title, artist, and show name that is displayed in an audio player). VLC and mplayer have a serious bug when playing an OGG/VORBIS stream that has metadata information enabled: they will disconnect from the stream after every song. If you are using an OGG stream and your listeners do not require support for these audio players, then feel free to enable this option." + +#: airtime_mvc/application/controllers/LocaleController.php:175 +msgid "Check this box to automatically switch off Master/Show source upon source disconnection." +msgstr "Check this box to automatically switch off Master/Show source upon source disconnection." + +#: airtime_mvc/application/controllers/LocaleController.php:176 +msgid "Check this box to automatically switch on Master/Show source upon source connection." +msgstr "Check this box to automatically switch on Master/Show source upon source connection." + +#: airtime_mvc/application/controllers/LocaleController.php:177 +msgid "If your Icecast server expects a username of 'source', this field can be left blank." +msgstr "If your Icecast server expects a username of 'source', this field can be left blank." + +#: airtime_mvc/application/controllers/LocaleController.php:178 +#: airtime_mvc/application/controllers/LocaleController.php:187 +msgid "If your live streaming client does not ask for a username, this field should be 'source'." +msgstr "If your live streaming client does not ask for a username, this field should be 'source'." + +#: airtime_mvc/application/controllers/LocaleController.php:180 +msgid "If you change the username or password values for an enabled stream the playout engine will be rebooted and your listeners will hear silence for 5-10 seconds. Changing the following fields will NOT cause a reboot: Stream Label (Global Settings), and Switch Transition Fade(s), Master Username, and Master Password (Input Stream Settings). If Airtime is recording, and if the change causes a playout engine restart, the recording will be interrupted." +msgstr "If you change the username or password values for an enabled stream the playout engine will be rebooted and your listeners will hear silence for 5-10 seconds. Changing the following fields will NOT cause a reboot: Stream Label (Global Settings), and Switch Transition Fade(s), Master Username, and Master Password (Input Stream Settings). If Airtime is recording, and if the change causes a playout engine restart, the recording will be interrupted." + +#: airtime_mvc/application/controllers/LocaleController.php:184 +msgid "No result found" +msgstr "No result found" + +#: airtime_mvc/application/controllers/LocaleController.php:185 +msgid "This follows the same security pattern for the shows: only users assigned to the show can connect." +msgstr "This follows the same security pattern for the shows: only users assigned to the show can connect." + +#: airtime_mvc/application/controllers/LocaleController.php:186 +msgid "Specify custom authentication which will work only for this show." +msgstr "Specify custom authentication which will work only for this show." + +#: airtime_mvc/application/controllers/LocaleController.php:188 +msgid "The show instance doesn't exist anymore!" +msgstr "The show instance doesn't exist anymore!" + +#: airtime_mvc/application/controllers/LocaleController.php:192 +msgid "Show" +msgstr "Show" + +#: airtime_mvc/application/controllers/LocaleController.php:193 +msgid "Show is empty" +msgstr "Show is empty" + +#: airtime_mvc/application/controllers/LocaleController.php:194 +msgid "1m" +msgstr "1m" + +#: airtime_mvc/application/controllers/LocaleController.php:195 +msgid "5m" +msgstr "5m" + +#: airtime_mvc/application/controllers/LocaleController.php:196 +msgid "10m" +msgstr "10m" + +#: airtime_mvc/application/controllers/LocaleController.php:197 +msgid "15m" +msgstr "15m" + +#: airtime_mvc/application/controllers/LocaleController.php:198 +msgid "30m" +msgstr "30m" + +#: airtime_mvc/application/controllers/LocaleController.php:199 +msgid "60m" +msgstr "60m" + +#: airtime_mvc/application/controllers/LocaleController.php:201 +msgid "Retreiving data from the server..." +msgstr "Retreiving data from the server..." + +#: airtime_mvc/application/controllers/LocaleController.php:207 +msgid "This show has no scheduled content." +msgstr "This show has no scheduled content." + +#: airtime_mvc/application/controllers/LocaleController.php:211 +msgid "January" +msgstr "January" + +#: airtime_mvc/application/controllers/LocaleController.php:212 +msgid "February" +msgstr "February" + +#: airtime_mvc/application/controllers/LocaleController.php:213 +msgid "March" +msgstr "March" + +#: airtime_mvc/application/controllers/LocaleController.php:214 +msgid "April" +msgstr "April" + +#: airtime_mvc/application/controllers/LocaleController.php:215 +#: airtime_mvc/application/controllers/LocaleController.php:227 +msgid "May" +msgstr "May" + +#: airtime_mvc/application/controllers/LocaleController.php:216 +msgid "June" +msgstr "June" + +#: airtime_mvc/application/controllers/LocaleController.php:217 +msgid "July" +msgstr "July" + +#: airtime_mvc/application/controllers/LocaleController.php:218 +msgid "August" +msgstr "August" + +#: airtime_mvc/application/controllers/LocaleController.php:219 +msgid "September" +msgstr "September" + +#: airtime_mvc/application/controllers/LocaleController.php:220 +msgid "October" +msgstr "October" + +#: airtime_mvc/application/controllers/LocaleController.php:221 +msgid "November" +msgstr "November" + +#: airtime_mvc/application/controllers/LocaleController.php:222 +msgid "December" +msgstr "December" + +#: airtime_mvc/application/controllers/LocaleController.php:223 +msgid "Jan" +msgstr "Jan" + +#: airtime_mvc/application/controllers/LocaleController.php:224 +msgid "Feb" +msgstr "Feb" + +#: airtime_mvc/application/controllers/LocaleController.php:225 +msgid "Mar" +msgstr "Mar" + +#: airtime_mvc/application/controllers/LocaleController.php:226 +msgid "Apr" +msgstr "Apr" + +#: airtime_mvc/application/controllers/LocaleController.php:228 +msgid "Jun" +msgstr "Jun" + +#: airtime_mvc/application/controllers/LocaleController.php:229 +msgid "Jul" +msgstr "Jul" + +#: airtime_mvc/application/controllers/LocaleController.php:230 +msgid "Aug" +msgstr "Aug" + +#: airtime_mvc/application/controllers/LocaleController.php:231 +msgid "Sep" +msgstr "Sep" + +#: airtime_mvc/application/controllers/LocaleController.php:232 +msgid "Oct" +msgstr "Oct" + +#: airtime_mvc/application/controllers/LocaleController.php:233 +msgid "Nov" +msgstr "Nov" + +#: airtime_mvc/application/controllers/LocaleController.php:234 +msgid "Dec" +msgstr "Dec" + +#: airtime_mvc/application/controllers/LocaleController.php:235 +msgid "today" +msgstr "today" + +#: airtime_mvc/application/controllers/LocaleController.php:236 +msgid "day" +msgstr "day" + +#: airtime_mvc/application/controllers/LocaleController.php:237 +msgid "week" +msgstr "week" + +#: airtime_mvc/application/controllers/LocaleController.php:238 +msgid "month" +msgstr "month" + +#: airtime_mvc/application/controllers/LocaleController.php:253 +msgid "Shows longer than their scheduled time will be cut off by a following show." +msgstr "Shows longer than their scheduled time will be cut off by a following show." + +#: airtime_mvc/application/controllers/LocaleController.php:254 +msgid "Cancel Current Show?" +msgstr "Cancel Current Show?" + +#: airtime_mvc/application/controllers/LocaleController.php:255 +#: airtime_mvc/application/controllers/LocaleController.php:294 +msgid "Stop recording current show?" +msgstr "Stop recording current show?" + +#: airtime_mvc/application/controllers/LocaleController.php:256 +msgid "Ok" +msgstr "Ok" + +#: airtime_mvc/application/controllers/LocaleController.php:257 +msgid "Contents of Show" +msgstr "Contents of Show" + +#: airtime_mvc/application/controllers/LocaleController.php:260 +msgid "Remove all content?" +msgstr "Remove all content?" + +#: airtime_mvc/application/controllers/LocaleController.php:262 +msgid "Delete selected item(s)?" +msgstr "Delete selected item(s)?" + +#: airtime_mvc/application/controllers/LocaleController.php:263 +#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:5 +msgid "Start" +msgstr "Start" + +#: airtime_mvc/application/controllers/LocaleController.php:264 +msgid "End" +msgstr "End" + +#: airtime_mvc/application/controllers/LocaleController.php:265 +msgid "Duration" +msgstr "Duration" + +#: airtime_mvc/application/controllers/LocaleController.php:271 +msgid "Cue In" +msgstr "Cue In" + +#: airtime_mvc/application/controllers/LocaleController.php:272 +msgid "Cue Out" +msgstr "Cue Out" + +#: airtime_mvc/application/controllers/LocaleController.php:273 +msgid "Fade In" +msgstr "Fade In" + +#: airtime_mvc/application/controllers/LocaleController.php:274 +msgid "Fade Out" +msgstr "Fade Out" + +#: airtime_mvc/application/controllers/LocaleController.php:275 +msgid "Show Empty" +msgstr "Show Empty" + +#: airtime_mvc/application/controllers/LocaleController.php:276 +msgid "Recording From Line In" +msgstr "Recording From Line In" + +#: airtime_mvc/application/controllers/LocaleController.php:281 +msgid "Cannot schedule outside a show." +msgstr "Cannot schedule outside a show." + +#: airtime_mvc/application/controllers/LocaleController.php:282 +msgid "Moving 1 Item" +msgstr "Moving 1 Item" + +#: airtime_mvc/application/controllers/LocaleController.php:283 +#, php-format +msgid "Moving %s Items" +msgstr "Moving %s Items" + +#: airtime_mvc/application/controllers/LocaleController.php:286 +msgid "Select all" +msgstr "Select all" + +#: airtime_mvc/application/controllers/LocaleController.php:287 +msgid "Select none" +msgstr "Select none" + +#: airtime_mvc/application/controllers/LocaleController.php:288 +msgid "Remove overbooked tracks" +msgstr "Remove overbooked tracks" + +#: airtime_mvc/application/controllers/LocaleController.php:289 +msgid "Remove selected scheduled items" +msgstr "Remove selected scheduled items" + +#: airtime_mvc/application/controllers/LocaleController.php:290 +msgid "Jump to the current playing track" +msgstr "Jump to the current playing track" + +#: airtime_mvc/application/controllers/LocaleController.php:291 +msgid "Cancel current show" +msgstr "Cancel current show" + +#: airtime_mvc/application/controllers/LocaleController.php:296 +msgid "Open library to add or remove content" +msgstr "Open library to add or remove content" + +#: airtime_mvc/application/controllers/LocaleController.php:297 +#: airtime_mvc/application/controllers/ScheduleController.php:262 +#: airtime_mvc/application/views/scripts/showbuilder/index.phtml:15 +msgid "Add / Remove Content" +msgstr "Add / Remove Content" + +#: airtime_mvc/application/controllers/LocaleController.php:299 +msgid "in use" +msgstr "in use" + +#: airtime_mvc/application/controllers/LocaleController.php:300 +msgid "Disk" +msgstr "Disk" + +#: airtime_mvc/application/controllers/LocaleController.php:302 +msgid "Look in" +msgstr "Look in" + +#: airtime_mvc/application/controllers/LocaleController.php:304 +msgid "Open" +msgstr "Open" + +#: airtime_mvc/application/controllers/LocaleController.php:311 +msgid "Show / hide columns" +msgstr "Show / hide columns" + +#: airtime_mvc/application/controllers/LocaleController.php:313 +msgid "From {from} to {to}" +msgstr "From {from} to {to}" + +#: airtime_mvc/application/controllers/LocaleController.php:314 +msgid "kbps" +msgstr "kbps" + +#: airtime_mvc/application/controllers/LocaleController.php:315 +msgid "yyyy-mm-dd" +msgstr "yyyy-mm-dd" + +#: airtime_mvc/application/controllers/LocaleController.php:316 +msgid "hh:mm:ss.t" +msgstr "hh:mm:ss.t" + +#: airtime_mvc/application/controllers/LocaleController.php:317 +msgid "kHz" +msgstr "kHz" + +#: airtime_mvc/application/controllers/LocaleController.php:320 +msgid "Su" +msgstr "Su" + +#: airtime_mvc/application/controllers/LocaleController.php:321 +msgid "Mo" +msgstr "Mo" + +#: airtime_mvc/application/controllers/LocaleController.php:322 +msgid "Tu" +msgstr "Tu" + +#: airtime_mvc/application/controllers/LocaleController.php:323 +msgid "We" +msgstr "We" + +#: airtime_mvc/application/controllers/LocaleController.php:324 +msgid "Th" +msgstr "Th" + +#: airtime_mvc/application/controllers/LocaleController.php:325 +msgid "Fr" +msgstr "Fr" + +#: airtime_mvc/application/controllers/LocaleController.php:326 +msgid "Sa" +msgstr "Sa" + +#: airtime_mvc/application/controllers/LocaleController.php:327 +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:3 +msgid "Close" +msgstr "Close" + +#: airtime_mvc/application/controllers/LocaleController.php:329 +msgid "Hour" +msgstr "Hour" + +#: airtime_mvc/application/controllers/LocaleController.php:330 +msgid "Minute" +msgstr "Minute" + +#: airtime_mvc/application/controllers/LocaleController.php:331 +msgid "Done" +msgstr "Done" + +#: airtime_mvc/application/controllers/ShowbuilderController.php:190 +#: airtime_mvc/application/controllers/LibraryController.php:159 +msgid "Preview" +msgstr "Preview" + +#: airtime_mvc/application/controllers/ShowbuilderController.php:192 +msgid "Select cursor" +msgstr "Select cursor" + +#: airtime_mvc/application/controllers/ShowbuilderController.php:193 +msgid "Remove cursor" +msgstr "Remove cursor" + +#: airtime_mvc/application/controllers/ShowbuilderController.php:198 +#: airtime_mvc/application/controllers/LibraryController.php:187 +#: airtime_mvc/application/controllers/LibraryController.php:215 +#: airtime_mvc/application/controllers/LibraryController.php:232 +#: airtime_mvc/application/controllers/ScheduleController.php:316 +#: airtime_mvc/application/controllers/ScheduleController.php:323 +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:26 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:23 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:18 +msgid "Delete" +msgstr "Delete" + +#: airtime_mvc/application/controllers/ShowbuilderController.php:212 +msgid "show does not exist" +msgstr "show does not exist" + +#: airtime_mvc/application/controllers/ApiController.php:56 +#: airtime_mvc/application/controllers/ApiController.php:83 +msgid "You are not allowed to access this resource." +msgstr "You are not allowed to access this resource." + +#: airtime_mvc/application/controllers/ApiController.php:285 +#: airtime_mvc/application/controllers/ApiController.php:324 +msgid "You are not allowed to access this resource. " +msgstr "You are not allowed to access this resource. " + +#: airtime_mvc/application/controllers/ApiController.php:505 +msgid "File does not exist in Airtime." +msgstr "File does not exist in Airtime." + +#: airtime_mvc/application/controllers/ApiController.php:518 +msgid "File does not exist in Airtime" +msgstr "File does not exist in Airtime" + +#: airtime_mvc/application/controllers/ApiController.php:530 +msgid "File doesn't exist in Airtime." +msgstr "File doesn't exist in Airtime." + +#: airtime_mvc/application/controllers/ApiController.php:576 +msgid "Bad request. no 'mode' parameter passed." +msgstr "Bad request. no 'mode' parameter passed." + +#: airtime_mvc/application/controllers/ApiController.php:586 +msgid "Bad request. 'mode' parameter is invalid" +msgstr "Bad request. 'mode' parameter is invalid" + +#: airtime_mvc/application/controllers/LibraryController.php:93 +#: airtime_mvc/application/controllers/PlaylistController.php:127 +#, php-format +msgid "%s not found" +msgstr "%s not found" + +#: airtime_mvc/application/controllers/LibraryController.php:102 +#: airtime_mvc/application/controllers/PlaylistController.php:148 +msgid "Something went wrong." +msgstr "Something went wrong." + +#: airtime_mvc/application/controllers/LibraryController.php:180 +#: airtime_mvc/application/controllers/LibraryController.php:203 +#: airtime_mvc/application/controllers/LibraryController.php:224 +msgid "Add to Playlist" +msgstr "Add to Playlist" + +#: airtime_mvc/application/controllers/LibraryController.php:182 +msgid "Add to Smart Block" +msgstr "Add to Smart Block" + +#: airtime_mvc/application/controllers/LibraryController.php:188 +#: airtime_mvc/application/views/scripts/library/edit-file-md.phtml:2 +msgid "Edit Metadata" +msgstr "Edit Metadata" + +#: airtime_mvc/application/controllers/LibraryController.php:192 +#: airtime_mvc/application/controllers/ScheduleController.php:900 +msgid "Download" +msgstr "Download" + +#: airtime_mvc/application/controllers/LibraryController.php:210 +#: airtime_mvc/application/controllers/LibraryController.php:230 +msgid "Edit" +msgstr "Edit" + +#: airtime_mvc/application/controllers/LibraryController.php:243 +msgid "Soundcloud" +msgstr "Soundcloud" + +#: airtime_mvc/application/controllers/LibraryController.php:249 +#: airtime_mvc/application/controllers/ScheduleController.php:285 +msgid "View on Soundcloud" +msgstr "View on Soundcloud" + +#: airtime_mvc/application/controllers/LibraryController.php:253 +#: airtime_mvc/application/controllers/ScheduleController.php:288 +msgid "Re-upload to SoundCloud" +msgstr "Re-upload to SoundCloud" + +#: airtime_mvc/application/controllers/LibraryController.php:255 +#: airtime_mvc/application/controllers/ScheduleController.php:288 +msgid "Upload to SoundCloud" +msgstr "Upload to SoundCloud" + +#: airtime_mvc/application/controllers/LibraryController.php:262 +msgid "No action available" +msgstr "No action available" + +#: airtime_mvc/application/controllers/LibraryController.php:282 +msgid "You don't have permission to delete selected items." +msgstr "You don't have permission to delete selected items." + +#: airtime_mvc/application/controllers/LibraryController.php:331 +msgid "Could not delete some scheduled files." +msgstr "Could not delete some scheduled files." + +#: airtime_mvc/application/controllers/PlaylistController.php:45 +#, php-format +msgid "You are viewing an older version of %s" +msgstr "You are viewing an older version of %s" + +#: airtime_mvc/application/controllers/PlaylistController.php:120 +msgid "You cannot add tracks to dynamic blocks." +msgstr "You cannot add tracks to dynamic blocks." + +#: airtime_mvc/application/controllers/PlaylistController.php:141 +#, php-format +msgid "You don't have permission to delete selected %s(s)." +msgstr "You don't have permission to delete selected %s(s)." + +#: airtime_mvc/application/controllers/PlaylistController.php:154 +msgid "You can only add tracks to smart block." +msgstr "You can only add tracks to smart block." + +#: airtime_mvc/application/controllers/PlaylistController.php:172 +msgid "Untitled Playlist" +msgstr "Untitled Playlist" + +#: airtime_mvc/application/controllers/PlaylistController.php:174 +msgid "Untitled Smart Block" +msgstr "Untitled Smart Block" + +#: airtime_mvc/application/controllers/PlaylistController.php:437 +msgid "Unknown Playlist" +msgstr "Unknown Playlist" + +#: airtime_mvc/application/controllers/ScheduleController.php:253 +msgid "View Recorded File Metadata" +msgstr "View Recorded File Metadata" + +#: airtime_mvc/application/controllers/ScheduleController.php:265 +msgid "Remove All Content" +msgstr "Remove All Content" + +#: airtime_mvc/application/controllers/ScheduleController.php:272 +msgid "Show Content" +msgstr "Show Content" + +#: airtime_mvc/application/controllers/ScheduleController.php:296 +#: airtime_mvc/application/controllers/ScheduleController.php:303 +msgid "Cancel Current Show" +msgstr "Cancel Current Show" + +#: airtime_mvc/application/controllers/ScheduleController.php:300 +#: airtime_mvc/application/controllers/ScheduleController.php:310 +msgid "Edit Show" +msgstr "Edit Show" + +#: airtime_mvc/application/controllers/ScheduleController.php:318 +msgid "Delete This Instance" +msgstr "Delete This Instance" + +#: airtime_mvc/application/controllers/ScheduleController.php:320 +msgid "Delete This Instance and All Following" +msgstr "Delete This Instance and All Following" + +#: airtime_mvc/application/controllers/ScheduleController.php:446 +#, php-format +msgid "Rebroadcast of show %s from %s at %s" +msgstr "Rebroadcast of show %s from %s at %s" + +#: airtime_mvc/application/controllers/WebstreamController.php:29 +#: airtime_mvc/application/controllers/WebstreamController.php:33 +msgid "Untitled Webstream" +msgstr "Untitled Webstream" + +#: airtime_mvc/application/controllers/WebstreamController.php:138 +msgid "Webstream saved." +msgstr "Webstream saved." + +#: airtime_mvc/application/controllers/WebstreamController.php:146 +msgid "Invalid form values." +msgstr "Invalid form values." + +#: airtime_mvc/application/views/scripts/listenerstat/index.phtml:2 +msgid "Listener Count Over Time" +msgstr "Listener Count Over Time" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:3 +msgid "Previous:" +msgstr "Previous:" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:10 +msgid "Next:" +msgstr "Next:" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:24 +msgid "Source Streams" +msgstr "Source Streams" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:29 +msgid "Master Source" +msgstr "Master Source" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:38 +msgid "Show Source" +msgstr "Show Source" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:45 +msgid "Scheduled Play" +msgstr "Scheduled Play" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:54 +msgid "ON AIR" +msgstr "ON AIR" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:55 +msgid "Listen" +msgstr "Listen" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:59 +msgid "Station time" +msgstr "Station time" + +#: airtime_mvc/application/views/scripts/partialviews/trialBox.phtml:3 +msgid "Your trial expires in" +msgstr "Your trial expires in" + +#: airtime_mvc/application/views/scripts/partialviews/trialBox.phtml:9 +msgid "Purchase your copy of Airtime" +msgstr "Purchase your copy of Airtime" + +#: airtime_mvc/application/views/scripts/partialviews/trialBox.phtml:9 +msgid "My Account" +msgstr "My Account" + +#: airtime_mvc/application/views/scripts/user/add-user.phtml:3 +msgid "Manage Users" +msgstr "Manage Users" + +#: airtime_mvc/application/views/scripts/user/add-user.phtml:10 +msgid "New User" +msgstr "New User" + +#: airtime_mvc/application/views/scripts/user/add-user.phtml:17 +msgid "id" +msgstr "id" + +#: airtime_mvc/application/views/scripts/user/add-user.phtml:19 +msgid "First Name" +msgstr "First Name" + +#: airtime_mvc/application/views/scripts/user/add-user.phtml:20 +msgid "Last Name" +msgstr "Last Name" + +#: airtime_mvc/application/views/scripts/user/add-user.phtml:21 +msgid "User Type" +msgstr "User Type" + +#: airtime_mvc/application/views/scripts/dashboard/about.phtml:5 +#, php-format +msgid "%sAirtime%s %s, , the open radio software for scheduling and remote station management. %s" +msgstr "%sAirtime%s %s, , the open radio software for scheduling and remote station management. %s" + +#: airtime_mvc/application/views/scripts/dashboard/about.phtml:13 +#, php-format +msgid "%sSourcefabric%s o.p.s. Airtime is distributed under the %sGNU GPL v.3%s" +msgstr "%sSourcefabric%s o.p.s. Airtime is distributed under the %sGNU GPL v.3%s" + +#: airtime_mvc/application/views/scripts/dashboard/stream-player.phtml:50 +msgid "Select stream:" +msgstr "Select stream:" + +#: airtime_mvc/application/views/scripts/dashboard/stream-player.phtml:76 +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:50 +msgid "mute" +msgstr "mute" + +#: airtime_mvc/application/views/scripts/dashboard/stream-player.phtml:77 +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:53 +msgid "unmute" +msgstr "unmute" + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:3 +msgid "Welcome to Airtime!" +msgstr "Welcome to Airtime!" + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:4 +msgid "Here's how you can get started using Airtime to automate your broadcasts: " +msgstr "Here's how you can get started using Airtime to automate your broadcasts: " + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:7 +msgid "Begin by adding your files to the library using the 'Add Media' menu button. You can drag and drop your files to this window too." +msgstr "Begin by adding your files to the library using the 'Add Media' menu button. You can drag and drop your files to this window too." + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:8 +msgid "Create a show by going to 'Calendar' in the menu bar, and then clicking the '+ Show' icon. This can be either a one-time or repeating show. Only admins and program managers can add shows." +msgstr "Create a show by going to 'Calendar' in the menu bar, and then clicking the '+ Show' icon. This can be either a one-time or repeating show. Only admins and program managers can add shows." + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:9 +msgid "Add media to the show by going to your show in the Schedule calendar, left-clicking on it and selecting 'Add / Remove Content'" +msgstr "Add media to the show by going to your show in the Schedule calendar, left-clicking on it and selecting 'Add / Remove Content'" + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:10 +msgid "Select your media from the left pane and drag them to your show in the right pane." +msgstr "Select your media from the left pane and drag them to your show in the right pane." + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:12 +msgid "Then you're good to go!" +msgstr "Then you're good to go!" + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:13 +#, php-format +msgid "For more detailed help, read the %suser manual%s." +msgstr "For more detailed help, read the %suser manual%s." + +#: airtime_mvc/application/views/scripts/playlist/update.phtml:40 +msgid "Expand Static Block" +msgstr "Expand Static Block" + +#: airtime_mvc/application/views/scripts/playlist/update.phtml:45 +msgid "Expand Dynamic Block" +msgstr "Expand Dynamic Block" + +#: airtime_mvc/application/views/scripts/playlist/update.phtml:98 +msgid "Empty smart block" +msgstr "Empty smart block" + +#: airtime_mvc/application/views/scripts/playlist/update.phtml:100 +msgid "Empty playlist" +msgstr "Empty playlist" + +#: airtime_mvc/application/views/scripts/playlist/set-fade.phtml:3 +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:66 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:71 +msgid "Fade out: " +msgstr "Fade out: " + +#: airtime_mvc/application/views/scripts/playlist/set-fade.phtml:3 +#: airtime_mvc/application/views/scripts/playlist/set-fade.phtml:10 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:68 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:71 +msgid "(ss.t)" +msgstr "(ss.t)" + +#: airtime_mvc/application/views/scripts/playlist/set-fade.phtml:10 +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:63 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:68 +msgid "Fade in: " +msgstr "Fade in: " + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:10 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:10 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:4 +msgid "New" +msgstr "New" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:13 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:13 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:7 +msgid "New Playlist" +msgstr "New Playlist" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:14 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:14 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:8 +msgid "New Smart Block" +msgstr "New Smart Block" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:15 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:15 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:9 +msgid "New Webstream" +msgstr "New Webstream" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:20 +msgid "Shuffle playlist" +msgstr "Shuffle playlist" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:23 +msgid "Save playlist" +msgstr "Save playlist" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:30 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:27 +msgid "Playlist crossfade" +msgstr "Playlist crossfade" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:49 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:51 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:38 +msgid "View / edit description" +msgstr "View / edit description" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:81 +msgid "No open playlist" +msgstr "No open playlist" + +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:86 +msgid "No open smart block" +msgstr "No open smart block" + +#: airtime_mvc/application/views/scripts/playlist/set-cue.phtml:2 +msgid "Cue In: " +msgstr "Cue In: " + +#: airtime_mvc/application/views/scripts/playlist/set-cue.phtml:2 +#: airtime_mvc/application/views/scripts/playlist/set-cue.phtml:7 +msgid "(hh:mm:ss.t)" +msgstr "(hh:mm:ss.t)" + +#: airtime_mvc/application/views/scripts/playlist/set-cue.phtml:7 +msgid "Cue Out: " +msgstr "Cue Out: " + +#: airtime_mvc/application/views/scripts/playlist/set-cue.phtml:12 +msgid "Original Length:" +msgstr "Original Length:" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:6 +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:40 +msgid "Add this show" +msgstr "Add this show" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:6 +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:40 +msgid "Update show" +msgstr "Update show" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:10 +msgid "What" +msgstr "What" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14 +msgid "When" +msgstr "When" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:19 +msgid "Live Stream Input" +msgstr "Live Stream Input" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:23 +msgid "Record & Rebroadcast" +msgstr "Record & Rebroadcast" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:29 +msgid "Who" +msgstr "Who" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:33 +msgid "Style" +msgstr "Style" + +#: airtime_mvc/application/views/scripts/login/password-restore-after.phtml:3 +msgid "Email sent" +msgstr "Email sent" + +#: airtime_mvc/application/views/scripts/login/password-restore-after.phtml:6 +msgid "An email has been sent" +msgstr "An email has been sent" + +#: airtime_mvc/application/views/scripts/login/password-restore-after.phtml:7 +msgid "Back to login screen" +msgstr "Back to login screen" + +#: airtime_mvc/application/views/scripts/login/index.phtml:7 +msgid "Welcome to the online Airtime demo! You can log in using the username 'admin' and the password 'admin'." +msgstr "Welcome to the online Airtime demo! You can log in using the username 'admin' and the password 'admin'." + +#: airtime_mvc/application/views/scripts/login/password-restore.phtml:3 +#: airtime_mvc/application/views/scripts/form/login.phtml:25 +msgid "Reset password" +msgstr "Reset password" + +#: airtime_mvc/application/views/scripts/login/password-restore.phtml:7 +msgid "Please enter your account e-mail address. You will receive a link to create a new password via e-mail." +msgstr "Please enter your account e-mail address. You will receive a link to create a new password via e-mail." + +#: airtime_mvc/application/views/scripts/login/password-change.phtml:3 +msgid "New password" +msgstr "New password" + +#: airtime_mvc/application/views/scripts/login/password-change.phtml:6 +msgid "Please enter and confirm your new password in the fields below." +msgstr "Please enter and confirm your new password in the fields below." + +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:4 +msgid "Service" +msgstr "Service" + +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:6 +msgid "Uptime" +msgstr "Uptime" + +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:7 +msgid "CPU" +msgstr "CPU" + +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:8 +msgid "Memory" +msgstr "Memory" + +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:14 +msgid "Airtime Version" +msgstr "Airtime Version" + +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:30 +msgid "Disk Space" +msgstr "Disk Space" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:22 +msgid "previous" +msgstr "previous" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:25 +msgid "play" +msgstr "play" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:28 +msgid "pause" +msgstr "pause" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:31 +msgid "next" +msgstr "next" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:34 +msgid "stop" +msgstr "stop" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:59 +msgid "max volume" +msgstr "max volume" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:69 +msgid "Update Required" +msgstr "Update Required" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:70 +#, php-format +msgid "To play the media you will need to either update your browser to a recent version or update your %sFlash plugin%s." +msgstr "To play the media you will need to either update your browser to a recent version or update your %sFlash plugin%s." + +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:51 +msgid "Stream URL:" +msgstr "Stream URL:" + +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:56 +msgid "Default Length:" +msgstr "Default Length:" + +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:63 +msgid "No webstream" +msgstr "No webstream" + +#: airtime_mvc/application/views/scripts/error/error.phtml:6 +msgid "Zend Framework Default Application" +msgstr "Zend Framework Default Application" + +#: airtime_mvc/application/views/scripts/error/error.phtml:10 +msgid "Page not found!" +msgstr "Page not found!" + +#: airtime_mvc/application/views/scripts/error/error.phtml:11 +msgid "Looks like the page you were looking for doesn't exist!" +msgstr "Looks like the page you were looking for doesn't exist!" + +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:4 +msgid "Stream " +msgstr "Stream " + +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:33 +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:47 +#: airtime_mvc/application/views/scripts/form/preferences_email_server.phtml:44 +#: airtime_mvc/application/views/scripts/form/preferences_email_server.phtml:74 +#: airtime_mvc/application/views/scripts/form/preferences_email_server.phtml:90 +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:47 +#: airtime_mvc/application/views/scripts/form/preferences_soundcloud.phtml:44 +#: airtime_mvc/application/views/scripts/form/preferences_soundcloud.phtml:59 +#: airtime_mvc/application/views/scripts/form/preferences_general.phtml:71 +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:46 +msgid "(Required)" +msgstr "(Required)" + +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:76 +msgid "Additional Options" +msgstr "Additional Options" + +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:108 +msgid "The following info will be displayed to listeners in their media player:" +msgstr "The following info will be displayed to listeners in their media player:" + +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:141 +msgid "(Your radio station website)" +msgstr "(Your radio station website)" + +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:179 +msgid "Stream URL: " +msgstr "Stream URL: " + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:9 +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:27 +msgid "Choose folder" +msgstr "Choose folder" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:10 +msgid "Set" +msgstr "Set" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:19 +msgid "Current Import Folder:" +msgstr "Current Import Folder:" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:28 +#: airtime_mvc/application/views/scripts/form/add-show-rebroadcast-absolute.phtml:40 +#: airtime_mvc/application/views/scripts/form/add-show-rebroadcast.phtml:41 +msgid "Add" +msgstr "Add" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:43 +msgid "Rescan watched directory (This is useful if it is network mount and may be out of sync with Airtime)" +msgstr "Rescan watched directory (This is useful if it is network mount and may be out of sync with Airtime)" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:44 +msgid "Remove watched directory" +msgstr "Remove watched directory" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:50 +msgid "You are not watching any media folders." +msgstr "You are not watching any media folders." + +#: airtime_mvc/application/views/scripts/form/add-show-rebroadcast-absolute.phtml:4 +msgid "Choose Days:" +msgstr "Choose Days:" + +#: airtime_mvc/application/views/scripts/form/add-show-rebroadcast-absolute.phtml:18 +#: airtime_mvc/application/views/scripts/form/add-show-rebroadcast.phtml:18 +msgid "Remove" +msgstr "Remove" + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:1 +msgid "Register Airtime" +msgstr "Register Airtime" + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:6 +#, php-format +msgid "Help Airtime improve by letting us know how you are using it. This info will be collected regularly in order to enhance your user experience.%sClick 'Yes, help Airtime' and we'll make sure the features you use are constantly improving." +msgstr "Help Airtime improve by letting us know how you are using it. This info will be collected regularly in order to enhance your user experience.%sClick 'Yes, help Airtime' and we'll make sure the features you use are constantly improving." + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:25 +#, php-format +msgid "Click the box below to advertise your station on %sSourcefabric.org%s. In order to promote your station, 'Send support feedback' must be enabled. This data will be collected in addition to the support feedback." +msgstr "Click the box below to advertise your station on %sSourcefabric.org%s. In order to promote your station, 'Send support feedback' must be enabled. This data will be collected in addition to the support feedback." + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:65 +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:79 +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:61 +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:76 +msgid "(for verification purposes only, will not be published)" +msgstr "(for verification purposes only, will not be published)" + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:150 +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:151 +msgid "Note: Anything larger than 600x600 will be resized." +msgstr "Note: Anything larger than 600x600 will be resized." + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:164 +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:164 +msgid "Show me what I am sending " +msgstr "Show me what I am sending " + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:178 +msgid "Terms and Conditions" +msgstr "Terms and Conditions" + +#: airtime_mvc/application/views/scripts/form/showbuilder.phtml:7 +msgid "Find Shows" +msgstr "Find Shows" + +#: airtime_mvc/application/views/scripts/form/showbuilder.phtml:12 +msgid "Filter By Show:" +msgstr "Filter By Show:" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:2 +msgid "Input Stream Settings" +msgstr "Input Stream Settings" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:109 +msgid "Master Source Connection URL:" +msgstr "Master Source Connection URL:" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:115 +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:159 +msgid "Override" +msgstr "Override" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:120 +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:164 +msgid "OK" +msgstr "OK" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:120 +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:164 +msgid "RESET" +msgstr "RESET" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:153 +msgid "Show Source Connection URL:" +msgstr "Show Source Connection URL:" + +#: airtime_mvc/application/views/scripts/form/add-show-rebroadcast.phtml:4 +msgid "Repeat Days:" +msgstr "Repeat Days:" + +#: airtime_mvc/application/views/scripts/form/daterange.phtml:6 +msgid "Filter History" +msgstr "Filter History" + +#: airtime_mvc/application/views/scripts/form/preferences.phtml:5 +msgid "Email / Mail Server Settings" +msgstr "Email / Mail Server Settings" + +#: airtime_mvc/application/views/scripts/form/preferences.phtml:10 +msgid "SoundCloud Settings" +msgstr "SoundCloud Settings" + +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:5 +#, php-format +msgid "Help Airtime improve by letting Sourcefabric know how you are using it. This information will be collected regularly in order to enhance your user experience.%sClick the 'Send support feedback' box and we'll make sure the features you use are constantly improving." +msgstr "Help Airtime improve by letting Sourcefabric know how you are using it. This information will be collected regularly in order to enhance your user experience.%sClick the 'Send support feedback' box and we'll make sure the features you use are constantly improving." + +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:23 +#, php-format +msgid "Click the box below to promote your station on %sSourcefabric.org%s." +msgstr "Click the box below to promote your station on %sSourcefabric.org%s." + +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:41 +msgid "(In order to promote your station, 'Send support feedback' must be enabled)." +msgstr "(In order to promote your station, 'Send support feedback' must be enabled)." + +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:186 +msgid "Sourcefabric Privacy Policy" +msgstr "Sourcefabric Privacy Policy" + +#: airtime_mvc/application/views/scripts/form/add-show-live-stream.phtml:53 +msgid "Connection URL: " +msgstr "Connection URL: " + +#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:3 +msgid "Smart Block Options" +msgstr "Smart Block Options" + +#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:63 +msgid " to " +msgstr " to " + +#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:120 +#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:133 +msgid "files meet the criteria" +msgstr "files meet the criteria" + +#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:127 +msgid "file meet the criteria" +msgstr "file meet the criteria" + +#: airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml:3 +#: airtime_mvc/application/views/scripts/library/library.phtml:2 +msgid "File import in progress..." +msgstr "File import in progress..." + +#: airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml:5 +#: airtime_mvc/application/views/scripts/library/library.phtml:5 +msgid "Advanced Search Options" +msgstr "Advanced Search Options" + +#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:2 +msgid "Stream Settings" +msgstr "Stream Settings" + +#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:12 +msgid "Global Settings" +msgstr "Global Settings" + +#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:72 +msgid "Output Stream Settings" +msgstr "Output Stream Settings" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:7 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:30 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:32 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:128 +msgid "Length:" +msgstr "Length:" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:8 +msgid "Sample Rate:" +msgstr "Sample Rate:" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:18 +msgid "Isrc Number:" +msgstr "Isrc Number:" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:21 +msgid "File" +msgstr "File" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:21 +msgid "Path:" +msgstr "Path:" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:39 +msgid "Web Stream" +msgstr "Web Stream" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:40 +msgid "Dynamic Smart Block" +msgstr "Dynamic Smart Block" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:41 +msgid "Static Smart Block" +msgstr "Static Smart Block" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:42 +msgid "Audio Track" +msgstr "Audio Track" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:48 +msgid "Playlist Contents: " +msgstr "Playlist Contents: " + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:50 +msgid "Static Smart Block Contents: " +msgstr "Static Smart Block Contents: " + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:89 +msgid "Dynamic Smart Block Criteria: " +msgstr "Dynamic Smart Block Criteria: " + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:118 +msgid "Limit to " +msgstr "Limit to " + +#: airtime_mvc/library/propel/contrib/pear/HTML_QuickForm_Propel/Propel.php:512 +msgid "Please selection an option" +msgstr "Please selection an option" + +#: airtime_mvc/library/propel/contrib/pear/HTML_QuickForm_Propel/Propel.php:531 +msgid "No Records" +msgstr "No Records" + diff --git a/airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.mo new file mode 100644 index 000000000..750be5742 Binary files /dev/null and b/airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.mo differ diff --git a/airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.po b/airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.po new file mode 100644 index 000000000..f7fb0a98d --- /dev/null +++ b/airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.po @@ -0,0 +1,3360 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-11-26 14:16-0500\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: ko_KR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: airtime_mvc/application/configs/navigation.php:12 +msgid "Now Playing" +msgstr "방송중" + +#: airtime_mvc/application/configs/navigation.php:19 +msgid "Add Media" +msgstr "미디어 추가" + +#: airtime_mvc/application/configs/navigation.php:26 +msgid "Library" +msgstr "라이브러리" + +#: airtime_mvc/application/configs/navigation.php:33 +msgid "Calendar" +msgstr "스케쥴" + +#: airtime_mvc/application/configs/navigation.php:40 +msgid "System" +msgstr "시스템" + +#: airtime_mvc/application/configs/navigation.php:45 +#: airtime_mvc/application/views/scripts/preference/index.phtml:2 +msgid "Preferences" +msgstr "설정" + +#: airtime_mvc/application/configs/navigation.php:50 +msgid "Users" +msgstr "계정" + +#: airtime_mvc/application/configs/navigation.php:57 +msgid "Media Folders" +msgstr "미디어 폴더" + +#: airtime_mvc/application/configs/navigation.php:64 +msgid "Streams" +msgstr "스트림" + +#: airtime_mvc/application/configs/navigation.php:70 +#: airtime_mvc/application/controllers/PreferenceController.php:134 +msgid "Support Feedback" +msgstr "사용자 피드백" + +#: airtime_mvc/application/configs/navigation.php:76 +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:5 +msgid "Status" +msgstr "상태" + +#: airtime_mvc/application/configs/navigation.php:83 +msgid "Playout History" +msgstr "방송 기록" + +#: airtime_mvc/application/configs/navigation.php:90 +msgid "Listener Stats" +msgstr "청취자 통계" + +#: airtime_mvc/application/configs/navigation.php:99 +#: airtime_mvc/application/views/scripts/error/error.phtml:13 +msgid "Help" +msgstr "도움" + +#: airtime_mvc/application/configs/navigation.php:104 +msgid "Getting Started" +msgstr "초보자 가이드" + +#: airtime_mvc/application/configs/navigation.php:111 +msgid "User Manual" +msgstr "사용자 메뉴얼" + +#: airtime_mvc/application/configs/navigation.php:116 +#: airtime_mvc/application/views/scripts/dashboard/about.phtml:2 +msgid "About" +msgstr "정보" + +#: airtime_mvc/application/layouts/scripts/bare.phtml:5 +#: airtime_mvc/application/views/scripts/dashboard/stream-player.phtml:2 +msgid "Live stream" +msgstr "라이브 스트림" + +#: airtime_mvc/application/layouts/scripts/audio-player.phtml:5 +#: airtime_mvc/application/controllers/LocaleController.php:29 +msgid "Audio Player" +msgstr "오디오 플레이어" + +#: airtime_mvc/application/layouts/scripts/layout.phtml:26 +msgid "Logout" +msgstr "로그아웃" + +#: airtime_mvc/application/layouts/scripts/login.phtml:16 +#, php-format +msgid "" +"Airtime Copyright ©Sourcefabric o.p.s. All rights reserved.%sMaintained " +"and distributed under GNU GPL v.3 by %sSourcefabric o.p.s%s" +msgstr "" + +#: airtime_mvc/application/models/StoredFile.php:797 +#: airtime_mvc/application/controllers/LocaleController.php:274 +msgid "Track preview" +msgstr "트랙 프리뷰" + +#: airtime_mvc/application/models/StoredFile.php:799 +msgid "Playlist preview" +msgstr "재생목록 프리뷰" + +#: airtime_mvc/application/models/StoredFile.php:802 +msgid "Webstream preview" +msgstr "웹스트림 프리" + +#: airtime_mvc/application/models/StoredFile.php:804 +msgid "Smart Block" +msgstr "" + +#: airtime_mvc/application/models/StoredFile.php:937 +msgid "Failed to create 'organize' directory." +msgstr "스마트 블록" + +#: airtime_mvc/application/models/StoredFile.php:950 +#, php-format +msgid "" +"The file was not uploaded, there is %s MB of disk space left and the file " +"you are uploading has a size of %s MB." +msgstr "" +"파일 업로드를 실패 하였습니다. 남은 disk공간이 %s MB 이고, " +"파일 크기가 %s MB 입니다." + +#: airtime_mvc/application/models/StoredFile.php:959 +msgid "" +"This file appears to be corrupted and will not be added to media library." +msgstr "" +"파일이 손상되었으므로, 라이브러리에 추가 되지 않습니다." + +#: airtime_mvc/application/models/StoredFile.php:995 +msgid "" +"The file was not uploaded, this error can occur if the computer hard drive " +"does not have enough disk space or the stor directory does not have correct " +"write permissions." +msgstr "" +"파일이 업로드 되지 않았습니다. 이 에러는 하드 디스크에 공간이 충분치 않거나, 권한이 부족하여 생길수 있습니다." + +#: airtime_mvc/application/models/MusicDir.php:160 +#, php-format +msgid "%s is already watched." +msgstr "%s는 이미 모니터 중입니다 " + +#: airtime_mvc/application/models/MusicDir.php:164 +#, php-format +msgid "%s contains nested watched directory: %s" +msgstr "%s는 이미 모니터중인 폴더를 포함하고 있습니다: %s" + +#: airtime_mvc/application/models/MusicDir.php:168 +#, php-format +msgid "%s is nested within existing watched directory: %s" +msgstr "%s를 포함하는 폴더를 이미 모니터 중입니다: %s" + +#: airtime_mvc/application/models/MusicDir.php:189 +#: airtime_mvc/application/models/MusicDir.php:363 +#, php-format +msgid "%s is not a valid directory." +msgstr "%s는 옳은 경로가 아닙니다." + +#: airtime_mvc/application/models/MusicDir.php:231 +#, php-format +msgid "" +"%s is already set as the current storage dir or in the watched folders list" +msgstr "%s는 이미 현재 저장 폴더로 지정이 되었거나 모니터중인 폴더 입니다." + +#: airtime_mvc/application/models/MusicDir.php:381 +#, php-format +msgid "" +"%s is already set as the current storage dir or in the watched folders list." +msgstr "%s는 이미 현재 저장 폴더로 지정이 되었거나 모니터중인 폴더 입니다." + +#: airtime_mvc/application/models/MusicDir.php:424 +#, php-format +msgid "%s doesn't exist in the watched list." +msgstr "%s가 모니터 목록에 없습니다" + +#: airtime_mvc/application/models/Playlist.php:724 +#: airtime_mvc/application/models/Block.php:757 +msgid "Cue in and cue out are null." +msgstr "큐-인 과 큐 -아웃 이 null 입니다" + +#: airtime_mvc/application/models/Playlist.php:754 +#: airtime_mvc/application/models/Playlist.php:777 +#: airtime_mvc/application/models/Block.php:803 +#: airtime_mvc/application/models/Block.php:824 +msgid "Can't set cue in to be larger than cue out." +msgstr "큐-인 값은 큐-아웃 값보다 클수 없습니다." + +#: airtime_mvc/application/models/Playlist.php:761 +#: airtime_mvc/application/models/Playlist.php:802 +#: airtime_mvc/application/models/Block.php:792 +#: airtime_mvc/application/models/Block.php:848 +msgid "Can't set cue out to be greater than file length." +msgstr "큐-아웃 값은 파일 길이보다 클수 없습니다" + +#: airtime_mvc/application/models/Playlist.php:795 +#: airtime_mvc/application/models/Block.php:859 +msgid "Can't set cue out to be smaller than cue in." +msgstr "큐-아웃 값은 큐-인 값보다 작을수 없습니다." + +#: airtime_mvc/application/models/Show.php:180 +msgid "Shows can have a max length of 24 hours." +msgstr "쇼 길이는 24시간을 넘을수 없습니다." + +#: airtime_mvc/application/models/Show.php:211 +#: airtime_mvc/application/forms/AddShowWhen.php:116 +msgid "End date/time cannot be in the past" +msgstr "종료 날짜/시간을 과거로 설정할수 없습니다" + +#: airtime_mvc/application/models/Show.php:222 +msgid "" +"Cannot schedule overlapping shows.\n" +"Note: Resizing a repeating show affects all of its repeats." +msgstr "쇼를 중복되게 스케줄 알수 없습니다.\n" +"주의: 반복 쇼의 크기를 조정하면, 모든 반복 쇼의 크기가 바뀝니다." + +#: airtime_mvc/application/models/Webstream.php:157 +msgid "Length needs to be greater than 0 minutes" +msgstr "길이가 0분 보다 길어야 합니다" + +#: airtime_mvc/application/models/Webstream.php:162 +msgid "Length should be of form \"00h 00m\"" +msgstr "길이는 \"00h 00m\"의 형태 여야 합니다 " + +#: airtime_mvc/application/models/Webstream.php:175 +msgid "URL should be of form \"http://domain\"" +msgstr "URL은 \"http://domain\" 형태여야 합니다" + +#: airtime_mvc/application/models/Webstream.php:178 +msgid "URL should be 512 characters or less" +msgstr "URL은 512캐릭터 까지 허용합니다" + +#: airtime_mvc/application/models/Webstream.php:184 +msgid "No MIME type found for webstream." +msgstr "웹 스트림의 MIME 타입을 찾을수 없습니다" + +#: airtime_mvc/application/models/Webstream.php:200 +msgid "Webstream name cannot be empty" +msgstr "웹스트림의 이름을 지정하십시오" + +#: airtime_mvc/application/models/Webstream.php:269 +msgid "Could not parse XSPF playlist" +msgstr "XSPF 재생목록을 분석 할수 없습니다" + +#: airtime_mvc/application/models/Webstream.php:281 +msgid "Could not parse PLS playlist" +msgstr "PLS 재생목록을 분석 할수 없습니다" + +#: airtime_mvc/application/models/Webstream.php:300 +msgid "Could not parse M3U playlist" +msgstr "M3U 재생목록을 분석할수 없습니다" + +#: airtime_mvc/application/models/Webstream.php:314 +msgid "Invalid webstream - This appears to be a file download." +msgstr "잘못된 웹스트림 - 웹스트림이 아니고 파일 다운로드 링크입니다" + +#: airtime_mvc/application/models/Webstream.php:318 +#, php-format +msgid "Unrecognized stream type: %s" +msgstr "알수 없는 스트림 타입: %s" + +#: airtime_mvc/application/models/ShowInstance.php:245 +msgid "Can't drag and drop repeating shows" +msgstr "반복쇼는 드래그 앤 드롭 할수 없습니다" + +#: airtime_mvc/application/models/ShowInstance.php:253 +msgid "Can't move a past show" +msgstr "지난 쇼는 이동할수 없습니다" + +#: airtime_mvc/application/models/ShowInstance.php:270 +msgid "Can't move show into past" +msgstr "과거로 쇼를 이동할수 없습니다" + +#: airtime_mvc/application/models/ShowInstance.php:276 +#: airtime_mvc/application/forms/AddShowWhen.php:250 +#: airtime_mvc/application/forms/AddShowWhen.php:264 +#: airtime_mvc/application/forms/AddShowWhen.php:287 +#: airtime_mvc/application/forms/AddShowWhen.php:293 +#: airtime_mvc/application/forms/AddShowWhen.php:298 +msgid "Cannot schedule overlapping shows" +msgstr "쇼를 중복되게 스케쥴할수 없습니다" + +#: airtime_mvc/application/models/ShowInstance.php:290 +msgid "Can't move a recorded show less than 1 hour before its rebroadcasts." +msgstr "녹화 쇼를 재방송 시작 1시간 안으로 이동할수 없습니다" + +#: airtime_mvc/application/models/ShowInstance.php:303 +msgid "Show was deleted because recorded show does not exist!" +msgstr "녹화 쇼가 없으로 쇼가 삭제 되었습니다" + +#: airtime_mvc/application/models/ShowInstance.php:310 +msgid "Must wait 1 hour to rebroadcast." +msgstr "녹화 쇼와 재방송 사이에는 1시간의 간격이 필요합니다 " + +#: airtime_mvc/application/models/ShowInstance.php:342 +msgid "can't resize a past show" +msgstr "지난 쇼는 사이즈를 조정할수 없습니다 " + +#: airtime_mvc/application/models/ShowInstance.php:364 +msgid "Should not overlap shows" +msgstr "중복 스케쥴을 할수 없스니다" + +#: airtime_mvc/application/models/Auth.php:33 +#, php-format +msgid "" +"Hi %s, \n" +"\n" +"Click this link to reset your password: " +msgstr "안녕하세요 %s님, \n" +"암호 재설정을 하시려면 링크를 클릭하세요: " + +#: airtime_mvc/application/models/Scheduler.php:82 +msgid "The schedule you're viewing is out of date! (sched mismatch)" +msgstr "현재 보고 계신 스케쥴이 맞지 않습니다(sched mismatch)" + +#: airtime_mvc/application/models/Scheduler.php:87 +msgid "The schedule you're viewing is out of date! (instance mismatch)" +msgstr "현재 보고 계신 스케쥴이 맞지 않습니다(instance mismatch)" + +#: airtime_mvc/application/models/Scheduler.php:95 +#: airtime_mvc/application/models/Scheduler.php:346 +msgid "The schedule you're viewing is out of date!" +msgstr "현재 보고 계신 스케쥴이 맞지 않습니다" + +#: airtime_mvc/application/models/Scheduler.php:105 +#, php-format +msgid "You are not allowed to schedule show %s." +msgstr "쇼를 스케쥴 할수 있는 권한이 없습니다" + +#: airtime_mvc/application/models/Scheduler.php:109 +msgid "You cannot add files to recording shows." +msgstr "녹화 쇼에는 파일을 추가 할수 없습니다" + +#: airtime_mvc/application/models/Scheduler.php:115 +#, php-format +msgid "The show %s is over and cannot be scheduled." +msgstr "지난 쇼(%s)에 더이상 스케쥴을 할수 없스니다" + +#: airtime_mvc/application/models/Scheduler.php:122 +#, php-format +msgid "The show %s has been previously updated!" +msgstr "쇼 %s 업데이트 되었습니다!" + +#: airtime_mvc/application/models/Scheduler.php:141 +#: airtime_mvc/application/models/Scheduler.php:222 +msgid "A selected File does not exist!" +msgstr "선택하신 파일이 존재 하지 않습니다" + +#: airtime_mvc/application/models/ShowBuilder.php:198 +#, php-format +msgid "Rebroadcast of %s from %s" +msgstr "%s 재방송( %s에 시작) " + +#: airtime_mvc/application/models/Block.php:1207 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:41 +msgid "Select criteria" +msgstr "기준 선택" + +#: airtime_mvc/application/models/Block.php:1208 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:42 +#: airtime_mvc/application/controllers/LocaleController.php:63 +#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:8 +msgid "Album" +msgstr "앨범" + +#: airtime_mvc/application/models/Block.php:1209 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:43 +msgid "Bit Rate (Kbps)" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1210 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:44 +#: airtime_mvc/application/controllers/LocaleController.php:65 +msgid "BPM" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1211 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:45 +#: airtime_mvc/application/controllers/LocaleController.php:66 +#: airtime_mvc/application/controllers/LocaleController.php:152 +msgid "Composer" +msgstr "작곡가" + +#: airtime_mvc/application/models/Block.php:1212 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:46 +#: airtime_mvc/application/controllers/LocaleController.php:67 +msgid "Conductor" +msgstr "지휘자" + +#: airtime_mvc/application/models/Block.php:1213 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:47 +#: airtime_mvc/application/controllers/LocaleController.php:68 +#: airtime_mvc/application/controllers/LocaleController.php:153 +msgid "Copyright" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1214 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:48 +#: airtime_mvc/application/controllers/LocaleController.php:62 +#: airtime_mvc/application/controllers/LocaleController.php:149 +#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:7 +msgid "Creator" +msgstr "제작자" + +#: airtime_mvc/application/models/Block.php:1215 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:49 +#: airtime_mvc/application/controllers/LocaleController.php:69 +msgid "Encoded By" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1216 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:132 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:50 +#: airtime_mvc/application/controllers/LocaleController.php:70 +#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:10 +msgid "Genre" +msgstr "장르" + +#: airtime_mvc/application/models/Block.php:1217 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:51 +#: airtime_mvc/application/controllers/LocaleController.php:71 +msgid "ISRC" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1218 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:52 +#: airtime_mvc/application/controllers/LocaleController.php:72 +msgid "Label" +msgstr "상" + +#: airtime_mvc/application/models/Block.php:1219 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:53 +#: airtime_mvc/application/forms/GeneralPreferences.php:55 +#: airtime_mvc/application/controllers/LocaleController.php:73 +msgid "Language" +msgstr "언어" + +#: airtime_mvc/application/models/Block.php:1220 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:54 +#: airtime_mvc/application/controllers/LocaleController.php:74 +msgid "Last Modified" +msgstr "마지막 수정일" + +#: airtime_mvc/application/models/Block.php:1221 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:55 +#: airtime_mvc/application/controllers/LocaleController.php:75 +msgid "Last Played" +msgstr "마지막 방송일" + +#: airtime_mvc/application/models/Block.php:1222 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:56 +#: airtime_mvc/application/controllers/LocaleController.php:76 +#: airtime_mvc/application/controllers/LocaleController.php:151 +#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:9 +msgid "Length" +msgstr "길이" + +#: airtime_mvc/application/models/Block.php:1223 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:57 +#: airtime_mvc/application/controllers/LocaleController.php:77 +msgid "Mime" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1224 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:58 +#: airtime_mvc/application/controllers/LocaleController.php:78 +msgid "Mood" +msgstr "무드" + +#: airtime_mvc/application/models/Block.php:1225 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:59 +#: airtime_mvc/application/controllers/LocaleController.php:79 +msgid "Owner" +msgstr "소유자" + +#: airtime_mvc/application/models/Block.php:1226 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:60 +#: airtime_mvc/application/controllers/LocaleController.php:80 +msgid "Replay Gain" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1227 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:61 +msgid "Sample Rate (kHz)" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1228 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:62 +#: airtime_mvc/application/controllers/LocaleController.php:61 +#: airtime_mvc/application/controllers/LocaleController.php:148 +#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:6 +msgid "Title" +msgstr "제목" + +#: airtime_mvc/application/models/Block.php:1229 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:63 +#: airtime_mvc/application/controllers/LocaleController.php:82 +msgid "Track Number" +msgstr "트랙 번호" + +#: airtime_mvc/application/models/Block.php:1230 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:64 +#: airtime_mvc/application/controllers/LocaleController.php:83 +msgid "Uploaded" +msgstr "업로드 날짜" + +#: airtime_mvc/application/models/Block.php:1231 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:65 +#: airtime_mvc/application/controllers/LocaleController.php:84 +msgid "Website" +msgstr "웹싸이트" + +#: airtime_mvc/application/models/Block.php:1232 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:66 +#: airtime_mvc/application/controllers/LocaleController.php:85 +msgid "Year" +msgstr "년도" + +#: airtime_mvc/application/common/DateHelper.php:335 +#, php-format +msgid "The year %s must be within the range of 1753 - 9999" +msgstr "년도 값은 1753 - 9999 입니다" + +#: airtime_mvc/application/common/DateHelper.php:338 +#, php-format +msgid "%s-%s-%s is not a valid date" +msgstr "%s-%s-%s는 맞지 않는 날짜 입니다" + +#: airtime_mvc/application/common/DateHelper.php:362 +#, php-format +msgid "%s:%s:%s is not a valid time" +msgstr "%s:%s:%s는 맞지 않는 시간 입니다" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:17 +msgid "Enable System Emails (Password Reset)" +msgstr "시스템 이메일 사용(암호 리셋)" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:27 +msgid "Reset Password 'From' Email" +msgstr "암호 초기화에 보낸이 이메일 주소" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:34 +msgid "Configure Mail Server" +msgstr "메일 서버 설정" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:43 +msgid "Requires Authentication" +msgstr "인증 필요" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:53 +msgid "Mail Server" +msgstr "메일 서버" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:67 +msgid "Email Address" +msgstr "이메일 주소" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:82 +#: airtime_mvc/application/forms/PasswordChange.php:14 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:120 +msgid "Password" +msgstr "암호" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:100 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:109 +msgid "Port" +msgstr "포트" + +#: airtime_mvc/application/forms/RegisterAirtime.php:30 +#: airtime_mvc/application/forms/SupportSettings.php:20 +#: airtime_mvc/application/forms/GeneralPreferences.php:21 +msgid "Station Name" +msgstr "방송국 이름" + +#: airtime_mvc/application/forms/RegisterAirtime.php:39 +#: airtime_mvc/application/forms/SupportSettings.php:33 +msgid "Phone:" +msgstr "전화" + +#: airtime_mvc/application/forms/RegisterAirtime.php:51 +#: airtime_mvc/application/forms/AddUser.php:51 +#: airtime_mvc/application/forms/SupportSettings.php:45 +msgid "Email:" +msgstr "이메일" + +#: airtime_mvc/application/forms/RegisterAirtime.php:62 +#: airtime_mvc/application/forms/SupportSettings.php:56 +msgid "Station Web Site:" +msgstr "방송국 웹사이트" + +#: airtime_mvc/application/forms/RegisterAirtime.php:73 +#: airtime_mvc/application/forms/SupportSettings.php:67 +msgid "Country:" +msgstr "나라" + +#: airtime_mvc/application/forms/RegisterAirtime.php:84 +#: airtime_mvc/application/forms/SupportSettings.php:78 +msgid "City:" +msgstr "도시" + +#: airtime_mvc/application/forms/RegisterAirtime.php:96 +#: airtime_mvc/application/forms/SupportSettings.php:90 +msgid "Station Description:" +msgstr "방송국 설명" + +#: airtime_mvc/application/forms/RegisterAirtime.php:106 +#: airtime_mvc/application/forms/SupportSettings.php:100 +msgid "Station Logo:" +msgstr "방송국 로고" + +#: airtime_mvc/application/forms/RegisterAirtime.php:116 +#: airtime_mvc/application/forms/SupportSettings.php:111 +msgid "Send support feedback" +msgstr "사용자 피드백을 보냄" + +#: airtime_mvc/application/forms/RegisterAirtime.php:126 +#: airtime_mvc/application/forms/SupportSettings.php:121 +msgid "Promote my station on Sourcefabric.org" +msgstr "내 방송국을 Sourcefabric.org에 홍보" + +#: airtime_mvc/application/forms/RegisterAirtime.php:149 +#: airtime_mvc/application/forms/SupportSettings.php:147 +#, php-format +msgid "By checking this box, I agree to Sourcefabric's %sprivacy policy%s." +msgstr "이 박스에 체크함으로, Sourcefabric's %sprivacy policy%s에 동의합니다." + +#: airtime_mvc/application/forms/RegisterAirtime.php:166 +#: airtime_mvc/application/forms/SupportSettings.php:172 +msgid "You have to agree to privacy policy." +msgstr "사용자 약관에 동의 하십시오" + +#: airtime_mvc/application/forms/PasswordChange.php:26 +msgid "Confirm new password" +msgstr "새 암호 확인" + +#: airtime_mvc/application/forms/PasswordChange.php:41 +msgid "Get new password" +msgstr "새 암호 받기" + +#: airtime_mvc/application/forms/DateRange.php:16 +#: airtime_mvc/application/forms/ShowBuilder.php:18 +msgid "Date Start:" +msgstr "시작" + +#: airtime_mvc/application/forms/DateRange.php:35 +#: airtime_mvc/application/forms/DateRange.php:63 +#: airtime_mvc/application/forms/AddShowRebroadcastDates.php:31 +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:98 +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:117 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:100 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:123 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:144 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:174 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:186 +#: airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php:26 +#: airtime_mvc/application/forms/ShowBuilder.php:37 +#: airtime_mvc/application/forms/ShowBuilder.php:65 +msgid "Invalid character entered" +msgstr "허용되지 않는 문자입니다" + +#: airtime_mvc/application/forms/DateRange.php:44 +#: airtime_mvc/application/forms/AddShowRepeats.php:40 +#: airtime_mvc/application/forms/ShowBuilder.php:46 +msgid "Date End:" +msgstr "종료" + +#: airtime_mvc/application/forms/AddShowRebroadcastDates.php:15 +#: airtime_mvc/application/views/scripts/partialviews/trialBox.phtml:6 +msgid "일" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRebroadcastDates.php:63 +#: airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php:58 +msgid "Day must be specified" +msgstr "날짜를 설정하세요" + +#: airtime_mvc/application/forms/AddShowRebroadcastDates.php:68 +#: airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php:63 +msgid "Time must be specified" +msgstr "시간을 설정하세요" + +#: airtime_mvc/application/forms/AddShowRebroadcastDates.php:95 +#: airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php:86 +msgid "Must wait at least 1 hour to rebroadcast" +msgstr "재방송 설정까지 1시간 기간이 필요합니다" + +#: airtime_mvc/application/forms/AddShowRR.php:10 +msgid "Record from Line In?" +msgstr "Line In으로 녹음" + +#: airtime_mvc/application/forms/AddShowRR.php:16 +msgid "Rebroadcast?" +msgstr "재방송?" + +#: airtime_mvc/application/forms/AddShowStyle.php:10 +msgid "Background Colour:" +msgstr "배경 색:" + +#: airtime_mvc/application/forms/AddShowStyle.php:29 +msgid "Text Colour:" +msgstr "글자 색:" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:19 +msgid "Auto Switch Off" +msgstr "자동 스위치 끄기" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:26 +msgid "Auto Switch On" +msgstr "자동 스위치 켜기" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:33 +msgid "Switch Transition Fade (s)" +msgstr "스위치 페이딩" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:36 +msgid "enter a time in seconds 00{.000000}" +msgstr "초 단위를 입력해 주세요 00{.000000}" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:45 +msgid "Master Username" +msgstr "마스터 아이디" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:62 +msgid "Master Password" +msgstr "마스터 암호" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:70 +msgid "Master Source Connection URL" +msgstr "마스터 소스 접속 URL" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:78 +msgid "Show Source Connection URL" +msgstr "쇼 소스 접속 URL" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:86 +msgid "Master Source Port" +msgstr "마스터 소스 포트" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:89 +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:108 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:112 +msgid "Only numbers are allowed." +msgstr "숫자만 허용 됩니다" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:95 +msgid "Master Source Mount Point" +msgstr "마스터 소스 마운트 지점" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:105 +msgid "Show Source Port" +msgstr "쇼 소스 포트" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:114 +msgid "Show Source Mount Point" +msgstr "쇼 소스 마운트 지점" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:152 +msgid "You cannot use same port as Master DJ port." +msgstr "마스터 소스 포트와 같은 포트를 사용할수 없스니다" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:163 +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:181 +#, php-format +msgid "Port %s is not available" +msgstr "포트 %s는 이용 할수 없습니다" + +#: airtime_mvc/application/forms/WatchedDirPreferences.php:14 +msgid "Import Folder:" +msgstr "폴더 가져오기" + +#: airtime_mvc/application/forms/WatchedDirPreferences.php:25 +msgid "Watched Folders:" +msgstr "모니터중인 폴더" + +#: airtime_mvc/application/forms/WatchedDirPreferences.php:40 +msgid "Not a valid Directory" +msgstr "옳치 않은 폴더 입니다" + +#: airtime_mvc/application/forms/AddUser.php:21 +#: airtime_mvc/application/forms/Login.php:19 +msgid "Username:" +msgstr "아이디: " + +#: airtime_mvc/application/forms/AddUser.php:29 +#: airtime_mvc/application/forms/Login.php:34 +msgid "Password:" +msgstr "암호: " + +#: airtime_mvc/application/forms/AddUser.php:37 +msgid "Firstname:" +msgstr "이름:" + +#: airtime_mvc/application/forms/AddUser.php:44 +msgid "Lastname:" +msgstr "성:" + +#: airtime_mvc/application/forms/AddUser.php:59 +msgid "Mobile Phone:" +msgstr "휴대전화:" + +#: airtime_mvc/application/forms/AddUser.php:65 +msgid "Skype:" +msgstr "스카입:" + +#: airtime_mvc/application/forms/AddUser.php:71 +msgid "Jabber:" +msgstr "" + +#: airtime_mvc/application/forms/AddUser.php:78 +msgid "User Type:" +msgstr "유저 타입" + +#: airtime_mvc/application/forms/AddUser.php:82 +#: airtime_mvc/application/controllers/LocaleController.php:302 +msgid "Guest" +msgstr "손님" + +#: airtime_mvc/application/forms/AddUser.php:83 +#: airtime_mvc/application/controllers/LocaleController.php:300 +msgid "DJ" +msgstr "" + +#: airtime_mvc/application/forms/AddUser.php:84 +#: airtime_mvc/application/controllers/LocaleController.php:301 +msgid "Program Manager" +msgstr "프로그램 매니저" + +#: airtime_mvc/application/forms/AddUser.php:85 +#: airtime_mvc/application/controllers/LocaleController.php:299 +msgid "Admin" +msgstr "관리자" + +#: airtime_mvc/application/forms/AddUser.php:93 +#: airtime_mvc/application/forms/SupportSettings.php:157 +#: airtime_mvc/application/forms/EditAudioMD.php:128 +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:23 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:20 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:15 +#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:6 +#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:81 +#: airtime_mvc/application/views/scripts/preference/index.phtml:6 +#: airtime_mvc/application/views/scripts/preference/index.phtml:14 +msgid "Save" +msgstr "저장" + +#: airtime_mvc/application/forms/AddUser.php:103 +msgid "Login name is not unique." +msgstr "사용할수 없는 아이디 입니다" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:48 +msgid "Enabled:" +msgstr "사용:" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:57 +msgid "Stream Type:" +msgstr "스트림 타입:" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:67 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:9 +msgid "Bit Rate:" +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:77 +msgid "Service Type:" +msgstr "서비스 타입:" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:87 +msgid "Channels:" +msgstr "채널:" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:88 +msgid "1 - Mono" +msgstr "1 - 모노" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:88 +msgid "2 - Stereo" +msgstr "2 - 스테레오" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:97 +msgid "Server" +msgstr "서버" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:141 +msgid "URL" +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:153 +#: airtime_mvc/application/views/scripts/user/add-user.phtml:19 +#: airtime_mvc/application/views/scripts/user/add-user.phtml:20 +msgid "Name" +msgstr "이름" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:162 +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:51 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:53 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:40 +msgid "Description" +msgstr "설명" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:171 +msgid "Mount Point" +msgstr "마운트 지점" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:183 +#: airtime_mvc/application/forms/PasswordRestore.php:25 +#: airtime_mvc/application/views/scripts/user/add-user.phtml:18 +msgid "Username" +msgstr "아이디" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:208 +msgid "Server cannot be empty." +msgstr "서버를 지정해주세요" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:213 +msgid "Port cannot be empty." +msgstr "포트를 지정해주세요" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:219 +msgid "Mount cannot be empty with Icecast server." +msgstr "Icecast 서버는 마운트 지점을 지정해야 합니다" + +#: airtime_mvc/application/forms/AddShowRepeats.php:11 +msgid "Repeat Type:" +msgstr "반복 유형:" + +#: airtime_mvc/application/forms/AddShowRepeats.php:14 +msgid "weekly" +msgstr "주간" + +#: airtime_mvc/application/forms/AddShowRepeats.php:15 +msgid "bi-weekly" +msgstr "2주간" + +#: airtime_mvc/application/forms/AddShowRepeats.php:16 +msgid "monthly" +msgstr "월간" + +#: airtime_mvc/application/forms/AddShowRepeats.php:25 +msgid "Select Days:" +msgstr "날짜 선택" + +#: airtime_mvc/application/forms/AddShowRepeats.php:28 +#: airtime_mvc/application/controllers/LocaleController.php:243 +msgid "Sun" +msgstr "일" + +#: airtime_mvc/application/forms/AddShowRepeats.php:29 +#: airtime_mvc/application/controllers/LocaleController.php:244 +msgid "Mon" +msgstr "월" + +#: airtime_mvc/application/forms/AddShowRepeats.php:30 +#: airtime_mvc/application/controllers/LocaleController.php:245 +msgid "Tue" +msgstr "화" + +#: airtime_mvc/application/forms/AddShowRepeats.php:31 +#: airtime_mvc/application/controllers/LocaleController.php:246 +msgid "Wed" +msgstr "수" + +#: airtime_mvc/application/forms/AddShowRepeats.php:32 +#: airtime_mvc/application/controllers/LocaleController.php:247 +msgid "Thu" +msgstr "목" + +#: airtime_mvc/application/forms/AddShowRepeats.php:33 +#: airtime_mvc/application/controllers/LocaleController.php:248 +msgid "Fri" +msgstr "금" + +#: airtime_mvc/application/forms/AddShowRepeats.php:34 +#: airtime_mvc/application/controllers/LocaleController.php:249 +msgid "Sat" +msgstr "토" + +#: airtime_mvc/application/forms/AddShowRepeats.php:53 +msgid "No End?" +msgstr "무한 반복?" + +#: airtime_mvc/application/forms/AddShowRepeats.php:79 +msgid "End date must be after start date" +msgstr "종료 일이 시작일 보다 먼져 입니다." + +#: airtime_mvc/application/forms/AddShowWhat.php:25 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:27 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:127 +msgid "Name:" +msgstr "이름:" + +#: airtime_mvc/application/forms/AddShowWhat.php:30 +msgid "Untitled Show" +msgstr "이름없는 쇼" + +#: airtime_mvc/application/forms/AddShowWhat.php:36 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:131 +msgid "URL:" +msgstr "" + +#: airtime_mvc/application/forms/AddShowWhat.php:45 +#: airtime_mvc/application/forms/EditAudioMD.php:41 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:11 +msgid "Genre:" +msgstr "장르:" + +#: airtime_mvc/application/forms/AddShowWhat.php:54 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:34 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:130 +msgid "Description:" +msgstr "설명:" + +#: airtime_mvc/application/forms/AddShowWho.php:10 +msgid "Search Users:" +msgstr "사용자 검색:" + +#: airtime_mvc/application/forms/AddShowWho.php:24 +msgid "DJs:" +msgstr "DJ들:" + +#: airtime_mvc/application/forms/StreamSetting.php:22 +msgid "Hardware Audio Output" +msgstr "하드에어 오디오 출력" + +#: airtime_mvc/application/forms/StreamSetting.php:33 +msgid "Output Type" +msgstr "출력 유형" + +#: airtime_mvc/application/forms/StreamSetting.php:44 +msgid "Icecast Vorbis Metadata" +msgstr "Icecast Vorbis 메타데이타" + +#: airtime_mvc/application/forms/StreamSetting.php:54 +msgid "Stream Label:" +msgstr "스트림 레이블" + +#: airtime_mvc/application/forms/StreamSetting.php:55 +msgid "Artist - Title" +msgstr "아티스트 - 제목" + +#: airtime_mvc/application/forms/StreamSetting.php:56 +msgid "Show - Artist - Title" +msgstr "쇼 - 아티스트 - 제목" + +#: airtime_mvc/application/forms/StreamSetting.php:57 +msgid "Station name - Show name" +msgstr "방송국 이름 - 쇼 이름" + +#: airtime_mvc/application/forms/PasswordRestore.php:14 +msgid "E-mail" +msgstr "이메일" + +#: airtime_mvc/application/forms/PasswordRestore.php:36 +msgid "Restore password" +msgstr "암호 복원" + +#: airtime_mvc/application/forms/PasswordRestore.php:46 +#: airtime_mvc/application/forms/EditAudioMD.php:138 +#: airtime_mvc/application/controllers/LocaleController.php:303 +msgid "Cancel" +msgstr "취소" + +#: airtime_mvc/application/forms/AddShowWhen.php:16 +msgid "Date/Time Start:" +msgstr "날짜/시간 시작:" + +#: airtime_mvc/application/forms/AddShowWhen.php:35 +#: airtime_mvc/application/forms/AddShowWhen.php:63 +msgid "Time format should be HH:mm" +msgstr "시간은 HH:mm 형태 이어야 합니다" + +#: airtime_mvc/application/forms/AddShowWhen.php:44 +msgid "Date/Time End:" +msgstr "날짜/시간 종료:" + +#: airtime_mvc/application/forms/AddShowWhen.php:70 +msgid "Duration:" +msgstr "길이:" + +#: airtime_mvc/application/forms/AddShowWhen.php:79 +msgid "Repeats?" +msgstr "반복?" + +#: airtime_mvc/application/forms/AddShowWhen.php:99 +msgid "Cannot create show in the past" +msgstr "쇼를 과거에 생성 할수 없습니다" + +#: airtime_mvc/application/forms/AddShowWhen.php:107 +msgid "Cannot modify start date/time of the show that is already started" +msgstr "이미 시작한 쇼의 시작 날짜/시간을 바꿀수 없습니다" + +#: airtime_mvc/application/forms/AddShowWhen.php:126 +msgid "Cannot have duration 00h 00m" +msgstr "길이가 00h 00m인 쇼를 생성 할수 없습니다" + +#: airtime_mvc/application/forms/AddShowWhen.php:130 +msgid "Cannot have duration greater than 24h" +msgstr "쇼의 길이가 24h를 넘을수 없습니다" + +#: airtime_mvc/application/forms/AddShowWhen.php:134 +msgid "Cannot have duration < 0m" +msgstr "길이가 0m 보다 작을수 없습니다" + +#: airtime_mvc/application/forms/EditAudioMD.php:13 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:3 +msgid "Title:" +msgstr "제목:" + +#: airtime_mvc/application/forms/EditAudioMD.php:20 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:4 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:28 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:129 +msgid "Creator:" +msgstr "제작자:" + +#: airtime_mvc/application/forms/EditAudioMD.php:27 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:5 +msgid "Album:" +msgstr "앨범:" + +#: airtime_mvc/application/forms/EditAudioMD.php:34 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:6 +msgid "Track:" +msgstr "트랙:" + +#: airtime_mvc/application/forms/EditAudioMD.php:48 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:12 +msgid "Year:" +msgstr "년도:" + +#: airtime_mvc/application/forms/EditAudioMD.php:60 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:13 +msgid "Label:" +msgstr "상표:" + +#: airtime_mvc/application/forms/EditAudioMD.php:67 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:15 +msgid "Composer:" +msgstr "작곡가:" + +#: airtime_mvc/application/forms/EditAudioMD.php:74 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:16 +msgid "Conductor:" +msgstr "지휘자" + +#: airtime_mvc/application/forms/EditAudioMD.php:81 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:10 +msgid "Mood:" +msgstr "무드" + +#: airtime_mvc/application/forms/EditAudioMD.php:89 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:14 +msgid "BPM:" +msgstr "" + +#: airtime_mvc/application/forms/EditAudioMD.php:98 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:17 +msgid "Copyright:" +msgstr "" + +#: airtime_mvc/application/forms/EditAudioMD.php:105 +msgid "ISRC Number:" +msgstr "ISRC 넘버" + +#: airtime_mvc/application/forms/EditAudioMD.php:112 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:19 +msgid "Website:" +msgstr "웹사이트" + +#: airtime_mvc/application/forms/EditAudioMD.php:119 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:20 +msgid "Language:" +msgstr "언어" + +#: airtime_mvc/application/forms/Login.php:59 +#: airtime_mvc/application/views/scripts/login/index.phtml:3 +msgid "Login" +msgstr "로그인" + +#: airtime_mvc/application/forms/Login.php:77 +msgid "Type the characters you see in the picture below." +msgstr "밑에 보이는 그림에 나온 문자를 입력하세요" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:78 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:94 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:214 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:329 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:367 +#: airtime_mvc/application/controllers/LocaleController.php:137 +msgid "Select modifier" +msgstr "모디파이어 선택" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:79 +#: airtime_mvc/application/controllers/LocaleController.php:138 +msgid "contains" +msgstr "다음을 포합" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:80 +#: airtime_mvc/application/controllers/LocaleController.php:139 +msgid "does not contain" +msgstr "다음을 포함하지 않는" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:81 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:95 +#: airtime_mvc/application/controllers/LocaleController.php:140 +msgid "is" +msgstr "다음과 같음" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:82 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:96 +#: airtime_mvc/application/controllers/LocaleController.php:141 +msgid "is not" +msgstr "다음과 같지 않음" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:83 +#: airtime_mvc/application/controllers/LocaleController.php:142 +msgid "starts with" +msgstr "다음으로 시작" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:84 +#: airtime_mvc/application/controllers/LocaleController.php:143 +msgid "ends with" +msgstr "다음으로 끝남" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:97 +#: airtime_mvc/application/controllers/LocaleController.php:144 +msgid "is greater than" +msgstr "다음 보다 큰" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:98 +#: airtime_mvc/application/controllers/LocaleController.php:145 +msgid "is less than" +msgstr "다음 보타 작은" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:99 +#: airtime_mvc/application/controllers/LocaleController.php:146 +msgid "is in the range" +msgstr "다음 범위 안에 있는 " + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:109 +msgid "hours" +msgstr "시간" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:110 +msgid "minutes" +msgstr "분" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:111 +msgid "items" +msgstr "아이템" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:133 +msgid "Set smart block type:" +msgstr "스마트 블록 유형" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:136 +#: airtime_mvc/application/controllers/LibraryController.php:459 +msgid "Static" +msgstr "정적(Static)" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:137 +#: airtime_mvc/application/controllers/LibraryController.php:462 +msgid "Dynamic" +msgstr "동적(Dynamic)" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:248 +msgid "Allow Repeat Tracks:" +msgstr "반복적인 트랙 허용:" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:265 +msgid "Limit to" +msgstr "길이 제한" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:287 +msgid "Generate playlist content and save criteria" +msgstr "재생 목록 내용 생성후 설정 저장" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:289 +msgid "Generate" +msgstr "생성" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:295 +msgid "Shuffle playlist content" +msgstr "재생 목록 내용 셔플하기" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:297 +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:20 +msgid "Shuffle" +msgstr "셔플" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:461 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:473 +msgid "Limit cannot be empty or smaller than 0" +msgstr "길이 제한은 비어두거나 0으로 설정할수 없습니다" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:466 +msgid "Limit cannot be more than 24 hrs" +msgstr "길이 제한은 24h 보다 클수 없습니다" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:476 +msgid "The value should be an integer" +msgstr "이 값은 정수(integer) 입니다" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:479 +msgid "500 is the max item limit value you can set" +msgstr "아이템 곗수의 최대값은 500 입니다" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:490 +msgid "You must select Criteria and Modifier" +msgstr "기준과 모디파이어를 골라주세요" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:497 +msgid "'Length' should be in '00:00:00' format" +msgstr "길이는 00:00:00 형태로 입력하세요" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:502 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:515 +msgid "" +"The value should be in timestamp format(eg. 0000-00-00 or 00-00-00 00:00:00)" +msgstr "이 값은 timestamp 형태(eg. 0000-00-00 or 00-00-00 00:00:00)로 입력해주세요" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:529 +msgid "The value has to be numeric" +msgstr "이 값은 숫자만 허용 됩니다" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:534 +msgid "The value should be less then 2147483648" +msgstr "이 값은 2147483648보다 작은 수만 허용 됩니다" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:539 +#, php-format +msgid "The value should be less than %s characters" +msgstr "이 값은 %s 문자보다 작은 길이만 허용 됩니다" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:546 +msgid "Value cannot be empty" +msgstr "이 값은 비어둘수 없습니다" + +#: airtime_mvc/application/forms/ShowBuilder.php:72 +msgid "Show:" +msgstr "쇼: " + +#: airtime_mvc/application/forms/ShowBuilder.php:80 +msgid "All My Shows:" +msgstr "내 쇼:" + +#: airtime_mvc/application/forms/AddShowLiveStream.php:10 +msgid "Use Airtime Authentication:" +msgstr "Airtime 인증 사용" + +#: airtime_mvc/application/forms/AddShowLiveStream.php:16 +msgid "Use Custom Authentication:" +msgstr "Custom 인증 사용" + +#: airtime_mvc/application/forms/AddShowLiveStream.php:26 +msgid "Custom Username" +msgstr "Custom 아이디" + +#: airtime_mvc/application/forms/AddShowLiveStream.php:39 +msgid "Custom Password" +msgstr "Custom 암호" + +#: airtime_mvc/application/forms/AddShowLiveStream.php:63 +msgid "Username field cannot be empty." +msgstr "아이디를 입력해주세요" + +#: airtime_mvc/application/forms/AddShowLiveStream.php:68 +msgid "Password field cannot be empty." +msgstr "암호를 입력해주세요" + +#: airtime_mvc/application/forms/GeneralPreferences.php:33 +msgid "Default Fade (s):" +msgstr "기본 페이드 (s):" + +#: airtime_mvc/application/forms/GeneralPreferences.php:38 +msgid "enter a time in seconds 0{.0}" +msgstr "초단위를 입력해주세요 0{.0}" + +#: airtime_mvc/application/forms/GeneralPreferences.php:47 +#, php-format +msgid "" +"Allow Remote Websites To Access \"Schedule\" Info?%s (Enable this to make " +"front-end widgets work." +msgstr "리모트 웹사이트에서 스케쥴 정보에 접근을 허용? %s (위젯을 사용하려면 체크 하세요)" + +#: airtime_mvc/application/forms/GeneralPreferences.php:48 +msgid "Disabled" +msgstr "미사용" + +#: airtime_mvc/application/forms/GeneralPreferences.php:49 +msgid "Enabled" +msgstr "사용" + +#: airtime_mvc/application/forms/GeneralPreferences.php:63 +msgid "Timezone" +msgstr "시간대" + +#: airtime_mvc/application/forms/GeneralPreferences.php:71 +msgid "Week Starts On" +msgstr "주 시작일" + +#: airtime_mvc/application/forms/GeneralPreferences.php:108 +#: airtime_mvc/application/controllers/LocaleController.php:236 +msgid "Sunday" +msgstr "일요일" + +#: airtime_mvc/application/forms/GeneralPreferences.php:109 +#: airtime_mvc/application/controllers/LocaleController.php:237 +msgid "Monday" +msgstr "월요일" + +#: airtime_mvc/application/forms/GeneralPreferences.php:110 +#: airtime_mvc/application/controllers/LocaleController.php:238 +msgid "Tuesday" +msgstr "화요일" + +#: airtime_mvc/application/forms/GeneralPreferences.php:111 +#: airtime_mvc/application/controllers/LocaleController.php:239 +msgid "Wednesday" +msgstr "수요일" + +#: airtime_mvc/application/forms/GeneralPreferences.php:112 +#: airtime_mvc/application/controllers/LocaleController.php:240 +msgid "Thursday" +msgstr "목요일" + +#: airtime_mvc/application/forms/GeneralPreferences.php:113 +#: airtime_mvc/application/controllers/LocaleController.php:241 +msgid "Friday" +msgstr "금요일" + +#: airtime_mvc/application/forms/GeneralPreferences.php:114 +#: airtime_mvc/application/controllers/LocaleController.php:242 +msgid "Saturday" +msgstr "토요일" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:16 +msgid "Automatically Upload Recorded Shows" +msgstr "자동으로 녹음된 쇼 업로드 하기" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:26 +msgid "Enable SoundCloud Upload" +msgstr "Soundcloud 업로드 사용" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:36 +msgid "Automatically Mark Files \"Downloadable\" on SoundCloud" +msgstr "Soundcloud에 자동으로 파일을 \"Downloadable\"로 마크" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:47 +msgid "SoundCloud Email" +msgstr "SoundCloud 이메일" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:67 +msgid "SoundCloud Password" +msgstr "SoundCloud 암호" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:87 +msgid "SoundCloud Tags: (separate tags with spaces)" +msgstr "SoundCloud 태그: (여려 태그 입력시 띄어쓰기로 구분)" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:99 +msgid "Default Genre:" +msgstr "기본 장르:" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:109 +msgid "Default Track Type:" +msgstr "기본 트랙 타입:" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:113 +msgid "Original" +msgstr "오리지날" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:114 +msgid "Remix" +msgstr "리믹스" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:115 +msgid "Live" +msgstr "라이브" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:116 +msgid "Recording" +msgstr "녹음" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:117 +msgid "Spoken" +msgstr "인터뷰" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:118 +msgid "Podcast" +msgstr "포드캐스트" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:119 +msgid "Demo" +msgstr "데모" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:120 +msgid "Work in progress" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:121 +msgid "Stem" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:122 +msgid "Loop" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:123 +msgid "Sound Effect" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:124 +msgid "One Shot Sample" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:125 +msgid "Other" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:133 +msgid "Default License:" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:137 +msgid "The work is in the public domain" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:138 +msgid "All rights are reserved" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:139 +msgid "Creative Commons Attribution" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:140 +msgid "Creative Commons Attribution Noncommercial" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:141 +msgid "Creative Commons Attribution No Derivative Works" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:142 +msgid "Creative Commons Attribution Share Alike" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:143 +msgid "Creative Commons Attribution Noncommercial Non Derivate Works" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:144 +msgid "Creative Commons Attribution Noncommercial Share Alike" +msgstr "" + +#: airtime_mvc/application/controllers/DashboardController.php:36 +#: airtime_mvc/application/controllers/DashboardController.php:85 +msgid "You don't have permission to disconnect source." +msgstr "소스를 끊을수 있는 권한이 부족합니다" + +#: airtime_mvc/application/controllers/DashboardController.php:38 +#: airtime_mvc/application/controllers/DashboardController.php:87 +msgid "There is no source connected to this input." +msgstr "연결된 소스가 없습니다" + +#: airtime_mvc/application/controllers/DashboardController.php:82 +msgid "You don't have permission to switch source." +msgstr "소스를 바꿀수 있는 권한이 부족합니다" + +#: airtime_mvc/application/controllers/LoginController.php:34 +msgid "Please enter your user name and password" +msgstr "아이디와 암호를 입력해주세요" + +#: airtime_mvc/application/controllers/LoginController.php:73 +msgid "Wrong username or password provided. Please try again." +msgstr "아이디와 암호가 맞지 않습니다. 다시 시도해주세요" + +#: airtime_mvc/application/controllers/LoginController.php:135 +msgid "" +"Email could not be sent. Check your mail server settings and ensure it has " +"been configured properly." +msgstr "이메일을 전송 할수 없습니다. 메일 서버 세팅을 다시 확인 하여 주세요" + +#: airtime_mvc/application/controllers/LoginController.php:138 +msgid "Given email not found." +msgstr "이메일을 찾을수 없습니다" + +#: airtime_mvc/application/controllers/PreferenceController.php:70 +msgid "Preferences updated." +msgstr "설정이 업데이트 되었습니다" + +#: airtime_mvc/application/controllers/PreferenceController.php:122 +msgid "Support setting updated." +msgstr "지원 설정이 업데이트 되었습니다" + +#: airtime_mvc/application/controllers/PreferenceController.php:305 +msgid "Stream Setting Updated." +msgstr "스트림 설정이 업데이트 되었습니다" + +#: airtime_mvc/application/controllers/PreferenceController.php:332 +msgid "path should be specified" +msgstr "경로를 입력해주세요" + +#: airtime_mvc/application/controllers/PreferenceController.php:427 +msgid "Problem with Liquidsoap..." +msgstr "Liquidsoap 문제..." + +#: airtime_mvc/application/controllers/ErrorController.php:17 +msgid "Page not found" +msgstr "페이지를 찾을수 없습니다" + +#: airtime_mvc/application/controllers/ErrorController.php:22 +msgid "Application error" +msgstr "Application 애러" + +#: airtime_mvc/application/controllers/UserController.php:54 +msgid "Specific action is not allowed in demo version!" +msgstr "데모 버젼에선 허용되지 않습니다!" + +#: airtime_mvc/application/controllers/UserController.php:78 +msgid "User added successfully!" +msgstr "사용자가 추가 되었습니다!" + +#: airtime_mvc/application/controllers/UserController.php:80 +msgid "User updated successfully!" +msgstr "사용자 정보가 업데이트 되었습니다!" + +#: airtime_mvc/application/controllers/LocaleController.php:31 +msgid "Recording:" +msgstr "녹음:" + +#: airtime_mvc/application/controllers/LocaleController.php:32 +msgid "Master Stream" +msgstr "마스터 스트림" + +#: airtime_mvc/application/controllers/LocaleController.php:33 +msgid "Live Stream" +msgstr "라이브 스트림" + +#: airtime_mvc/application/controllers/LocaleController.php:34 +msgid "Nothing Scheduled" +msgstr "스케쥴 없음" + +#: airtime_mvc/application/controllers/LocaleController.php:35 +msgid "Current Show:" +msgstr "현재 쇼:" + +#: airtime_mvc/application/controllers/LocaleController.php:36 +msgid "Current" +msgstr "현재" + +#: airtime_mvc/application/controllers/LocaleController.php:38 +msgid "You are running the latest version" +msgstr "최신 버전입니다." + +#: airtime_mvc/application/controllers/LocaleController.php:39 +msgid "New version available: " +msgstr "새 버젼이 있습니다" + +#: airtime_mvc/application/controllers/LocaleController.php:40 +msgid "This version will soon be obsolete." +msgstr "지금 사용중인 버전은 조만간 지원 하지 않을것입니다" + +#: airtime_mvc/application/controllers/LocaleController.php:41 +msgid "This version is no longer supported." +msgstr "지금 사용중인 버전은 더 이상 지원 되지 않습니다" + +#: airtime_mvc/application/controllers/LocaleController.php:42 +msgid "Please upgrade to " +msgstr "새 버전으로 업그래이드 " + +#: airtime_mvc/application/controllers/LocaleController.php:44 +msgid " Add to current playlist" +msgstr " 현재 재생목록에 추가" + +#: airtime_mvc/application/controllers/LocaleController.php:45 +msgid " Add to current smart block" +msgstr " 현재 스마트 블록에 추가" + +#: airtime_mvc/application/controllers/LocaleController.php:46 +msgid "Adding 1 Item" +msgstr "아이템 1개 추가" + +#: airtime_mvc/application/controllers/LocaleController.php:47 +#, php-format +msgid "Adding %s Items" +msgstr "아이템 %s개 추가" + +#: airtime_mvc/application/controllers/LocaleController.php:48 +msgid "You can only add tracks to smart blocks." +msgstr "스마트 블록에는 파일만 추가 가능합니다" + +#: airtime_mvc/application/controllers/LocaleController.php:49 +#: airtime_mvc/application/controllers/PlaylistController.php:160 +msgid "You can only add tracks, smart blocks, and webstreams to playlists." +msgstr "재생 몰록에는 파일, 스마트 블록, 웹스트림만 추가 가능합니다" + +#: airtime_mvc/application/controllers/LocaleController.php:55 +msgid " Add to selected show" +msgstr " 선택된 쇼에 추가" + +#: airtime_mvc/application/controllers/LocaleController.php:56 +msgid "Select" +msgstr "선택" + +#: airtime_mvc/application/controllers/LocaleController.php:57 +msgid "Select this page" +msgstr "현재 페이지 선택" + +#: airtime_mvc/application/controllers/LocaleController.php:58 +msgid "Deselect this page" +msgstr "현재 페이지 선택 취소 " + +#: airtime_mvc/application/controllers/LocaleController.php:59 +msgid "Deselect all" +msgstr "모두 선택 취소" + +#: airtime_mvc/application/controllers/LocaleController.php:60 +msgid "Are you sure you want to delete the selected item(s)?" +msgstr "선택된 아이템들을 모두 지우시겠습니다?" + +#: airtime_mvc/application/controllers/LocaleController.php:64 +msgid "Bit Rate" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:81 +msgid "Sample Rate" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:86 +msgid "Loading..." +msgstr "로딩..." + +#: airtime_mvc/application/controllers/LocaleController.php:87 +#: airtime_mvc/application/controllers/LocaleController.php:156 +msgid "All" +msgstr "전체" + +#: airtime_mvc/application/controllers/LocaleController.php:88 +msgid "Files" +msgstr "파일" + +#: airtime_mvc/application/controllers/LocaleController.php:89 +msgid "Playlists" +msgstr "재생 목록" + +#: airtime_mvc/application/controllers/LocaleController.php:90 +msgid "Smart Blocks" +msgstr "스마트 블록" + +#: airtime_mvc/application/controllers/LocaleController.php:91 +msgid "Web Streams" +msgstr "웹스트림" + +#: airtime_mvc/application/controllers/LocaleController.php:92 +msgid "Unknown type: " +msgstr "알수 없는 유형:" + +#: airtime_mvc/application/controllers/LocaleController.php:93 +msgid "Are you sure you want to delete the selected item?" +msgstr "선택된 아이템을 모두 삭제 하시겠습니까?" + +#: airtime_mvc/application/controllers/LocaleController.php:94 +#: airtime_mvc/application/controllers/LocaleController.php:197 +msgid "Uploading in progress..." +msgstr "업로딩중..." + +#: airtime_mvc/application/controllers/LocaleController.php:95 +msgid "Retrieving data from the server..." +msgstr "서버에서 정보를 가져오는중..." + +#: airtime_mvc/application/controllers/LocaleController.php:96 +msgid "The soundcloud id for this file is: " +msgstr "파일의 SoundCloud 아이디:" + +#: airtime_mvc/application/controllers/LocaleController.php:97 +msgid "There was an error while uploading to soundcloud." +msgstr "SoundCloud에 업로딩중 에러가 발생했습니다." + +#: airtime_mvc/application/controllers/LocaleController.php:98 +msgid "Error code: " +msgstr "에러 코드: " + +#: airtime_mvc/application/controllers/LocaleController.php:99 +msgid "Error msg: " +msgstr "에러 메세지: " + +#: airtime_mvc/application/controllers/LocaleController.php:100 +msgid "Input must be a positive number" +msgstr "이 값은 0보다 큰 숫자만 허용 됩니다" + +#: airtime_mvc/application/controllers/LocaleController.php:101 +msgid "Input must be a number" +msgstr "이 값은 숫자만 허용합니다" + +#: airtime_mvc/application/controllers/LocaleController.php:102 +msgid "Input must be in the format: yyyy-mm-dd" +msgstr "yyyy-mm-dd의 형태로 입력해주세요" + +#: airtime_mvc/application/controllers/LocaleController.php:103 +msgid "Input must be in the format: hh:mm:ss.t" +msgstr "hh:mm:ss.t의 형태로 입력해주세요" + +#: airtime_mvc/application/controllers/LocaleController.php:106 +#, php-format +msgid "" +"You are currently uploading files. %sGoing to another screen will cancel the " +"upload process. %sAre you sure you want to leave the page?" +msgstr "현재 파일이 업로드 중입니다. %s다른 화면으로 이동하면 현재까지 업로드한 프로세스가 취소됩니다. %s이동하겠습니까?" + +#: airtime_mvc/application/controllers/LocaleController.php:108 +msgid "please put in a time '00:00:00 (.0)'" +msgstr "'00:00:00 (.0)' 형태로 입력해주세요" + +#: airtime_mvc/application/controllers/LocaleController.php:109 +msgid "please put in a time in seconds '00 (.0)'" +msgstr "초단위 '00 (.0)'로 입력해주세요" + +#: airtime_mvc/application/controllers/LocaleController.php:110 +msgid "Your browser does not support playing this file type: " +msgstr "현재 사용중인 브라우저에선 이 파일을 play할수 없습니다: " + +#: airtime_mvc/application/controllers/LocaleController.php:111 +msgid "Dynamic block is not previewable" +msgstr "동적인 스마트 블록은 프리뷰 할수 없습니다" + +#: airtime_mvc/application/controllers/LocaleController.php:112 +msgid "Limit to: " +msgstr "길이 제한: " + +#: airtime_mvc/application/controllers/LocaleController.php:114 +msgid "Playlist saved" +msgstr "재생 목록이 저장 되었습니다" + +#: airtime_mvc/application/controllers/LocaleController.php:116 +msgid "" +"Airtime is unsure about the status of this file. This can happen when the " +"file is on a remote drive that is unaccessible or the file is in a directory " +"that isn't 'watched' anymore." +msgstr "Airtime이 파일에 대해 정확히 알수 없습니다. 이 경우는 파일이 접근할수 없는 리모트 드라이브에 있거나," +" 파일이 있는 폴더가 더이상 모니터 되지 않을때 일어날수 있습니다." + +#: airtime_mvc/application/controllers/LocaleController.php:118 +msgid "Listener Count on %s: %s" +msgstr "%s의청취자 숫자 : %s" + +#: airtime_mvc/application/controllers/LocaleController.php:122 +msgid "Remind me in 1 week" +msgstr "1주후에 다시 알림" + +#: airtime_mvc/application/controllers/LocaleController.php:123 +msgid "Remind me never" +msgstr "이 창을 다시 표시 하지 않음" + +#: airtime_mvc/application/controllers/LocaleController.php:124 +msgid "Yes, help Airtime" +msgstr "Airtime 도와주기" + +#: airtime_mvc/application/controllers/LocaleController.php:125 +#: airtime_mvc/application/controllers/LocaleController.php:179 +msgid "Image must be one of jpg, jpeg, png, or gif" +msgstr "허용된 이미지 파일 타입은 jpg, jpeg, png 또는 gif 입니다" + +#: airtime_mvc/application/controllers/LocaleController.php:128 +msgid "" +"A static smart block will save the criteria and generate the block content " +"immediately. This allows you to edit and view it in the Library before " +"adding it to a show." +msgstr "정적 스마트 블록은 크라이테리아를 저장하고 내용을 생성 합니다. 그러므로 쇼에 추가 하기전에 내용을 수정하실수 있습니다 " + +#: airtime_mvc/application/controllers/LocaleController.php:130 +msgid "" +"A dynamic smart block will only save the criteria. The block content will " +"get generated upon adding it to a show. You will not be able to view and " +"edit the content in the Library." +msgstr "동적 스마트 블록은 크라이테리아만 저장하고 내용은 쇼에 추가 할때까지 생성하지 않습니다." +" 이는 동적 스마트 블록을 쇼에 추가 할때마다 다른 내용을 추가하게 됩니다." + +#: airtime_mvc/application/controllers/LocaleController.php:132 +msgid "" +"The desired block length will not be reached if Airtime cannot find enough " +"unique tracks to match your criteria. Enable this option if you wish to " +"allow tracks to be added multiple times to the smart block." +msgstr "블록 생성시 충분한 파일을 찾지 못하면, 블록 길이가 원하는 길이보다 짧아 질수 있습니다. 이 옵션을 선택하시면," +"Airtime이 트랙을 반복적으로 사용하여 길이를 채웁니다." + +#: airtime_mvc/application/controllers/LocaleController.php:133 +msgid "Smart block shuffled" +msgstr "스마트 블록이 셔플 되었습니다" + +#: airtime_mvc/application/controllers/LocaleController.php:134 +msgid "Smart block generated and criteria saved" +msgstr "스마트 블록이 생성 되고 크라이테리아가 저장 되었습니다" + +#: airtime_mvc/application/controllers/LocaleController.php:135 +msgid "Smart block saved" +msgstr "스마트 블록이 저장 되었습니다" + +#: airtime_mvc/application/controllers/LocaleController.php:136 +msgid "Processing..." +msgstr "진행중..." + +#: airtime_mvc/application/controllers/LocaleController.php:150 +msgid "Played" +msgstr "방송됨" + +#: airtime_mvc/application/controllers/LocaleController.php:155 +msgid "Choose Storage Folder" +msgstr "저장 폴더 선택" + +#: airtime_mvc/application/controllers/LocaleController.php:156 +msgid "Choose Folder to Watch" +msgstr "모니터 폴더 선택" + +#: airtime_mvc/application/controllers/LocaleController.php:158 +msgid "" +"Are you sure you want to change the storage folder?\n" +"This will remove the files from your Airtime library!" +msgstr "저장 폴더를 수정하길 원하십니까? 수정시 모든 파일이 라이브러리에서 사라집니다." + +#: airtime_mvc/application/controllers/LocaleController.php:159 +#: airtime_mvc/application/views/scripts/preference/directory-config.phtml:2 +msgid "Manage Media Folders" +msgstr "미디어 폴더 관리" + +#: airtime_mvc/application/controllers/LocaleController.php:160 +msgid "Are you sure you want to remove the watched folder?" +msgstr "선택하신 폴더를 모니터 리스트에서 삭제 하시겠습ㄴ지까?" + +#: airtime_mvc/application/controllers/LocaleController.php:161 +msgid "This path is currently not accessible." +msgstr "경로에 접근할수 없습니다" + +#: airtime_mvc/application/controllers/LocaleController.php:163 +msgid "Connected to the streaming server" +msgstr "스트리밍 서버에 접속됨" + +#: airtime_mvc/application/controllers/LocaleController.php:164 +msgid "The stream is disabled" +msgstr "스트림이 사용되지 않음" + +#: airtime_mvc/application/controllers/LocaleController.php:165 +msgid "Getting information from the server..." +msgstr "서버에서 정보를 받는중..." + +#: airtime_mvc/application/controllers/LocaleController.php:166 +msgid "Can not connect to the streaming server" +msgstr "스트리밍 서버에 접속 할수 없음" + +#: airtime_mvc/application/controllers/LocaleController.php:168 +msgid "" +"If Airtime is behind a router or firewall, you may need to configure port " +"forwarding and this field information will be incorrect. In this case you " +"will need to manually update this field so it shows the correct host/port/" +"mount that your DJ's need to connect to. The allowed range is between 1024 " +"and 49151." +msgstr "Airtime이 방화벽 뒤에 설치 되었다면, 포트 포워딩을 설정해야 할수도 있습니다. 이 경우엔 " +" 자동으로 생성된 이 정보가 틀릴수 있습니다. 수동적으로 이 필드를 수정하여 DJ들이 접속해야 하는" +"서버/마운트/포트 등을 공지 하십시오. 포트 범위는 1024~49151 입니다." + +#: airtime_mvc/application/controllers/LocaleController.php:169 +#, php-format +msgid "For more details, please read the %sAirtime Manual%s" +msgstr "더 자세한 정보는 %sAirtime Manual%s에서 찾으실수 있습니다" + +#: airtime_mvc/application/controllers/LocaleController.php:171 +msgid "" +"Check this option to enable metadata for OGG streams (stream metadata is the " +"track title, artist, and show name that is displayed in an audio player). " +"VLC and mplayer have a serious bug when playing an OGG/VORBIS stream that " +"has metadata information enabled: they will disconnect from the stream after " +"every song. If you are using an OGG stream and your listeners do not require " +"support for these audio players, then feel free to enable this option." +msgstr "OGG 스트림의 메타데이타를 사용하고 싶으시면, 이 옵션을 체크 해주세요. VLC나 mplayer 같은" +" 플래이어들에서 버그가 발견되어 OGG 스트림을 메타데이타와 함꼐 사용시, 각 파일 종료시 스트림을 끊어버립니다." + +#: airtime_mvc/application/controllers/LocaleController.php:172 +msgid "" +"Check this box to automatically switch off Master/Show source upon source " +"disconnection." +msgstr "마스터/쇼 소스가 끊어졌을때 자동으로 스위치를 끔." + +#: airtime_mvc/application/controllers/LocaleController.php:173 +msgid "" +"Check this box to automatically switch on Master/Show source upon source " +"connection." +msgstr "마스터/쇼 소스가 접속 되었을때 자동으로 스위를 켬." + +#: airtime_mvc/application/controllers/LocaleController.php:174 +msgid "" +"If your Icecast server expects a username of 'source', this field can be " +"left blank." +msgstr "Icecast 서버 인증 아이디가 source로 설정이 되어있다면, 이 필드는 입렵 하실필요 없습니다." + +#: airtime_mvc/application/controllers/LocaleController.php:175 +#: airtime_mvc/application/controllers/LocaleController.php:184 +msgid "" +"If your live streaming client does not ask for a username, this field should " +"be 'source'." +msgstr "현재 사용중이신 라이브 스트리밍 클라이언트에 사용자 필드가 없다면, 이 필드에 'source'라고 입력 해주세요." + +#: airtime_mvc/application/controllers/LocaleController.php:177 +msgid "" +"If you change the username or password values for an enabled stream the " +"playout engine will be rebooted and your listeners will hear silence for " +"5-10 seconds. Changing the following fields will NOT cause a reboot: Stream " +"Label (Global Settings), and Switch Transition Fade(s), Master Username, and " +"Master Password (Input Stream Settings). If Airtime is recording, and if the " +"change causes a playout engine restart, the recording will be interrupted." +msgstr "스트림 되고 있는 스트림에 아이디나 암호를 수정한다면, 플레이 아웃 엔진이 다시 시작되며," +" 청취자들이 5~10초 정도 정적이 들릴것입니다. 다음 필드들을 수정하는것은 엔진을 다시 시작 하지 않습니다: " +" (스트림 레이블, 스위치 페이딩, 마스터 마이디, 마스터 암호). Airtime이 현재 녹음 중이고 엔진이 재시작 되면" +" 녹음이 중단 됩니다" + +#: airtime_mvc/application/controllers/LocaleController.php:181 +msgid "No result found" +msgstr "결과 없음" + +#: airtime_mvc/application/controllers/LocaleController.php:182 +msgid "" +"This follows the same security pattern for the shows: only users assigned to " +"the show can connect." +msgstr "쇼에 지정된 사람들만 접속 할수 있습니다" + +#: airtime_mvc/application/controllers/LocaleController.php:183 +msgid "Specify custom authentication which will work only for this show." +msgstr "커스텁 인증을 설정하시면, 아무나 그걸 사용하여 해당 쇼에 접속 가능합니다" + +#: airtime_mvc/application/controllers/LocaleController.php:185 +msgid "The show instance doesn't exist anymore!" +msgstr "쇼 인스턴스가 존재 하지 않습니다" + +#: airtime_mvc/application/controllers/LocaleController.php:189 +msgid "Show" +msgstr "쇼" + +#: airtime_mvc/application/controllers/LocaleController.php:190 +msgid "Show is empty" +msgstr "쇼가 비어 있습니다" + +#: airtime_mvc/application/controllers/LocaleController.php:191 +msgid "1m" +msgstr "1분" + +#: airtime_mvc/application/controllers/LocaleController.php:192 +msgid "5m" +msgstr "5분" + +#: airtime_mvc/application/controllers/LocaleController.php:193 +msgid "10m" +msgstr "10분" + +#: airtime_mvc/application/controllers/LocaleController.php:194 +msgid "15m" +msgstr "15분" + +#: airtime_mvc/application/controllers/LocaleController.php:195 +msgid "30m" +msgstr "30분" + +#: airtime_mvc/application/controllers/LocaleController.php:196 +msgid "60m" +msgstr "60분" + +#: airtime_mvc/application/controllers/LocaleController.php:198 +msgid "Retreiving data from the server..." +msgstr "서버로부터 데이타를 불러오는중..." + +#: airtime_mvc/application/controllers/LocaleController.php:204 +msgid "This show has no scheduled content." +msgstr "내용이 없는 쇼입니다" + +#: airtime_mvc/application/controllers/LocaleController.php:208 +msgid "January" +msgstr "1월" + +#: airtime_mvc/application/controllers/LocaleController.php:209 +msgid "February" +msgstr "2월" + +#: airtime_mvc/application/controllers/LocaleController.php:210 +msgid "March" +msgstr "3월" + +#: airtime_mvc/application/controllers/LocaleController.php:211 +msgid "April" +msgstr "4월" + +#: airtime_mvc/application/controllers/LocaleController.php:212 +#: airtime_mvc/application/controllers/LocaleController.php:224 +msgid "May" +msgstr "5월" + +#: airtime_mvc/application/controllers/LocaleController.php:213 +msgid "June" +msgstr "6월" + +#: airtime_mvc/application/controllers/LocaleController.php:214 +msgid "July" +msgstr "7월" + +#: airtime_mvc/application/controllers/LocaleController.php:215 +msgid "August" +msgstr "8월" + +#: airtime_mvc/application/controllers/LocaleController.php:216 +msgid "September" +msgstr "9월" + +#: airtime_mvc/application/controllers/LocaleController.php:217 +msgid "October" +msgstr "10월" + +#: airtime_mvc/application/controllers/LocaleController.php:218 +msgid "November" +msgstr "11월" + +#: airtime_mvc/application/controllers/LocaleController.php:219 +msgid "December" +msgstr "12월" + +#: airtime_mvc/application/controllers/LocaleController.php:220 +msgid "Jan" +msgstr "1월" + +#: airtime_mvc/application/controllers/LocaleController.php:221 +msgid "Feb" +msgstr "2월" + +#: airtime_mvc/application/controllers/LocaleController.php:222 +msgid "Mar" +msgstr "3월" + +#: airtime_mvc/application/controllers/LocaleController.php:223 +msgid "Apr" +msgstr "4월" + +#: airtime_mvc/application/controllers/LocaleController.php:225 +msgid "Jun" +msgstr "6월" + +#: airtime_mvc/application/controllers/LocaleController.php:226 +msgid "Jul" +msgstr "7월" + +#: airtime_mvc/application/controllers/LocaleController.php:227 +msgid "Aug" +msgstr "8월" + +#: airtime_mvc/application/controllers/LocaleController.php:228 +msgid "Sep" +msgstr "9월" + +#: airtime_mvc/application/controllers/LocaleController.php:229 +msgid "Oct" +msgstr "10월" + +#: airtime_mvc/application/controllers/LocaleController.php:230 +msgid "Nov" +msgstr "11월" + +#: airtime_mvc/application/controllers/LocaleController.php:231 +msgid "Dec" +msgstr "12월" + +#: airtime_mvc/application/controllers/LocaleController.php:232 +msgid "today" +msgstr "오늘" + +#: airtime_mvc/application/controllers/LocaleController.php:233 +msgid "day" +msgstr "일별" + +#: airtime_mvc/application/controllers/LocaleController.php:234 +msgid "week" +msgstr "주별" + +#: airtime_mvc/application/controllers/LocaleController.php:235 +msgid "month" +msgstr "월별" + +#: airtime_mvc/application/controllers/LocaleController.php:250 +msgid "" +"Shows longer than their scheduled time will be cut off by a following show." +msgstr "쇼가 자신의 길이보다 더 길게 스케쥴 되었다면, 쇼 길이에 맞게 짤라지며, 다음 쇼가 시작 됩니다" + +#: airtime_mvc/application/controllers/LocaleController.php:251 +msgid "Cancel Current Show?" +msgstr "현재 방송중인 쇼를 중단 하시겠습니까?" + +#: airtime_mvc/application/controllers/LocaleController.php:252 +#: airtime_mvc/application/controllers/LocaleController.php:291 +msgid "Stop recording current show?" +msgstr "현재 녹음 중인 쇼를 중단 하시겠습니까?" + +#: airtime_mvc/application/controllers/LocaleController.php:253 +msgid "Ok" +msgstr "확인" + +#: airtime_mvc/application/controllers/LocaleController.php:254 +msgid "Contents of Show" +msgstr "쇼 내용" + +#: airtime_mvc/application/controllers/LocaleController.php:257 +msgid "Remove all content?" +msgstr "모든 내용물 삭제하시겠습까?" + +#: airtime_mvc/application/controllers/LocaleController.php:259 +msgid "Delete selected item(s)?" +msgstr "선택한 아이템을 삭제 하시겠습니까?" + +#: airtime_mvc/application/controllers/LocaleController.php:260 +#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:5 +msgid "Start" +msgstr "시작" + +#: airtime_mvc/application/controllers/LocaleController.php:261 +msgid "End" +msgstr "종료" + +#: airtime_mvc/application/controllers/LocaleController.php:262 +msgid "Duration" +msgstr "길이" + +#: airtime_mvc/application/controllers/LocaleController.php:268 +msgid "Cue In" +msgstr "큐 인" + +#: airtime_mvc/application/controllers/LocaleController.php:269 +msgid "Cue Out" +msgstr "큐 아웃" + +#: airtime_mvc/application/controllers/LocaleController.php:270 +msgid "Fade In" +msgstr "페이드 인" + +#: airtime_mvc/application/controllers/LocaleController.php:271 +msgid "Fade Out" +msgstr "패이드 아웃" + +#: airtime_mvc/application/controllers/LocaleController.php:272 +msgid "Show Empty" +msgstr "내용 없음" + +#: airtime_mvc/application/controllers/LocaleController.php:273 +msgid "Recording From Line In" +msgstr "라인 인으로 부터 녹음" + +#: airtime_mvc/application/controllers/LocaleController.php:278 +msgid "Cannot schedule outside a show." +msgstr "쇼 범위 밖에 스케쥴 할수 없습니다" + +#: airtime_mvc/application/controllers/LocaleController.php:279 +msgid "Moving 1 Item" +msgstr "아이템 1개 이동" + +#: airtime_mvc/application/controllers/LocaleController.php:280 +#, php-format +msgid "Moving %s Items" +msgstr "아이템 %s개 이동" + +#: airtime_mvc/application/controllers/LocaleController.php:283 +msgid "Select all" +msgstr "전체 선택" + +#: airtime_mvc/application/controllers/LocaleController.php:284 +msgid "Select none" +msgstr "전체 선택 취소" + +#: airtime_mvc/application/controllers/LocaleController.php:285 +msgid "Remove overbooked tracks" +msgstr "초과 예약된 트랙 제거" + +#: airtime_mvc/application/controllers/LocaleController.php:286 +msgid "Remove selected scheduled items" +msgstr "선택된 아이템 제거" + +#: airtime_mvc/application/controllers/LocaleController.php:287 +msgid "Jump to the current playing track" +msgstr "현재 방송중인 트랙으로 가기" + +#: airtime_mvc/application/controllers/LocaleController.php:288 +msgid "Cancel current show" +msgstr "현재 쇼 취소" + +#: airtime_mvc/application/controllers/LocaleController.php:293 +msgid "Open library to add or remove content" +msgstr "라이브러리 열기" + +#: airtime_mvc/application/controllers/LocaleController.php:294 +#: airtime_mvc/application/controllers/ScheduleController.php:262 +#: airtime_mvc/application/views/scripts/showbuilder/index.phtml:15 +msgid "Add / Remove Content" +msgstr "내용 추가/제거" + +#: airtime_mvc/application/controllers/LocaleController.php:296 +msgid "in use" +msgstr "사용중" + +#: airtime_mvc/application/controllers/LocaleController.php:297 +msgid "Disk" +msgstr "디스크" + +#: airtime_mvc/application/controllers/LocaleController.php:304 +msgid "Show / hide columns" +msgstr "컬럼 보이기/숨기기" + +#: airtime_mvc/application/controllers/LocaleController.php:306 +msgid "From {from} to {to}" +msgstr " {from}부터 {to}까지" + +#: airtime_mvc/application/controllers/LocaleController.php:307 +msgid " kbps" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:308 +msgid " yyyy-mm-dd" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:309 +msgid " hh:mm:ss.t" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:310 +msgid " kHz" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:313 +msgid "Su" +msgstr "일" + +#: airtime_mvc/application/controllers/LocaleController.php:314 +msgid "Mo" +msgstr "월" + +#: airtime_mvc/application/controllers/LocaleController.php:315 +msgid "Tu" +msgstr "화" + +#: airtime_mvc/application/controllers/LocaleController.php:316 +msgid "We" +msgstr "수" + +#: airtime_mvc/application/controllers/LocaleController.php:317 +msgid "Th" +msgstr "목" + +#: airtime_mvc/application/controllers/LocaleController.php:318 +msgid "Fr" +msgstr "금" + +#: airtime_mvc/application/controllers/LocaleController.php:319 +msgid "Sa" +msgstr "토" + +#: airtime_mvc/application/controllers/LocaleController.php:320 +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:3 +msgid "Close" +msgstr "닫기" + +#: airtime_mvc/application/controllers/LocaleController.php:322 +msgid "Hour" +msgstr "시" + +#: airtime_mvc/application/controllers/LocaleController.php:323 +msgid "Minute" +msgstr "분" + +#: airtime_mvc/application/controllers/LocaleController.php:324 +msgid "Done" +msgstr "확인" + +#: airtime_mvc/application/controllers/ShowbuilderController.php:190 +#: airtime_mvc/application/controllers/LibraryController.php:159 +msgid "Preview" +msgstr "프리뷰" + +#: airtime_mvc/application/controllers/ShowbuilderController.php:192 +msgid "Select cursor" +msgstr "커서 선택" + +#: airtime_mvc/application/controllers/ShowbuilderController.php:193 +msgid "Remove cursor" +msgstr "커서 제거" + +#: airtime_mvc/application/controllers/ShowbuilderController.php:198 +#: airtime_mvc/application/controllers/LibraryController.php:187 +#: airtime_mvc/application/controllers/LibraryController.php:215 +#: airtime_mvc/application/controllers/LibraryController.php:232 +#: airtime_mvc/application/controllers/ScheduleController.php:316 +#: airtime_mvc/application/controllers/ScheduleController.php:323 +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:26 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:23 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:18 +msgid "Delete" +msgstr "삭제" + +#: airtime_mvc/application/controllers/ShowbuilderController.php:212 +msgid "show does not exist" +msgstr "쇼가 존재 하지 않음" + +#: airtime_mvc/application/controllers/ApiController.php:56 +#: airtime_mvc/application/controllers/ApiController.php:83 +msgid "You are not allowed to access this resource." +msgstr "권한이 부족합니다" + +#: airtime_mvc/application/controllers/ApiController.php:285 +#: airtime_mvc/application/controllers/ApiController.php:324 +msgid "You are not allowed to access this resource. " +msgstr "권한이 부족합니다" + +#: airtime_mvc/application/controllers/ApiController.php:505 +msgid "File does not exist in Airtime." +msgstr "파일이 존재 하지 않습니다" + +#: airtime_mvc/application/controllers/ApiController.php:518 +msgid "File does not exist in Airtime" +msgstr "파일이 존재 하지 않습니다" + +#: airtime_mvc/application/controllers/ApiController.php:530 +msgid "File doesn't exist in Airtime." +msgstr "파일이 존재 하지 않습니다" + +#: airtime_mvc/application/controllers/ApiController.php:576 +msgid "Bad request. no 'mode' parameter passed." +msgstr "" + +#: airtime_mvc/application/controllers/ApiController.php:586 +msgid "Bad request. 'mode' parameter is invalid" +msgstr "" + +#: airtime_mvc/application/controllers/LibraryController.php:93 +#: airtime_mvc/application/controllers/PlaylistController.php:127 +#, php-format +msgid "%s not found" +msgstr "%s를 찾을수 없습니다" + +#: airtime_mvc/application/controllers/LibraryController.php:102 +#: airtime_mvc/application/controllers/PlaylistController.php:148 +msgid "Something went wrong." +msgstr "" + +#: airtime_mvc/application/controllers/LibraryController.php:180 +#: airtime_mvc/application/controllers/LibraryController.php:203 +#: airtime_mvc/application/controllers/LibraryController.php:224 +msgid "Add to Playlist" +msgstr "재생 목록에 추가" + +#: airtime_mvc/application/controllers/LibraryController.php:182 +msgid "Add to Smart Block" +msgstr "스마트 블록에 추가" + +#: airtime_mvc/application/controllers/LibraryController.php:188 +#: airtime_mvc/application/views/scripts/library/edit-file-md.phtml:2 +msgid "Edit Metadata" +msgstr "메타데이타 수정" + +#: airtime_mvc/application/controllers/LibraryController.php:192 +#: airtime_mvc/application/controllers/ScheduleController.php:900 +msgid "Download" +msgstr "다운로드" + +#: airtime_mvc/application/controllers/LibraryController.php:210 +#: airtime_mvc/application/controllers/LibraryController.php:230 +msgid "Edit" +msgstr "수정" + +#: airtime_mvc/application/controllers/LibraryController.php:243 +msgid "Soundcloud" +msgstr "" + +#: airtime_mvc/application/controllers/LibraryController.php:249 +#: airtime_mvc/application/controllers/ScheduleController.php:285 +msgid "View on Soundcloud" +msgstr "Soundcloud 보기" + +#: airtime_mvc/application/controllers/LibraryController.php:253 +#: airtime_mvc/application/controllers/ScheduleController.php:288 +msgid "Re-upload to SoundCloud" +msgstr "Soundcloud에 다시 업로드" + +#: airtime_mvc/application/controllers/LibraryController.php:255 +#: airtime_mvc/application/controllers/ScheduleController.php:288 +msgid "Upload to SoundCloud" +msgstr "Soundcloud에 업로드" + +#: airtime_mvc/application/controllers/LibraryController.php:262 +msgid "No action available" +msgstr "액션 없음" + +#: airtime_mvc/application/controllers/LibraryController.php:282 +msgid "You don't have permission to delete selected items." +msgstr "선택된 아이템을 지울수 있는 권한이 부족합니다." + +#: airtime_mvc/application/controllers/LibraryController.php:331 +msgid "Could not delete some scheduled files." +msgstr "스케쥴된 아이템들은 삭제 할수 없습니다" + +#: airtime_mvc/application/controllers/PlaylistController.php:45 +#, php-format +msgid "You are viewing an older version of %s" +msgstr "오래된 %s를 보고 있습니다" + +#: airtime_mvc/application/controllers/PlaylistController.php:120 +msgid "You cannot add tracks to dynamic blocks." +msgstr "동적인 스마트 블록에는 트랙을 추가 할수 없습니다" + +#: airtime_mvc/application/controllers/PlaylistController.php:141 +#, php-format +msgid "You don't have permission to delete selected %s(s)." +msgstr "선택하신 %s를 삭제 할수 있는 권한이 부족합니다." + +#: airtime_mvc/application/controllers/PlaylistController.php:154 +msgid "You can only add tracks to smart block." +msgstr "스마트 블록에는 트랙만 추가 가능합니다" + +#: airtime_mvc/application/controllers/PlaylistController.php:172 +msgid "Untitled Playlist" +msgstr "제목없는 재생목록" + +#: airtime_mvc/application/controllers/PlaylistController.php:174 +msgid "Untitled Smart Block" +msgstr "제목없는 스마트 블록" + +#: airtime_mvc/application/controllers/PlaylistController.php:437 +msgid "Unknown Playlist" +msgstr "모르는 재생목록" + +#: airtime_mvc/application/controllers/ScheduleController.php:253 +msgid "View Recorded File Metadata" +msgstr "녹음된 파일의 메타데이타 보기" + +#: airtime_mvc/application/controllers/ScheduleController.php:265 +msgid "Remove All Content" +msgstr "내용 모두 삭제" + +#: airtime_mvc/application/controllers/ScheduleController.php:272 +msgid "Show Content" +msgstr "쇼 내용 보기" + +#: airtime_mvc/application/controllers/ScheduleController.php:296 +#: airtime_mvc/application/controllers/ScheduleController.php:303 +msgid "Cancel Current Show" +msgstr "현재 쇼 취소" + +#: airtime_mvc/application/controllers/ScheduleController.php:300 +#: airtime_mvc/application/controllers/ScheduleController.php:310 +msgid "Edit Show" +msgstr "쇼 수정" + +#: airtime_mvc/application/controllers/ScheduleController.php:318 +msgid "Delete This Instance" +msgstr "이 인스턴스 삭제" + +#: airtime_mvc/application/controllers/ScheduleController.php:320 +msgid "Delete This Instance and All Following" +msgstr "이 인스턴스와 이후에 모든 인스턴스 삭제" + +#: airtime_mvc/application/controllers/ScheduleController.php:446 +#, php-format +msgid "Rebroadcast of show %s from %s at %s" +msgstr "%s의 재방송 %s부터 %s까지" + +#: airtime_mvc/application/controllers/WebstreamController.php:29 +#: airtime_mvc/application/controllers/WebstreamController.php:33 +msgid "Untitled Webstream" +msgstr "제목없는 웹스트림" + +#: airtime_mvc/application/controllers/WebstreamController.php:138 +msgid "Webstream saved." +msgstr "웹스트림이 저장 되었습니다" + +#: airtime_mvc/application/controllers/WebstreamController.php:146 +msgid "Invalid form values." +msgstr "잘못된 값입니다" + +#: airtime_mvc/application/views/scripts/listenerstat/index.phtml:2 +msgid "Listener Count Over Time" +msgstr "시간 경과에 따른 청취자 숫자 " + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:3 +msgid "Previous:" +msgstr "이전:" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:6 +msgid " " +msgstr "" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:10 +msgid "Next:" +msgstr "다음:" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:24 +msgid "Source Streams" +msgstr "소스 스트림" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:29 +msgid "Master Source" +msgstr "마스터 소스" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:38 +msgid "Show Source" +msgstr "쇼 소스" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:45 +msgid " Scheduled Play" +msgstr " 스케쥴" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:54 +msgid "ON AIR" +msgstr "방송중" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:55 +msgid "Listen" +msgstr "듣기" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:59 +msgid "Station time" +msgstr "방송국 시간" + +#: airtime_mvc/application/views/scripts/partialviews/trialBox.phtml:3 +msgid "Your trial expires in" +msgstr " " + +#: airtime_mvc/application/views/scripts/partialviews/trialBox.phtml:9 +msgid "Purchase your copy of Airtime" +msgstr "" + +#: airtime_mvc/application/views/scripts/partialviews/trialBox.phtml:9 +msgid "My Account" +msgstr "" + +#: airtime_mvc/application/views/scripts/user/add-user.phtml:3 +msgid "Manage Users" +msgstr "사용자 관리" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:10 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:10 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:4 +msgid "New" +msgstr "새로 만들기" + +#: airtime_mvc/application/views/scripts/user/add-user.phtml:21 +msgid "User Type" +msgstr "사용자 유형" + +#: airtime_mvc/application/views/scripts/user/add-user.phtml:10 +msgid "New User" +msgstr "새 사용자" + +#: airtime_mvc/application/views/scripts/user/add-user.phtml:17 +msgid "id" +msgstr "아이디" + +#: airtime_mvc/application/views/scripts/user/add-user.phtml:19 +msgid "First Name" +msgstr "이름" + +#: airtime_mvc/application/views/scripts/user/add-user.phtml:20 +msgid "Last Name" +msgstr "성" + +#: airtime_mvc/application/views/scripts/dashboard/about.phtml:5 +#, php-format +msgid "" +"%sAirtime%s %s, , the open radio software for scheduling and remote station " +"management. %s" +msgstr "" + +#: airtime_mvc/application/views/scripts/dashboard/about.phtml:13 +#, php-format +msgid "" +"%sSourcefabric%s o.p.s. Airtime is distributed under the %sGNU GPL v.3%s" +msgstr "" + +#: airtime_mvc/application/views/scripts/dashboard/stream-player.phtml:50 +msgid "Select stream:" +msgstr "스트림 선택" + +#: airtime_mvc/application/views/scripts/dashboard/stream-player.phtml:76 +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:50 +msgid "mute" +msgstr "음소거" + +#: airtime_mvc/application/views/scripts/dashboard/stream-player.phtml:77 +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:53 +msgid "unmute" +msgstr "음소거 해제" + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:3 +msgid "Welcome to Airtime!" +msgstr "Airtime에 오신걸 환영합니다" + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:4 +msgid "" +"Here's how you can get started using Airtime to automate your broadcasts: " +msgstr "Airtime을 이용하여 방송을 자동화 할수 있는 기본 가이드 입니다:" + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:7 +msgid "" +"Begin by adding your files to the library using the 'Add Media' menu button. " +"You can drag and drop your files to this window too." +msgstr "미디어 추가 페이지로 가셔서 원하는 파일을 드래그 앤 드랍 하십시오. 라이브러리 페이지를 가시면" +" 업로드된 파일을 확인 할수 있습니다." + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:8 +msgid "" +"Create a show by going to 'Calendar' in the menu bar, and then clicking the " +"'+ Show' icon. This can be either a one-time or repeating show. Only admins " +"and program managers can add shows." +msgstr "스케쥴 페이지에 가셔서 원하는 날짜에 더블클릭 하셔서 쇼를 생성 하십시오. 관지자와 프로그램 매니저만 " +" 쇼를 생성할수 있는 권한이 있습니다" + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:9 +msgid "" +"Add media to the show by going to your show in the Schedule calendar, left-" +"clicking on it and selecting 'Add / Remove Content'" +msgstr "만드신 쇼에 클릭을 하신다음 '내용 추가/제거' 를 클릭하십시오." + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:10 +msgid "" +"Select your media from the left pane and drag them to your show in the right " +"pane." +msgstr "왼쪽 라이브러리 스크린에서 오른쪽 쇼 내용 패널로 드래그 앤 드랍 하며 미디어를 추가 합니다" + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:12 +msgid "Then you're good to go!" +msgstr "첫 번째 쇼를 성공적으로 생성 하였습니다." + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:13 +#, php-format +msgid "For more detailed help, read the %suser manual%s." +msgstr "더 자세한 도움을 원하시면, 메뉴얼을 참고 하여 주세요. %suser manual%s" + +#: airtime_mvc/application/views/scripts/playlist/update.phtml:40 +msgid "Expand Static Block" +msgstr "정적 블록 확장" + +#: airtime_mvc/application/views/scripts/playlist/update.phtml:45 +msgid "Expand Dynamic Block" +msgstr "동적 블록 확장" + +#: airtime_mvc/application/views/scripts/playlist/update.phtml:98 +msgid "Empty smart block" +msgstr "내용물 없음" + +#: airtime_mvc/application/views/scripts/playlist/update.phtml:100 +msgid "Empty playlist" +msgstr "내용물 없음" + +#: airtime_mvc/application/views/scripts/playlist/set-fade.phtml:3 +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:66 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:71 +msgid "Fade out: " +msgstr "페이드 아웃:" + +#: airtime_mvc/application/views/scripts/playlist/set-fade.phtml:3 +#: airtime_mvc/application/views/scripts/playlist/set-fade.phtml:10 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:68 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:71 +msgid "(ss.t)" +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/set-fade.phtml:10 +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:63 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:68 +msgid "Fade in: " +msgstr "페이드 인: " + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:13 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:13 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:7 +msgid "New Playlist" +msgstr "새 재생 목록" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:14 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:14 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:8 +msgid "New Smart Block" +msgstr "새 스마트 블록" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:15 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:15 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:9 +msgid "New Webstream" +msgstr "새 웹스트림" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:20 +msgid "Shuffle playlist" +msgstr "재생 목록 셔플" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:23 +msgid "Save playlist" +msgstr "재생 목록 저장" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:30 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:27 +msgid "Playlist crossfade" +msgstr "재생 목록 크로스페이드" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:49 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:51 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:38 +msgid "View / edit description" +msgstr "설명 보기/수정" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:81 +msgid "No open playlist" +msgstr "열린 재생 목록 없음" + +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:86 +msgid "No open smart block" +msgstr "열린 스마트 블록 없음" + +#: airtime_mvc/application/views/scripts/playlist/set-cue.phtml:2 +msgid "Cue In: " +msgstr "큐 인:" + +#: airtime_mvc/application/views/scripts/playlist/set-cue.phtml:2 +#: airtime_mvc/application/views/scripts/playlist/set-cue.phtml:7 +msgid "(hh:mm:ss.t)" +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/set-cue.phtml:7 +msgid "Cue Out: " +msgstr "큐 아웃:" + +#: airtime_mvc/application/views/scripts/playlist/set-cue.phtml:12 +msgid "Original Length:" +msgstr "오리지날 길이" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:6 +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:40 +msgid "Add this show" +msgstr "쇼 추가" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:6 +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:40 +msgid "Update show" +msgstr "쇼 업데이트" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:10 +msgid "What" +msgstr "무엇" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14 +msgid "When" +msgstr "언제" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:19 +msgid "Live Stream Input" +msgstr "라이브 스트림" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:23 +msgid "Record & Rebroadcast" +msgstr "녹음 & 재방송" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:29 +msgid "Who" +msgstr "누구" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:33 +msgid "Style" +msgstr "스타일" + +#: airtime_mvc/application/views/scripts/login/password-restore-after.phtml:3 +msgid "Email sent" +msgstr "이메일이 전송 되었습니다" + +#: airtime_mvc/application/views/scripts/login/password-restore-after.phtml:6 +msgid "An email has been sent" +msgstr "이메일이 전송 되었습니다" + +#: airtime_mvc/application/views/scripts/login/password-restore-after.phtml:7 +msgid "Back to login screen" +msgstr "로그인 페이지로 가기" + +#: airtime_mvc/application/views/scripts/login/index.phtml:7 +msgid "" +"Welcome to the online Airtime demo! You can log in using the username " +"'admin' and the password 'admin'." +msgstr "" + +#: airtime_mvc/application/views/scripts/login/password-restore.phtml:3 +#: airtime_mvc/application/views/scripts/form/login.phtml:25 +msgid "Reset password" +msgstr "암호 초기화" + +#: airtime_mvc/application/views/scripts/login/password-restore.phtml:7 +msgid "" +"Please enter your account e-mail address. You will receive a link to create " +"a new password via e-mail." +msgstr "사용자 계정의 이메일을 입력해 주세요. 새로 암호를 설정할수 있는 링크가 포함된 이메일이 전송 됩니다" + +#: airtime_mvc/application/views/scripts/login/password-change.phtml:3 +msgid "New password" +msgstr "새 암호" + +#: airtime_mvc/application/views/scripts/login/password-change.phtml:6 +msgid "Please enter and confirm your new password in the fields below." +msgstr "새 암호 확인" + +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:4 +msgid "Service" +msgstr "서비스" + +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:6 +msgid "Uptime" +msgstr "업타임" + +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:7 +msgid "CPU" +msgstr "" + +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:8 +msgid "Memory" +msgstr "메모리" + +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:14 +msgid "Airtime Version" +msgstr "Airtime 버전" + +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:30 +msgid "Disk Space" +msgstr "디스크 공간" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:22 +msgid "previous" +msgstr "이전" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:25 +msgid "play" +msgstr "재생" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:28 +msgid "pause" +msgstr "중지" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:31 +msgid "next" +msgstr "다음" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:34 +msgid "stop" +msgstr "정지" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:59 +msgid "max volume" +msgstr "최대 음량 " + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:69 +msgid "Update Required" +msgstr "업데이트가 필요함" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:70 +#, php-format +msgid "" +"To play the media you will need to either update your browser to a recent " +"version or update your %sFlash plugin%s." +msgstr "미디어를 재생하기 위해선, 브라우저를 최신 버젼으로 업데이트 하시고, %sFlash plugin%s도 업데이트 해주세요" + +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:51 +msgid "Stream URL:" +msgstr "스트림 URL:" + +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:56 +msgid "Default Length:" +msgstr "기본 길이:" + +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:63 +msgid "No webstream" +msgstr "열린 웹스트림 없음" + +#: airtime_mvc/application/views/scripts/error/error.phtml:6 +msgid "Zend Framework Default Application" +msgstr "" + +#: airtime_mvc/application/views/scripts/error/error.phtml:10 +msgid "Page not found!" +msgstr "페이지를 찾을수 없습니다!" + +#: airtime_mvc/application/views/scripts/error/error.phtml:11 +msgid "Looks like the page you were looking for doesn't exist!" +msgstr "찾는 페이지가 존재 하지 않습니다!" + +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:4 +msgid "Stream " +msgstr "스트림 " + +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:33 +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:47 +#: airtime_mvc/application/views/scripts/form/preferences_email_server.phtml:44 +#: airtime_mvc/application/views/scripts/form/preferences_email_server.phtml:74 +#: airtime_mvc/application/views/scripts/form/preferences_email_server.phtml:90 +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:47 +#: airtime_mvc/application/views/scripts/form/preferences_soundcloud.phtml:44 +#: airtime_mvc/application/views/scripts/form/preferences_soundcloud.phtml:59 +#: airtime_mvc/application/views/scripts/form/preferences_general.phtml:71 +msgid "(Required)" +msgstr "(*)" + +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:76 +msgid "Additional Options" +msgstr "추가 설정" + +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:108 +msgid "" +"The following info will be displayed to listeners in their media player:" +msgstr "밑에 정보들은 청취자에 플래이어에 표시 됩니다:" + +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:179 +msgid "Stream URL: " +msgstr "스트림 URL: " + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:9 +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:27 +msgid "Choose folder" +msgstr "폴더 선택" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:10 +msgid "Set" +msgstr "저장" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:19 +msgid "Current Import Folder:" +msgstr "현재 저장 폴더:" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:28 +#: airtime_mvc/application/views/scripts/form/add-show-rebroadcast-absolute.phtml:40 +#: airtime_mvc/application/views/scripts/form/add-show-rebroadcast.phtml:41 +msgid "Add" +msgstr "추가" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:43 +msgid "" +"Rescan watched directory (This is useful if it is network mount and may be " +"out of sync with Airtime)" +msgstr "모니터중인 폴더 다시 검색(네트워크 드라이브를 모니터중일떄, Airtime과 동기화 실패시 사용)" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:44 +msgid "Remove watched directory" +msgstr "모니터중인 폴더를 리스트에서 삭제" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:50 +msgid "You are not watching any media folders." +msgstr "모니터중인 폴더가 없습니다" + +#: airtime_mvc/application/views/scripts/form/add-show-rebroadcast-absolute.phtml:4 +msgid "Choose Days:" +msgstr "날짜 선택" + +#: airtime_mvc/application/views/scripts/form/add-show-rebroadcast-absolute.phtml:18 +#: airtime_mvc/application/views/scripts/form/add-show-rebroadcast.phtml:18 +msgid "Remove" +msgstr "제거" + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:1 +msgid "Register Airtime" +msgstr "Airtime 등록" + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:6 +#, php-format +msgid "" +"Help Airtime improve by letting us know how you are using it. This info will " +"be collected regularly in order to enhance your user experience.%sClick " +"'Yes, help Airtime' and we'll make sure the features you use are constantly " +"improving." +msgstr "Airtime 사용자들 께서 피드백을 보내주시면, 그걸 기본으로 사용자들이 원하는 방향으로 나아가는" +"Airtime이 되겠습니다. 'Airtime 도와주기' 클릭하여 피드백을 보내주세요" + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:25 +#, php-format +msgid "" +"Click the box below to advertise your station on %sSourcefabric.org%s. In " +"order to promote your station, 'Send support feedback' must be enabled. This " +"data will be collected in addition to the support feedback." +msgstr "%sSourcefabric.org%s에 방송국을 홍보 하시려면 체크 하세요. 체크 하기 위해선 '피드백 보내기'를 " +"체크 하셔야 합니다" + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:65 +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:79 +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:76 +msgid "(for verification purposes only, will not be published)" +msgstr "(확인을 위한것입니다, 이 정보는 어디에도 게시 되지 않습니다)" + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:150 +msgid "Note: Anything larger than 600x600 will be resized." +msgstr "주의: 600*600보다 큰 이미지는 사이즈가 수정 됩니다" + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:164 +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:164 +msgid "Show me what I am sending " +msgstr "보내지는 데이타 보기" + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:178 +msgid "Terms and Conditions" +msgstr "사용자 약관" + +#: airtime_mvc/application/views/scripts/form/showbuilder.phtml:7 +msgid " Find Shows" +msgstr " 쇼 찾기" + +#: airtime_mvc/application/views/scripts/form/showbuilder.phtml:12 +msgid "Filter By Show:" +msgstr "쇼 필터" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:2 +msgid "Input Stream Settings" +msgstr "입력 스트림 설정" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:109 +msgid "Master Source Connection URL:" +msgstr "마스터 소스 접속 URL:" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:115 +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:159 +msgid "Override" +msgstr "덮어쓰기" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:120 +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:164 +msgid "OK" +msgstr "확인" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:120 +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:164 +msgid " " +msgstr "" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:120 +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:164 +msgid "RESET" +msgstr "초기화" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:153 +msgid "Show Source Connection URL:" +msgstr "쇼 소스 접속 URL:" + +#: airtime_mvc/application/views/scripts/form/add-show-rebroadcast.phtml:4 +msgid "Repeat Days:" +msgstr "반복 날짜:" + +#: airtime_mvc/application/views/scripts/form/daterange.phtml:6 +msgid "Filter History" +msgstr "필터 히스토리" + +#: airtime_mvc/application/views/scripts/form/preferences.phtml:5 +msgid "Email / Mail Server Settings" +msgstr "이메일/메일 서버 설정" + +#: airtime_mvc/application/views/scripts/form/preferences.phtml:10 +msgid "SoundCloud Settings" +msgstr "SoundCloud 설정" + +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:5 +#, php-format +msgid "" +"Help Airtime improve by letting Sourcefabric know how you are using it. This " +"information will be collected regularly in order to enhance your user " +"experience.%sClick the 'Send support feedback' box and we'll make sure the " +"features you use are constantly improving." +msgstr "Airtime 사용자들 께서 피드백을 보내주시면, 그걸 기본으로 사용자들이 원하는 방향으로 나아가는" +"Airtime이 되겠습니다. 'Airtime 도와주기' 클릭하여 피드백을 보내주세요" + +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:23 +#, php-format +msgid "Click the box below to promote your station on %sSourcefabric.org%s." +msgstr "%sSourcefabric.org%s에 방송국을 홍보 하시려면 체크 하세요." + +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:41 +msgid "" +"(In order to promote your station, 'Send support feedback' must be enabled)." +msgstr "(체크 하기 위해선 '피드백 보내기'를 체크 하셔야 합니다)" + +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:186 +msgid "Sourcefabric Privacy Policy" +msgstr "Sourcefabric 이용 약관" + +#: airtime_mvc/application/views/scripts/form/add-show-live-stream.phtml:53 +msgid "Connection URL: " +msgstr "접속 URL:" + +#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:3 +msgid "Smart Block Options" +msgstr "스마트 블록 옵션" + +#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:63 +msgid " to " +msgstr " 부터 " + +#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:120 +msgid "files meet the criteria" +msgstr "개의 파일들" + +#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:127 +msgid "file meet the criteria" +msgstr "개의 파일들" + +#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:133 +msgid " files meet the criteria" +msgstr " 개의 파일들" + +#: airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml:3 +#: airtime_mvc/application/views/scripts/library/library.phtml:2 +msgid "File import in progress..." +msgstr "파일 가져오기 진행중" + +#: airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml:5 +#: airtime_mvc/application/views/scripts/library/library.phtml:5 +msgid "Advanced Search Options" +msgstr "고급 검색 옵션" + +#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:2 +msgid "Stream Settings" +msgstr "스트림 설정" + +#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:12 +msgid "Global Settings" +msgstr "전역 설정" + +#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:72 +msgid "Output Stream Settings" +msgstr "출력 스트림 설정" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:7 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:30 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:32 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:128 +msgid "Length:" +msgstr "길이:" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:8 +msgid "Sample Rate:" +msgstr "" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:18 +msgid "Isrc Number:" +msgstr "ISRC 넘버:" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:21 +msgid "File" +msgstr "파일" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:21 +msgid "Path:" +msgstr "경로:" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:39 +msgid "Web Stream" +msgstr "웹스트림" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:40 +msgid "Dynamic Smart Block" +msgstr "동적 스마트 블록" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:41 +msgid "Static Smart Block" +msgstr "정적 스마트 블록" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:42 +msgid "Audio Track" +msgstr "오디오 트랙" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:48 +msgid "Playlist Contents: " +msgstr "재생목록 내용" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:50 +msgid "Static Smart Block Contents: " +msgstr "정적 스마트 블록 내용: " + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:89 +msgid "Dynamic Smart Block Criteria: " +msgstr "동적 스마트 블록 내용: " + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:118 +msgid "Limit to " +msgstr "길이 제한 " + +#: airtime_mvc/library/propel/contrib/pear/HTML_QuickForm_Propel/Propel.php:512 +msgid "Please selection an option" +msgstr "옵션을 선택 해주세요" + +#: airtime_mvc/library/propel/contrib/pear/HTML_QuickForm_Propel/Propel.php:531 +msgid "No Records" +msgstr "레코드 없음" + +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:141 +msgid "(Your radio station website)" +msgstr "(방송국 웹사이트 주소)" + +#: airtime_mvc/application/forms/PasswordChange.php:36 +msgid "Password confirmation does not match your password." +msgstr "암호와 암호 확인 값이 일치 하지 않습니다." + +#: airtime_mvc/application/forms/helpers/ValidationTypes.php:8 +#: airtime_mvc/application/forms/customvalidators/ConditionalNotEmpty.php:26 +msgid "Value is required and can't be empty" +msgstr "이 필드는 비워둘수 없습니다." + +#: airtime_mvc/application/forms/helpers/ValidationTypes.php:19 +msgid "" +"'%value%' is no valid email address in the basic format local-part@hostname" +msgstr "'%value%'은 맞지 않는 이메일 형식 입니다." + +#: airtime_mvc/application/forms/helpers/ValidationTypes.php:33 +msgid "'%value%' does not fit the date format '%format%'" +msgstr "'%value%'은 날짜 형식('%format%')에 맞지 않습니다." + +#: airtime_mvc/application/forms/AddShowWhen.php:16 +msgid "'%value%' does not fit the time format 'HH:mm'" +msgstr "'%value%'은 시간 형식('HH:mm')에 맞지 않습니다." + +#: airtime_mvc/application/models/Auth.php:36 +msgid "Airtime Password Reset" +msgstr "Airtime 암호 초기화" + +#: airtime_mvc/application/forms/helpers/ValidationTypes.php:59 +msgid "'%value%' is less than %min% characters long" +msgstr "'%value%'는 %min%글자 보다 짧을수 없습니다" + +#: airtime_mvc/application/forms/helpers/ValidationTypes.php:64 +msgid "'%value%' is more than %max% characters long" +msgstr "'%value%'는 %max%글자 보다 길수 없습니다" + +#: airtime_mvc/application/controllers/LocaleController.php:302 +msgid "Look in" +msgstr "경로" + +#: airtime_mvc/application/controllers/LocaleController.php:304 +msgid "Open" +msgstr "열기" + +#: airtime_mvc/application/forms/helpers/ValidationTypes.php:76 +msgid "'%value%' is not between '%min%' and '%max%', inclusively" +msgstr "'%value%'은 '%min%'와 '%max%' 사이에 있지 않습니다." + +#: airtime_mvc/application/models/Preference.php:469 +msgid "Select Country" +msgstr "국가 선택" + diff --git a/airtime_mvc/locale/template/airtime.po b/airtime_mvc/locale/template/airtime.po new file mode 100644 index 000000000..9eca69f28 --- /dev/null +++ b/airtime_mvc/locale/template/airtime.po @@ -0,0 +1,3325 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Airtime 2.3\n" +"Report-Msgid-Bugs-To: http://forum.sourcefabric.org/\n" +"POT-Creation-Date: 2012-11-29 11:44-0500\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: airtime_mvc/application/configs/navigation.php:12 +msgid "Now Playing" +msgstr "" + +#: airtime_mvc/application/configs/navigation.php:19 +msgid "Add Media" +msgstr "" + +#: airtime_mvc/application/configs/navigation.php:26 +msgid "Library" +msgstr "" + +#: airtime_mvc/application/configs/navigation.php:33 +msgid "Calendar" +msgstr "" + +#: airtime_mvc/application/configs/navigation.php:40 +msgid "System" +msgstr "" + +#: airtime_mvc/application/configs/navigation.php:45 +#: airtime_mvc/application/views/scripts/preference/index.phtml:2 +msgid "Preferences" +msgstr "" + +#: airtime_mvc/application/configs/navigation.php:50 +msgid "Users" +msgstr "" + +#: airtime_mvc/application/configs/navigation.php:57 +msgid "Media Folders" +msgstr "" + +#: airtime_mvc/application/configs/navigation.php:64 +msgid "Streams" +msgstr "" + +#: airtime_mvc/application/configs/navigation.php:70 +#: airtime_mvc/application/controllers/PreferenceController.php:134 +msgid "Support Feedback" +msgstr "" + +#: airtime_mvc/application/configs/navigation.php:76 +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:5 +msgid "Status" +msgstr "" + +#: airtime_mvc/application/configs/navigation.php:83 +msgid "Playout History" +msgstr "" + +#: airtime_mvc/application/configs/navigation.php:90 +msgid "Listener Stats" +msgstr "" + +#: airtime_mvc/application/configs/navigation.php:99 +#: airtime_mvc/application/views/scripts/error/error.phtml:13 +msgid "Help" +msgstr "" + +#: airtime_mvc/application/configs/navigation.php:104 +msgid "Getting Started" +msgstr "" + +#: airtime_mvc/application/configs/navigation.php:111 +msgid "User Manual" +msgstr "" + +#: airtime_mvc/application/configs/navigation.php:116 +#: airtime_mvc/application/views/scripts/dashboard/about.phtml:2 +msgid "About" +msgstr "" + +#: airtime_mvc/application/layouts/scripts/bare.phtml:5 +#: airtime_mvc/application/views/scripts/dashboard/stream-player.phtml:2 +msgid "Live stream" +msgstr "" + +#: airtime_mvc/application/layouts/scripts/audio-player.phtml:5 +#: airtime_mvc/application/controllers/LocaleController.php:34 +msgid "Audio Player" +msgstr "" + +#: airtime_mvc/application/layouts/scripts/layout.phtml:26 +msgid "Logout" +msgstr "" + +#: airtime_mvc/application/layouts/scripts/login.phtml:16 +#, php-format +msgid "" +"Airtime Copyright ©Sourcefabric o.p.s. All rights reserved.%sMaintained " +"and distributed under GNU GPL v.3 by %sSourcefabric o.p.s%s" +msgstr "" + +#: airtime_mvc/application/models/StoredFile.php:797 +#: airtime_mvc/application/controllers/LocaleController.php:277 +msgid "Track preview" +msgstr "" + +#: airtime_mvc/application/models/StoredFile.php:799 +msgid "Playlist preview" +msgstr "" + +#: airtime_mvc/application/models/StoredFile.php:802 +msgid "Webstream preview" +msgstr "" + +#: airtime_mvc/application/models/StoredFile.php:804 +msgid "Smart Block" +msgstr "" + +#: airtime_mvc/application/models/StoredFile.php:937 +msgid "Failed to create 'organize' directory." +msgstr "" + +#: airtime_mvc/application/models/StoredFile.php:950 +#, php-format +msgid "" +"The file was not uploaded, there is %s MB of disk space left and the file " +"you are uploading has a size of %s MB." +msgstr "" + +#: airtime_mvc/application/models/StoredFile.php:959 +msgid "" +"This file appears to be corrupted and will not be added to media library." +msgstr "" + +#: airtime_mvc/application/models/StoredFile.php:995 +msgid "" +"The file was not uploaded, this error can occur if the computer hard drive " +"does not have enough disk space or the stor directory does not have correct " +"write permissions." +msgstr "" + +#: airtime_mvc/application/models/Preference.php:469 +msgid "Select Country" +msgstr "" + +#: airtime_mvc/application/models/MusicDir.php:160 +#, php-format +msgid "%s is already watched." +msgstr "" + +#: airtime_mvc/application/models/MusicDir.php:164 +#, php-format +msgid "%s contains nested watched directory: %s" +msgstr "" + +#: airtime_mvc/application/models/MusicDir.php:168 +#, php-format +msgid "%s is nested within existing watched directory: %s" +msgstr "" + +#: airtime_mvc/application/models/MusicDir.php:189 +#: airtime_mvc/application/models/MusicDir.php:363 +#, php-format +msgid "%s is not a valid directory." +msgstr "" + +#: airtime_mvc/application/models/MusicDir.php:231 +#, php-format +msgid "" +"%s is already set as the current storage dir or in the watched folders list" +msgstr "" + +#: airtime_mvc/application/models/MusicDir.php:381 +#, php-format +msgid "" +"%s is already set as the current storage dir or in the watched folders list." +msgstr "" + +#: airtime_mvc/application/models/MusicDir.php:424 +#, php-format +msgid "%s doesn't exist in the watched list." +msgstr "" + +#: airtime_mvc/application/models/Playlist.php:724 +#: airtime_mvc/application/models/Block.php:757 +msgid "Cue in and cue out are null." +msgstr "" + +#: airtime_mvc/application/models/Playlist.php:754 +#: airtime_mvc/application/models/Playlist.php:777 +#: airtime_mvc/application/models/Block.php:803 +#: airtime_mvc/application/models/Block.php:824 +msgid "Can't set cue in to be larger than cue out." +msgstr "" + +#: airtime_mvc/application/models/Playlist.php:761 +#: airtime_mvc/application/models/Playlist.php:802 +#: airtime_mvc/application/models/Block.php:792 +#: airtime_mvc/application/models/Block.php:848 +msgid "Can't set cue out to be greater than file length." +msgstr "" + +#: airtime_mvc/application/models/Playlist.php:795 +#: airtime_mvc/application/models/Block.php:859 +msgid "Can't set cue out to be smaller than cue in." +msgstr "" + +#: airtime_mvc/application/models/Show.php:180 +msgid "Shows can have a max length of 24 hours." +msgstr "" + +#: airtime_mvc/application/models/Show.php:211 +#: airtime_mvc/application/forms/AddShowWhen.php:120 +msgid "End date/time cannot be in the past" +msgstr "" + +#: airtime_mvc/application/models/Show.php:222 +msgid "" +"Cannot schedule overlapping shows.\n" +"Note: Resizing a repeating show affects all of its repeats." +msgstr "" + +#: airtime_mvc/application/models/Webstream.php:157 +msgid "Length needs to be greater than 0 minutes" +msgstr "" + +#: airtime_mvc/application/models/Webstream.php:162 +msgid "Length should be of form \"00h 00m\"" +msgstr "" + +#: airtime_mvc/application/models/Webstream.php:175 +msgid "URL should be of form \"http://domain\"" +msgstr "" + +#: airtime_mvc/application/models/Webstream.php:178 +msgid "URL should be 512 characters or less" +msgstr "" + +#: airtime_mvc/application/models/Webstream.php:184 +msgid "No MIME type found for webstream." +msgstr "" + +#: airtime_mvc/application/models/Webstream.php:200 +msgid "Webstream name cannot be empty" +msgstr "" + +#: airtime_mvc/application/models/Webstream.php:269 +msgid "Could not parse XSPF playlist" +msgstr "" + +#: airtime_mvc/application/models/Webstream.php:281 +msgid "Could not parse PLS playlist" +msgstr "" + +#: airtime_mvc/application/models/Webstream.php:300 +msgid "Could not parse M3U playlist" +msgstr "" + +#: airtime_mvc/application/models/Webstream.php:314 +msgid "Invalid webstream - This appears to be a file download." +msgstr "" + +#: airtime_mvc/application/models/Webstream.php:318 +#, php-format +msgid "Unrecognized stream type: %s" +msgstr "" + +#: airtime_mvc/application/models/ShowInstance.php:245 +msgid "Can't drag and drop repeating shows" +msgstr "" + +#: airtime_mvc/application/models/ShowInstance.php:253 +msgid "Can't move a past show" +msgstr "" + +#: airtime_mvc/application/models/ShowInstance.php:270 +msgid "Can't move show into past" +msgstr "" + +#: airtime_mvc/application/models/ShowInstance.php:276 +#: airtime_mvc/application/forms/AddShowWhen.php:254 +#: airtime_mvc/application/forms/AddShowWhen.php:268 +#: airtime_mvc/application/forms/AddShowWhen.php:291 +#: airtime_mvc/application/forms/AddShowWhen.php:297 +#: airtime_mvc/application/forms/AddShowWhen.php:302 +msgid "Cannot schedule overlapping shows" +msgstr "" + +#: airtime_mvc/application/models/ShowInstance.php:290 +msgid "Can't move a recorded show less than 1 hour before its rebroadcasts." +msgstr "" + +#: airtime_mvc/application/models/ShowInstance.php:303 +msgid "Show was deleted because recorded show does not exist!" +msgstr "" + +#: airtime_mvc/application/models/ShowInstance.php:310 +msgid "Must wait 1 hour to rebroadcast." +msgstr "" + +#: airtime_mvc/application/models/ShowInstance.php:342 +msgid "can't resize a past show" +msgstr "" + +#: airtime_mvc/application/models/ShowInstance.php:364 +msgid "Should not overlap shows" +msgstr "" + +#: airtime_mvc/application/models/Auth.php:33 +#, php-format +msgid "" +"Hi %s, \n" +"\n" +"Click this link to reset your password: " +msgstr "" + +#: airtime_mvc/application/models/Auth.php:36 +msgid "Airtime Password Reset" +msgstr "" + +#: airtime_mvc/application/models/Scheduler.php:82 +msgid "The schedule you're viewing is out of date! (sched mismatch)" +msgstr "" + +#: airtime_mvc/application/models/Scheduler.php:87 +msgid "The schedule you're viewing is out of date! (instance mismatch)" +msgstr "" + +#: airtime_mvc/application/models/Scheduler.php:95 +#: airtime_mvc/application/models/Scheduler.php:346 +msgid "The schedule you're viewing is out of date!" +msgstr "" + +#: airtime_mvc/application/models/Scheduler.php:105 +#, php-format +msgid "You are not allowed to schedule show %s." +msgstr "" + +#: airtime_mvc/application/models/Scheduler.php:109 +msgid "You cannot add files to recording shows." +msgstr "" + +#: airtime_mvc/application/models/Scheduler.php:115 +#, php-format +msgid "The show %s is over and cannot be scheduled." +msgstr "" + +#: airtime_mvc/application/models/Scheduler.php:122 +#, php-format +msgid "The show %s has been previously updated!" +msgstr "" + +#: airtime_mvc/application/models/Scheduler.php:141 +#: airtime_mvc/application/models/Scheduler.php:222 +msgid "A selected File does not exist!" +msgstr "" + +#: airtime_mvc/application/models/ShowBuilder.php:198 +#, php-format +msgid "Rebroadcast of %s from %s" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1207 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:41 +msgid "Select criteria" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1208 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:42 +#: airtime_mvc/application/controllers/LocaleController.php:68 +#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:8 +msgid "Album" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1209 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:43 +msgid "Bit Rate (Kbps)" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1210 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:44 +#: airtime_mvc/application/controllers/LocaleController.php:70 +msgid "BPM" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1211 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:45 +#: airtime_mvc/application/controllers/LocaleController.php:71 +#: airtime_mvc/application/controllers/LocaleController.php:154 +msgid "Composer" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1212 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:46 +#: airtime_mvc/application/controllers/LocaleController.php:72 +msgid "Conductor" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1213 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:47 +#: airtime_mvc/application/controllers/LocaleController.php:73 +#: airtime_mvc/application/controllers/LocaleController.php:155 +msgid "Copyright" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1214 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:48 +#: airtime_mvc/application/controllers/LocaleController.php:67 +#: airtime_mvc/application/controllers/LocaleController.php:151 +#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:7 +msgid "Creator" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1215 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:49 +#: airtime_mvc/application/controllers/LocaleController.php:74 +msgid "Encoded By" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1216 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:132 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:50 +#: airtime_mvc/application/controllers/LocaleController.php:75 +#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:10 +msgid "Genre" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1217 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:51 +#: airtime_mvc/application/controllers/LocaleController.php:76 +msgid "ISRC" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1218 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:52 +#: airtime_mvc/application/controllers/LocaleController.php:77 +msgid "Label" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1219 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:53 +#: airtime_mvc/application/forms/GeneralPreferences.php:56 +#: airtime_mvc/application/controllers/LocaleController.php:78 +msgid "Language" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1220 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:54 +#: airtime_mvc/application/controllers/LocaleController.php:79 +msgid "Last Modified" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1221 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:55 +#: airtime_mvc/application/controllers/LocaleController.php:80 +msgid "Last Played" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1222 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:56 +#: airtime_mvc/application/controllers/LocaleController.php:81 +#: airtime_mvc/application/controllers/LocaleController.php:153 +#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:9 +msgid "Length" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1223 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:57 +#: airtime_mvc/application/controllers/LocaleController.php:82 +msgid "Mime" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1224 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:58 +#: airtime_mvc/application/controllers/LocaleController.php:83 +msgid "Mood" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1225 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:59 +#: airtime_mvc/application/controllers/LocaleController.php:84 +msgid "Owner" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1226 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:60 +#: airtime_mvc/application/controllers/LocaleController.php:85 +msgid "Replay Gain" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1227 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:61 +msgid "Sample Rate (kHz)" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1228 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:62 +#: airtime_mvc/application/controllers/LocaleController.php:66 +#: airtime_mvc/application/controllers/LocaleController.php:150 +#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:6 +msgid "Title" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1229 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:63 +#: airtime_mvc/application/controllers/LocaleController.php:87 +msgid "Track Number" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1230 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:64 +#: airtime_mvc/application/controllers/LocaleController.php:88 +msgid "Uploaded" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1231 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:65 +#: airtime_mvc/application/controllers/LocaleController.php:89 +msgid "Website" +msgstr "" + +#: airtime_mvc/application/models/Block.php:1232 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:66 +#: airtime_mvc/application/controllers/LocaleController.php:90 +msgid "Year" +msgstr "" + +#: airtime_mvc/application/common/DateHelper.php:335 +#, php-format +msgid "The year %s must be within the range of 1753 - 9999" +msgstr "" + +#: airtime_mvc/application/common/DateHelper.php:338 +#, php-format +msgid "%s-%s-%s is not a valid date" +msgstr "" + +#: airtime_mvc/application/common/DateHelper.php:362 +#, php-format +msgid "%s:%s:%s is not a valid time" +msgstr "" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:17 +msgid "Enable System Emails (Password Reset)" +msgstr "" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:27 +msgid "Reset Password 'From' Email" +msgstr "" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:34 +msgid "Configure Mail Server" +msgstr "" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:43 +msgid "Requires Authentication" +msgstr "" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:53 +msgid "Mail Server" +msgstr "" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:67 +msgid "Email Address" +msgstr "" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:82 +#: airtime_mvc/application/forms/PasswordChange.php:17 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:120 +msgid "Password" +msgstr "" + +#: airtime_mvc/application/forms/EmailServerPreferences.php:100 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:109 +msgid "Port" +msgstr "" + +#: airtime_mvc/application/forms/RegisterAirtime.php:30 +#: airtime_mvc/application/forms/SupportSettings.php:21 +#: airtime_mvc/application/forms/GeneralPreferences.php:22 +msgid "Station Name" +msgstr "" + +#: airtime_mvc/application/forms/RegisterAirtime.php:39 +#: airtime_mvc/application/forms/SupportSettings.php:34 +msgid "Phone:" +msgstr "" + +#: airtime_mvc/application/forms/RegisterAirtime.php:51 +#: airtime_mvc/application/forms/AddUser.php:54 +#: airtime_mvc/application/forms/SupportSettings.php:46 +msgid "Email:" +msgstr "" + +#: airtime_mvc/application/forms/RegisterAirtime.php:62 +#: airtime_mvc/application/forms/SupportSettings.php:57 +msgid "Station Web Site:" +msgstr "" + +#: airtime_mvc/application/forms/RegisterAirtime.php:73 +#: airtime_mvc/application/forms/SupportSettings.php:68 +msgid "Country:" +msgstr "" + +#: airtime_mvc/application/forms/RegisterAirtime.php:84 +#: airtime_mvc/application/forms/SupportSettings.php:79 +msgid "City:" +msgstr "" + +#: airtime_mvc/application/forms/RegisterAirtime.php:96 +#: airtime_mvc/application/forms/SupportSettings.php:91 +msgid "Station Description:" +msgstr "" + +#: airtime_mvc/application/forms/RegisterAirtime.php:106 +#: airtime_mvc/application/forms/SupportSettings.php:101 +msgid "Station Logo:" +msgstr "" + +#: airtime_mvc/application/forms/RegisterAirtime.php:116 +#: airtime_mvc/application/forms/SupportSettings.php:112 +msgid "Send support feedback" +msgstr "" + +#: airtime_mvc/application/forms/RegisterAirtime.php:126 +#: airtime_mvc/application/forms/SupportSettings.php:122 +msgid "Promote my station on Sourcefabric.org" +msgstr "" + +#: airtime_mvc/application/forms/RegisterAirtime.php:149 +#: airtime_mvc/application/forms/SupportSettings.php:148 +#, php-format +msgid "By checking this box, I agree to Sourcefabric's %sprivacy policy%s." +msgstr "" + +#: airtime_mvc/application/forms/RegisterAirtime.php:166 +#: airtime_mvc/application/forms/SupportSettings.php:173 +msgid "You have to agree to privacy policy." +msgstr "" + +#: airtime_mvc/application/forms/PasswordChange.php:28 +msgid "Confirm new password" +msgstr "" + +#: airtime_mvc/application/forms/PasswordChange.php:36 +msgid "Password confirmation does not match your password." +msgstr "" + +#: airtime_mvc/application/forms/PasswordChange.php:43 +msgid "Get new password" +msgstr "" + +#: airtime_mvc/application/forms/DateRange.php:16 +#: airtime_mvc/application/forms/ShowBuilder.php:18 +msgid "Date Start:" +msgstr "" + +#: airtime_mvc/application/forms/DateRange.php:35 +#: airtime_mvc/application/forms/DateRange.php:63 +#: airtime_mvc/application/forms/AddShowRebroadcastDates.php:31 +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:99 +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:118 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:100 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:123 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:144 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:174 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:186 +#: airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php:26 +#: airtime_mvc/application/forms/ShowBuilder.php:37 +#: airtime_mvc/application/forms/ShowBuilder.php:65 +msgid "Invalid character entered" +msgstr "" + +#: airtime_mvc/application/forms/DateRange.php:44 +#: airtime_mvc/application/forms/AddShowRepeats.php:40 +#: airtime_mvc/application/forms/ShowBuilder.php:46 +msgid "Date End:" +msgstr "" + +#: airtime_mvc/application/forms/helpers/ValidationTypes.php:8 +#: airtime_mvc/application/forms/customvalidators/ConditionalNotEmpty.php:26 +msgid "Value is required and can't be empty" +msgstr "" + +#: airtime_mvc/application/forms/helpers/ValidationTypes.php:19 +msgid "" +"'%value%' is no valid email address in the basic format local-part@hostname" +msgstr "" + +#: airtime_mvc/application/forms/helpers/ValidationTypes.php:33 +msgid "'%value%' does not fit the date format '%format%'" +msgstr "" + +#: airtime_mvc/application/forms/helpers/ValidationTypes.php:59 +msgid "'%value%' is less than %min% characters long" +msgstr "" + +#: airtime_mvc/application/forms/helpers/ValidationTypes.php:64 +msgid "'%value%' is more than %max% characters long" +msgstr "" + +#: airtime_mvc/application/forms/helpers/ValidationTypes.php:76 +msgid "'%value%' is not between '%min%' and '%max%', inclusively" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRebroadcastDates.php:15 +#: airtime_mvc/application/views/scripts/partialviews/trialBox.phtml:6 +msgid "days" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRebroadcastDates.php:63 +#: airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php:58 +msgid "Day must be specified" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRebroadcastDates.php:68 +#: airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php:63 +msgid "Time must be specified" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRebroadcastDates.php:95 +#: airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php:86 +msgid "Must wait at least 1 hour to rebroadcast" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRR.php:10 +msgid "Record from Line In?" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRR.php:16 +msgid "Rebroadcast?" +msgstr "" + +#: airtime_mvc/application/forms/AddShowStyle.php:10 +msgid "Background Colour:" +msgstr "" + +#: airtime_mvc/application/forms/AddShowStyle.php:29 +msgid "Text Colour:" +msgstr "" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:19 +msgid "Auto Switch Off" +msgstr "" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:26 +msgid "Auto Switch On" +msgstr "" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:33 +msgid "Switch Transition Fade (s)" +msgstr "" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:36 +msgid "enter a time in seconds 00{.000000}" +msgstr "" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:45 +msgid "Master Username" +msgstr "" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:62 +msgid "Master Password" +msgstr "" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:70 +msgid "Master Source Connection URL" +msgstr "" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:78 +msgid "Show Source Connection URL" +msgstr "" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:87 +msgid "Master Source Port" +msgstr "" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:90 +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:109 +#: airtime_mvc/application/forms/StreamSettingSubForm.php:112 +msgid "Only numbers are allowed." +msgstr "" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:96 +msgid "Master Source Mount Point" +msgstr "" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:106 +msgid "Show Source Port" +msgstr "" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:115 +msgid "Show Source Mount Point" +msgstr "" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:153 +msgid "You cannot use same port as Master DJ port." +msgstr "" + +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:164 +#: airtime_mvc/application/forms/LiveStreamingPreferences.php:182 +#, php-format +msgid "Port %s is not available" +msgstr "" + +#: airtime_mvc/application/forms/WatchedDirPreferences.php:14 +msgid "Import Folder:" +msgstr "" + +#: airtime_mvc/application/forms/WatchedDirPreferences.php:25 +msgid "Watched Folders:" +msgstr "" + +#: airtime_mvc/application/forms/WatchedDirPreferences.php:40 +msgid "Not a valid Directory" +msgstr "" + +#: airtime_mvc/application/forms/AddUser.php:23 +#: airtime_mvc/application/forms/Login.php:19 +msgid "Username:" +msgstr "" + +#: airtime_mvc/application/forms/AddUser.php:32 +#: airtime_mvc/application/forms/Login.php:34 +msgid "Password:" +msgstr "" + +#: airtime_mvc/application/forms/AddUser.php:40 +msgid "Firstname:" +msgstr "" + +#: airtime_mvc/application/forms/AddUser.php:47 +msgid "Lastname:" +msgstr "" + +#: airtime_mvc/application/forms/AddUser.php:63 +msgid "Mobile Phone:" +msgstr "" + +#: airtime_mvc/application/forms/AddUser.php:69 +msgid "Skype:" +msgstr "" + +#: airtime_mvc/application/forms/AddUser.php:75 +msgid "Jabber:" +msgstr "" + +#: airtime_mvc/application/forms/AddUser.php:82 +msgid "User Type:" +msgstr "" + +#: airtime_mvc/application/forms/AddUser.php:86 +#: airtime_mvc/application/controllers/LocaleController.php:309 +msgid "Guest" +msgstr "" + +#: airtime_mvc/application/forms/AddUser.php:87 +#: airtime_mvc/application/controllers/LocaleController.php:307 +msgid "DJ" +msgstr "" + +#: airtime_mvc/application/forms/AddUser.php:88 +#: airtime_mvc/application/controllers/LocaleController.php:308 +msgid "Program Manager" +msgstr "" + +#: airtime_mvc/application/forms/AddUser.php:89 +#: airtime_mvc/application/controllers/LocaleController.php:306 +msgid "Admin" +msgstr "" + +#: airtime_mvc/application/forms/AddUser.php:97 +#: airtime_mvc/application/forms/SupportSettings.php:158 +#: airtime_mvc/application/forms/EditAudioMD.php:128 +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:23 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:20 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:15 +#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:6 +#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:81 +#: airtime_mvc/application/views/scripts/preference/index.phtml:6 +#: airtime_mvc/application/views/scripts/preference/index.phtml:14 +msgid "Save" +msgstr "" + +#: airtime_mvc/application/forms/AddUser.php:107 +msgid "Login name is not unique." +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:48 +msgid "Enabled:" +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:57 +msgid "Stream Type:" +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:67 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:9 +msgid "Bit Rate:" +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:77 +msgid "Service Type:" +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:87 +msgid "Channels:" +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:88 +msgid "1 - Mono" +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:88 +msgid "2 - Stereo" +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:97 +msgid "Server" +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:141 +msgid "URL" +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:153 +msgid "Name" +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:162 +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:51 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:53 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:40 +msgid "Description" +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:171 +msgid "Mount Point" +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:183 +#: airtime_mvc/application/forms/PasswordRestore.php:25 +#: airtime_mvc/application/views/scripts/user/add-user.phtml:18 +msgid "Username" +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:194 +#: airtime_mvc/application/controllers/LocaleController.php:168 +msgid "Getting information from the server..." +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:208 +msgid "Server cannot be empty." +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:213 +msgid "Port cannot be empty." +msgstr "" + +#: airtime_mvc/application/forms/StreamSettingSubForm.php:219 +msgid "Mount cannot be empty with Icecast server." +msgstr "" + +#: airtime_mvc/application/forms/AddShowRepeats.php:11 +msgid "Repeat Type:" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRepeats.php:14 +msgid "weekly" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRepeats.php:15 +msgid "bi-weekly" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRepeats.php:16 +msgid "monthly" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRepeats.php:25 +msgid "Select Days:" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRepeats.php:28 +#: airtime_mvc/application/controllers/LocaleController.php:246 +msgid "Sun" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRepeats.php:29 +#: airtime_mvc/application/controllers/LocaleController.php:247 +msgid "Mon" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRepeats.php:30 +#: airtime_mvc/application/controllers/LocaleController.php:248 +msgid "Tue" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRepeats.php:31 +#: airtime_mvc/application/controllers/LocaleController.php:249 +msgid "Wed" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRepeats.php:32 +#: airtime_mvc/application/controllers/LocaleController.php:250 +msgid "Thu" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRepeats.php:33 +#: airtime_mvc/application/controllers/LocaleController.php:251 +msgid "Fri" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRepeats.php:34 +#: airtime_mvc/application/controllers/LocaleController.php:252 +msgid "Sat" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRepeats.php:53 +msgid "No End?" +msgstr "" + +#: airtime_mvc/application/forms/AddShowRepeats.php:79 +msgid "End date must be after start date" +msgstr "" + +#: airtime_mvc/application/forms/AddShowWhat.php:26 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:27 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:127 +msgid "Name:" +msgstr "" + +#: airtime_mvc/application/forms/AddShowWhat.php:30 +msgid "Untitled Show" +msgstr "" + +#: airtime_mvc/application/forms/AddShowWhat.php:36 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:131 +msgid "URL:" +msgstr "" + +#: airtime_mvc/application/forms/AddShowWhat.php:45 +#: airtime_mvc/application/forms/EditAudioMD.php:41 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:11 +msgid "Genre:" +msgstr "" + +#: airtime_mvc/application/forms/AddShowWhat.php:54 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:34 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:130 +msgid "Description:" +msgstr "" + +#: airtime_mvc/application/forms/AddShowWho.php:10 +msgid "Search Users:" +msgstr "" + +#: airtime_mvc/application/forms/AddShowWho.php:24 +msgid "DJs:" +msgstr "" + +#: airtime_mvc/application/forms/StreamSetting.php:22 +msgid "Hardware Audio Output" +msgstr "" + +#: airtime_mvc/application/forms/StreamSetting.php:33 +msgid "Output Type" +msgstr "" + +#: airtime_mvc/application/forms/StreamSetting.php:44 +msgid "Icecast Vorbis Metadata" +msgstr "" + +#: airtime_mvc/application/forms/StreamSetting.php:54 +msgid "Stream Label:" +msgstr "" + +#: airtime_mvc/application/forms/StreamSetting.php:55 +msgid "Artist - Title" +msgstr "" + +#: airtime_mvc/application/forms/StreamSetting.php:56 +msgid "Show - Artist - Title" +msgstr "" + +#: airtime_mvc/application/forms/StreamSetting.php:57 +msgid "Station name - Show name" +msgstr "" + +#: airtime_mvc/application/forms/PasswordRestore.php:14 +msgid "E-mail" +msgstr "" + +#: airtime_mvc/application/forms/PasswordRestore.php:36 +msgid "Restore password" +msgstr "" + +#: airtime_mvc/application/forms/PasswordRestore.php:46 +#: airtime_mvc/application/forms/EditAudioMD.php:138 +#: airtime_mvc/application/controllers/LocaleController.php:303 +msgid "Cancel" +msgstr "" + +#: airtime_mvc/application/forms/AddShowWhen.php:16 +msgid "'%value%' does not fit the time format 'HH:mm'" +msgstr "" + +#: airtime_mvc/application/forms/AddShowWhen.php:22 +msgid "Date/Time Start:" +msgstr "" + +#: airtime_mvc/application/forms/AddShowWhen.php:49 +msgid "Date/Time End:" +msgstr "" + +#: airtime_mvc/application/forms/AddShowWhen.php:74 +msgid "Duration:" +msgstr "" + +#: airtime_mvc/application/forms/AddShowWhen.php:83 +msgid "Repeats?" +msgstr "" + +#: airtime_mvc/application/forms/AddShowWhen.php:103 +msgid "Cannot create show in the past" +msgstr "" + +#: airtime_mvc/application/forms/AddShowWhen.php:111 +msgid "Cannot modify start date/time of the show that is already started" +msgstr "" + +#: airtime_mvc/application/forms/AddShowWhen.php:130 +msgid "Cannot have duration 00h 00m" +msgstr "" + +#: airtime_mvc/application/forms/AddShowWhen.php:134 +msgid "Cannot have duration greater than 24h" +msgstr "" + +#: airtime_mvc/application/forms/AddShowWhen.php:138 +msgid "Cannot have duration < 0m" +msgstr "" + +#: airtime_mvc/application/forms/EditAudioMD.php:13 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:3 +msgid "Title:" +msgstr "" + +#: airtime_mvc/application/forms/EditAudioMD.php:20 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:4 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:28 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:129 +msgid "Creator:" +msgstr "" + +#: airtime_mvc/application/forms/EditAudioMD.php:27 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:5 +msgid "Album:" +msgstr "" + +#: airtime_mvc/application/forms/EditAudioMD.php:34 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:6 +msgid "Track:" +msgstr "" + +#: airtime_mvc/application/forms/EditAudioMD.php:48 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:12 +msgid "Year:" +msgstr "" + +#: airtime_mvc/application/forms/EditAudioMD.php:60 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:13 +msgid "Label:" +msgstr "" + +#: airtime_mvc/application/forms/EditAudioMD.php:67 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:15 +msgid "Composer:" +msgstr "" + +#: airtime_mvc/application/forms/EditAudioMD.php:74 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:16 +msgid "Conductor:" +msgstr "" + +#: airtime_mvc/application/forms/EditAudioMD.php:81 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:10 +msgid "Mood:" +msgstr "" + +#: airtime_mvc/application/forms/EditAudioMD.php:89 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:14 +msgid "BPM:" +msgstr "" + +#: airtime_mvc/application/forms/EditAudioMD.php:98 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:17 +msgid "Copyright:" +msgstr "" + +#: airtime_mvc/application/forms/EditAudioMD.php:105 +msgid "ISRC Number:" +msgstr "" + +#: airtime_mvc/application/forms/EditAudioMD.php:112 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:19 +msgid "Website:" +msgstr "" + +#: airtime_mvc/application/forms/EditAudioMD.php:119 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:20 +msgid "Language:" +msgstr "" + +#: airtime_mvc/application/forms/Login.php:59 +#: airtime_mvc/application/views/scripts/login/index.phtml:3 +msgid "Login" +msgstr "" + +#: airtime_mvc/application/forms/Login.php:77 +msgid "Type the characters you see in the picture below." +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:78 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:94 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:214 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:329 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:367 +#: airtime_mvc/application/controllers/LocaleController.php:139 +msgid "Select modifier" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:79 +#: airtime_mvc/application/controllers/LocaleController.php:140 +msgid "contains" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:80 +#: airtime_mvc/application/controllers/LocaleController.php:141 +msgid "does not contain" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:81 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:95 +#: airtime_mvc/application/controllers/LocaleController.php:142 +msgid "is" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:82 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:96 +#: airtime_mvc/application/controllers/LocaleController.php:143 +msgid "is not" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:83 +#: airtime_mvc/application/controllers/LocaleController.php:144 +msgid "starts with" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:84 +#: airtime_mvc/application/controllers/LocaleController.php:145 +msgid "ends with" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:97 +#: airtime_mvc/application/controllers/LocaleController.php:146 +msgid "is greater than" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:98 +#: airtime_mvc/application/controllers/LocaleController.php:147 +msgid "is less than" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:99 +#: airtime_mvc/application/controllers/LocaleController.php:148 +msgid "is in the range" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:109 +msgid "hours" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:110 +msgid "minutes" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:111 +msgid "items" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:133 +msgid "Set smart block type:" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:136 +#: airtime_mvc/application/controllers/LibraryController.php:459 +msgid "Static" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:137 +#: airtime_mvc/application/controllers/LibraryController.php:462 +msgid "Dynamic" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:248 +msgid "Allow Repeat Tracks:" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:265 +msgid "Limit to" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:287 +msgid "Generate playlist content and save criteria" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:289 +msgid "Generate" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:295 +msgid "Shuffle playlist content" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:297 +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:20 +msgid "Shuffle" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:461 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:473 +msgid "Limit cannot be empty or smaller than 0" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:466 +msgid "Limit cannot be more than 24 hrs" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:476 +msgid "The value should be an integer" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:479 +msgid "500 is the max item limit value you can set" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:490 +msgid "You must select Criteria and Modifier" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:497 +msgid "'Length' should be in '00:00:00' format" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:502 +#: airtime_mvc/application/forms/SmartBlockCriteria.php:515 +msgid "" +"The value should be in timestamp format(eg. 0000-00-00 or 00-00-00 00:00:00)" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:529 +msgid "The value has to be numeric" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:534 +msgid "The value should be less then 2147483648" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:539 +#, php-format +msgid "The value should be less than %s characters" +msgstr "" + +#: airtime_mvc/application/forms/SmartBlockCriteria.php:546 +msgid "Value cannot be empty" +msgstr "" + +#: airtime_mvc/application/forms/ShowBuilder.php:72 +msgid "Show:" +msgstr "" + +#: airtime_mvc/application/forms/ShowBuilder.php:80 +msgid "All My Shows:" +msgstr "" + +#: airtime_mvc/application/forms/AddShowLiveStream.php:10 +msgid "Use Airtime Authentication:" +msgstr "" + +#: airtime_mvc/application/forms/AddShowLiveStream.php:16 +msgid "Use Custom Authentication:" +msgstr "" + +#: airtime_mvc/application/forms/AddShowLiveStream.php:26 +msgid "Custom Username" +msgstr "" + +#: airtime_mvc/application/forms/AddShowLiveStream.php:39 +msgid "Custom Password" +msgstr "" + +#: airtime_mvc/application/forms/AddShowLiveStream.php:63 +msgid "Username field cannot be empty." +msgstr "" + +#: airtime_mvc/application/forms/AddShowLiveStream.php:68 +msgid "Password field cannot be empty." +msgstr "" + +#: airtime_mvc/application/forms/GeneralPreferences.php:34 +msgid "Default Fade (s):" +msgstr "" + +#: airtime_mvc/application/forms/GeneralPreferences.php:39 +msgid "enter a time in seconds 0{.0}" +msgstr "" + +#: airtime_mvc/application/forms/GeneralPreferences.php:48 +#, php-format +msgid "" +"Allow Remote Websites To Access \"Schedule\" Info?%s (Enable this to make " +"front-end widgets work.)" +msgstr "" + +#: airtime_mvc/application/forms/GeneralPreferences.php:49 +msgid "Disabled" +msgstr "" + +#: airtime_mvc/application/forms/GeneralPreferences.php:50 +msgid "Enabled" +msgstr "" + +#: airtime_mvc/application/forms/GeneralPreferences.php:64 +msgid "Timezone" +msgstr "" + +#: airtime_mvc/application/forms/GeneralPreferences.php:72 +msgid "Week Starts On" +msgstr "" + +#: airtime_mvc/application/forms/GeneralPreferences.php:109 +#: airtime_mvc/application/controllers/LocaleController.php:239 +msgid "Sunday" +msgstr "" + +#: airtime_mvc/application/forms/GeneralPreferences.php:110 +#: airtime_mvc/application/controllers/LocaleController.php:240 +msgid "Monday" +msgstr "" + +#: airtime_mvc/application/forms/GeneralPreferences.php:111 +#: airtime_mvc/application/controllers/LocaleController.php:241 +msgid "Tuesday" +msgstr "" + +#: airtime_mvc/application/forms/GeneralPreferences.php:112 +#: airtime_mvc/application/controllers/LocaleController.php:242 +msgid "Wednesday" +msgstr "" + +#: airtime_mvc/application/forms/GeneralPreferences.php:113 +#: airtime_mvc/application/controllers/LocaleController.php:243 +msgid "Thursday" +msgstr "" + +#: airtime_mvc/application/forms/GeneralPreferences.php:114 +#: airtime_mvc/application/controllers/LocaleController.php:244 +msgid "Friday" +msgstr "" + +#: airtime_mvc/application/forms/GeneralPreferences.php:115 +#: airtime_mvc/application/controllers/LocaleController.php:245 +msgid "Saturday" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:16 +msgid "Automatically Upload Recorded Shows" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:26 +msgid "Enable SoundCloud Upload" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:36 +msgid "Automatically Mark Files \"Downloadable\" on SoundCloud" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:47 +msgid "SoundCloud Email" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:67 +msgid "SoundCloud Password" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:87 +msgid "SoundCloud Tags: (separate tags with spaces)" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:99 +msgid "Default Genre:" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:109 +msgid "Default Track Type:" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:113 +msgid "Original" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:114 +msgid "Remix" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:115 +msgid "Live" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:116 +msgid "Recording" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:117 +msgid "Spoken" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:118 +msgid "Podcast" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:119 +msgid "Demo" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:120 +msgid "Work in progress" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:121 +msgid "Stem" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:122 +msgid "Loop" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:123 +msgid "Sound Effect" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:124 +msgid "One Shot Sample" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:125 +msgid "Other" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:133 +msgid "Default License:" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:137 +msgid "The work is in the public domain" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:138 +msgid "All rights are reserved" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:139 +msgid "Creative Commons Attribution" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:140 +msgid "Creative Commons Attribution Noncommercial" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:141 +msgid "Creative Commons Attribution No Derivative Works" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:142 +msgid "Creative Commons Attribution Share Alike" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:143 +msgid "Creative Commons Attribution Noncommercial Non Derivate Works" +msgstr "" + +#: airtime_mvc/application/forms/SoundcloudPreferences.php:144 +msgid "Creative Commons Attribution Noncommercial Share Alike" +msgstr "" + +#: airtime_mvc/application/controllers/DashboardController.php:36 +#: airtime_mvc/application/controllers/DashboardController.php:85 +msgid "You don't have permission to disconnect source." +msgstr "" + +#: airtime_mvc/application/controllers/DashboardController.php:38 +#: airtime_mvc/application/controllers/DashboardController.php:87 +msgid "There is no source connected to this input." +msgstr "" + +#: airtime_mvc/application/controllers/DashboardController.php:82 +msgid "You don't have permission to switch source." +msgstr "" + +#: airtime_mvc/application/controllers/LoginController.php:34 +msgid "Please enter your user name and password" +msgstr "" + +#: airtime_mvc/application/controllers/LoginController.php:73 +msgid "Wrong username or password provided. Please try again." +msgstr "" + +#: airtime_mvc/application/controllers/LoginController.php:135 +msgid "" +"Email could not be sent. Check your mail server settings and ensure it has " +"been configured properly." +msgstr "" + +#: airtime_mvc/application/controllers/LoginController.php:138 +msgid "Given email not found." +msgstr "" + +#: airtime_mvc/application/controllers/PreferenceController.php:70 +msgid "Preferences updated." +msgstr "" + +#: airtime_mvc/application/controllers/PreferenceController.php:122 +msgid "Support setting updated." +msgstr "" + +#: airtime_mvc/application/controllers/PreferenceController.php:305 +msgid "Stream Setting Updated." +msgstr "" + +#: airtime_mvc/application/controllers/PreferenceController.php:332 +msgid "path should be specified" +msgstr "" + +#: airtime_mvc/application/controllers/PreferenceController.php:427 +msgid "Problem with Liquidsoap..." +msgstr "" + +#: airtime_mvc/application/controllers/ErrorController.php:17 +msgid "Page not found" +msgstr "" + +#: airtime_mvc/application/controllers/ErrorController.php:22 +msgid "Application error" +msgstr "" + +#: airtime_mvc/application/controllers/UserController.php:54 +msgid "Specific action is not allowed in demo version!" +msgstr "" + +#: airtime_mvc/application/controllers/UserController.php:78 +msgid "User added successfully!" +msgstr "" + +#: airtime_mvc/application/controllers/UserController.php:80 +msgid "User updated successfully!" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:36 +msgid "Recording:" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:37 +msgid "Master Stream" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:38 +msgid "Live Stream" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:39 +msgid "Nothing Scheduled" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:40 +msgid "Current Show:" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:41 +msgid "Current" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:43 +msgid "You are running the latest version" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:44 +msgid "New version available: " +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:45 +msgid "This version will soon be obsolete." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:46 +msgid "This version is no longer supported." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:47 +msgid "Please upgrade to " +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:49 +msgid "Add to current playlist" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:50 +msgid "Add to current smart block" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:51 +msgid "Adding 1 Item" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:52 +#, php-format +msgid "Adding %s Items" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:53 +msgid "You can only add tracks to smart blocks." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:54 +#: airtime_mvc/application/controllers/PlaylistController.php:160 +msgid "You can only add tracks, smart blocks, and webstreams to playlists." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:60 +msgid "Add to selected show" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:61 +msgid "Select" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:62 +msgid "Select this page" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:63 +msgid "Deselect this page" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:64 +msgid "Deselect all" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:65 +msgid "Are you sure you want to delete the selected item(s)?" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:69 +msgid "Bit Rate" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:86 +msgid "Sample Rate" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:91 +msgid "Loading..." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:92 +#: airtime_mvc/application/controllers/LocaleController.php:156 +msgid "All" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:93 +msgid "Files" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:94 +msgid "Playlists" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:95 +msgid "Smart Blocks" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:96 +msgid "Web Streams" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:97 +msgid "Unknown type: " +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:98 +msgid "Are you sure you want to delete the selected item?" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:99 +#: airtime_mvc/application/controllers/LocaleController.php:200 +msgid "Uploading in progress..." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:100 +msgid "Retrieving data from the server..." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:101 +msgid "The soundcloud id for this file is: " +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:102 +msgid "There was an error while uploading to soundcloud." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:103 +msgid "Error code: " +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:104 +msgid "Error msg: " +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:105 +msgid "Input must be a positive number" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:106 +msgid "Input must be a number" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:107 +msgid "Input must be in the format: yyyy-mm-dd" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:108 +msgid "Input must be in the format: hh:mm:ss.t" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:111 +#, php-format +msgid "" +"You are currently uploading files. %sGoing to another screen will cancel the " +"upload process. %sAre you sure you want to leave the page?" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:113 +msgid "please put in a time '00:00:00 (.0)'" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:114 +msgid "please put in a time in seconds '00 (.0)'" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:115 +msgid "Your browser does not support playing this file type: " +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:116 +msgid "Dynamic block is not previewable" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:117 +msgid "Limit to: " +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:118 +msgid "Playlist saved" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:120 +msgid "" +"Airtime is unsure about the status of this file. This can happen when the " +"file is on a remote drive that is unaccessible or the file is in a directory " +"that isn't 'watched' anymore." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:122 +#, php-format +msgid "Listener Count on %s: %s" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:124 +msgid "Remind me in 1 week" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:125 +msgid "Remind me never" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:126 +msgid "Yes, help Airtime" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:127 +#: airtime_mvc/application/controllers/LocaleController.php:182 +msgid "Image must be one of jpg, jpeg, png, or gif" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:130 +msgid "" +"A static smart block will save the criteria and generate the block content " +"immediately. This allows you to edit and view it in the Library before " +"adding it to a show." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:132 +msgid "" +"A dynamic smart block will only save the criteria. The block content will " +"get generated upon adding it to a show. You will not be able to view and " +"edit the content in the Library." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:134 +msgid "" +"The desired block length will not be reached if Airtime cannot find enough " +"unique tracks to match your criteria. Enable this option if you wish to " +"allow tracks to be added multiple times to the smart block." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:135 +msgid "Smart block shuffled" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:136 +msgid "Smart block generated and criteria saved" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:137 +msgid "Smart block saved" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:138 +msgid "Processing..." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:152 +msgid "Played" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:158 +msgid "Choose Storage Folder" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:159 +msgid "Choose Folder to Watch" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:161 +msgid "" +"Are you sure you want to change the storage folder?\n" +"This will remove the files from your Airtime library!" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:162 +#: airtime_mvc/application/views/scripts/preference/directory-config.phtml:2 +msgid "Manage Media Folders" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:163 +msgid "Are you sure you want to remove the watched folder?" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:164 +msgid "This path is currently not accessible." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:166 +msgid "Connected to the streaming server" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:167 +msgid "The stream is disabled" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:169 +msgid "Can not connect to the streaming server" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:171 +msgid "" +"If Airtime is behind a router or firewall, you may need to configure port " +"forwarding and this field information will be incorrect. In this case you " +"will need to manually update this field so it shows the correct host/port/" +"mount that your DJ's need to connect to. The allowed range is between 1024 " +"and 49151." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:172 +#, php-format +msgid "For more details, please read the %sAirtime Manual%s" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:174 +msgid "" +"Check this option to enable metadata for OGG streams (stream metadata is the " +"track title, artist, and show name that is displayed in an audio player). " +"VLC and mplayer have a serious bug when playing an OGG/VORBIS stream that " +"has metadata information enabled: they will disconnect from the stream after " +"every song. If you are using an OGG stream and your listeners do not require " +"support for these audio players, then feel free to enable this option." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:175 +msgid "" +"Check this box to automatically switch off Master/Show source upon source " +"disconnection." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:176 +msgid "" +"Check this box to automatically switch on Master/Show source upon source " +"connection." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:177 +msgid "" +"If your Icecast server expects a username of 'source', this field can be " +"left blank." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:178 +#: airtime_mvc/application/controllers/LocaleController.php:187 +msgid "" +"If your live streaming client does not ask for a username, this field should " +"be 'source'." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:180 +msgid "" +"If you change the username or password values for an enabled stream the " +"playout engine will be rebooted and your listeners will hear silence for " +"5-10 seconds. Changing the following fields will NOT cause a reboot: Stream " +"Label (Global Settings), and Switch Transition Fade(s), Master Username, and " +"Master Password (Input Stream Settings). If Airtime is recording, and if the " +"change causes a playout engine restart, the recording will be interrupted." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:184 +msgid "No result found" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:185 +msgid "" +"This follows the same security pattern for the shows: only users assigned to " +"the show can connect." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:186 +msgid "Specify custom authentication which will work only for this show." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:188 +msgid "The show instance doesn't exist anymore!" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:192 +msgid "Show" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:193 +msgid "Show is empty" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:194 +msgid "1m" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:195 +msgid "5m" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:196 +msgid "10m" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:197 +msgid "15m" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:198 +msgid "30m" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:199 +msgid "60m" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:201 +msgid "Retreiving data from the server..." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:207 +msgid "This show has no scheduled content." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:211 +msgid "January" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:212 +msgid "February" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:213 +msgid "March" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:214 +msgid "April" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:215 +#: airtime_mvc/application/controllers/LocaleController.php:227 +msgid "May" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:216 +msgid "June" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:217 +msgid "July" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:218 +msgid "August" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:219 +msgid "September" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:220 +msgid "October" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:221 +msgid "November" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:222 +msgid "December" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:223 +msgid "Jan" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:224 +msgid "Feb" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:225 +msgid "Mar" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:226 +msgid "Apr" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:228 +msgid "Jun" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:229 +msgid "Jul" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:230 +msgid "Aug" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:231 +msgid "Sep" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:232 +msgid "Oct" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:233 +msgid "Nov" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:234 +msgid "Dec" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:235 +msgid "today" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:236 +msgid "day" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:237 +msgid "week" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:238 +msgid "month" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:253 +msgid "" +"Shows longer than their scheduled time will be cut off by a following show." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:254 +msgid "Cancel Current Show?" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:255 +#: airtime_mvc/application/controllers/LocaleController.php:294 +msgid "Stop recording current show?" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:256 +msgid "Ok" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:257 +msgid "Contents of Show" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:260 +msgid "Remove all content?" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:262 +msgid "Delete selected item(s)?" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:263 +#: airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml:5 +msgid "Start" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:264 +msgid "End" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:265 +msgid "Duration" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:271 +msgid "Cue In" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:272 +msgid "Cue Out" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:273 +msgid "Fade In" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:274 +msgid "Fade Out" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:275 +msgid "Show Empty" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:276 +msgid "Recording From Line In" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:281 +msgid "Cannot schedule outside a show." +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:282 +msgid "Moving 1 Item" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:283 +#, php-format +msgid "Moving %s Items" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:286 +msgid "Select all" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:287 +msgid "Select none" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:288 +msgid "Remove overbooked tracks" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:289 +msgid "Remove selected scheduled items" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:290 +msgid "Jump to the current playing track" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:291 +msgid "Cancel current show" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:296 +msgid "Open library to add or remove content" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:297 +#: airtime_mvc/application/controllers/ScheduleController.php:262 +#: airtime_mvc/application/views/scripts/showbuilder/index.phtml:15 +msgid "Add / Remove Content" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:299 +msgid "in use" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:300 +msgid "Disk" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:302 +msgid "Look in" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:304 +msgid "Open" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:311 +msgid "Show / hide columns" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:313 +msgid "From {from} to {to}" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:314 +msgid "kbps" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:315 +msgid "yyyy-mm-dd" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:316 +msgid "hh:mm:ss.t" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:317 +msgid "kHz" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:320 +msgid "Su" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:321 +msgid "Mo" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:322 +msgid "Tu" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:323 +msgid "We" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:324 +msgid "Th" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:325 +msgid "Fr" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:326 +msgid "Sa" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:327 +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:3 +msgid "Close" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:329 +msgid "Hour" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:330 +msgid "Minute" +msgstr "" + +#: airtime_mvc/application/controllers/LocaleController.php:331 +msgid "Done" +msgstr "" + +#: airtime_mvc/application/controllers/ShowbuilderController.php:190 +#: airtime_mvc/application/controllers/LibraryController.php:159 +msgid "Preview" +msgstr "" + +#: airtime_mvc/application/controllers/ShowbuilderController.php:192 +msgid "Select cursor" +msgstr "" + +#: airtime_mvc/application/controllers/ShowbuilderController.php:193 +msgid "Remove cursor" +msgstr "" + +#: airtime_mvc/application/controllers/ShowbuilderController.php:198 +#: airtime_mvc/application/controllers/LibraryController.php:187 +#: airtime_mvc/application/controllers/LibraryController.php:215 +#: airtime_mvc/application/controllers/LibraryController.php:232 +#: airtime_mvc/application/controllers/ScheduleController.php:316 +#: airtime_mvc/application/controllers/ScheduleController.php:323 +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:26 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:23 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:18 +msgid "Delete" +msgstr "" + +#: airtime_mvc/application/controllers/ShowbuilderController.php:212 +msgid "show does not exist" +msgstr "" + +#: airtime_mvc/application/controllers/ApiController.php:56 +#: airtime_mvc/application/controllers/ApiController.php:83 +msgid "You are not allowed to access this resource." +msgstr "" + +#: airtime_mvc/application/controllers/ApiController.php:285 +#: airtime_mvc/application/controllers/ApiController.php:324 +msgid "You are not allowed to access this resource. " +msgstr "" + +#: airtime_mvc/application/controllers/ApiController.php:505 +msgid "File does not exist in Airtime." +msgstr "" + +#: airtime_mvc/application/controllers/ApiController.php:518 +msgid "File does not exist in Airtime" +msgstr "" + +#: airtime_mvc/application/controllers/ApiController.php:530 +msgid "File doesn't exist in Airtime." +msgstr "" + +#: airtime_mvc/application/controllers/ApiController.php:576 +msgid "Bad request. no 'mode' parameter passed." +msgstr "" + +#: airtime_mvc/application/controllers/ApiController.php:586 +msgid "Bad request. 'mode' parameter is invalid" +msgstr "" + +#: airtime_mvc/application/controllers/LibraryController.php:93 +#: airtime_mvc/application/controllers/PlaylistController.php:127 +#, php-format +msgid "%s not found" +msgstr "" + +#: airtime_mvc/application/controllers/LibraryController.php:102 +#: airtime_mvc/application/controllers/PlaylistController.php:148 +msgid "Something went wrong." +msgstr "" + +#: airtime_mvc/application/controllers/LibraryController.php:180 +#: airtime_mvc/application/controllers/LibraryController.php:203 +#: airtime_mvc/application/controllers/LibraryController.php:224 +msgid "Add to Playlist" +msgstr "" + +#: airtime_mvc/application/controllers/LibraryController.php:182 +msgid "Add to Smart Block" +msgstr "" + +#: airtime_mvc/application/controllers/LibraryController.php:188 +#: airtime_mvc/application/views/scripts/library/edit-file-md.phtml:2 +msgid "Edit Metadata" +msgstr "" + +#: airtime_mvc/application/controllers/LibraryController.php:192 +#: airtime_mvc/application/controllers/ScheduleController.php:900 +msgid "Download" +msgstr "" + +#: airtime_mvc/application/controllers/LibraryController.php:210 +#: airtime_mvc/application/controllers/LibraryController.php:230 +msgid "Edit" +msgstr "" + +#: airtime_mvc/application/controllers/LibraryController.php:243 +msgid "Soundcloud" +msgstr "" + +#: airtime_mvc/application/controllers/LibraryController.php:249 +#: airtime_mvc/application/controllers/ScheduleController.php:285 +msgid "View on Soundcloud" +msgstr "" + +#: airtime_mvc/application/controllers/LibraryController.php:253 +#: airtime_mvc/application/controllers/ScheduleController.php:288 +msgid "Re-upload to SoundCloud" +msgstr "" + +#: airtime_mvc/application/controllers/LibraryController.php:255 +#: airtime_mvc/application/controllers/ScheduleController.php:288 +msgid "Upload to SoundCloud" +msgstr "" + +#: airtime_mvc/application/controllers/LibraryController.php:262 +msgid "No action available" +msgstr "" + +#: airtime_mvc/application/controllers/LibraryController.php:282 +msgid "You don't have permission to delete selected items." +msgstr "" + +#: airtime_mvc/application/controllers/LibraryController.php:331 +msgid "Could not delete some scheduled files." +msgstr "" + +#: airtime_mvc/application/controllers/PlaylistController.php:45 +#, php-format +msgid "You are viewing an older version of %s" +msgstr "" + +#: airtime_mvc/application/controllers/PlaylistController.php:120 +msgid "You cannot add tracks to dynamic blocks." +msgstr "" + +#: airtime_mvc/application/controllers/PlaylistController.php:141 +#, php-format +msgid "You don't have permission to delete selected %s(s)." +msgstr "" + +#: airtime_mvc/application/controllers/PlaylistController.php:154 +msgid "You can only add tracks to smart block." +msgstr "" + +#: airtime_mvc/application/controllers/PlaylistController.php:172 +msgid "Untitled Playlist" +msgstr "" + +#: airtime_mvc/application/controllers/PlaylistController.php:174 +msgid "Untitled Smart Block" +msgstr "" + +#: airtime_mvc/application/controllers/PlaylistController.php:437 +msgid "Unknown Playlist" +msgstr "" + +#: airtime_mvc/application/controllers/ScheduleController.php:253 +msgid "View Recorded File Metadata" +msgstr "" + +#: airtime_mvc/application/controllers/ScheduleController.php:265 +msgid "Remove All Content" +msgstr "" + +#: airtime_mvc/application/controllers/ScheduleController.php:272 +msgid "Show Content" +msgstr "" + +#: airtime_mvc/application/controllers/ScheduleController.php:296 +#: airtime_mvc/application/controllers/ScheduleController.php:303 +msgid "Cancel Current Show" +msgstr "" + +#: airtime_mvc/application/controllers/ScheduleController.php:300 +#: airtime_mvc/application/controllers/ScheduleController.php:310 +msgid "Edit Show" +msgstr "" + +#: airtime_mvc/application/controllers/ScheduleController.php:318 +msgid "Delete This Instance" +msgstr "" + +#: airtime_mvc/application/controllers/ScheduleController.php:320 +msgid "Delete This Instance and All Following" +msgstr "" + +#: airtime_mvc/application/controllers/ScheduleController.php:446 +#, php-format +msgid "Rebroadcast of show %s from %s at %s" +msgstr "" + +#: airtime_mvc/application/controllers/WebstreamController.php:29 +#: airtime_mvc/application/controllers/WebstreamController.php:33 +msgid "Untitled Webstream" +msgstr "" + +#: airtime_mvc/application/controllers/WebstreamController.php:138 +msgid "Webstream saved." +msgstr "" + +#: airtime_mvc/application/controllers/WebstreamController.php:146 +msgid "Invalid form values." +msgstr "" + +#: airtime_mvc/application/views/scripts/listenerstat/index.phtml:2 +msgid "Listener Count Over Time" +msgstr "" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:3 +msgid "Previous:" +msgstr "" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:10 +msgid "Next:" +msgstr "" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:24 +msgid "Source Streams" +msgstr "" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:29 +msgid "Master Source" +msgstr "" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:38 +msgid "Show Source" +msgstr "" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:45 +msgid "Scheduled Play" +msgstr "" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:54 +msgid "ON AIR" +msgstr "" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:55 +msgid "Listen" +msgstr "" + +#: airtime_mvc/application/views/scripts/partialviews/header.phtml:59 +msgid "Station time" +msgstr "" + +#: airtime_mvc/application/views/scripts/partialviews/trialBox.phtml:3 +msgid "Your trial expires in" +msgstr "" + +#: airtime_mvc/application/views/scripts/partialviews/trialBox.phtml:9 +msgid "Purchase your copy of Airtime" +msgstr "" + +#: airtime_mvc/application/views/scripts/partialviews/trialBox.phtml:9 +msgid "My Account" +msgstr "" + +#: airtime_mvc/application/views/scripts/user/add-user.phtml:3 +msgid "Manage Users" +msgstr "" + +#: airtime_mvc/application/views/scripts/user/add-user.phtml:10 +msgid "New User" +msgstr "" + +#: airtime_mvc/application/views/scripts/user/add-user.phtml:17 +msgid "id" +msgstr "" + +#: airtime_mvc/application/views/scripts/user/add-user.phtml:19 +msgid "First Name" +msgstr "" + +#: airtime_mvc/application/views/scripts/user/add-user.phtml:20 +msgid "Last Name" +msgstr "" + +#: airtime_mvc/application/views/scripts/user/add-user.phtml:21 +msgid "User Type" +msgstr "" + +#: airtime_mvc/application/views/scripts/dashboard/about.phtml:5 +#, php-format +msgid "" +"%sAirtime%s %s, , the open radio software for scheduling and remote station " +"management. %s" +msgstr "" + +#: airtime_mvc/application/views/scripts/dashboard/about.phtml:13 +#, php-format +msgid "" +"%sSourcefabric%s o.p.s. Airtime is distributed under the %sGNU GPL v.3%s" +msgstr "" + +#: airtime_mvc/application/views/scripts/dashboard/stream-player.phtml:50 +msgid "Select stream:" +msgstr "" + +#: airtime_mvc/application/views/scripts/dashboard/stream-player.phtml:76 +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:50 +msgid "mute" +msgstr "" + +#: airtime_mvc/application/views/scripts/dashboard/stream-player.phtml:77 +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:53 +msgid "unmute" +msgstr "" + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:3 +msgid "Welcome to Airtime!" +msgstr "" + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:4 +msgid "" +"Here's how you can get started using Airtime to automate your broadcasts: " +msgstr "" + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:7 +msgid "" +"Begin by adding your files to the library using the 'Add Media' menu button. " +"You can drag and drop your files to this window too." +msgstr "" + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:8 +msgid "" +"Create a show by going to 'Calendar' in the menu bar, and then clicking the " +"'+ Show' icon. This can be either a one-time or repeating show. Only admins " +"and program managers can add shows." +msgstr "" + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:9 +msgid "" +"Add media to the show by going to your show in the Schedule calendar, left-" +"clicking on it and selecting 'Add / Remove Content'" +msgstr "" + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:10 +msgid "" +"Select your media from the left pane and drag them to your show in the right " +"pane." +msgstr "" + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:12 +msgid "Then you're good to go!" +msgstr "" + +#: airtime_mvc/application/views/scripts/dashboard/help.phtml:13 +#, php-format +msgid "For more detailed help, read the %suser manual%s." +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/update.phtml:40 +msgid "Expand Static Block" +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/update.phtml:45 +msgid "Expand Dynamic Block" +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/update.phtml:98 +msgid "Empty smart block" +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/update.phtml:100 +msgid "Empty playlist" +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/set-fade.phtml:3 +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:66 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:71 +msgid "Fade out: " +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/set-fade.phtml:3 +#: airtime_mvc/application/views/scripts/playlist/set-fade.phtml:10 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:68 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:71 +msgid "(ss.t)" +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/set-fade.phtml:10 +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:63 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:68 +msgid "Fade in: " +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:10 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:10 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:4 +msgid "New" +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:13 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:13 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:7 +msgid "New Playlist" +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:14 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:14 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:8 +msgid "New Smart Block" +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:15 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:15 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:9 +msgid "New Webstream" +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:20 +msgid "Shuffle playlist" +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:23 +msgid "Save playlist" +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:30 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:27 +msgid "Playlist crossfade" +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:49 +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:51 +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:38 +msgid "View / edit description" +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/playlist.phtml:81 +msgid "No open playlist" +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/smart-block.phtml:86 +msgid "No open smart block" +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/set-cue.phtml:2 +msgid "Cue In: " +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/set-cue.phtml:2 +#: airtime_mvc/application/views/scripts/playlist/set-cue.phtml:7 +msgid "(hh:mm:ss.t)" +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/set-cue.phtml:7 +msgid "Cue Out: " +msgstr "" + +#: airtime_mvc/application/views/scripts/playlist/set-cue.phtml:12 +msgid "Original Length:" +msgstr "" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:6 +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:40 +msgid "Add this show" +msgstr "" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:6 +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:40 +msgid "Update show" +msgstr "" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:10 +msgid "What" +msgstr "" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:14 +msgid "When" +msgstr "" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:19 +msgid "Live Stream Input" +msgstr "" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:23 +msgid "Record & Rebroadcast" +msgstr "" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:29 +msgid "Who" +msgstr "" + +#: airtime_mvc/application/views/scripts/schedule/add-show-form.phtml:33 +msgid "Style" +msgstr "" + +#: airtime_mvc/application/views/scripts/login/password-restore-after.phtml:3 +msgid "Email sent" +msgstr "" + +#: airtime_mvc/application/views/scripts/login/password-restore-after.phtml:6 +msgid "An email has been sent" +msgstr "" + +#: airtime_mvc/application/views/scripts/login/password-restore-after.phtml:7 +msgid "Back to login screen" +msgstr "" + +#: airtime_mvc/application/views/scripts/login/index.phtml:7 +msgid "" +"Welcome to the online Airtime demo! You can log in using the username " +"'admin' and the password 'admin'." +msgstr "" + +#: airtime_mvc/application/views/scripts/login/password-restore.phtml:3 +#: airtime_mvc/application/views/scripts/form/login.phtml:25 +msgid "Reset password" +msgstr "" + +#: airtime_mvc/application/views/scripts/login/password-restore.phtml:7 +msgid "" +"Please enter your account e-mail address. You will receive a link to create " +"a new password via e-mail." +msgstr "" + +#: airtime_mvc/application/views/scripts/login/password-change.phtml:3 +msgid "New password" +msgstr "" + +#: airtime_mvc/application/views/scripts/login/password-change.phtml:6 +msgid "Please enter and confirm your new password in the fields below." +msgstr "" + +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:4 +msgid "Service" +msgstr "" + +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:6 +msgid "Uptime" +msgstr "" + +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:7 +msgid "CPU" +msgstr "" + +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:8 +msgid "Memory" +msgstr "" + +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:14 +msgid "Airtime Version" +msgstr "" + +#: airtime_mvc/application/views/scripts/systemstatus/index.phtml:30 +msgid "Disk Space" +msgstr "" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:22 +msgid "previous" +msgstr "" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:25 +msgid "play" +msgstr "" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:28 +msgid "pause" +msgstr "" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:31 +msgid "next" +msgstr "" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:34 +msgid "stop" +msgstr "" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:59 +msgid "max volume" +msgstr "" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:69 +msgid "Update Required" +msgstr "" + +#: airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml:70 +#, php-format +msgid "" +"To play the media you will need to either update your browser to a recent " +"version or update your %sFlash plugin%s." +msgstr "" + +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:51 +msgid "Stream URL:" +msgstr "" + +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:56 +msgid "Default Length:" +msgstr "" + +#: airtime_mvc/application/views/scripts/webstream/webstream.phtml:63 +msgid "No webstream" +msgstr "" + +#: airtime_mvc/application/views/scripts/error/error.phtml:6 +msgid "Zend Framework Default Application" +msgstr "" + +#: airtime_mvc/application/views/scripts/error/error.phtml:10 +msgid "Page not found!" +msgstr "" + +#: airtime_mvc/application/views/scripts/error/error.phtml:11 +msgid "Looks like the page you were looking for doesn't exist!" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:4 +msgid "Stream " +msgstr "" + +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:33 +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:47 +#: airtime_mvc/application/views/scripts/form/preferences_email_server.phtml:44 +#: airtime_mvc/application/views/scripts/form/preferences_email_server.phtml:74 +#: airtime_mvc/application/views/scripts/form/preferences_email_server.phtml:90 +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:47 +#: airtime_mvc/application/views/scripts/form/preferences_soundcloud.phtml:44 +#: airtime_mvc/application/views/scripts/form/preferences_soundcloud.phtml:59 +#: airtime_mvc/application/views/scripts/form/preferences_general.phtml:71 +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:46 +msgid "(Required)" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:76 +msgid "Additional Options" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:108 +msgid "" +"The following info will be displayed to listeners in their media player:" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:141 +msgid "(Your radio station website)" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/stream-setting-form.phtml:179 +msgid "Stream URL: " +msgstr "" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:9 +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:27 +msgid "Choose folder" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:10 +msgid "Set" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:19 +msgid "Current Import Folder:" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:28 +#: airtime_mvc/application/views/scripts/form/add-show-rebroadcast-absolute.phtml:40 +#: airtime_mvc/application/views/scripts/form/add-show-rebroadcast.phtml:41 +msgid "Add" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:43 +msgid "" +"Rescan watched directory (This is useful if it is network mount and may be " +"out of sync with Airtime)" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:44 +msgid "Remove watched directory" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml:50 +msgid "You are not watching any media folders." +msgstr "" + +#: airtime_mvc/application/views/scripts/form/add-show-rebroadcast-absolute.phtml:4 +msgid "Choose Days:" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/add-show-rebroadcast-absolute.phtml:18 +#: airtime_mvc/application/views/scripts/form/add-show-rebroadcast.phtml:18 +msgid "Remove" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:1 +msgid "Register Airtime" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:6 +#, php-format +msgid "" +"Help Airtime improve by letting us know how you are using it. This info will " +"be collected regularly in order to enhance your user experience.%sClick " +"'Yes, help Airtime' and we'll make sure the features you use are constantly " +"improving." +msgstr "" + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:25 +#, php-format +msgid "" +"Click the box below to advertise your station on %sSourcefabric.org%s. In " +"order to promote your station, 'Send support feedback' must be enabled. This " +"data will be collected in addition to the support feedback." +msgstr "" + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:65 +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:79 +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:61 +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:76 +msgid "(for verification purposes only, will not be published)" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:150 +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:151 +msgid "Note: Anything larger than 600x600 will be resized." +msgstr "" + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:164 +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:164 +msgid "Show me what I am sending " +msgstr "" + +#: airtime_mvc/application/views/scripts/form/register-dialog.phtml:178 +msgid "Terms and Conditions" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/showbuilder.phtml:7 +msgid "Find Shows" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/showbuilder.phtml:12 +msgid "Filter By Show:" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:2 +msgid "Input Stream Settings" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:109 +msgid "Master Source Connection URL:" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:115 +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:159 +msgid "Override" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:120 +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:164 +msgid "OK" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:120 +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:164 +msgid "RESET" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/preferences_livestream.phtml:153 +msgid "Show Source Connection URL:" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/add-show-rebroadcast.phtml:4 +msgid "Repeat Days:" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/daterange.phtml:6 +msgid "Filter History" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/preferences.phtml:5 +msgid "Email / Mail Server Settings" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/preferences.phtml:10 +msgid "SoundCloud Settings" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:5 +#, php-format +msgid "" +"Help Airtime improve by letting Sourcefabric know how you are using it. This " +"information will be collected regularly in order to enhance your user " +"experience.%sClick the 'Send support feedback' box and we'll make sure the " +"features you use are constantly improving." +msgstr "" + +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:23 +#, php-format +msgid "Click the box below to promote your station on %sSourcefabric.org%s." +msgstr "" + +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:41 +msgid "" +"(In order to promote your station, 'Send support feedback' must be enabled)." +msgstr "" + +#: airtime_mvc/application/views/scripts/form/support-setting.phtml:186 +msgid "Sourcefabric Privacy Policy" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/add-show-live-stream.phtml:53 +msgid "Connection URL: " +msgstr "" + +#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:3 +msgid "Smart Block Options" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:63 +msgid " to " +msgstr "" + +#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:120 +#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:133 +msgid "files meet the criteria" +msgstr "" + +#: airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml:127 +msgid "file meet the criteria" +msgstr "" + +#: airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml:3 +#: airtime_mvc/application/views/scripts/library/library.phtml:2 +msgid "File import in progress..." +msgstr "" + +#: airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml:5 +#: airtime_mvc/application/views/scripts/library/library.phtml:5 +msgid "Advanced Search Options" +msgstr "" + +#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:2 +msgid "Stream Settings" +msgstr "" + +#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:12 +msgid "Global Settings" +msgstr "" + +#: airtime_mvc/application/views/scripts/preference/stream-setting.phtml:72 +msgid "Output Stream Settings" +msgstr "" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:7 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:30 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:32 +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:128 +msgid "Length:" +msgstr "" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:8 +msgid "Sample Rate:" +msgstr "" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:18 +msgid "Isrc Number:" +msgstr "" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:21 +msgid "File" +msgstr "" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:21 +msgid "Path:" +msgstr "" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:39 +msgid "Web Stream" +msgstr "" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:40 +msgid "Dynamic Smart Block" +msgstr "" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:41 +msgid "Static Smart Block" +msgstr "" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:42 +msgid "Audio Track" +msgstr "" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:48 +msgid "Playlist Contents: " +msgstr "" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:50 +msgid "Static Smart Block Contents: " +msgstr "" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:89 +msgid "Dynamic Smart Block Criteria: " +msgstr "" + +#: airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml:118 +msgid "Limit to " +msgstr "" + +#: airtime_mvc/library/propel/contrib/pear/HTML_QuickForm_Propel/Propel.php:512 +msgid "Please selection an option" +msgstr "" + +#: airtime_mvc/library/propel/contrib/pear/HTML_QuickForm_Propel/Propel.php:531 +msgid "No Records" +msgstr "" diff --git a/airtime_mvc/public/css/bootstrap.css b/airtime_mvc/public/css/bootstrap.css index bf5466865..97fa6b159 100644 --- a/airtime_mvc/public/css/bootstrap.css +++ b/airtime_mvc/public/css/bootstrap.css @@ -513,6 +513,10 @@ input[type="submit"].btn.btn-mini { background-repeat: no-repeat; margin-top: 1px; } + +.add-show-close { + width: 25px; +} /* White icons with optional class, or on hover/active states of certain elements */ .icon-white, .nav > .active > a > [class^="icon-"], diff --git a/airtime_mvc/public/js/airtime/common/common.js b/airtime_mvc/public/js/airtime/common/common.js index 984b9419e..b6870728b 100644 --- a/airtime_mvc/public/js/airtime/common/common.js +++ b/airtime_mvc/public/js/airtime/common/common.js @@ -11,6 +11,35 @@ $(document).ready(function() { setTimeout(function(){$(".success").fadeOut("slow", function(){$(this).empty()});}, 5000); }); +/* + * i18n_months and i18n_days_short are used in jquery datepickers + * which we use in multiple places + */ +var i18n_months = [ + $.i18n._("January"), + $.i18n._("February"), + $.i18n._("March"), + $.i18n._("April"), + $.i18n._("May"), + $.i18n._("June"), + $.i18n._("July"), + $.i18n._("August"), + $.i18n._("September"), + $.i18n._("October"), + $.i18n._("November"), + $.i18n._("December") +]; + +var i18n_days_short = [ + $.i18n._("Su"), + $.i18n._("Mo"), + $.i18n._("Tu"), + $.i18n._("We"), + $.i18n._("Th"), + $.i18n._("Fr"), + $.i18n._("Sa"), +] + function adjustDateToServerDate(date, serverTimezoneOffset){ //date object stores time in the browser's localtime. We need to artificially shift //it to @@ -104,7 +133,7 @@ function open_show_preview(p_showID, p_showIndex) { } function openPreviewWindow(url) { - _preview_window = window.open(url, 'Audio Player', 'width=450,height=100,scrollbars=yes'); + _preview_window = window.open(url, $.i18n._('Audio Player'), 'width=450,height=100,scrollbars=yes'); return false; } diff --git a/airtime_mvc/public/js/airtime/dashboard/dashboard.js b/airtime_mvc/public/js/airtime/dashboard/dashboard.js index df107ef15..b7d7054e6 100644 --- a/airtime_mvc/public/js/airtime/dashboard/dashboard.js +++ b/airtime_mvc/public/js/airtime/dashboard/dashboard.js @@ -143,24 +143,24 @@ function updatePlaybar(){ } if (currentSong !== null && !master_dj_on_air && !live_dj_on_air){ if (currentSong.record == "1") - $('#current').html("Recording: "+currentSong.name+","); + $('#current').html(""+$.i18n._("Recording:")+""+currentSong.name+","); else $('#current').text(currentSong.name+","); }else{ if (master_dj_on_air) { if (showName) { - $('#current').html("Current: "+showName+" - Master Stream"); + $('#current').html($.i18n._("Current")+": "+showName+" - "+$.i18n._("Master Stream")+""); } else { - $('#current').html("Current: Master Stream"); + $('#current').html($.i18n._("Current")+": "+$.i18n._("Master Stream")+""); } } else if (live_dj_on_air) { if (showName) { - $('#current').html("Current: "+showName+" - Live Stream"); + $('#current').html($.i18n._("Current")+": "+showName+" - "+$.i18n._("Live Stream")+""); } else { - $('#current').html("Current: Live Stream"); + $('#current').html($.i18n._("Current")+": "+$.i18n._("Live Stream")+""); } } else { - $('#current').html("Current: Nothing Scheduled"); + $('#current').html($.i18n._("Current")+": "+$.i18n._("Nothing Scheduled")+""); } } @@ -191,7 +191,7 @@ function updatePlaybar(){ $('#song-length').text(convertToHHMMSSmm(currentSong.songLengthMs)); } /* Column 1 update */ - $('#playlist').text("Current Show:"); + $('#playlist').text($.i18n._("Current Show:")); var recElem = $('.recording-show'); if (currentShow.length > 0){ $('#playlist').text(currentShow[0].name); diff --git a/airtime_mvc/public/js/airtime/dashboard/versiontooltip.js b/airtime_mvc/public/js/airtime/dashboard/versiontooltip.js index 10afb2864..4b6675591 100644 --- a/airtime_mvc/public/js/airtime/dashboard/versiontooltip.js +++ b/airtime_mvc/public/js/airtime/dashboard/versiontooltip.js @@ -8,13 +8,13 @@ function getContent() { var msg = ""; // See file airtime_mvc/application/views/helpers/VersionNotify.php for more info if(isUpToDate()) { - msg = "You are running the latest version"; + msg = $.i18n._("You are running the latest version"); } else if (diff < 20) { - msg = "New version available: " + link; + msg = $.i18n._("New version available: ") + link; } else if (diff < 30) { - msg = "This version will soon be obsolete.
Please upgrade to " + link; + msg = $.i18n._("This version will soon be obsolete.")+"
"+$.i18n._("Please upgrade to ") + link; } else { - msg = "This version is no longer supported.
Please upgrade to " + link; + msg = $.i18n._("This version is no longer supported.")+"
"+$.i18n._("Please upgrade to ") + link; } return msg; diff --git a/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js b/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js index 457b219b7..50141eeac 100644 --- a/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js +++ b/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js @@ -30,11 +30,11 @@ var AIRTIME = (function(AIRTIME) { var objType = $('#obj_type').val(), btnText; if (objType === 'playlist') { - btnText = ' Add to current playlist'; + btnText = ' '+$.i18n._('Add to current playlist'); } else if (objType === 'block') { - btnText = ' Add to current smart block'; + btnText = ' '+$.i18n._('Add to current smart block'); } else { - btnText = ' Add to current playlist'; + btnText = ' '+$.i18n._('Add to current playlist'); } AIRTIME.library.changeAddButtonText($('.btn-group #library-plus #lib-plus-text'), btnText); }; @@ -86,9 +86,9 @@ var AIRTIME = (function(AIRTIME) { } if (selected === 1) { - message = "Adding 1 Item."; + message = $.i18n._("Adding 1 Item"); } else { - message = "Adding " + selected + " Items."; + message = sprintf($.i18n._("Adding %s Items"), selected); } container = $('
').append( @@ -158,9 +158,9 @@ var AIRTIME = (function(AIRTIME) { undefined, 'after'); } else { if ($('#obj_type').val() == 'block') { - alert('You can only add tracks to smart blocks.'); + alert($.i18n._('You can only add tracks to smart blocks.')); } else if ($('#obj_type').val() == 'playlist') { - alert('You can only add tracks, smart blocks, and webstreams to playlists.'); + alert($.i18n._('You can only add tracks, smart blocks, and webstreams to playlists.')); } } }); diff --git a/airtime_mvc/public/js/airtime/library/events/library_showbuilder.js b/airtime_mvc/public/js/airtime/library/events/library_showbuilder.js index 0cd236aa2..0b7be3d57 100644 --- a/airtime_mvc/public/js/airtime/library/events/library_showbuilder.js +++ b/airtime_mvc/public/js/airtime/library/events/library_showbuilder.js @@ -21,7 +21,7 @@ var AIRTIME = (function(AIRTIME) { AIRTIME.button.disableButton("btn-group #library-plus", false); } - AIRTIME.library.changeAddButtonText($('.btn-group #library-plus #lib-plus-text'), ' Add to selected show'); + AIRTIME.library.changeAddButtonText($('.btn-group #library-plus #lib-plus-text'), ' '+$.i18n._('Add to selected show')); }; mod.fnRowCallback = function(nRow, aData, iDisplayIndex, iDisplayIndexFull) { @@ -66,9 +66,9 @@ var AIRTIME = (function(AIRTIME) { } if (selected === 1) { - message = "Adding 1 Item."; + message = $.i18n._("Adding 1 Item"); } else { - message = "Adding " + selected + " Items."; + message = sprintf($.i18n._("Adding %s Items"), selected); } container = $('
').attr('id', diff --git a/airtime_mvc/public/js/airtime/library/library.js b/airtime_mvc/public/js/airtime/library/library.js index ccc215920..3d5af4570 100644 --- a/airtime_mvc/public/js/airtime/library/library.js +++ b/airtime_mvc/public/js/airtime/library/library.js @@ -109,12 +109,12 @@ var AIRTIME = (function(AIRTIME) { $menu .append("
" + "" + "" + "
") .append("
" + @@ -322,7 +322,7 @@ var AIRTIME = (function(AIRTIME) { }; mod.fnDeleteSelectedItems = function() { - if (confirm('Are you sure you want to delete the selected item(s)?')) { + if (confirm($.i18n._('Are you sure you want to delete the selected item(s)?'))) { var aData = AIRTIME.library.getSelectedData(), item, temp, @@ -439,32 +439,33 @@ var AIRTIME = (function(AIRTIME) { /* ftype */ { "sTitle" : "" , "mDataProp" : "ftype" , "bSearchable" : false , "bVisible" : false } , /* Checkbox */ { "sTitle" : "" , "mDataProp" : "checkbox" , "bSortable" : false , "bSearchable" : false , "sWidth" : "25px" , "sClass" : "library_checkbox" } , /* Type */ { "sTitle" : "" , "mDataProp" : "image" , "bSearchable" : false , "sWidth" : "25px" , "sClass" : "library_type" , "iDataSort" : 0 } , - /* Title */ { "sTitle" : "Title" , "mDataProp" : "track_title" , "sClass" : "library_title" , "sWidth" : "170px" } , - /* Creator */ { "sTitle" : "Creator" , "mDataProp" : "artist_name" , "sClass" : "library_creator" , "sWidth" : "160px" } , - /* Album */ { "sTitle" : "Album" , "mDataProp" : "album_title" , "sClass" : "library_album" , "sWidth" : "150px" } , - /* Bit Rate */ { "sTitle" : "Bit Rate" , "mDataProp" : "bit_rate" , "bVisible" : false , "sClass" : "library_bitrate" , "sWidth" : "80px" }, - /* BPM */ { "sTitle" : "BPM" , "mDataProp" : "bpm" , "bVisible" : false , "sClass" : "library_bpm" , "sWidth" : "50px" }, - /* Composer */ { "sTitle" : "Composer" , "mDataProp" : "composer" , "bVisible" : false , "sClass" : "library_composer" , "sWidth" : "150px" }, - /* Conductor */ { "sTitle" : "Conductor" , "mDataProp" : "conductor" , "bVisible" : false , "sClass" : "library_conductor" , "sWidth" : "125px" }, - /* Copyright */ { "sTitle" : "Copyright" , "mDataProp" : "copyright" , "bVisible" : false , "sClass" : "library_copyright" , "sWidth" : "125px" }, - /* Encoded */ { "sTitle" : "Encoded By" , "mDataProp" : "encoded_by" , "bVisible" : false , "sClass" : "library_encoded" , "sWidth" : "150px" }, - /* Genre */ { "sTitle" : "Genre" , "mDataProp" : "genre" , "bVisible" : false , "sClass" : "library_genre" , "sWidth" : "100px" }, - /* ISRC Number */ { "sTitle" : "ISRC" , "mDataProp" : "isrc_number" , "bVisible" : false , "sClass" : "library_isrc" , "sWidth" : "150px" }, - /* Label */ { "sTitle" : "Label" , "mDataProp" : "label" , "bVisible" : false , "sClass" : "library_label" , "sWidth" : "125px" }, - /* Language */ { "sTitle" : "Language" , "mDataProp" : "language" , "bVisible" : false , "sClass" : "library_language" , "sWidth" : "125px" }, - /* Last Modified */ { "sTitle" : "Last Modified" , "mDataProp" : "mtime" , "bVisible" : false , "sClass" : "library_modified_time" , "sWidth" : "125px" }, - /* Last Played */ { "sTitle" : "Last Played " , "mDataProp" : "lptime" , "bVisible" : false , "sClass" : "library_modified_time" , "sWidth" : "125px" }, - /* Length */ { "sTitle" : "Length" , "mDataProp" : "length" , "sClass" : "library_length" , "sWidth" : "80px" } , - /* Mime */ { "sTitle" : "Mime" , "mDataProp" : "mime" , "bVisible" : false , "sClass" : "library_mime" , "sWidth" : "80px" }, - /* Mood */ { "sTitle" : "Mood" , "mDataProp" : "mood" , "bVisible" : false , "sClass" : "library_mood" , "sWidth" : "70px" }, - /* Owner */ { "sTitle" : "Owner" , "mDataProp" : "owner_id" , "bVisible" : false , "sClass" : "library_language" , "sWidth" : "125px" }, - /* Replay Gain */ { "sTitle" : "Replay Gain" , "mDataProp" : "replay_gain" , "bVisible" : false , "sClass" : "library_replay_gain" , "sWidth" : "80px" }, - /* Sample Rate */ { "sTitle" : "Sample Rate" , "mDataProp" : "sample_rate" , "bVisible" : false , "sClass" : "library_sr" , "sWidth" : "80px" }, - /* Track Number */ { "sTitle" : "Track Number" , "mDataProp" : "track_number" , "bVisible" : false , "sClass" : "library_track" , "sWidth" : "65px" }, - /* Upload Time */ { "sTitle" : "Uploaded" , "mDataProp" : "utime" , "sClass" : "library_upload_time" , "sWidth" : "125px" } , - /* Website */ { "sTitle" : "Website" , "mDataProp" : "info_url" , "bVisible" : false , "sClass" : "library_url" , "sWidth" : "150px" }, - /* Year */ { "sTitle" : "Year" , "mDataProp" : "year" , "bVisible" : false , "sClass" : "library_year" , "sWidth" : "60px" } + /* Title */ { "sTitle" : $.i18n._("Title") , "mDataProp" : "track_title" , "sClass" : "library_title" , "sWidth" : "170px" } , + /* Creator */ { "sTitle" : $.i18n._("Creator") , "mDataProp" : "artist_name" , "sClass" : "library_creator" , "sWidth" : "160px" } , + /* Album */ { "sTitle" : $.i18n._("Album") , "mDataProp" : "album_title" , "sClass" : "library_album" , "sWidth" : "150px" } , + /* Bit Rate */ { "sTitle" : $.i18n._("Bit Rate") , "mDataProp" : "bit_rate" , "bVisible" : false , "sClass" : "library_bitrate" , "sWidth" : "80px" }, + /* BPM */ { "sTitle" : $.i18n._("BPM") , "mDataProp" : "bpm" , "bVisible" : false , "sClass" : "library_bpm" , "sWidth" : "50px" }, + /* Composer */ { "sTitle" : $.i18n._("Composer") , "mDataProp" : "composer" , "bVisible" : false , "sClass" : "library_composer" , "sWidth" : "150px" }, + /* Conductor */ { "sTitle" : $.i18n._("Conductor") , "mDataProp" : "conductor" , "bVisible" : false , "sClass" : "library_conductor" , "sWidth" : "125px" }, + /* Copyright */ { "sTitle" : $.i18n._("Copyright") , "mDataProp" : "copyright" , "bVisible" : false , "sClass" : "library_copyright" , "sWidth" : "125px" }, + /* Encoded */ { "sTitle" : $.i18n._("Encoded By") , "mDataProp" : "encoded_by" , "bVisible" : false , "sClass" : "library_encoded" , "sWidth" : "150px" }, + /* Genre */ { "sTitle" : $.i18n._("Genre") , "mDataProp" : "genre" , "bVisible" : false , "sClass" : "library_genre" , "sWidth" : "100px" }, + /* ISRC Number */ { "sTitle" : $.i18n._("ISRC") , "mDataProp" : "isrc_number" , "bVisible" : false , "sClass" : "library_isrc" , "sWidth" : "150px" }, + /* Label */ { "sTitle" : $.i18n._("Label") , "mDataProp" : "label" , "bVisible" : false , "sClass" : "library_label" , "sWidth" : "125px" }, + /* Language */ { "sTitle" : $.i18n._("Language") , "mDataProp" : "language" , "bVisible" : false , "sClass" : "library_language" , "sWidth" : "125px" }, + /* Last Modified */ { "sTitle" : $.i18n._("Last Modified") , "mDataProp" : "mtime" , "bVisible" : false , "sClass" : "library_modified_time" , "sWidth" : "125px" }, + /* Last Played */ { "sTitle" : $.i18n._("Last Played") , "mDataProp" : "lptime" , "bVisible" : false , "sClass" : "library_modified_time" , "sWidth" : "125px" }, + /* Length */ { "sTitle" : $.i18n._("Length") , "mDataProp" : "length" , "sClass" : "library_length" , "sWidth" : "80px" } , + /* Mime */ { "sTitle" : $.i18n._("Mime") , "mDataProp" : "mime" , "bVisible" : false , "sClass" : "library_mime" , "sWidth" : "80px" }, + /* Mood */ { "sTitle" : $.i18n._("Mood") , "mDataProp" : "mood" , "bVisible" : false , "sClass" : "library_mood" , "sWidth" : "70px" }, + /* Owner */ { "sTitle" : $.i18n._("Owner") , "mDataProp" : "owner_id" , "bVisible" : false , "sClass" : "library_language" , "sWidth" : "125px" }, + /* Replay Gain */ { "sTitle" : $.i18n._("Replay Gain") , "mDataProp" : "replay_gain" , "bVisible" : false , "sClass" : "library_replay_gain" , "sWidth" : "80px" }, + /* Sample Rate */ { "sTitle" : $.i18n._("Sample Rate") , "mDataProp" : "sample_rate" , "bVisible" : false , "sClass" : "library_sr" , "sWidth" : "80px" }, + /* Track Number */ { "sTitle" : $.i18n._("Track Number") , "mDataProp" : "track_number" , "bVisible" : false , "sClass" : "library_track" , "sWidth" : "65px" }, + /* Upload Time */ { "sTitle" : $.i18n._("Uploaded") , "mDataProp" : "utime" , "sClass" : "library_upload_time" , "sWidth" : "125px" } , + /* Website */ { "sTitle" : $.i18n._("Website") , "mDataProp" : "info_url" , "bVisible" : false , "sClass" : "library_url" , "sWidth" : "150px" }, + /* Year */ { "sTitle" : $.i18n._("Year") , "mDataProp" : "year" , "bVisible" : false , "sClass" : "library_year" , "sWidth" : "60px" } ], + "bProcessing": true, "bServerSide": true, @@ -611,7 +612,7 @@ var AIRTIME = (function(AIRTIME) { // icon. $(nRow).find("td:not(.library_checkbox, .library_type)").qtip({ content: { - text: "Loading...", + text: $.i18n._("Loading..."), title: { text: aData.track_title }, @@ -664,10 +665,7 @@ var AIRTIME = (function(AIRTIME) { "sPaginationType": "full_numbers", "bJQueryUI": true, "bAutoWidth": false, - "oLanguage": { - "sSearch": "", - "sLengthMenu": "Show _MENU_" - }, + "oLanguage": datatables_dict, // R = ColReorder, C = ColVis "sDom": 'Rl<"#library_display_type">f<"dt-process-rel"r><"H"<"library_toolbar"C>><"dataTables_scrolling"t><"F"ip>', @@ -725,11 +723,11 @@ var AIRTIME = (function(AIRTIME) { .addClass("dataTables_type") .append('') - .append('') - .append('') - .append('') - .append('') - .append('') - .append('') + .append('') + .append('') + .append('') + .append('') + .append('') + .append('') .change(function(){ var slotMin = $(this).val(); var opt = view.calendar.options; @@ -261,7 +261,7 @@ function eventRender(event, element, view) { if (event.soundcloud_id === -1) { $(element) .find(".fc-event-time") - .before(''); + .before(''); } else if (event.soundcloud_id > 0) { } else if (event.soundcloud_id === -2) { @@ -275,7 +275,7 @@ function eventRender(event, element, view) { if (event.soundcloud_id === -1) { $(element) .find(".fc-event-title") - .after(''); + .after(''); } else if (event.soundcloud_id > 0) { } else if (event.soundcloud_id === -2) { @@ -424,7 +424,7 @@ function addQtipToSCIcons(ele){ if($(ele).hasClass("progress")){ $(ele).qtip({ content: { - text: "Uploading in progress..." + text: $.i18n._("Uploading in progress...") }, position:{ adjust: { @@ -442,13 +442,13 @@ function addQtipToSCIcons(ele){ }else if($(ele).hasClass("soundcloud")){ $(ele).qtip({ content: { - text: "Retreiving data from the server...", + text: $.i18n._("Retreiving data from the server..."), ajax: { url: baseUrl+"/Library/get-upload-to-soundcloud-status", type: "post", data: ({format: "json", id : id, type: "file"}), success: function(json, status){ - this.set('content.text', "The soundcloud id for this file is: "+json.sc_id); + this.set('content.text', $.i18n._("The soundcloud id for this file is: ")+json.sc_id); } } }, @@ -468,14 +468,14 @@ function addQtipToSCIcons(ele){ }else if($(ele).hasClass("sc-error")){ $(ele).qtip({ content: { - text: "Retreiving data from the server...", + text: $.i18n._("Retreiving data from the server..."), ajax: { url: baseUrl+"/Library/get-upload-to-soundcloud-status", type: "post", data: ({format: "json", id : id, type: "show"}), success: function(json, status){ - this.set('content.text', "There was error while uploading to soundcloud.
"+"Error code: "+json.error_code+ - "
"+"Error msg: "+json.error_msg+"
"); + this.set('content.text', $.i18n._("There was error while uploading to soundcloud.")+"
"+$.i18n._("Error code: ")+json.error_code+ + "
"+$.i18n._("Error msg: ")+json.error_msg+"
"); } } }, @@ -495,7 +495,7 @@ function addQtipToSCIcons(ele){ }else if ($(ele).hasClass("show-empty")){ $(ele).qtip({ content: { - text: "This show has no scheduled content." + text: $.i18n._("This show has no scheduled content.") }, position:{ adjust: { @@ -548,7 +548,7 @@ function checkEmptyShowStatus(e) { //Alert the error and reload the page //this function is used to resolve concurrency issue function alertShowErrorAndReload(){ - alert("The show instance doesn't exist anymore!"); + alert($.i18n._("The show instance doesn't exist anymore!")); window.location.reload(); } diff --git a/airtime_mvc/public/js/airtime/schedule/schedule.js b/airtime_mvc/public/js/airtime/schedule/schedule.js index e91f65c34..1a51c476f 100644 --- a/airtime_mvc/public/js/airtime/schedule/schedule.js +++ b/airtime_mvc/public/js/airtime/schedule/schedule.js @@ -22,7 +22,7 @@ function checkShowLength(json) { if (percent > 100){ $("#show_time_warning") - .text("Shows longer than their scheduled time will be cut off by a following show.") + .text($.i18n._("Shows longer than their scheduled time will be cut off by a following show.")) .show(); } else { @@ -33,7 +33,7 @@ function checkShowLength(json) { } function confirmCancelShow(show_instance_id){ - if (confirm('Cancel Current Show?')) { + if (confirm($.i18n._('Cancel Current Show?'))) { var url = baseUrl+"/Schedule/cancel-current-show"; $.ajax({ url: url, @@ -46,7 +46,7 @@ function confirmCancelShow(show_instance_id){ } function confirmCancelRecordedShow(show_instance_id){ - if (confirm('Stop recording current show?')) { + if (confirm($.i18n._('Stop recording current show?'))) { var url = baseUrl+"/Schedule/cancel-current-show"; $.ajax({ url: url, @@ -165,7 +165,7 @@ function buildScheduleDialog (json) { close: closeDialog, buttons: [ { - text: "Ok", + text: $.i18n._("Ok"), "class": "btn", click: function() { $(this).dialog("close"); @@ -207,14 +207,14 @@ function buildContentDialog (json){ dialog.dialog({ autoOpen: false, - title: "Contents of Show \"" + json.showTitle + "\"", + title: $.i18n._("Contents of Show") +" '" + json.showTitle + "'", width: width, height: height, modal: true, close: closeDialog, buttons: [ { - text: "Ok", + text: $.i18n._("Ok"), "class": "btn", click: function() { dialog.remove(); @@ -262,6 +262,46 @@ function createFullCalendar(data){ agenda: 'H:mm{ - H:mm}', month: 'H:mm{ - H:mm}' }, + //i18n_months is in common.js + monthNames: i18n_months, + monthNamesShort: [ + $.i18n._('Jan'), + $.i18n._('Feb'), + $.i18n._('Mar'), + $.i18n._('Apr'), + $.i18n._('May'), + $.i18n._('Jun'), + $.i18n._('Jul'), + $.i18n._('Aug'), + $.i18n._('Sep'), + $.i18n._('Oct'), + $.i18n._('Nov'), + $.i18n._('Dec') + ], + buttonText: { + today: $.i18n._('today'), + month: $.i18n._('month'), + week: $.i18n._('week'), + day: $.i18n._('day') + }, + dayNames: [ + $.i18n._('Sunday'), + $.i18n._('Monday'), + $.i18n._('Tuesday'), + $.i18n._('Wednesday'), + $.i18n._('Thursday'), + $.i18n._('Friday'), + $.i18n._('Saturday') + ], + dayNamesShort: [ + $.i18n._('Sun'), + $.i18n._('Mon'), + $.i18n._('Tue'), + $.i18n._('Wed'), + $.i18n._('Thu'), + $.i18n._('Fri'), + $.i18n._('Sat') + ], contentHeight: mainHeight, theme: true, lazyFetching: false, @@ -283,7 +323,7 @@ function createFullCalendar(data){ //Alert the error and reload the page //this function is used to resolve concurrency issue function alertShowErrorAndReload(){ - alert("The show instance doesn't exist anymore!"); + alert($.i18n._("The show instance doesn't exist anymore!")); window.location.reload(); } @@ -324,7 +364,7 @@ $(document).ready(function() { if (oItems.clear !== undefined) { callback = function() { - if (confirm("Remove all content?")) { + if (confirm($.i18n._("Remove all content?"))) { $.post(oItems.clear.url, {format: "json", id: data.id}, function(json){ scheduleRefetchEvents(json); }); diff --git a/airtime_mvc/public/js/airtime/showbuilder/builder.js b/airtime_mvc/public/js/airtime/showbuilder/builder.js index 7fd4fa5b4..365ee58fd 100644 --- a/airtime_mvc/public/js/airtime/showbuilder/builder.js +++ b/airtime_mvc/public/js/airtime/showbuilder/builder.js @@ -283,7 +283,7 @@ var AIRTIME = (function(AIRTIME){ mod.fnRemove = function(aItems) { mod.disableUI(); - if (confirm("Delete selected item(s)?")) { + if (confirm($.i18n._("Delete selected item(s)?"))) { $.post( baseUrl+"/showbuilder/schedule-remove", {"items": aItems, "format": "json"}, mod.fnItemCallback @@ -360,17 +360,17 @@ var AIRTIME = (function(AIRTIME){ "aoColumns": [ /* checkbox */ {"mDataProp": "allowed", "sTitle": "", "sWidth": "15px", "sClass": "sb-checkbox"}, /* Type */ {"mDataProp": "image", "sTitle": "", "sClass": "library_image sb-image", "sWidth": "16px"}, - /* starts */ {"mDataProp": "starts", "sTitle": "Start", "sClass": "sb-starts", "sWidth": "60px"}, - /* ends */ {"mDataProp": "ends", "sTitle": "End", "sClass": "sb-ends", "sWidth": "60px"}, - /* runtime */ {"mDataProp": "runtime", "sTitle": "Duration", "sClass": "library_length sb-length", "sWidth": "65px"}, - /* title */ {"mDataProp": "title", "sTitle": "Title", "sClass": "sb-title"}, - /* creator */ {"mDataProp": "creator", "sTitle": "Creator", "sClass": "sb-creator"}, - /* album */ {"mDataProp": "album", "sTitle": "Album", "sClass": "sb-album"}, - /* cue in */ {"mDataProp": "cuein", "sTitle": "Cue In", "bVisible": false, "sClass": "sb-cue-in"}, - /* cue out */ {"mDataProp": "cueout", "sTitle": "Cue Out", "bVisible": false, "sClass": "sb-cue-out"}, - /* fade in */ {"mDataProp": "fadein", "sTitle": "Fade In", "bVisible": false, "sClass": "sb-fade-in"}, - /* fade out */ {"mDataProp": "fadeout", "sTitle": "Fade Out", "bVisible": false, "sClass": "sb-fade-out"}, - /* Mime */ {"mDataProp" : "mime", "sTitle" : "Mime", "bVisible": false, "sClass": "sb-mime"} + /* starts */ {"mDataProp": "starts", "sTitle": $.i18n._("Start"), "sClass": "sb-starts", "sWidth": "60px"}, + /* ends */ {"mDataProp": "ends", "sTitle": $.i18n._("End"), "sClass": "sb-ends", "sWidth": "60px"}, + /* runtime */ {"mDataProp": "runtime", "sTitle": $.i18n._("Duration"), "sClass": "library_length sb-length", "sWidth": "65px"}, + /* title */ {"mDataProp": "title", "sTitle": $.i18n._("Title"), "sClass": "sb-title"}, + /* creator */ {"mDataProp": "creator", "sTitle": $.i18n._("Creator"), "sClass": "sb-creator"}, + /* album */ {"mDataProp": "album", "sTitle": $.i18n._("Album"), "sClass": "sb-album"}, + /* cue in */ {"mDataProp": "cuein", "sTitle": $.i18n._("Cue In"), "bVisible": false, "sClass": "sb-cue-in"}, + /* cue out */ {"mDataProp": "cueout", "sTitle": $.i18n._("Cue Out"), "bVisible": false, "sClass": "sb-cue-out"}, + /* fade in */ {"mDataProp": "fadein", "sTitle": $.i18n._("Fade In"), "bVisible": false, "sClass": "sb-fade-in"}, + /* fade out */ {"mDataProp": "fadeout", "sTitle": $.i18n._("Fade Out"), "bVisible": false, "sClass": "sb-fade-out"}, + /* Mime */ {"mDataProp" : "mime", "sTitle" : $.i18n._("Mime"), "bVisible": false, "sClass": "sb-mime"} ], "bJQueryUI": true, @@ -527,7 +527,7 @@ var AIRTIME = (function(AIRTIME){ $node = $(nRow.children[0]); $node.html(''); - sSeparatorHTML = 'Show Empty'; + sSeparatorHTML = ''+$.i18n._("Show Empty")+''; cl = cl + " sb-empty odd"; fnPrepareSeparatorRow(sSeparatorHTML, cl, 1); @@ -539,7 +539,7 @@ var AIRTIME = (function(AIRTIME){ $node = $(nRow.children[0]); $node.html(''); - sSeparatorHTML = 'Recording From Line In'; + sSeparatorHTML = ''+$.i18n._("Recording From Line In")+''; cl = cl + " sb-record odd"; fnPrepareSeparatorRow(sSeparatorHTML, cl, 1); @@ -554,7 +554,7 @@ var AIRTIME = (function(AIRTIME){ if (!isAudioSupported(aData.mime)) { $image.html(''); } else { - $image.html('') + $image.html('') .click(function() { open_show_preview(aData.instance, aData.pos); return false; @@ -565,7 +565,7 @@ var AIRTIME = (function(AIRTIME){ $image.html(''); $image.find(".ui-icon-alert").qtip({ content: { - text: "Airtime is unsure about the status of this file. This can happen when the file is on a remote drive that is unaccessible or the file is in a directory that isn't \"watched\" anymore." + text: $.i18n._("Airtime is unsure about the status of this file. This can happen when the file is on a remote drive that is unaccessible or the file is in a directory that isn't \"watched\" anymore.") }, style: { classes: "ui-tooltip-dark" @@ -791,6 +791,7 @@ var AIRTIME = (function(AIRTIME){ "sDom": 'R<"dt-process-rel"r><"sb-padded"<"H"C>><"dataTables_scrolling sb-padded"t>', "sAjaxDataProp": "schedule", + "oLanguage": datatables_dict, "sAjaxSource": baseUrl+"/showbuilder/builder-feed" }); @@ -877,7 +878,7 @@ var AIRTIME = (function(AIRTIME){ //can't add items outside of shows. if (prev.find("td:first").hasClass("dataTables_empty") || prev.length === 0) { - alert("Cannot schedule outside a show."); + alert($.i18n._("Cannot schedule outside a show.")); ui.item.remove(); return; } @@ -932,10 +933,10 @@ var AIRTIME = (function(AIRTIME){ } if (selected.length === 1) { - message = "Moving "+selected.length+" Item."; + message = $.i18n._("Moving 1 Item"); } else { - message = "Moving "+selected.length+" Items."; + message = sprintf($.i18n._("Moving %s Items"), selected.length); } draggingContainer = $('') @@ -983,28 +984,28 @@ var AIRTIME = (function(AIRTIME){ $menu = $("
"); $menu.append("
" + "" + "" + "
") .append("
" + - "
") .append("
" + - "
"); //if 'Add/Remove content' was chosen from the context menu //in the Calendar do not append these buttons if ($(".ui-dialog-content").length === 0) { $menu.append("
" + - "
") .append("
" + - "
"); } @@ -1019,7 +1020,7 @@ var AIRTIME = (function(AIRTIME){ .click(function() { var $tr, data, - msg = 'Cancel Current Show?'; + msg = $.i18n._('Cancel Current Show?'); if (AIRTIME.button.isDisabled('icon-ban-circle', true) === true) { return; @@ -1031,7 +1032,7 @@ var AIRTIME = (function(AIRTIME){ data = $tr.data("aData"); if (data.record === true) { - msg = 'Stop recording current show?'; + msg = $.i18n._('Stop recording current show?'); } if (confirm(msg)) { diff --git a/airtime_mvc/public/js/airtime/showbuilder/main_builder.js b/airtime_mvc/public/js/airtime/showbuilder/main_builder.js index 74358a99d..ccf02e584 100644 --- a/airtime_mvc/public/js/airtime/showbuilder/main_builder.js +++ b/airtime_mvc/public/js/airtime/showbuilder/main_builder.js @@ -15,7 +15,7 @@ AIRTIME = (function(AIRTIME) { timeStartId = "#sb_time_start", dateEndId = "#sb_date_end", timeEndId = "#sb_time_end", - $toggleLib = $("Add / Remove Content"), + $toggleLib = $(""+$.i18n._("Add / Remove Content")+""), $libClose = $('', { "class": "close-round", "href": "#", @@ -30,6 +30,9 @@ AIRTIME = (function(AIRTIME) { oBaseDatePickerSettings = { dateFormat: 'yy-mm-dd', + //i18n_months, i18n_days_short are in common.js + monthNames: i18n_months, + dayNamesMin: i18n_days_short, onClick: function(sDate, oDatePicker) { $(this).datepicker( "setDate", sDate ); } @@ -38,8 +41,11 @@ AIRTIME = (function(AIRTIME) { oBaseTimePickerSettings = { showPeriodLabels: false, showCloseButton: true, + closeButtonText: $.i18n._("Done"), showLeadingZero: false, - defaultTime: '0:00' + defaultTime: '0:00', + hourText: $.i18n._("Hour"), + minuteText: $.i18n._("Minute") }; function setWidgetSize() { diff --git a/airtime_mvc/public/js/airtime/status/status.js b/airtime_mvc/public/js/airtime/status/status.js index 9223b247a..cd0699e3a 100644 --- a/airtime_mvc/public/js/airtime/status/status.js +++ b/airtime_mvc/public/js/airtime/status/status.js @@ -2,7 +2,7 @@ function generatePartitions(partitions){ var rowTemplate = ''+ - 'Disk #%s'+ + ''+$.i18n._("Disk")+' #%s'+ '
    '+ '
'+ ''+ @@ -12,7 +12,7 @@ function generatePartitions(partitions){ '
'+ '
'+ '
'+ - '
%s%% in use
'+ + '
%s%% '+$.i18n._("in use")+'
'+ ''+ ''; diff --git a/airtime_mvc/public/js/airtime/user/user.js b/airtime_mvc/public/js/airtime/user/user.js index 637666719..35d4e16dd 100644 --- a/airtime_mvc/public/js/airtime/user/user.js +++ b/airtime_mvc/public/js/airtime/user/user.js @@ -45,16 +45,16 @@ function rowCallback( nRow, aData, iDisplayIndex ){ if ( aData['type'] == "A" ) { - $('td:eq(3)', nRow).html( 'Admin' ); + $('td:eq(3)', nRow).html( $.i18n._('Admin') ); } else if ( aData['type'] == "H" ) { - $('td:eq(3)', nRow).html( 'DJ' ); + $('td:eq(3)', nRow).html( $.i18n._('DJ') ); } else if ( aData['type'] == "G" ) { - $('td:eq(3)', nRow).html( 'Guest' ); + $('td:eq(3)', nRow).html( $.i18n._('Guest') ); } else if ( aData['type'] == "P" ) { - $('td:eq(3)', nRow).html( 'Program Manager' ); + $('td:eq(3)', nRow).html( $.i18n._('Program Manager') ); } return nRow; @@ -86,9 +86,7 @@ function populateUserTable() { "bJQueryUI": true, "bAutoWidth": false, "bLengthChange": false, - "oLanguage": { - "sSearch": "" - }, + "oLanguage": datatables_dict, "sDom": '<"H"lf<"dt-process-rel"r>>t<"F"ip>', }); diff --git a/airtime_mvc/public/js/datatables/i18n/en_CA.txt b/airtime_mvc/public/js/datatables/i18n/en_CA.txt new file mode 100644 index 000000000..ff3cf6be4 --- /dev/null +++ b/airtime_mvc/public/js/datatables/i18n/en_CA.txt @@ -0,0 +1,23 @@ +{ +"sEmptyTable": "No data available in table", +"sInfo": "Showing _START_ to _END_ of _TOTAL_ entries", +"sInfoEmpty": "Showing 0 to 0 of 0 entries", +"sInfoFiltered": "(filtered from _MAX_ total entries)", +"sInfoPostFix": "", +"sInfoThousands": ",", +"sLengthMenu": "Show _MENU_", +"sLoadingRecords": "Loading...", +"sProcessing": "Processing...", +"sSearch": "", +"sZeroRecords": "No matching records found", +"oPaginate": { + "sFirst": "First", + "sLast": "Last", + "sNext": "Next", + "sPrevious": "Previous" +}, +"oAria": { + "sSortAscending": ": activate to sort column ascending", + "sSortDescending": ": activate to sort column descending" +} +} \ No newline at end of file diff --git a/airtime_mvc/public/js/datatables/i18n/ko_KR.txt b/airtime_mvc/public/js/datatables/i18n/ko_KR.txt new file mode 100644 index 000000000..47cb654a4 --- /dev/null +++ b/airtime_mvc/public/js/datatables/i18n/ko_KR.txt @@ -0,0 +1,23 @@ +{ +"sEmptyTable": "데이터가 존재 하지 않습니다", +"sInfo": "총_TOTAL_개의 결과 중 _START_ 부터 _END_", +"sInfoEmpty": "총0개의 결과 중 0 부터 0", +"sInfoFiltered": "(총_MAX_개의 결과 중 필터 되었습니다)", +"sInfoPostFix": "", +"sInfoThousands": ",", +"sLengthMenu": "_MENU_개 보기", +"sLoadingRecords": "로디중...", +"sProcessing": "진행중...", +"sSearch": "", +"sZeroRecords": "기록을 찾지 못하였습니다", +"oPaginate": { + "sFirst": "처음", + "sLast": "마지막", + "sNext": "다음", + "sPrevious": "이전" +}, +"oAria": { + "sSortAscending": ": 오름차순으로 정렬", + "sSortDescending": ": 내림차순으로 정렬" +} +} \ No newline at end of file diff --git a/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COLUMN_FILTER b/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COLUMN_FILTER index f3a31a667..d62d5ecb1 100644 --- a/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COLUMN_FILTER +++ b/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COLUMN_FILTER @@ -5,8 +5,8 @@ Running a diff between the original column filter plugin (dataTables.columnFilte our modified one (dataTables.columnFilter.js): denise@denise-DX4860:~/airtime/airtime_mvc/public/js/datatables/plugin$ diff -u dataTables.columnFilter_orig.js dataTables.columnFilter.js ---- dataTables.columnFilter_orig.js 2012-09-11 11:53:16.476101955 -0400 -+++ dataTables.columnFilter.js 2012-10-04 12:15:13.270199949 -0400 +--- dataTables.columnFilter_orig.js 2012-10-17 11:41:05.000000000 -0400 ++++ dataTables.columnFilter.js 2012-11-22 12:20:03.997107451 -0500 @@ -103,7 +103,8 @@ label = label.replace(/(^\s*)|(\s*$)/g, ""); var currentFilter = oTable.fnSettings().aoPreSearchCols[i].sSearch; @@ -88,13 +88,13 @@ denise@denise-DX4860:~/airtime/airtime_mvc/public/js/datatables/plugin$ diff -u + + var label = ""; + if (th.attr('id') == "bit_rate") { -+ label = " bps"; ++ label = $.i18n._("kbps"); + } else if (th.attr('id') == "utime" || th.attr('id') == "mtime" || th.attr('id') == "lptime") { -+ label = " yyyy-mm-dd"; ++ label = $.i18n._("yyyy-mm-dd"); + } else if (th.attr('id') == "length") { -+ label = " hh:mm:ss.t"; ++ label = $.i18n._("hh:mm:ss.t"); + } else if (th.attr('id') == "sample_rate") { -+ label = " Hz"; ++ label = $.i18n._("kHz"); + } + th.html(_fnRangeLabelPart(0)); @@ -133,7 +133,20 @@ denise@denise-DX4860:~/airtime/airtime_mvc/public/js/datatables/plugin$ diff -u + } }); - - - +@@ -566,7 +585,7 @@ + sRangeSeparator: "~", + iFilteringDelay: 500, + aoColumns: null, +- sRangeFormat: "From {from} to {to}" ++ sRangeFormat: $.i18n._("From {from} to {to}") + }; + + properties = $.extend(defaults, options); +@@ -730,4 +749,4 @@ + + + +-})(jQuery); +\ No newline at end of file ++})(jQuery); \ No newline at end of file diff --git a/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COL_VIS b/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COL_VIS index c332d036e..2a04f4f0d 100644 --- a/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COL_VIS +++ b/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COL_VIS @@ -30,4 +30,8 @@ The new _fnDomBaseButton looks like this: return nButton; }, - \ No newline at end of file + +-------------------------------------------------------------------------------- +* Line 96 has changed +- "buttonText": "Show / hide columns", ++ "buttonText": $.i18n._("Show / hide columns"), \ No newline at end of file diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.ColVis.js b/airtime_mvc/public/js/datatables/plugin/dataTables.ColVis.js index 2f1c8ed02..4c5c3bfaf 100644 --- a/airtime_mvc/public/js/datatables/plugin/dataTables.ColVis.js +++ b/airtime_mvc/public/js/datatables/plugin/dataTables.ColVis.js @@ -95,7 +95,7 @@ ColVis = function( oDTSettings, oInit ) * @type String * @default Show / hide columns */ - "buttonText": "Show / hide columns", + "buttonText": $.i18n._("Show / hide columns"), /** * Flag to say if the collection is hidden diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.columnFilter.js b/airtime_mvc/public/js/datatables/plugin/dataTables.columnFilter.js index 80cb011cf..07c8bba72 100644 --- a/airtime_mvc/public/js/datatables/plugin/dataTables.columnFilter.js +++ b/airtime_mvc/public/js/datatables/plugin/dataTables.columnFilter.js @@ -184,13 +184,13 @@ var label = ""; if (th.attr('id') == "bit_rate") { - label = " kbps"; + label = $.i18n._("kbps"); } else if (th.attr('id') == "utime" || th.attr('id') == "mtime" || th.attr('id') == "lptime") { - label = " yyyy-mm-dd"; + label = $.i18n._("yyyy-mm-dd"); } else if (th.attr('id') == "length") { - label = " hh:mm:ss.t"; + label = $.i18n._("hh:mm:ss.t"); } else if (th.attr('id') == "sample_rate") { - label = " kHz"; + label = $.i18n._("kHz"); } th.html(_fnRangeLabelPart(0)); @@ -585,7 +585,7 @@ sRangeSeparator: "~", iFilteringDelay: 500, aoColumns: null, - sRangeFormat: "From {from} to {to}" + sRangeFormat: $.i18n._("From {from} to {to}") }; properties = $.extend(defaults, options); diff --git a/airtime_mvc/public/js/i18n/jquery.i18n.js b/airtime_mvc/public/js/i18n/jquery.i18n.js new file mode 100644 index 000000000..eff9b0d04 --- /dev/null +++ b/airtime_mvc/public/js/i18n/jquery.i18n.js @@ -0,0 +1,117 @@ +/* + * jQuery i18n plugin + * @requires jQuery v1.1 or later + * + * See http://recursive-design.com/projects/jquery-i18n/ + * + * Licensed under the MIT license: + * http://www.opensource.org/licenses/mit-license.php + * + * Version: 1.0.0 (201210141329) + */ + (function($) { + /** + * i18n provides a mechanism for translating strings using a jscript dictionary. + * + */ + + /* + * i18n property list + */ + $.i18n = { + + dict: null, + + /** + * setDictionary() + * + * Initialises the dictionary. + * + * @param property_list i18n_dict : The dictionary to use for translation. + */ + setDictionary: function(i18n_dict) { + this.dict = i18n_dict; + }, + + /** + * _() + * + * Looks the given string up in the dictionary and returns the translation if + * one exists. If a translation is not found, returns the original word. + * + * @param string str : The string to translate. + * @param property_list params : params for using printf() on the string. + * + * @return string : Translated word. + */ + _: function (str, params) { + var result = str; + if (this.dict && this.dict[str]) { + result = this.dict[str]; + } + + // Substitute any params. + return this.printf(result, params); + }, + + /* + * printf() + * + * Substitutes %s with parameters given in list. %%s is used to escape %s. + * + * @param string str : String to perform printf on. + * @param string args : Array of arguments for printf. + * + * @return string result : Substituted string + */ + printf: function(str, args) { + if (!args) return str; + + var result = ''; + var search = /%(\d+)\$s/g; + + // Replace %n1$ where n is a number. + var matches = search.exec(str); + while (matches) { + var index = parseInt(matches[1], 10) - 1; + str = str.replace('%' + matches[1] + '\$s', (args[index])); + matches = search.exec(str); + } + var parts = str.split('%s'); + + if (parts.length > 1) { + for(var i = 0; i < args.length; i++) { + // If the part ends with a '%' chatacter, we've encountered a literal + // '%%s', which we should output as a '%s'. To achieve this, add an + // 's' on the end and merge it with the next part. + if (parts[i].length > 0 && parts[i].lastIndexOf('%') == (parts[i].length - 1)) { + parts[i] += 's' + parts.splice(i + 1, 1)[0]; + } + + // Append the part and the substitution to the result. + result += parts[i] + args[i]; + } + } + + return result + parts[parts.length - 1]; + } + + }; + + /* + * _t() + * + * Allows you to translate a jQuery selector. + * + * eg $('h1')._t('some text') + * + * @param string str : The string to translate . + * @param property_list params : Params for using printf() on the string. + * + * @return element : Chained and translated element(s). + */ + $.fn._t = function(str, params) { + return $(this).text($.i18n._(str, params)); + }; + +})(jQuery); \ No newline at end of file diff --git a/airtime_mvc/public/js/plupload/i18n/en_CA.js b/airtime_mvc/public/js/plupload/i18n/en_CA.js new file mode 100644 index 000000000..3cfe4c509 --- /dev/null +++ b/airtime_mvc/public/js/plupload/i18n/en_CA.js @@ -0,0 +1,26 @@ +// English +plupload.addI18n({ + 'Select files' : 'Select files', + 'Add files to the upload queue and click the start button.' : 'Add files to the upload queue and click the start button.', + 'Filename' : 'Filename', + 'Status' : 'Status', + 'Size' : 'Size', + 'Add files' : 'Add files', + 'Stop current upload' : 'Stop current upload', + 'Start uploading queue' : 'Start uploading queue', + 'Uploaded %d/%d files': 'Uploaded %d/%d files', + 'N/A' : 'N/A', + 'Drag files here.' : 'Drag files here.', + 'File extension error.': 'File extension error.', + 'File size error.': 'File size error.', + 'Init error.': 'Init error.', + 'HTTP Error.': 'HTTP Error.', + 'Security error.': 'Security error.', + 'Generic error.': 'Generic error.', + 'IO error.': 'IO error.', + 'Stop Upload': 'Stop Upload', + 'Add Files': 'Add Files', + 'Start Upload': 'Start Upload', + 'Start upload': 'Start upload', + '%d files queued': '%d files queued' +}); \ No newline at end of file diff --git a/airtime_mvc/public/js/plupload/i18n/ko_KR.js b/airtime_mvc/public/js/plupload/i18n/ko_KR.js new file mode 100644 index 000000000..1b44eeabd --- /dev/null +++ b/airtime_mvc/public/js/plupload/i18n/ko_KR.js @@ -0,0 +1,26 @@ +// Korean +plupload.addI18n({ + 'Select files' : '파일 선택', + 'Add files to the upload queue and click the start button.' : '파일을 업로드 큐에 추가 하신후 업로드 시작 버튼을 클릭해주세요', + 'Filename' : '파일 이름', + 'Status' : '상황', + 'Size' : '크기', + 'Add files' : '파일 추가', + 'Stop current upload' : '현제 업로드 정지', + 'Start uploading queue' : '업로드 시작', + 'Uploaded %d/%d files': '%d/%d개의 파일 업로드 됨', + 'N/A' : 'N/A', + 'Drag files here.' : '파일을 여기로 드래그 앤 드랍 하세요', + 'File extension error.': '파일 확장자 에러', + 'File size error.': '파일 크기 에러.', + 'Init error.': '초기화 에러.', + 'HTTP Error.': 'HTTP 에러.', + 'Security error.': '보안 에러.', + 'Generic error.': 'Generic 에러.', + 'IO error.': 'IO 에러.', + 'Stop Upload': '업로드 정지', + 'Add Files': '파일 추가', + 'Start Upload': '업로드 시작', + 'Start upload': '업로드 시작', + '%d files queued': '%d개의 파일이 큐 되었습니다' +}); \ No newline at end of file diff --git a/airtime_mvc/public/js/serverbrowse/AIRTIME_DEV_README b/airtime_mvc/public/js/serverbrowse/AIRTIME_DEV_README new file mode 100644 index 000000000..2597624a7 --- /dev/null +++ b/airtime_mvc/public/js/serverbrowse/AIRTIME_DEV_README @@ -0,0 +1,34 @@ +Before you overwrite serverbrowser.js, note that we have changed a few lines +in this file. + +Running a diff between the original serverbrowser.js and our modified one: + +denise@denise-DX4860:~/airtime/airtime_mvc/public/js/serverbrowse$ diff -u serverbrowser_orig.js serverbrowser.js +--- serverbrowser_orig.js 2012-11-28 11:42:43.250237696 -0500 ++++ serverbrowser.js 2012-11-28 11:44:57.738242930 -0500 +@@ -65,14 +65,14 @@ + modal: true, + buttons: [ + { +- text: "Cancel", ++ text: $.i18n._("Cancel"), + "class": "btn", + click: function() { + browserDlg.dialog("close"); + } + }, + { +- text: "Open", ++ text: $.i18n._("Open"), + "class": "btn", + click: function() { + doneOk(); +@@ -123,7 +123,7 @@ + function() { $(this).removeClass('ui-state-hover'); } + ); + +- var enterLabel = $('').text('Look in: ').appendTo(enterButton.clone(false).appendTo(enterPathDiv)); ++ var enterLabel = $('').text($.i18n._('Look in')+': ').appendTo(enterButton.clone(false).appendTo(enterPathDiv)); + + var enterText = $('').keypress(function(e) { + if (e.keyCode == '13') { diff --git a/airtime_mvc/public/js/serverbrowse/serverbrowser.js b/airtime_mvc/public/js/serverbrowse/serverbrowser.js index 867e70795..5e6bb41e1 100644 --- a/airtime_mvc/public/js/serverbrowse/serverbrowser.js +++ b/airtime_mvc/public/js/serverbrowse/serverbrowser.js @@ -65,14 +65,14 @@ modal: true, buttons: [ { - text: "Cancel", + text: $.i18n._("Cancel"), "class": "btn", click: function() { browserDlg.dialog("close"); } }, { - text: "Open", + text: $.i18n._("Open"), "class": "btn", click: function() { doneOk(); @@ -123,7 +123,7 @@ function() { $(this).removeClass('ui-state-hover'); } ); - var enterLabel = $('').text('Look in: ').appendTo(enterButton.clone(false).appendTo(enterPathDiv)); + var enterLabel = $('').text($.i18n._('Look in')+': ').appendTo(enterButton.clone(false).appendTo(enterPathDiv)); var enterText = $('').keypress(function(e) { if (e.keyCode == '13') { diff --git a/airtime_mvc/public/js/serverbrowse/serverbrowser_orig.js b/airtime_mvc/public/js/serverbrowse/serverbrowser_orig.js new file mode 100644 index 000000000..867e70795 --- /dev/null +++ b/airtime_mvc/public/js/serverbrowse/serverbrowser_orig.js @@ -0,0 +1,378 @@ +/* + author: ApmeM (artem.votincev@gmail.com) + date: 9-June-2010 + version: 1.4 + download: http://code.google.com/p/jq-serverbrowse/ +*/ + +(function($) { + $.fn.serverBrowser = function(settings) { + this.each(function() { + + var config = { +// Event function +// Appear when user click 'Ok' button, or doubleclick on file + onSelect: function(file) { + alert('You select: ' + file); + }, + onLoad: function() { + return config.basePath; + }, + multiselect: false, +// Image parameters +// System images (loading.gif, unknown.png, folder.png and images from knownPaths) will be referenced to systemImageUrl +// if systemImageUrl is empty or not specified - imageUrl will be taken +// All other images (like images for extension) will be taken from imageUrl + imageUrl: 'img/', + systemImageUrl: '', + showUpInList: false, +// Path properties +// Base path, that links should start from. +// If opened path is not under this path, alert will be shown and nothing will be opened +// Path separator, that will be used to split specified paths and join paths to a string + basePath: 'C:', + separatorPath: '/', +// Paths, that will be displayed on the left side of the dialog +// This is a link to specified paths on the server + useKnownPaths: true, + knownPaths: [{text:'Desktop', image:'desktop.png', path:'C:/Users/All Users/Desktop'}, + {text:'Documents', image:'documents.png', path:'C:/Users/All Users/Documents'}], +// Images for known extension (like 'png', 'exe', 'zip'), that will be displayed with its real names +// Images, that is not in this list will be referenced to 'unknown.png' image +// If list is empty - all images is known. + knownExt: [], +// Server path to this plugin handler + handlerUrl: 'browserDlg.txt', +// JQuery-ui dialog settings + title: 'Browse', + width: 300, + height: 300, + position: ['center', 'top'], + +// Administrative parameters used to +// help programmer or system administrator + requestMethod: 'POST', + }; + + if (settings) $.extend(config, settings); +// Required configuration elements +// We need to set some configuration elements without user +// For example there should be 2 buttons on the bottom, +// And dialog should be opened after button is pressed, not when it created +// Also we need to know about dialog resizing + $.extend(config, { + autoOpen: false, + modal: true, + buttons: [ + { + text: "Cancel", + "class": "btn", + click: function() { + browserDlg.dialog("close"); + } + }, + { + text: "Open", + "class": "btn", + click: function() { + doneOk(); + } + } + ], + resize: function(event, ui) { + recalculateSize(event, ui); + }, + }); + + function systemImageUrl() + { + if (config.systemImageUrl.length == 0) { + return config.imageUrl; + } else{ + return config.systemImageUrl; + } + } + + var privateConfig = { +// This stack array will store history navigation data +// When user open new directory, old directory will be added to this list +// If user want, he will be able to move back by this history + browserHistory: [], + +// This array contains all currently selected items +// When user select element, it will add associated path into this array +// When user deselect element - associated path will be removed +// Exception: if 'config.multiselect' is false, only one element will be stored in this array. + selectedItems: [], + } + +// Main dialog div +// It will be converted into jQuery-ui dialog box using my configuration parameters +// It contains 3 divs + var browserDlg = $('
').css({'overflow': 'hidden'}).appendTo(document.body); + browserDlg.dialog(config); + +// First div on the top +// It contains textbox field and buttons +// User can enter any paths he want to open in this textbox and press enter +// There is 3 buttons on the panel: + var enterPathDiv = $('
').addClass('ui-widget-content').appendTo(browserDlg).css({'height': '30px', 'width': '100%', 'padding-top': '7px'}); + + var enterButton = $('
').css({'float': 'left', 'vertical-align': 'middle', 'margin-left': '6px'}).addClass('ui-corner-all').hover( + function() { $(this).addClass('ui-state-hover'); }, + function() { $(this).removeClass('ui-state-hover'); } + ); + + var enterLabel = $('').text('Look in: ').appendTo(enterButton.clone(false).appendTo(enterPathDiv)); + + var enterText = $('').keypress(function(e) { + if (e.keyCode == '13') { + e.preventDefault(); + loadPath(enterText.val()); + } + }).appendTo(enterButton.clone(false).appendTo(enterPathDiv)); + + +// Back button. +// When user click on it, 2 last elements of the history pop from the list, and reload second of them. + var enterBack = $('
').addClass('ui-corner-all ui-icon ui-icon-circle-arrow-w').click(function(){ + privateConfig.browserHistory.pop(); // Remove current element. It is not required now. + var backPath = config.basePath; + if(privateConfig.browserHistory.length > 0){ + backPath = privateConfig.browserHistory.pop(); + } + loadPath(backPath); + }).appendTo(enterButton.clone(true).appendTo(enterPathDiv)); + +// Level Up Button +// When user click on it, last element of the history will be taken, and '..' will be applied to the end of the array. + var enterUp = $('
').addClass('ui-corner-all ui-icon ui-icon-arrowreturnthick-1-n').click(function(){ + backPath = privateConfig.browserHistory[privateConfig.browserHistory.length - 1]; + if(backPath != config.basePath){ + loadPath(backPath + config.separatorPath + '..'); + } + }).appendTo(enterButton.clone(true).appendTo(enterPathDiv)); + +// Second div is on the left +// It contains images and texts for pre-defined paths +// User just click on them and it will open pre-defined path + var knownPathDiv = $('
').addClass('ui-widget-content').css({'text-align':'center', 'overflow': 'auto', 'float': 'left', 'width': '100px'}); + if(config.useKnownPaths){ + knownPathDiv.appendTo(browserDlg); + $.each(config.knownPaths, function(index, path) { + var knownDiv = $('
').css({'margin':'10px'}).hover( + function() { $(this).addClass('ui-state-hover'); }, + function() { $(this).removeClass('ui-state-hover'); } + ).click(function() { + loadPath(path.path); + }).appendTo(knownPathDiv); + + $('').attr({ src: systemImageUrl() + config.separatorPath + path.image }).css({ width: '32px', margin: '5px 10px 5px 5px' }).appendTo(knownDiv); + $('
').appendTo(knownDiv); + $('').text(path.text).appendTo(knownDiv); + }); + } + +// Third div is everywhere :) +// It show files and folders in the current path +// User can click on path to select or deselect it +// Doubleclick on path will open it +// Also doubleclick on file will select this file and close dialog + var browserPathDiv = $('
').addClass('ui-widget-content').css({'float': 'right', 'overflow': 'auto'}).appendTo(browserDlg); + +// Now everything is done +// When user will be ready - he just click on the area you select for this plugin and dialog will appear + $(this).click(function() { + privateConfig.browserHistory = []; + var startpath = removeBackPath(config.onLoad()); + + startpath = startpath.split(config.separatorPath); + startpath.pop(); + startpath = startpath.join(config.separatorPath); + + if(!checkBasePath(startpath)){ + startpath = config.basePath; + } + loadPath(startpath); + browserDlg.dialog('open'); + recalculateSize(); + }); + +// Function check if specified path is a child path of a 'config.basePath' +// If it is not - user should see message, that path invalid, or path should be changed to valid. + function checkBasePath(path){ + if(config.basePath == '') + return true; + var confPath = config.basePath.split(config.separatorPath); + var curPath = path.split(config.separatorPath); + if(confPath.length > curPath.length) + return false; + var result = true; + $.each(confPath, function(index, partConfPath) { + if(partConfPath != curPath[index]){ + result = false; + } + }); + return result; + } + +// Function remove '..' parts of the path +// Process depend on config.separatorPath option +// On the server side you need to check / or \ separators + function removeBackPath(path){ + var confPath = config.basePath.split(config.separatorPath); + var curPath = path.split(config.separatorPath); + var newcurPath = []; + $.each(curPath, function(index, partCurPath) { + if(partCurPath == ".."){ + newcurPath.pop(); + }else{ + newcurPath.push(partCurPath); + } + }); + return newcurPath.join(config.separatorPath); + } + +// This function will be called when user click 'Open' +// It check if any path is selected, and call config.onSelect function with path list + function doneOk(){ + var newCurPath = []; + $.each(privateConfig.selectedItems, function(index, item) { + newCurPath.push($.data(item, 'path')); + }); + if(newCurPath.length == 0) { + newCurPath.push(privateConfig.browserHistory.pop()); + } + + if(config.multiselect) + config.onSelect(newCurPath); + else { + if(newCurPath.length == 1) { + config.onSelect(newCurPath[0]); + } else if(newCurPath.length > 1){ + alert('Plugin work incorrectly. If error repeat, please add issue into http://code.google.com/p/jq-serverbrowse/issues/list with steps to reproduce.'); + return; + } + } + browserDlg.dialog("close"); + } + +// Function recalculate and set new width and height for left and right div elements +// height have '-2' because of the borders +// width have '-4' because of a border an 2 pixels space between divs + function recalculateSize(event, ui){ + knownPathDiv.css({'height' : browserDlg.height() - enterPathDiv.outerHeight(true) - 2}); + browserPathDiv.css({'height' : browserDlg.height() - enterPathDiv.outerHeight(true) - 2, + 'width' : browserDlg.width() - knownPathDiv.outerWidth(true) - 4}); + } + +// Function adds new element into browserPathDiv element depends on file parameters +// If file.isError is set, error message will be displayed instead of clickable area +// Clickable div contain image from extension and text from file parameter + function addElement(file){ + var itemDiv = $('
').css({ margin: '2px' }).appendTo(browserPathDiv); + if(file.isError) + { + itemDiv.addClass('ui-state-error ui-corner-all').css({padding: '0pt 0.7em'}); + var p = $('

').appendTo(itemDiv); + $('').addClass('ui-icon ui-icon-alert').css({'float': 'left', 'margin-right': '0.3em'}).appendTo(p); + $('').text(file.name).appendTo(p); + }else + { + var fullPath = file.path + config.separatorPath + file.name; + itemDiv.hover( + function() { $(this).addClass('ui-state-hover'); }, + function() { $(this).removeClass('ui-state-hover'); } + ); + var itemImage = $('').css({ width: '16px', margin: '0 5px 0 0' }).appendTo(itemDiv); + var itemText = $('').text(file.name).appendTo(itemDiv); + if (file.isFolder) + itemImage.attr({ src: systemImageUrl() + 'folder.png' }); + else { + ext = file.name.split('.').pop(); + var res = ''; + if (ext == '' || ext == file.name || (config.knownExt.length > 0 && $.inArray(ext, config.knownExt) < 0)) + itemImage.attr({ src: systemImageUrl() + 'unknown.png' }); + else + itemImage.attr({ src: config.imageUrl + ext + '.png' }); + } + $.data(itemDiv, 'path', fullPath); + itemDiv.unbind('click').bind('click', function(e) { + if(!$(this).hasClass('ui-state-active')) { + if(!config.multiselect && privateConfig.selectedItems.length > 0) { + $(privateConfig.selectedItems[0]).click(); + } + privateConfig.selectedItems.push(itemDiv); + }else{ + var newCurPath = []; + $.each(privateConfig.selectedItems, function(index, item) { + if($.data(item, 'path') != fullPath) + newCurPath.push(item); + }); + privateConfig.selectedItems = newCurPath; + } + $(this).toggleClass('ui-state-active'); + }); + + itemDiv.unbind('dblclick').bind('dblclick', function(e) { + if (file.isFolder){ + loadPath(fullPath); + } else { + privateConfig.selectedItems = [itemDiv]; + doneOk(); + } + }); + } + } + +// Main plugin function +// When user enter path manually, select it from pre-defined path, or doubleclick in browser this function will call +// It send a request on the server to retrieve child directories and files of the specified path +// If path is not under 'config.basePath', alert will be shown and nothing will be opened + function loadPath(path) { + privateConfig.selectedItems = []; + + // First we need to remove all '..' parts of the path + path = removeBackPath(path); + + // Then we need to check, if path based on 'config.basePath' + if(!checkBasePath(path)) { + alert('Path should be based from ' + config.basePath); + return; + } + + // Then we can put this path into history + privateConfig.browserHistory.push(path); + + // Show it to user + enterText.val(path); + + // And load + $.ajax({ + url: config.handlerUrl, + type: config.requestMethod, + data: { + action: 'browse', + path: path, + time: new Date().getTime() + }, + beforeSend: function() { + browserPathDiv.empty().css({ 'text-align': 'center' }); + $('').attr({ src: systemImageUrl() + 'loading.gif' }).css({ width: '32px' }).appendTo(browserPathDiv); + }, + success: function(files) { + browserPathDiv.empty().css({ 'text-align': 'left' }); + if(path != config.basePath && config.showUpInList){ + addElement({name: '..', isFolder: true, isError: false, path: path}); + } + $.each(files, function(index, file) { + addElement($.extend(file, {path: path})); + }); + }, + dataType: 'json' + }); + } + }); + return this; + }; +})(jQuery); diff --git a/debian/control b/debian/control index 853ebc6d2..c7263e7fb 100644 --- a/debian/control +++ b/debian/control @@ -13,6 +13,7 @@ Depends: apache2, coreutils (>= 7.5) | timeout, curl, ecasound, + flac, gzip (>= 1.3.12), libao-ocaml, libapache2-mod-php5,