Localizing text, bug 211446.
git-svn-id: svn://10.0.0.236/trunk@144649 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
*
|
||||
* Contributor(s): Garth Smedley <garths@oeone.com>
|
||||
* Mike Potter <mikep@oeone.com>
|
||||
* Eric Belhaire <belhaire@ief.u-psud.fr>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
@@ -71,6 +72,8 @@ function buildEventBoxes()
|
||||
{
|
||||
//remove all the old event boxes.
|
||||
var EventContainer = document.getElementById( "event-container-rows" );
|
||||
var tooManyDescValue ;
|
||||
|
||||
if( EventContainer )
|
||||
{
|
||||
var NumberOfChildElements = EventContainer.childNodes.length;
|
||||
@@ -79,9 +82,9 @@ function buildEventBoxes()
|
||||
EventContainer.removeChild( EventContainer.lastChild );
|
||||
}
|
||||
|
||||
//start at length - 10 or 0 if that is < 0
|
||||
//start at length - 6 or 0 if that is < 0
|
||||
|
||||
var Start = gAllEvents.length - 10;
|
||||
var Start = gAllEvents.length - 6;
|
||||
if( Start < 0 )
|
||||
Start = 0;
|
||||
|
||||
@@ -92,11 +95,12 @@ function buildEventBoxes()
|
||||
}
|
||||
|
||||
//reset the text
|
||||
if( gAllEvents.length > 10 )
|
||||
if( gAllEvents.length > 6 )
|
||||
{
|
||||
var TooManyDesc = document.getElementById( "too-many-alarms-description" );
|
||||
TooManyDesc.removeAttribute( "collapsed" );
|
||||
TooManyDesc.setAttribute( "value", "You have "+ (gAllEvents.length )+" total alarms. We've shown you the last 10. Click Acknowledge All to clear them all." );
|
||||
tooManyDescValue = gCalendarBundle.getFormattedString("TooManyAlarmsMessage", [gAllEvents.length]);
|
||||
TooManyDesc.setAttribute( "value", tooManyDescValue );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -148,9 +152,7 @@ function createAlarmBox( Event )
|
||||
var prefService = Components.classes["@mozilla.org/preferences-service;1"]
|
||||
.getService(Components.interfaces.nsIPrefService);
|
||||
|
||||
var categoriesStringBundle = srGetStrBundle("chrome://calendar/locale/calendar.properties");
|
||||
|
||||
OuterBox.getElementsByAttribute( "name", "alarm-length-field" )[0].value = getIntPref(prefService.getBranch("calendar."), "alarms.defaultsnoozelength", categoriesStringBundle.GetStringFromName("defaultSnoozeAlarmLength" ) );
|
||||
OuterBox.getElementsByAttribute( "name", "alarm-length-field" )[0].value = getIntPref(prefService.getBranch("calendar."), "alarms.defaultsnoozelength", gCalendarBundle.getString("defaultSnoozeAlarmLength" ) );
|
||||
|
||||
kungFooDeathGripOnEventBoxes.push( OuterBox.getElementsByAttribute( "name", "SnoozeButton" )[0] );
|
||||
|
||||
|
||||
@@ -64,11 +64,18 @@
|
||||
|
||||
<!-- Javascript includes -->
|
||||
|
||||
<script type="application/x-javascript" src="chrome://global/content/strres.js"/>
|
||||
<script type="application/x-javascript" src="chrome://calendar/content/dateUtils.js"/>
|
||||
<script type="application/x-javascript" src="chrome://calendar/content/alertDialog.js"/>
|
||||
<script type="application/x-javascript" src="chrome://calendar/content/calendarEvent.js"/>
|
||||
|
||||
<!-- STRING BUNDLE for calendar properties -->
|
||||
<stringbundleset id="stringbundleset">
|
||||
<stringbundle id="bundle_calendar" src="chrome://calendar/locale/calendar.properties"/>
|
||||
</stringbundleset>
|
||||
<script type="application/x-javascript">
|
||||
var gCalendarBundle = document.getElementById("bundle_calendar");
|
||||
</script>
|
||||
|
||||
<!-- Picker popups -->
|
||||
|
||||
<popup id="oe-date-picker-popup" position="after_start" oncommand="onDatePick( this )" label=""/>
|
||||
|
||||
@@ -45,7 +45,6 @@
|
||||
* Garth Smedley
|
||||
*
|
||||
* REQUIRED INCLUDES
|
||||
* <script type="application/x-javascript" src="chrome://global/content/strres.js"/>
|
||||
* <script type="application/x-javascript" src="chrome://calendar/content/calendarEvent.js"/>
|
||||
*
|
||||
* NOTES
|
||||
@@ -670,9 +669,7 @@ function newEvent( startDate, endDate )
|
||||
|
||||
if( !endDate )
|
||||
{
|
||||
var categoriesStringBundle = srGetStrBundle("chrome://calendar/locale/calendar.properties");
|
||||
|
||||
var MinutesToAddOn = getIntPref(gCalendarWindow.calendarPreferences.calendarPref, "event.defaultlength", categoriesStringBundle.GetStringFromName("defaultEventLength" ) );
|
||||
var MinutesToAddOn = getIntPref(gCalendarWindow.calendarPreferences.calendarPref, "event.defaultlength", gCalendarBundle.getString("defaultEventLength" ) );
|
||||
|
||||
var endDateTime = startDate.getTime() + ( 1000 * 60 * MinutesToAddOn );
|
||||
|
||||
@@ -1026,11 +1023,10 @@ function launchWizard()
|
||||
* Called when a user hovers over a todo element and the text for the mouse over is changed.
|
||||
*/
|
||||
|
||||
function getPreviewTextForTask( calendarEventDisplay )
|
||||
function getPreviewTextForTask( toDoItem )
|
||||
{
|
||||
var toDoItem = calendarEventDisplay ;
|
||||
|
||||
var HolderBox = document.createElement( "vbox" );
|
||||
var textString ;
|
||||
|
||||
if( toDoItem )
|
||||
{
|
||||
@@ -1039,26 +1035,32 @@ function getPreviewTextForTask( calendarEventDisplay )
|
||||
if (toDoItem.title)
|
||||
{
|
||||
var TitleHtml = document.createElement( "description" );
|
||||
var TitleText = document.createTextNode( "Title: "+toDoItem.title );
|
||||
textString = gCalendarBundle.getFormattedString("tooltipTitleElement", [toDoItem.title]);
|
||||
var TitleText = document.createTextNode( textString );
|
||||
TitleHtml.appendChild( TitleText );
|
||||
HolderBox.appendChild( TitleHtml );
|
||||
}
|
||||
|
||||
var DateHtml = document.createElement( "description" );
|
||||
var startDate = new Date( toDoItem.start.getTime() );
|
||||
var DateText = document.createTextNode( "Start Date: "+gCalendarWindow.dateFormater.getFormatedDate( startDate ) );
|
||||
textString = gCalendarBundle.getFormattedString("tooltipTaskStart",
|
||||
[gCalendarWindow.dateFormater.getFormatedDate( startDate )]);
|
||||
var DateText = document.createTextNode( textString );
|
||||
DateHtml.appendChild( DateText );
|
||||
HolderBox.appendChild( DateHtml );
|
||||
|
||||
DateHtml = document.createElement( "description" );
|
||||
var dueDate = new Date( toDoItem.due.getTime() );
|
||||
DateText = document.createTextNode( "Due Date: "+gCalendarWindow.dateFormater.getFormatedDate( dueDate ) );
|
||||
textString = gCalendarBundle.getFormattedString("tooltipTaskEnd",
|
||||
[gCalendarWindow.dateFormater.getFormatedDate( dueDate )]);
|
||||
DateText = document.createTextNode( textString );
|
||||
DateHtml.appendChild( DateText );
|
||||
HolderBox.appendChild( DateHtml );
|
||||
|
||||
if (toDoItem.description)
|
||||
{
|
||||
var text = "Description: "+toDoItem.description ;
|
||||
var text = gCalendarBundle.getFormattedString("tooltipTaskDescription", [toDoItem.description]);
|
||||
|
||||
var lines = text.split("\n");
|
||||
var nbmaxlines = 5 ;
|
||||
var nblines = lines.length ;
|
||||
@@ -1073,10 +1075,6 @@ function getPreviewTextForTask( calendarEventDisplay )
|
||||
DescriptionHtml.appendChild(DescriptionText);
|
||||
HolderBox.appendChild(DescriptionHtml);
|
||||
}
|
||||
// var DescriptionHtml = document.createElement( "description" );
|
||||
// var DescriptionText = document.createTextNode( "Description: "+toDoItem.description );
|
||||
// DescriptionHtml.appendChild( DescriptionText );
|
||||
// HolderBox.appendChild( DescriptionHtml );
|
||||
}
|
||||
|
||||
return ( HolderBox );
|
||||
@@ -1096,11 +1094,12 @@ function getPreviewTextForRepeatingEvent( calendarEventDisplay )
|
||||
showTooltip = true;
|
||||
|
||||
var HolderBox = document.createElement( "vbox" );
|
||||
var textString ;
|
||||
|
||||
if (calendarEventDisplay.event.title)
|
||||
{
|
||||
var TitleHtml = document.createElement( "description" );
|
||||
var TitleText = "Title: "+calendarEventDisplay.event.title;
|
||||
textString = gCalendarBundle.getFormattedString("tooltipTitleElement", [calendarEventDisplay.event.title]);
|
||||
|
||||
/*
|
||||
if( calendarEventDisplay.event.recurUnits == "years" )
|
||||
@@ -1109,28 +1108,47 @@ function getPreviewTextForRepeatingEvent( calendarEventDisplay )
|
||||
|
||||
TitleText = TitleText+" "+getNumberOfRepeatTimes( calendarEventDisplay.event, false );
|
||||
}*/
|
||||
var TitleTextNode = document.createTextNode( TitleText );
|
||||
var TitleTextNode = document.createTextNode( textString );
|
||||
TitleHtml.appendChild( TitleTextNode );
|
||||
HolderBox.appendChild( TitleHtml );
|
||||
}
|
||||
|
||||
var DateHtml = document.createElement( "description" );
|
||||
var startDate = new Date( calendarEventDisplay.displayDate );
|
||||
var DateText = document.createTextNode( "Start: "+gCalendarWindow.dateFormater.getFormatedDate( startDate )+" "+gCalendarWindow.dateFormater.getFormatedTime( startDate ) );
|
||||
var endDate = new Date( calendarEventDisplay.displayEndDate );
|
||||
|
||||
var DateHtml = document.createElement( "description" );
|
||||
if (!calendarEventDisplay.event.allDay) {
|
||||
textString = gCalendarBundle.getFormattedString("tooltipEventStart",
|
||||
["",
|
||||
gCalendarWindow.dateFormater.getFormatedTime( startDate )]);
|
||||
|
||||
var DateText = document.createTextNode( textString );
|
||||
DateHtml.appendChild( DateText );
|
||||
HolderBox.appendChild( DateHtml );
|
||||
|
||||
DateHtml = document.createElement( "description" );
|
||||
startDate = new Date( calendarEventDisplay.displayEndDate );
|
||||
DateText = document.createTextNode( "End: "+gCalendarWindow.dateFormater.getFormatedDate( startDate )+" "+gCalendarWindow.dateFormater.getFormatedTime( startDate ) );
|
||||
textString = gCalendarBundle.getFormattedString("tooltipEventEnd",
|
||||
["",
|
||||
gCalendarWindow.dateFormater.getFormatedTime( endDate )]);
|
||||
|
||||
DateText = document.createTextNode( textString );
|
||||
DateHtml.appendChild( DateText );
|
||||
HolderBox.appendChild( DateHtml );
|
||||
}
|
||||
|
||||
if (calendarEventDisplay.event.location)
|
||||
{
|
||||
var LocationHtml = document.createElement( "description" );
|
||||
textString = gCalendarBundle.getFormattedString("tooltipEventLocation", [calendarEventDisplay.event.location]);
|
||||
var LocationText = document.createTextNode( textString );
|
||||
LocationHtml.appendChild( LocationText );
|
||||
HolderBox.appendChild( LocationHtml );
|
||||
}
|
||||
|
||||
if (calendarEventDisplay.event.description)
|
||||
{
|
||||
var Description = "Description: "+calendarEventDisplay.event.description;
|
||||
var lines = Description.split("\n");
|
||||
textString = gCalendarBundle.getFormattedString("tooltipEventDescription", [calendarEventDisplay.event.description]);
|
||||
var lines = textString.split("\n");
|
||||
var nbmaxlines = 5 ;
|
||||
var nblines = lines.length ;
|
||||
if( nblines > nbmaxlines ) {
|
||||
@@ -1224,15 +1242,17 @@ function print()
|
||||
args.selectedEvents = gCalendarWindow.EventSelection.selectedEvents ;
|
||||
args.selectedDate=gNewDateVariable = gCalendarWindow.getSelectedDate();
|
||||
|
||||
var categoriesStringBundle = srGetStrBundle("chrome://calendar/locale/calendar.properties");
|
||||
var defaultWeekStart = categoriesStringBundle.GetStringFromName("defaultWeekStart" );
|
||||
var Offset = getIntPref(gCalendarWindow.calendarPreferences.calendarPref, "week.start", defaultWeekStart );
|
||||
var defaultWeeksInView = categoriesStringBundle.GetStringFromName("defaultWeeksInView" );
|
||||
var WeeksInView = getIntPref(gCalendarWindow.calendarPreferences.calendarPref, "weeks.inview", defaultWeeksInView );
|
||||
var Offset = getIntPref(gCalendarWindow.calendarPreferences.calendarPref,
|
||||
"week.start",
|
||||
gCalendarBundle.getString("defaultWeekStart" ) );
|
||||
var WeeksInView = getIntPref(gCalendarWindow.calendarPreferences.calendarPref,
|
||||
"weeks.inview",
|
||||
gCalendarBundle.getString("defaultWeeksInView" ) );
|
||||
WeeksInView = ( WeeksInView >= 6 ) ? 6 : WeeksInView ;
|
||||
|
||||
var defaultPreviousWeeksInView = categoriesStringBundle.GetStringFromName("defaultPreviousWeeksInView" );
|
||||
var PreviousWeeksInView = getIntPref(gCalendarWindow.calendarPreferences.calendarPref, "previousweeks.inview", defaultPreviousWeeksInView );
|
||||
var PreviousWeeksInView = getIntPref(gCalendarWindow.calendarPreferences.calendarPref,
|
||||
"previousweeks.inview",
|
||||
gCalendarBundle.getString("defaultPreviousWeeksInView" ) );
|
||||
PreviousWeeksInView = ( PreviousWeeksInView >= WeeksInView - 1 ) ? WeeksInView - 1 : PreviousWeeksInView ;
|
||||
|
||||
args.startOfWeek=Offset;
|
||||
@@ -1240,8 +1260,6 @@ function print()
|
||||
args.prevWeeksInView=PreviousWeeksInView;
|
||||
|
||||
window.openDialog("chrome://calendar/content/printDialog.xul","printdialog","chrome",args);
|
||||
|
||||
//printEventArray( gCalendarWindow.EventSelection.selectedEvents, "chrome://calendar/content/converters/sortEvents.xsl" );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -164,16 +164,19 @@
|
||||
var confirmDeleteEvent = "&calendar.confirm.deleteevent;";
|
||||
var confirmDeleteUntitledEvent = "&calendar.confirm.deleteuntitledevent;";
|
||||
var defaultCalendarFileName = "&calendar.file.default.name;";
|
||||
var unifinderAlldayLabel = "&calendar.unifinder.allday.label;";
|
||||
var unifinderTitleLabel = "&calendar.unifinder.title.label;";
|
||||
var unifinderStartLabel = "&calendar.unifinder.start.label;";
|
||||
var unifinderEndLabel = "&calendar.unifinder.end.label;";
|
||||
var unifinderDescriptionLabel = "&calendar.unifinder.description.label;";
|
||||
</script>
|
||||
|
||||
<!-- Javascript includes -->
|
||||
<!-- STRING BUNDLE for calendar properties -->
|
||||
<stringbundleset id="stringbundleset">
|
||||
<stringbundle id="bundle_calendar" src="chrome://calendar/locale/calendar.properties"/>
|
||||
<stringbundle id="bundle_calendar_email" src="chrome://calendar/locale/email.properties"/>
|
||||
</stringbundleset>
|
||||
<script type="application/x-javascript">
|
||||
var gCalendarBundle = document.getElementById("bundle_calendar");
|
||||
var gCalendarEmailBundle = document.getElementById("bundle_calendar_email");
|
||||
</script>
|
||||
|
||||
<script type="application/x-javascript" src="chrome://global/content/strres.js"/>
|
||||
<!-- Javascript includes -->
|
||||
|
||||
<script type="application/x-javascript" src="chrome://calendar/content/jslib/jslib.js"/>
|
||||
|
||||
|
||||
@@ -425,7 +425,7 @@ CalendarEventDataSource.prototype.getAllEvents = function calEvent_getAllEvents(
|
||||
|
||||
CalendarEventDataSource.prototype.getEventsForRange = function calEvent_getEventsForRange( StartDate, EndDate )
|
||||
{
|
||||
dump( "\n->get events from "+StartDate+"\n"+EndDate );
|
||||
//dump( "\n->get events from "+StartDate+"\n"+EndDate );
|
||||
var eventList = this.gICalLib.getFirstEventsForRange( StartDate, EndDate );
|
||||
|
||||
this.currentEvents = new Array();
|
||||
@@ -699,9 +699,10 @@ CalendarAlarmObserver.prototype.fireAlarm = function calAlarm_fireAlarm( calenda
|
||||
return;
|
||||
}
|
||||
|
||||
var categoriesStringBundle = srGetStrBundle("chrome://calendar/locale/calendar.properties");
|
||||
|
||||
if( getBoolPref(gCalendarWindow.calendarPreferences.calendarPref, "alarms.playsound", categoriesStringBundle.GetStringFromName("playAlarmSound" ) ) )
|
||||
if( getBoolPref(gCalendarWindow.calendarPreferences.calendarPref,
|
||||
"alarms.playsound",
|
||||
gCalendarBundle.getString("playAlarmSound") )
|
||||
)
|
||||
{
|
||||
playSound();
|
||||
}
|
||||
@@ -710,11 +711,10 @@ CalendarAlarmObserver.prototype.fireAlarm = function calAlarm_fireAlarm( calenda
|
||||
|
||||
if ( calendarEvent.alarmEmailAddress )
|
||||
{
|
||||
var EmailBody = "Calendar Event Alarm Went Off!\n----------------------------\n";
|
||||
EmailBody += "Title: "+calendarEvent.title + " at " + calendarEvent.start.toString() + "\n";
|
||||
EmailBody += "This message sent to you from the Mozilla Calendar.\nhttp://www.mozilla.org/projects/calendar/";
|
||||
var EmailBody = gCalendarEmailBundle.getFormattedString("AlarmEmailBody", [calendarEvent.title, calendarEvent.start.toString()]);
|
||||
var EmailSubject = gCalendarEmailBundle.getFormattedString("AlarmEmailSubject", [calendarEvent.title]);
|
||||
|
||||
//send an email for the event
|
||||
sendEmail( "Mozilla Calendar Alarm: "+calendarEvent.title, EmailBody, calendarEvent.alarmEmailAddress, null, null, null, null );
|
||||
sendEmail( EmailSubject, EmailBody, calendarEvent.alarmEmailAddress, null, null, null, null );
|
||||
}
|
||||
}
|
||||
@@ -19,6 +19,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Mike Potter <mikep@oeone.com>
|
||||
* Eric Belhaire <belhaire@ief.u-psud.fr>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
@@ -117,9 +118,7 @@ function calendarManager( CalendarWindow )
|
||||
|
||||
/* Refresh remote calendars */
|
||||
|
||||
var categoriesStringBundle = srGetStrBundle("chrome://calendar/locale/calendar.properties");
|
||||
|
||||
var RefreshServers = getBoolPref(this.CalendarWindow.calendarPreferences.calendarPref, "servers.reloadonlaunch", categoriesStringBundle.GetStringFromName("reloadServersOnLaunch" ) );
|
||||
var RefreshServers = getBoolPref(this.CalendarWindow.calendarPreferences.calendarPref, "servers.reloadonlaunch", gCalendarBundle.getString("reloadServersOnLaunch" ) );
|
||||
|
||||
if( RefreshServers == true )
|
||||
this.refreshAllRemoteCalendars( );
|
||||
@@ -890,15 +889,13 @@ function deleteCalendar( )
|
||||
promptService = promptService.QueryInterface(Components.interfaces.nsIPromptService);
|
||||
var result = {value:0};
|
||||
|
||||
var calendarStringBundle = srGetStrBundle("chrome://calendar/locale/calendar.properties");
|
||||
|
||||
var buttonPressed =
|
||||
promptService.confirmEx(window,
|
||||
calendarStringBundle.GetStringFromName( "deleteCalendarTitle" ), calendarStringBundle.GetStringFromName( "deleteCalendarMessage" ),
|
||||
gCalendarBundle.getString( "deleteCalendarTitle" ), gCalendarBundle.getString( "deleteCalendarMessage" ),
|
||||
(promptService.BUTTON_TITLE_IS_STRING * promptService.BUTTON_POS_0) +
|
||||
(promptService.BUTTON_TITLE_CANCEL * promptService.BUTTON_POS_1) +
|
||||
(promptService.BUTTON_TITLE_IS_STRING * promptService.BUTTON_POS_2),
|
||||
calendarStringBundle.GetStringFromName( "deleteCalendarOnly" ),null,calendarStringBundle.GetStringFromName( "deleteCalendarAndFile" ),null, result);
|
||||
gCalendarBundle.getString( "deleteCalendarOnly" ),null,gCalendarBundle.getString( "deleteCalendarAndFile" ),null, result);
|
||||
|
||||
var IdToDelete = gCalendarWindow.calendarManager.getSelectedCalendarId()
|
||||
|
||||
|
||||
@@ -77,6 +77,14 @@ DateUtils.getLastDayOfMonth = function( year, month )
|
||||
return lastDayOfMonth;
|
||||
|
||||
}
|
||||
// Number of full days corrected by the TimezoneOffset in order to adapt to
|
||||
// Daylight Saving Time changes.
|
||||
DateUtils.getDifferenceInDays = function(StartDate, EndDate)
|
||||
{
|
||||
var msOffset = ( StartDate.getTimezoneOffset() - EndDate.getTimezoneOffset() ) * kDate_MillisecondsInMinute ;
|
||||
return( (EndDate.getTime() + msOffset - StartDate.getTime() ) / kDate_MillisecondsInDay) ;
|
||||
}
|
||||
|
||||
DateUtils.getWeekNumber = function(date)
|
||||
{
|
||||
//ISO Week Number(01-53) for any date
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
*
|
||||
* Contributor(s): ArentJan Banck <ajbanck@planet.nl>
|
||||
* Steve Hampton <mvgrad78@yahoo.com>
|
||||
* Eric Belhaire <belhaire@ief.u-psud.fr>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
@@ -53,26 +54,24 @@ const MODE_TRUNCATE = 0x20;
|
||||
const MODE_SYNC = 0x40;
|
||||
const MODE_EXCL = 0x80;
|
||||
|
||||
const filterCalendar = "Calendar Files";
|
||||
const filterCalendar = gCalendarBundle.getString( "filterCalendar" );
|
||||
const extensionCalendar = ".ics";
|
||||
const filtervCalendar = "vCalendar Files";
|
||||
const filtervCalendar = gCalendarBundle.getString( "filtervCalendar" );
|
||||
const extensionvCalendar = ".vcs";
|
||||
const filterXcs = "iCalendar XML Document";
|
||||
const filterXcs = gCalendarBundle.getString("filterXcs");
|
||||
const extensionXcs = ".xcs";
|
||||
const filterXml = "XML Document";
|
||||
const filterXml = gCalendarBundle.getString("filterXml");
|
||||
const extensionXml = ".xml";
|
||||
const filterRtf = "Rich Text Format (RTF)";
|
||||
const filterRtf = gCalendarBundle.getString("filterRtf");
|
||||
const extensionRtf = ".rtf";
|
||||
const filterHtml = "HTML Files";
|
||||
const filterHtml = gCalendarBundle.getString("filterHtml");
|
||||
const extensionHtml = ".html";
|
||||
const filterCsv = "Comma Separated";
|
||||
const filterOutlookCsv = "Outlook Comma Separated";
|
||||
const filterCsv = gCalendarBundle.getString("filterCsv");
|
||||
const filterOutlookCsv = gCalendarBundle.getString("filterOutlookCsv");
|
||||
const extensionCsv = ".csv";
|
||||
const filterRdf = "iCalendar RDF";
|
||||
const filterRdf = gCalendarBundle.getString("filterRdf");
|
||||
const extensionRdf = ".rdf";
|
||||
|
||||
calendarStringBundle = srGetStrBundle("chrome://calendar/locale/calendar.properties");
|
||||
|
||||
if( opener && opener.gICalLib )
|
||||
gICalLib = opener.gICalLib;
|
||||
|
||||
@@ -115,7 +114,7 @@ function loadEventsFromFile()
|
||||
const nsIFilePicker = Components.interfaces.nsIFilePicker;
|
||||
|
||||
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
|
||||
fp.init(window, "Open", nsIFilePicker.modeOpenMultiple);
|
||||
fp.init(window, gCalendarBundle.getString("Open"), nsIFilePicker.modeOpenMultiple);
|
||||
fp.defaultExtension = "ics";
|
||||
|
||||
fp.appendFilter( filterCalendar, "*" + extensionCalendar );
|
||||
@@ -164,7 +163,7 @@ function loadEventsFromFile()
|
||||
// If there are no events to import, let the user know
|
||||
//
|
||||
if (calendarEventArray.length == 0 && (duplicateEventArray.length == 0 || dupResult.discard == true) ) {
|
||||
alert( calendarStringBundle.GetStringFromName( "noEventsToImport" ) );
|
||||
alert( gCalendarBundle.getString( "noEventsToImport" ) );
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -177,7 +176,7 @@ function loadEventsFromFile()
|
||||
|
||||
var buttonPressed =
|
||||
promptService.confirmEx(window,
|
||||
"Import", calendarStringBundle.GetStringFromName( "aboutToImport" ) + " "+ calendarEventArray.length + " " + calendarStringBundle.GetStringFromName( "aboutToImportEnd" ),
|
||||
"Import", gCalendarBundle.getFormattedString( "aboutToImport", [calendarEventArray.length]),
|
||||
(promptService.BUTTON_TITLE_YES * promptService.BUTTON_POS_0) +
|
||||
(promptService.BUTTON_TITLE_NO * promptService.BUTTON_POS_1) +
|
||||
(promptService.BUTTON_TITLE_CANCEL * promptService.BUTTON_POS_2),
|
||||
@@ -208,7 +207,7 @@ function loadEventsFromFile()
|
||||
if (dupResult.discard == false) {
|
||||
|
||||
if (dupResult.prompt)
|
||||
alert(calendarStringBundle.GetStringFromName( "duplicateImport" ));
|
||||
alert(gCalendarBundle.getString( "duplicateImport" ));
|
||||
|
||||
addEventsToCalendar( duplicateEventArray, !dupResult.prompt );
|
||||
}
|
||||
@@ -413,10 +412,10 @@ function entryExists( date, subject) {
|
||||
function promptToKeepEntry(title, startTime, endTime)
|
||||
{
|
||||
return confirm(
|
||||
calendarStringBundle.GetStringFromName( "addDuplicate" )+"\n\n" +
|
||||
calendarStringBundle.GetStringFromName( "eventTitle" )+ title + "\n" +
|
||||
calendarStringBundle.GetStringFromName( "eventStartTime" )+ startTime.toString() + "\n" +
|
||||
calendarStringBundle.GetStringFromName( "eventEndTime" )+ endTime.toString() + "\n"
|
||||
gCalendarBundle.getString( "addDuplicate" )+"\n\n" +
|
||||
gCalendarBundle.getString( "eventTitle" )+ title + "\n" +
|
||||
gCalendarBundle.getString( "eventStartTime" )+ startTime.toString() + "\n" +
|
||||
gCalendarBundle.getString( "eventEndTime" )+ endTime.toString() + "\n"
|
||||
);
|
||||
|
||||
}
|
||||
@@ -561,7 +560,7 @@ function readDataFromFile( aFilePath, charset )
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
alert( calendarStringBundle.GetStringFromName( "unableToRead" ) + aFilePath + "\n"+ex );
|
||||
alert( gCalendarBundle.getString( "unableToRead" ) + aFilePath + "\n"+ex );
|
||||
}
|
||||
|
||||
return aDataStream;
|
||||
@@ -581,7 +580,7 @@ function saveEventsToFile( calendarEventArray )
|
||||
|
||||
if (calendarEventArray.length == 0)
|
||||
{
|
||||
alert( calendarStringBundle.GetStringFromName( "noEventsToSave" ) );
|
||||
alert( gCalendarBundle.getString( "noEventsToSave" ) );
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -592,12 +591,12 @@ function saveEventsToFile( calendarEventArray )
|
||||
|
||||
// caller can force disable of sand box, even if ON globally
|
||||
|
||||
fp.init(window, "Save As", nsIFilePicker.modeSave);
|
||||
fp.init(window, gCalendarBundle.getString("SaveAs"), nsIFilePicker.modeSave);
|
||||
|
||||
if(calendarEventArray.length == 1 && calendarEventArray[0].title)
|
||||
fp.defaultString = calendarEventArray[0].title;
|
||||
else
|
||||
fp.defaultString = calendarStringBundle.GetStringFromName( "defaultFileName" );
|
||||
fp.defaultString = gCalendarBundle.getString( "defaultFileName" );
|
||||
|
||||
fp.defaultExtension = "ics";
|
||||
|
||||
@@ -731,7 +730,7 @@ function patchICalStringForExport( sTextiCalendar )
|
||||
function eventArrayToHTML( calendarEventArray )
|
||||
{
|
||||
sHTMLHeader =
|
||||
"<html>\n" + "<head>\n" + "<title>"+calendarStringBundle.GetStringFromName( "HTMLTitle" )+"</title>\n" +
|
||||
"<html>\n" + "<head>\n" + "<title>"+gCalendarBundle.getString( "HTMLTitle" )+"</title>\n" +
|
||||
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n" +
|
||||
"</head>\n"+ "<body bgcolor=\"#FFFFFF\" text=\"#000000\">\n";
|
||||
sHTMLFooter =
|
||||
@@ -743,10 +742,10 @@ function eventArrayToHTML( calendarEventArray )
|
||||
{
|
||||
var calendarEvent = calendarEventArray[ eventArrayIndex ];
|
||||
sHTMLText += "<p>";
|
||||
sHTMLText += "<B>"+calendarStringBundle.GetStringFromName( "eventTitle" )+"</B>\t" + calendarEvent.title + "<BR>\n";
|
||||
sHTMLText += "<B>"+calendarStringBundle.GetStringFromName( "eventDescription" )+"</B>\t" + calendarEvent.description + "<BR>\n";
|
||||
sHTMLText += "<B>"+calendarStringBundle.GetStringFromName( "eventWhen" )+"</B>" + formatDateTimeInterval(calendarEvent.start, calendarEvent.end) + "<BR>\n";
|
||||
sHTMLText += "<B>"+calendarStringBundle.GetStringFromName( "eventWhere" )+"</B>" + calendarEvent.location + "<BR>\n";
|
||||
sHTMLText += "<B>"+gCalendarBundle.getString( "eventTitle" )+"</B>\t" + calendarEvent.title + "<BR>\n";
|
||||
sHTMLText += "<B>"+gCalendarBundle.getString( "eventDescription" )+"</B>\t" + calendarEvent.description + "<BR>\n";
|
||||
sHTMLText += "<B>"+gCalendarBundle.getString( "eventWhen" )+"</B>" + formatDateTimeInterval(calendarEvent.start, calendarEvent.end) + "<BR>\n";
|
||||
sHTMLText += "<B>"+gCalendarBundle.getString( "eventWhere" )+"</B>" + calendarEvent.location + "<BR>\n";
|
||||
// sHTMLText += "<B>Organiser: </B>\t" + Event.???
|
||||
sHTMLText += "</p>";
|
||||
}
|
||||
@@ -773,8 +772,8 @@ function eventArrayToRTF( calendarEventArray )
|
||||
for( var eventArrayIndex = 0; eventArrayIndex < calendarEventArray.length; ++eventArrayIndex )
|
||||
{
|
||||
var calendarEvent = calendarEventArray[ eventArrayIndex ];
|
||||
sRTFText += "\\b\\f0\\fs20 " + calendarStringBundle.GetStringFromName( "eventTitle" ) + "\\b0\\tab " + calendarEvent.title + "\\par\n";
|
||||
sRTFText += "\\b\\f0\\fs20 " + calendarStringBundle.GetStringFromName( "eventDescription" ) + "\\b0\\tab " + calendarEvent.description + "\\par\n";
|
||||
sRTFText += "\\b\\f0\\fs20 " + gCalendarBundle.getString( "eventTitle" ) + "\\b0\\tab " + calendarEvent.title + "\\par\n";
|
||||
sRTFText += "\\b\\f0\\fs20 " + gCalendarBundle.getString( "eventDescription" ) + "\\b0\\tab " + calendarEvent.description + "\\par\n";
|
||||
|
||||
sRTFText += "\\b When:\\b0\\tab " + formatDateTimeInterval(calendarEvent.start, calendarEvent.end) + "\\par\n";
|
||||
|
||||
@@ -885,7 +884,7 @@ function saveDataToFile(aFilePath, aDataStream, charset)
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
alert(calendarStringBundle.GetStringFromName( "unableToWrite" ) + aFilePath );
|
||||
alert(gCalendarBundle.getString( "unableToWrite" ) + aFilePath );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1298,7 +1297,7 @@ function startImport() {
|
||||
onAlarm : function( calendarEvent ) {},
|
||||
onError : function( severity, errorid, errorstring )
|
||||
{
|
||||
this.errorreport=this.errorreport+calendarStringBundle.GetStringFromName( errorid )+"\n";
|
||||
this.errorreport=this.errorreport+gCalendarBundle.getString( errorid )+"\n";
|
||||
},
|
||||
showErrors : function () {
|
||||
if( this.errorreport != "" )
|
||||
|
||||
@@ -175,22 +175,24 @@ function launchFilePicker()
|
||||
// No show the 'Save As' dialog and ask for a filename to save to
|
||||
const nsIFilePicker = Components.interfaces.nsIFilePicker;
|
||||
|
||||
var gCalendarBundle = document.getElementById("bundle_calendar");
|
||||
|
||||
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
|
||||
|
||||
// caller can force disable of sand box, even if ON globally
|
||||
|
||||
fp.init(window, "Save", nsIFilePicker.modeSave);
|
||||
fp.init(window, gCalendarBundle.getString( "Save" ), nsIFilePicker.modeSave);
|
||||
|
||||
var ServerName = document.getElementById( "server-name-textbox" ).value;
|
||||
|
||||
if( ServerName == "" )
|
||||
fp.defaultString = "MozillaCalendarFile.ics";
|
||||
fp.defaultString = gCalendarBundle.getString( "filepickerDefString" );
|
||||
else
|
||||
fp.defaultString = "MozillaCalendar"+ServerName+".ics";
|
||||
fp.defaultString = gCalendarBundle.getFormattedString( "filepickerDefServerString", [ServerName] );
|
||||
|
||||
fp.defaultExtension = "ics";
|
||||
|
||||
const filterCalendar = "Calendar Files";
|
||||
const filterCalendar = gCalendarBundle.getString( "filterCalendar" );
|
||||
const extensionCalendar = ".ics";
|
||||
fp.appendFilter( filterCalendar, "*" + extensionCalendar );
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
* Chris Charabaruk <coldacid@meldstar.com>
|
||||
* Colin Phillips <colinp@oeone.com>
|
||||
* ArentJan Banck <ajbanck@planet.nl>
|
||||
* Eric Belhaire <eric.belhaire@ief.u-psud.fr>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
@@ -524,7 +525,6 @@ var treeView =
|
||||
getCellText : function(row,column)
|
||||
{
|
||||
calendarEvent = gEventArray[row];
|
||||
var calendarStringBundle = srGetStrBundle("chrome://calendar/locale/calendar.properties");
|
||||
switch( column )
|
||||
{
|
||||
case "unifinder-search-results-tree-col-title":
|
||||
@@ -536,13 +536,12 @@ var treeView =
|
||||
var startDate = formatUnifinderEventDate( eventStartDate );
|
||||
if( calendarEvent.allDay )
|
||||
{
|
||||
startText = unifinderAlldayLabel + " " + startDate;
|
||||
return(gCalendarBundle.getFormattedString("unifinderAlldayEventDate", [startDate]));
|
||||
}
|
||||
else
|
||||
{
|
||||
startText = startDate + " " + startTime;
|
||||
return(gCalendarBundle.getFormattedString("unifinderNormalEventDate", [startDate, startTime]));
|
||||
}
|
||||
return( startText );
|
||||
|
||||
case "unifinder-search-results-tree-col-enddate":
|
||||
var eventEndDate = getNextOrPreviousRecurrence( calendarEvent );
|
||||
@@ -553,13 +552,12 @@ var treeView =
|
||||
var endDate = formatUnifinderEventDate( eventEndDate );
|
||||
if( calendarEvent.allDay )
|
||||
{
|
||||
endText = unifinderAlldayLabel + " " + endDate;
|
||||
return(gCalendarBundle.getFormattedString("unifinderAlldayEventDate", [endDate]));
|
||||
}
|
||||
else
|
||||
{
|
||||
endText = endDate + " " + endTime;
|
||||
return(gCalendarBundle.getFormattedString("unifinderNormalEventDate", [endDate, endTime]));
|
||||
}
|
||||
return( endText );
|
||||
|
||||
case "unifinder-search-results-tree-col-categories":
|
||||
return( calendarEvent.categories );
|
||||
@@ -571,11 +569,11 @@ var treeView =
|
||||
switch( calendarEvent.status )
|
||||
{
|
||||
case calendarEvent.ICAL_STATUS_TENTATIVE:
|
||||
return( calendarStringBundle.GetStringFromName( "Tentative" ) );
|
||||
return( gCalendarBundle.getString( "Tentative" ) );
|
||||
case calendarEvent.ICAL_STATUS_CONFIRMED:
|
||||
return( calendarStringBundle.GetStringFromName( "Confirmed" ) );
|
||||
return( gCalendarBundle.getString( "Confirmed" ) );
|
||||
case calendarEvent.ICAL_STATUS_CANCELLED:
|
||||
return( calendarStringBundle.GetStringFromName( "Cancelled" ) );
|
||||
return( gCalendarBundle.getString( "Cancelled" ) );
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
@@ -761,33 +759,84 @@ function changeToolTipTextForEvent( event )
|
||||
function getPreviewText( calendarEvent )
|
||||
{
|
||||
var HolderBox = document.createElement( "vbox" );
|
||||
|
||||
var textString ;
|
||||
if (calendarEvent.title)
|
||||
{
|
||||
var TitleHtml = document.createElement( "description" );
|
||||
var TitleText = document.createTextNode( unifinderTitleLabel+calendarEvent.title );
|
||||
textString = gCalendarBundle.getFormattedString("tooltipTitleElement", [calendarEvent.title]);
|
||||
var TitleText = document.createTextNode( textString );
|
||||
TitleHtml.appendChild( TitleText );
|
||||
HolderBox.appendChild( TitleHtml );
|
||||
}
|
||||
|
||||
var DateHtml = document.createElement( "description" );
|
||||
var startDate = new Date( calendarEvent.start.getTime() );
|
||||
var DateText = document.createTextNode( unifinderStartLabel+gCalendarWindow.dateFormater.getFormatedDate( startDate )+" "+gCalendarWindow.dateFormater.getFormatedTime( startDate ) );
|
||||
var endDate = new Date( calendarEvent.end.getTime() );
|
||||
var diff = DateUtils.getDifferenceInDays(startDate, endDate) ;
|
||||
|
||||
var DateHtml = document.createElement( "description" );
|
||||
if (calendarEvent.allDay) {
|
||||
if ( diff > 1 ) {
|
||||
textString = gCalendarBundle.getFormattedString("tooltipEventStart",
|
||||
[gCalendarWindow.dateFormater.getFormatedDate( startDate ),
|
||||
""]);
|
||||
var DateText = document.createTextNode( textString );
|
||||
DateHtml.appendChild( DateText );
|
||||
HolderBox.appendChild( DateHtml );
|
||||
DateHtml = document.createElement( "description" );
|
||||
|
||||
textString = gCalendarBundle.getFormattedString("tooltipEventEnd",
|
||||
[gCalendarWindow.dateFormater.getFormatedDate( endDate ),
|
||||
""]);
|
||||
}
|
||||
else {
|
||||
textString = gCalendarBundle.getFormattedString("tooltipAlldayEventDate",
|
||||
[gCalendarWindow.dateFormater.getFormatedDate( startDate ),
|
||||
""]);
|
||||
}
|
||||
}
|
||||
else {
|
||||
textString = gCalendarBundle.getFormattedString("tooltipEventStart",
|
||||
[gCalendarWindow.dateFormater.getFormatedDate( startDate ),
|
||||
gCalendarWindow.dateFormater.getFormatedTime( startDate )]);
|
||||
var DateText = document.createTextNode( textString );
|
||||
DateHtml.appendChild( DateText );
|
||||
HolderBox.appendChild( DateHtml );
|
||||
DateHtml = document.createElement( "description" );
|
||||
|
||||
textString = gCalendarBundle.getFormattedString("tooltipEventEnd",
|
||||
[gCalendarWindow.dateFormater.getFormatedDate( endDate ),
|
||||
gCalendarWindow.dateFormater.getFormatedTime( endDate )]);
|
||||
}
|
||||
DateText = document.createTextNode( textString );
|
||||
DateHtml.appendChild( DateText );
|
||||
HolderBox.appendChild( DateHtml );
|
||||
|
||||
DateHtml = document.createElement( "description" );
|
||||
var endDate = new Date( calendarEvent.end.getTime() );
|
||||
DateText = document.createTextNode( unifinderEndLabel+gCalendarWindow.dateFormater.getFormatedDate( endDate )+" "+gCalendarWindow.dateFormater.getFormatedTime( endDate ) );
|
||||
DateHtml.appendChild( DateText );
|
||||
HolderBox.appendChild( DateHtml );
|
||||
if (calendarEvent.location)
|
||||
{
|
||||
var LocationHtml = document.createElement( "description" );
|
||||
textString = gCalendarBundle.getFormattedString("tooltipEventLocation", [calendarEvent.location]);
|
||||
var LocationText = document.createTextNode( textString );
|
||||
LocationHtml.appendChild( LocationText );
|
||||
HolderBox.appendChild( LocationHtml );
|
||||
}
|
||||
|
||||
if (calendarEvent.description)
|
||||
{
|
||||
textString = gCalendarBundle.getFormattedString("tooltipEventDescription", [calendarEvent.description]);
|
||||
var lines = textString.split("\n");
|
||||
var nbmaxlines = 5 ;
|
||||
var nblines = lines.length ;
|
||||
if( nblines > nbmaxlines ) {
|
||||
var nblines = nbmaxlines ;
|
||||
lines[ nblines - 1 ] = "..." ;
|
||||
}
|
||||
|
||||
for (var i = 0; i < nblines; i++) {
|
||||
var DescriptionHtml = document.createElement( "description" );
|
||||
var DescriptionText = document.createTextNode( unifinderDescriptionLabel+calendarEvent.description );
|
||||
DescriptionHtml.appendChild( DescriptionText );
|
||||
HolderBox.appendChild( DescriptionHtml );
|
||||
var DescriptionText = document.createTextNode(lines[i]);
|
||||
DescriptionHtml.appendChild(DescriptionText);
|
||||
HolderBox.appendChild(DescriptionHtml);
|
||||
}
|
||||
}
|
||||
|
||||
return ( HolderBox );
|
||||
|
||||
@@ -588,57 +588,8 @@ function changeToolTipTextForToDo( event )
|
||||
{
|
||||
Html.removeChild( Html.firstChild );
|
||||
}
|
||||
|
||||
var HolderBox = document.createElement( "vbox" );
|
||||
|
||||
if( toDoItem )
|
||||
{
|
||||
showTooltip = true; //needed to show the tooltip.
|
||||
|
||||
if (toDoItem.title)
|
||||
{
|
||||
var TitleHtml = document.createElement( "description" );
|
||||
var TitleText = document.createTextNode( "Title: "+toDoItem.title );
|
||||
TitleHtml.appendChild( TitleText );
|
||||
HolderBox.appendChild( TitleHtml );
|
||||
}
|
||||
|
||||
var DateHtml = document.createElement( "description" );
|
||||
var startDate = new Date( toDoItem.start.getTime() );
|
||||
var DateText = document.createTextNode( "Start Date: "+gCalendarWindow.dateFormater.getFormatedDate( startDate ) );
|
||||
DateHtml.appendChild( DateText );
|
||||
HolderBox.appendChild( DateHtml );
|
||||
|
||||
DateHtml = document.createElement( "description" );
|
||||
var dueDate = new Date( toDoItem.due.getTime() );
|
||||
DateText = document.createTextNode( "Due Date: "+gCalendarWindow.dateFormater.getFormatedDate( dueDate ) );
|
||||
DateHtml.appendChild( DateText );
|
||||
HolderBox.appendChild( DateHtml );
|
||||
|
||||
if (toDoItem.description)
|
||||
{
|
||||
var text = "Description: "+toDoItem.description ;
|
||||
var lines = text.split("\n");
|
||||
var nbmaxlines = 5 ;
|
||||
var nblines = lines.length ;
|
||||
if( nblines > nbmaxlines ) {
|
||||
var nblines = nbmaxlines ;
|
||||
lines[ nblines - 1 ] = "..." ;
|
||||
}
|
||||
for (var i = 0; i < nblines; i++) {
|
||||
var DescriptionHtml = document.createElement("description");
|
||||
var DescriptionText = document.createTextNode(lines[i]);
|
||||
DescriptionHtml.appendChild(DescriptionText);
|
||||
HolderBox.appendChild(DescriptionHtml);
|
||||
}
|
||||
}
|
||||
|
||||
Html.appendChild( HolderBox );
|
||||
}
|
||||
else
|
||||
{
|
||||
showTooltip = false; //Don't show the tooltip
|
||||
}
|
||||
var HolderBox = getPreviewTextForTask( toDoItem ) ;
|
||||
if( HolderBox ) Html.appendChild( HolderBox ) ;
|
||||
}
|
||||
|
||||
function changeContextMenuForToDo( event )
|
||||
|
||||
@@ -190,11 +190,6 @@
|
||||
<!ENTITY calendar.unifinder.todayandfuture.label "Hide Past Events" >
|
||||
<!ENTITY calendar.unifinder.todoitems.label "Tasks" >
|
||||
<!ENTITY calendar.unifinder.hidecompletedtodos.label "Hide Completed Tasks">
|
||||
<!ENTITY calendar.unifinder.allday.label "All day" >
|
||||
<!ENTITY calendar.unifinder.title.label "Title: " >
|
||||
<!ENTITY calendar.unifinder.start.label "Start: " >
|
||||
<!ENTITY calendar.unifinder.end.label "End: " >
|
||||
<!ENTITY calendar.unifinder.description.label "Description: " >
|
||||
|
||||
<!ENTITY calendar.calendartab.label "Calendar">
|
||||
<!ENTITY calendar.listofcalendarstab.label "Calendars">
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s): ArentJan Banck <ajbanck@planet.nl>
|
||||
# Eric Belhaire <belhaire@ief.u-psud.fr>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
@@ -43,8 +44,7 @@ Cancelled=Cancelled
|
||||
|
||||
noEventsToImport=No events to import...
|
||||
noEventsToSave=No events selected to save.
|
||||
aboutToImport=About to import
|
||||
aboutToImportEnd=event(s).\nDo you want to open all new events to import before importing?
|
||||
aboutToImport=About to import %1$S event(s).\nDo you want to open all new events to import before importing?
|
||||
duplicateImport=Some duplicate entries were imported. Each one will display in the New Event dialog,\n where you can skip it using Cancel, or edit and accept it using OK.
|
||||
addDuplicate=Add duplicate entry:
|
||||
|
||||
@@ -91,7 +91,48 @@ Week=Week
|
||||
|
||||
defaultzone=Default Timezone:
|
||||
|
||||
# Alarm
|
||||
TooManyAlarmsMessage=You have %1$S total alarms. We've shown you the last 6. Click Acknowledge All to clear them all.
|
||||
|
||||
# Error strings
|
||||
## @name UID_NOT_FOUND
|
||||
## @loc none
|
||||
1001=Warning UID not found! Assigning new one.
|
||||
|
||||
# List of events or todos (unifinder)
|
||||
## %1$S is the date
|
||||
unifinderAlldayEventDate=All day %1$S
|
||||
## %1$S is the date, %2$S is the time
|
||||
unifinderNormalEventDate=%1$S %2$S
|
||||
|
||||
# Tooltips of events or todos
|
||||
tooltipTitleElement=Title: %1$S
|
||||
## %1$S is the date, %2$S is the time
|
||||
tooltipEventStart=Start:\t%1$S %2$S
|
||||
tooltipEventEnd=End:\t %1$S %2$S
|
||||
tooltipTaskStart=Start Date: %1$S
|
||||
tooltipTaskEnd=Due Date: %1$S
|
||||
tooltipAlldayEventDate=All Day %1$S
|
||||
##
|
||||
tooltipEventLocation=Location: %1$S
|
||||
tooltipEventDescription=Note: %1$S
|
||||
tooltipTaskDescription=Note: %1$S
|
||||
|
||||
#File commands and dialogs
|
||||
Open=Open
|
||||
Save=Save
|
||||
SaveAs=Save As
|
||||
filepickerDefString=MozillaCalendarFile.ics
|
||||
### %1$S in the server name
|
||||
filepickerDefServerString=MozillaCalendar%1$S.ics
|
||||
|
||||
#filter
|
||||
filterCalendar=Calendar Files
|
||||
filtervCalendar=vCalendar Files
|
||||
filterXcs=iCalendar XML Document
|
||||
filterXml=XML Document
|
||||
filterRtf=Rich Text Format (RTF)
|
||||
filterHtml=HTML Files
|
||||
filterCsv=Comma Separated
|
||||
filterOutlookCsv=Outlook Comma Separated
|
||||
filterRdf=iCalendar RDF
|
||||
|
||||
@@ -36,4 +36,4 @@
|
||||
|
||||
# default categories
|
||||
|
||||
categories=Birthday,Business,Calls,Clients,Competition,Customer,Favorites,Follow up,Gifts,Holidays,Ideas,Issues,Miscellaneous,Personal,Projects,Public Holiday,Status,Suppliers,Travel,Vacation
|
||||
categories=Anniversary,Birthday,Business,Calls,Clients,Competition,Customer,Favorites,Follow up,Gifts,Holidays,Ideas,Issues,Miscellaneous,Personal,Projects,Public Holiday,Status,Suppliers,Travel,Vacation
|
||||
|
||||
@@ -41,3 +41,5 @@ Where=Where:
|
||||
Organizer=Organizer:
|
||||
Summary=Summary:
|
||||
EmailSubject=Calendar Events
|
||||
AlarmEmailBody=Calendar Event Alarm Went Off!\n----------------------------\nTitle: %1$S at %2$S\nThis message sent to you from the Mozilla Calendar.\nhttp://www.mozilla.org/projects/calendar/
|
||||
AlarmEmailSubject=Mozilla Calendar Alarm: %1$S
|
||||
|
||||
Reference in New Issue
Block a user