API
2 years ago
Blocks
5 years ago
License
5 years ago
AdminNotice.php
5 years ago
AdminNotices.php
4 years ago
AjaxActions.php
2 years ago
Blocks.php
4 years ago
Compatibility.php
4 years ago
Menu.php
2 years ago
Migrations.php
5 years ago
Player.php
2 years ago
ProCompatibility.php
2 years ago
ReusableVideos.php
2 years ago
Scripts.php
2 years ago
Settings.php
4 years ago
Shortcodes.php
2 years ago
Streamer.php
4 years ago
Translation.php
2 years ago
VideoPostType.php
2 years ago
Translation.php
126 lines
| 1 | <?php |
| 2 | |
| 3 | namespace PrestoPlayer\Services; |
| 4 | |
| 5 | use PrestoPlayer\Models\Setting; |
| 6 | use PrestoPlayer\Contracts\Service; |
| 7 | |
| 8 | class Translation implements Service |
| 9 | { |
| 10 | protected $preset_name_translations = []; |
| 11 | |
| 12 | public function __construct() |
| 13 | { |
| 14 | $this->preset_name_translations = [ |
| 15 | 'default' => __('Default', 'presto-player'), |
| 16 | 'course' => __('Course', 'presto-player'), |
| 17 | 'simple' => __('Simple', 'presto-player'), |
| 18 | 'minimal' => __('Minimal', 'presto-player'), |
| 19 | 'youtube' => __('Youtube Optimized', 'presto-player'), |
| 20 | ]; |
| 21 | } |
| 22 | |
| 23 | public function register() |
| 24 | { |
| 25 | add_action('load_script_textdomain_relative_path', [$this, 'scriptsPath'], 10, 2); |
| 26 | add_filter('presto_player/presto_player_presets/data', [$this, 'translateDefaultPresets']); |
| 27 | add_action('init', [$this, 'loadPluginTextDomain'], 0); |
| 28 | } |
| 29 | |
| 30 | /** |
| 31 | * This is needed for Loco translate to work properly. |
| 32 | */ |
| 33 | public function loadPluginTextDomain(){ |
| 34 | load_plugin_textdomain('presto-player', false, dirname(plugin_basename(PRESTO_PLAYER_PLUGIN_FILE)) . '/languages'); |
| 35 | } |
| 36 | |
| 37 | public function translateDefaultPresets($preset) |
| 38 | { |
| 39 | if (empty($preset->is_locked)) { |
| 40 | return $preset; |
| 41 | } |
| 42 | |
| 43 | // translate name |
| 44 | $preset->name = isset($this->preset_name_translations[$preset->slug]) ? $this->preset_name_translations[$preset->slug] : $preset->name; |
| 45 | |
| 46 | // youtube options |
| 47 | if ('youtube' === $preset->slug) { |
| 48 | $preset->action_bar['text'] = __('Subscribe To Our YouTube Channel', 'presto-player'); |
| 49 | // unset action bar if no channel id |
| 50 | if (!Setting::get('youtube', 'channel_id')) { |
| 51 | unset($preset->action_bar); |
| 52 | return $preset; |
| 53 | } |
| 54 | } |
| 55 | |
| 56 | return $preset; |
| 57 | } |
| 58 | |
| 59 | public function scriptsPath($path, $src) |
| 60 | { |
| 61 | if (strpos($src, 'presto-player') !== false) { |
| 62 | return './src'; |
| 63 | } |
| 64 | return $path; |
| 65 | } |
| 66 | |
| 67 | public static function geti18n() |
| 68 | { |
| 69 | return [ |
| 70 | 'skip' => __("Skip", "presto-player"), |
| 71 | 'rewatch' => __("Rewatch", "presto-player"), |
| 72 | 'emailPlaceholder' => __("Email address", 'presto-player'), |
| 73 | 'emailDefaultHeadline' => __("Enter your email to play this episode.", "presto-player"), |
| 74 | 'chapters' => __('Chapters', 'presto-player'), |
| 75 | 'show_chapters' => __('Show Chapters', 'presto-player'), |
| 76 | 'hide_chapters' => __('Hide Chapters', 'presto-player'), |
| 77 | 'restart' => __('Restart', 'presto-player'), |
| 78 | 'rewind' => sprintf(__('Rewind %1ss', 'presto-player'), '{seektime}'), |
| 79 | 'play' => __('Play', 'presto-player'), |
| 80 | 'pause' => __('Pause', 'presto-player'), |
| 81 | 'fastForward' => sprintf(__('Forward %1ss', 'presto-player'), '{seektime}'), |
| 82 | 'seek' => __('Seek', 'presto-player'), |
| 83 | 'seekLabel' => sprintf(__('%1s of %2s', 'presto-player'), '{currentTime}', '{duration}'), |
| 84 | 'played' => __('Played', 'presto-player'), |
| 85 | 'buffered' => __('Buffered', 'presto-player'), |
| 86 | 'currentTime' => __('Current time', 'presto-player'), |
| 87 | 'duration' => __('Duration', 'presto-player'), |
| 88 | 'volume' => __('Volume', 'presto-player'), |
| 89 | 'mute' => __('Mute', 'presto-player'), |
| 90 | 'unmute' => __('Unmute', 'presto-player'), |
| 91 | 'enableCaptions' => __('Enable captions', 'presto-player'), |
| 92 | 'disableCaptions' => __('Disable captions', 'presto-player'), |
| 93 | 'download' => __('Download', 'presto-player'), |
| 94 | 'enterFullscreen' => __('Enter fullscreen', 'presto-player'), |
| 95 | 'exitFullscreen' => __('Exit fullscreen', 'presto-player'), |
| 96 | 'frameTitle' => __('Player for {title}', 'presto-player'), |
| 97 | 'captions' => __('Captions', 'presto-player'), |
| 98 | 'settings' => __('Settings', 'presto-player'), |
| 99 | 'pip' => __('PIP', 'presto-player'), |
| 100 | 'menuBack' => __('Go back to previous menu', 'presto-player'), |
| 101 | 'speed' => __('Speed', 'presto-player'), |
| 102 | 'normal' => __('Normal', 'presto-player'), |
| 103 | 'quality' => __('Quality', 'presto-player'), |
| 104 | 'loop' => __('Loop', 'presto-player'), |
| 105 | 'start' => __('Start', 'presto-player'), |
| 106 | 'end' => __('End', 'presto-player'), |
| 107 | 'all' => __('All', 'presto-player'), |
| 108 | 'reset' => __('Reset', 'presto-player'), |
| 109 | 'disabled' => __('Disabled', 'presto-player'), |
| 110 | 'enabled' => __('Enabled', 'presto-player'), |
| 111 | 'advertisement' => __('Ad', 'presto-player'), |
| 112 | 'qualityBadge' => [ |
| 113 | 2160 => __('4K', 'presto-player'), |
| 114 | 1440 => __('HD', 'presto-player'), |
| 115 | 1080 => __('HD', 'presto-player'), |
| 116 | 720 => __('HD', 'presto-player'), |
| 117 | 576 => __('SD', 'presto-player'), |
| 118 | 480 => __('SD', 'presto-player'), |
| 119 | ], |
| 120 | 'auto' => __('AUTO', 'presto-player'), |
| 121 | 'upNext' => __('Up Next', 'presto-player'), |
| 122 | 'startOver' => __('Start Over', 'presto-player'), |
| 123 | ]; |
| 124 | } |
| 125 | } |
| 126 |