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
Родитель f13fbb0194
Коммит 3e7e381fae
24 изменённых файлов: 811 добавлений и 737 удалений

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

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

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

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