internationalization changes for java script files

This commit is contained in:
tworrall 2013-06-07 11:59:14 -04:00
parent 041c091268
commit 2c49931672
60 changed files with 720 additions and 502 deletions

View file

@ -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 <br />",
tableCaption: i18nStringsCoPi.coInvestigatorString + " ",
tableColumnTitle1: i18nStringsCoPi.investigatorString,
tableColumnTitle2: i18nStringsCoPi.grantsWithString + " <br />",
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;

View file

@ -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 <br />",
tableCaption: i18nStringsCoauthorship.coAuthorsString + " ",
tableColumnTitle1: i18nStringsCoauthorship.authorString,
tableColumnTitle2: i18nStringsCoauthorship.publicationsWith + " <br />",
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;

View file

@ -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 = "<span class='small-arrows'>&laquo;</span> <span class='paginate-nav-text'>First</span>";
nPrevious.innerHTML = "<span class='small-arrows'>&lsaquo;</span> <span class='paginate-nav-text'>Prev</span>";
nNext.innerHTML = "<span class='paginate-nav-text'>Next</span><span class='small-arrows'>&rsaquo;</span>";
nLast.innerHTML = "<span class='paginate-nav-text'>Last</span><span class='small-arrows'>&raquo;</span>";
nFirst.innerHTML = "<span class='small-arrows'>&laquo;</span> <span class='paginate-nav-text'>"
+ i18nStrings.firstString + "</span>";
nPrevious.innerHTML = "<span class='small-arrows'>&lsaquo;</span> <span class='paginate-nav-text'>"
+ i18nStrings.previousString + "</span>";
nNext.innerHTML = "<span class='paginate-nav-text'>"
+ i18nStrings.nextString + "</span><span class='small-arrows'>&rsaquo;</span>";
nLast.innerHTML = "<span class='paginate-nav-text'>"
+ i18nStrings.lastString + "</span><span class='small-arrows'>&raquo;</span>";
var oClasses = oSettings.oClasses;
nFirst.className = oClasses.sPageButton + " " + oClasses.sPageFirst;

View file

@ -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&nbsp;"
var alternateVisInfo = COMPARISON_PARAMETERS_INFO[currentParameter].value + " "
+ i18nStringsGuiEvents.temporalGraphCapped + "&nbsp;"
+ '<span id="noPubsOrGrants-span">|&nbsp;'
+ '<a href="' + COMPARISON_PARAMETERS_INFO[oldParameter].viewLink + '">'
+ 'view ' + COMPARISON_PARAMETERS_INFO[oldParameter].pluralName + ' temporal graph</a></span>'
+ i18nStringsGuiEvents.viewString + ' '
+ COMPARISON_PARAMETERS_INFO[oldParameter].pluralName
+ i18nStringsGuiEvents.temporalGraphLower + '</a></span>'
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: '<div id="loading-data-container"><h3><img id="data-loading-icon" src="' + loadingImageLink
+ '" />&nbsp;Loading data for <i>'
+ '" />&nbsp;' + i18nStringsGuiEvents.loadingDataFor + ' <i>'
+ organizationLabel
+ '</i></h3></div>'
});
@ -469,9 +473,9 @@ function setupLoadingScreen(visContainerDIV) {
$("#loading-data-container")
.html('<h3><img id="refresh-page-icon" src="'
+ refreshPageImageLink
+ '" />&nbsp;Data for <i>' + organizationLabel
+ '</i> 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.</h3>')
+ '" />&nbsp;' + i18nStringsGuiEvents.dataForString + ' <i>' + organizationLabel
+ '</i> ' + i18nStringsGuiEvents.refreshingDataMsg
+ '</h3>')
.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);

View file

@ -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 = "<span class='small-arrows'>&laquo;</span> <span class='paginate-nav-text'>First</span>";
nPrevious.innerHTML = "<span class='small-arrows'>&lsaquo;</span> <span class='paginate-nav-text'>Prev</span>";
nNext.innerHTML = "<span class='paginate-nav-text'>Next</span><span class='small-arrows'>&rsaquo;</span>";
nLast.innerHTML = "<span class='paginate-nav-text'>Last</span><span class='small-arrows'>&raquo;</span>";
nFirst.innerHTML = "<span class='small-arrows'>&laquo;</span> <span class='paginate-nav-text'>"
+ i18nStringsUtil.firstString + "</span>";
nPrevious.innerHTML = "<span class='small-arrows'>&lsaquo;</span> <span class='paginate-nav-text'>"
+ i18nStringsUtil.previousString + "</span>";
nNext.innerHTML = "<span class='paginate-nav-text'>" + i18nStringsUtil.nextString
+ "</span><span class='small-arrows'>&rsaquo;</span>";
nLast.innerHTML = "<span class='paginate-nav-text'>" + i18nStringsUtil.lastString
+ "</span><span class='small-arrows'>&raquo;</span>";
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 = $('<th>');
entityLabelTH.html('Entity Name');
entityLabelTH.html(i18nStringsUtil.entityTypeString);
var activityCountTH = $('<th>');
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 = $('<th>');
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("<span id='reset-search' title='Clear Search query'>X</span>");
searchInputBox.after("<span id='reset-search' title='" + i18nStringsUtil.clerSearchQuery + "'>X</span>");
$("#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
});

View file

@ -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({
' | ' +
'<span id="' + dom.secondFilterID + '" class="' + dom.filterOptionClass + '">' + dom.secondFilterLabel + '</span>' +
*/
'<img class="' + dom.filterInfoIconClass + '" id="comparisonImageIconTwo" src="'+ infoIconUrl +'" alt="information icon" title="" /></div>');
'<img class="' + dom.filterInfoIconClass + '" id="comparisonImageIconTwo" src="'+ infoIconUrl +'" alt="' + i18nStrings.infoIconString + '" title="" /></div>');
me.tableDiv.append(filter);
createToolTip($("#comparisonImageIconTwo"), $("#comparisonToolTipTwo").html(), "topLeft");
initFilter(dom);
@ -81,7 +83,7 @@ var ComparisonDataTableWidget = Class.extend({
var tr = $('<tr>');
var levelOfScienceAreaTH = $('<th>');
levelOfScienceAreaTH.html('Entity Type');
levelOfScienceAreaTH.html(i18nStrings.entityTypeString);
var checkBoxTH = $('<th>');
checkBoxTH.html('');
@ -89,13 +91,13 @@ var ComparisonDataTableWidget = Class.extend({
var scienceAreasTH = $('<th>');
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 = $('<th width="53">');
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("<span id='comparison-reset-search' title='Clear search query'>X</span>"
+ "<img class='comparisonFilterInfoIcon' id='comparisonSearchInfoIcon' src='" + infoIconUrl + "' alt='information icon' title='' />");
searchInputBox.after("<span id='comparison-reset-search' title='" + i18nStrings.clearSearchQuery + "'>X</span>"
+ "<img class='comparisonFilterInfoIcon' id='comparisonSearchInfoIcon' src='" + infoIconUrl + "' alt='" + i18nStrings.infoIconString + "' title='' />");
$("#comparison-reset-search").live('click', function() {
me.widget.fnFilter("");
});
@ -208,18 +210,18 @@ var ComparisonDataTableWidget = Class.extend({
/* Create csv download button */
var csvButton = '<hr class="subtle-hr"/><div id="main-science-areas-table-footer"><a href="' +
comparisonScienceMapCsvDataUrlPrefix + me.uri +
'" class="map-of-science-links">Save All as CSV</a></div>';
'" class="map-of-science-links">' + i18nStrings.saveAllAsCSV + '</a></div>';
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;
}

View file

@ -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);

View file

@ -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 = $('<tr>');
var levelOfScienceAreaTH = $('<th>');
levelOfScienceAreaTH.html('Level of Science Area');
levelOfScienceAreaTH.html(i18nStrings.scienceAreaLevel);
var scienceAreasTH = $('<th>');
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 = $('<th>');
activityCountTH.html('# of pubs.');
activityCountTH.html('# ' + i18nStrings.numberOfPubs);
activityCountTH.attr("id", "activity-count-column");
var percentageActivityTH = $('<th>');
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("<span id='reset-search' title='Clear search query'>X</span>"
+ "<img class='filterInfoIcon' id='searchInfoIcon' src='" + infoIconUrl + "' alt='information icon' title='' />");
searchInputBox.after("<span id='reset-search' title='" + i18nStrings.clearSearchQuery + "'>X</span>"
+ "<img class='filterInfoIcon' id='searchInfoIcon' src='" + infoIconUrl
+ "' alt='" + i18nStrings.infoIconString + "' title='' />");
$("#reset-search").live('click', function() {
me.widget.fnFilter("");
});
@ -236,7 +239,7 @@ var DataTableWidget = Class.extend({
var csvButton = '<hr class="subtle-hr"/><div id="main-science-areas-table-footer"><a id="csv" href="' +
entityMapOfScienceSubDisciplineCSVURL +
'" class="map-of-science-links">Save All as CSV</a></div>';
'" class="map-of-science-links">' + i18nStrings.saveAllAsCSV + '</a></div>';
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;

View file

@ -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 += "<li>" + responseData.pubsWithNoJournals + " " + publicationsText + " have no journal"
+ " information.</li>"
newErrorMessage += "<li>" + responseData.pubsWithNoJournals + " " + publicationsText
+ " " + i18nStrings.noJournalInformation + "</li>"
}
if (responseData.pubsWithInvalidJournals && responseData.pubsWithInvalidJournals > 0) {
var publicationsText = (responseData.pubsWithInvalidJournals > 1) ? "publications" : "publication";
var publicationsText = (responseData.pubsWithInvalidJournals > 1) ? i18nStrings.publicationsString : i18nStrings.publicationString;
newErrorMessage += "<li>" + responseData.pubsWithInvalidJournals + " " + publicationsText + " "
+ " could not be matched with a map location using their journal information.</li>"
+ " " + i18nStrings.noMatchingMapLocation + "</li>"
}
newErrorMessage += "</ul>";

View file

@ -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: '<div id="loading-data-container"><h3><img id="data-loading-icon" src="' + loadingImageLink
+ '" />&nbsp;Loading data for <i>'
+ '" />&nbsp;' + i18nStrings.loadingDataFor + ' <i>'
+ entityLabel
+ '</i></h3></div>'
});
@ -38,8 +41,7 @@ function setupLoadingScreen() {
.html('<h3><img id="refresh-page-icon" src="'
+ refreshPageImageLink
+ '" />&nbsp;Data for <i>' + entityLabel
+ '</i> 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.</h3>')
+ '</i> ' + i18nStrings.mapBeingRefreshed + '</h3>')
.css({'cursor': 'pointer'});
}, 10 * 1000);
}

View file

@ -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(
'<div style="font-size: 80%; padding: 5px; text-align: left;"><b>'
+ poly.label +'</b><br />'
+ addCommasToNumber(poly.value.toFixed(2)) + ' publications (pubs.)<br />'
+ (poly.value * 100 / this.maxValue).toFixed(2) + '% activity</div>'
+ addCommasToNumber(poly.value.toFixed(2)) + ' ' + i18nStrings.publicationsPubs + '<br />'
+ (poly.value * 100 / this.maxValue).toFixed(2) + i18nStrings.percentActivity
);
return marker;
}
@ -205,8 +208,8 @@ var SubdisciplineMarkerManager = ScimapMarkerManager.extend({
marker.setContent(
'<div style="font-size: 80%; padding: 5px; text-align: left;"><b>'
+ poly.label + '</b> in ' + disciplineLabel +'<br />'
+ addCommasToNumber(poly.value.toFixed(2)) + ' publications (pubs.)<br />'
+ (poly.value * 100 / this.maxValue).toFixed(2) + '% activity</div>'
+ addCommasToNumber(poly.value.toFixed(2)) + ' ' + i18nStrings.publicationsPubs + '<br />'
+ (poly.value * 100 / this.maxValue).toFixed(2) + i18nStrings.percentActivity
);
return marker;

View file

@ -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);

View file

@ -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) + '</a><a href="' + entityMapOfScienceURLPrefix +
me.uri + '"><img class="drillDownIcon" src="' +
drillDownIconUrl + '" alt="drill down" title="drill down" /></a></div>');
drillDownIconUrl + '" alt="' + i18nStrings.drillDownString + '" title="' + i18nStrings.drillDownString + '" /></a></div>');
me.tableDiv.append(organizationHeader);
/* Create table */
@ -78,10 +80,10 @@ var SimpleDataTableWidget = Class.extend({
var scienceAreasTH = $('<th>');
scienceAreasTH.attr("id", "entity-science-areas-th");
scienceAreasTH.html('Subdisciplines');
scienceAreasTH.html(i18nStrings.subdisciplinesString);
var activityCountTH = $('<th width="53">');
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 = '<hr class="subtle-hr" /><div id="main-science-areas-table-footer" style="background-color:' + me.color + ';"><a href="' +
entityMapOfScienceSubDisciplineCSVURLPrefix + me.uri +
'" class="map-of-science-links">Save All as CSV</a></div>';
'" class="map-of-science-links">' + i18nStrings.saveAllAsCSV + '</a></div>';
me.tableDiv.append(csvButton);
/* Create mapping statistic result */

View file

@ -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($('<caption>').html(collaboratorTableMetadata.tableCaption
+ "<a href=\"" + collaboratorTableMetadata.tableCSVFileLink
+ "\">(.CSV File)</a>"));
+ "\">(.CSV " + i18nStringsPersonLvl.fileCapitalized + ")</a>"));
var header = $('<thead>');
@ -326,8 +328,8 @@ function renderCollaborationshipVisualization() {
);
} else { // flash is too old or we can't detect the plugin
var alternateContent = '<br /><h3 style="color: red;">'
+ 'This content requires the Adobe Flash Player. '
+ '<a href=http://www.adobe.com/go/getflash/>Get Flash</a></h3>';
+ i18nStringsPersonLvl.contentRequiresFlash + ' '
+ '<a href=http://www.adobe.com/go/getflash/>' + i18nStringsPersonLvl.getFlashString + '</a></h3>';
document.write(alternateContent); // insert non-flash content
}