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

@ -12,7 +12,7 @@
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="support.html" data-role="button">${TabGeneral}</a>
<a href="log.html" data-role="button">${TabLogs}</a>
<a href="supporter.html" data-role="button">${TabBecomeSupporter}</a>
<a href="supporter.html" data-role="button">${TabSupporterClub}</a>
<a href="supporterkey.html" data-role="button">${TabSupporterKey}</a>
<a href="about.html" data-role="button" class="ui-btn-active">${TabAbout}</a>
</div>
@ -38,9 +38,6 @@
<p>
<a href="http://fanart.tv" target="_blank">FanArt.tv</a>
</p>
<p>
<a href="http://www.last.fm" target="_blank">last.fm</a>
</p>
<p>
<a href="http://musicbrainz.org" target="_blank">MusicBrainz</a>
</p>

View file

@ -1271,3 +1271,7 @@ a.itemTag:hover {
display: none;
}
}
.tapHoldMenu li a, .playFlyout li a {
font-size: 14px;
}

View file

@ -32,11 +32,11 @@
<div style="margin-top: -15px;"></div>
</div>
<button class="btnSave" type="submit" data-theme="a" data-icon="check" data-mini="true" data-inline="true">
Save
${ButtonSave}
</button>
<button class="btnRefresh btnRefreshBasic" type="button" data-icon="refresh" data-mini="true" data-inline="true">Refresh</button>
<button class="btnRefresh btnRefreshAdvanced" type="button" data-icon="refresh" data-mini="true" data-inline="true">Advanced Refresh</button>
<button id="btnIdentify" type="button" data-icon="info" data-mini="true" data-inline="true">Identify</button>
<button class="btnRefresh btnRefreshBasic" type="button" data-icon="refresh" data-mini="true" data-inline="true">${ButtonRefresh}</button>
<button class="btnRefresh btnRefreshAdvanced" type="button" data-icon="refresh" data-mini="true" data-inline="true">${ButtonAdvancedRefresh}</button>
<button id="btnIdentify" type="button" data-icon="info" data-mini="true" data-inline="true">${ButtonIdentify}</button>
<div style="vertical-align: bottom; display: inline-block;">
<div id="fldDelete" style="display: none;">
<button id="btnDelete" type="button" data-icon="delete" data-mini="true" data-inline="true">${ButtonDelete}</button>
@ -46,156 +46,156 @@
<div style="padding: 10px 0;">
<div data-role="fieldcontain" id="fldPath">
<label for="txtPath">Path:</label>
<label for="txtPath">${LabelPath}</label>
<input type="text" id="txtPath" data-mini="true" readonly="readonly" />
</div>
<div data-role="fieldcontain">
<label for="txtName">Name:</label>
<label for="txtName">${LabelName}</label>
<input type="text" id="txtName" required="required" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldSortName" style="display: none;">
<label for="txtSortName">Sort name:</label>
<label for="txtSortName">${LabelSortName}</label>
<input type="text" id="txtSortName" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldDateAdded" style="display: none;">
<label for="txtDateAdded">Date added:</label>
<label for="txtDateAdded">${LabelDateAdded}</label>
<input type="date" id="txtDateAdded" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldStatus" style="display: none;">
<label for="selectStatus">Status:</label>
<label for="selectStatus">${LabelStatus}</label>
<select id="selectStatus" data-mini="true"></select>
</div>
<div data-role="fieldcontain" id="fldArtist" style="display: none;">
<label for="txtArtist">Artists:</label>
<input type="text" id="txtArtist" data-mini="true" placeholder="Separate multiple using ;" />
<label for="txtArtist">${LabelArtists}</label>
<input type="text" id="txtArtist" data-mini="true" placeholder="${LabelArtistsHelp}" />
</div>
<div data-role="fieldcontain" id="fldAlbumArtist" style="display: none;">
<label for="txtAlbumArtist">Album artist:</label>
<label for="txtAlbumArtist">${LabelAlbumArtist}</label>
<input type="text" id="txtAlbumArtist" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldAlbum" style="display: none;">
<label for="txtAlbum">Album:</label>
<label for="txtAlbum">${LabelAlbum}</label>
<input type="text" id="txtAlbum" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldParentIndexNumber" style="display: none;">
<label id="lblParentIndexNumber" for="txtParentIndexNumber">Parent number:</label>
<label id="lblParentIndexNumber" for="txtParentIndexNumber"></label>
<input type="number" id="txtParentIndexNumber" data-mini="true" pattern="[0-9]*" />
</div>
<div data-role="fieldcontain" id="fldIndexNumber" style="display: none;">
<label id="lblIndexNumber" for="txtIndexNumber">Number:</label>
<label id="lblIndexNumber" for="txtIndexNumber"></label>
<input type="number" id="txtIndexNumber" data-mini="true" pattern="[0-9]*" />
</div>
<div id="fldCommunityRating" style="display: none;" data-role="fieldcontain">
<label for="txtCommunityRating">Community rating:</label>
<label for="txtCommunityRating">${LabelCommunityRating}</label>
<input type="number" id="txtCommunityRating" step=".1" min="0" max="10" data-mini="true" />
</div>
<div id="fldCommunityVoteCount" style="display: none;" data-role="fieldcontain">
<label for="txtCommunityVoteCount">Vote count:</label>
<label for="txtCommunityVoteCount">${LabelVoteCount}</label>
<input type="number" id="txtCommunityVoteCount" data-mini="true" />
</div>
<div id="fldMetascore" style="display: none;" data-role="fieldcontain">
<label for="txtMetascore">Metascore:</label>
<label for="txtMetascore">${LabelMetascore}</label>
<input type="number" id="txtMetascore" step="1" min="0" max="100" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldCriticRating" style="display: none;">
<label for="txtCriticRating">Critic rating:</label>
<label for="txtCriticRating">${LabelCriticRating}</label>
<input type="number" id="txtCriticRating" step=".1" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldCriticRatingSummary" style="display: none;">
<label for="txtCriticRatingSummary">Critic rating summary:</label>
<label for="txtCriticRatingSummary">${LabelCriticRatingSummary}</label>
<input type="text" id="txtCriticRatingSummary" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldAwardSummary" style="display: none;">
<label for="txtAwardSummary">Award summary:</label>
<label for="txtAwardSummary">${LabelAwardSummary}</label>
<input type="text" id="txtAwardSummary" data-mini="true" />
</div>
<div data-role="fieldcontain">
<label for="txtHomePageUrl">Website:</label>
<label for="txtHomePageUrl">${LabelWebsite}</label>
<input type="url" id="txtHomePageUrl" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldTagline" style="display: none;">
<label for="txtTagline">Tagline:</label>
<label for="txtTagline">${LabelTagline}</label>
<input type="text" id="txtTagline" data-mini="true" />
</div>
<div data-role="fieldcontain">
<label for="txtOverview">Overview:</label>
<label for="txtOverview">${LabelOverview}</label>
<textarea id="txtOverview" data-mini="true"></textarea>
</div>
<div data-role="fieldcontain" id="fldShortOverview" style="display: none;">
<label for="txtShortOverview">Short overview:</label>
<label for="txtShortOverview">${LabelShortOverview}</label>
<textarea id="txtShortOverview" data-mini="true"></textarea>
</div>
<div data-role="fieldcontain" id="fldPremiereDate" style="display: none;">
<label id="lblPremiereDate" for="txtPremiereDate">Release date:</label>
<label id="lblPremiereDate" for="txtPremiereDate">${LabelReleaseDate}</label>
<input type="date" id="txtPremiereDate" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldYear" style="display: none;">
<label id="lblYear" for="txtProductionYear">Year:</label>
<label id="lblYear" for="txtProductionYear">${LabelYear}</label>
<input type="number" id="txtProductionYear" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldPlaceOfBirth" style="display: none;">
<label for="txtPlaceOfBirth">Place of birth:</label>
<label for="txtPlaceOfBirth">${LabelPlaceOfBirth}</label>
<input type="text" id="txtPlaceOfBirth" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldEndDate" style="display: none;">
<label id="lblEndDate" for="txtEndDate">End date:</label>
<label id="lblEndDate" for="txtEndDate">${LabelEndDate}</label>
<input type="date" id="txtEndDate" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldAirDays" style="display: none;">
<label for="selectAirDays">Air Days:</label>
<label for="selectAirDays">${LabelAirDays}</label>
<div data-role="controlgroup" data-mini="true">
<input type="checkbox" class="chkAirDay" id="chkSunday" data-day="Sunday">
<label for="chkSunday">Sunday</label>
<label for="chkSunday">${OptionSunday}</label>
<input type="checkbox" class="chkAirDay" id="chkMonday" data-day="Monday">
<label for="chkMonday">Monday</label>
<label for="chkMonday">${OptionMonday}</label>
<input type="checkbox" class="chkAirDay" id="chkTuesday" data-day="Tuesday">
<label for="chkTuesday">Tuesday</label>
<label for="chkTuesday">${OptionTuesday}</label>
<input type="checkbox" class="chkAirDay" id="chkWednesday" data-day="Wednesday">
<label for="chkWednesday">Wednesday</label>
<label for="chkWednesday">${OptionWednesday}</label>
<input type="checkbox" class="chkAirDay" id="chkThursday" data-day="Thursday">
<label for="chkThursday">Thursday</label>
<label for="chkThursday">${OptionThursday}</label>
<input type="checkbox" class="chkAirDay" id="chkFriday" data-day="Friday">
<label for="chkFriday">Friday</label>
<label for="chkFriday">${OptionFriday}</label>
<input type="checkbox" class="chkAirDay" id="chkSaturday" data-day="Saturday">
<label for="chkSaturday">Saturday</label>
<label for="chkSaturday">${OptionSaturday}</label>
</div>
</div>
<div data-role="fieldcontain" id="fldAirTime" style="display: none;">
<label for="txtAirTime">Air Time:</label>
<label for="txtAirTime">${LabelAirTime}</label>
<input type="time" id="txtAirTime" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldSeriesRuntime" style="display: none;">
<label for="txtSeriesRuntime">Run Time (minutes):</label>
<label for="txtSeriesRuntime">${LabelRuntimeMinutes}</label>
<input type="number" id="txtSeriesRuntime" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldOfficialRating" style="display: none;">
<label for="selectOfficialRating">Parental rating:</label>
<label for="selectOfficialRating">${LabelParentalRating}</label>
<select id="selectOfficialRating" data-mini="true"></select>
</div>
<div data-role="fieldcontain" id="fldCustomRating" style="display: none;">
<label for="selectCustomRating">Custom rating:</label>
<label for="selectCustomRating">${LabelCustomRating}</label>
<select id="selectCustomRating" data-mini="true"></select>
</div>
<div data-role="fieldcontain" id="fldBudget" style="display: none;">
<label for="txtBudget">Budget ($):</label>
<label for="txtBudget">${LabelBudget}</label>
<input type="number" id="txtBudget" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldRevenue" style="display: none;">
<label for="txtRevenue">Revenue ($):</label>
<label for="txtRevenue">${LabelRevenue}</label>
<input type="number" id="txtRevenue" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldOriginalAspectRatio" style="display: none;">
<label for="txtOriginalAspectRatio">Original aspect ratio:</label>
<label for="txtOriginalAspectRatio">${LabelOriginalAspectRatio}</label>
<input type="text" id="txtOriginalAspectRatio" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldPlayers" style="display: none;">
<label for="txtPlayers">Players:</label>
<label for="txtPlayers">${LabelPlayers}</label>
<input type="number" id="txtPlayers" data-mini="true" pattern="[0-9]*" />
</div>
<div data-role="fieldcontain" id="fld3dFormat" style="display: none;">
<label for="select3dFormat">3D Format:</label>
<label for="select3dFormat">${Label3DFormat}</label>
<select id="select3dFormat" data-mini="true">
<option value=""></option>
<option value="HalfSideBySide">HSBS</option>
@ -207,150 +207,150 @@
</div>
<br />
<div data-role="collapsible" data-mini="true" data-collapsed="false" id="collapsibleDvdEpisodeInfo" style="display: none; margin-top: 1em;">
<h3>Alternate Episode Numbers</h3>
<h3>${HeaderAlternateEpisodeNumbers}</h3>
<div>
<div data-role="fieldcontain">
<label for="txtDvdSeasonNumber">Dvd season number:</label>
<label for="txtDvdSeasonNumber">${LabelDvdSeasonNumber}</label>
<input type="number" id="txtDvdSeasonNumber" data-mini="true" pattern="[0-9]*" />
</div>
<div data-role="fieldcontain">
<label for="txtDvdEpisodeNumber">Dvd episode number:</label>
<label for="txtDvdEpisodeNumber">${LabelDvdEpisodeNumber}</label>
<input type="number" id="txtDvdEpisodeNumber" data-mini="true" pattern="[0-9]*" />
</div>
<div data-role="fieldcontain">
<label for="txtAbsoluteEpisodeNumber">Absolute episode number:</label>
<label for="txtAbsoluteEpisodeNumber">${LabelAbsoluteEpisodeNumber}</label>
<input type="number" id="txtAbsoluteEpisodeNumber" data-mini="true" pattern="[0-9]*" />
</div>
</div>
</div>
<div data-role="collapsible" data-mini="true" data-collapsed="false" id="collapsibleSpecialEpisodeInfo" style="display: none; margin-top: 1em;">
<h3>Special Episode Info</h3>
<h3>${HeaderSpecialEpisodeInfo}</h3>
<div>
<div data-role="fieldcontain">
<label for="txtAirsBeforeSeason">Airs before season:</label>
<label for="txtAirsBeforeSeason">${LabelAirsBeforeSeason}</label>
<input type="number" id="txtAirsBeforeSeason" data-mini="true" pattern="[0-9]*" />
</div>
<div data-role="fieldcontain">
<label for="txtAirsAfterSeason">Airs after season:</label>
<label for="txtAirsAfterSeason">${LabelAirsAfterSeason}</label>
<input type="number" id="txtAirsAfterSeason" data-mini="true" pattern="[0-9]*" />
</div>
<div data-role="fieldcontain">
<label for="txtAirsBeforeEpisode">Airs before episode:</label>
<label for="txtAirsBeforeEpisode">${LabelAirsBeforeEpisode}</label>
<input type="number" id="txtAirsBeforeEpisode" data-mini="true" pattern="[0-9]*" />
</div>
</div>
</div>
<div data-role="collapsible" data-mini="true" data-collapsed="false" style="margin-top: 1em;">
<h3>External Id's</h3>
<h3>${HeaderExternalIds}</h3>
<div class="externalIds">
</div>
</div>
<div data-role="collapsible" data-mini="true" id="collapsibleDisplaySettings" style="display: none; margin-top: 1em;">
<h3>Display Settings</h3>
<h3>${HeaderDisplaySettings}</h3>
<div>
<div data-role="fieldcontain" id="fldSourceType" style="display: none;" class="fldDisplaySetting">
<label for="txtDisplayMediaType">Treat image as:</label>
<label for="txtDisplayMediaType">${LabelTreatImageAs}</label>
<input type="text" id="txtDisplayMediaType" data-mini="true" />
</div>
<div data-role="fieldcontain" id="fldDisplaySpecialsInline" class="fldDisplaySetting">
<label for="chkDisplaySpecialsInline">Display specials within seasons they aired in.</label>
<label for="chkDisplaySpecialsInline">${LabelDisplaySpecialsWithinSeasons}</label>
<input data-mini="true" type="checkbox" id="chkDisplaySpecialsInline" />
</div>
<div data-role="fieldcontain" id="fldDisplayOrder" class="fldDisplaySetting">
<label for="selectDisplayOrder" id="labelDisplayOrder">Display order:</label>
<label for="selectDisplayOrder" id="labelDisplayOrder">${LabelDisplayOrder}</label>
<select id="selectDisplayOrder" data-mini="true">
</select>
</div>
</div>
</div>
<div data-role="collapsible" data-mini="true" id="countriesCollapsible" style="display: none; margin-top: 1em;">
<h3>Countries</h3>
<h3>${HeaderCountries}</h3>
<div data-role="editableListviewContainer">
<div data-role="fieldcontain">
<div style="display: inline-block; width: 80%;">
<input type="text" data-mini="true" />
</div>
<a data-role="button" data-theme="b" data-inline="true" data-mini="true" data-icon="plus" data-iconpos="notext" onclick="EditItemMetadataPage.addElementToEditableListview(this)" style="vertical-align: top;">Add</a>
<a data-role="button" data-theme="b" data-inline="true" data-mini="true" data-icon="plus" data-iconpos="notext" onclick="EditItemMetadataPage.addElementToEditableListview(this)" style="vertical-align: top;">${ButtonAdd}</a>
</div>
<ul data-role="listview" data-inset="true" data-split-icon="delete" id="listCountries"></ul>
</div>
</div>
<div data-role="collapsible" data-mini="true" id="genresCollapsible" style="display: none; margin-top: 1em;">
<h3>Genres</h3>
<h3>${HeaderGenres}</h3>
<div data-role="editableListviewContainer">
<div data-role="fieldcontain">
<div style="display: inline-block; width: 80%;">
<input type="text" data-mini="true" />
</div>
<a data-role="button" data-theme="b" data-inline="true" data-mini="true" data-icon="plus" data-iconpos="notext" onclick="EditItemMetadataPage.addElementToEditableListview(this)" style="vertical-align: top;">Add</a>
<a data-role="button" data-theme="b" data-inline="true" data-mini="true" data-icon="plus" data-iconpos="notext" onclick="EditItemMetadataPage.addElementToEditableListview(this)" style="vertical-align: top;">${ButtonAdd}</a>
</div>
<ul data-role="listview" data-inset="true" data-split-icon="delete" id="listGenres"></ul>
</div>
</div>
<div data-mini="true" data-role="collapsible" id="peopleCollapsible" style="display: none; margin-top: 1em;">
<h3>People</h3>
<h3>${HeaderPeople}</h3>
<div>
<br />
<button type="button" id="btnAddPerson" data-icon="plus" data-mini="true" data-theme="a">Add Person</button>
<button type="button" id="btnAddPerson" data-icon="plus" data-mini="true" data-theme="a">${ButtonAdd}</button>
<br />
<ul data-role="listview" data-inset="true" data-split-icon="delete" id="peopleList"></ul>
</div>
</div>
<div data-mini="true" data-role="collapsible" id="keywordsCollapsible" style="display: none; margin-top: 1em;">
<h3>Plot Keywords</h3>
<h3>${HeaderPlotKeywords}</h3>
<div data-role="editableListviewContainer">
<div data-role="fieldcontain">
<div style="display: inline-block; width: 80%;">
<input type="text" data-mini="true" />
</div>
<a data-role="button" data-theme="b" data-inline="true" data-mini="true" data-icon="plus" data-iconpos="notext" onclick="EditItemMetadataPage.addElementToEditableListview(this)" style="vertical-align: top;">Add</a>
<a data-role="button" data-theme="b" data-inline="true" data-mini="true" data-icon="plus" data-iconpos="notext" onclick="EditItemMetadataPage.addElementToEditableListview(this)" style="vertical-align: top;">${ButtonAdd}</a>
</div>
<ul data-role="listview" data-inset="true" data-split-icon="delete" id="listKeywords"></ul>
</div>
</div>
<div data-role="collapsible" data-mini="true" id="studiosCollapsible" style="display: none; margin-top: 1em;">
<h3>Studios</h3>
<h3>${HeaderStudios}</h3>
<div data-role="editableListviewContainer">
<div data-role="fieldcontain">
<div style="display: inline-block; width: 80%;">
<input type="text" data-mini="true" />
</div>
<a data-role="button" data-theme="b" data-inline="true" data-mini="true" data-icon="plus" data-iconpos="notext" onclick="EditItemMetadataPage.addElementToEditableListview(this)" style="vertical-align: top;">Add</a>
<a data-role="button" data-theme="b" data-inline="true" data-mini="true" data-icon="plus" data-iconpos="notext" onclick="EditItemMetadataPage.addElementToEditableListview(this)" style="vertical-align: top;">${ButtonAdd}</a>
</div>
<ul data-role="listview" data-inset="true" data-split-icon="delete" id="listStudios"></ul>
</div>
</div>
<div data-mini="true" data-role="collapsible" id="tagsCollapsible" style="display: none; margin-top: 1em;">
<h3>Tags</h3>
<h3>${HeaderTags}</h3>
<div data-role="editableListviewContainer">
<div data-role="fieldcontain">
<div style="display: inline-block; width: 80%;">
<input type="text" data-mini="true" />
</div>
<a data-role="button" data-theme="b" data-inline="true" data-mini="true" data-icon="plus" data-iconpos="notext" onclick="EditItemMetadataPage.addElementToEditableListview(this)" style="vertical-align: top;">Add</a>
<a data-role="button" data-theme="b" data-inline="true" data-mini="true" data-icon="plus" data-iconpos="notext" onclick="EditItemMetadataPage.addElementToEditableListview(this)" style="vertical-align: top;">${ButtonAdd}</a>
</div>
<ul data-role="listview" data-inset="true" data-split-icon="delete" id="listTags"></ul>
</div>
</div>
<div data-role="collapsible" data-mini="true" id="metadataSettingsCollapsible" style="display: none; margin-top: 1em;">
<h3>Metadata Settings</h3>
<h3>${HeaderMetadataSettings}</h3>
<div>
<div data-role="fieldcontain">
<label for="selectLanguage">Preferred language: </label>
<label for="selectLanguage">${LabelMetadataDownloadLanguage}</label>
<select id="selectLanguage" data-mini="true"></select>
</div>
<div class="fieldDescription editorfieldDescription">Leave empty to inherit settings from a parent item, or the global default value.</div>
<div class="fieldDescription editorfieldDescription">${MessageLeaveEmptyToInherit}</div>
<br />
<div data-role="fieldcontain">
<label for="selectCountry">Country: </label>
<label for="selectCountry">${LabelCountry}</label>
<select id="selectCountry" data-mini="true"></select>
</div>
<div class="fieldDescription editorfieldDescription">Leave empty to inherit settings from a parent item, or the global default value.</div>
<div class="fieldDescription editorfieldDescription">${MessageLeaveEmptyToInherit}</div>
<p>
<br />
<label for="chkLockData">Lock this item to prevent future changes.</label>
<label for="chkLockData">${LabelLockItemToPreventChanges}</label>
<input data-mini="true" type="checkbox" id="chkLockData" onchange="EditItemMetadataPage.setProviderSettingsContainerVisibility(this)" />
</p>
<div id="providerSettingsContainer" style="display: none">
@ -359,7 +359,7 @@
</div>
<br/>
<button class="btnSave" type="submit" data-theme="a" data-icon="check">
Save
${ButtonSave}
</button>
</div>
@ -369,15 +369,17 @@
<div data-role="popup" id="popupConfirmDelete" class="popup" data-theme="a">
<div class="ui-bar-a" style="text-align: center; padding: 0 20px;">
<h3>Confirm Deletion</h3>
<h3>${HeaderConfirmDeletion}</h3>
</div>
<div data-role="content">
<form class="popupConfirmDeleteForm">
<p>The following <strong style='color: red;'>file location will be deleted</strong>:</p>
<p style="color:red;">${LabelFollowingFileWillBeDeleted}</p>
<p class="deletePath"></p>
<p>If you wish to continue, please confirm by entering the value of <span id="challengeValueText" style="font-weight: bold;"></span></p>
<p>${LabelIfYouWishToContinueWithDeletion}</p>
<p id="challengeValueText" style="font-weight: bold;"></p>
<p>
<input type="number" id="txtDeleteTest" data-mini="true" pattern="[0-9]*" required="required" />
@ -386,10 +388,10 @@
<p>
<button type="submit" data-theme="b" data-icon="check">
Ok
${ButtonOk}
</button>
<button type="button" data-icon="delete" onclick="$(this).parents('.popup').popup('close');">
Cancel
${ButtonCancel}
</button>
</p>
</form>
@ -397,28 +399,27 @@
</div>
<div data-role="popup" class="popupIdentify popup" data-theme="a">
<a href="#" data-rel="back" class="ui-btn ui-corner-all ui-shadow ui-btn-b ui-icon-delete ui-btn-icon-notext ui-btn-right">Close</a>
<a href="#" data-rel="back" class="ui-btn ui-corner-all ui-shadow ui-btn-b ui-icon-delete ui-btn-icon-notext ui-btn-right">${ButtonClose}</a>
<div class="ui-bar-a" style="text-align: center; padding: 0 20px; position: relative;">
<button type="button" data-icon="search" data-mini="true" data-inline="true" data-iconpos="notext" style="position: absolute; top: 8px; left: 10px; margin: 0;" class="btnSearchAgain">Search</button>
<button type="button" data-icon="search" data-mini="true" data-inline="true" data-iconpos="notext" style="position: absolute; top: 8px; left: 10px; margin: 0;" class="btnSearchAgain">${ButtonSearch}</button>
<h3 class="identificationHeader">Identify Item
</h3>
<h3 class="identificationHeader">${HeaderIdentifyItem}</h3>
</div>
<div data-role="content">
<form class="popupIdentifyForm" style="max-width: initial;">
<p>Enter one or more search criteria. Remove criteria to increase search results.</p>
<p>${HeaderIdentifyItemHelp}</p>
<div>
<label for="txtLookupName">Name:</label>
<label for="txtLookupName">${LabelName}</label>
<input type="text" id="txtLookupName" data-mini="true" class="identifyField" data-lookup="Name" />
</div>
<div class="fldLookupYear">
<label for="txtLookupYear">Year:</label>
<label for="txtLookupYear">${LabelYear}</label>
<input type="number" id="txtLookupYear" data-mini="true" class="identifyField" data-lookup="Year" pattern="[0-9]*" min="1800" />
</div>
@ -427,10 +428,10 @@
<p>
<button type="submit" data-theme="b" data-icon="search" data-mini="true">
Search
${ButtonSearch}
</button>
<button type="button" data-icon="delete" data-mini="true" onclick="$(this).parents('.popup').popup('close');">
Cancel
${ButtonCancel}
</button>
</p>
</form>
@ -446,43 +447,43 @@
<div data-role="popup" id="popupEditPerson" class="popup" data-theme="a">
<div class="ui-bar-a" style="text-align: center; padding: 0 20px;">
<h3 style="margin: .5em;">Person Info</h3>
<h3 style="margin: .5em;">${HeaderPersonInfo}</h3>
</div>
<div data-role="content">
<form class="popupEditPersonForm">
<div>
<label for="txtPersonName">Name:</label>
<label for="txtPersonName">${LabelName}</label>
<input type="text" id="txtPersonName" required="required" data-mini="true" />
</div>
<div>
<label for="selectPersonType">Type:</label>
<label for="selectPersonType">${LabelType}</label>
<select id="selectPersonType" data-mini="true">
<option value=""></option>
<option value="Actor">Actor</option>
<option value="Composer">Composer</option>
<option value="Director">Director</option>
<option value="GuestStar">Guest Star</option>
<option value="Producer">Producer</option>
<option value="Writer">Writer</option>
<option value="Actor">${OptionActor}</option>
<option value="Composer">${OptionComposer}</option>
<option value="Director">${OptionDirector}</option>
<option value="GuestStar">${OptionGuestStar}</option>
<option value="Producer">${OptionProducer}</option>
<option value="Writer">${OptionWriter}</option>
</select>
</div>
<div>
<label for="txtPersonRole">Role:</label>
<label for="txtPersonRole">${LabelPersonRole}</label>
<input type="text" id="txtPersonRole" data-mini="true" />
<div class="fieldDescription">Role is generally only applicable to actors.</div>
<div class="fieldDescription">${LabelPersonRoleHelp}</div>
</div>
<br />
<input type="hidden" id="fldPersonIndex" />
<p>
<button type="submit" data-theme="b" data-icon="check" data-mini="true">
Ok
${ButtonOk}
</button>
<button type="button" data-icon="delete" onclick="$(this).parents('.popup').popup('close');" data-mini="true">
Cancel
${ButtonCancel}
</button>
</p>
</form>
@ -493,7 +494,7 @@
<div data-role="popup" class="popup popupAdvancedRefresh" data-theme="a">
<div class="ui-bar-a" style="text-align: center; padding: 0 20px;">
<h3 style="margin: .5em;">Refresh Metadata</h3>
<h3 style="margin: .5em;">${HeaderRefreshMetadata}</h3>
</div>
<div data-role="content">
@ -501,30 +502,30 @@
<br />
<div>
<label for="selectMetadataRefreshMode">Metadata refresh mode:</label>
<label for="selectMetadataRefreshMode">${LabelMetadataRefreshMode}</label>
<select id="selectMetadataRefreshMode" data-mini="true">
<option value="">None</option>
<option value="local">Local Refresh Only</option>
<option value="missing">Add Missing Data Only</option>
<option value="all">Refresh All Data</option>
<option value="">${OptionNone}</option>
<option value="local">${OptionLocalRefreshOnly}</option>
<option value="missing">${OptionAddMissingDataOnly}</option>
<option value="all">${OptionRefreshAllData}</option>
</select>
</div>
<br />
<div>
<label for="selectImageRefreshMode">Images refresh mode:</label>
<label for="selectImageRefreshMode">${LabelImageRefreshMode}</label>
<select id="selectImageRefreshMode" data-mini="true">
<option value="">None</option>
<option value="missing">Download missing images</option>
<option value="all">Replace existing images</option>
<option value="">${OptionNone}</option>
<option value="missing">${OptionDownloadMissingImages}</option>
<option value="all">${OptionReplaceExistingImages}</option>
</select>
</div>
<br />
<p>
<button type="submit" data-theme="b" data-icon="check" data-mini="true">
Ok
${ButtonOk}
</button>
<button type="button" data-icon="delete" onclick="$(this).parents('.popup').popup('close');" data-mini="true">
Cancel
${ButtonCancel}
</button>
</p>
</form>

View file

@ -11,7 +11,7 @@
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="support.html" data-role="button">${TabGeneral}</a>
<a href="log.html" data-role="button" class="ui-btn-active">${TabLogs}</a>
<a href="supporter.html" data-role="button">${TabBecomeSupporter}</a>
<a href="supporter.html" data-role="button">${TabSupporterClub}</a>
<a href="supporterkey.html" data-role="button">${TabSupporterKey}</a>
<a href="about.html" data-role="button">${TabAbout}</a>
</div>

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 () {
$('#paypalReturnUrl', page).val(ApiClient.getUrl("supporterkey.html"));
$('#cbxRecurring', '#supporterPage').change(function() {
if (this.checked) {
SupporterPage.addRecurringFields();
} else {
SupporterPage.removeRecurringFields(page);
}
});
},
function addRecurringFields(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');
$('#ppCmd', page).val('_xclick-subscriptions');
$('#payPalForm', '#supporterPage').trigger('create');
$('#payPalForm', page).trigger('create');
}
},
function removeRecurringFields(page) {
removeRecurringFields: function(page) {
$('.pprecurring', page).remove();
//change command back
$('#ppCmd', page).val('_xclick');
}
},
function getDonationType(page) {
};
return $(".radioDonationType:checked", page).val();
}
var lifeTimeAmount = 30;
var monthlyAmount = 3;
var yearlyAmount = 20;
function getDonationAmount(page) {
$(document).on('pageshow', "#supporterPage", SupporterPage.onPageShow);
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?)
});
})();

View file

@ -12,7 +12,7 @@
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="support.html" data-role="button" class="ui-btn-active">${TabGeneral}</a>
<a href="log.html" data-role="button">${TabLogs}</a>
<a href="supporter.html" data-role="button">${TabBecomeSupporter}</a>
<a href="supporter.html" data-role="button">${TabSupporterClub}</a>
<a href="supporterkey.html" data-role="button">${TabSupporterKey}</a>
<a href="about.html" data-role="button">${TabAbout}</a>
</div>

View file

@ -9,32 +9,73 @@
<div data-role="content">
<div class="content-primary">
<div class="readOnlyContent">
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="support.html" data-role="button">${TabGeneral}</a>
<a href="log.html" data-role="button">${TabLogs}</a>
<a href="supporter.html" data-role="button" class="ui-btn-active">${TabBecomeSupporter}</a>
<a href="supporter.html" data-role="button" class="ui-btn-active">${TabSupporterClub}</a>
<a href="supporterkey.html" data-role="button">${TabSupporterKey}</a>
<a href="about.html" data-role="button">${TabAbout}</a>
</div>
<h3>${HeaderSupportTheTeam}</h3>
<p>${HeaderSupportTheTeamHelp}</p>
<p>${HeaderSupporterBenefit}</p>
<form style="margin-top:2em;" name="_xclick" action="https://www.paypal.com/cgi-bin/webscr" id="payPalForm" method="post">
<fieldset data-role="controlgroup">
<legend>${HeaderDonationType}</legend>
<div class="fldLifetime">
<input type="radio" class="radioDonationType" name="radioDonationType" id="radioLifetimeSupporter" value="lifetime" checked="checked">
<label for="radioLifetimeSupporter">
${OptionLifeTimeSupporterClubMembership}<br />
<span class="lifetimeAmount"></span>
</label>
</div>
<div class="fldYearly">
<input type="radio" class="radioDonationType" name="radioDonationType" id="radioYearlySupporter" value="yearly">
<label for="radioYearlySupporter">
Yearly supporter club membership<br />
<span class="yearlyAmount"></span>
</label>
</div>
<div class="fldMonthly">
<input type="radio" class="radioDonationType" name="radioDonationType" id="radioMonthlySupporter" value="monthly">
<label for="radioMonthlySupporter">
Monthly supporter club membership<br />
<span class="monthlyAmount"></span>
</label>
</div>
<input type="radio" class="radioDonationType" name="radioDonationType" id="radioOneTimeDonation" value="once">
<label for="radioOneTimeDonation">
${OptionMakeOneTimeDonation}<br />
</label>
</fieldset>
<!--<span class="fieldDescription">${LabelAutomaticallyDonateHelp}</span>-->
<div class="fldOneTimeDonationAmount">
<br />
<form name="_xclick" action="https://www.paypal.com/cgi-bin/webscr" id="payPalForm"
method="post">
<label for="donateAmt">${LabelSupportAmount}</label>
<select id="donateAmt" name="amount">
<option value="20" selected="selected">$20</option>
<label for="selectOneTimeDonationAmount">${LabelOneTimeDonationAmount}</label>
<select id="selectOneTimeDonationAmount">
<option value="5">$5</option>
<option value="10" selected="selected">$10</option>
<option value="20">$20</option>
<option value="30">$30</option>
<option value="40">$40</option>
<option value="50">$50</option>
<option value="100">$100</option>
<option value="200">$200</option>
<option value="300">$300</option>
<option value="400">$400</option>
<option value="500">$500</option>
</select>
<div>
<input type="checkbox" name="Recurring" id="cbxRecurring" />
<label for="cbxRecurring">${LabelAutomaticallyDonate}</label>
<div class="fieldDescription">${LabelAutomaticallyDonateHelp}</div>
</div>
<br />
<input type="hidden" name="cmd" id="ppCmd" value="_xclick">
<input type="hidden" name="business" value="donate@mediabrowser3.com">
<input type="hidden" name="currency_code" value="USD">
@ -42,9 +83,13 @@
<input type="hidden" name="item_number" value="MBSupporter">
<input type="hidden" name="notify_url" value="http://mb3admin.com/admin/service/services/ppipn.php">
<input type="hidden" name="return" id="paypalReturnUrl" value="#">
<a data-role="button" data-icon="arrow-r" data-iconpos="right" onclick="$(this).parents('form')[0].submit();">
<img src="css/images/supporter/donatepaypal.png" />
</a>
<input type="hidden" id="donateAmt" name="amount" />
</form>
<p>${DonationNextStep}</p>
<p><a href="supporterkey.html">${ButtonEnterSupporterKey}</a></p>

View file

@ -12,7 +12,7 @@
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
<a href="support.html" data-role="button">${TabGeneral}</a>
<a href="log.html" data-role="button">${TabLogs}</a>
<a href="supporter.html" data-role="button">${TabBecomeSupporter}</a>
<a href="supporter.html" data-role="button">${TabSupporterClub}</a>
<a href="supporterkey.html" data-role="button" class="ui-btn-active">${TabSupporterKey}</a>
<a href="about.html" data-role="button">${TabAbout}</a>
</div>