diff --git a/productMods/js/homePageMaps.js b/productMods/js/homePageMaps.js index 4f0327b6..81c57bcc 100644 --- a/productMods/js/homePageMaps.js +++ b/productMods/js/homePageMaps.js @@ -8,6 +8,7 @@ $(document).ready(function(){ var researchAreas = { "type": "FeatureCollection", "features": []}; $.extend(this, urlsBase); + $.extend(this, i18nStrings); getGeoJsonForMaps(); @@ -66,10 +67,10 @@ $(document).ready(function(){ } if (feature.properties && feature.properties.html) { if ( feature.properties.html == "1") { - popupContent += ": " + feature.properties.html + " researcher"; + popupContent += ": " + feature.properties.html + " " + i18nStrings.researcherString; } else { - popupContent += ": " + feature.properties.html + " researchers"; + popupContent += ": " + feature.properties.html + " " + i18nStrings.researchersString; } } layer.on('mouseover', function(e) { @@ -313,7 +314,7 @@ $(document).ready(function(){ var results = $.parseJSON(xhr.responseText); if ( results.length == 0 ) { - var html = "There are currently no researchers with a defined geographic focus."; + var html = i18nStrings.currentlyNoResearchers; $('section#home-geo-focus div#timeIndicator span').html(html); $('section#home-geo-focus').css("height","175px"); $('section#home-geo-focus div#timeIndicator').css("margin-top","50px"); @@ -341,13 +342,13 @@ $(document).ready(function(){ var areaCount = 0; var text = ""; if ( area == "global" ) { - text = " countries and regions."; + text = " " + i18nStrings.countriesAndRegions; } else if ( area == "US" ) { - text = " states."; + text = " " + i18nStrings.stateString; } else { - text = " state-wide locations."; + text = " " + i18nStrings.statewideLocations; } $.each(researchAreas.features, function() { @@ -358,12 +359,12 @@ $(document).ready(function(){ }); if ( areaCount == 1 && text == " states.") { - text = " state."; + text = " " + i18nStrings.stateString; } $('div#researcherTotal').html("" + researcherCount.toString().replace(/(\d+)(\d{3})/, '$1'+','+'$2') - + " researchers in " + + " " + i18nStrings.researchersInString + " " + areaCount + "" + text); } diff --git a/productMods/js/homePageUtils.js b/productMods/js/homePageUtils.js index d50dd0ac..0f36ec8f 100644 --- a/productMods/js/homePageUtils.js +++ b/productMods/js/homePageUtils.js @@ -4,6 +4,7 @@ $(document).ready(function(){ $.extend(this, urlsBase); $.extend(this, facultyMemberCount); + $.extend(this, i18nStrings); // this will ensure that the hidden classgroup input is cleared if the back button is used // to return to th ehome page from the search results @@ -51,7 +52,7 @@ $(document).ready(function(){ $.getJSON(url, function(results) { if ( results == null || results.individuals.length == 0 ) { - individualList = "

  • No faculty members found.
  • "; + individualList = "

  • " + i18nStrings.noFacultyFound + "
  • "; $('div#tempSpacing').hide(); $('div#research-faculty-mbrs ul#facultyThumbs').append(individualList); } @@ -66,7 +67,7 @@ $(document).ready(function(){ $.each($('div#research-faculty-mbrs ul#facultyThumbs li.individual'), function() { if ( $(this).children('img').length == 0 ) { - var imgHtml = "placeholder image"; + var imgHtml = "" + i18nStrings.placeholderImage + ""; $(this).prepend(imgHtml); } else { @@ -77,14 +78,15 @@ $(document).ready(function(){ }); var viewMore = ""; + html += ""; } $('div#academic-depts').html(html); } diff --git a/productMods/js/individual/individualProfilePageType.js b/productMods/js/individual/individualProfilePageType.js index 575f7fce..fcab2eae 100644 --- a/productMods/js/individual/individualProfilePageType.js +++ b/productMods/js/individual/individualProfilePageType.js @@ -20,6 +20,7 @@ var profilePageType = { // Get the custom form data from the page $.extend(this, profileTypeData); + $.extend(this, i18nStrings); }, // Initial page setup. Called only at page load. @@ -65,7 +66,7 @@ var profilePageType = { location.reload(true); } else { - alert('Error processing request: the unchecked labels could not be deleted.'); + alert(profilePageType.errorProcessingTypeChange); $('select#profilePageType').val(profilePageType.selectedProfileType); } } diff --git a/productMods/js/individual/individualUtils.js b/productMods/js/individual/individualUtils.js index ae72bb05..b5ebf503 100644 --- a/productMods/js/individual/individualUtils.js +++ b/productMods/js/individual/individualUtils.js @@ -10,6 +10,7 @@ $(document).ready(function(){ $('div#activeGrantsLink').css("margin-top","30px"); $('section#individual-info').children('h2#overview').css("clear","both"); } + $.extend(this, i18nStrings); // "more"/"less" HTML truncator for showing more or less content in data property core:overview $('.overview-value').truncate({max_length: 500}); @@ -27,7 +28,7 @@ $(document).ready(function(){ $toggleLink.click(function() { $itemContainer.show(); $(this).attr('href', '#show less content'); - $(this).text('less'); + $(this).text(i18nStrings.displayLess); togglePropDisplay.showLess($toggleLink, $itemContainer); return false; }); @@ -37,7 +38,7 @@ $(document).ready(function(){ $toggleLink.click(function() { $itemContainer.hide(); $(this).attr('href', '#show more content'); - $(this).text('more...'); + $(this).text(i18nStrings.displayMoreEllipsis); togglePropDisplay.showMore($toggleLink, $itemContainer); return false; }); @@ -53,7 +54,7 @@ $(document).ready(function(){ var $itemContainer = $('
    ').appendTo(this); // create toggle link - var $toggleLink = $('more...').appendTo(this); + var $toggleLink = $('' + i18nStrings.displayMoreEllipsis + '').appendTo(this); $additionalItems.appendTo($itemContainer); @@ -71,7 +72,7 @@ $(document).ready(function(){ var $itemContainer = $('
    ').appendTo(this); // create toggle link - var $toggleLink = $('more...').appendTo(this); + var $toggleLink = $('' + i18nStrings.displayMoreEllipsis + '').appendTo(this); $additionalItems.appendTo($itemContainer); @@ -89,7 +90,7 @@ $(document).ready(function(){ var $itemContainer = $('
    ').appendTo($subPropParent); // create toggle link - var $toggleLink = $('more...').appendTo($subPropParent); + var $toggleLink = $('' + i18nStrings.displayMoreEllipsis + '').appendTo($subPropParent); $additionalItems.appendTo($itemContainer); @@ -99,7 +100,7 @@ $(document).ready(function(){ } // Change background color button when verbose mode is off - $('a#verbosePropertySwitch:contains("Turn off")').addClass('verbose-off'); + $('a#verbosePropertySwitch:contains("' + i18nStrings.verboseTurnOff + '")').addClass('verbose-off'); // Reveal vCard QR code when QR icon is clicked $('#qrIcon, .qrCloseLink').click(function() { diff --git a/productMods/js/individual/propertyGroupControls.js b/productMods/js/individual/propertyGroupControls.js index 2e4e6d20..e95f645f 100644 --- a/productMods/js/individual/propertyGroupControls.js +++ b/productMods/js/individual/propertyGroupControls.js @@ -3,6 +3,7 @@ $(document).ready(function(){ $.extend(this, individualLocalName); + $.extend(this, i18nStringsTabs); adjustFontSize(); padSectionBottoms(); checkLocationHash(); @@ -33,7 +34,7 @@ $(document).ready(function(){ $propertyGroupLi.removeClass("nonSelectedGroupTab clickable"); $propertyGroupLi.addClass("selectedGroupTab clickable"); } - if ( $propertyGroupLi.text() == "View All" ) { + if ( $propertyGroupLi.text() == i18nStringsTabs.viewAllCapitalized ) { processViewAllTab(); } else { diff --git a/productMods/js/visualization/coPIship/coPIship-person-level.js b/productMods/js/visualization/coPIship/coPIship-person-level.js index 28796980..0ca311b8 100644 --- a/productMods/js/visualization/coPIship/coPIship-person-level.js +++ b/productMods/js/visualization/coPIship/coPIship-person-level.js @@ -1,10 +1,12 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ +$.extend(this, i18nStringsCoPi); + var collaboratorTableMetadata = { tableID: "coinvestigations_table", tableContainer: "coinve_table_container", - tableCaption: "Co-investigators ", - tableColumnTitle1: "Investigator", - tableColumnTitle2: "Grants with
    ", + tableCaption: i18nStringsCoPi.coInvestigatorString + " ", + tableColumnTitle1: i18nStringsCoPi.investigatorString, + tableColumnTitle2: i18nStringsCoPi.grantsWithString + "
    ", tableCSVFileLink: egoCoInvestigatorsListDataFileURL, jsonNumberWorksProperty: "number_of_investigated_grants" }; @@ -25,8 +27,8 @@ function renderStatsOnNodeClicked(json){ var latest_work = ""; var number_of_works = ""; - works = "Grant(s)"; - persons = "Co-investigator(s)"; + works = i18nStringsCoPi.grantsCapitalized; + persons = i18nStringsCoPi.coInvestigatorCapitalized; relation = "coinvestigation"; earliest_work = obj.earliest_grant; latest_work = obj.latest_grant; diff --git a/productMods/js/visualization/coauthorship/coauthorship-personlevel.js b/productMods/js/visualization/coauthorship/coauthorship-personlevel.js index b81f9212..574f25d0 100644 --- a/productMods/js/visualization/coauthorship/coauthorship-personlevel.js +++ b/productMods/js/visualization/coauthorship/coauthorship-personlevel.js @@ -1,10 +1,12 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ +$.extend(this, i18nStringsCoauthorship); + var collaboratorTableMetadata = { tableID: "coauthorships_table", tableContainer: "coauth_table_container", - tableCaption: "Co-authors ", - tableColumnTitle1: "Author", - tableColumnTitle2: "Publications with
    ", + tableCaption: i18nStringsCoauthorship.coAuthorsString + " ", + tableColumnTitle1: i18nStringsCoauthorship.authorString, + tableColumnTitle2: i18nStringsCoauthorship.publicationsWith + "
    ", tableCSVFileLink: egoCoAuthorsListDataFileURL, jsonNumberWorksProperty: "number_of_authored_works" }; @@ -23,8 +25,8 @@ function renderStatsOnNodeClicked(json){ var latest_work = ""; var number_of_works = ""; - works = "Publication(s)"; - persons = "Co-author(s)"; + works = i18nStringsCoauthorship.publicationsString; + persons = i18nStringsCoauthorship.coauthorsString; relation = "coauthorship" earliest_work = obj.earliest_publication; latest_work = obj.latest_publication; diff --git a/productMods/js/visualization/dataTables.helper.js b/productMods/js/visualization/dataTables.helper.js index 6a051755..b0d1980d 100644 --- a/productMods/js/visualization/dataTables.helper.js +++ b/productMods/js/visualization/dataTables.helper.js @@ -1,4 +1,6 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ +$.extend(this, i18nStrings); + var disciplineOrSubdisciplineDataTableFilter = function(oSettings, aData, iDataIndex) { /* @@ -22,17 +24,14 @@ $.fn.dataTableExt.oPagination.gmail_style = { var nNext = document.createElement('span'); var nLast = document.createElement('span'); -/* - nFirst.innerHTML = oSettings.oLanguage.oPaginate.sFirst; - nPrevious.innerHTML = oSettings.oLanguage.oPaginate.sPrevious; - nNext.innerHTML = oSettings.oLanguage.oPaginate.sNext; - nLast.innerHTML = oSettings.oLanguage.oPaginate.sLast; - */ - - nFirst.innerHTML = "« First"; - nPrevious.innerHTML = " Prev"; - nNext.innerHTML = "Next"; - nLast.innerHTML = "Last»"; + nFirst.innerHTML = "« " + + i18nStrings.firstString + ""; + nPrevious.innerHTML = " " + + i18nStrings.previousString + ""; + nNext.innerHTML = "" + + i18nStrings.nextString + ""; + nLast.innerHTML = "" + + i18nStrings.lastString + "»"; var oClasses = oSettings.oClasses; nFirst.className = oClasses.sPageButton + " " + oClasses.sPageFirst; diff --git a/productMods/js/visualization/entitycomparison/gui-event-manager.js b/productMods/js/visualization/entitycomparison/gui-event-manager.js index b7f525bd..da8b8f78 100644 --- a/productMods/js/visualization/entitycomparison/gui-event-manager.js +++ b/productMods/js/visualization/entitycomparison/gui-event-manager.js @@ -2,6 +2,8 @@ $(document).ready(function() { + $.extend(this, i18nStringsGuiEvents); + /* * This will set initial values of the constants present in constants.js * */ @@ -65,11 +67,13 @@ $(document).ready(function() { * So below is used to replace text taht is specific to the errors that would have caused * due to the original parameters. * */ - var alternateVisInfo = COMPARISON_PARAMETERS_INFO[currentParameter].value - + " Temporal Graph " + var alternateVisInfo = COMPARISON_PARAMETERS_INFO[currentParameter].value + " " + + i18nStringsGuiEvents.temporalGraphCapped + " " + '| ' + '' - + 'view ' + COMPARISON_PARAMETERS_INFO[oldParameter].pluralName + ' temporal graph' + + i18nStringsGuiEvents.viewString + ' ' + + COMPARISON_PARAMETERS_INFO[oldParameter].pluralName + + i18nStringsGuiEvents.temporalGraphLower + '' options.errorContainer.find("#alternative-vis-info").html(alternateVisInfo); @@ -126,7 +130,7 @@ $(".disabled-checkbox-event-receiver").live("click", function () { createNotification("warning-notification", { title: 'Error', - text: 'A Maximum 10 entities can be compared. Please remove some & try again.' + text: i18nStringsGuiEvents.entityMaxNote }, { custom: true, expires: false @@ -222,7 +226,7 @@ var processJSONData = { isParentEntityAvailable: false, - currentEntityLevel: "Organizations", + currentEntityLevel: i18nStringsGuiEvents.organizationsCappedString, /** @@ -298,9 +302,9 @@ var processJSONData = { * Setup the entity level * */ if (val.visMode === "PERSON"){ - entityLevels.push("People"); + entityLevels.push(i18nStringsGuiEvents.peopleCappedString); } else if (val.visMode === "ORGANIZATION"){ - entityLevels.push("Organizations"); + entityLevels.push(i18nStringsGuiEvents.organizationsCappedString); } @@ -359,14 +363,14 @@ var processJSONData = { * to the parent organization. * */ if (uniqueEntityLevels.length > 1) { - processJSONData.currentEntityLevel = "Organizations & People"; + processJSONData.currentEntityLevel = i18nStringsGuiEvents.organizationsAndPeople; $("#people-organizations-filter").show(); } else if (uniqueEntityLevels.length === 1) { processJSONData.currentEntityLevel = uniqueEntityLevels[0]; $("#people-organizations-filter").hide(); } else { /* To provide graceful degradation set entity level to a default error message.*/ - processJSONData.currentEntityLevel = "ENTITY LEVEL UNDEFINED ERROR"; + processJSONData.currentEntityLevel = i18nStringsGuiEvents.levelUndefinedError; } }, @@ -458,7 +462,7 @@ function setupLoadingScreen(visContainerDIV) { visContainerDIV.block({ message: '

     Loading data for ' + + '" /> ' + i18nStringsGuiEvents.loadingDataFor + ' ' + organizationLabel + '

    ' }); @@ -469,9 +473,9 @@ function setupLoadingScreen(visContainerDIV) { $("#loading-data-container") .html('

     Data for ' + organizationLabel - + ' is now being refreshed. The visualization will load as soon as we are done computing, ' - + 'or you can search or browse other data in VIVO and come back in a few minutes.

    ') + + '" /> ' + i18nStringsGuiEvents.dataForString + ' ' + organizationLabel + + ' ' + i18nStringsGuiEvents.refreshingDataMsg + + '') .css({'cursor': 'pointer'}); }, 10 * 1000); @@ -535,8 +539,8 @@ var lastCachedAtDateTimeParser = { dateObject = this.getDateObjectFromRawXSDateTimeString(dateObject); } - var day = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; - var month = ['January','February','March','April','May','June','July','August','September','October','November']; + var day = [i18nStringsGuiEvents.sundayString, i18nStringsGuiEvents.mondayString, i18nStringsGuiEvents.tuesdayString, i18nStringsGuiEvents.wednesdayString, i18nStringsGuiEvents.thursdayString, i18nStringsGuiEvents.fridayString, i18nStringsGuiEvents.saturdayString]; + var month = [i18nStringsGuiEvents.januaryString, i18nStringsGuiEvents.februaryString, i18nStringsGuiEvents.marchString, i18nStringsGuiEvents.aprilString, i18nStringsGuiEvents.mayString, i18nStringsGuiEvents.juneString, i18nStringsGuiEvents.julyString, i18nStringsGuiEvents.augustString, i18nStringsGuiEvents.septemberString, i18nStringsGuiEvents.octoberString, i18nStringsGuiEvents.novemberString]; return month[dateObject.getMonth()] + " " + dateObject.getDate() + ", " + dateObject.getFullYear() + "."; }, @@ -610,10 +614,10 @@ temporalGraphProcessor = { if ($("#incomplete-data-disclaimer").length > 0 && lastCachedAtDateTimes.length > 0) { - var disclaimerText = "This information is based solely on " + var disclaimerText = i18nStringsGuiEvents.disclaimerTextOne + " " + COMPARISON_PARAMETERS_INFO[currentParameter].value - + " which have been loaded into the VIVO system" - + " as of " + lastCachedAtDateTimeParser.getReadableDateString(lastCachedAtDateTimes[0]); + + " " + i18nStringsGuiEvents.disclaimerTextTwo + " " + + lastCachedAtDateTimeParser.getReadableDateString(lastCachedAtDateTimes[0]); $("#incomplete-data-disclaimer").attr( "title", @@ -695,10 +699,10 @@ temporalGraphProcessor = { if ($("#incomplete-data-disclaimer").length > 0 && lastCachedAtDateTimes.length > 0) { - var disclaimerText = "This information is based solely on " + var disclaimerText = i18nStringsGuiEvents.disclaimerTextOne + " " + COMPARISON_PARAMETERS_INFO[currentParameter].value - + " which have been loaded into the VIVO system" - + " as of " + lastCachedAtDateTimeParser.getReadableDateString(lastCachedAtDateTimes[0]); + + i18nStringsGuiEvents.disclaimerTextTwo + " " + + lastCachedAtDateTimeParser.getReadableDateString(lastCachedAtDateTimes[0]); $("#incomplete-data-disclaimer").attr( "title", disclaimerText); diff --git a/productMods/js/visualization/entitycomparison/util.js b/productMods/js/visualization/entitycomparison/util.js index e5d7c691..ad104d37 100644 --- a/productMods/js/visualization/entitycomparison/util.js +++ b/productMods/js/visualization/entitycomparison/util.js @@ -1,5 +1,7 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ +$.extend(this, i18nStringsUtil); + (function ($) { $.fn.dataTableExt.oPagination.gmail_style = { @@ -19,10 +21,14 @@ nLast.innerHTML = oSettings.oLanguage.oPaginate.sLast; */ - nFirst.innerHTML = "« First"; - nPrevious.innerHTML = " Prev"; - nNext.innerHTML = "Next"; - nLast.innerHTML = "Last»"; + nFirst.innerHTML = "« " + + i18nStringsUtil.firstString + ""; + nPrevious.innerHTML = " " + + i18nStringsUtil.previousString + ""; + nNext.innerHTML = "" + i18nStringsUtil.nextString + + ""; + nLast.innerHTML = "" + i18nStringsUtil.lastString + + "»"; var oClasses = oSettings.oClasses; nFirst.className = oClasses.sPageButton + " " + oClasses.sPageFirst; @@ -244,12 +250,12 @@ function init(graphContainer) { var optionSelected = $("select.comparisonValues option:selected").val(); // TODO: make use of the id on the select field instead of a generic one. - $("#comparisonParameter").text("Total Number of " + optionSelected); - $('#yaxislabel').html("Number of " + optionSelected).mbFlipText(false); + $("#comparisonParameter").text(i18nStringsUtil.totalNumberOf + " " + optionSelected); + $('#yaxislabel').html(i18nStringsUtil.numberOf + " " + optionSelected).mbFlipText(false); $('#comparisonHeader').html(optionSelected).css('font-weight', 'bold'); - $('#legend-unknown-bar-text').text(toTitleCase(COMPARISON_PARAMETERS_INFO[currentParameter].name) + " with unknown year"); - $('#legend-known-bar-text').text(toTitleCase(COMPARISON_PARAMETERS_INFO[currentParameter].name) + " with known year"); - $('#legend-current-year-bar-text').text(toTitleCase(COMPARISON_PARAMETERS_INFO[currentParameter].name) + " from current incomplete year"); + $('#legend-unknown-bar-text').text(toTitleCase(COMPARISON_PARAMETERS_INFO[currentParameter].name) + " " + i18nStringsUtil.withUnknownYear); + $('#legend-known-bar-text').text(toTitleCase(COMPARISON_PARAMETERS_INFO[currentParameter].name) + " " + i18nStringsUtil.withKnownYear); + $('#legend-current-year-bar-text').text(toTitleCase(COMPARISON_PARAMETERS_INFO[currentParameter].name) + " " + i18nStringsUtil.fromIncompleteYear); var defaultFlotOptions = { xaxis : { @@ -704,8 +710,11 @@ function renderBarAndLabel(entity, divBar, divLabel, spanElement) { var knownNormalizedWidth = getNormalizedWidth(entity, combinedCount.knownYearCount - combinedCount.currentYearCount); - var countExplanation = (combinedCount.knownYearCount - combinedCount.currentYearCount) + ' of ' - + sum + ' were ' + COMPARISON_PARAMETERS_INFO[currentParameter].verbName + " in a completed year"; + var countExplanation = (combinedCount.knownYearCount - combinedCount.currentYearCount) + + ' ' + i18nStringsUtil.ofString + ' ' + sum + + ' ' + i18nStringsUtil.wereString + ' ' + + COMPARISON_PARAMETERS_INFO[currentParameter].verbName + + ' ' + i18nStringsUtil.inCompletedYear; divBar.children(".known-bar").attr("title", countExplanation); @@ -720,8 +729,10 @@ function renderBarAndLabel(entity, divBar, divLabel, spanElement) { if (combinedCount.unknownYearCount) { var unknownNormalizedWidth = getNormalizedWidth(entity, combinedCount.unknownYearCount); - var countExplanation = combinedCount.unknownYearCount + ' of ' - + sum + ' have an unknown ' + COMPARISON_PARAMETERS_INFO[currentParameter].name + " year (not charted above)"; + var countExplanation = combinedCount.unknownYearCount + ' ' + i18nStringsUtil.ofString + ' ' + + sum + ' ' + i18nStringsUtil.haveAnUnknown + ' ' + + COMPARISON_PARAMETERS_INFO[currentParameter].name + + ' ' + i18nStringsUtil.yearNotChartered; divBar.children(".unknown-bar").attr("title", countExplanation); @@ -735,8 +746,10 @@ function renderBarAndLabel(entity, divBar, divLabel, spanElement) { if (combinedCount.currentYearCount) { var currentNormalizedWidth = getNormalizedWidth(entity, combinedCount.currentYearCount); - var countExplanation = combinedCount.currentYearCount + ' of ' - + sum + ' were ' + COMPARISON_PARAMETERS_INFO[currentParameter].verbName + ' in the current incomplete year (not charted above)'; + var countExplanation = combinedCount.currentYearCount + ' ' + i18nStringsUtil.ofString + ' ' + sum + + ' ' + i18nStringsUtil.wereString + ' ' + + COMPARISON_PARAMETERS_INFO[currentParameter].verbName + ' ' + + i18nStringsUtil.inIncompleteYear; divBar.children(".current-year-bar").attr("title", countExplanation); @@ -837,8 +850,8 @@ function setOptionsForPagination(object, itemsPerPage, numberOfDisplayEntries, items_per_page : itemsPerPage, num_display_entries : numberOfDisplayEntries, num_edge_entries : numOfEdgeEntries, - prev_text : "Prev", - next_text : "Next" + prev_text : i18nStringsUtil.previousString, + next_text : i18nStringsUtil.nextString }; } @@ -1072,18 +1085,18 @@ function prepareTableForDataTablePagination(jsonData, dataTableParams){ checkboxTH.html(' '); var entityLabelTH = $(''); - entityLabelTH.html('Entity Name'); + entityLabelTH.html(i18nStringsUtil.entityTypeString); var activityCountTH = $(''); - if ($("select.comparisonValues option:selected").text() === "by Publications") { - activityCountTH.html('Publication Count'); + if ($("select.comparisonValues option:selected").text() === i18nStringsUtil.byPublications) { + activityCountTH.html(i18nStringsUtil.publicationCount); } else { - activityCountTH.html('Grant Count'); + activityCountTH.html(i18nStringsUtil.grantCount); } activityCountTH.attr("id", "activity-count-column"); var entityTypeTH = $(''); - entityTypeTH.html('Entity Type'); + entityTypeTH.html(i18nStringsUtil.entityType); tr.append(checkboxTH); tr.append(entityLabelTH); @@ -1141,7 +1154,7 @@ function prepareTableForDataTablePagination(jsonData, dataTableParams){ "bInfo": true, "oLanguage": { "sInfo": "Records _START_ - _END_ of _TOTAL_", - "sInfoEmpty": "No matching entities found", + "sInfoEmpty": i18nStringsUtil.noMatchingEntities, "sInfoFiltered": "" }, "sPaginationType": "gmail_style", @@ -1159,7 +1172,7 @@ function prepareTableForDataTablePagination(jsonData, dataTableParams){ var searchInputBox = $("." + dataTableParams.searchBarParentContainerDIVClass).find("input[type=text]"); - searchInputBox.after("X"); + searchInputBox.after("X"); $("#reset-search").live('click', function() { entityListTable.fnFilter(""); @@ -1197,10 +1210,10 @@ function reloadDataTablePagination(preselectedEntityURIs, jsonData){ currentDataTable.fnClearTable(); - if ($("select.comparisonValues option:selected").text() === "by Publications") { - $("#activity-count-column").html('Publication Count'); + if ($("select.comparisonValues option:selected").text() === "i18nStringsUtil.byPublications") { + $("#activity-count-column").html(i18nStringsUtil.publicationCount); } else { - $("#activity-count-column").html('Grant Count'); + $("#activity-count-column").html(i18nStringsUtil.grantCount); } function addNewRowAfterReload(entity) { @@ -1310,8 +1323,8 @@ function disableUncheckedEntities(){ * */ if ($("#datatable").data("isEntitySelectionAllowed")) { if ($.browser.msie) { - createNotification("warning-notification", { title:'Information', - text:'A Maximum of 10 entities can be compared.' },{ + createNotification("warning-notification", { title: i18nStringsUtil.informationString, + text: i18nStringsUtil.shortMaxEntityNote },{ custom: false, expires: false }); diff --git a/productMods/js/visualization/mapofscience/ComparisonDataTableWidget.js b/productMods/js/visualization/mapofscience/ComparisonDataTableWidget.js index e651a9ae..ca7b4008 100644 --- a/productMods/js/visualization/mapofscience/ComparisonDataTableWidget.js +++ b/productMods/js/visualization/mapofscience/ComparisonDataTableWidget.js @@ -1,10 +1,12 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ +$.extend(this, i18nStrings); + var ComparisonDataTableWidget = Class.extend({ dom: { - firstFilterLabel: "Organizations", - secondFilterLabel: "People", + firstFilterLabel: i18nStrings.organizationsString, + secondFilterLabel: i18nStrings.peopleString, searchBarParentContainerClass : "comparisonSearchbar", paginationContainerClass : "paginatedtabs", @@ -67,7 +69,7 @@ var ComparisonDataTableWidget = Class.extend({ ' | ' + '' + dom.secondFilterLabel + '' + */ - 'information icon
    '); + '' + i18nStrings.infoIconString + '
    '); me.tableDiv.append(filter); createToolTip($("#comparisonImageIconTwo"), $("#comparisonToolTipTwo").html(), "topLeft"); initFilter(dom); @@ -81,7 +83,7 @@ var ComparisonDataTableWidget = Class.extend({ var tr = $(''); var levelOfScienceAreaTH = $(''); - levelOfScienceAreaTH.html('Entity Type'); + levelOfScienceAreaTH.html(i18nStrings.entityTypeString); var checkBoxTH = $(''); checkBoxTH.html(''); @@ -89,13 +91,13 @@ var ComparisonDataTableWidget = Class.extend({ var scienceAreasTH = $(''); scienceAreasTH.attr("id", "comparison-science-areas-th"); if (this.currentSelectedFilter === COMPARISON_TYPE.ORGANIZATION ) { - scienceAreasTH.html('Organization'); + scienceAreasTH.html(i18nStrings.organizationString); } else { - scienceAreasTH.html('Person'); + scienceAreasTH.html(i18nStrings.personString); } var activityCountTH = $(''); - activityCountTH.html('# of pubs.'); + activityCountTH.html('# ' + i18nStrings.numberOfPubs); activityCountTH.attr("id", "activity-count-column"); tr.append(levelOfScienceAreaTH); @@ -144,7 +146,7 @@ var ComparisonDataTableWidget = Class.extend({ if (element.attr('checked')) { if ($("input:checkbox[class=chk]:checked").length > 3) { element.attr('checked', false); - alert("The maximum number of items for comparison is 3."); + alert(i18nStrings.maxNbrForComp); } else { me.loadEntity(item.uri, index); } @@ -180,7 +182,7 @@ var ComparisonDataTableWidget = Class.extend({ "bInfo": true, "oLanguage": { "sInfo": "_START_ - _END_ of _TOTAL_", - "sInfoEmpty": "No matching science areas found", + "sInfoEmpty": i18nStrings.noMatchingScienceAreas, "sInfoFiltered": "" }, "sPaginationType": "gmail_style", @@ -198,8 +200,8 @@ var ComparisonDataTableWidget = Class.extend({ /* Create search box */ var searchInputBox = $("." + me.dom.searchBarParentContainerClass).find("input[type=text]"); searchInputBox.css("width", "140px"); - searchInputBox.after("X" - + "information icon"); + searchInputBox.after("X" + + "" + i18nStrings.infoIconString + ""); $("#comparison-reset-search").live('click', function() { me.widget.fnFilter(""); }); @@ -208,18 +210,18 @@ var ComparisonDataTableWidget = Class.extend({ /* Create csv download button */ var csvButton = '
    '; + '" class="map-of-science-links">' + i18nStrings.saveAllAsCSV + '
    '; me.tableDiv.append(csvButton); }, changeFilter: function(filterType) { var me = this; if (filterType === COMPARISON_TYPE.ORGANIZATION) { - $("#comparison-science-areas-th").html("Organization"); + $("#comparison-science-areas-th").html(i18nStrings.organizationString); me.currentSelectedFilter = COMPARISON_TYPE.ORGANIZATION; } else { - $("#comparison-science-areas-th").html("Person"); + $("#comparison-science-areas-th").html(i18nStrings.personString); me.currentSelectedFilter = COMPARISON_TYPE.PERSON; } diff --git a/productMods/js/visualization/mapofscience/ComparisonScimapWidget.js b/productMods/js/visualization/mapofscience/ComparisonScimapWidget.js index 2b1f172f..00e83842 100644 --- a/productMods/js/visualization/mapofscience/ComparisonScimapWidget.js +++ b/productMods/js/visualization/mapofscience/ComparisonScimapWidget.js @@ -1,4 +1,6 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ +$.extend(this, i18nStrings); + COMPARISON = { "one":{ "name": "one", "color": "#99CC00"}, "two":{ "name": "two", "color": "#FF9900"}, @@ -85,7 +87,7 @@ var ComparisonScimapWidget = Class.extend({ me.disciplineLabelsControl = new CheckBoxPanel({ map: map, checked: true, - text: "Show discipline labels", + text: i18nStrings.showDisciplineLabels, click: function() { if($(this).attr('checked')) { me.labelsMarkerManager.showMarkers(); @@ -250,7 +252,7 @@ var ComparisonScimapWidget = Class.extend({ if (compositeManager) { var length = compositeManager.length(); var slider = this.sliderControl; - slider.setTypeString("subdisciplines"); + slider.setTypeString(i18nStrings.subdisciplinesLower); slider.setMin(Math.min(1, length)); slider.setMax(length); slider.setValue(length); diff --git a/productMods/js/visualization/mapofscience/DataTableWidget.js b/productMods/js/visualization/mapofscience/DataTableWidget.js index 472eb32f..932b9997 100644 --- a/productMods/js/visualization/mapofscience/DataTableWidget.js +++ b/productMods/js/visualization/mapofscience/DataTableWidget.js @@ -1,10 +1,12 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ +$.extend(this, i18nStrings); + var DataTableWidget = Class.extend({ dom: { - firstFilterLabel: "554 Subdisciplines", - secondFilterLabel: "13 Disciplines", + firstFilterLabel: "554 " + i18nStrings.subdisciplinesString, + secondFilterLabel: "13 " + i18nStrings.disciplinesString, searchBarParentContainerClass: "searchbar", paginationContainerClass: "paginatedtabs", @@ -118,22 +120,22 @@ var DataTableWidget = Class.extend({ var tr = $(''); var levelOfScienceAreaTH = $(''); - levelOfScienceAreaTH.html('Level of Science Area'); + levelOfScienceAreaTH.html(i18nStrings.scienceAreaLevel); var scienceAreasTH = $(''); scienceAreasTH.attr("id", "science-areas-th"); if (this.currentSelectedFilter === SCIMAP_TYPE.SUBDISCIPLINE ) { - scienceAreasTH.html('Subdisciplines'); + scienceAreasTH.html(i18nStrings.subdisciplinesString); } else { - scienceAreasTH.html('Disciplines'); + scienceAreasTH.html(i18nStrings.disciplinesString); } var activityCountTH = $(''); - activityCountTH.html('# of pubs.'); + activityCountTH.html('# ' + i18nStrings.numberOfPubs); activityCountTH.attr("id", "activity-count-column"); var percentageActivityTH = $(''); - percentageActivityTH.html('% of activity'); + percentageActivityTH.html('% ' + i18nStrings.ofActivityString); percentageActivityTH.attr("id", "percentage-activity-column"); tr.append(levelOfScienceAreaTH); @@ -209,7 +211,7 @@ var DataTableWidget = Class.extend({ "bInfo": true, "oLanguage": { "sInfo": "_START_ - _END_ of _TOTAL_", - "sInfoEmpty": "No matching science areas found", + "sInfoEmpty": i18nStrings.noMatchingScienceAreas, "sInfoFiltered": "" }, "sPaginationType": "gmail_style", @@ -227,8 +229,9 @@ var DataTableWidget = Class.extend({ var searchInputBox = $("." + me.dom.searchBarParentContainerClass).find("input[type=text]"); searchInputBox.css("width", "140px"); - searchInputBox.after("X" - + "information icon"); + searchInputBox.after("X" + + "" + i18nStrings.infoIconString + ""); $("#reset-search").live('click', function() { me.widget.fnFilter(""); }); @@ -236,7 +239,7 @@ var DataTableWidget = Class.extend({ var csvButton = '
    '; + '" class="map-of-science-links">' + i18nStrings.saveAllAsCSV + ''; this.tableDiv.append(csvButton); var totalPublications = me.pubsWithNoJournals + me.pubsWithInvalidJournals + me.pubsMapped; @@ -249,7 +252,7 @@ var DataTableWidget = Class.extend({ var me = this; if (filterType === SCIMAP_TYPE.SUBDISCIPLINE) { - $("#science-areas-th").html("Subdisciplines"); + $("#science-areas-th").html(i18nStrings.subdisciplinesString); if (me.widget) { me.widget.fnSettings()._iDisplayLength = 10; } @@ -258,7 +261,7 @@ var DataTableWidget = Class.extend({ } else { - $("#science-areas-th").html("Disciplines"); + $("#science-areas-th").html(i18nStrings.disciplinesString); me.currentSelectedFilter = SCIMAP_TYPE.DISCIPLINE; if (me.widget) { me.widget.fnSettings()._iDisplayLength = 13; diff --git a/productMods/js/visualization/mapofscience/ErrorDisplayWidget.js b/productMods/js/visualization/mapofscience/ErrorDisplayWidget.js index 1959505e..09dea796 100644 --- a/productMods/js/visualization/mapofscience/ErrorDisplayWidget.js +++ b/productMods/js/visualization/mapofscience/ErrorDisplayWidget.js @@ -1,5 +1,7 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ +$.extend(this, i18nStrings); + var ErrorDisplayWidget = Class.extend({ container: '', @@ -36,7 +38,7 @@ var ErrorDisplayWidget = Class.extend({ * */ if (isZeroPublicationsCase) { - newErrorMessage += "No publications in the system have been attributed to this " + errorForType.toLowerCase() + "."; + newErrorMessage += i18nStrings.noAttributedPubs + " " + errorForType.toLowerCase() + "."; } else { /* @@ -60,12 +62,14 @@ var ErrorDisplayWidget = Class.extend({ var newErrorMessage = ""; if (totalPublications > 1) { - newErrorMessage = "None of the " + totalPublications + " publications attributed to this " - + errorForType.toLowerCase() + " have been 'science-located'."; + newErrorMessage = i18nStrings.noneOfThe + " " + totalPublications + " " + + i18nStrings.pubsAttributedTo + " " + + errorForType.toLowerCase() + + " " + i18nStrings.beenScienceLocated; } else { - newErrorMessage = "The publication attributed to this " - + errorForType.toLowerCase() + " has not been 'science-located'."; + newErrorMessage = i18nStrings.pubAttributedTo + " " + + errorForType.toLowerCase() + " " + i18nStrings.notScienceLocated; } @@ -73,19 +77,19 @@ var ErrorDisplayWidget = Class.extend({ if (responseData.pubsWithNoJournals && responseData.pubsWithNoJournals > 0) { - var publicationsText = (responseData.pubsWithNoJournals > 1) ? "publications" : "publication"; + var publicationsText = (responseData.pubsWithNoJournals > 1) ? i18nStrings.publicationsString : i18nStrings.publicationString; - newErrorMessage += "
  • " + responseData.pubsWithNoJournals + " " + publicationsText + " have no journal" - + " information.
  • " + newErrorMessage += "
  • " + responseData.pubsWithNoJournals + " " + publicationsText + + " " + i18nStrings.noJournalInformation + "
  • " } if (responseData.pubsWithInvalidJournals && responseData.pubsWithInvalidJournals > 0) { - var publicationsText = (responseData.pubsWithInvalidJournals > 1) ? "publications" : "publication"; + var publicationsText = (responseData.pubsWithInvalidJournals > 1) ? i18nStrings.publicationsString : i18nStrings.publicationString; newErrorMessage += "
  • " + responseData.pubsWithInvalidJournals + " " + publicationsText + " " - + " could not be matched with a map location using their journal information.
  • " + + " " + i18nStrings.noMatchingMapLocation + "" } newErrorMessage += ""; diff --git a/productMods/js/visualization/mapofscience/InitializeMap.js b/productMods/js/visualization/mapofscience/InitializeMap.js index 8017d93d..48fb6b7e 100644 --- a/productMods/js/visualization/mapofscience/InitializeMap.js +++ b/productMods/js/visualization/mapofscience/InitializeMap.js @@ -1,4 +1,7 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +$.extend(this, i18nStrings); + var map; var downloader; var currentVisMode; @@ -26,7 +29,7 @@ function setupLoadingScreen() { $("#" + responseContainerID).block({ message: '

     Loading data for ' + + '" /> ' + i18nStrings.loadingDataFor + ' ' + entityLabel + '

    ' }); @@ -38,8 +41,7 @@ function setupLoadingScreen() { .html('

     Data for ' + entityLabel - + ' is now being refreshed. The visualization will load as soon as we are done computing, ' - + 'or you can search or browse other data in VIVO and come back in a few minutes.

    ') + + '
    ' + i18nStrings.mapBeingRefreshed + '') .css({'cursor': 'pointer'}); }, 10 * 1000); } diff --git a/productMods/js/visualization/mapofscience/MarkerManager.js b/productMods/js/visualization/mapofscience/MarkerManager.js index b282082f..1ba220cd 100644 --- a/productMods/js/visualization/mapofscience/MarkerManager.js +++ b/productMods/js/visualization/mapofscience/MarkerManager.js @@ -3,6 +3,9 @@ * The MarkerManager is more like a composite class of Marker. It manages * markers by grouping the markers by keys. */ + +$.extend(this, i18nStrings); + var MarkerManager = Class.extend({ init: function() { this.keyToMarker = {}; @@ -184,8 +187,8 @@ var DisciplineMarkerManager = ScimapMarkerManager.extend({ marker.setContent( '
    ' + poly.label +'
    ' - + addCommasToNumber(poly.value.toFixed(2)) + ' publications (pubs.)
    ' - + (poly.value * 100 / this.maxValue).toFixed(2) + '% activity
    ' + + addCommasToNumber(poly.value.toFixed(2)) + ' ' + i18nStrings.publicationsPubs + '
    ' + + (poly.value * 100 / this.maxValue).toFixed(2) + i18nStrings.percentActivity ); return marker; } @@ -205,8 +208,8 @@ var SubdisciplineMarkerManager = ScimapMarkerManager.extend({ marker.setContent( '
    ' + poly.label + ' in ' + disciplineLabel +'
    ' - + addCommasToNumber(poly.value.toFixed(2)) + ' publications (pubs.)
    ' - + (poly.value * 100 / this.maxValue).toFixed(2) + '% activity
    ' + + addCommasToNumber(poly.value.toFixed(2)) + ' ' + i18nStrings.publicationsPubs + '
    ' + + (poly.value * 100 / this.maxValue).toFixed(2) + i18nStrings.percentActivity ); return marker; diff --git a/productMods/js/visualization/mapofscience/ScimapWidget.js b/productMods/js/visualization/mapofscience/ScimapWidget.js index 40772934..0e1ddc68 100644 --- a/productMods/js/visualization/mapofscience/ScimapWidget.js +++ b/productMods/js/visualization/mapofscience/ScimapWidget.js @@ -1,5 +1,7 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ +$.extend(this, i18nStrings); + var ScimapWidget = Class.extend({ init: function(map) { var me = this; @@ -48,7 +50,7 @@ var ScimapWidget = Class.extend({ me.disciplineLabelsControl = new CheckBoxPanel({ map: map, checked: true, - text: "Show discipline labels", + text: i18nStrings.showDisciplineLabels, click: function() { if($(this).attr('checked')) { me.labelsMarkerManager.showMarkers(); @@ -204,9 +206,9 @@ var ScimapWidget = Class.extend({ var length = manager.length(); var slider = this.sliderControl; if (this.getMarkerManager(SCIMAP_TYPE.DISCIPLINE) == manager) { - slider.setTypeString("disciplines"); + slider.setTypeString(i18nStrings.disciplinesLower); } else { - slider.setTypeString("subdisciplines"); + slider.setTypeString(i18nStrings.subdisciplinesLower); } slider.setMin(Math.min(1, length)); slider.setMax(length); diff --git a/productMods/js/visualization/mapofscience/SimpleDataTableWidget.js b/productMods/js/visualization/mapofscience/SimpleDataTableWidget.js index cf12ffb5..c7eebff6 100644 --- a/productMods/js/visualization/mapofscience/SimpleDataTableWidget.js +++ b/productMods/js/visualization/mapofscience/SimpleDataTableWidget.js @@ -1,5 +1,7 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ +$.extend(this, i18nStrings); + var SimpleDataTableWidget = Class.extend({ dom: { @@ -61,7 +63,7 @@ var SimpleDataTableWidget = Class.extend({ entityVivoProfileURLPrefix + me.uri +'">' + truncateText(me.label, 23) + 'drill down'); + drillDownIconUrl + '" alt="' + i18nStrings.drillDownString + '" title="' + i18nStrings.drillDownString + '" />'); me.tableDiv.append(organizationHeader); /* Create table */ @@ -78,10 +80,10 @@ var SimpleDataTableWidget = Class.extend({ var scienceAreasTH = $(''); scienceAreasTH.attr("id", "entity-science-areas-th"); - scienceAreasTH.html('Subdisciplines'); + scienceAreasTH.html(i18nStrings.subdisciplinesString); var activityCountTH = $(''); - activityCountTH.html('# of pubs.'); + activityCountTH.html('# ' + i18nStrings.numberOfPubs); //tr.append(levelOfScienceAreaTH); tr.append(scienceAreasTH); @@ -129,7 +131,7 @@ var SimpleDataTableWidget = Class.extend({ "bFilter": false, "oLanguage": { "sInfo": "_START_ - _END_ of _TOTAL_", - "sInfoEmpty": "No matching science areas found", + "sInfoEmpty": i18nStrings.noMatchingScienceAreas, "sInfoFiltered": "" }, "sPaginationType": "gmail_style", @@ -140,7 +142,7 @@ var SimpleDataTableWidget = Class.extend({ /* Create csv download button */ var csvButton = '
    '; + '" class="map-of-science-links">' + i18nStrings.saveAllAsCSV + ''; me.tableDiv.append(csvButton); /* Create mapping statistic result */ diff --git a/productMods/js/visualization/personlevel/person-level.js b/productMods/js/visualization/personlevel/person-level.js index 52dd0909..3398ab36 100644 --- a/productMods/js/visualization/personlevel/person-level.js +++ b/productMods/js/visualization/personlevel/person-level.js @@ -1,5 +1,7 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ +$.extend(this, i18nStringsPersonLvl); + function getWellFormedURLs(given_uri, type) { if (!given_uri || given_uri == "") { @@ -223,7 +225,7 @@ function createTable(tableID, tableContainer, tableData) { table.append($('').html(collaboratorTableMetadata.tableCaption + "(.CSV File)")); + + "\">(.CSV " + i18nStringsPersonLvl.fileCapitalized + ")")); var header = $(''); @@ -326,8 +328,8 @@ function renderCollaborationshipVisualization() { ); } else { // flash is too old or we can't detect the plugin var alternateContent = '

    ' - + 'This content requires the Adobe Flash Player. ' - + 'Get Flash

    '; + + i18nStringsPersonLvl.contentRequiresFlash + ' ' + + '' + i18nStringsPersonLvl.getFlashString + ''; document.write(alternateContent); // insert non-flash content } diff --git a/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl b/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl index d65dade0..0175edaa 100644 --- a/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl +++ b/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl @@ -60,13 +60,13 @@ <@p.mostSpecificTypesPerson individual editable/> - + style="top:5px"> <#include "individual-iconControls.ftl"> <#if editable && profilePageTypesEnabled > -
    +
    style="top:55px" > -

    +

    ${i18n().profile_type}

    @@ -201,6 +200,13 @@ var profileTypeData = { individualUri: '${individual.uri!}', defaultProfileType: '${profileType!}' }; +var i18nStrings = { + errorProcessingTypeChange: '${i18n().error_processing_type_change}', + displayLess: '${i18n().display_less}', + displayMoreEllipsis: '${i18n().display_more_ellipsis}', + showMoreContent: '${i18n().show_more_content}', + verboseTurnOff: '${i18n().verbose_turn_off}' +}; <#if editable> ${stylesheets.add('')} diff --git a/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl b/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl index 823f7d77..4e40f816 100644 --- a/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl +++ b/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl @@ -120,14 +120,25 @@ - +}; +var i18nStrings = { + vocServiceUnavailable: '${i18n().vocabulary_service_unavailable}', + noResultsFound: '${i18n().no_serch_results_found}', + labelTypeString: '${i18n().label_type}', + definitionString: '${i18n().definition_capitalized}', + bestMatchString: '${i18n().best_match}', + selectTermFromResults: '${i18n().select_term_from_results}', + selectVocSource: '${i18n().select_vocabulary_source_to_search}', + confirmTermDelete: '${i18n().confirm_term_deletion}', + errorTernNotRemoved: '${i18n().error_term_not_deleted}' +}; + ${stylesheets.add('')} ${stylesheets.add('')} diff --git a/productMods/templates/freemarker/edit/forms/addAuthorsToInformationResource.ftl b/productMods/templates/freemarker/edit/forms/addAuthorsToInformationResource.ftl index 66944f8c..af1d23e8 100644 --- a/productMods/templates/freemarker/edit/forms/addAuthorsToInformationResource.ftl +++ b/productMods/templates/freemarker/edit/forms/addAuthorsToInformationResource.ftl @@ -30,7 +30,7 @@ <#assign title="${editConfiguration.subjectName}" /> <#assign requiredHint=" *" /> -<#assign initialHint="(${i18n().initial okay})" /> +<#assign initialHint="(${i18n().initial_okay})" /> <@lvf.unsupportedBrowser urls.base/> @@ -184,12 +184,22 @@ var customFormData = { orgUrl: 'http://xmlns.com/foaf/0.1/Organization', reorderUrl: '${urls.base}/edit/reorder' }; +var i18nStrings = { + authorNameWrapperTitle: '${i18n().drag_drop_reorder_authors}', + reorderAuthorsAlert: '${i18n().reordering_authors_failed}', + removeAuthorshipMessage: '${i18n().confirm_author_removal}', + removeAuthorshipAlert: '${i18n().error_processing_aithor_request}', + authorTypeText: '${i18n().author_capitalized}', + organizationTypeText: '${i18n().organization_capitalized}', + helpTextSelect: '${i18n().select_an_existing}', + helptextAdd: '${i18n().or_add_new_one}' +}; ${stylesheets.add('', - '', - '', - '')} + '', + '', + '')} ${scripts.add('')} diff --git a/productMods/templates/freemarker/edit/forms/addGrantRoleToPerson.ftl b/productMods/templates/freemarker/edit/forms/addGrantRoleToPerson.ftl index 30caeaa1..3520f23a 100644 --- a/productMods/templates/freemarker/edit/forms/addGrantRoleToPerson.ftl +++ b/productMods/templates/freemarker/edit/forms/addGrantRoleToPerson.ftl @@ -165,6 +165,11 @@ var customFormData = { blankSentinel: '${blankSentinel}', flagClearLabelForExisting: '${flagClearLabelForExisting}' }; + var i18nStrings = { + selectAnExisting: '${i18n().select_an_existing}', + orCreateNewOne: '${i18n().or_create_new_one}', + selectedString: '${i18n().selected}' + }; ${stylesheets.add('')} ${stylesheets.add('')} diff --git a/productMods/templates/freemarker/edit/forms/addPresenterRoleToPerson.ftl b/productMods/templates/freemarker/edit/forms/addPresenterRoleToPerson.ftl index ba26d03f..b5fd9b02 100644 --- a/productMods/templates/freemarker/edit/forms/addPresenterRoleToPerson.ftl +++ b/productMods/templates/freemarker/edit/forms/addPresenterRoleToPerson.ftl @@ -192,6 +192,11 @@ var customFormData = { blankSentinel: '${blankSentinel}', flagClearLabelForExisting: '${flagClearLabelForExisting}' }; +var i18nStrings = { + selectAnExisting: '${i18n().select_an_existing}', + orCreateNewOne: '${i18n().or_create_new_one}', + selectedString: '${i18n().selected}' +}; diff --git a/productMods/templates/freemarker/edit/forms/addPublicationToPerson.ftl b/productMods/templates/freemarker/edit/forms/addPublicationToPerson.ftl index bcfa8036..92019649 100644 --- a/productMods/templates/freemarker/edit/forms/addPublicationToPerson.ftl +++ b/productMods/templates/freemarker/edit/forms/addPublicationToPerson.ftl @@ -326,6 +326,11 @@ Set this flag on the input acUriReceiver where you would like this behavior to o blankSentinel: '${blankSentinel}', flagClearLabelForExisting: '${flagClearLabelForExisting}' }; + var i18nStrings = { + selectAnExisting: '${i18n().select_an_existing}', + orCreateNewOne: '${i18n().or_create_new_one}', + selectedString: '${i18n().selected}' + }; + var i18nStrings = { + selectAnExisting: '${i18n().select_an_existing}', + orCreateNewOne: '${i18n().or_create_new_one}', + selectedString: '${i18n().selected}' + }; + ${stylesheets.add('')} ${stylesheets.add('')} diff --git a/productMods/templates/freemarker/edit/forms/addUserDefinedConcept.ftl b/productMods/templates/freemarker/edit/forms/addUserDefinedConcept.ftl index ef45c4fb..5956d3eb 100644 --- a/productMods/templates/freemarker/edit/forms/addUserDefinedConcept.ftl +++ b/productMods/templates/freemarker/edit/forms/addUserDefinedConcept.ftl @@ -55,6 +55,11 @@ defaultTypeName: 'concept', // used in repair mode to generate button text baseHref: '${urls.base}/individual?uri=' }; + var i18nStrings = { + selectAnExisting: '${i18n().select_an_existing}', + orCreateNewOne: '${i18n().or_create_new_one}', + selectedString: '${i18n().selected}' + }; ${stylesheets.add('')} diff --git a/productMods/templates/freemarker/edit/forms/autoCompleteDataPropForm.ftl b/productMods/templates/freemarker/edit/forms/autoCompleteDataPropForm.ftl index 8285ed4b..003b17e2 100644 --- a/productMods/templates/freemarker/edit/forms/autoCompleteDataPropForm.ftl +++ b/productMods/templates/freemarker/edit/forms/autoCompleteDataPropForm.ftl @@ -70,6 +70,11 @@ Also multiple types parameter set to true only if more than one type returned--> sparqlQueryUrl: '${sparqlQueryUrl}', defaultTypeName: '${propertyPublicName}' }; + var i18nStrings = { + selectExisting: '${i18n().select_an_existing}', + orCreateNewOne: '$i18n().or_create_new_one}', + selectedString: '$i18n().selected}' + }; ${stylesheets.add('')} diff --git a/productMods/templates/freemarker/edit/forms/js/addAuthorsToInformationResource.js b/productMods/templates/freemarker/edit/forms/js/addAuthorsToInformationResource.js index 71992350..83f2c5be 100644 --- a/productMods/templates/freemarker/edit/forms/js/addAuthorsToInformationResource.js +++ b/productMods/templates/freemarker/edit/forms/js/addAuthorsToInformationResource.js @@ -34,6 +34,9 @@ var addAuthorForm = { // Get the custom form data from the page $.extend(this, customFormData); + + // Get the i18n variables from the page + $.extend(this, i18nStrings); }, // On page load, create references for easy access to form elements. @@ -372,7 +375,7 @@ var addAuthorForm = { } $('.authorNameWrapper').each(function() { - $(this).attr('title', 'Drag and drop to reorder authors'); + $(this).attr('title', addAuthorForm.authorNameWrapperTitle); }); authorshipList.sortable({ @@ -427,7 +430,7 @@ var addAuthorForm = { ui.item.appendTo(authorships); } - alert('Reordering of authors failed.'); + alert(addAuthorForm.reorderAuthorsAlert); } } }); @@ -549,13 +552,6 @@ var addAuthorForm = { return false; }); -// this.undoLinks.click(function() { -// $.ajax({ -// url: $(this).attr('href') -// }); -// return false; -// }); - }, prepareSubmit: function() { @@ -618,7 +614,7 @@ var addAuthorForm = { authorName = $(link).prev().children().text(); var removeLast = false, - message = 'Are you sure you want to remove this author:\n\n' + authorName + ' ?\n\n'; + message = addAuthorForm.removeAuthorshipMessage + '\n\n' + authorName + ' ?\n\n'; if (!confirm(message)) { return false; } @@ -710,7 +706,7 @@ var addAuthorForm = { }); } else { - alert('Error processing request: author not removed'); + alert(addAuthorForm.removeAuthorshipAlert); } } @@ -743,14 +739,14 @@ var addAuthorForm = { addAcHelpText: function(selectedObj) { var typeText; if ( $(selectedObj).attr('id') == "lastName" ) { - typeText = "Author"; + typeText = addAuthorForm.authorTypeText; } else { - typeText = "Organization"; + typeText = addAuthorForm.organizationTypeText; } if (!$(selectedObj).val()) { - $(selectedObj).val("Select an existing " + typeText + " or add a new one.") + $(selectedObj).val(addAuthorForm.helpTextSelect + " " + typeText + " " + addAuthorForm.helpTextAdd) .addClass(this.acHelpTextClass); } }, diff --git a/productMods/templates/freemarker/edit/forms/js/addConcept.js b/productMods/templates/freemarker/edit/forms/js/addConcept.js index e80358ca..5eb9318c 100644 --- a/productMods/templates/freemarker/edit/forms/js/addConcept.js +++ b/productMods/templates/freemarker/edit/forms/js/addConcept.js @@ -33,6 +33,8 @@ var addConceptForm = { $.extend(this, vitro.customFormUtils); // Get the custom form data from the page $.extend(this, customFormData); + // Get the i18n variables from the page + $.extend(this, i18nStrings); }, // On page load, create references for easy access to form elements. initObjects: function() { @@ -145,7 +147,7 @@ var addConceptForm = { //This should return an object including the concept list or any errors if there are any $.getJSON(dataServiceUrl, function(results) { var htmlAdd = ""; - var vocabUnavailable = "

    The vocabulary service is unavailable. Please try again later.

    "; + var vocabUnavailable = "

    " + addConceptForm.vocServiceUnavailable + "

    "; if ( results== null || results.semanticServicesError != null || results.conceptList == null) { htmlAdd = vocabUnavailable; } @@ -176,7 +178,7 @@ var addConceptForm = { } htmlAdd+= ""; } else { - htmlAdd+= "

    No search results were found.

    "; + htmlAdd+= "

    " + addConceptForm.noResultsFound + "

    "; } } @@ -221,7 +223,7 @@ var addConceptForm = { return {"bestMatch":bestMatchResults, "alternate":alternateResults}; }, addResultsHeader:function() { - var htmlAdd = "
  • Label (Type) DefinitionBest Match
  • "; + var htmlAdd = "
  • " + addConceptForm.labelTypeString + " " + addConceptForm.definitionString + "" + addConceptForm.bestMatchString + "
  • "; return htmlAdd; }, hideSearchResults:function() { @@ -293,17 +295,17 @@ var addConceptForm = { validateConceptSelection:function(checkedElements) { var numberElements = checkedElements.length; if(numberElements < 1) { - addConceptForm.errors.html("

    Please select at least one term from the search search results.

    "); + addConceptForm.errors.html("

    " + addConceptForm.selectTermFromResults + "

    "); return false; } return true; }, showUncheckedSourceError:function() { - addConceptForm.errors.html("

    Please select at least one external vocabulary source to search.

    "); + addConceptForm.errors.html("

    " + addConceptForm.selectVocSource + "

    "); }, removeExistingConcept: function(link) { var removeLast = false, - message = 'Are you sure you want to remove this term?'; + message = addConceptForm.confirmTermDelete; if (!confirm(message)) { return false; @@ -339,7 +341,7 @@ var addConceptForm = { }); } else { - alert('Error processing request: term not removed'); + alert(addConceptForm.errorTernNotRemoved); } } }); diff --git a/productMods/templates/freemarker/edit/forms/js/addTerminology.js b/productMods/templates/freemarker/edit/forms/js/addTerminology.js deleted file mode 100644 index ff18a0ed..00000000 --- a/productMods/templates/freemarker/edit/forms/js/addTerminology.js +++ /dev/null @@ -1,250 +0,0 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ - -var addTerminologyForm = { - - /* *** Initial page setup *** */ - - onLoad: function() { - - if (this.disableFormInUnsupportedBrowsers()) { - return; - } - this.mixIn(); - this.initObjects(); - this.initPage(); - }, - - disableFormInUnsupportedBrowsers: function() { - var disableWrapper = $('#ie67DisableWrapper'); - - // Check for unsupported browsers only if the element exists on the page - if (disableWrapper.length) { - if (vitro.browserUtils.isIELessThan8()) { - disableWrapper.show(); - $('.noIE67').hide(); - return true; - } - } - return false; - }, - - mixIn: function() { - // Mix in the custom form utility methods - $.extend(this, vitro.customFormUtils); - // Get the custom form data from the page - $.extend(this, customFormData); - }, - // On page load, create references for easy access to form elements. - initObjects: function() { - - this.form = $('#addTerminologyForm'); - this.showFormButtonWrapper = $('#showAddForm'); - this.submit = this.form.find(':submit'); - this.cancel = this.form.find('.cancel'); - //Add term - this.addTermButton = $('#showAddFormButton'); - //section where results should be displayed - this.selectedTerm = $('#selectedTerm'); - //input for search term form - this.searchTerm = $('#searchTerm'); - this.searchSubmit = $('#searchButton'); - //Hidden inputs for eventual submission - this.referencedTerm = $('#referencedTerm'); - this.entryTerm = $('#entryTerm'); - this.termLabel = $('#termLabel'); - this.termType = $('#termType'); - this.removeTermLinks = $('a.remove'); - this.errors = $('#errors'); - }, - - initPage: function() { - this.initTermData(); - this.bindEventListeners(); - - }, - bindEventListeners: function() { - this.searchSubmit.click(function() { - addTerminologyForm.submitSearchTerm(); - addTerminologyForm.clearErrors(); - return false; - }); - - this.form.submit(function() { - return addTerminologyForm.prepareSubmit(); - }); - - this.addTermButton.click(function() { - addTerminologyForm.initForm(); - - }); - this.removeTermLinks.click(function() { - addTerminologyForm.removeExistingTerm(this); - return false; - }); - }, - initForm: function() { - // Hide the button that shows the form - this.showFormButtonWrapper.hide(); - this.clearSearchResults(); - - this.cancel.unbind('click'); - this.cancel.bind('click', function() { - //show only list of existing terms and hide adding term form - addTerminologyForm.showTermListOnlyView(); - return false; - }); - - // Show the form - this.form.show(); - }, - // On page load, associate data with each existing term element. Then we don't - // have to keep retrieving data from or modifying the DOM as we manipulate the - // authorships. - initTermData: function() { - $('.existingTerm').each(function(index) { - $(this).data(existingTermsData[index]); - $(this).data('position', index+1); - }); - }, - clearSearchResults:function() { - $('#selectedTerm').empty(); - }, - clearErrors:function() { - addTerminologyForm.errors.empty(); - }, - showTermListOnlyView: function() { - this.hideForm(); - this.showFormButtonWrapper.show(); - }, - submitSearchTerm: function() { - //Get value of search term - var searchValue = this.searchTerm.val(); - this.entryTerm.val(searchValue); - var dataServiceUrl = addTerminologyForm.dataServiceUrl + "?searchTerm=" + encodeURIComponent(searchValue); - $.getJSON(dataServiceUrl, function(results) { - if ( results.All.length == 0 ) { - } else { - //update existing content type with correct class group name and hide class group select again - var bestMatchResults = results["Best Match"]; - var numberMatches = bestMatchResults.length; - var i; - //For each result, display - var htmlAdd = ""; - if(numberMatches > 0) { - htmlAdd = "
      "; - htmlAdd+= addTerminologyForm.addResultsHeader(); - for(i = 0; i < numberMatches; i++) { - var termResult = bestMatchResults[i]; - var CUI = termResult.CUI; - var label = termResult.label; - var definition = termResult.definition; - var type = termResult.type; - var cuiURI = addTerminologyForm.UMLSCUIURL + CUI; - htmlAdd+= addTerminologyForm.generateIndividualTermDisplay(cuiURI, label, definition, type); - } - htmlAdd+= "
    "; - } else { - htmlAdd+= "

    No search results found.

    "; - } - $('#selectedTerm').html(htmlAdd); - } - - }); - }, - addResultsHeader:function() { - var htmlAdd = "
  • Label (Type) Definition
  • "; - return htmlAdd; - }, - hideSearchResults:function() { - this.selectedTerm.hide(); - }, - prepareSubmit:function() { - var checkedElements = $("#CUI:checked"); - if(!addTerminologyForm.validateTermSelection(checkedElements)) { - return false; - } - var i; - var len = checkedElements.length; - var checkedTerm, checkedTermElement, termLabel, termType; - var referencedTerms = []; - var termLabels = []; - var termTypes = []; - - checkedElements.each(function() { - checkedTermElement = $(this); - checkedTerm = checkedTermElement.val(); - termType = checkedTermElement.attr("termType"); - termLabel = checkedTermElement.attr("label"); - referencedTerms.push(checkedTerm); - termLabels.push(termLabel); - termTypes.push(termType); - }); - this.referencedTerm.val(referencedTerms); - this.termLabel.val(termLabels); - this.termType.val(termTypes); - return true; - }, - generateIndividualTermDisplay: function(cuiURI, label, definition, type) { - var htmlAdd = "
  • " + - "
    " + - "" + - "" + - label + " (" + type + ")" + - "" + definition + "" + - "
    " + - "
  • "; - return htmlAdd; - }, validateTermSelection:function(checkedElements) { - var numberElements = checkedElements.length; - if(numberElements < 1) { - addTerminologyForm.errors.html("

    Please select at least one term from search results to add or click cancel.

    "); - return false; - } - return true; - }, removeExistingTerm: function(link) { - var removeLast = false, - message = 'Are you sure you want to remove this term?'; - - if (!confirm(message)) { - return false; - } - - if ($(link)[0] === $('.remove:last')[0]) { - removeLast = true; - } - - $.ajax({ - url: $(link).attr('href'), - type: 'POST', - data: { - deletion: $(link).parents('.existingTerm').data('termNodeUri') - }, - dataType: 'json', - context: link, // context for callback - complete: function(request, status) { - var existingTerm, - termNodeUri; - - if (status === 'success') { - - existingTerm = $(this).parents('.existingTerm'); - existingTerm.fadeOut(400, function() { - var numTerms; - // For undo link: add to a deletedAuthorships array - // Remove from the DOM - $(this).remove(); - // Actions that depend on the author having been removed from the DOM: - numTerms = $('.existingTerm').length; // retrieve the length after removing authorship from the DOM - }); - - } else { - alert('Error processing request: term not removed'); - } - } - }); - } -}; - -$(document).ready(function() { - addTerminologyForm.onLoad(); -}); diff --git a/productMods/templates/freemarker/edit/forms/js/advisingRelationshipUtils.js b/productMods/templates/freemarker/edit/forms/js/advisingRelationshipUtils.js index 67407d91..a7ad71ef 100644 --- a/productMods/templates/freemarker/edit/forms/js/advisingRelationshipUtils.js +++ b/productMods/templates/freemarker/edit/forms/js/advisingRelationshipUtils.js @@ -13,6 +13,7 @@ var advisingRelUtils = { this.bindEventListeners(); $.extend(this, vitro.customFormUtils); + $.extend(this, i18nStrings); if ( this.findValidationErrors() ) { this.resetLastNameLabel(); @@ -41,9 +42,9 @@ var advisingRelUtils = { bindEventListeners: function() { this.idCache = {}; - //we want to use the advisee label in the relationship label. + // we want to use the advisee label in the relationship label. // since the former gets cleared on submit in some cases, store - //the value in a hidden field and map to relationship label + // the value in a hidden field and map to relationship label this.advisee.change( function(objEvent) { window.setTimeout('advisingRelUtils.mapAdviseeValue()', 180); }); @@ -89,13 +90,13 @@ var advisingRelUtils = { buildAdvisingRelLabel: function() { if ( this.advisee.val() != "" ) { - this.adRelshiplabel.val(this.subjName + " advising " + this.advisee.val()); + this.adRelshiplabel.val(this.subjName + " " + advisingRelUtils.advisingString + " " + this.advisee.val()); } else if ( this.saveAdviseeLabel.val() != "" ){ - this.adRelshiplabel.val(this.subjName + " advising " + this.saveAdviseeLabel.val()); + this.adRelshiplabel.val(this.subjName + " " + advisingRelUtils.advisingString + " " + this.saveAdviseeLabel.val()); } else { - this.adRelshiplabel.val(this.subjName + " advising relationship"); + this.adRelshiplabel.val(this.subjName + " " + advisingRelUtils.advisingRelationshipString); } }, diff --git a/productMods/templates/freemarker/edit/forms/js/awardReceiptUtils.js b/productMods/templates/freemarker/edit/forms/js/awardReceiptUtils.js index cda8c075..518dc706 100644 --- a/productMods/templates/freemarker/edit/forms/js/awardReceiptUtils.js +++ b/productMods/templates/freemarker/edit/forms/js/awardReceiptUtils.js @@ -9,6 +9,8 @@ var awardReceiptUtils = { this.baseHref = href; this.editMode = mode; $.extend(this, vitro.customFormUtils); + $.extend(this, i18nStrings); + // in edit mode copy the year awarded to the displayed input element if ( this.editMode == "edit" ) { this.hiddenOrgDiv = $('div#hiddenOrgLabel'); @@ -67,7 +69,7 @@ var awardReceiptUtils = { }, showConferredBy: function() { - this.org.val('Select an existing Organization or create a new one.'); + this.org.val(awardReceiptUtils.selectAnOrganization); this.org.addClass('acSelectorWithHelpText'); this.org.parent('p').show(); if ( this.editMode == "edit" ) { diff --git a/productMods/templates/freemarker/edit/forms/js/customFormWithDataAutocomplete.js b/productMods/templates/freemarker/edit/forms/js/customFormWithDataAutocomplete.js index ae6c7dd4..f2761f78 100644 --- a/productMods/templates/freemarker/edit/forms/js/customFormWithDataAutocomplete.js +++ b/productMods/templates/freemarker/edit/forms/js/customFormWithDataAutocomplete.js @@ -34,6 +34,7 @@ var customForm = { // Get the custom form data from the page $.extend(this, customFormData); + $.extend(this, i18nStrings); }, // On page load, create references for easy access to form elements. @@ -126,7 +127,7 @@ var customForm = { this.or.show(); this.requiredLegend.show(); this.button.show(); - this.setButtonText('new'); +// this.setButtonText('new'); this.setLabels(); // Set the initial autocomplete help text in the acSelector field. @@ -330,7 +331,7 @@ var customForm = { this.acSelector.val(label); this.acSelectionInfo.html(label); - this.setButtonText('existing'); +// this.setButtonText('existing'); this.cancel.unbind('click'); this.cancel.click(function() { @@ -355,7 +356,8 @@ var customForm = { this.acSelectionInfo.html(''); if (this.formSteps > 1) { - this.acSelection.find('label').html('Selected '); + htmlString = customForm.selectedString + " "; + this.acSelection.find('label').html(htmlString); } } }, @@ -419,7 +421,7 @@ var customForm = { // First case applies on page load; second case applies when the type gets changed. if (!this.acSelector.val() || this.acSelector.hasClass(this.acHelpTextClass)) { - var helpText = "Select an existing " + typeText + " or create a new one."; + var helpText = customForm.selectExisting + " " + typeText + " " + customForm.orCreateNewOne; //Different for object property autocomplete this.acSelector.val(helpText) .addClass(this.acHelpTextClass); diff --git a/productMods/templates/freemarker/edit/forms/js/mailingAddressUtils.js b/productMods/templates/freemarker/edit/forms/js/mailingAddressUtils.js index 77ecbff5..037ab0f9 100644 --- a/productMods/templates/freemarker/edit/forms/js/mailingAddressUtils.js +++ b/productMods/templates/freemarker/edit/forms/js/mailingAddressUtils.js @@ -6,6 +6,7 @@ var mailingAddressUtils = { this.initObjectReferences(); this.bindEventListeners(); this.sortCountrySelector(mode,country); + $.extend(this, i18nStrings); if ( mode == "add" && !this.errorSection.attr('id') ) { this.containerDiv.hide(); @@ -76,14 +77,14 @@ var mailingAddressUtils = { processCountryRelatedFields: function() { if ( mailingAddressUtils.addressClassIsNonUS() ) { - this.stateLabel.text("Province or Region"); + this.stateLabel.text(mailingAddressUtils.provinceOrRegion); this.postalCodeField.attr('size', '40'); this.stateSelector.hide(); this.stateField.show(); this.addrTypeField.val("http://vivoweb.org/ontology/core#Address"); } else { - this.stateLabel.text("State"); + this.stateLabel.text(mailingAddressUtils.stateString); this.postalCodeField.attr('size', '8'); this.stateField.hide(); this.stateSelector.show(); @@ -122,24 +123,24 @@ var mailingAddressUtils = { if ( this.errorSection.is(':visible') ) { this.countrySelector.prepend($("") .attr("value","") - .text("Select one")); + .text(mailingAddressUtils.selectOne)); this.countrySelector.val(country); } else if ( mode == "add" ) { this.countrySelector.prepend($("") .attr("value","") - .text("Select one")); + .text(mailingAddressUtils.selectOne)); } else if ( mode == "edit" || country.length > 1 ) { this.countrySelector.prepend($("") .attr("value","") - .text("Select one")); + .text(mailingAddressUtils.selectOne)); this.countrySelector.val(country); } else if ( country.length == 0 ) { this.countrySelector.prepend($("") .attr("value","") - .text("Select one")); + .text(mailingAddressUtils.selectOne)); this.countrySelector.val(country); } } diff --git a/productMods/templates/freemarker/edit/forms/js/manageGrantsForIndividual.js b/productMods/templates/freemarker/edit/forms/js/manageGrantsForIndividual.js index 5c673c55..36eb16e8 100644 --- a/productMods/templates/freemarker/edit/forms/js/manageGrantsForIndividual.js +++ b/productMods/templates/freemarker/edit/forms/js/manageGrantsForIndividual.js @@ -14,6 +14,7 @@ var manageGrants = { // Get the custom form data from the page $.extend(this, customFormData); + $.extend(this, i18nStrings); }, // Initial page setup. Called only at page load. @@ -68,10 +69,10 @@ var manageGrants = { complete: function(request, status) { if (status === 'success') { - window.status = "The item has been successfully excluded from the profile page."; + window.status = manageGrants.grantSuccessfullyExcluded; } else { - alert('Error processing request: the item cannot be excluded from the profile page.'); + alert(manageGrants.errorExcludingGrant); $(grant).removeAttr('checked'); } } diff --git a/productMods/templates/freemarker/edit/forms/js/managePeopleForOrganization.js b/productMods/templates/freemarker/edit/forms/js/managePeopleForOrganization.js index 4a7aaea3..672ee820 100644 --- a/productMods/templates/freemarker/edit/forms/js/managePeopleForOrganization.js +++ b/productMods/templates/freemarker/edit/forms/js/managePeopleForOrganization.js @@ -14,6 +14,7 @@ var managePeople = { // Get the custom form data from the page $.extend(this, customFormData); + $.extend(this, i18nStrings); }, // Initial page setup. Called only at page load. @@ -68,10 +69,10 @@ var managePeople = { complete: function(request, status) { if (status === 'success') { - window.status = "The person has been successfully excluded from the organization page."; + window.status = managePeople.personSuccessfullyExcluded; } else { - alert('Error processing request: the person cannot be excluded from the organization page.'); + alert(managePeople.errorExcludingPerson); $(person).removeAttr('checked'); } } diff --git a/productMods/templates/freemarker/edit/forms/js/managePublicationsForIndividual.js b/productMods/templates/freemarker/edit/forms/js/managePublicationsForIndividual.js index 672c2dbe..5d39f2e9 100644 --- a/productMods/templates/freemarker/edit/forms/js/managePublicationsForIndividual.js +++ b/productMods/templates/freemarker/edit/forms/js/managePublicationsForIndividual.js @@ -14,6 +14,7 @@ var managePublications = { // Get the custom form data from the page $.extend(this, customFormData); + $.extend(this, i18nStrings); }, // Initial page setup. Called only at page load. @@ -68,10 +69,10 @@ var managePublications = { complete: function(request, status) { if (status === 'success') { - window.status = "The publication will has been successfully excluded from the profile page."; + window.status = managePublications.publicationSuccessfullyExcluded; } else { - alert('Error processing request: the publication cannot be excluded from the profile page.'); + alert(managePublications.errorExcludingPublication); $(publication).removeAttr('checked'); } } diff --git a/productMods/templates/freemarker/edit/forms/js/manageWebpagesForIndividual.js b/productMods/templates/freemarker/edit/forms/js/manageWebpagesForIndividual.js index a8a881d7..1b30c4bc 100644 --- a/productMods/templates/freemarker/edit/forms/js/manageWebpagesForIndividual.js +++ b/productMods/templates/freemarker/edit/forms/js/manageWebpagesForIndividual.js @@ -14,6 +14,7 @@ var manageWebpages = { // Get the custom form data from the page $.extend(this, customFormData); + $.extend(this, i18nStrings); }, // Initial page setup. Called only at page load. @@ -68,7 +69,7 @@ var manageWebpages = { } $('.webpageName').each(function() { - $(this).attr('title', 'Drag and drop to reorder web pages'); + $(this).attr('title', manageWebpages.dragDropToReorderWebpages); }); webpages.sortable({ @@ -121,7 +122,7 @@ var manageWebpages = { ui.item.appendTo(webpages); } - alert('Reordering of web pages failed.'); + alert(manageWebpages.webpageReorderingFailed); } } }); @@ -152,7 +153,7 @@ var manageWebpages = { removeWebpage: function(link) { // RY Upgrade this to a modal window var removeLast = false, - message = 'Are you sure you want to remove this web page?'; + message = manageWebpages.confirmWebpageDeletion; if (!confirm(message)) { return false; @@ -212,7 +213,7 @@ var manageWebpages = { }); } else { - alert('Error processing request: web page not removed.'); + alert(manageWebpages.errorRemovingWebpage); } } }); diff --git a/productMods/templates/freemarker/edit/forms/js/publicationToPersonUtils.js b/productMods/templates/freemarker/edit/forms/js/publicationToPersonUtils.js index b560f758..bd622114 100644 --- a/productMods/templates/freemarker/edit/forms/js/publicationToPersonUtils.js +++ b/productMods/templates/freemarker/edit/forms/js/publicationToPersonUtils.js @@ -10,6 +10,7 @@ var publicationToPersonUtils = { this.baseHref = href; this.sentinel = blankSentinel; $.extend(this, vitro.customFormUtils); + $.extend(this, i18nStrings); this.displayFieldsForType(); if ( this.findValidationErrors() ) { @@ -163,23 +164,23 @@ var publicationToPersonUtils = { // if the user has changed type, ensure that irrelevant fields are cleared // and reset an acSelection divs - if ( this.book.val() != '' && this.book.val().substring(0, 18) != "Select an existing" ) { + if ( this.book.val() != '' && this.book.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.book.val(''); this.resetAcSelection('book'); } - if ( this.editor.val() != '' && this.editor.val().substring(0, 18) != "Select an existing" ) { + if ( this.editor.val() != '' && this.editor.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.editor.val(''); this.resetAcSelection('editor'); } - if ( this.publisher.val() != '' && this.publisher.val().substring(0, 18) != "Select an existing" ) { + if ( this.publisher.val() != '' && this.publisher.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.publisher.val(''); this.resetAcSelection('publisher'); } - if ( this.presentedAt.val() != '' && this.presentedAt.val().substring(0, 18) != "Select an existing" ) { + if ( this.presentedAt.val() != '' && this.presentedAt.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.presentedAt.val(''); this.resetAcSelection('conference'); } - if ( this.proceedingsOf.val() != '' && this.proceedingsOf.val().substring(0, 18) != "Select an existing" ) { + if ( this.proceedingsOf.val() != '' && this.proceedingsOf.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.proceedingsOf.val(''); this.resetAcSelection('event'); } @@ -214,15 +215,15 @@ var publicationToPersonUtils = { // if the user is changing type, ensure that irrelevant fields are cleared // and reset an acSelection divs - if ( this.collection.val() != '' && this.collection.val().substring(0, 18) != "Select an existing" ) { + if ( this.collection.val() != '' && this.collection.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.collection.val(''); this.resetAcSelection('collection'); } - if ( this.presentedAt.val() != '' && this.presentedAt.val().substring(0, 18) != "Select an existing" ) { + if ( this.presentedAt.val() != '' && this.presentedAt.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.presentedAt.val(''); this.resetAcSelection('conference'); } - if ( this.proceedingsOf.val() != '' && this.proceedingsOf.val().substring(0, 18) != "Select an existing" ) { + if ( this.proceedingsOf.val() != '' && this.proceedingsOf.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.proceedingsOf.val(''); this.resetAcSelection('event'); } @@ -250,15 +251,15 @@ var publicationToPersonUtils = { // if the user is changing type, ensure that irrelevant fields are cleared // and reset an acSelection divs - if ( this.collection.val() != '' && this.collection.val().substring(0, 18) != "Select an existing" ) { + if ( this.collection.val() != '' && this.collection.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.collection.val(''); this.resetAcSelection('collection'); } - if ( this.presentedAt.val() != '' && this.presentedAt.val().substring(0, 18) != "Select an existing" ) { + if ( this.presentedAt.val() != '' && this.presentedAt.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.presentedAt.val(''); this.resetAcSelection('conference'); } - if ( this.proceedingsOf.val() != '' && this.proceedingsOf.val().substring(0, 18) != "Select an existing" ) { + if ( this.proceedingsOf.val() != '' && this.proceedingsOf.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.proceedingsOf.val(''); this.resetAcSelection('event'); } @@ -286,19 +287,19 @@ var publicationToPersonUtils = { // if the user is changing type, ensure that irrelevant fields are cleared // and reset an acSelection divs - if ( this.book.val() != '' && this.book.val().substring(0, 18) != "Select an existing" ) { + if ( this.book.val() != '' && this.book.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.book.val(''); this.resetAcSelection('book'); } - if ( this.editor.val() != '' && this.editor.val().substring(0, 18) != "Select an existing" ) { + if ( this.editor.val() != '' && this.editor.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.editor.val(''); this.resetAcSelection('editor'); } - if ( this.publisher.val() != '' && this.publisher.val().substring(0, 18) != "Select an existing" ) { + if ( this.publisher.val() != '' && this.publisher.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.publisher.val(''); this.resetAcSelection('publisher'); } - if ( this.proceedingsOf.val() != '' && this.proceedingsOf.val().substring(0, 18) != "Select an existing" ) { + if ( this.proceedingsOf.val() != '' && this.proceedingsOf.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.proceedingsOf.val(''); this.resetAcSelection('event'); } @@ -319,23 +320,23 @@ var publicationToPersonUtils = { // if the user is changing type, ensure that irrelevant fields are cleared // and reset an acSelection divs - if ( this.collection.val() != '' && this.collection.val().substring(0, 18) != "Select an existing" ) { + if ( this.collection.val() != '' && this.collection.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.collection.val(''); this.resetAcSelection('collection'); } - if ( this.book.val() != '' && this.book.val().substring(0, 18) != "Select an existing" ) { + if ( this.book.val() != '' && this.book.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.book.val(''); this.resetAcSelection('book'); } - if ( this.editor.val() != '' && this.editor.val().substring(0, 18) != "Select an existing" ) { + if ( this.editor.val() != '' && this.editor.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.editor.val(''); this.resetAcSelection('editor'); } - if ( this.publisher.val() != '' && this.publisher.val().substring(0, 18) != "Select an existing" ) { + if ( this.publisher.val() != '' && this.publisher.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.publisher.val(''); this.resetAcSelection('publisher'); } - if ( this.proceedingsOf.val() != '' && this.proceedingsOf.val().substring(0, 18) != "Select an existing" ) { + if ( this.proceedingsOf.val() != '' && this.proceedingsOf.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.proceedingsOf.val(''); this.resetAcSelection('event'); } @@ -350,27 +351,27 @@ var publicationToPersonUtils = { // if the user is changing type, ensure that irrelevant fields are cleared // and reset an acSelection divs - if ( this.collection.val() != '' && this.collection.val().substring(0, 18) != "Select an existing" ) { + if ( this.collection.val() != '' && this.collection.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.collection.val(''); this.resetAcSelection('collection'); } - if ( this.book.val() != '' && this.book.val().substring(0, 18) != "Select an existing" ) { + if ( this.book.val() != '' && this.book.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.book.val(''); this.resetAcSelection('book'); } - if ( this.editor.val() != '' && this.editor.val().substring(0, 18) != "Select an existing" ) { + if ( this.editor.val() != '' && this.editor.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.editor.val(''); this.resetAcSelection('editor'); } - if ( this.publisher.val() != '' && this.publisher.val().substring(0, 18) != "Select an existing" ) { + if ( this.publisher.val() != '' && this.publisher.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.publisher.val(''); this.resetAcSelection('publisher'); } - if ( this.proceedingsOf.val() != '' && this.proceedingsOf.val().substring(0, 18) != "Select an existing" ) { + if ( this.proceedingsOf.val() != '' && this.proceedingsOf.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.proceedingsOf.val(''); this.resetAcSelection('event'); } - if ( this.presentedAt.val() != '' && this.presentedAt.val().substring(0, 18) != "Select an existing" ) { + if ( this.presentedAt.val() != '' && this.presentedAt.val().substring(0, 18) != publicationToPersonUtils.selectAnExisting ) { this.presentedAt.val(''); this.resetAcSelection('conference'); } diff --git a/productMods/templates/freemarker/edit/forms/manageGrantsForIndividual.ftl b/productMods/templates/freemarker/edit/forms/manageGrantsForIndividual.ftl index a24f50c9..8a2e3db1 100644 --- a/productMods/templates/freemarker/edit/forms/manageGrantsForIndividual.ftl +++ b/productMods/templates/freemarker/edit/forms/manageGrantsForIndividual.ftl @@ -47,6 +47,10 @@ ${i18n().check_grants_to_exclude} var customFormData = { processingUrl: '${urls.base}/edit/primitiveRdfEdit' }; +var i18nStrings = { + grantSuccessfullyExcluded: '${i18n().grant_successfully_excluded}', + errorExcludingGrant: '${i18n().error_excluding_grant}' +}; ${stylesheets.add('', diff --git a/productMods/templates/freemarker/edit/forms/managePeopleForOrganization.ftl b/productMods/templates/freemarker/edit/forms/managePeopleForOrganization.ftl index fb03ed70..e02dd101 100644 --- a/productMods/templates/freemarker/edit/forms/managePeopleForOrganization.ftl +++ b/productMods/templates/freemarker/edit/forms/managePeopleForOrganization.ftl @@ -43,6 +43,10 @@ ${i18n().check_people_to_exclude} var customFormData = { processingUrl: '${urls.base}/edit/primitiveRdfEdit' }; +var i18nStrings = { + personSuccessfullyExcluded: '${i18n().person_successfully_excluded}', + errorExcludingPerson: '${i18n().error_excluding_person}' +}; ${stylesheets.add('', diff --git a/productMods/templates/freemarker/edit/forms/manageWebpagesForIndividual.ftl b/productMods/templates/freemarker/edit/forms/manageWebpagesForIndividual.ftl index 75bb6023..87cd39da 100644 --- a/productMods/templates/freemarker/edit/forms/manageWebpagesForIndividual.ftl +++ b/productMods/templates/freemarker/edit/forms/manageWebpagesForIndividual.ftl @@ -41,7 +41,7 @@ ${i18n().edit_capitalized} | - ${i18n().delete_capitalized} + ${i18n().delete_button} @@ -69,6 +69,12 @@ var customFormData = { rankPredicate: '${editConfiguration.pageData.rankPredicate}', reorderUrl: '${urls.base}/edit/reorder' }; +var i18nStrings = { + dragDropToReorderWebpages: '${i18n().drag_drop_to_reorder_webpages}', + webpageReorderingFailed: '${i18n().webpage_reordering_failed}', + confirmWebpageDeletion: '${i18n().confirm_webpage_deletion}', + errorRemovingWebpage: '${i18n().error_removing_webpage}' +}; ${stylesheets.add('', diff --git a/productMods/templates/freemarker/edit/forms/organizationHasPositionHistory.ftl b/productMods/templates/freemarker/edit/forms/organizationHasPositionHistory.ftl index 0e06ec6c..dd78baa3 100644 --- a/productMods/templates/freemarker/edit/forms/organizationHasPositionHistory.ftl +++ b/productMods/templates/freemarker/edit/forms/organizationHasPositionHistory.ftl @@ -164,7 +164,12 @@ Set this flag on the input acUriReceiver where you would like this behavior to o flagClearLabelForExisting: '${flagClearLabelForExisting}' }; - + var i18nStrings = { + selectAnExisting: '${i18n().select_an_existing}', + orCreateNewOne: '${i18n().or_create_new_one}', + selectedString: '${i18n().selected}' + }; + diff --git a/productMods/templates/freemarker/edit/forms/personHasEducationalTraining.ftl b/productMods/templates/freemarker/edit/forms/personHasEducationalTraining.ftl index a3b6c513..01904b49 100644 --- a/productMods/templates/freemarker/edit/forms/personHasEducationalTraining.ftl +++ b/productMods/templates/freemarker/edit/forms/personHasEducationalTraining.ftl @@ -212,6 +212,11 @@ var customFormData = { blankSentinel: '${blankSentinel}', flagClearLabelForExisting: '${flagClearLabelForExisting}' }; +var i18nStrings = { + selectAnExisting: '${i18n().select_an_existing}', + orCreateNewOne: '${i18n().or_create_new_one}', + selectedString: '${i18n().selected}' +}; diff --git a/productMods/templates/freemarker/edit/forms/personHasMailingAddress.ftl b/productMods/templates/freemarker/edit/forms/personHasMailingAddress.ftl index cb2d6ff1..029872a5 100644 --- a/productMods/templates/freemarker/edit/forms/personHasMailingAddress.ftl +++ b/productMods/templates/freemarker/edit/forms/personHasMailingAddress.ftl @@ -191,6 +191,14 @@ + + ${stylesheets.add('')} diff --git a/productMods/templates/freemarker/visualization/entitycomparison/entityComparisonSetup.ftl b/productMods/templates/freemarker/visualization/entitycomparison/entityComparisonSetup.ftl index 23c84b3d..3abb1896 100644 --- a/productMods/templates/freemarker/visualization/entitycomparison/entityComparisonSetup.ftl +++ b/productMods/templates/freemarker/visualization/entitycomparison/entityComparisonSetup.ftl @@ -70,10 +70,68 @@ we will use rev 293 (dev build version) of the flot & excanvas files. ${scripts.add('', diff --git a/productMods/templates/freemarker/visualization/mapOfScience/mapOfScienceSetup.ftl b/productMods/templates/freemarker/visualization/mapOfScience/mapOfScienceSetup.ftl index c332b2d5..06ee8ac9 100644 --- a/productMods/templates/freemarker/visualization/mapOfScience/mapOfScienceSetup.ftl +++ b/productMods/templates/freemarker/visualization/mapOfScience/mapOfScienceSetup.ftl @@ -66,7 +66,45 @@ var comparisonScienceMapCsvDataUrlPrefix = "${urls.base}${dataVisualizationURLRo var entityMapOfScienceSubDisciplineCSVURLPrefix = "${urls.base}${dataVisualizationURLRoot}?vis=${mapOfScienceVisParam}&output=csv&vis_mode=subdiscipline&&uri=" var entityMapOfScienceDisciplineCSVURL = "${entityMapOfScienceDisciplineCSVURL}"; var entityMapOfScienceSubDisciplineCSVURL = "${entityMapOfScienceSubDisciplineCSVURL}"; - +var i18nStrings = { + firstString: '${i18n().vis_first_link}', + lastString: '${i18n().vis_last_link}', + previousString: '${i18n().vis_previous_link}', + nextString: '${i18n().vis_next_link}', + organizationsString: '${i18n().organizations_capitalized}', + peopleString: '${i18n().people_capitalized}', + infoIconString: '${i18n().info_icon}', + entityTypeString: '${i18n().entity_type}', + organizationString: '${i18n().organization_capitalized}', + personString: '${i18n().person_capitalized}', + numberOfPubs: '${i18n().of_pubs}', + maxNbrForComp: '${i18n().max_nbr_for_comp}', + noMatchingScienceAreas: '${i18n().no_matching_science_areas}', + clearSearchQuery: '${i18n().clear_search_query}', + saveAllAsCSV: '${i18n().save_all_as_csv}', + drillDownString: '${i18n().drill_down}', + subdisciplinesString: '${i18n().subdisciplines}', + disciplinesString: '${i18n().disciplines}', + scienceAreaLevel: '${i18n().science_area_level}', + ofActivityString: '${i18n().of_activity}', + subdisciplinesLower: '${i18n().subdisciplines_lower}', + disciplinesLower: '${i18n().disciplines_lower}', + showDisciplineLabels: '${i18n().show_discipline_labels}', + noAttributedPubs: '${i18n().no_attributed_publications}', + noneOfThe: '${i18n().none_of_the}', + pubsAttributedTo: '${i18n().publications_attributed_to}', + beenScienceLocated: '${i18n().been_science_located}', + pubAttributedTo: '${i18n().publication_attributed_to}', + notScienceLocated: '${i18n().not_science_located}', + publicationsString: '${i18n().publications}', + publicationString: '${i18n().publication}', + noJournalInformation: '${i18n().no_journal_information}', + noMatchingMapLocation: '${i18n().no_matching_map_location}', + loadingDataFor: '${i18n().loading_data_for}', + mapBeingRefreshed: '${i18n().map_being_refreshed_msg}', + publicationsPubs: '${i18n().publication_pubs}', + percentActivity: '${i18n().percent_activity}' +}; ${scripts.add('', diff --git a/productMods/templates/freemarker/visualization/personlevel/coAuthorPersonLevel.ftl b/productMods/templates/freemarker/visualization/personlevel/coAuthorPersonLevel.ftl index 20818b1f..35b0253e 100644 --- a/productMods/templates/freemarker/visualization/personlevel/coAuthorPersonLevel.ftl +++ b/productMods/templates/freemarker/visualization/personlevel/coAuthorPersonLevel.ftl @@ -58,6 +58,18 @@ var contextPath = "${urls.base}"; var visualizationDataRoot = "${dataVisualizationURLRoot}"; // --> +var i18nStringsCoauthorship = { + coAuthorsString: '${i18n().co_authors_capitalized}', + authorString: '${i18n().author_capitalized}', + publicationsWith: '${i18n().publications_with}', + publicationsString: '${i18n().publication_s_capitalized}', + coauthorsString: '${i18n().co_author_s_capitalized}' +}; +var i18nStringsPersonLvl = { + fileCapitalized: '${i18n().file_capitalized}', + contentRequiresFlash: '${i18n().content_requires_flash}', + getFlashString: '${i18n().get_flash}' +}; diff --git a/productMods/templates/freemarker/visualization/personlevel/coPIPersonLevel.ftl b/productMods/templates/freemarker/visualization/personlevel/coPIPersonLevel.ftl index 5036f399..3801f4a5 100644 --- a/productMods/templates/freemarker/visualization/personlevel/coPIPersonLevel.ftl +++ b/productMods/templates/freemarker/visualization/personlevel/coPIPersonLevel.ftl @@ -57,6 +57,18 @@ var contextPath = "${urls.base}"; var visualizationDataRoot = "${dataVisualizationURLRoot}"; // --> +var i18nStringsCoPi = { + coInvestigatorString: '${i18n().co_inestigators_capitalized}', + investigatorString: '${i18n().investigator_capitalized}', + grantsWithString: '${i18n().grants_with}', + grantsCapitalized: '${i18n().grant_s_capitalized}', + coInvestigatorCapitalized: '${i18n().co_investigator_s_capitalized}' +}; +var i18nStringsPersonLvl = { + fileCapitalized: '${i18n().file_capitalized}', + contentRequiresFlash: '${i18n().content_requires_flash}', + getFlashString: '${i18n().get_flash}' +}; diff --git a/themes/wilma/css/wilma.css b/themes/wilma/css/wilma.css index 50f37f6e..6f70a2c3 100644 --- a/themes/wilma/css/wilma.css +++ b/themes/wilma/css/wilma.css @@ -1700,9 +1700,6 @@ input[type="submit"] { .edit-individual { border-left: 1px dotted #B2D15A; } -div#profileTypeContainer h2:after { - content:"Profile Type"; -} /* -------------------------------------------------> */ /* SITE ADMIN DASHBOARD ----------------------------> */ /* -------------------------------------------------> */ diff --git a/themes/wilma/i18n/all.properties b/themes/wilma/i18n/all.properties index 48f166d6..2aa17572 100644 --- a/themes/wilma/i18n/all.properties +++ b/themes/wilma/i18n/all.properties @@ -110,6 +110,7 @@ missing_info_resource = missing information resource award_receipt_name = award receipt name award_name = award name conferred_by = conferred by +selected_award = Selected award incomplete_date_time_interval = incomplete date/time interval incomplete_date_time_value = incomplete date/time value @@ -174,6 +175,7 @@ selection_in_process = Your selection is being processed. for = for background_top_image = background top image full_view_icon = full view icon +profile_type = Profile Type # # body templates ( /templates/freemarker/body/ ) # @@ -293,6 +295,7 @@ no_linked_author = no linked author remove_author_link = remove author link add_author = Add Author return_to_grant = Return to grant +return_to_publication = Return to publication add_an_author = Add an Author person_capitalized = Person organization_capitalized = Organization @@ -406,7 +409,7 @@ create_own_concept_all_caps = Create Your Own Concept concept_capitalized = Concept selected_concept = Selected Concept create_concept = Create Concept -return_to+manage_concepts = Return to Manage Concepts +return_to_manage_concepts = Return to Manage Concepts institutional_internal_class = Institutional Internal Class internal_class_intro_one = This class will be used to designate those individuals internal to your institution. @@ -673,3 +676,140 @@ vis_caching_process = What's involved in the caching process? vis_tools_note_two = To this end we have devised a caching solution which will retain information about the hierarchy of organizations -- namely, which publications are attributed to which organizations -- by storing the RDF model. vis_tools_note_three = We're currently caching these models in memory. The cache is built (only once) on the first user request after a server restart. Because of this, the same model will be served until the next restart. This means that the data in these models may become stale depending upon when it was last created. This works well enough for now. In future releases we will improve this solution so that models are stored on disk and periodically updated. vis_tools_note_four = The models are refreshed each time the server restarts. Since this is not generally practical on production instances, administrators can instead use the "refresh cache" link above to do this without a restart. + +# +# custom form javascript variables ( /templates/freemarker/edit/js) +# +drag_drop_reorder_authors = Drag and drop to reorder authors +reordering_authors_failed = Reordering of authors failed. +confirm_author_removal = Are you sure you want to remove this author: +error_processing_aithor_request = Error processing request: author not removed +author_capitalized = Author +or_add_new_one = or add a new one. + +vocabulary_service_unavailable = The vocabulary service is unavailable. Please try again later. +no_serch_results_found = No search results were found. +label_type = Label (Type) +definition_capitalized = Definition +best_match = Best Match +select_term_from_results = Please select at least one term from the search search results. +select_vocabulary_source_to_search = Please select at least one external vocabulary source to search. +confirm_term_deletion = Are you sure you want to remove this term? +error_term_not_deleted = Error processing request: term not removed + +advising = advising +advising_relationship = advising relationship + +select_or_create_organization = Select an existing Organization or create a new one. + +province_or_region = Province or Region + +grant_successfully_excluded = The item has been successfully excluded from the profile page. +error_excluding_grant = Error processing request: the item cannot be excluded from the profile page. + +person_successfully_excluded = The person has been successfully excluded from the organization page. +error_excluding_person = Error processing request: the person cannot be excluded from the organization page. + +publication_successfully_excluded = The publication will has been successfully excluded from the profile page. +error_excluding_publication = Error processing request: the publication cannot be excluded from the profile page. + +drag_drop_to_reorder_webpages = Drag and drop to reorder web pages +webpage_reordering_failed = Reordering of web pages failed. +confirm_webpage_deletion = Are you sure you want to remove this web page? +error_removing_webpage = Error processing request: web page not removed. + +# +# miscellaneous javascript variables ( productMods/js) +# +researcher = researcher +researchers = researchers +currently_no_researchers = There are currently no researchers with a defined geographic focus. +countries_and_regions = countries and regions. +map_states_string = states. +map_state_string = state. +statewide_locations = state-wide locations. +researchers_in = researchers in + +no_faculty_found = No faculty members found. +placeholder_image = placeholder image +view_all_departments = view all academic departments +view_all_faculty = view all faculty +no_departments_found = No academic departments found. + +# +# individual javascript variables ( productMods/js/individual) +# +error_processing_type_change = Error processing request: the unchecked labels could not be deleted. + +display_more_ellipsis = ...more +show_more_content = show more content + +# +# visualization javascript variables ( productMods/js/visualization) +# +publications_with = Publications with + +co_inestigators_capitalized = Co-investigators +grants_with = Grants with + +vis_first_link = First +vis_last_link = Last +vis_previous_link = Prev +vis_next_link = Next + +max_entity_note = A Maximum 10 entities can be compared. Please remove some & try again. +organizations_and_people = Organizations and People +loading_data_for = Loading data for +data_for = Data for +refreshing_data_message = is now being refreshed. The visualization will load as soon as we are done computing, or you can search or browse other data in VIVO and come back in a few minutes. +disclaimer_text_one = This information is based solely on +disclaimer_text_two = which have been loaded into the VIVO system as of +level_undefined_error = ENTITY LEVEL UNDEFINED ERROR + +total_number_of = Total Number of +number_of = Number of +have_an_unknown = have an unknown +year_not_chartered = year (not charted above) +in_completed_year = in a completed year +were = were +in_current_incomplete_year = in the current incomplete year (not charted above) +publication_count = Publication Count +grant_count = Grant Count +entity_type = Entity Type +no_matching_entities_found = No matching entities found +clear_search_query = clear search query +short_max_entity_note = A Maximum of 10 entities can be compared. +information_capitalized = Information +entity_type = Entity Type +content_requires_flash = This content requires the Adobe Flash Player. +get_flash = Get Flash +of_pubs = of pubs. +max_nbr_for_comp = The maximum number of items for comparison is 3. +no_matching_science_areas = No matching science areas found + +subdisciplines = Subdisciplines +disciplines = Disciplines +science_area_level = Level of Science Area +of_activity = of activity + +drill_down = drill down + +disciplines_lower = disciplines +subdisciplines_lower = subdisciplines +show_discipline_labels = Show discipline labels + +no_attributed_publications = No publications in the system have been attributed to this +none_of_the = None of the +publications_attributed_to = publications attributed to this +been_science_located = have been "science-located." +publication_attributed_to = The publication attributed to this +not_science_located = has not been "science-located." +no_journal_information = have no journal information. +no_matching_map_location = could not be matched with a map location using their journal information. + +map_being_refreshed_msg = is now being refreshed. The visualization will load as soon as we are done computing, or you can search or browse other data in VIVO and come back in a few minutes. + +publication_pubs = publications (pubs.) +percent_activity = % activity + + diff --git a/themes/wilma/templates/individual--foaf-person.ftl b/themes/wilma/templates/individual--foaf-person.ftl index 5ef60e5a..83138449 100644 --- a/themes/wilma/templates/individual--foaf-person.ftl +++ b/themes/wilma/templates/individual--foaf-person.ftl @@ -117,6 +117,12 @@ ${stylesheets.add('', diff --git a/themes/wilma/templates/page-home.ftl b/themes/wilma/templates/page-home.ftl index 76286b52..0a71962c 100644 --- a/themes/wilma/templates/page-home.ftl +++ b/themes/wilma/templates/page-home.ftl @@ -85,5 +85,23 @@ <#include "footer.ftl"> <#-- builds a json object that is used by js to render the academic departments section --> <@lh.listAcademicDepartments /> + \ No newline at end of file