зеркало из https://github.com/mozilla/pjs.git
Checked in patch 165084 for bug 173562:
Need to import Outlook CSV exported data
This commit is contained in:
Родитель
f13fbb0194
Коммит
3e7e381fae
|
@ -595,56 +595,79 @@ function promptToKeepEntry(title, startTime, endTime)
|
|||
/**** parseOutlookCSVEvents
|
||||
*
|
||||
* Takes a text block of Outlook-exported Comma Separated Values and tries to
|
||||
* parse that into individual events (with a mother-of-all-regexps).
|
||||
* Returns: an array of new calendarEvents and
|
||||
* an array of events that are duplicates with existing ones.
|
||||
* parse that into individual events.
|
||||
*
|
||||
* First line is field names, all quoted with double quotes. Field names are
|
||||
* locale dependendent. In English the recognized field names are:
|
||||
* "Title","Start Date","Start Time","End Date","End Time","All day event",
|
||||
* "Reminder on/off","Reminder Date","Reminder Time","Categories",
|
||||
* "Description","Location","Private"
|
||||
* Not all fields are necessary. If some fields do not match known field names,
|
||||
* a dialog is presented to the user to match fields.
|
||||
*
|
||||
* The rest of the lines are events, one event per line, with fields in the
|
||||
* order descibed by the first line. All non-empty values must be quoted.
|
||||
*
|
||||
* Returns: an array of parsed calendarEvents.
|
||||
* If the parse is cancelled, a zero length array is returned.
|
||||
*/
|
||||
function parseOutlookCSVEvents( outlookCsvStr ) {
|
||||
|
||||
// boolRegExp: regexp for finding a boolean value from event (6. field)
|
||||
// headerRegExp: regexp for reading CSV header line
|
||||
// eventRegExp: regexp for reading events (this one'll be constructed on fly)
|
||||
var boolRegExp = /^".*",".*",".*",".*",".*","(.*)?",".*"/;
|
||||
var headerRegExp = /^"(.*)?","(.*)?","(.*)?","(.*)?","(.*)?","(.*)?","(.*)?","(.*)?","(.*)?","(.*)?","(.*)?","(.*)?","(.*)?","(.*)?","(.*)?","(.*)?","(.*)?","(.*)?","(.*)?","(.*)?","(.*)?","(.*)?"/g;
|
||||
var eventRegExp;
|
||||
headerRegExp.lastIndex=0;
|
||||
parse: {
|
||||
// parse header line of quoted comma separated column names.
|
||||
var trimEndQuotesRegExp = /^"(.*)"$/m;
|
||||
var trimResults = trimEndQuotesRegExp.exec( outlookCsvStr );
|
||||
var header = trimResults && trimResults[1].split(/","/);
|
||||
if( header == null )
|
||||
break parse;
|
||||
|
||||
//array for storing events values (from eventRegExp)
|
||||
var eventFields;
|
||||
|
||||
var formater = new DateFormater();
|
||||
var sDate;
|
||||
var eDate;
|
||||
var alarmDate;
|
||||
|
||||
var calendarEvent;
|
||||
var eventArray = new Array();
|
||||
var dupArray = new Array();
|
||||
|
||||
var args;
|
||||
var knownIndxs = 0;
|
||||
var boolTestFields;
|
||||
|
||||
var header = headerRegExp( outlookCsvStr );
|
||||
|
||||
if( header != null ) {
|
||||
//strip header from string
|
||||
outlookCsvStr = outlookCsvStr.slice(headerRegExp.lastIndex + 2);
|
||||
outlookCsvStr = outlookCsvStr.slice(trimResults[0].length);
|
||||
|
||||
var args = new Object();
|
||||
//args.cancelled is about window cancel, not about event
|
||||
args.cancelled = false;
|
||||
//args.fieldList contains the field names from the first row of CSV
|
||||
args.fieldList = header;
|
||||
|
||||
// set indexes if Outlook language happened to be same as locale
|
||||
const outlookCSVTitle = gCalendarBundle.getString("outlookCSVTitle");
|
||||
const outlookCSVStartDate = gCalendarBundle.getString("outlookCSVStartDate");
|
||||
const outlookCSVStartTime = gCalendarBundle.getString("outlookCSVStartTime");
|
||||
const outlookCSVEndDate = gCalendarBundle.getString("outlookCSVEndDate");
|
||||
const outlookCSVEndTime = gCalendarBundle.getString("outlookCSVEndTime");
|
||||
const outlookCSVAllDayEvent = gCalendarBundle.getString("outlookCSVAllDayEvent");
|
||||
const outlookCSVAlarm = gCalendarBundle.getString("outlookCSVAlarm");
|
||||
const outlookCSVAlarmDate = gCalendarBundle.getString("outlookCSVAlarmDate");
|
||||
const outlookCSVAlarmTime = gCalendarBundle.getString("outlookCSVAlarmTime");
|
||||
const outlookCSVCategories = gCalendarBundle.getString("outlookCSVCategories");
|
||||
const outlookCSVDescription = gCalendarBundle.getString("outlookCSVDescription");
|
||||
const outlookCSVLocation = gCalendarBundle.getString("outlookCSVLocation");
|
||||
const outlookCSVPrivate = gCalendarBundle.getString("outlookCSVPrivate");
|
||||
const outlookCSVValueTrue = gCalendarBundle.getString("outlookCSVValueTrue");
|
||||
const outlookCSVValueFalse = gCalendarBundle.getString("outlookCSVValueFalse");
|
||||
|
||||
// get a sample boolean value from the first event.
|
||||
// Note: this asssumes that field number 6 is a boolean value
|
||||
boolTestFields = boolRegExp(outlookCsvStr);
|
||||
|
||||
if( ( boolTestFields != null ) && ( boolTestFields[1].length>0 ) ) {
|
||||
|
||||
args = new Object();
|
||||
//args.cancelled is about window cancel, not about event
|
||||
args.cancelled = false;
|
||||
//args.fieldList contains the field names from the first row of CSV
|
||||
args.fieldList = header.slice(1);
|
||||
args.boolStr = boolTestFields[1];
|
||||
|
||||
// set default indexes for a Outlook2000 CSV file
|
||||
var knownIndxs = 0;
|
||||
for( var i = 1; i <= header.length; i++) {
|
||||
switch( header[i-1] ) {
|
||||
case outlookCSVTitle: args.titleIndex = i; knownIndxs++; break;
|
||||
case outlookCSVStartDate: args.startDateIndex = i; knownIndxs++; break;
|
||||
case outlookCSVStartTime: args.startTimeIndex = i; knownIndxs++; break;
|
||||
case outlookCSVEndDate: args.endDateIndex = i; knownIndxs++; break;
|
||||
case outlookCSVEndTime: args.endTimeIndex = i; knownIndxs++; break;
|
||||
case outlookCSVAllDayEvent: args.allDayIndex = i; knownIndxs++; break;
|
||||
case outlookCSVAlarm: args.alarmIndex = i; knownIndxs++; break;
|
||||
case outlookCSVAlarmDate: args.alarmDateIndex = i; knownIndxs++; break;
|
||||
case outlookCSVAlarmTime: args.alarmTimeIndex = i; knownIndxs++; break;
|
||||
case outlookCSVCategories: args.categoriesIndex = i; knownIndxs++; break;
|
||||
case outlookCSVDescription: args.descriptionIndex = i; knownIndxs++; break;
|
||||
case outlookCSVLocation: args.locationIndex = i; knownIndxs++; break;
|
||||
case outlookCSVPrivate: args.privateIndex = i; knownIndxs++; break;
|
||||
}
|
||||
}
|
||||
|
||||
if (knownIndxs == 0 && header.length == 22) {
|
||||
// set default indexes for a default Outlook2000 CSV file
|
||||
args.titleIndex = 1;
|
||||
args.startDateIndex = 2;
|
||||
args.startTimeIndex = 3;
|
||||
|
@ -658,119 +681,215 @@ function parseOutlookCSVEvents( outlookCsvStr ) {
|
|||
args.descriptionIndex = 16;
|
||||
args.locationIndex = 17;
|
||||
args.privateIndex = 20;
|
||||
|
||||
// set indexes if Outlook language happened to be english
|
||||
for( var i = 1; i < header.length; i++)
|
||||
switch( header[i] ) {
|
||||
case "Subject": args.titleIndex = i; knownIndxs++; break;
|
||||
case "Start Date": args.startDateIndex = i; knownIndxs++; break;
|
||||
case "Start Time": args.startTimeIndex = i; knownIndxs++; break;
|
||||
case "End Date": args.endDateIndex = i; knownIndxs++; break;
|
||||
case "End Time": args.endTimeIndex = i; knownIndxs++; break;
|
||||
case "All day event": args.allDayIndex = i; knownIndxs++; break;
|
||||
case "Reminder on/off": args.alarmIndex = i; knownIndxs++; break;
|
||||
case "Reminder Date": args.alarmDateIndex = i; knownIndxs++; break;
|
||||
case "Reminder Time": args.alarmTimeIndex = i; knownIndxs++; break;
|
||||
case "Categories": args.categoriesIndex = i; knownIndxs++; break;
|
||||
case "Description": args.descriptionIndex = i; knownIndxs++; break;
|
||||
case "Location": args.locationIndex = i; knownIndxs++; break;
|
||||
case "Private": args.privateIndex = i; knownIndxs++; break;
|
||||
}
|
||||
}
|
||||
|
||||
// again, if language is english...
|
||||
if( args.boolStr == "True" ) args.boolIsTrue = true;
|
||||
else if( args.boolStr == "False" ) args.boolIsTrue = false;
|
||||
|
||||
// show field select -dialog if language wasn't english
|
||||
// (or if MS decided to change column names)
|
||||
if( ( args.boolIsTrue == null ) || ( knownIndxs != 13 ) ) {
|
||||
|
||||
// just any value...
|
||||
args.boolIsTrue = false;
|
||||
|
||||
// Dialog will update values in args.* according to user choices.
|
||||
window.setCursor( "wait" );
|
||||
openDialog( "chrome://calendar/content/outlookImportDialog.xul", "caOutlookImport", "chrome,modal,resizable=yes", args );
|
||||
}
|
||||
|
||||
if( !args.cancelled ) {
|
||||
|
||||
// Construct event regexp according to field indexes. The regexp can
|
||||
// be made stricter, if it seems this matches too loosely.
|
||||
var regExpStr = "^";
|
||||
for( i = 1; i < header.length; i++ ) {
|
||||
if( i != 1 )
|
||||
regExpStr += ",";
|
||||
if( i == args.descriptionIndex )
|
||||
regExpStr += "(.*(?:[\\s\\S]*)?.*)?";
|
||||
else
|
||||
regExpStr += "(.*)?";
|
||||
}
|
||||
regExpStr += "\\r\\n";
|
||||
|
||||
eventRegExp = new RegExp( regExpStr, "gm" );
|
||||
eventFields = eventRegExp( outlookCsvStr );
|
||||
if( eventFields != null ) {
|
||||
do {
|
||||
eventFields[0] ="";
|
||||
//strip quotation marks
|
||||
for( i=1; i < eventFields.length; i++ )
|
||||
if( eventFields[i].length > 0 )
|
||||
eventFields[i] = eventFields[i].slice( 1, -1 );
|
||||
|
||||
// At this point eventFields contains following fields. Position
|
||||
// of fields is in args.[fieldname]Index.
|
||||
// subject, start date, start time, end date, end time,
|
||||
// all day?, alarm?, alarm date, alarm time,
|
||||
// Description, Categories, Location, Private?
|
||||
// Unused fields (could maybe be copied to Description):
|
||||
// Meeting Organizer, Required Attendees, Optional Attendees,
|
||||
// Meeting Resources, Billing Information, Mileage, Priority,
|
||||
// Sensitivity, Show time as
|
||||
|
||||
//parseShortDate magically decides the format (locale) of dates/times
|
||||
sDate = formater.parseShortDate( eventFields[args.startDateIndex] + " " +
|
||||
eventFields[args.startTimeIndex] );
|
||||
eDate = formater.parseShortDate( eventFields[args.endDateIndex] + " " +
|
||||
eventFields[args.endTimeIndex] );
|
||||
alarmDate = formater.parseShortDate( eventFields[args.alarmDateIndex] + " " +
|
||||
eventFields[args.alarmTimeIndex] );
|
||||
if( ( sDate != null ) && ( eDate != null ) ) {
|
||||
|
||||
calendarEvent = createEvent();
|
||||
|
||||
calendarEvent.id = createUniqueID();
|
||||
calendarEvent.title = eventFields[args.titleIndex];
|
||||
calendarEvent.start.setTime( sDate );
|
||||
calendarEvent.end.setTime( eDate );
|
||||
calendarEvent.alarmLength = Math.round( ( sDate - alarmDate ) / kDate_MillisecondsInMinute );
|
||||
calendarEvent.alarmUnits = "minutes";
|
||||
calendarEvent.setParameter( "ICAL_RELATED_PARAMETER", "ICAL_RELATED_START" );
|
||||
calendarEvent.description = eventFields[args.descriptionIndex];
|
||||
calendarEvent.categories = eventFields[args.categoriesIndex];
|
||||
calendarEvent.location = eventFields[args.locationIndex];
|
||||
|
||||
if( args.boolIsTrue ) {
|
||||
calendarEvent.allDay = ( eventFields[args.allDayIndex] == args.boolStr );
|
||||
calendarEvent.alarm = ( eventFields[args.alarmIndex] == args.boolStr );
|
||||
calendarEvent.privateEvent = ( eventFields[args.privateIndex] == args.boolStr );
|
||||
} else {
|
||||
calendarEvent.allDay = ( eventFields[args.allDayIndex] != args.boolStr );
|
||||
calendarEvent.alarm = ( eventFields[args.alarmIndex] != args.boolStr );
|
||||
calendarEvent.privateEvent = ( eventFields[args.privateIndex] != args.boolStr );
|
||||
}
|
||||
|
||||
//save the event into return array
|
||||
eventArray[eventArray.length] = calendarEvent;
|
||||
}
|
||||
//get next events fields
|
||||
eventFields = eventRegExp( outlookCsvStr );
|
||||
} while( eventRegExp.lastIndex !=0 )
|
||||
}
|
||||
}
|
||||
// show field select dialog if not all headers matched
|
||||
if(knownIndxs != header.length) {
|
||||
window.setCursor( "wait" );
|
||||
openDialog( "chrome://calendar/content/outlookImportDialog.xul", "caOutlookImport", "chrome,modal,resizable=yes", args );
|
||||
if( args.cancelled )
|
||||
break parse;
|
||||
}
|
||||
}
|
||||
return eventArray;
|
||||
|
||||
// Construct event regexp according to field indexes. The regexp can
|
||||
// be made stricter, if it seems this matches too loosely.
|
||||
var regExpStr = "^";
|
||||
for( i = 1; i <= header.length; i++ ) {
|
||||
if( i > 1 ) regExpStr += ",";
|
||||
regExpStr += "(?:\"((?:[^\"]|\"\")*)\")?";
|
||||
}
|
||||
regExpStr += "$";
|
||||
|
||||
// eventRegExp: regexp for reading events (this one'll be constructed on fly)
|
||||
const eventRegExp = new RegExp( regExpStr, "gm" );
|
||||
|
||||
// match first line
|
||||
var eventFields = eventRegExp( outlookCsvStr );
|
||||
|
||||
if( eventFields == null )
|
||||
break parse;
|
||||
|
||||
// if boolean field used, find boolean value based on selected indexes
|
||||
if (args.allDayIndex || args.alarmIndex || args.privateIndex) {
|
||||
// get a sample boolean value from any boolean column of the first event.
|
||||
// again, if imported language is same as locale...
|
||||
args.boolStr = ( eventFields[args.allDayIndex] ||
|
||||
eventFields[args.alarmIndex] ||
|
||||
eventFields[args.privateIndex] );
|
||||
|
||||
if (args.boolStr) { // if not all empty string, test for true/false
|
||||
if( args.boolStr.toLowerCase() == outlookCSVValueTrue.toLowerCase())
|
||||
args.boolIsTrue = true;
|
||||
else if(args.boolStr.toLowerCase() == outlookCSVValueFalse.toLowerCase())
|
||||
args.boolIsTrue = false;
|
||||
else {
|
||||
window.setCursor( "wait" );
|
||||
openDialog( "chrome://calendar/content/outlookImportBooleanDialog.xul", "caOutlookImport", "chrome,modal,resizable=yes", args );
|
||||
if( args.cancelled )
|
||||
break parse;
|
||||
}
|
||||
} else { // else field is empty string, treat it as false
|
||||
args.boolIsTrue = false;
|
||||
}
|
||||
} else { // no boolean columns, just set default
|
||||
args.boolStr = outlookCSVValueTrue;
|
||||
args.boolIsTrue = true;
|
||||
}
|
||||
|
||||
var dateParseConfirmed = false;
|
||||
var eventArray = new Array();
|
||||
const dateFormat = new DateFormater();
|
||||
do {
|
||||
// At this point eventFields contains following fields. Position
|
||||
// of fields is in args.[fieldname]Index.
|
||||
// subject, start date, start time, end date, end time,
|
||||
// all day?, alarm?, alarm date, alarm time,
|
||||
// Description, Categories, Location, Private?
|
||||
// Unused fields (could maybe be copied to Description):
|
||||
// Meeting Organizer, Required Attendees, Optional Attendees,
|
||||
// Meeting Resources, Billing Information, Mileage, Priority,
|
||||
// Sensitivity, Show time as
|
||||
|
||||
//parseShortDate magically decides the format (locale) of dates/times
|
||||
var title = ("titleIndex" in args
|
||||
? parseOutlookTextField(args, "titleIndex", eventFields) : "");
|
||||
var sDate = parseOutlookDateTimeFields(args, "startDateIndex", "startTimeIndex",
|
||||
eventFields, dateFormat);
|
||||
var eDate = parseOutlookDateTimeFields(args, "endDateIndex", "endTimeIndex",
|
||||
eventFields, dateFormat);
|
||||
var alarmDate = parseOutlookDateTimeFields(args, "alarmDateIndex", "alarmTimeIndex",
|
||||
eventFields, dateFormat);
|
||||
if ( title || sDate ) {
|
||||
|
||||
if (!dateParseConfirmed) {
|
||||
// Check if parsing with current date format is acceptable by
|
||||
// checking that each parsed date formats to same string. This is
|
||||
// inside event loop in case the first event's dates are ambiguous.
|
||||
// For example, 2/3/2004 works with both D/M/YYYY or M/D/YYYY so it
|
||||
// is ambiguous, but 20/3/2004 only works with D/M/YYYY, and would
|
||||
// produce 8/3/2005 with M/D/YYYY.
|
||||
var startDateString = ("startDateIndex" in args? eventFields[args.startDateIndex] : "");
|
||||
var endDateString = ("endDateIndex" in args? eventFields[args.endDateIndex] : "");
|
||||
var alarmDateString = ("alarmDateIndex" in args? eventFields[args.alarmDateIndex] : "");
|
||||
var dateIndexes = ["startDateIndex", "endDateIndex", "alarmDateIndex"];
|
||||
var parsedDates = [sDate, eDate, alarmDate];
|
||||
for (var j = 0; j < dateIndexes.length; j++) {
|
||||
var indexName = dateIndexes[j];
|
||||
var dateString = (indexName in args? eventFields[args[indexName]] : "");
|
||||
var parsedDate = parsedDates[j];
|
||||
var formattedDate = null;
|
||||
if (dateString &&
|
||||
(parsedDate == null ||
|
||||
dateString != (formattedDate = dateFormat.getShortFormatedDate(parsedDate)))) {
|
||||
// A difference found, or an unparseable date found, so ask user to confirm date format.
|
||||
//"A date in this file is formatted as "%1$S".\n\
|
||||
// The operating system is set to parse this date as "%2$S".\n\
|
||||
// Is this OK?\n\
|
||||
// (If not, adjust settings so format matches, then restart this application.)"
|
||||
const outlookCSVDateParseConfirm =
|
||||
gCalendarBundle.getFormattedString("outlookCSVDateParseConfirm",
|
||||
[startDateString, formattedDate]);
|
||||
dateParseConfirmed = confirm(outlookCSVDateParseConfirm);
|
||||
if (! dateParseConfirmed)
|
||||
break parse; // parsed date not acceptable, abort parse.
|
||||
else
|
||||
break; // parsed date format acceptable, no need to check more dates.
|
||||
}
|
||||
}
|
||||
}
|
||||
var calendarEvent = createEvent();
|
||||
|
||||
calendarEvent.id = createUniqueID();
|
||||
calendarEvent.title = title;
|
||||
|
||||
if ("allDayIndex" in args)
|
||||
calendarEvent.allDay = (args.boolStr == eventFields[args.allDayIndex]
|
||||
? args.boolIsTrue : !args.boolIsTrue);
|
||||
if ("alarmIndex" in args)
|
||||
calendarEvent.alarm = (args.boolStr == eventFields[args.alarmIndex]
|
||||
? args.boolIsTrue : !args.boolIsTrue);
|
||||
if ("privateIndex" in args)
|
||||
calendarEvent.privateEvent = (args.boolStr == eventFields[args.privateIndex]
|
||||
? args.boolIsTrue : !args.boolIsTrue);
|
||||
|
||||
if (!eDate && sDate) {
|
||||
eDate = new Date(sDate);
|
||||
if (calendarEvent.allDay)
|
||||
// end date is exclusive, so set to next day after start.
|
||||
eDate.setDate(eDate.getDate() + 1);
|
||||
}
|
||||
if (sDate)
|
||||
calendarEvent.start.setTime( sDate );
|
||||
if (eDate)
|
||||
calendarEvent.end.setTime( eDate );
|
||||
if (alarmDate) {
|
||||
var len, units;
|
||||
var minutes = Math.round( ( sDate - alarmDate ) / kDate_MillisecondsInMinute );
|
||||
var hours = Math.round(minutes / 60 );
|
||||
if (minutes != hours*60) {
|
||||
len = minutes;
|
||||
units = "minutes";
|
||||
} else {
|
||||
var days = Math.round(hours / 24);
|
||||
if (hours != days * 24) {
|
||||
len = hours;
|
||||
units = "hours";
|
||||
} else {
|
||||
len = days;
|
||||
units = "days";
|
||||
}
|
||||
}
|
||||
calendarEvent.alarmLength = len;
|
||||
calendarEvent.alarmUnits = units;
|
||||
calendarEvent.setParameter( "ICAL_RELATED_PARAMETER", "ICAL_RELATED_START" );
|
||||
}
|
||||
if ("descriptionIndex" in args)
|
||||
calendarEvent.description = parseOutlookTextField(args, "descriptionIndex", eventFields);
|
||||
if ("categoriesIndex" in args)
|
||||
calendarEvent.categories = parseOutlookTextField(args, "categoriesIndex", eventFields);
|
||||
if ("locationIndex" in args)
|
||||
calendarEvent.location = parseOutlookTextField(args, "locationIndex", eventFields);
|
||||
|
||||
//save the event into return array
|
||||
eventArray[eventArray.length] = calendarEvent;
|
||||
}
|
||||
|
||||
//get next events fields
|
||||
eventFields = eventRegExp( outlookCsvStr );
|
||||
|
||||
} while( eventRegExp.lastIndex !=0 );
|
||||
|
||||
// return results
|
||||
return eventArray;
|
||||
|
||||
} // end parse
|
||||
return new Array(); // parse cancelled, return empty array
|
||||
}
|
||||
|
||||
/** PRIVATE **/
|
||||
function parseOutlookDateTimeFields(args, dateIndexName, timeIndexName, eventFields, dateFormat)
|
||||
{
|
||||
var startDateString = (dateIndexName in args? eventFields[args[dateIndexName]] : "");
|
||||
var startTimeString = (timeIndexName in args? eventFields[args[timeIndexName]] : "");
|
||||
if (startDateString)
|
||||
if (startTimeString)
|
||||
return dateFormat.parseShortDate( startDateString + " " + startTimeString );
|
||||
else
|
||||
return dateFormat.parseShortDate( startDateString );
|
||||
else
|
||||
if (startTimeString)
|
||||
return dateFormat.parseTimeOfDay( startTimeString );
|
||||
else
|
||||
return null;
|
||||
}
|
||||
/** PRIVATE **/
|
||||
function parseOutlookTextField(args, textIndexName, eventFields)
|
||||
{
|
||||
var textString = (textIndexName in args? eventFields[args[textIndexName]] : "");
|
||||
if (textString)
|
||||
return textString.replace("\"\"", "\"");
|
||||
else
|
||||
return textString; // null or empty
|
||||
}
|
||||
|
||||
/**** parseIcalEvents
|
||||
|
@ -792,7 +911,7 @@ function parseIcalEvents( icalStr )
|
|||
|
||||
var calendarEvent = createEvent();
|
||||
|
||||
// if parsing import iCalendar failed, add date as description
|
||||
// if parsing import iCalendar failed, add data as description
|
||||
if ( !calendarEvent.parseIcalString(eventData) )
|
||||
{
|
||||
// initialize start and end dates.
|
||||
|
|
|
@ -0,0 +1,79 @@
|
|||
<?xml version="1.0"?>
|
||||
<!-- ***** BEGIN LICENSE BLOCK *****
|
||||
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
-
|
||||
- The contents of this file are subject to the Mozilla Public License Version
|
||||
- 1.1 (the "License"); you may not use this file except in compliance with
|
||||
- the License. You may obtain a copy of the License at
|
||||
- http://www.mozilla.org/MPL/
|
||||
-
|
||||
- Software distributed under the License is distributed on an "AS IS" basis,
|
||||
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
- for the specific language governing rights and limitations under the
|
||||
- License.
|
||||
-
|
||||
- The Original Code is Mozilla Calendar code.
|
||||
-
|
||||
- The Initial Developer of the Original Code is
|
||||
- Jussi Kukkonen (jussi.kukkonen@welho.com).
|
||||
- Portions created by the Initial Developer are Copyright (C) 2004
|
||||
- the Initial Developer. All Rights Reserved.
|
||||
-
|
||||
- Contributor(s):
|
||||
-
|
||||
- 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
|
||||
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
- in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
- of those above. If you wish to allow use of your version of this file only
|
||||
- under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
- use your version of this file under the terms of the MPL, indicate your
|
||||
- decision by deleting the provisions above and replace them with the notice
|
||||
- and other provisions required by the LGPL or the GPL. If you do not delete
|
||||
- the provisions above, a recipient may use your version of this file under
|
||||
- the terms of any one of the MPL, the GPL or the LGPL.
|
||||
-
|
||||
- ***** END LICENSE BLOCK ***** -->
|
||||
|
||||
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
|
||||
|
||||
<!DOCTYPE dialog
|
||||
[
|
||||
<!ENTITY % dtd1 SYSTEM "chrome://calendar/locale/global.dtd" > %dtd1;
|
||||
<!ENTITY % dtd2 SYSTEM "chrome://calendar/locale/calendar.dtd" > %dtd2;
|
||||
]>
|
||||
|
||||
<dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:nc="http://home.netscape.com/NC-rdf#"
|
||||
id="calendar-import-outlook-boolean-dialog"
|
||||
title="&calendar.importoutlook.dialog.title;"
|
||||
onload="loadOutlookImportBooleanDialog()"
|
||||
buttons="accept,cancel"
|
||||
ondialogaccept="return onOKCommand();"
|
||||
ondialogcancel="return onCancelCommand();">
|
||||
|
||||
<script type="application/x-javascript" src="chrome://calendar/content/outlookImportBooleanDialog.js"/>
|
||||
|
||||
<vbox>
|
||||
<label value="&calendar.importoutlook.selectmeaning.label;"/>
|
||||
<hbox>
|
||||
<spacer flex="1"/>
|
||||
<grid>
|
||||
<rows>
|
||||
<row align="center">
|
||||
<hbox pack="end">
|
||||
<label id="bool-label"/>
|
||||
</hbox>
|
||||
<menulist id="bool-list">
|
||||
<menupopup>
|
||||
<menuitem label="&calendar.importoutlook.false.label;" value="0"/>
|
||||
<menuitem label="&calendar.importoutlook.true.label;" value="1"/>
|
||||
</menupopup>
|
||||
</menulist>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<spacer flex="1"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
</dialog>
|
|
@ -49,79 +49,89 @@ function loadOutlookImportDialog()
|
|||
{
|
||||
args = window.arguments[0];
|
||||
|
||||
var oldList;
|
||||
var menuList;
|
||||
|
||||
var k;
|
||||
|
||||
//fill all menupopups
|
||||
menuList = document.getElementById( "title-list" );
|
||||
for( var k = 0; k < args.fieldList.length; k++ )
|
||||
for( k = 0; k < args.fieldList.length; k++ )
|
||||
menuList.appendItem( args.fieldList[k] );
|
||||
menuList.selectedIndex = args.titleIndex;
|
||||
if ("titleIndex" in args)
|
||||
menuList.selectedIndex = args.titleIndex;
|
||||
menuList.focus();
|
||||
|
||||
menuList = document.getElementById( "startdate-list" );
|
||||
for( var k = 0; k < args.fieldList.length; k++ )
|
||||
for( k = 0; k < args.fieldList.length; k++ )
|
||||
menuList.appendItem( args.fieldList[k] );
|
||||
menuList.selectedIndex = args.startDateIndex;
|
||||
if ("startDateIndex" in args)
|
||||
menuList.selectedIndex = args.startDateIndex;
|
||||
|
||||
menuList = document.getElementById( "starttime-list" );
|
||||
for( var k = 0; k < args.fieldList.length; k++ )
|
||||
for( k = 0; k < args.fieldList.length; k++ )
|
||||
menuList.appendItem( args.fieldList[k] );
|
||||
menuList.selectedIndex = args.startTimeIndex;
|
||||
if ("startTimeIndex" in args)
|
||||
menuList.selectedIndex = args.startTimeIndex;
|
||||
|
||||
menuList = document.getElementById( "enddate-list" );
|
||||
for( var k = 0; k < args.fieldList.length; k++ )
|
||||
for( k = 0; k < args.fieldList.length; k++ )
|
||||
menuList.appendItem( args.fieldList[k] );
|
||||
menuList.selectedIndex = args.endDateIndex;
|
||||
if ("endDateIndex" in args)
|
||||
menuList.selectedIndex = args.endDateIndex;
|
||||
|
||||
menuList = document.getElementById( "endtime-list" );
|
||||
for( var k = 0; k < args.fieldList.length; k++ )
|
||||
for( k = 0; k < args.fieldList.length; k++ )
|
||||
menuList.appendItem( args.fieldList[k] );
|
||||
menuList.selectedIndex = args.endTimeIndex;
|
||||
if ("endTimeIndex" in args)
|
||||
menuList.selectedIndex = args.endTimeIndex;
|
||||
|
||||
menuList = document.getElementById( "location-list" );
|
||||
for( var k = 0; k < args.fieldList.length; k++ )
|
||||
for( k = 0; k < args.fieldList.length; k++ )
|
||||
menuList.appendItem( args.fieldList[k] );
|
||||
menuList.selectedIndex = args.locationIndex;
|
||||
if ("locationIndex" in args)
|
||||
menuList.selectedIndex = args.locationIndex;
|
||||
|
||||
menuList = document.getElementById( "description-list" );
|
||||
for( var k = 0; k < args.fieldList.length; k++ )
|
||||
for( k = 0; k < args.fieldList.length; k++ )
|
||||
menuList.appendItem( args.fieldList[k] );
|
||||
menuList.selectedIndex = args.descriptionIndex;
|
||||
if ("descriptionIndex" in args)
|
||||
menuList.selectedIndex = args.descriptionIndex;
|
||||
|
||||
menuList = document.getElementById( "allday-list" );
|
||||
for( var k = 0; k < args.fieldList.length; k++ )
|
||||
for( k = 0; k < args.fieldList.length; k++ )
|
||||
menuList.appendItem( args.fieldList[k] );
|
||||
menuList.selectedIndex = args.allDayIndex;
|
||||
if ("allDayIndex" in args)
|
||||
menuList.selectedIndex = args.allDayIndex;
|
||||
|
||||
menuList = document.getElementById( "private-list" );
|
||||
for( var k = 0; k < args.fieldList.length; k++ )
|
||||
for( k = 0; k < args.fieldList.length; k++ )
|
||||
menuList.appendItem( args.fieldList[k] );
|
||||
menuList.selectedIndex = args.privateIndex;
|
||||
if ("privateIndex" in args)
|
||||
menuList.selectedIndex = args.privateIndex;
|
||||
|
||||
menuList = document.getElementById( "alarm-list" );
|
||||
for( var k = 0; k < args.fieldList.length; k++ )
|
||||
for( k = 0; k < args.fieldList.length; k++ )
|
||||
menuList.appendItem( args.fieldList[k] );
|
||||
menuList.selectedIndex = args.alarmIndex;
|
||||
if ("alarmIndex" in args)
|
||||
menuList.selectedIndex = args.alarmIndex;
|
||||
|
||||
menuList = document.getElementById( "alarmdate-list" );
|
||||
for( var k = 0; k < args.fieldList.length; k++ )
|
||||
for( k = 0; k < args.fieldList.length; k++ )
|
||||
menuList.appendItem( args.fieldList[k] );
|
||||
menuList.selectedIndex = args.alarmDateIndex;
|
||||
if ("alarmDateIndex" in args)
|
||||
menuList.selectedIndex = args.alarmDateIndex;
|
||||
|
||||
menuList = document.getElementById( "alarmtime-list" );
|
||||
for( var k = 0; k < args.fieldList.length; k++ )
|
||||
for( k = 0; k < args.fieldList.length; k++ )
|
||||
menuList.appendItem( args.fieldList[k] );
|
||||
menuList.selectedIndex = args.alarmTimeIndex;
|
||||
if ("alarmTimeIndex" in args)
|
||||
menuList.selectedIndex = args.alarmTimeIndex;
|
||||
|
||||
menuList = document.getElementById( "categories-list" );
|
||||
for( var k = 0; k < args.fieldList.length; k++ )
|
||||
for( k = 0; k < args.fieldList.length; k++ )
|
||||
menuList.appendItem( args.fieldList[k] );
|
||||
menuList.selectedIndex = args.categoriesIndex;
|
||||
if ("categoriesIndex" in args)
|
||||
menuList.selectedIndex = args.categoriesIndex;
|
||||
|
||||
boolLabel = document.getElementById( "bool-label" );
|
||||
boolLabel.setAttribute ( "value", args.boolStr + " =" );
|
||||
|
||||
opener.setCursor( "auto" );
|
||||
}
|
||||
|
||||
|
@ -145,7 +155,6 @@ function onOKCommand()
|
|||
args.descriptionIndex = document.getElementById( "description-list" ).selectedIndex;
|
||||
args.locationIndex = document.getElementById( "location-list" ).selectedIndex;
|
||||
args.privateIndex = document.getElementById( "private-list" ).selectedIndex;
|
||||
args.boolIsTrue = ( document.getElementById( "bool-list" ).selectedIndex == 1 );
|
||||
args.cancelled = false;
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -197,24 +197,4 @@
|
|||
<spacer flex="1"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
<label value="Please select the meaning of the following word:"/>
|
||||
<hbox>
|
||||
<spacer flex="1"/>
|
||||
<grid>
|
||||
<rows>
|
||||
<row align="center">
|
||||
<hbox pack="end">
|
||||
<label id="bool-label"/>
|
||||
</hbox>
|
||||
<menulist id="bool-list">
|
||||
<menupopup>
|
||||
<menuitem label="&calendar.importoutlook.false.label;" value="0"/>
|
||||
<menuitem label="&calendar.importoutlook.true.label;" value="1"/>
|
||||
</menupopup>
|
||||
</menulist>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<spacer flex="1"/>
|
||||
</hbox>
|
||||
</dialog>
|
|
@ -169,6 +169,32 @@ filterCsv=Separats per comes
|
|||
filterOutlookCsv=Format separat per comes d'Outlook
|
||||
filterRdf=iCalendar RDF
|
||||
|
||||
# Literal Outlook CSV headers. Take from a .csv file exported by Outlook.
|
||||
# For matching first line of .csv file to import Outlook Comma Separated events.
|
||||
outlookCSVTitle =Subject
|
||||
outlookCSVStartDate =Start Date
|
||||
outlookCSVStartTime =Start Time
|
||||
outlookCSVEndDate =End Date
|
||||
outlookCSVEndTime =End Time
|
||||
outlookCSVAllDayEvent=All day event
|
||||
outlookCSVAlarm =Reminder on/off
|
||||
outlookCSVAlarmDate =Reminder Date
|
||||
outlookCSVAlarmTime =Reminder Time
|
||||
outlookCSVCategories =Categories
|
||||
outlookCSVDescription=Description
|
||||
outlookCSVLocation =Location
|
||||
outlookCSVPrivate =Private
|
||||
# Literal values for True and False in .csv files exported by Outlook
|
||||
outlookCSVValueTrue =True
|
||||
outlookCSVValueFalse =False
|
||||
|
||||
# Questions to user about how to parse values
|
||||
outlookCSVDateParseConfirm=\
|
||||
A date in this file is formatted as "%1$S".\n\
|
||||
The operating system is set to parse this date as "%2$S".\n\
|
||||
Is this OK?\n\
|
||||
(If not, adjust settings so format matches, then restart this application.)
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=Error en obtenir el calendari
|
||||
httpError=L'obtenció del fitxer de calendari ha fallat.\nStatus code: %1$S: %2$S
|
||||
|
|
|
@ -168,6 +168,32 @@ filterCsv=Odd\u011Blen\u00E9 \u010D\u00E1rkou
|
|||
filterOutlookCsv=Outlook odd\u011Blen\u00E9 \u010D\u00E1rkou
|
||||
filterRdf=iCalendar RDF
|
||||
|
||||
# Literal Outlook CSV headers. Take from a .csv file exported by Outlook.
|
||||
# For matching first line of .csv file to import Outlook Comma Separated events.
|
||||
outlookCSVTitle =Subject
|
||||
outlookCSVStartDate =Start Date
|
||||
outlookCSVStartTime =Start Time
|
||||
outlookCSVEndDate =End Date
|
||||
outlookCSVEndTime =End Time
|
||||
outlookCSVAllDayEvent=All day event
|
||||
outlookCSVAlarm =Reminder on/off
|
||||
outlookCSVAlarmDate =Reminder Date
|
||||
outlookCSVAlarmTime =Reminder Time
|
||||
outlookCSVCategories =Categories
|
||||
outlookCSVDescription=Description
|
||||
outlookCSVLocation =Location
|
||||
outlookCSVPrivate =Private
|
||||
# Literal values for True and False in .csv files exported by Outlook
|
||||
outlookCSVValueTrue =True
|
||||
outlookCSVValueFalse =False
|
||||
|
||||
# Questions to user about how to parse values
|
||||
outlookCSVDateParseConfirm=\
|
||||
A date in this file is formatted as "%1$S".\n\
|
||||
The operating system is set to parse this date as "%2$S".\n\
|
||||
Is this OK?\n\
|
||||
(If not, adjust settings so format matches, then restart this application.)
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=Chyba p\u0159i z\u00EDsk\u00E1v\u00E1n\u00ED kalend\u00E1\u0159e
|
||||
httpError=Z\u00EDsk\u00E1n\u00ED souboru kalend\u00E1\u0159e selhalo.\nChyba: %1$S: %2$S
|
||||
|
|
|
@ -1,176 +0,0 @@
|
|||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is Mozilla Calendar code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# ArentJan Banck <ajbanck@planet.nl>.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2002
|
||||
# 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
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
# Misc. strings in JS
|
||||
|
||||
AllDayEvents=Digwyddiadau Diwrnod Cyfan
|
||||
|
||||
# Event status: Tentative, Confirmed, Cancelled
|
||||
# ToDo task status: NeedsAction, InProcess, Completed, Cancelled
|
||||
statusTentative =Efallai...
|
||||
statusConfirmed =Wedi Cadarnhau
|
||||
statusCancelled =Diddymwyd
|
||||
statusNeedsAction=Angen Sylw
|
||||
statusInProcess =Ar Waith
|
||||
statusCompleted =Wedi Gorffen
|
||||
|
||||
noEventsOrTasksToImport=No events or tasks to import\nfrom file "%1$S".
|
||||
noEventsToSave=Heb ddewis digwyddiadau i'w cadw.
|
||||
|
||||
# about to import x: "<br>into calendar y<br>from file z" (calendar more likely to wrong, so before file).
|
||||
aboutToImportNewEventsTitle=Import New Events
|
||||
aboutToImportNewEvents=Ar fin mewnforio %1$S digwyddiad(au)\ninto calendar "%2$S"\from file "%3$S".\nHoffech chi agor yr holl ddigwyddiadau newydd i'w mewnforio cyn mewnforio?
|
||||
aboutToImportDupEventsTitle=Import Duplicate Events
|
||||
aboutToImportDupEvents=About to import %1$S event(s) that are duplicates of events in your calendar,\ninto calendar "%2$S"\nfrom file "%3$S".\nWhat do you want to do?
|
||||
aboutToImportNewTasksTitle=Import New Tasks
|
||||
aboutToImportNewTasks=About to import %1$S new task(s)\ninto calendar "%2$S"\nfrom file "%3$S".\nWhat do you want to do?
|
||||
aboutToImportDupTasksTitle=Import Duplicate Tasks
|
||||
aboutToImportDupTasks=About to import %1$S task(s) that are duplicates of tasks in your calendar,\ninto calendar "%2$S"\nfrom file "%3$S".\nWhat do you want to do?
|
||||
|
||||
discardAll=Discard all
|
||||
importAll=Import all
|
||||
promptForEach=Prompt for each
|
||||
addDuplicate=Ychwnaegu cofnod dyblyg\:
|
||||
|
||||
#spaces needed at the end of the following lines
|
||||
eventTitle=Teitl\:
|
||||
eventStartTime=Amser Cychwyn\:
|
||||
eventEndTime=Amser Gorffen\:
|
||||
eventSummary=Crynodeb\:
|
||||
eventDescription=Disgrifiad\:
|
||||
eventWhen=Pryd\:
|
||||
eventWhere=Lle\:
|
||||
|
||||
unableToRead=Methu darllen o'r ffeil\:
|
||||
unableToWrite=Methu ysgrifennu i ffeil\:
|
||||
defaultFileName=MozillaCalEvents
|
||||
HTMLTitle=Calendr Gwe-lywiwr
|
||||
|
||||
deleteCalendarTitle=Dileu'r Calendr
|
||||
deleteCalendarMessage=Ydych chi'n siwr eich bod am ddileu'r calendr?
|
||||
deleteCalendarOnly=Dileu'r Calendr
|
||||
deleteCalendarAndFile=Dileu Calendr a Ffeil
|
||||
|
||||
weekDayMonthLabel=%1$S %2$S %3$S.
|
||||
|
||||
#
|
||||
# P R E F S
|
||||
# Default values for preferences
|
||||
#
|
||||
|
||||
#the default day to start the week on
|
||||
#0=Sunday 1=Monday 2=Tuesday 3=Wednesday 4=Thursday 5=Friday 6=Saturday
|
||||
defaultWeekStart=0
|
||||
# default days off (not in work week)
|
||||
defaultWeekSundaysOff =true
|
||||
defaultWeekMondaysOff =false
|
||||
defaultWeekTuesdaysOff =false
|
||||
defaultWeekWednesdaysOff=false
|
||||
defaultWeekThursdaysOff =false
|
||||
defaultWeekFridaysOff =false
|
||||
defaultWeekSaturdaysOff =true
|
||||
defaultWeeksInView=4
|
||||
defaultPreviousWeeksInView=0
|
||||
showAlarms=1
|
||||
showMissed=1
|
||||
playAlarmSound=0
|
||||
reloadServersOnLaunch=ffug
|
||||
defaultEventLength=60
|
||||
defaultSnoozeAlarmLength=60
|
||||
dateFormat=0
|
||||
storeInGmt=0
|
||||
defaultStartHour=8
|
||||
defaultEndHour=17
|
||||
defaultzone=Cymru/Caerdydd
|
||||
defaulteventalarmunit=munud
|
||||
defaulttodoalarmunit=munud
|
||||
|
||||
Week=Wythnos
|
||||
|
||||
# Alarm
|
||||
TooManyAlarmsMessage=Os oes gennych gyfanswm o %1$S larymau. Rydym wedi dangos y 6 olaf i chi. Cliciwch Cydnabod i'w clirio nhw i gyd.
|
||||
|
||||
# Error strings
|
||||
## @name UID_NOT_FOUND
|
||||
## @loc none
|
||||
1001=Rhybudd hegb ganfod UID\! Neulltuwch un newydd.
|
||||
|
||||
# List of events or todos (unifinder)
|
||||
eventUntitled=Dideitl
|
||||
|
||||
# Tooltips of events or todos
|
||||
tooltipTitle =Teitl\:
|
||||
tooltipLocation =Lleoliad\:
|
||||
# event date, usually an interval, such as
|
||||
# Date: 7:00--8:00 Thu 9 Oct 2011
|
||||
# Date: Thu 9 Oct 2000 -- Fri 10 Oct 2000
|
||||
tooltipDate =Dyddiad:
|
||||
# event status: tentative, confirmed, cancelled
|
||||
tooltipStatus =Statws:
|
||||
# task/todo fields
|
||||
# start date time, due date time, task priority number, completed date time
|
||||
tooltipStart =Cychwyn:
|
||||
tooltipDue =Tan:
|
||||
tooltipPriority =Blaenoriaeth:
|
||||
tooltipPercent =Cwblhau %:
|
||||
tooltipCompleted=Wedi Gorffen:
|
||||
|
||||
#File commands and dialogs
|
||||
New=Newydd
|
||||
Open=Agor
|
||||
Save=Cadw
|
||||
SaveAs=Cadw Fel...
|
||||
filepickerDefString=MozillaCalendarFile.ics
|
||||
### %1$S in the server name
|
||||
filepickerDefServerString=MozillaCalendar%1$S.ics
|
||||
|
||||
#filter
|
||||
filterCalendar=Ffeiliau Calendr
|
||||
filtervCalendar=Ffeiliau vCalendar
|
||||
filterXcs=Dogfen XML iCalendar
|
||||
filterXml=Dogfen XML
|
||||
filterRtf=Rich Text Format (RTF)
|
||||
filterHtml=Ffeiliau HTML
|
||||
filterCsv=Ymwahannwyd gan gollnod
|
||||
filterOutlookCsv=Ymwahannwyd Outlook gan gollnod
|
||||
filterRdf=iCalendar RDF
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=Error getting calendar
|
||||
httpError=Getting the calendar file failed.\nStatus code: %1$S: %2$S
|
||||
otherError=Getting the calendar file failed.\nStatus code: 0x%1$S
|
||||
contentError=This doesn't appear to be a valid file. Here's what I got back from\n%1$S:\nResult: %2$S
|
|
@ -169,6 +169,32 @@ filterCsv=Durch Komma getrennt
|
|||
filterOutlookCsv=Outlook, durch Komma getrennt
|
||||
filterRdf=iCalendar RDF
|
||||
|
||||
# Literal Outlook CSV headers. Take from a .csv file exported by Outlook.
|
||||
# For matching first line of .csv file to import Outlook Comma Separated events.
|
||||
outlookCSVTitle =Subject
|
||||
outlookCSVStartDate =Start Date
|
||||
outlookCSVStartTime =Start Time
|
||||
outlookCSVEndDate =End Date
|
||||
outlookCSVEndTime =End Time
|
||||
outlookCSVAllDayEvent=All day event
|
||||
outlookCSVAlarm =Reminder on/off
|
||||
outlookCSVAlarmDate =Reminder Date
|
||||
outlookCSVAlarmTime =Reminder Time
|
||||
outlookCSVCategories =Categories
|
||||
outlookCSVDescription=Description
|
||||
outlookCSVLocation =Location
|
||||
outlookCSVPrivate =Private
|
||||
# Literal values for True and False in .csv files exported by Outlook
|
||||
outlookCSVValueTrue =True
|
||||
outlookCSVValueFalse =False
|
||||
|
||||
# Questions to user about how to parse values
|
||||
outlookCSVDateParseConfirm=\
|
||||
A date in this file is formatted as "%1$S".\n\
|
||||
The operating system is set to parse this date as "%2$S".\n\
|
||||
Is this OK?\n\
|
||||
(If not, adjust settings so format matches, then restart this application.)
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=Fehler beim Holen des Kalenders
|
||||
httpError=Holen der Kalenderdatei fehlgeschlagen.\nStatuscode\: %1$S\: %2$S
|
||||
|
|
|
@ -169,6 +169,32 @@ filterCsv=Comma Separated
|
|||
filterOutlookCsv=Outlook Comma Separated
|
||||
filterRdf=iCalendar RDF
|
||||
|
||||
# Literal Outlook CSV headers. Take from a .csv file exported by Outlook.
|
||||
# For matching first line of .csv file to import Outlook Comma Separated events.
|
||||
outlookCSVTitle =Subject
|
||||
outlookCSVStartDate =Start Date
|
||||
outlookCSVStartTime =Start Time
|
||||
outlookCSVEndDate =End Date
|
||||
outlookCSVEndTime =End Time
|
||||
outlookCSVAllDayEvent=All day event
|
||||
outlookCSVAlarm =Reminder on/off
|
||||
outlookCSVAlarmDate =Reminder Date
|
||||
outlookCSVAlarmTime =Reminder Time
|
||||
outlookCSVCategories =Categories
|
||||
outlookCSVDescription=Description
|
||||
outlookCSVLocation =Location
|
||||
outlookCSVPrivate =Private
|
||||
# Literal values for True and False in .csv files exported by Outlook
|
||||
outlookCSVValueTrue =True
|
||||
outlookCSVValueFalse =False
|
||||
|
||||
# Questions to user about how to parse values
|
||||
outlookCSVDateParseConfirm=\
|
||||
A date in this file is formatted as "%1$S".\n\
|
||||
The operating system is set to parse this date as "%2$S".\n\
|
||||
Is this OK?\n\
|
||||
(If not, adjust settings so format matches, then restart this application.)
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=Error getting calendar
|
||||
httpError=Getting the calendar file failed.\nStatus code: %1$S: %2$S
|
||||
|
|
|
@ -168,6 +168,32 @@ filterCsv=Separados por comas
|
|||
filterOutlookCsv=Separados por comas de Outlook
|
||||
filterRdf=iCalendar RDF
|
||||
|
||||
# Literal Outlook CSV headers. Take from a .csv file exported by Outlook.
|
||||
# For matching first line of .csv file to import Outlook Comma Separated events.
|
||||
outlookCSVTitle =Subject
|
||||
outlookCSVStartDate =Start Date
|
||||
outlookCSVStartTime =Start Time
|
||||
outlookCSVEndDate =End Date
|
||||
outlookCSVEndTime =End Time
|
||||
outlookCSVAllDayEvent=All day event
|
||||
outlookCSVAlarm =Reminder on/off
|
||||
outlookCSVAlarmDate =Reminder Date
|
||||
outlookCSVAlarmTime =Reminder Time
|
||||
outlookCSVCategories =Categories
|
||||
outlookCSVDescription=Description
|
||||
outlookCSVLocation =Location
|
||||
outlookCSVPrivate =Private
|
||||
# Literal values for True and False in .csv files exported by Outlook
|
||||
outlookCSVValueTrue =True
|
||||
outlookCSVValueFalse =False
|
||||
|
||||
# Questions to user about how to parse values
|
||||
outlookCSVDateParseConfirm=\
|
||||
A date in this file is formatted as "%1$S".\n\
|
||||
The operating system is set to parse this date as "%2$S".\n\
|
||||
Is this OK?\n\
|
||||
(If not, adjust settings so format matches, then restart this application.)
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=Error al obtener el calendario
|
||||
httpError=La recuperaci\u00F3n del archivo de calendario ha fallado.\nC\u00F3digo de estado\: %1$S\: %2$S
|
||||
|
|
|
@ -169,6 +169,32 @@ filterCsv=S\u00e9par\u00e9 avec des virgules
|
|||
filterOutlookCsv=S\u00e9par\u00e9 avec des virgules (Outlook)
|
||||
filterRdf=RDF iCalendar
|
||||
|
||||
# Literal Outlook CSV headers. Take from a .csv file exported by Outlook.
|
||||
# For matching first line of .csv file to import Outlook Comma Separated events.
|
||||
outlookCSVTitle =Subject
|
||||
outlookCSVStartDate =Start Date
|
||||
outlookCSVStartTime =Start Time
|
||||
outlookCSVEndDate =End Date
|
||||
outlookCSVEndTime =End Time
|
||||
outlookCSVAllDayEvent=All day event
|
||||
outlookCSVAlarm =Reminder on/off
|
||||
outlookCSVAlarmDate =Reminder Date
|
||||
outlookCSVAlarmTime =Reminder Time
|
||||
outlookCSVCategories =Categories
|
||||
outlookCSVDescription=Description
|
||||
outlookCSVLocation =Location
|
||||
outlookCSVPrivate =Private
|
||||
# Literal values for True and False in .csv files exported by Outlook
|
||||
outlookCSVValueTrue =True
|
||||
outlookCSVValueFalse =False
|
||||
|
||||
# Questions to user about how to parse values
|
||||
outlookCSVDateParseConfirm=\
|
||||
A date in this file is formatted as "%1$S".\n\
|
||||
The operating system is set to parse this date as "%2$S".\n\
|
||||
Is this OK?\n\
|
||||
(If not, adjust settings so format matches, then restart this application.)
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=Erreur lors de l'importation du calendrier
|
||||
httpError=\u00c9chec de l'importation du fichier calendrier.\nCode d'erreur\u00a0: %1$S\u00a0: %2$S
|
||||
|
|
|
@ -171,6 +171,32 @@ filterCsv=Vessz\u0151vel elv\u00e1lasztott (CSV)
|
|||
filterOutlookCsv=Outlook vessz\u0151vel elv\u00e1lasztott
|
||||
filterRdf=iCalendar RDF
|
||||
|
||||
# Literal Outlook CSV headers. Take from a .csv file exported by Outlook.
|
||||
# For matching first line of .csv file to import Outlook Comma Separated events.
|
||||
outlookCSVTitle =Subject
|
||||
outlookCSVStartDate =Start Date
|
||||
outlookCSVStartTime =Start Time
|
||||
outlookCSVEndDate =End Date
|
||||
outlookCSVEndTime =End Time
|
||||
outlookCSVAllDayEvent=All day event
|
||||
outlookCSVAlarm =Reminder on/off
|
||||
outlookCSVAlarmDate =Reminder Date
|
||||
outlookCSVAlarmTime =Reminder Time
|
||||
outlookCSVCategories =Categories
|
||||
outlookCSVDescription=Description
|
||||
outlookCSVLocation =Location
|
||||
outlookCSVPrivate =Private
|
||||
# Literal values for True and False in .csv files exported by Outlook
|
||||
outlookCSVValueTrue =True
|
||||
outlookCSVValueFalse =False
|
||||
|
||||
# Questions to user about how to parse values
|
||||
outlookCSVDateParseConfirm=\
|
||||
A date in this file is formatted as "%1$S".\n\
|
||||
The operating system is set to parse this date as "%2$S".\n\
|
||||
Is this OK?\n\
|
||||
(If not, adjust settings so format matches, then restart this application.)
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=Hiba a napt\u00e1r let\u00f6lt\u00e9sekor
|
||||
httpError=A napt\u00e1rf\u00e1jl let\u00f6lt\u00e9se nem siker\u00fclt.\n\u00c1llapotk\u00f3d: %1$S: %2$S
|
||||
|
|
|
@ -169,6 +169,32 @@ filterCsv=Comma Separated (CSV)
|
|||
filterOutlookCsv=Outlook Comma Separated (CSV)
|
||||
filterRdf=iCalendar RDF
|
||||
|
||||
# Literal Outlook CSV headers. Take from a .csv file exported by Outlook.
|
||||
# For matching first line of .csv file to import Outlook Comma Separated events.
|
||||
outlookCSVTitle =Subject
|
||||
outlookCSVStartDate =Start Date
|
||||
outlookCSVStartTime =Start Time
|
||||
outlookCSVEndDate =End Date
|
||||
outlookCSVEndTime =End Time
|
||||
outlookCSVAllDayEvent=All day event
|
||||
outlookCSVAlarm =Reminder on/off
|
||||
outlookCSVAlarmDate =Reminder Date
|
||||
outlookCSVAlarmTime =Reminder Time
|
||||
outlookCSVCategories =Categories
|
||||
outlookCSVDescription=Description
|
||||
outlookCSVLocation =Location
|
||||
outlookCSVPrivate =Private
|
||||
# Literal values for True and False in .csv files exported by Outlook
|
||||
outlookCSVValueTrue =True
|
||||
outlookCSVValueFalse =False
|
||||
|
||||
# Questions to user about how to parse values
|
||||
outlookCSVDateParseConfirm=\
|
||||
A date in this file is formatted as "%1$S".\n\
|
||||
The operating system is set to parse this date as "%2$S".\n\
|
||||
Is this OK?\n\
|
||||
(If not, adjust settings so format matches, then restart this application.)
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=Errore lettura calendario
|
||||
httpError=Lettura file calendario fallita.\nCodice Stato\: %1$S\: %2$S
|
||||
|
|
|
@ -174,6 +174,32 @@ filterCsv=\u30ab\u30f3\u30de\u533a\u5207\u308a
|
|||
filterOutlookCsv=Outlook \u30ab\u30f3\u30de\u533a\u5207\u308a
|
||||
filterRdf=iCalendar RDF
|
||||
|
||||
# Literal Outlook CSV headers. Take from a .csv file exported by Outlook.
|
||||
# For matching first line of .csv file to import Outlook Comma Separated events.
|
||||
outlookCSVTitle =Subject
|
||||
outlookCSVStartDate =Start Date
|
||||
outlookCSVStartTime =Start Time
|
||||
outlookCSVEndDate =End Date
|
||||
outlookCSVEndTime =End Time
|
||||
outlookCSVAllDayEvent=All day event
|
||||
outlookCSVAlarm =Reminder on/off
|
||||
outlookCSVAlarmDate =Reminder Date
|
||||
outlookCSVAlarmTime =Reminder Time
|
||||
outlookCSVCategories =Categories
|
||||
outlookCSVDescription=Description
|
||||
outlookCSVLocation =Location
|
||||
outlookCSVPrivate =Private
|
||||
# Literal values for True and False in .csv files exported by Outlook
|
||||
outlookCSVValueTrue =True
|
||||
outlookCSVValueFalse =False
|
||||
|
||||
# Questions to user about how to parse values
|
||||
outlookCSVDateParseConfirm=\
|
||||
A date in this file is formatted as "%1$S".\n\
|
||||
The operating system is set to parse this date as "%2$S".\n\
|
||||
Is this OK?\n\
|
||||
(If not, adjust settings so format matches, then restart this application.)
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=\u30ab\u30ec\u30f3\u30c0\u30fc\u306e\u53d6\u5f97\u30a8\u30e9\u30fc
|
||||
httpError=\u30ab\u30ec\u30f3\u30c0\u30fc\u30d5\u30a1\u30a4\u30eb\u306e\u53d6\u5f97\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\n\u30b9\u30c6\u30fc\u30bf\u30b9\u30b3\u30fc\u30c9: %1$S: %2$S
|
||||
|
|
|
@ -1,176 +0,0 @@
|
|||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is Mozilla Calendar code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# ArentJan Banck <ajbanck@planet.nl>.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2002
|
||||
# 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
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
# Misc. strings in JS
|
||||
|
||||
AllDayEvents=Dienos \u012fvykiai
|
||||
|
||||
# Event status: Tentative, Confirmed, Cancelled
|
||||
# ToDo task status: NeedsAction, InProcess, Completed, Cancelled
|
||||
statusTentative =Bandomasis
|
||||
statusConfirmed =Patvirtintas
|
||||
statusCancelled =Astsisakytas
|
||||
statusNeedsAction=Veiksmas
|
||||
statusInProcess =Vyksta
|
||||
statusCompleted =Baigtas
|
||||
|
||||
noEventsOrTasksToImport=No events or tasks to import\nfrom file "%1$S".
|
||||
noEventsToSave=Pra\u0161om pa\u017eym\u0117ti \u012fvykius, kuriuos norite \u012fra\u0161yti.
|
||||
|
||||
# about to import x: "<br>into calendar y<br>from file z" (calendar more likely to wrong, so before file).
|
||||
aboutToImportNewEventsTitle=Import New Events
|
||||
aboutToImportNewEvents=Importuojami %1$S \u012fvykis(-iai)\ninto calendar "%2$S"\nfrom file "%3$S".\n\u005cnAr atverti kiekvieno \u012fvykio apra\u0161\u0105 prie\u0161 importuojant?
|
||||
aboutToImportDupEventsTitle=Import Duplicate Events
|
||||
aboutToImportDupEvents=About to import %1$S event(s) that are duplicates of events in your calendar,\ninto calendar "%2$S"\nfrom file "%3$S".\nWhat do you want to do?
|
||||
aboutToImportNewTasksTitle=Import New Tasks
|
||||
aboutToImportNewTasks=About to import %1$S new task(s)\ninto calendar "%2$S"\nfrom file "%3$S".\nWhat do you want to do?
|
||||
aboutToImportDupTasksTitle=Import Duplicate Tasks
|
||||
aboutToImportDupTasks=About to import %1$S task(s) that are duplicates of tasks in your calendar,\ninto calendar "%2$S"\nfrom file "%3$S".\nWhat do you want to do?
|
||||
|
||||
discardAll=Discard all
|
||||
importAll=Import all
|
||||
promptForEach=Prompt for each
|
||||
addDuplicate=Prid\u0117ti pasikartuojant\u012f \u012fra\u0161\u0105:
|
||||
|
||||
#spaces needed at the end of the following lines
|
||||
eventTitle=Pavadinimas:
|
||||
eventStartTime=Prad\u017eia:
|
||||
eventEndTime=Pabaiga:
|
||||
eventSummary=Santrauka:
|
||||
eventDescription=Apra\u0161as:
|
||||
eventWhen=Kada:
|
||||
eventWhere=Kur:
|
||||
|
||||
unableToRead=Nepavyko skaityti bylos:
|
||||
unableToWrite=Nepavyko \u012fra\u0161yti \u012f byl\u0105:
|
||||
defaultFileName=MozillaKalendorius
|
||||
HTMLTitle=\u201eMozillos\u201c kalendorius
|
||||
|
||||
deleteCalendarTitle=Kalendoriaus \u0161alinimas
|
||||
deleteCalendarMessage=Ar tikrai pa\u0161alinti \u0161\u012f kalendori\u0173?
|
||||
deleteCalendarOnly=Pa\u0161alinti kalendori\u0173
|
||||
deleteCalendarAndFile=Pa\u0161alinti kalendori\u0173 ir jo byl\u0105
|
||||
|
||||
weekDayMonthLabel=%1$S %2$S %3$S.
|
||||
|
||||
#
|
||||
# P R E F S
|
||||
# Default values for preferences
|
||||
#
|
||||
|
||||
#the default day to start the week on
|
||||
#0=Sunday 1=Monday 2=Tuesday 3=Wednesday 4=Thursday 5=Friday 6=Saturday
|
||||
defaultWeekStart=1
|
||||
# default days off (not in work week)
|
||||
defaultWeekSundaysOff =true
|
||||
defaultWeekMondaysOff =false
|
||||
defaultWeekTuesdaysOff =false
|
||||
defaultWeekWednesdaysOff=false
|
||||
defaultWeekThursdaysOff =false
|
||||
defaultWeekFridaysOff =false
|
||||
defaultWeekSaturdaysOff =true
|
||||
defaultWeeksInView=4
|
||||
defaultPreviousWeeksInView=0
|
||||
showAlarms=1
|
||||
showMissed=1
|
||||
playAlarmSound=0
|
||||
reloadServersOnLaunch=false
|
||||
defaultEventLength=60
|
||||
defaultSnoozeAlarmLength=60
|
||||
dateFormat=0
|
||||
storeInGmt=0
|
||||
defaultStartHour=8
|
||||
defaultEndHour=17
|
||||
defaultzone=Europe/Vilnius
|
||||
defaulteventalarmunit=minutes
|
||||
defaulttodoalarmunit=minutes
|
||||
|
||||
Week=savait\u0117
|
||||
|
||||
# Alarm
|
||||
TooManyAlarmsMessage=I\u0161 viso turite %1$S signalus(-\u0173). Buvo parodyti tik 6 paskutiniai. Spragtel\u0117kite \u201ePatvirtinti visus\u201c, jei norite patvirtinti ir i\u0161valyti visus signalus.
|
||||
|
||||
# Error strings
|
||||
## @name UID_NOT_FOUND
|
||||
## @loc none
|
||||
1001=D\u0117mesio! UID nerastas. Priskirtas naujas.
|
||||
|
||||
# List of events or todos (unifinder)
|
||||
eventUntitled=Ne\u012fvardytas
|
||||
|
||||
# Tooltips of events or todos
|
||||
tooltipTitle =Pavadinimas:
|
||||
tooltipLocation =Vieta:
|
||||
# event date, usually an interval, such as
|
||||
# Date: 7:00--8:00 Thu 9 Oct 2011
|
||||
# Date: Thu 9 Oct 2000 -- Fri 10 Oct 2000
|
||||
tooltipDate =Data:
|
||||
# event status: tentative, confirmed, cancelled
|
||||
tooltipStatus =Būsena:
|
||||
# task/todo fields
|
||||
# start date time, due date time, task priority number, completed date time
|
||||
tooltipStart =Prad\u017eia:
|
||||
tooltipDue =Due:
|
||||
tooltipPriority =Prioritetas:
|
||||
tooltipPercent =% Baigtas:
|
||||
tooltipCompleted=Baigtas:
|
||||
|
||||
#File commands and dialogs
|
||||
New=Naujas
|
||||
Open=Atverti
|
||||
Save=\u012era\u0161yti
|
||||
SaveAs=\u012era\u0161yti kitaip
|
||||
filepickerDefString=MozillaKalendorius.ics
|
||||
### %1$S in the server name
|
||||
filepickerDefServerString=MozillaKalendorius%1$S.ics
|
||||
|
||||
#filter
|
||||
filterCalendar=Kalendoriaus bylos
|
||||
filtervCalendar=vCalendar bylos
|
||||
filterXcs=iCalendar XML dokumentai
|
||||
filterXml=XML dokumentai
|
||||
filterRtf=Rai\u0161kusis tekstas (RTF)
|
||||
filterHtml=HTML bylos
|
||||
filterCsv=Skirtukai \u2013 kableliai
|
||||
filterOutlookCsv=Skirtukai \u2013 kableliai (Outlook)
|
||||
filterRdf=iCalendar RDF
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=Error getting calendar
|
||||
httpError=Getting the calendar file failed.\nStatus code: %1$S: %2$S
|
||||
otherError=Getting the calendar file failed.\nStatus code: 0x%1$S
|
||||
contentError=This doesn't appear to be a valid file. Here's what I got back from\n%1$S:\nResult: %2$S
|
|
@ -169,6 +169,32 @@ filterCsv=Komma-gescheiden
|
|||
filterOutlookCsv=Outlook komma-gescheiden
|
||||
filterRdf=iCalendar RDF
|
||||
|
||||
# Literal Outlook CSV headers. Take from a .csv file exported by Outlook.
|
||||
# For matching first line of .csv file to import Outlook Comma Separated events.
|
||||
outlookCSVTitle =Subject
|
||||
outlookCSVStartDate =Start Date
|
||||
outlookCSVStartTime =Start Time
|
||||
outlookCSVEndDate =End Date
|
||||
outlookCSVEndTime =End Time
|
||||
outlookCSVAllDayEvent=All day event
|
||||
outlookCSVAlarm =Reminder on/off
|
||||
outlookCSVAlarmDate =Reminder Date
|
||||
outlookCSVAlarmTime =Reminder Time
|
||||
outlookCSVCategories =Categories
|
||||
outlookCSVDescription=Description
|
||||
outlookCSVLocation =Location
|
||||
outlookCSVPrivate =Private
|
||||
# Literal values for True and False in .csv files exported by Outlook
|
||||
outlookCSVValueTrue =True
|
||||
outlookCSVValueFalse =False
|
||||
|
||||
# Questions to user about how to parse values
|
||||
outlookCSVDateParseConfirm=\
|
||||
A date in this file is formatted as "%1$S".\n\
|
||||
The operating system is set to parse this date as "%2$S".\n\
|
||||
Is this OK?\n\
|
||||
(If not, adjust settings so format matches, then restart this application.)
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=Fout tijdens het ophalen van de kalender
|
||||
httpError=Het ophalen van het kalenderbestand is mislukt.\nStatuscode: %1$S: %2$S
|
||||
|
|
|
@ -168,6 +168,32 @@ filterCsv=Oddzielany przecinkami (CSV)
|
|||
filterOutlookCsv=Outlook Comma Separated
|
||||
filterRdf=iCalendar RDF
|
||||
|
||||
# Literal Outlook CSV headers. Take from a .csv file exported by Outlook.
|
||||
# For matching first line of .csv file to import Outlook Comma Separated events.
|
||||
outlookCSVTitle =Subject
|
||||
outlookCSVStartDate =Start Date
|
||||
outlookCSVStartTime =Start Time
|
||||
outlookCSVEndDate =End Date
|
||||
outlookCSVEndTime =End Time
|
||||
outlookCSVAllDayEvent=All day event
|
||||
outlookCSVAlarm =Reminder on/off
|
||||
outlookCSVAlarmDate =Reminder Date
|
||||
outlookCSVAlarmTime =Reminder Time
|
||||
outlookCSVCategories =Categories
|
||||
outlookCSVDescription=Description
|
||||
outlookCSVLocation =Location
|
||||
outlookCSVPrivate =Private
|
||||
# Literal values for True and False in .csv files exported by Outlook
|
||||
outlookCSVValueTrue =True
|
||||
outlookCSVValueFalse =False
|
||||
|
||||
# Questions to user about how to parse values
|
||||
outlookCSVDateParseConfirm=\
|
||||
A date in this file is formatted as "%1$S".\n\
|
||||
The operating system is set to parse this date as "%2$S".\n\
|
||||
Is this OK?\n\
|
||||
(If not, adjust settings so format matches, then restart this application.)
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=Error getting calendar
|
||||
httpError=Getting the calendar file failed.\nStatus code: %1$S: %2$S
|
||||
|
|
|
@ -170,6 +170,32 @@ filterCsv=Arquivos Separados por Vírgula (CSV)
|
|||
filterOutlookCsv=Arquivos Outlook Separados por Vírgula (CSV)
|
||||
filterRdf=Arquivo iCalendar RDF
|
||||
|
||||
# Literal Outlook CSV headers. Take from a .csv file exported by Outlook.
|
||||
# For matching first line of .csv file to import Outlook Comma Separated events.
|
||||
outlookCSVTitle =Subject
|
||||
outlookCSVStartDate =Start Date
|
||||
outlookCSVStartTime =Start Time
|
||||
outlookCSVEndDate =End Date
|
||||
outlookCSVEndTime =End Time
|
||||
outlookCSVAllDayEvent=All day event
|
||||
outlookCSVAlarm =Reminder on/off
|
||||
outlookCSVAlarmDate =Reminder Date
|
||||
outlookCSVAlarmTime =Reminder Time
|
||||
outlookCSVCategories =Categories
|
||||
outlookCSVDescription=Description
|
||||
outlookCSVLocation =Location
|
||||
outlookCSVPrivate =Private
|
||||
# Literal values for True and False in .csv files exported by Outlook
|
||||
outlookCSVValueTrue =True
|
||||
outlookCSVValueFalse =False
|
||||
|
||||
# Questions to user about how to parse values
|
||||
outlookCSVDateParseConfirm=\
|
||||
A date in this file is formatted as "%1$S".\n\
|
||||
The operating system is set to parse this date as "%2$S".\n\
|
||||
Is this OK?\n\
|
||||
(If not, adjust settings so format matches, then restart this application.)
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=Erro ao buscar calendário
|
||||
httpError=Busca ao arquivo de calendário falhou.\nCódigo de status: %1$S: %2$S
|
||||
|
|
|
@ -169,6 +169,32 @@ filterCsv=Oddelen\u00E9 \u010Diarkou
|
|||
filterOutlookCsv=Outlook oddelen\u00E9 \u010Diarkou
|
||||
filterRdf=iCalendar RDF
|
||||
|
||||
# Literal Outlook CSV headers. Take from a .csv file exported by Outlook.
|
||||
# For matching first line of .csv file to import Outlook Comma Separated events.
|
||||
outlookCSVTitle =Subject
|
||||
outlookCSVStartDate =Start Date
|
||||
outlookCSVStartTime =Start Time
|
||||
outlookCSVEndDate =End Date
|
||||
outlookCSVEndTime =End Time
|
||||
outlookCSVAllDayEvent=All day event
|
||||
outlookCSVAlarm =Reminder on/off
|
||||
outlookCSVAlarmDate =Reminder Date
|
||||
outlookCSVAlarmTime =Reminder Time
|
||||
outlookCSVCategories =Categories
|
||||
outlookCSVDescription=Description
|
||||
outlookCSVLocation =Location
|
||||
outlookCSVPrivate =Private
|
||||
# Literal values for True and False in .csv files exported by Outlook
|
||||
outlookCSVValueTrue =True
|
||||
outlookCSVValueFalse =False
|
||||
|
||||
# Questions to user about how to parse values
|
||||
outlookCSVDateParseConfirm=\
|
||||
A date in this file is formatted as "%1$S".\n\
|
||||
The operating system is set to parse this date as "%2$S".\n\
|
||||
Is this OK?\n\
|
||||
(If not, adjust settings so format matches, then restart this application.)
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=Pr\u00EDjem vzdialen\u00E9ho kalend\u00E1ru
|
||||
httpError=Pr\u00EDjem vzdialen\u00E9ho kalend\u00E1ru zlyhal.\n\u010C\u00EDslo chyby: %1$S: %2$S
|
||||
|
|
|
@ -169,6 +169,32 @@ filterCsv=Datoteke CSV
|
|||
filterOutlookCsv=Datoteke Outlook CSV
|
||||
filterRdf=iCalendar RDF
|
||||
|
||||
# Literal Outlook CSV headers. Take from a .csv file exported by Outlook.
|
||||
# For matching first line of .csv file to import Outlook Comma Separated events.
|
||||
outlookCSVTitle =Subject
|
||||
outlookCSVStartDate =Start Date
|
||||
outlookCSVStartTime =Start Time
|
||||
outlookCSVEndDate =End Date
|
||||
outlookCSVEndTime =End Time
|
||||
outlookCSVAllDayEvent=All day event
|
||||
outlookCSVAlarm =Reminder on/off
|
||||
outlookCSVAlarmDate =Reminder Date
|
||||
outlookCSVAlarmTime =Reminder Time
|
||||
outlookCSVCategories =Categories
|
||||
outlookCSVDescription=Description
|
||||
outlookCSVLocation =Location
|
||||
outlookCSVPrivate =Private
|
||||
# Literal values for True and False in .csv files exported by Outlook
|
||||
outlookCSVValueTrue =True
|
||||
outlookCSVValueFalse =False
|
||||
|
||||
# Questions to user about how to parse values
|
||||
outlookCSVDateParseConfirm=\
|
||||
A date in this file is formatted as "%1$S".\n\
|
||||
The operating system is set to parse this date as "%2$S".\n\
|
||||
Is this OK?\n\
|
||||
(If not, adjust settings so format matches, then restart this application.)
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=Napaka pri pridobivanju koledarja
|
||||
httpError=Pridobivanje koledarske datoteke ni uspelo.\nKoda stanja: %1$S: %2$S
|
||||
|
|
|
@ -1,177 +0,0 @@
|
|||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is Mozilla Calendar code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# ArentJan Banck <ajbanck@planet.nl>.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2002
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s): ArentJan Banck <ajbanck@planet.nl>
|
||||
# Eric Belhaire <belhaire@ief.u-psud.fr>
|
||||
# Patrik Carlsson <patrik.carlsson@mail.com>
|
||||
#
|
||||
# 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
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
# Misc. strings in JS
|
||||
|
||||
AllDayEvents=Heldagshändelser
|
||||
|
||||
# Event status: Tentative, Confirmed, Cancelled
|
||||
# ToDo task status: NeedsAction, InProcess, Completed, Cancelled
|
||||
statusTentative =Preliminär
|
||||
statusConfirmed =Konfirmerad
|
||||
statusCancelled =Avbruten
|
||||
statusNeedsAction=Kräver Åtgärd
|
||||
statusInProcess =Pågår
|
||||
statusCompleted =Färdig
|
||||
|
||||
noEventsOrTasksToImport=No events or tasks to import\nfrom file "%1$S".
|
||||
noEventsToSave=Inga händelser valda för att spara.
|
||||
|
||||
# about to import x: "<br>into calendar y<br>from file z" (calendar more likely to wrong, so before file).
|
||||
aboutToImportNewEventsTitle=Import New Events
|
||||
aboutToImportNewEvents=Kommer att importera %1$S händelse(r)\ninto calendar "%2$S"\nfrom file "%3$S".\nVill du öppna alla nya händelser för kontroll innan de läggs till?
|
||||
aboutToImportDupEventsTitle=Import Duplicate Events
|
||||
aboutToImportDupEvents=About to import %1$S event(s) that are duplicates of events in your calendar,\ninto calendar "%2$S"\nfrom file "%3$S".\nWhat do you want to do?
|
||||
aboutToImportNewTasksTitle=Import New Tasks
|
||||
aboutToImportNewTasks=About to import %1$S new task(s)\ninto calendar "%2$S"\nfrom file "%3$S".\nWhat do you want to do?
|
||||
aboutToImportDupTasksTitle=Import Duplicate Tasks
|
||||
aboutToImportDupTasks=About to import %1$S task(s) that are duplicates of tasks in your calendar,\ninto calendar "%2$S"\nfrom file "%3$S".\nWhat do you want to do?
|
||||
|
||||
discardAll=Discard all
|
||||
importAll=Import all
|
||||
promptForEach=Prompt for each
|
||||
addDuplicate=Lägg till dublett:
|
||||
|
||||
#spaces needed at the end of the following lines
|
||||
eventTitle=Titel:
|
||||
eventStartTime=Start Tid:
|
||||
eventEndTime=Slut Tid:
|
||||
eventSummary=Sammanfattning:
|
||||
eventDescription=Beskrivning:
|
||||
eventWhen=När:
|
||||
eventWhere=Var:
|
||||
|
||||
unableToRead=Kan ej läsa från filen:
|
||||
unableToWrite=Kan ej skriva till filen:
|
||||
defaultFileName=MozillaCalEvents
|
||||
HTMLTitle=Mozilla Calendar
|
||||
|
||||
deleteCalendarTitle=Radera Kalender
|
||||
deleteCalendarMessage=Är du säker på att du vill radera den här kalendern?
|
||||
deleteCalendarOnly=Radera Kalender
|
||||
deleteCalendarAndFile=Radera Kalender och Fil
|
||||
|
||||
weekDayMonthLabel=%1$S %2$S %3$S.
|
||||
|
||||
#
|
||||
# P R E F S
|
||||
# Default values for preferences
|
||||
#
|
||||
|
||||
#the default day to start the week on
|
||||
#0=Sunday 1=Monday 2=Tuesday 3=Wednesday 4=Thursday 5=Friday 6=Saturday
|
||||
defaultWeekStart=1
|
||||
# default days off (not in work week)
|
||||
defaultWeekSundaysOff =true
|
||||
defaultWeekMondaysOff =false
|
||||
defaultWeekTuesdaysOff =false
|
||||
defaultWeekWednesdaysOff=false
|
||||
defaultWeekThursdaysOff =false
|
||||
defaultWeekFridaysOff =false
|
||||
defaultWeekSaturdaysOff =true
|
||||
defaultWeeksInView=4
|
||||
defaultPreviousWeeksInView=0
|
||||
showAlarms=1
|
||||
showMissed=1
|
||||
playAlarmSound=0
|
||||
reloadServersOnLaunch=false
|
||||
defaultEventLength=60
|
||||
defaultSnoozeAlarmLength=60
|
||||
dateFormat=0
|
||||
storeInGmt=0
|
||||
defaultStartHour=8
|
||||
defaultEndHour=17
|
||||
defaultzone=Europe/Stockholm
|
||||
defaulteventalarmunit=minutes
|
||||
defaulttodoalarmunit=minutes
|
||||
|
||||
Week=Vecka
|
||||
|
||||
# Alarm
|
||||
TooManyAlarmsMessage=Du har %1$S alarm totalt. Du har visats de 6 senaste. Välj Bekräfta Alla för att rensa alla.
|
||||
|
||||
# Error strings
|
||||
## @name UID_NOT_FOUND
|
||||
## @loc none
|
||||
1001=Warning UID not found! Assigning new one.
|
||||
|
||||
# List of events or todos (unifinder)
|
||||
eventUntitled=Namnlös
|
||||
|
||||
# Tooltips of events or todos
|
||||
tooltipTitle =Titel:
|
||||
tooltipLocation =Plats:
|
||||
# event date, usually an interval, such as
|
||||
# Date: 7:00--8:00 Thu 9 Oct 2011
|
||||
# Date: Thu 9 Oct 2000 -- Fri 10 Oct 2000
|
||||
tooltipDate =Datum:
|
||||
# event status: tentative, confirmed, cancelled
|
||||
tooltipStatus =Status:
|
||||
# task/todo fields
|
||||
# start date time, due date time, task priority number, completed date time
|
||||
tooltipStart =Start:
|
||||
tooltipDue =Förfaller:
|
||||
tooltipPriority =Prioritet:
|
||||
tooltipPercent =% Färdigt:
|
||||
tooltipCompleted=Färdig:
|
||||
|
||||
#File commands and dialogs
|
||||
New=Ny
|
||||
Open=Öppna
|
||||
Save=Spara
|
||||
SaveAs=Spara Som
|
||||
filepickerDefString=MozillaCalendarFile.ics
|
||||
### %1$S in the server name
|
||||
filepickerDefServerString=MozillaCalendar%1$S.ics
|
||||
|
||||
#filter
|
||||
filterCalendar=Calendar Filer
|
||||
filtervCalendar=vCalendar Filer
|
||||
filterXcs=iCalendar XML Dokument
|
||||
filterXml=XML Dokument
|
||||
filterRtf=Rich Text Format (RTF)
|
||||
filterHtml=HTML Filer
|
||||
filterCsv=Komma Separerade
|
||||
filterOutlookCsv=Outlooks Komma Separerade
|
||||
filterRdf=iCalendar RDF
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=Error getting calendar
|
||||
httpError=Getting the calendar file failed.\nStatus code: %1$S: %2$S
|
||||
otherError=Getting the calendar file failed.\nStatus code: 0x%1$S
|
||||
contentError=This doesn't appear to be a valid file. Here's what I got back from\n%1$S:\nResult: %2$S
|
|
@ -169,6 +169,32 @@ filterCsv=Virg\u00FCl ile ayr\u0131ld\u0131
|
|||
filterOutlookCsv=Outlook, virg\u00FCl ile ayr\u0131lacak
|
||||
filterRdf=iCalendar RDF
|
||||
|
||||
# Literal Outlook CSV headers. Take from a .csv file exported by Outlook.
|
||||
# For matching first line of .csv file to import Outlook Comma Separated events.
|
||||
outlookCSVTitle =Subject
|
||||
outlookCSVStartDate =Start Date
|
||||
outlookCSVStartTime =Start Time
|
||||
outlookCSVEndDate =End Date
|
||||
outlookCSVEndTime =End Time
|
||||
outlookCSVAllDayEvent=All day event
|
||||
outlookCSVAlarm =Reminder on/off
|
||||
outlookCSVAlarmDate =Reminder Date
|
||||
outlookCSVAlarmTime =Reminder Time
|
||||
outlookCSVCategories =Categories
|
||||
outlookCSVDescription=Description
|
||||
outlookCSVLocation =Location
|
||||
outlookCSVPrivate =Private
|
||||
# Literal values for True and False in .csv files exported by Outlook
|
||||
outlookCSVValueTrue =True
|
||||
outlookCSVValueFalse =False
|
||||
|
||||
# Questions to user about how to parse values
|
||||
outlookCSVDateParseConfirm=\
|
||||
A date in this file is formatted as "%1$S".\n\
|
||||
The operating system is set to parse this date as "%2$S".\n\
|
||||
Is this OK?\n\
|
||||
(If not, adjust settings so format matches, then restart this application.)
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=Takvimin y\u00FCklenmesi hatal\u0131
|
||||
httpError=Takvim dosyas\u0131n\u0131n y\u00FCklenmesi ba\u015Far\u0131s\u0131z.\nDurum kodu\: %1$S\: %2$S
|
||||
|
|
|
@ -169,6 +169,32 @@ filterCsv=Z komu d\u017a\u011blene
|
|||
filterOutlookCsv=Outlook z komu d\u017a\u011blene
|
||||
filterRdf=iCalendar-RDF
|
||||
|
||||
# Literal Outlook CSV headers. Take from a .csv file exported by Outlook.
|
||||
# For matching first line of .csv file to import Outlook Comma Separated events.
|
||||
outlookCSVTitle =Subject
|
||||
outlookCSVStartDate =Start Date
|
||||
outlookCSVStartTime =Start Time
|
||||
outlookCSVEndDate =End Date
|
||||
outlookCSVEndTime =End Time
|
||||
outlookCSVAllDayEvent=All day event
|
||||
outlookCSVAlarm =Reminder on/off
|
||||
outlookCSVAlarmDate =Reminder Date
|
||||
outlookCSVAlarmTime =Reminder Time
|
||||
outlookCSVCategories =Categories
|
||||
outlookCSVDescription=Description
|
||||
outlookCSVLocation =Location
|
||||
outlookCSVPrivate =Private
|
||||
# Literal values for True and False in .csv files exported by Outlook
|
||||
outlookCSVValueTrue =True
|
||||
outlookCSVValueFalse =False
|
||||
|
||||
# Questions to user about how to parse values
|
||||
outlookCSVDateParseConfirm=\
|
||||
A date in this file is formatted as "%1$S".\n\
|
||||
The operating system is set to parse this date as "%2$S".\n\
|
||||
Is this OK?\n\
|
||||
(If not, adjust settings so format matches, then restart this application.)
|
||||
|
||||
# Remote calendar errors
|
||||
errorTitle=Error getting calendar
|
||||
httpError=Getting the calendar file failed.\nStatus code: %1$S: %2$S
|
||||
|
|
Загрузка…
Ссылка в новой задаче