Checked in patch 165084 for bug 173562:

Need to import Outlook CSV exported data
This commit is contained in:
mostafah%oeone.com 2004-11-09 20:32:34 +00:00
Родитель 1a81891299
Коммит 289056d99a
24 изменённых файлов: 964 добавлений и 208 удалений

Просмотреть файл

@ -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,75 @@
/* ***** 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 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 ***** */
/**
* Window variables
*/
var args;
/**
* Called when the dialog is loaded (which is done by Outlook-CSV parser when
* Outlook CSV data.is not in english or it is otherwise impossible to
* decipher without user input.
*/
function loadOutlookImportBooleanDialog()
{
args = window.arguments[0];
var boolLabel = document.getElementById( "bool-label" );
boolLabel.setAttribute( "value", args.boolStr + " =" );
opener.setCursor( "auto" );
}
/**
* Called when the OK button is clicked.
*/
function onOKCommand()
{
args.boolIsTrue = ( document.getElementById( "bool-list" ).selectedIndex == 1 );
args.cancelled = false;
return true;
}
/**
* Called when the Cancel button is clicked.
*/
function onCancelCommand()
{
args.cancelled = true;
return true;
}

Просмотреть файл

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

Просмотреть файл

@ -169,6 +169,32 @@ filterCsv=Ymwahannwyd gan gollnod
filterOutlookCsv=Ymwahannwyd Outlook gan gollnod
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

Просмотреть файл

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

Просмотреть файл

@ -169,6 +169,32 @@ filterCsv=Skirtukai \u2013 kableliai
filterOutlookCsv=Skirtukai \u2013 kableliai (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 getting calendar
httpError=Getting the calendar file failed.\nStatus code: %1$S: %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&#xED;rgula (CSV)
filterOutlookCsv=Arquivos Outlook Separados por V&#xED;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&#xE1;rio
httpError=Busca ao arquivo de calend&#xE1;rio falhou.\nC&#xF3;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

Просмотреть файл

@ -170,6 +170,32 @@ filterCsv=Komma Separerade
filterOutlookCsv=Outlooks Komma Separerade
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

Просмотреть файл

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