Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix a common error message and update some strings #1896

Merged
merged 2 commits into from Sep 3, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
20 changes: 8 additions & 12 deletions src/components/playback/playbackmanager.js
Expand Up @@ -639,22 +639,18 @@ function supportsDirectPlay(apiClient, item, mediaSource) {

function validatePlaybackInfoResult(instance, result) {
if (result.ErrorCode) {
showPlaybackInfoErrorMessage(instance, result.ErrorCode);
showPlaybackInfoErrorMessage(instance, 'PlaybackError' + result.ErrorCode);
return false;
}

return true;
}

function showPlaybackInfoErrorMessage(instance, errorCode, playNextTrack) {
function showPlaybackInfoErrorMessage(instance, errorCode) {
import('alert').then(({ default: alert }) => {
alert({
text: globalize.translate('PlaybackError' + errorCode),
text: globalize.translate(errorCode),
title: globalize.translate('HeaderPlaybackError')
}).then(function () {
if (playNextTrack) {
instance.nextTrack();
}
});
});
}
Expand Down Expand Up @@ -1701,7 +1697,7 @@ class PlaybackManager {
streamInfo.lastMediaInfoQuery = lastMediaInfoQuery;

if (!streamInfo.url) {
showPlaybackInfoErrorMessage(self, 'NoCompatibleStream', true);
showPlaybackInfoErrorMessage(self, 'PlaybackErrorNoCompatibleStream');
return;
}

Expand Down Expand Up @@ -2061,7 +2057,7 @@ class PlaybackManager {

// If it's still null then there's nothing to play
if (!firstItem) {
showPlaybackInfoErrorMessage(self, 'NoCompatibleStream', false);
showPlaybackInfoErrorMessage(self, 'PlaybackErrorNoCompatibleStream');
return Promise.reject();
}

Expand Down Expand Up @@ -2110,7 +2106,7 @@ class PlaybackManager {
function playInternal(item, playOptions, onPlaybackStartedFn) {
if (item.IsPlaceHolder) {
loading.hide();
showPlaybackInfoErrorMessage(self, 'PlaceHolder', true);
showPlaybackInfoErrorMessage(self, 'PlaybackErrorPlaceHolder');
return Promise.reject();
}

Expand Down Expand Up @@ -2479,7 +2475,7 @@ class PlaybackManager {
return mediaSource;
}
} else {
showPlaybackInfoErrorMessage(self, 'NoCompatibleStream');
showPlaybackInfoErrorMessage(self, 'PlaybackErrorNoCompatibleStream');
return Promise.reject();
}
});
Expand Down Expand Up @@ -2968,7 +2964,7 @@ class PlaybackManager {
}

if (displayErrorCode && typeof (displayErrorCode) === 'string') {
showPlaybackInfoErrorMessage(self, displayErrorCode, nextItem);
showPlaybackInfoErrorMessage(self, 'PlaybackError' + displayErrorCode);
} else if (nextItem) {
self.nextTrack();
} else {
Expand Down
32 changes: 16 additions & 16 deletions src/controllers/dashboard/dlna/profile.html
Expand Up @@ -33,11 +33,11 @@ <h3 class="checkboxListLabel">${LabelSupportedMediaTypes}</h3>
</label>
<label>
<input is="emby-checkbox" type="checkbox" id="chkPhoto" data-value="Photo" class="chkMediaType" />
<span>${OptionProfilePhoto}</span>
<span>${Photo}</span>
</label>
<label>
<input is="emby-checkbox" type="checkbox" id="chkVideo" data-value="Video" class="chkMediaType" />
<span>${OptionProfileVideo}</span>
<span>${Video}</span>
</label>
</div>
</div>
Expand Down Expand Up @@ -144,19 +144,19 @@ <h2 style="vertical-align:middle;display:inline-block;">${HeaderHttpHeaders}</h2
</div>
<div class="inputContainer">
<input type="number" is="emby-input" id="txtAlbumArtMaxWidth" pattern="[0-9]*" min="1" label="${LabelAlbumArtMaxWidth}" />
<div class="fieldDescription">${LabelAlbumArtMaxWidthHelp}</div>
<div class="fieldDescription">${LabelAlbumArtMaxResHelp}</div>
</div>
<div class="inputContainer">
<input type="number" is="emby-input" id="txtAlbumArtMaxHeight" pattern="[0-9]*" min="1" label="${LabelAlbumArtMaxHeight}" />
<div class="fieldDescription">${LabelAlbumArtMaxHeightHelp}</div>
<div class="fieldDescription">${LabelAlbumArtMaxResHelp}</div>
</div>
<div class="inputContainer">
<input type="number" is="emby-input" id="txtIconMaxWidth" pattern="[0-9]*" min="1" label="${LabelIconMaxWidth}" />
<div class="fieldDescription">${LabelIconMaxWidthHelp}</div>
<div class="fieldDescription">${LabelIconMaxResHelp}</div>
</div>
<div class="inputContainer">
<input type="number" is="emby-input" id="txtIconMaxHeight" pattern="[0-9]*" min="1" label="${LabelIconMaxHeight}" />
<div class="fieldDescription">${LabelIconMaxHeightHelp}</div>
<div class="fieldDescription">${LabelIconMaxResHelp}</div>
</div>
</div>
</div>
Expand Down Expand Up @@ -280,8 +280,8 @@ <h3 class="sectionTitle">${HeaderDirectPlayProfile}</h3>
<div class="selectContainer">
<select id="selectDirectPlayProfileType" name="selectDirectPlayProfileType" is="emby-select" label="${LabelType}">
<option value="Audio">${Audio}</option>
<option value="Photo">${OptionProfilePhoto}</option>
<option value="Video">${OptionProfileVideo}</option>
<option value="Photo">${Photo}</option>
<option value="Video">${Video}</option>
</select>
</div>
<div class="inputContainer">
Expand Down Expand Up @@ -328,8 +328,8 @@ <h3 class="sectionTitle">${HeaderTranscodingProfile}</h3>
<div class="selectContainer">
<select id="selectTranscodingProfileType" name="selectTranscodingProfileType" is="emby-select" label="${LabelType}">
<option value="Audio">${Audio}</option>
<option value="Photo">${OptionProfilePhoto}</option>
<option value="Video">${OptionProfileVideo}</option>
<option value="Photo">${Photo}</option>
<option value="Video">${Video}</option>
</select>
</div>
<div id="fldTranscodingProtocol" style="margin: 1em 0;">
Expand Down Expand Up @@ -404,8 +404,8 @@ <h3 class="sectionTitle">${HeaderContainerProfile}</h3>
<div class="selectContainer">
<select id="selectContainerProfileType" name="selectContainerProfileType" is="emby-select" label="${LabelType}">
<option value="Audio">${Audio}</option>
<option value="Photo">${OptionProfilePhoto}</option>
<option value="Video">${OptionProfileVideo}</option>
<option value="Photo">${Photo}</option>
<option value="Video">${Video}</option>
</select>
</div>
<div class="inputContainer">
Expand Down Expand Up @@ -434,8 +434,8 @@ <h3 class="sectionTitle">${HeaderCodecProfile}</h3>
<p>${HeaderCodecProfileHelp}</p>
<div class="selectContainer">
<select id="selectCodecProfileType" name="selectCodecProfileType" is="emby-select" label="${LabelType}">
<option value="Video">${OptionProfileVideo}</option>
<option value="VideoAudio">${OptionProfileVideoAudio}</option>
<option value="Video">${Video}</option>
<option value="VideoAudio">${VideoAudio}</option>
<option value="Audio">${Audio}</option>
</select>
</div>
Expand Down Expand Up @@ -463,8 +463,8 @@ <h3 class="sectionTitle">${HeaderResponseProfile}</h3>
<div class="selectContainer">
<select id="selectResponseProfileType" name="selectResponseProfileType" is="emby-select" label="${LabelType}">
<option value="Audio">${Audio}</option>
<option value="Photo">${OptionProfilePhoto}</option>
<option value="Video">${OptionProfileVideo}</option>
<option value="Photo">${Photo}</option>
<option value="Video">${Video}</option>
</select>
</div>
<div class="inputContainer">
Expand Down
14 changes: 7 additions & 7 deletions src/controllers/dashboard/library.js
Expand Up @@ -218,29 +218,29 @@ import 'emby-itemrefreshindicator';
name: '',
value: ''
}, {
name: globalize.translate('FolderTypeMovies'),
name: globalize.translate('Movies'),
value: 'movies',
message: getLink('MovieLibraryHelp', 'https://docs.jellyfin.org/general/server/media/movies.html')
}, {
name: globalize.translate('FolderTypeMusic'),
name: globalize.translate('TabMusic'),
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't feel like replacing the key everywhere it shows up but let me know if this is a blocker.

value: 'music',
message: getLink('MusicLibraryHelp', 'https://docs.jellyfin.org/general/server/media/music.html')
}, {
name: globalize.translate('FolderTypeTvShows'),
name: globalize.translate('Shows'),
value: 'tvshows',
message: getLink('TvLibraryHelp', 'https://docs.jellyfin.org/general/server/media/shows.html')
}, {
name: globalize.translate('FolderTypeBooks'),
name: globalize.translate('Books'),
value: 'books',
message: getLink('BookLibraryHelp', 'https://docs.jellyfin.org/general/server/media/books.html')
}, {
name: globalize.translate('Photos'),
value: 'homevideos'
}, {
name: globalize.translate('FolderTypeMusicVideos'),
name: globalize.translate('MusicVideos'),
value: 'musicvideos'
}, {
name: globalize.translate('FolderTypeUnset'),
name: globalize.translate('Other'),
value: 'mixed',
message: globalize.translate('MessageUnsetContentHelp')
}];
Expand Down Expand Up @@ -326,7 +326,7 @@ import 'emby-itemrefreshindicator';
let typeName = getCollectionTypeOptions().filter(function (t) {
return t.value == virtualFolder.CollectionType;
})[0];
typeName = typeName ? typeName.name : globalize.translate('FolderTypeUnset');
typeName = typeName ? typeName.name : globalize.translate('Other');
html += "<div class='cardText cardText-secondary'>";

if (virtualFolder.showType === false) {
Expand Down
13 changes: 0 additions & 13 deletions src/strings/ar.json
Expand Up @@ -87,12 +87,6 @@
"FileNotFound": "الملف غير موجود.",
"FileReadCancelled": "تم الغاء قراءة الملف.",
"FileReadError": "حدث خطأ بقراءة الملف.",
"FolderTypeBooks": "كتب",
"FolderTypeMovies": "أفلام",
"FolderTypeMusic": "موسيقى",
"FolderTypeMusicVideos": "الفيديوهات الموسيقية",
"FolderTypeTvShows": "تلفاز",
"FolderTypeUnset": "غير مخصص (خليط محتويات)",
"Friday": "الجمعة",
"Fullscreen": "الشاشة كاملة",
"GuideProviderLogin": "تسجيل الدخول",
Expand Down Expand Up @@ -242,9 +236,7 @@
"LabelAlbum": "الألبوم:",
"LabelAlbumArtHelp": "PN المستخدمة في رسومات الألبوم، داخل سمة dlna:profileID في upnp:albumArtURI. بعض الأجهزة تحتاج قيمة محددة، مهما كان حجم الصورة.",
"LabelAlbumArtMaxHeight": "الارتفاع الأقصى لرسومات الألبوم:",
"LabelAlbumArtMaxHeightHelp": "الدقة القصوى لرسومات الألبوم المظهّرة عبر سمة upnp:albumArtURI.",
"LabelAlbumArtMaxWidth": "العرض الأقصى لرسوم الألبوم:",
"LabelAlbumArtMaxWidthHelp": "الدقة القصوى لرسومات الألبوم المظهّرة عبر سمة upnp:albumArtURI.",
"LabelAlbumArtPN": "رسومات الألبوم PN:",
"LabelAlbumArtists": "فنانو الألبومات:",
"LabelAllowHWTranscoding": "السماح بالتشفير البيني بعتاد الحاسب",
Expand Down Expand Up @@ -326,9 +318,7 @@
"LabelHttpsPort": "رقم منفذ https المحتلي:",
"LabelHttpsPortHelp": "رقم منفذ tcp المتوجب على بروتوكول https أن يرتبط من خلاله في خادم أمبي.",
"LabelIconMaxHeight": "الارتفاع الأقصى للأيقونة.",
"LabelIconMaxHeightHelp": "الدقة القصوى للأيقونة المظهّرة عبر سمة upnp:icon.",
"LabelIconMaxWidth": "العرض الأقصى للأيقونة:",
"LabelIconMaxWidthHelp": "الدقة القصوى لرسومات الألبوم المظهّرة عبر سمة upnp:icon.",
"LabelImageFetchersHelp": "مكّن ورتّب جالبات الصور التي تفضلها حسب أولوية التفضيل.",
"LabelImageType": "صيغة الصورة:",
"LabelImportOnlyFavoriteChannels": "أحصر العرض على القنوات المعلّمة كمفضلات",
Expand Down Expand Up @@ -624,9 +614,6 @@
"OptionPlainVideoItemsHelp": "عند التفعيل، فإن جميع الفيديوهات ستُمثّل في مخطط DIDL كالتالي: \"كائن.عنصر.عنصر_فيديو\" بدلاً من النوع الأكثر تخصيصاً كما يلي \"كائن.عنصر.عنصر_فيديو.فيلم\".",
"OptionPlayCount": "مرات التشغيل",
"OptionPremiereDate": "تاريخ العرض",
"OptionProfilePhoto": "صور",
"OptionProfileVideo": "الفيديو",
"OptionProfileVideoAudio": "صوتي مرئي",
"OptionProtocolHls": "البت الحي عبر http",
"OptionReleaseDate": "تاريخ الإنتاج",
"OptionReportByteRangeSeekingWhenTranscoding": "قرّر ما إذا كان الخادم يدعم البحث عن البايت حال التشفير",
Expand Down
13 changes: 0 additions & 13 deletions src/strings/bg-bg.json
Expand Up @@ -96,12 +96,6 @@
"Favorites": "Любими",
"File": "Файл",
"Filters": "Филтри",
"FolderTypeBooks": "Книги",
"FolderTypeMovies": "Филми",
"FolderTypeMusic": "Музика",
"FolderTypeMusicVideos": "Музикални клипове",
"FolderTypeTvShows": "Сериали",
"FolderTypeUnset": "Смесено съдържание",
"FormatValue": "Формат: {0}",
"Friday": "Петък",
"Fullscreen": "Цял екран",
Expand Down Expand Up @@ -484,9 +478,6 @@
"OptionPlainVideoItems": "Показвай всички видео клипове като обикновени",
"OptionPlayCount": "Брой пускания",
"OptionPremiereDate": "Дата на премиера",
"OptionProfilePhoto": "Снимка",
"OptionProfileVideo": "Видео",
"OptionProfileVideoAudio": "Видео Аудио",
"OptionReleaseDate": "Дата на издаване",
"OptionRequirePerfectSubtitleMatch": "Да се изтеглят само субтитри, които пасват идеално на файловете ми",
"OptionResumable": "Възобновляемост",
Expand Down Expand Up @@ -903,8 +894,6 @@
"LabelAllowedRemoteAddressesMode": "Режим на филтъра за външни ИП адреси:",
"LabelAllowedRemoteAddresses": "Филтър за външни ИП адреси:",
"LabelAllowHWTranscoding": "Разреши хардуерно транскодиране",
"LabelAlbumArtMaxWidthHelp": "Максимална резолюция на обложките за албуми показани чрез upnp:albumArtURI.",
"LabelAlbumArtMaxHeightHelp": "Максимална резолюция на обложките за албуми показани чрез upnp:albumArtURI.",
"LabelAlbumArtMaxHeight": "Максимална височина на обложките за албуми:",
"LabelAlbumArtHelp": "PN се използва за обложки на албуми dlna:profileID attribute on upnp:albumArtURI.Някои устройства се нуждаят от определена стойност ,независимо от размера на картината.",
"LabelAirsBeforeSeason": "Ще бъде излъчен преди сезон:",
Expand Down Expand Up @@ -998,9 +987,7 @@
"LabelInNetworkSignInWithEasyPassword": "Включи вписване в мрежата с лесен пин код",
"LabelImportOnlyFavoriteChannels": "Ограничи до канали обозначени ,като любими",
"LabelImageFetchersHelp": "Включете и подредете любимите ви услуги за извличане на изображения по важност.",
"LabelIconMaxWidthHelp": "Максимална резолюция на иконите показани чрез upnp:icon.",
"LabelIconMaxWidth": "Максимална ширина на икона:",
"LabelIconMaxHeightHelp": "Максимална резолюция на иконите показани чрез upnp:icon.",
"LabelIconMaxHeight": "Максимална височина на икона:",
"LabelHardwareAccelerationTypeHelp": "Хардуерното ускорение се нуждае от допълнителни настройки.",
"LabelEncoderPreset": "Шаблон за енкодиране чрез H264 и H265 :",
Expand Down
8 changes: 0 additions & 8 deletions src/strings/ca.json
Expand Up @@ -84,12 +84,6 @@
"FileNotFound": "Arxiu no trobat.",
"FileReadCancelled": "La lectura de l'arxiu ha estat cancel·lada.",
"FileReadError": "S'ha produït un error en llegir el fitxer.",
"FolderTypeBooks": "Llibres",
"FolderTypeMovies": "Pel·lícules",
"FolderTypeMusic": "Música",
"FolderTypeMusicVideos": "Vídeos musicals",
"FolderTypeTvShows": "TV",
"FolderTypeUnset": "No definit (contingut mesclat)",
"Friday": "Divendres",
"Fullscreen": "Pantalla completa",
"Genres": "Gèneres",
Expand Down Expand Up @@ -465,8 +459,6 @@
"OptionOnInterval": "En un interval",
"OptionParentalRating": "Classificació Parental",
"OptionPlayCount": "Nombre de Reproduccions",
"OptionProfilePhoto": "Foto",
"OptionProfileVideo": "Vídeo",
"OptionReleaseDate": "Data de Publicació",
"OptionResumable": "Continuable",
"OptionSaveMetadataAsHidden": "Desa les metadades i les imatges com a fitxers ocults",
Expand Down