diff --git a/src/www/css/modal.css b/src/www/css/modal.css new file mode 100644 index 0000000..4a5985a --- /dev/null +++ b/src/www/css/modal.css @@ -0,0 +1,25 @@ +#overlay { + position: absolute; + z-index:80; + width: 100%; + height: 100%; + top: 0; + left: 0; + background-color:#000; + filter:alpha(opacity=40); + -moz-opacity: 0.4; + opacity: 0.4; +} +#box { + width: 50%; + background: #d3d2cf; + padding: 10px; + border: 2px solid #eee; +} + +#close { + position: absolute; + top: -5px; + right: -5px; + cursor: pointer; +} diff --git a/src/www/js/AddressBook.js b/src/www/js/AddressBook.js index c4c5b5c..15ae5e0 100644 --- a/src/www/js/AddressBook.js +++ b/src/www/js/AddressBook.js @@ -516,7 +516,7 @@ Dragonfly.AddressBook.ContactPopup.prototype.delConfirm = function () this.hide(); var text = [ '

', _('contactConfirmRemovePre'), '“', - Dragonfly.escapeHTML (this.contact.fn), '”', _('contactConfirmRemovePost'), '

' + Dragonfly.escapeHTML (this.contact.fn), '”', _('genericRemovePost'), '

' ]; var actions = [{ value: _('genericCancel'), onclick: 'dispose'}, { value: _('genericDelete'), onclick: 'del'}]; this.setForm (text, actions); diff --git a/src/www/js/Calendar.js b/src/www/js/Calendar.js index c80e191..fac779c 100644 --- a/src/www/js/Calendar.js +++ b/src/www/js/Calendar.js @@ -88,11 +88,11 @@ Dragonfly.Calendar.niceDate = function (day, format) switch (today.minus (day)) { case 1: - return "Yesterday"; + return _('calendarYesterdayLabel'); case 0: - return "Today"; + return _('calendarTodayLabel'); case -1: - return "Tomorrow"; + return _('calendarTomorrowLabel'); } if (!format) { @@ -342,7 +342,7 @@ Dragonfly.Calendar.Events.build = function (loc) if (!$('calendar-view-day')) { Element.setHTML ( 'toolbar', [ - '', + '', '', _('day'), '', ' | ', '', _('upcoming'), '', diff --git a/src/www/js/CalendarEditor.js b/src/www/js/CalendarEditor.js index fbbe959..1672492 100644 --- a/src/www/js/CalendarEditor.js +++ b/src/www/js/CalendarEditor.js @@ -70,17 +70,17 @@ Dragonfly.Calendar.PersonalProperties.prototype.buildHtml = function (html) '', '', - '', + '', '', - '', + '', ''); if (this.importDivId) { - html.push ('', + html.push ('', ''); } @@ -89,15 +89,15 @@ Dragonfly.Calendar.PersonalProperties.prototype.buildHtml = function (html) // sharing tab var html2 = new d.HtmlBuilder ( '
', + _('calendarSearchableLabel'), '', '
', + _('calendarPasswordProtectLabel'), '', '
', '
'); this.color.buildHtml (html); html.push ('
', - '', + '', '', '', @@ -118,25 +118,25 @@ Dragonfly.Calendar.PersonalProperties.prototype.buildHtml = function (html) '', // password group - 'Send out invitation...' + '', _('calendarSendInvitation'), '' ); html2.set (this.nb.insertPage ('Basic', 0)); // specific users html2 = new d.HtmlBuilder ( - '
', + '
', '
', '
', //'', - '', + '', '', 'Select: All None', '
', - 'Send out invitation...', + '', _('calendarSendInvitation'), '', '
' ); html2.set (this.nb.insertPage ('Detailed', 1)); @@ -162,7 +162,7 @@ Dragonfly.Calendar.PersonalProperties.prototype.connectHtml = function (elem) this._loadFrom (this._calendar); delete this._calendar; } else { - $(this.nameId).value = 'New Calendar'; + $(this.nameId).value = _('defaultCalendarName'); this.color.setColor (d.getRandomColor ()); $(this.colorId).name = 'calendar-color'; this.publishClicked (); @@ -237,7 +237,7 @@ Dragonfly.Calendar.PersonalProperties.prototype._loadFrom = function (calendar) this.bongoId = calendar.bongoId; - $(this.nameId).value = cal.name || 'New Calendar'; + $(this.nameId).value = cal.name || _('defaultCalendarName'); $(this.colorId).value = cal.color || d.getRandomColor (); $(this.publishId).checked = !!cal.publish; @@ -663,7 +663,7 @@ Dragonfly.Calendar.SubscribedProperties.prototype.connectHtml = function (elem) this._loadFrom (this._calendar); delete this._calendar; } else { - $(this.nameId).value = 'New Calendar'; + $(this.nameId).value = _('defaultCalendarName'); this.color.setColor (d.getRandomColor ()); $(this.colorId).name = 'calendar-color'; } @@ -693,7 +693,7 @@ Dragonfly.Calendar.SubscribedProperties.prototype._loadFrom = function (calendar var cal = calendar.cal; - $(this.nameId).value = cal.name || 'New Calendar'; + $(this.nameId).value = cal.name || _('defaultCalendarName'); $(this.colorId).value = cal.color || d.getRandomColor (); $(this.urlId).value = cal.url || ''; @@ -806,7 +806,7 @@ Dragonfly.Calendar.NewSubscriptionPopup.prototype.buildHtml = function (html) this, html, 'Url: ', '
', '', - '
', + '', ''); // No need to connect html because the superclass does it for us @@ -950,7 +950,7 @@ Dragonfly.Calendar.CalendarPropsPopup.prototype.summarize = function () html.push ('
', '', _('genericDelete'), '', 'Send Invitation...', - 'Edit', + '', _('genericEdit'), '', '
'); html.set (this.contentId); @@ -1016,10 +1016,10 @@ Dragonfly.Calendar.CalendarInvitationPopup.prototype.connectHtml = function (ele 'this person and the server ', d.escapeHTML (this.invite.server), '.

']; var actions = [ - { value: "Delete", onclick: 'deleteClicked', secondary: true }, - { value: "Junk", onclick: 'junkClicked', secondary: true }, - { value: "Ignore", onclick: 'ignoreClicked'}, - { value: "Subscribe", onclick: 'subscribedClicked'}]; + { value: _('genericDelete'), onclick: 'deleteClicked', secondary: true }, + { value: _('buttonJunkLabel'), onclick: 'junkClicked', secondary: true }, + { value: _('buttonIgnoreLabel'), onclick: 'ignoreClicked'}, + { value: _('eventSubscribe'), onclick: 'subscribedClicked'}]; this.setForm (form, actions); this.setClosable (true); diff --git a/src/www/js/Composer.js b/src/www/js/Composer.js index d080edc..e72f90f 100644 --- a/src/www/js/Composer.js +++ b/src/www/js/Composer.js @@ -107,21 +107,21 @@ Dragonfly.Mail.Composer.prototype.buildHtml = function (html) html.push ( '
', - '', - '', - '', - '', - '', - '', + '', + '', '
To:', + '
', _('mailTo'), '', '', '
Cc:', + '
', _('mailCc'), '', '', '
Bcc:', + '
', _('mailBcc'), '', '', '
Subject:
From:', d.escapeHTML (this.msg.from), '
Attachments:
    '); + '
', _('mailSubject'), '
', _('mailFrom'), '', d.escapeHTML (this.msg.from), '
', _('mailAttachments'), '
    '); if (this.msg.contents) { switch (this.msg.contents.contenttype) { @@ -143,13 +143,13 @@ Dragonfly.Mail.Composer.prototype.buildHtml = function (html) } } - html.push ('
  • Attach file...
', + html.push ('
  • ', _('mailAttachLabel'), '
  • ', '
    ', - '', - '', - '
    '); + '', + '', + ''); html.addCallback (bind ('connectHtml', this)); return html; @@ -695,7 +695,7 @@ Dragonfly.Mail.AttachmentForm.prototype.buildHtml = function (html) } html.push ('', d.escapeHTML (this.attachmentId), ' (', d.escapeHTML (this.mimeType), ')', - 'Remove'); + '', _('mailRemoveAttachment'), ''); if (!this.attachmentId) { html.push ('', diff --git a/src/www/js/Dragonfly.js b/src/www/js/Dragonfly.js index 8efc2ca..c72befd 100644 --- a/src/www/js/Dragonfly.js +++ b/src/www/js/Dragonfly.js @@ -807,8 +807,8 @@ Dragonfly.buildSidebar = function () html = new d.HtmlBuilder ( '
    ', '', - '
    Create New Calendar
    ', - '
    Subscribe
    ', + '
    ', _('createNewCalendarLabel'), '
    ', + '
    ', _('subscribeCalendarLabel'), '
    ', '
    '); html.set (d.sideBook.appendPage (IMG({ 'class': 'icon calendars', src: '/img/blank.gif' }))); diff --git a/src/www/js/Gettext.js b/src/www/js/Gettext.js index 3b5dc33..58f1e2a 100644 --- a/src/www/js/Gettext.js +++ b/src/www/js/Gettext.js @@ -39,7 +39,7 @@ Dragonfly.Gettext.gettext = function (msgid) } if (!g._translations[msgid]) { - logWarning ('No translation found.'); + logWarning ('No translation found for "'+msgid+'" in '+g._locale); return msgid; } diff --git a/src/www/js/JCal.js b/src/www/js/JCal.js index 7984536..bc5ef3e 100644 --- a/src/www/js/JCal.js +++ b/src/www/js/JCal.js @@ -527,7 +527,7 @@ Dragonfly.JCal.buildNewEvent = function (summary, dayOrDate, tzid) var d = Dragonfly; var c = d.Calendar; - summary = summary || 'New Event'; + summary = summary || _('eventDefaultTitle'); var params = { }; var start, end; diff --git a/src/www/js/Mail.js b/src/www/js/Mail.js index 8a84601..50743fb 100644 --- a/src/www/js/Mail.js +++ b/src/www/js/Mail.js @@ -100,10 +100,10 @@ Dragonfly.Mail.updateToolbar = function (loc) var v = m.getView (loc); /* these aren't *exactly* right... */ - $('mail-toolbar-archive').value = (loc.set == 'all') ? 'Unarchive' : 'Archive'; - $('mail-toolbar-delete').value = (loc.set == 'trash') ? 'Undelete' : 'Delete'; - $('mail-toolbar-junk').value = (loc.set == 'junk') ? 'Not Junk' : 'Junk'; - $('mail-toolbar-star').value = (loc.set == 'starred') ? 'Unstar' : 'Star'; + $('mail-toolbar-archive').value = (loc.set == 'all') ? _('buttonUnarchiveLabel') : _('buttonArchiveLabel'); + $('mail-toolbar-delete').value = (loc.set == 'trash') ? _('buttonUndeleteLabel') : _('genericDelete'); + $('mail-toolbar-junk').value = (loc.set == 'junk') ? _('buttonNotJunkLabel') : _('buttonJunkLabel'); + $('mail-toolbar-star').value = (loc.set == 'starred') ? _('buttonUnstarLabel') : _('buttonStarLabel'); Element[v.selectAll ? 'show' : 'hide' ] ('mail-toolbar-select-all'); Element[v.deselectAll ? 'show' : 'hide' ] ('mail-toolbar-deselect-all'); @@ -186,10 +186,10 @@ Dragonfly.Mail.buildSummarySelect = function () Element.setHTML ('mail-summary-div', [ '']); Event.observe ('mail-summary-select', 'change', @@ -249,13 +249,13 @@ Dragonfly.Mail.build = function (loc) '', - '', - '', - '', - '', + '', + '', + '', + '', - '', - '', + '', + '', '', '', @@ -499,7 +499,7 @@ Dragonfly.Mail.Messages.build = function (loc) var d = Dragonfly; var m = d.Mail; - return m['build' + (loc.message ? 'Conversation' : 'List') + 'View'] (loc); + return m['build' + (loc.message ? _('mailConversation') : _('mailList')) + _('mailView')] (loc); }; Dragonfly.Mail.Messages.load = function (loc, jsob) @@ -507,7 +507,7 @@ Dragonfly.Mail.Messages.load = function (loc, jsob) var c = Dragonfly.Mail.Messages; var m = Dragonfly.Mail; - return m['load' + (loc.message ? 'Item' : 'List')] (loc, jsob); + return m['load' + (loc.message ? _('mailItem') : _('mailList'))] (loc, jsob); }; */ @@ -609,7 +609,7 @@ Dragonfly.Mail.Contacts.getBreadCrumbs = function (loc) if (loc.contact) { return d.format ('{1} {2}', d.escapeHTML (loc.getClientUrl ('contact')), - loc.set == 'sent' ? 'To ' : 'From ', + loc.set == 'sent' ? _('mailTo') + " " : _('mailFrom') + " ", d.escapeHTML (ab.getNameForContact (loc.contact))); } }; diff --git a/src/www/js/MailListView.js b/src/www/js/MailListView.js index f81236b..848d350 100644 --- a/src/www/js/MailListView.js +++ b/src/www/js/MailListView.js @@ -98,7 +98,7 @@ Dragonfly.Mail.ListView.load = function (loc, jsob) list.addConversations (html, jsob.conversations); } else { list.addGroupFooter (html, - 'No messages'); + '' + _('mailNoMessages') + ''); } list.buildEnd (html); @@ -179,7 +179,7 @@ Dragonfly.Mail.MultiListView.load = function (loc, jsob) if (!group.total) { list.addGroupFooter (html, - 'No messages'); + '' + _('mailNoMessages') + ''); continue; } @@ -187,9 +187,10 @@ Dragonfly.Mail.MultiListView.load = function (loc, jsob) list.addConversations (html, group.conversations); if (group.total > group.conversations.length) { list.addGroupFooter (html, - d.format ('{2} more...', + d.format ('{2} {3}', urlBase, encodeURIComponent (group[subgroup]), - group.total - group.conversations.length)); + group.total - group.conversations.length), + _('mailMoreSuffix')); } } diff --git a/src/www/js/OccurrenceEditor.js b/src/www/js/OccurrenceEditor.js index 8f54713..afa466a 100644 --- a/src/www/js/OccurrenceEditor.js +++ b/src/www/js/OccurrenceEditor.js @@ -42,10 +42,10 @@ Dragonfly.Calendar.OccurrencePopup.prototype.quickEventEdit = function (elem) new d.HtmlBuilder ( '

    ', - '

    enter free-form text, for example:
    ', - 'lunch with Joe tomorrow at noon

    ', - 'or, enter details instead', - '
    ' + '

    ', _('freeFormInstructions'), '
    ', + '', _('freeFormExample'), '

    ', + '', _('freeFormOption'), '', _('freeFormOptionBody'), '', + '
    ' ).set (this.contentId); var editDetails = function (evt) { @@ -106,8 +106,8 @@ Dragonfly.Calendar.OccurrencePopup.prototype.summarize = function (occurrence, e var html = new d.HtmlBuilder(); this.summary = new c.OccurrenceSummary (this.occurrence, html); html.push ('
    ', - 'Delete', - 'Edit
    '); + '', _('genericDelete'), '', + '', _('genericEdit'), ''); html.set (this.contentId); Event.observe (deleteId, 'click', this.delConfirm.bindAsEventListener (this)); @@ -134,14 +134,14 @@ Dragonfly.Calendar.OccurrencePopup.prototype.edit = function (evt, occurrence, e this.editor = new c.OccurrenceEditor (this.occurrence); if (!this.occurrence.vcalendar.bongoId) { // use new event actions this.setForm (this.editor, [ - { value: "Cancel", onclick: 'cancel' }, - { value: "Save", onclick: 'save' } + { value: _('genericCancel'), onclick: 'cancel' }, + { value: _('genericSave'), onclick: 'save' } ]); } else { // use existing event actions this.setForm (this.editor, [ - { value: "Delete", onclick: 'del', secondary: true }, - { value: "Cancel", onclick: 'dispose' }, - { value: "Save", onclick: 'save' } + { value: _('genericDelete'), onclick: 'del', secondary: true }, + { value: _('genericCancel'), onclick: 'dispose' }, + { value: _('genericSave'), onclick: 'save' } ]); } @@ -173,7 +173,7 @@ Dragonfly.Calendar.OccurrencePopup.prototype.del = function () return; } - d.notify ('Deleting event...', true); + d.notify (_('genericSavingChanges'), true); forEach (occurrence.bubles, function (b) { addElementClass (b, 'deleting') }); JCal.delOccurrence (occurrence, changeScope).addCallbacks ( @@ -184,7 +184,7 @@ Dragonfly.Calendar.OccurrencePopup.prototype.del = function () } else { d.Calendar.remove (occurrence.event); } - d.notify ('DELETED!!'); + d.notify (_('genericChangesSaved')); return result; }, this), bind ('showError', this)); }; @@ -215,7 +215,7 @@ Dragonfly.Calendar.OccurrencePopup.prototype.save = function () return; } - d.notify ('Saving changes...', true); + d.notify (_('genericSavingChanges'), true); if (occurrence.bubles) { forEach (occurrence.bubles, function (b) { addElementClass (b, 'saving') @@ -225,7 +225,7 @@ Dragonfly.Calendar.OccurrencePopup.prototype.save = function () JCal.saveOccurrence (occurrence, this.changes, this.changeScope).addCallbacks ( bind (function (result) { this.hide (); - d.notify ('Changes saved.'); + d.notify (_('genericChangesSaved')); var tab = condGetProp (d.curLoc, 'tab'); if (tab && (tab == 'calendar' || tab == 'summary')) { if (occurrence.vcalendar.isRecurring) { @@ -255,10 +255,10 @@ Dragonfly.Calendar.OccurrencePopup.prototype.delConfirm = function () } this.hide (); - var text = ['

    Are you sure you want to delete the event ', - '“', Dragonfly.escapeHTML (this.occurrence.summary), '”?', - ' This cannot be undone.

    ']; - var actions = [{ value: "Cancel", onclick: 'dispose'}, { value: "Delete", onclick: 'del'}]; + var text = ['

    ', _('deleteEventConfirm'), + '“', Dragonfly.escapeHTML (this.occurrence.summary), '”', + _('genericRemovePost'), '

    ']; + var actions = [{ value: _('genericCancel'), onclick: 'dispose'}, { value: _('genericDelete'), onclick: 'del'}]; this.setForm (text, actions); this.show(); }; @@ -268,16 +268,16 @@ Dragonfly.Calendar.OccurrencePopup.prototype.getScope = function (forSave) this.hide (); this.scopeForm = Dragonfly.nextId ('occurrence-scope'); var form = [ - '

    This event is part of a series. Would you like ', - (forSave) ? 'changes to apply to' : 'to delete', ':

    ', + '

    ', _('eventSeriesIntro'), + (forSave) ? _('eventSeriesChanges') : _('eventSeriesDelete'), ':

    ', '
    ', - '
    ', - '
    ', - '', + '
    ', + '
    ', + '', '
    ']; var actions = [ - { value: "Cancel", onclick: 'dispose'}, - { value: forSave ? "Save" : "Delete", onclick: partial (this.dispatchWithScope, forSave) }]; + { value: _('genericCancel'), onclick: 'dispose'}, + { value: forSave ? _('genericSave') : _('genericDelete'), onclick: partial (this.dispatchWithScope, forSave) }]; this.setForm (form, actions); this.show(); }; @@ -362,7 +362,7 @@ Dragonfly.Calendar.OccurrenceEditor.prototype.buildEventTab = function (page) var html = new d.HtmlBuilder ( '
    ', - '
    '); + '
    '); this.dateEntry = new d.DateRangeEntry (o, html); html.push (''); @@ -376,7 +376,7 @@ Dragonfly.Calendar.OccurrenceEditor.prototype.buildSharingTab = function (page) var c = d.Calendar; var html = new d.HtmlBuilder ( - 'Include this event in:', + _('includeEventLabel'), '', - '
    ', + '
    ', '', '', '', @@ -428,9 +428,9 @@ Dragonfly.Calendar.OccurrenceEditor.prototype.buildHtml = function (html) html.push ('
    '); - this.buildEventTab(this.notebook.insertPage ('Event', c.OccurrenceEditor.EventTab - 1)); - this.buildSharingTab(this.notebook.insertPage ('Sharing', c.OccurrenceEditor.SharingTab - 1)); - this.buildRepeatTab(this.notebook.insertPage ('Repeat', c.OccurrenceEditor.RepeatTab - 1)); + this.buildEventTab(this.notebook.insertPage (_('eventInfoTabLabel'), c.OccurrenceEditor.EventTab - 1)); + this.buildSharingTab(this.notebook.insertPage (_('eventSharingTabLabel'), c.OccurrenceEditor.SharingTab - 1)); + this.buildRepeatTab(this.notebook.insertPage (_('eventRepeatTabLabel'), c.OccurrenceEditor.RepeatTab - 1)); this.notebook.buildHtml (html); @@ -445,9 +445,9 @@ Dragonfly.Calendar.OccurrenceEditor.prototype.connectHtml = function (elem) Event.observe (this.alldayId, 'click', function (evt) { this.dateEntry.setUntimed ($(this.alldayId).checked); }.bindAsEventListener (this)); - d.LabeledEntry (this.summaryId, 'Summary', this.occurrence.summary); - d.LabeledEntry (this.locationId, 'Location', this.occurrence.location); - d.LabeledEntry (this.noteId, 'Note', this.occurrence.note); + d.LabeledEntry (this.summaryId, _('eventSummaryHint'), this.occurrence.summary); + d.LabeledEntry (this.locationId, _('eventLocationHint'), this.occurrence.location); + d.LabeledEntry (this.noteId, _('eventNoteHint'), this.occurrence.note); return elem; }; @@ -580,7 +580,7 @@ Dragonfly.Calendar.RRuleEditor.prototype.buildHtml = function (html) // Overall layout is a ordered list of controls this.id = Dragonfly.nextId ('rrule'); this.freqSelectId = Dragonfly.nextId ('rrule-freq'); - html.push ('
    1. '); + html.push ('
      1. '); html.push ('
      2. '); @@ -590,25 +590,25 @@ Dragonfly.Calendar.RRuleEditor.prototype.buildHtml = function (html) this.intervalLabelId = Dragonfly.nextId ('rrule-interval-label'); html.push ( '
      3. ', - '', + '', '', '
      4. ' ); // repeat weekly - html.push ('
      5. '); + html.push ('
      6. '); html.push ('
        '); this.wkdyButtons = new Dragonfly.ToggleButtons (html, this.constants.wkdyLabelsS); html.push ('
        '); // repeat monthly by date - html.push ('
      7. '); + html.push ('
      8. '); html.push ('
        '); this.modyButtons = new Dragonfly.ToggleButtons (html, this.constants.modyLabels, 5); html.push ('
        '); // repeat monthly by day - html.push ('
      9. '); + html.push ('
      10. '); this.wkSelectId = Dragonfly.nextId ('rrule-week-select'); this.wkdySelectId = Dragonfly.nextId ('rrule-weekday-select'); html.push ('', - '', - '
      11. ', + '', '
      12. ', '', @@ -640,10 +640,9 @@ Dragonfly.Calendar.RRuleEditor.prototype.buildHtml = function (html) this.warnId = Dragonfly.nextId ('rrule-warn'); this.editAnywayId = Dragonfly.nextId ('rrule-edit-anyway'); html.push ( - '' + '' ); html.addCallback (bind ('connectHtml', this)); }; @@ -807,9 +806,9 @@ Dragonfly.Calendar.EventInvitationPopup.prototype.connectHtml = function (elem) d.PopupBuble.prototype.connectHtml.call (this, elem); this.calendarId = d.nextId ('invite-calendar'); var form = [ - '
        ', d.escapeHTML (this.invite.from), ' has invited you to:

        ', + '
        ', d.escapeHTML (this.invite.from), ' ', _('inviteDefaultText'), '

        ', new c.OccurrenceSummary (this.invite.occurrences[0]), '
        ', - 'Calendar: ']; forEach (c.calendars, function (hcal) { if (hcal.type == 'personal') { @@ -820,10 +819,10 @@ Dragonfly.Calendar.EventInvitationPopup.prototype.connectHtml = function (elem) form.push ('
        '); var actions = [ - { value: "Delete", onclick: 'deleteClicked', secondary: true }, - { value: "Junk", onclick: 'junkClicked', secondary: true }, - { value: "Ignore", onclick: 'ignoreClicked'}, - { value: "Add", onclick: 'addClicked'}]; + { value: _('genericDelete'), onclick: 'deleteClicked', secondary: true }, + { value: _('buttonJunkLabel'), onclick: 'junkClicked', secondary: true }, + { value: _('buttonIgnoreLabel'), onclick: 'ignoreClicked'}, + { value: _('genericAdd'), onclick: 'addClicked'}]; this.setForm (form, actions); this.setClosable (true); diff --git a/src/www/js/Widgets.js b/src/www/js/Widgets.js index 7604971..96c5478 100644 --- a/src/www/js/Widgets.js +++ b/src/www/js/Widgets.js @@ -645,7 +645,7 @@ Dragonfly.PopupBuble.prototype.canDisposeZone = Dragonfly.PopupBuble.prototype.c var canHide = !this.isVisible() || hasElementClass (this.frameId, 'closable'); canHide = canHide && this.htmlZone.canHideZone(); if (!canHide) { - Dragonfly.notify ('you have unsaved changes'); + Dragonfly.notify (_('unsavedChanges')); } return canHide; } diff --git a/src/www/l10n/igpay.js b/src/www/l10n/igpay.js index c00af1d..2cfc05b 100644 --- a/src/www/l10n/igpay.js +++ b/src/www/l10n/igpay.js @@ -46,7 +46,6 @@ "contactEditLabel" : "Diteay", "contactSelf" : "Histey siey Emey", "contactConfirmRemovePre" : "Reaay ouyay uresay ouyay antway otay eleteday hetay ontactcay ", - "contactConfirmRemovePost" : "? Histay annotcay ebay ndoneuay.", "contactEmail" : "Maileay", "contactPhone" : "Honepay", "contactFax" : "Axfay", @@ -59,7 +58,15 @@ "genericCancel" : "Ancelcay", "genericSave" : "Avesay", "genericDelete" : "Eleteday", + "genericEdit" : "Diteay", + "genericAdd" : "Ddaay", + "genericSavingChanges" : "Avingsay hangescay...", "genericChangesSaved" : "Hangescay avedsay.", + "genericPrevious" : "Reviouspay", + "genericPreviousShort" : "Revpay", + "genericNext" : "Extnay", + "genericRemovePost" : "? Histay annotcay ebay ndoneuay.", + "unsavedChanges" : "Ouyay avehay nsaveduay hangescay.", "monday" : "Ondaymay", "monday-s" : "O", @@ -79,5 +86,101 @@ "day" : "Ayday", "upcoming" : "Pcominguay", "week" : "Eekway", - "month" : "Onthmay" + "month" : "Onthmay", + "calendarView" : "Iewvay:", + + "freeFormInstructions" : "Ntereay reefay-ormfay exttay, orfay xampleeay:", + "freeFormExample" : "unchlay ithway Oejay omorrowtay taay oonnay", + "freeFormOption" : "roay, ", + "freeFormOptionBody" : "ntereay etailsday nsteadiay", + "freeFormAddLabel" : "Ddaay Venteay", + + "deleteEventConfirm" : "Reaay ouyay uresay ouyay antway otay eleteday hetay venteay ", + "eventSeriesIntro" : "Histay venteay siay artpay foay ay eriessay. Ouldway ouyay ikelay ", + "eventSeriesChanges" : "hangescay otay pplyaay otay", + "eventSeriesDelete" : "otay eleteday", + "eventScopeSingle" : "nlyoay histay venteay", + "eventScopeFollowing" : "histay ndaay ollowingfay ventseay", + "eventScopeAll" : "llaay ventseay niay eriessay", + "includeEventLabel" : "Ncludeiay histay venteay niay:", + "publishEventSelf" : "Ublishpay histay venteay noay tsiay wnoay", + "allDayLabel" : "llaay ayday", + + "eventInfoTabLabel" : "Venteay", + "eventSharingTabLabel" : "Haringsay", + "eventRepeatTabLabel" : "Epeatray", + "eventSummaryHint" : "Ummarysay", + "eventLocationHint" : "Ocationlay", + "eventNoteHint" : "Otesnay", + "eventDefaultTitle" : "Ewnay venteay", + + "eventSubscribe" : "Ubscribesay", + "defaultCalendarName" : "Ewnay alendarcay", + "calendarNameLabel" : "Amenay:", + "calendarColorLabel" : "Olorcay:", + "calendarImportICSLabel" : "Mportiay ICS ilefay:", + "calendarSearchableLabel" : "Llowaay theroay sersuay otay earchsay orfay histay alendarcay", + "calendarPasswordProtectLabel" : "Asswordpay rotectpay histay alendercay", + "calendarSendInvitation" : "Endsay nvitationiay...", + "createNewCalendarLabel" : "Reatecay alendarcay", + "subscribeCalendarLabel" : "Ubscribesay", + + "inviteDefaultText" : "ashay nvitediay ouyay otay:", + "inviteCalendarPre" : "Alendarcay:", + + "buttonArchiveLabel" : "Rchivecay", + "buttonJunkLabel" : "Unkjay", + "buttonIgnoreLabel" : "Gnoreiay", + "buttonStarLabel" : "Tarsay", + + "buttonUnarchiveLabel" : "Narchiveuay", + "buttonNotJunkLabel" : "Otnay Unkjay", + "buttonUndeleteLabel" : "Ndeleteuay", + "buttonUnstarLabel" : "Nstaruay", + + "buttonAddLabel" : "Ddaay", + "buttonRemoveLabel" : "Emoveray", + + "repeatLabel" : "Epeatray:", + "repeatEveryLabel" : "Veryeay:", + "repeatOnLabel" : "Noay:", + "repeatEndingLabel" : "Ndingeay:", + "repeatEndNeverLabel" : "Evernay", + "repeatEndOnDateLabel" : "Noay ateday", + "repeatEndAfterRepeatLabel" : "Fteraay epeatingaay", + + "repeatCautionHeadingLabel" : "Autioncay", + "repeatCautionBodyText" : "Histay venteay ashay ay chedulesay hattay annotcay ebay ditedeay ithway Bongo; hoosingcay otay diteaey illway eplaceray hetay xistingeay chedulesay.", + "repeatEditAnywayLabel" : "Diteay Nywayaay", + + "calendarYesterdayLabel" : "Esterdayyay", + "calendarTodayLabel" : "Odaytay", + "calendarTomorrowLabel" : "Omorrowtay", + + "mailAllLabel" : "Llaay", + "mailToMeLabel" : "Otay Emay", + "mailFromContactsLabel" : "Romfay Ymay Ontactscay", + "mailSubscriptionsLabel" : "Ailingmay Istslay", + + "mailNoMessages" : "Onay essagesmay oundfay.", + "mailMoreSuffix" : "oremay...", + "mailTo" : "Otay:", + "mailFrom" : "Romfay:", + "mailCc" : "CC:", + "mailBcc" : "BCC:", + "mailSubject" : "Ubjectsay:", + "mailAttachments" : "Ttachmentsaay:", + "mailAttachLabel" : "Ttachaay ilefay...", + "mailRemoveAttachment" : "Emoveray", + "mailConversation" : "Onversationcay", + "mailList" : "Istlay", + "mailItem" : "Temiay", + "mailView" : "Iewvay", + + "mailDiscard" : "Iscardday", + "mailDraft" : "Avesay Raftday", + "mailSend" : "Endsay", + + "toolbarSelectAll" : "Electsay Llaay", + "toolbarDeselectAll" : "Eselectday Llaay" }