1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update translations

This commit is contained in:
Luke Pulverenti 2014-08-24 11:48:06 -04:00
parent f26855c918
commit bab4b299ab
13 changed files with 361 additions and 237 deletions

View file

@ -140,7 +140,8 @@
var formatString = idInfo.UrlFormatString || '';
html += '<div data-role="fieldcontain">';
html += '<label for="' + id + '">' + idInfo.Name + ' Id:</label>';
var idLabel = Globalize.translate('LabelDynamicExternalId').replace('{0}', idInfo.Name);
html += '<label for="' + id + '">' + idLabel + '</label>';
html += '<div style="display: inline-block; width: 250px;">';
@ -338,14 +339,14 @@
}
if (item.Type == "Person") {
$('#lblPremiereDate', page).html('Date of birth');
$('#lblYear', page).html('Birth year');
$('#lblEndDate', page).html('Death date');
$('#lblPremiereDate', page).html(Globalize.translate('LabelBirthDate'));
$('#lblYear', page).html(Globalize.translate('LabelBirthYear'));
$('#lblEndDate', page).html(Globalize.translate('LabelDeathDate'));
$('#fldPlaceOfBirth', page).show();
} else {
$('#lblPremiereDate', page).html('Release date');
$('#lblYear', page).html('Year');
$('#lblEndDate', page).html('End date');
$('#lblPremiereDate', page).html(Globalize.translate('LabelReleaseDate'));
$('#lblYear', page).html(Globalize.translate('LabelYear'));
$('#lblEndDate', page).html(Globalize.translate('LabelEndDate'));
$('#fldPlaceOfBirth', page).hide();
}
@ -359,13 +360,13 @@
$('#fldIndexNumber', page).show();
if (item.Type == "Episode") {
$('#lblIndexNumber', page).html('Episode number');
$('#lblIndexNumber', page).html(Globalize.translate('LabelEpisodeNumber'));
} else if (item.Type == "Season") {
$('#lblIndexNumber', page).html('Season number');
$('#lblIndexNumber', page).html(Globalize.translate('LabelSeasonNumber'));
} else if (item.Type == "Audio") {
$('#lblIndexNumber', page).html('Track number');
$('#lblIndexNumber', page).html(Globalize.translate('LabelTrackNumber'));
} else {
$('#lblIndexNumber', page).html('Number');
$('#lblIndexNumber', page).html(Globalize.translate('LabelNumber'));
}
} else {
$('#fldIndexNumber', page).hide();
@ -375,11 +376,11 @@
$('#fldParentIndexNumber', page).show();
if (item.Type == "Episode") {
$('#lblParentIndexNumber', page).html('Season number');
$('#lblParentIndexNumber', page).html(Globalize.translate('LabelSeasonNumber'));
} else if (item.Type == "Audio") {
$('#lblParentIndexNumber', page).html('Disc number');
$('#lblParentIndexNumber', page).html(Globalize.translate('LabelDiscNumber'));
} else {
$('#lblParentIndexNumber', page).html('Parent number');
$('#lblParentIndexNumber', page).html(Globalize.translate('LabelParentNumber'));
}
} else {
$('#fldParentIndexNumber', page).hide();
@ -394,8 +395,8 @@
if (item.Type == "BoxSet") {
$('#fldDisplayOrder', page).show();
$('#labelDisplayOrder', page).html('Title display order:');
$('#selectDisplayOrder', page).html('<option value="SortName">Sort Name</option><option value="PremiereDate">Release Date</option>').selectmenu('refresh');
$('#labelDisplayOrder', page).html(Globalize.translate('LabelTitleDisplayOrder'));
$('#selectDisplayOrder', page).html('<option value="SortName">'+Globalize.translate('OptionSortName')+'</option><option value="PremiereDate">'+Globalize.translate('OptionReleaseDate')+'</option>').selectmenu('refresh');
} else {
$('#selectDisplayOrder', page).html('').selectmenu('refresh');
$('#fldDisplayOrder', page).hide();
@ -571,7 +572,7 @@
var person = people[i];
var type = person.Type || 'Person';
var type = person.Type || Globalize.translate('PersonTypePerson');
if (type != lastType) {
html += '<li data-role="list-divider">' + type + '</li>';
@ -993,7 +994,9 @@
var id = "txtLookup" + idInfo.Key;
html += '<div data-role="fieldcontain">';
html += '<label for="' + id + '">' + idInfo.Name + ' Id:</label>';
var idLabel = Globalize.translate('LabelDynamicExternalId').replace('{0}', idInfo.Name);
html += '<label for="' + id + '">' + idLabel + '</label>';
var value = providerIds[idInfo.Key] || '';
@ -1016,9 +1019,7 @@
$('.identifyProviderIds', page).html(html).trigger('create');
var friendlyName = item.Type == "BoxSet" ? "Collection" : item.Type == "MusicArtist" ? "Artist" : item.Type == "MusicAlbum" ? "Album" : item.Type;
$('.identificationHeader', page).html('Identify ' + friendlyName);
$('.identificationHeader', page).html(Globalize.translate('HeaderIdentify'));
$('.popupIdentifyForm', page).show();
$('.identificationSearchResults', page).hide();

View file

@ -149,49 +149,49 @@
if (item.MovieCount) {
html += '<input type="radio" name="ibnItems" id="radioMovies" class="context-movies" value="on" data-mini="true">';
html += '<label for="radioMovies">Movies</label>';
html += '<label for="radioMovies">'+Globalize.translate('TabMovies')+'</label>';
}
if (item.SeriesCount) {
html += '<input type="radio" name="ibnItems" id="radioShows" class="context-tv" value="on" data-mini="true">';
html += '<label for="radioShows">TV Shows</label>';
html += '<label for="radioShows">'+Globalize.translate('TabSeries')+'</label>';
}
if (item.EpisodeCount) {
html += '<input type="radio" name="ibnItems" id="radioEpisodes" class="context-tv" value="on" data-mini="true">';
html += '<label for="radioEpisodes">Episodes</label>';
html += '<label for="radioEpisodes">'+Globalize.translate('TabEpisodes')+'</label>';
}
if (item.TrailerCount) {
html += '<input type="radio" name="ibnItems" id="radioTrailers" class="context-movies" value="on" data-mini="true">';
html += '<label for="radioTrailers">Trailers</label>';
html += '<label for="radioTrailers">'+Globalize.translate('TabTrailers')+'</label>';
}
if (item.GameCount) {
html += '<input type="radio" name="ibnItems" id="radioGames" class="context-games" value="on" data-mini="true">';
html += '<label for="radioGames">Games</label>';
html += '<label for="radioGames">'+Globalize.translate('TabGames')+'</label>';
}
if (item.AlbumCount) {
html += '<input type="radio" name="ibnItems" id="radioAlbums" class="context-music" value="on" data-mini="true">';
html += '<label for="radioAlbums">Albums</label>';
html += '<label for="radioAlbums">'+Globalize.translate('TabAlbums')+'</label>';
}
if (item.SongCount) {
html += '<input type="radio" name="ibnItems" id="radioSongs" class="context-music" value="on" data-mini="true">';
html += '<label for="radioSongs">Songs</label>';
html += '<label for="radioSongs">'+Globalize.translate('TabSongs')+'</label>';
}
if (item.MusicVideoCount) {
html += '<input type="radio" name="ibnItems" id="radioMusicVideos" class="context-music" value="on" data-mini="true">';
html += '<label for="radioMusicVideos">Music Videos</label>';
html += '<label for="radioMusicVideos">'+Globalize.translate('TabMusicVideos')+'</label>';
}
html += '</fieldset>';
@ -321,7 +321,7 @@
try {
var birthday = parseISO8601Date(item.PremiereDate, { toLocal: true }).toDateString();
$('#itemBirthday', page).show().html("Born:&nbsp;&nbsp;" + birthday);
$('#itemBirthday', page).show().html(Globalize.translate('BirthDateValue').replace('{0}', birthday));
}
catch (err) {
$('#itemBirthday', page).hide();
@ -335,7 +335,7 @@
try {
var deathday = parseISO8601Date(item.EndDate, { toLocal: true }).toDateString();
$('#itemDeathDate', page).show().html("Died:&nbsp;&nbsp;" + deathday);
$('#itemDeathDate', page).show().html(Globalize.translate('DeathDateValue').replace('{0}', deathday));
}
catch (err) {
$('#itemBirthday', page).hide();
@ -347,7 +347,7 @@
var gmap = '<a class="textlink" target="_blank" href="https://maps.google.com/maps?q=' + item.ProductionLocations[0] + '">' + item.ProductionLocations[0] + '</a>';
$('#itemBirthLocation', page).show().html("Birthplace:&nbsp;&nbsp;" + gmap).trigger('create');
$('#itemBirthLocation', page).show().html(Globalize.translate('BirthPlaceValue').replace('{0}', gmap)).trigger('create');
} else {
$('#itemBirthLocation', page).hide();
}

View file

@ -274,7 +274,7 @@
$(this).off("popupafterclose").remove();
}).parents(".ui-popup-container").css("margin-left", 30);
}).parents(".ui-popup-container");
},
closePlayMenu: function () {
@ -325,7 +325,7 @@
$(this).off("popupafterclose").remove();
}).parents(".ui-popup-container").css("margin-left", 55);
}).parents(".ui-popup-container");
},
getHref: function (item, context, topParentId) {
@ -617,7 +617,6 @@
tag: item.ImageTags.Primary,
type: "Primary",
index: 0,
EnableImageEnhancers: false,
minScale: minScale
});

View file

@ -72,13 +72,14 @@
})[0];
typeName = typeName ? typeName.name : "Mixed movies & tv";
typeName = typeName ? typeName.name : Globalize.translate('FolderTypeMixed');
html += '<p style="padding-left:.5em;">Folder type: <b>' + typeName + '</b></p>';
html += '<p style="padding-left:.5em;">';
html += '<ul class="mediaFolderLocations" data-inset="true" data-role="listview" data-split-icon="minus">';
html += Globalize.translate('LabelFolderTypeValue').replace('{0}', '<b>' + typeName + '</b>');
html += '</p><ul class="mediaFolderLocations" data-inset="true" data-role="listview" data-split-icon="minus">';
html += '<li data-role="list-divider" class="mediaLocationsHeader">Media Locations';
html += '<li data-role="list-divider" class="mediaLocationsHeader">' + Globalize.translate('HeaderMediaLocations');
html += '<button type="button" data-icon="plus" data-mini="true" data-inline="true" data-iconpos="notext" onclick="MediaLibraryPage.addMediaLocation(' + index + ');"></button>';
html += '</li>';
@ -93,13 +94,13 @@
html += '</ul>';
if (addPathMappingInfo) {
html += '<p style="margin:1.5em 0;">Optional: <a href="librarypathmapping.html">Path substitution</a> can map server paths to network shares that clients can access for direct playback.</p>';
html += '<p style="margin:1.5em 0;">'+Globalize.translate('LabelPathSubstitutionHelp')+'</p>';
}
html += '<p>';
html += '<button type="button" data-inline="true" data-icon="minus" data-folderindex="' + index + '" onclick="MediaLibraryPage.deleteVirtualFolder(this);" data-mini="true">Remove</button>';
html += '<button type="button" data-inline="true" data-icon="edit" data-folderindex="' + index + '" onclick="MediaLibraryPage.renameVirtualFolder(this);" data-mini="true">Rename</button>';
html += '<button type="button" data-inline="true" data-icon="edit" data-folderindex="' + index + '" onclick="MediaLibraryPage.changeCollectionType(this);" data-mini="true">Change type</button>';
html += '<button type="button" data-inline="true" data-icon="minus" data-folderindex="' + index + '" onclick="MediaLibraryPage.deleteVirtualFolder(this);" data-mini="true">'+Globalize.translate('ButtonRemove')+'</button>';
html += '<button type="button" data-inline="true" data-icon="edit" data-folderindex="' + index + '" onclick="MediaLibraryPage.renameVirtualFolder(this);" data-mini="true">'+Globalize.translate('ButtonRename')+'</button>';
html += '<button type="button" data-inline="true" data-icon="edit" data-folderindex="' + index + '" onclick="MediaLibraryPage.changeCollectionType(this);" data-mini="true">'+Globalize.translate('ButtonChangeType')+'</button>';
html += '</p>';
html += '</div>';
@ -111,7 +112,7 @@
$('.collectionTypeFieldDescription').show();
MediaLibraryPage.getTextValue("Add Media Folder", "Name (Movies, Music, TV, etc):", "", true, function (name, type) {
MediaLibraryPage.getTextValue(Globalize.translate('HeaderAddMediaFolder'), Globalize.translate('HeaderAddMediaFolderHelp'), "", true, function (name, type) {
MediaLibraryPage.lastVirtualFolderName = name;
@ -218,16 +219,16 @@
return [
{ name: "", value: "" },
{ name: "Movies", value: "movies" },
{ name: "Music", value: "music" },
{ name: "TV shows", value: "tvshows" },
{ name: "Books*", value: "books" },
{ name: "Games*", value: "games" },
{ name: "Home videos", value: "homevideos" },
{ name: "Music videos", value: "musicvideos" },
{ name: "Photos", value: "photos" },
{ name: "Adult videos", value: "adultvideos" },
{ name: "Mixed movies & tv", value: "mixed" }
{ name: Globalize.translate('FolderTypeMovies'), value: "movies" },
{ name: Globalize.translate('FolderTypeMusic'), value: "music" },
{ name: Globalize.translate('FolderTypeTvShows'), value: "tvshows" },
{ name: Globalize.translate('FolderTypeBooks') + '*', value: "books" },
{ name: Globalize.translate('FolderTypeGames') + '*', value: "games" },
{ name: Globalize.translate('FolderTypeHomeVideos'), value: "homevideos" },
{ name: Globalize.translate('FolderTypeMusicVideos'), value: "musicvideos" },
{ name: Globalize.translate('FolderTypePhotos'), value: "photos" },
{ name: Globalize.translate('FolderTypeAdultVideos'), value: "adultvideos" },
{ name: Globalize.translate('FolderTypeMixed'), value: "mixed" }
];
},
@ -241,7 +242,7 @@
$('.collectionTypeFieldDescription').hide();
MediaLibraryPage.getTextValue("Rename Media Folder", "New name:", virtualFolder.Name, false, function (newName) {
MediaLibraryPage.getTextValue(Globalize.translate('HeaderRenameMediaFolder'), Globalize.translate('LabelNewName'), virtualFolder.Name, false, function (newName) {
if (virtualFolder.Name != newName) {
@ -263,16 +264,16 @@
return this.innerHTML;
}).get();
var msg = "Are you sure you wish to remove " + virtualFolder.Name + "?";
var msg = Globalize.translate('MessageAreYouSureYouWishToRemoveMediaFolder');
if (locations.length) {
msg += "<br/><br/>The following media locations will be removed from your library:<br/><br/>";
msg += "<br/><br/>"+Globalize.translate("MessageTheFollowingLocationWillBeRemovedFromLibrary")+"<br/><br/>";
msg += locations.join("<br/>");
}
MediaLibraryPage.lastVirtualFolderName = virtualFolder.Name;
Dashboard.confirm(msg, "Remove Media Folder", function (confirmResult) {
Dashboard.confirm(msg, Globalize.translate('HeaderRemoveMediaFolder'), function (confirmResult) {
if (confirmResult) {
@ -295,7 +296,7 @@
var location = virtualFolder.Locations[index];
Dashboard.confirm("Are you sure you wish to remove this location?", "Remove Media Location", function (confirmResult) {
Dashboard.confirm(Globalize.translate('MessageConfirmRemoveMediaLocation'), Globalize.translate('HeaderRemoveMediaLocation'), function (confirmResult) {
if (confirmResult) {

View file

@ -136,7 +136,8 @@
var options = {
Recursive: true,
IncludeItemTypes: "Playlist"
IncludeItemTypes: "Playlist",
SortBy: 'SortName'
};
ApiClient.getItems(Dashboard.getCurrentUserId(), options).done(function (result) {
@ -211,8 +212,7 @@
var url = ApiClient.getUrl("Playlists/" + id + "/Items", {
Ids: $('.fldSelectedItemIds', panel).val() || '',
userId: Dashboard.getCurrentUserId(),
SortBy: 'SortName'
userId: Dashboard.getCurrentUserId()
});
ApiClient.ajax({

View file

@ -1,48 +1,124 @@
var SupporterPage = {
onPageShow: function() {
var page = this;
(function () {
function addRecurringFields(page) {
$('#paypalReturnUrl', page).val(ApiClient.getUrl("supporterkey.html"));
$('#cbxRecurring', '#supporterPage').change(function() {
if (this.checked) {
SupporterPage.addRecurringFields();
} else {
SupporterPage.removeRecurringFields(page);
}
});
},
addRecurringFields: function() {
// Add recurring fields to form
$("<input type='hidden' name='a3' class='pprecurring' />")
.attr('value', $('#donateAmt', '#supporterPage').val())
.appendTo("#payPalForm", '#supporterPage');
.attr('value', $('#donateAmt', page).val())
.appendTo("#payPalForm", page);
$("<input type='hidden' name='p3' value='1' class='pprecurring' />")
.appendTo("#payPalForm", '#supporterPage');
.appendTo("#payPalForm", page);
$("<input type='hidden' name='t3' value='M' class='pprecurring' />")
.appendTo("#payPalForm", '#supporterPage');
.appendTo("#payPalForm", page);
$("<input type='hidden' name='src' value='1' class='pprecurring' />")
.appendTo("#payPalForm", '#supporterPage');
.appendTo("#payPalForm", page);
$("<input type='hidden' name='sra' value='1' class='pprecurring' />")
.appendTo("#payPalForm", '#supporterPage');
.appendTo("#payPalForm", page);
//change command for subscriptions
$('#ppCmd', '#supporterPage').val('_xclick-subscriptions');
$('#payPalForm', '#supporterPage').trigger('create');
},
removeRecurringFields: function(page) {
$('#ppCmd', page).val('_xclick-subscriptions');
$('#payPalForm', page).trigger('create');
}
function removeRecurringFields(page) {
$('.pprecurring', page).remove();
//change command back
$('#ppCmd', page).val('_xclick');
}
},
};
function getDonationType(page) {
return $(".radioDonationType:checked", page).val();
}
$(document).on('pageshow', "#supporterPage", SupporterPage.onPageShow);
var lifeTimeAmount = 30;
var monthlyAmount = 3;
var yearlyAmount = 20;
function getDonationAmount(page) {
var type = getDonationType(page);
if (type == 'once') {
return $("#selectOneTimeDonationAmount", page).val();
}
if (type == 'yearly') {
return yearlyAmount;
}
if (type == 'monthly') {
return monthlyAmount;
}
// lifetime
return lifeTimeAmount;
}
function updateSavedDonationAmount(page) {
$("#donateAmt", page).val(getDonationAmount(page));
}
$(document).on('pageinit', "#supporterPage", function () {
var page = this;
$('.radioDonationType', page).on('change', function () {
var donationType = getDonationType(page);
updateSavedDonationAmount(page);
if (donationType == 'once') {
$('.fldOneTimeDonationAmount', page).show();
removeRecurringFields(page);
// TODO: Update item_number ?
}
else if (donationType == 'yearly') {
$('.fldOneTimeDonationAmount', page).hide();
addRecurringFields(page);
// TODO: Update item_number ?
}
else if (donationType == 'monthly') {
$('.fldOneTimeDonationAmount', page).hide();
addRecurringFields(page);
// TODO: Update item_number ?
}
else {
// Lifetime
$('.fldOneTimeDonationAmount', page).hide();
removeRecurringFields(page);
// TODO: Update item_number ?
}
});
$('#selectOneTimeDonationAmount', page).on('change', function () {
updateSavedDonationAmount(page);
});
}).on('pageshow', "#supporterPage", function () {
var page = this;
$('.lifetimeAmount', page).html('$' + lifeTimeAmount);
$('.monthlyAmount', page).html('$' + monthlyAmount);
$('.yearlyAmount', page).html('$' + yearlyAmount);
$('#paypalReturnUrl', page).val(ApiClient.getUrl("supporterkey.html"));
$('.radioDonationType', page).trigger('change');
// TODO: Pull down supporter status
// If already lifetime, had that option, but allow them to add monthly - many supporters probably will
// If already monthly, hide monthly option
// Or possibly not hide and select that option, but that will imply that changing the option will update their PP (can we do that?)
});
})();