From f9f3fcca30b254f9fd5f2253e90782d01d6bb03d Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Tue, 31 May 2011 04:47:50 +0000 Subject: [PATCH 01/12] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20110531044750-6p5w7mfp6bow8hl6 --- addons/account_anglo_saxon/i18n/tr.po | 110 ++ addons/base_calendar/i18n/ln.po | 1658 +++++++++++++++++++++++++ addons/hr_recruitment/i18n/vi.po | 2 +- addons/report_designer/i18n/tr.po | 107 ++ 4 files changed, 1876 insertions(+), 1 deletion(-) create mode 100644 addons/account_anglo_saxon/i18n/tr.po create mode 100644 addons/base_calendar/i18n/ln.po create mode 100644 addons/report_designer/i18n/tr.po diff --git a/addons/account_anglo_saxon/i18n/tr.po b/addons/account_anglo_saxon/i18n/tr.po new file mode 100644 index 00000000000..08822391ec6 --- /dev/null +++ b/addons/account_anglo_saxon/i18n/tr.po @@ -0,0 +1,110 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2011-01-11 11:14+0000\n" +"PO-Revision-Date: 2011-05-30 05:39+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-05-31 04:47+0000\n" +"X-Generator: Launchpad (build 12959)\n" + +#. module: account_anglo_saxon +#: view:product.category:0 +msgid " Accounting Property" +msgstr " Muhasebe Özellikleri" + +#. module: account_anglo_saxon +#: sql_constraint:purchase.order:0 +msgid "Order Reference must be unique !" +msgstr "Sipariş referansı eşsiz olmalı !" + +#. module: account_anglo_saxon +#: constraint:product.category:0 +msgid "Error ! You can not create recursive categories." +msgstr "Hata ! İç içe çağırılan kategoriler oluşturamazsınız." + +#. module: account_anglo_saxon +#: constraint:product.template:0 +msgid "" +"Error: The default UOM and the purchase UOM must be in the same category." +msgstr "" +"Hata: Varsayılan ölçü birimi ile satış ölçü birimi aynı kategoride bulunmalı." + +#. module: account_anglo_saxon +#: model:ir.model,name:account_anglo_saxon.model_account_invoice_line +msgid "Invoice Line" +msgstr "Fatura Kalemi" + +#. module: account_anglo_saxon +#: model:ir.model,name:account_anglo_saxon.model_purchase_order +msgid "Purchase Order" +msgstr "Satınalma Siparişi" + +#. module: account_anglo_saxon +#: model:ir.model,name:account_anglo_saxon.model_product_template +msgid "Product Template" +msgstr "Ürün Şablonu" + +#. module: account_anglo_saxon +#: model:ir.model,name:account_anglo_saxon.model_product_category +msgid "Product Category" +msgstr "Ürün Kategorisi" + +#. module: account_anglo_saxon +#: model:ir.module.module,shortdesc:account_anglo_saxon.module_meta_information +msgid "Stock Accounting for Anglo Saxon countries" +msgstr "Anglo Saxon ülkeleri için Stok Muhasebesi" + +#. module: account_anglo_saxon +#: field:product.category,property_account_creditor_price_difference_categ:0 +#: field:product.template,property_account_creditor_price_difference:0 +msgid "Price Difference Account" +msgstr "Fiyat Farkı Hesabı" + +#. module: account_anglo_saxon +#: model:ir.model,name:account_anglo_saxon.model_account_invoice +msgid "Invoice" +msgstr "Fatura" + +#. module: account_anglo_saxon +#: model:ir.model,name:account_anglo_saxon.model_stock_picking +msgid "Picking List" +msgstr "Toplama Listesi" + +#. module: account_anglo_saxon +#: model:ir.module.module,description:account_anglo_saxon.module_meta_information +msgid "" +"This module will support the Anglo-Saxons accounting methodology by\n" +" changing the accounting logic with stock transactions. The difference " +"between the Anglo-Saxon accounting countries\n" +" and the Rhine or also called Continental accounting countries is the " +"moment of taking the Cost of Goods Sold versus Cost of Sales.\n" +" Anglo-Saxons accounting does take the cost when sales invoice is " +"created, Continental accounting will take the cost at the moment the goods " +"are shipped.\n" +" This module will add this functionality by using a interim account, to " +"store the value of shipped goods and will contra book this interim account\n" +" when the invoice is created to transfer this amount to the debtor or " +"creditor account.\n" +" Secondly, price differences between actual purchase price and fixed " +"product standard price are booked on a separate account" +msgstr "" + +#. module: account_anglo_saxon +#: help:product.category,property_account_creditor_price_difference_categ:0 +#: help:product.template,property_account_creditor_price_difference:0 +msgid "" +"This account will be used to value price difference between purchase price " +"and cost price." +msgstr "" +"Bu hesap satınalma fiyatı ile maliyet fiyatı arasındaki fiyat farkını " +"değerlendirmek için kullanılacaktır." diff --git a/addons/base_calendar/i18n/ln.po b/addons/base_calendar/i18n/ln.po new file mode 100644 index 00000000000..5be9e36cbeb --- /dev/null +++ b/addons/base_calendar/i18n/ln.po @@ -0,0 +1,1658 @@ +# Lingala translation for openobject-addons +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2011-01-11 11:14+0000\n" +"PO-Revision-Date: 2011-05-30 11:47+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Lingala \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-05-31 04:47+0000\n" +"X-Generator: Launchpad (build 12959)\n" + +#. module: base_calendar +#: selection:calendar.alarm,trigger_related:0 +#: selection:res.alarm,trigger_related:0 +msgid "The event starts" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,freq:0 +msgid "Hourly" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +msgid "Required to Join" +msgstr "" + +#. module: base_calendar +#: help:calendar.event,exdate:0 +#: help:calendar.todo,exdate:0 +msgid "" +"This property defines the list of date/time exceptions for a recurring " +"calendar component." +msgstr "" + +#. module: base_calendar +#: constraint:res.users:0 +msgid "The chosen company is not in the allowed companies for this user" +msgstr "" + +#. module: base_calendar +#: field:calendar.event.edit.all,name:0 +msgid "Title" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,freq:0 +#: selection:calendar.event,rrule_type:0 +#: selection:calendar.todo,rrule_type:0 +msgid "Monthly" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +msgid "Invited User" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +msgid "Invitation" +msgstr "" + +#. module: base_calendar +#: help:calendar.event,recurrency:0 +#: help:calendar.todo,recurrency:0 +msgid "Recurrent Meeting" +msgstr "" + +#. module: base_calendar +#: model:ir.actions.act_window,name:base_calendar.action_res_alarm_view +#: model:ir.ui.menu,name:base_calendar.menu_crm_meeting_avail_alarm +msgid "Alarms" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,week_list:0 +#: selection:calendar.event,week_list:0 +#: selection:calendar.todo,week_list:0 +msgid "Sunday" +msgstr "Lomíngo" + +#. module: base_calendar +#: view:calendar.attendee:0 +#: field:calendar.attendee,role:0 +msgid "Role" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +#: view:calendar.event:0 +msgid "Invitation details" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,byday:0 +#: selection:calendar.event,byday:0 +#: selection:calendar.todo,byday:0 +msgid "Fourth" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,show_as:0 +#: field:calendar.todo,show_as:0 +msgid "Show as" +msgstr "" + +#. module: base_calendar +#: field:base.calendar.set.exrule,day:0 +#: selection:base.calendar.set.exrule,select1:0 +#: field:calendar.event,day:0 +#: selection:calendar.event,select1:0 +#: field:calendar.todo,day:0 +#: selection:calendar.todo,select1:0 +msgid "Date of month" +msgstr "" + +#. module: base_calendar +#: selection:calendar.event,class:0 +#: selection:calendar.todo,class:0 +msgid "Public" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +msgid " " +msgstr " " + +#. module: base_calendar +#: selection:base.calendar.set.exrule,month_list:0 +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +msgid "March" +msgstr "mársi" + +#. module: base_calendar +#: code:addons/base_calendar/base_calendar.py:414 +#: code:addons/base_calendar/wizard/base_calendar_set_exrule.py:90 +#, python-format +msgid "Warning !" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,week_list:0 +#: selection:calendar.event,week_list:0 +#: selection:calendar.todo,week_list:0 +msgid "Friday" +msgstr "Misálá mítáno" + +#. module: base_calendar +#: field:calendar.event,allday:0 +#: field:calendar.todo,allday:0 +msgid "All Day" +msgstr "" + +#. module: base_calendar +#: field:base.calendar.set.exrule,select1:0 +#: field:calendar.event,select1:0 +#: field:calendar.todo,select1:0 +msgid "Option" +msgstr "" + +#. module: base_calendar +#: selection:calendar.attendee,availability:0 +#: selection:calendar.event,show_as:0 +#: selection:calendar.todo,show_as:0 +#: selection:res.users,availability:0 +msgid "Free" +msgstr "" + +#. module: base_calendar +#: help:calendar.attendee,rsvp:0 +msgid "Indicats whether the favor of a reply is requested" +msgstr "" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_ir_attachment +msgid "ir.attachment" +msgstr "ir.attachment" + +#. module: base_calendar +#: help:calendar.attendee,delegated_to:0 +msgid "The users that the original request was delegated to" +msgstr "" + +#. module: base_calendar +#: field:calendar.attendee,ref:0 +msgid "Event Ref" +msgstr "" + +#. module: base_calendar +#: field:base.calendar.set.exrule,we:0 +#: field:calendar.event,we:0 +#: field:calendar.todo,we:0 +msgid "Wed" +msgstr "Mís" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Show time as" +msgstr "" + +#. module: base_calendar +#: field:base.calendar.set.exrule,tu:0 +#: field:calendar.event,tu:0 +#: field:calendar.todo,tu:0 +msgid "Tue" +msgstr "Míb" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,freq:0 +#: selection:calendar.event,rrule_type:0 +#: selection:calendar.todo,rrule_type:0 +msgid "Yearly" +msgstr "" + +#. module: base_calendar +#: selection:calendar.alarm,trigger_related:0 +#: selection:res.alarm,trigger_related:0 +msgid "The event ends" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,byday:0 +#: selection:calendar.event,byday:0 +#: selection:calendar.todo,byday:0 +msgid "Last" +msgstr "" + +#. module: base_calendar +#: help:calendar.attendee,state:0 +msgid "Status of the attendee's participation" +msgstr "" + +#. module: base_calendar +#: selection:calendar.attendee,cutype:0 +msgid "Room" +msgstr "" + +#. module: base_calendar +#: selection:calendar.alarm,trigger_interval:0 +#: selection:calendar.event,freq:0 +#: selection:calendar.todo,freq:0 +#: selection:res.alarm,trigger_interval:0 +msgid "Days" +msgstr "Mikɔlɔ" + +#. module: base_calendar +#: view:calendar.attendee:0 +#: view:calendar.event:0 +msgid "Invitation Detail" +msgstr "" + +#. module: base_calendar +#: code:addons/base_calendar/base_calendar.py:1355 +#: code:addons/base_calendar/wizard/base_calendar_invite_attendee.py:96 +#: code:addons/base_calendar/wizard/base_calendar_invite_attendee.py:143 +#: code:addons/base_calendar/wizard/base_calendar_set_exrule.py:128 +#: code:addons/base_calendar/wizard/base_calendar_set_exrule.py:136 +#, python-format +msgid "Error!" +msgstr "" + +#. module: base_calendar +#: selection:calendar.attendee,role:0 +msgid "Chair Person" +msgstr "" + +#. module: base_calendar +#: selection:calendar.alarm,action:0 +msgid "Procedure" +msgstr "" + +#. module: base_calendar +#: selection:calendar.event,state:0 +#: selection:calendar.todo,state:0 +msgid "Cancelled" +msgstr "" + +#. module: base_calendar +#: selection:calendar.alarm,trigger_interval:0 +#: selection:res.alarm,trigger_interval:0 +msgid "Minutes" +msgstr "Minúti" + +#. module: base_calendar +#: selection:calendar.alarm,action:0 +msgid "Display" +msgstr "" + +#. module: base_calendar +#: view:calendar.event.edit.all:0 +msgid "Edit all Occurrences" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +msgid "Invitation type" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,freq:0 +msgid "Secondly" +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,event_date:0 +#: field:calendar.attendee,event_date:0 +#: view:calendar.event:0 +msgid "Event Date" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +#: view:calendar.event:0 +msgid "Group By..." +msgstr "" + +#. module: base_calendar +#: help:base_calendar.invite.attendee,email:0 +msgid "Provide external email address who will receive this invitation." +msgstr "" + +#. module: base_calendar +#: model:ir.module.module,description:base_calendar.module_meta_information +msgid "" +"Full featured calendar system that supports:\n" +" - Calendar of events\n" +" - Alerts (create requests)\n" +" - Recurring events\n" +" - Invitations to people" +msgstr "" + +#. module: base_calendar +#: help:calendar.attendee,cutype:0 +msgid "Specify the type of Invitation" +msgstr "" + +#. module: base_calendar +#: selection:calendar.event,freq:0 +#: selection:calendar.todo,freq:0 +msgid "Years" +msgstr "Mibú" + +#. module: base_calendar +#: field:calendar.alarm,event_end_date:0 +#: field:calendar.attendee,event_end_date:0 +msgid "Event End Date" +msgstr "" + +#. module: base_calendar +#: selection:calendar.attendee,role:0 +msgid "Optional Participation" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,date_deadline:0 +#: field:calendar.todo,date_deadline:0 +msgid "Deadline" +msgstr "" + +#. module: base_calendar +#: code:addons/base_calendar/base_calendar.py:385 +#: code:addons/base_calendar/base_calendar.py:1088 +#: code:addons/base_calendar/base_calendar.py:1090 +#, python-format +msgid "Warning!" +msgstr "" + +#. module: base_calendar +#: help:calendar.event,active:0 +#: help:calendar.todo,active:0 +msgid "" +"If the active field is set to true, it will allow you to hide the " +"event alarm information without removing it." +msgstr "" + +#. module: base_calendar +#: model:ir.module.module,shortdesc:base_calendar.module_meta_information +msgid "Basic Calendar Functionality" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,organizer:0 +#: field:calendar.event,organizer_id:0 +#: field:calendar.todo,organizer:0 +#: field:calendar.todo,organizer_id:0 +msgid "Organizer" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +#: view:calendar.event:0 +#: field:calendar.event,user_id:0 +#: field:calendar.todo,user_id:0 +msgid "Responsible" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +#: model:res.request.link,name:base_calendar.request_link_meeting +msgid "Event" +msgstr "" + +#. module: base_calendar +#: help:calendar.event,edit_all:0 +#: help:calendar.todo,edit_all:0 +msgid "Edit all Occurrences of recurrent Meeting." +msgstr "" + +#. module: base_calendar +#: selection:calendar.alarm,trigger_occurs:0 +#: selection:res.alarm,trigger_occurs:0 +msgid "Before" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +#: selection:calendar.event,state:0 +#: selection:calendar.todo,state:0 +msgid "Confirmed" +msgstr "" + +#. module: base_calendar +#: model:ir.actions.act_window,name:base_calendar.action_calendar_event_edit_all +msgid "Edit all events" +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,attendee_ids:0 +#: field:calendar.event,attendee_ids:0 +#: field:calendar.todo,attendee_ids:0 +msgid "Attendees" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Confirm" +msgstr "" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_calendar_todo +msgid "Calendar Task" +msgstr "" + +#. module: base_calendar +#: field:base.calendar.set.exrule,su:0 +#: field:calendar.event,su:0 +#: field:calendar.todo,su:0 +msgid "Sun" +msgstr "Lom" + +#. module: base_calendar +#: field:calendar.attendee,cutype:0 +msgid "Invite Type" +msgstr "" + +#. module: base_calendar +#: help:calendar.attendee,partner_id:0 +msgid "Partner related to contact" +msgstr "" + +#. module: base_calendar +#: view:res.alarm:0 +msgid "Reminder details" +msgstr "" + +#. module: base_calendar +#: field:calendar.attendee,parent_ids:0 +msgid "Delegrated From" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,select1:0 +#: selection:calendar.event,select1:0 +#: selection:calendar.todo,select1:0 +msgid "Day of month" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +#: field:calendar.event,location:0 +#: field:calendar.event.edit.all,location:0 +#: field:calendar.todo,location:0 +msgid "Location" +msgstr "" + +#. module: base_calendar +#: field:base_calendar.invite.attendee,send_mail:0 +msgid "Send mail?" +msgstr "" + +#. module: base_calendar +#: field:base_calendar.invite.attendee,email:0 +#: selection:calendar.alarm,action:0 +#: field:calendar.attendee,email:0 +msgid "Email" +msgstr "Nkandá" + +#. module: base_calendar +#: view:calendar.attendee:0 +msgid "Event Detail" +msgstr "" + +#. module: base_calendar +#: selection:calendar.alarm,state:0 +msgid "Run" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,exdate:0 +#: field:calendar.todo,exdate:0 +msgid "Exception Date/Times" +msgstr "" + +#. module: base_calendar +#: selection:calendar.event,class:0 +#: selection:calendar.todo,class:0 +msgid "Confidential" +msgstr "" + +#. module: base_calendar +#: field:base.calendar.set.exrule,end_date:0 +#: field:calendar.event,end_date:0 +#: field:calendar.todo,end_date:0 +msgid "Repeat Until" +msgstr "" + +#. module: base_calendar +#: model:ir.actions.act_window,help:base_calendar.action_res_alarm_view +msgid "" +"Create specific calendar alarms that may be assigned to calendar events or " +"meetings." +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Visibility" +msgstr "" + +#. module: base_calendar +#: field:calendar.attendee,rsvp:0 +msgid "Required Reply?" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,base_calendar_url:0 +#: field:calendar.todo,base_calendar_url:0 +msgid "Caldav URL" +msgstr "" + +#. module: base_calendar +#: view:base.calendar.set.exrule:0 +msgid "Select range to Exclude" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,recurrent_uid:0 +#: field:calendar.todo,recurrent_uid:0 +msgid "Recurrent ID" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,month_list:0 +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +msgid "July" +msgstr "yúli" + +#. module: base_calendar +#: view:calendar.attendee:0 +#: selection:calendar.attendee,state:0 +msgid "Accepted" +msgstr "" + +#. module: base_calendar +#: field:base.calendar.set.exrule,th:0 +#: field:calendar.event,th:0 +#: field:calendar.todo,th:0 +msgid "Thu" +msgstr "Mín" + +#. module: base_calendar +#: field:calendar.attendee,child_ids:0 +msgid "Delegrated To" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +msgid "Required Reply" +msgstr "" + +#. module: base_calendar +#: selection:calendar.event,end_type:0 +#: selection:calendar.todo,end_type:0 +msgid "Forever" +msgstr "" + +#. module: base_calendar +#: selection:calendar.attendee,role:0 +msgid "Participation required" +msgstr "" + +#. module: base_calendar +#: view:base.calendar.set.exrule:0 +msgid "_Cancel" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,create_date:0 +#: field:calendar.todo,create_date:0 +msgid "Created" +msgstr "" + +#. module: base_calendar +#: selection:calendar.event,class:0 +#: selection:calendar.todo,class:0 +msgid "Private" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,freq:0 +#: selection:calendar.event,rrule_type:0 +#: selection:calendar.todo,rrule_type:0 +msgid "Daily" +msgstr "" + +#. module: base_calendar +#: code:addons/base_calendar/base_calendar.py:385 +#, python-format +msgid "Can not Duplicate" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,class:0 +#: field:calendar.todo,class:0 +msgid "Mark as" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +#: field:calendar.attendee,partner_address_id:0 +msgid "Contact" +msgstr "" + +#. module: base_calendar +#: help:calendar.event,rrule_type:0 +#: help:calendar.todo,rrule_type:0 +msgid "Let the event automatically repeat at that interval" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +#: view:calendar.event:0 +msgid "Delegate" +msgstr "" + +#. module: base_calendar +#: field:base_calendar.invite.attendee,partner_id:0 +#: view:calendar.attendee:0 +#: field:calendar.attendee,partner_id:0 +msgid "Partner" +msgstr "" + +#. module: base_calendar +#: view:base_calendar.invite.attendee:0 +#: selection:base_calendar.invite.attendee,type:0 +msgid "Partner Contacts" +msgstr "" + +#. module: base_calendar +#: view:base.calendar.set.exrule:0 +msgid "_Ok" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,byday:0 +#: selection:calendar.event,byday:0 +#: selection:calendar.todo,byday:0 +msgid "First" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Privacy" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,vtimezone:0 +#: field:calendar.todo,vtimezone:0 +msgid "Timezone" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Subject" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,month_list:0 +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +msgid "September" +msgstr "sɛtɛ́mbɛ" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,month_list:0 +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +msgid "December" +msgstr "dɛsɛ́mbɛ" + +#. module: base_calendar +#: help:base_calendar.invite.attendee,send_mail:0 +msgid "Check this if you want to send an Email to Invited Person" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Availability" +msgstr "" + +#. module: base_calendar +#: view:calendar.event.edit.all:0 +msgid "_Save" +msgstr "" + +#. module: base_calendar +#: selection:calendar.attendee,cutype:0 +msgid "Individual" +msgstr "" + +#. module: base_calendar +#: help:calendar.event,count:0 +#: help:calendar.todo,count:0 +msgid "Repeat x times" +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,user_id:0 +msgid "Owner" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +msgid "Delegation Info" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +#: field:calendar.event.edit.all,date:0 +msgid "Start Date" +msgstr "" + +#. module: base_calendar +#: field:calendar.attendee,cn:0 +msgid "Common name" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +#: selection:calendar.attendee,state:0 +msgid "Declined" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +msgid "My Role" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "My Events" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +#: view:calendar.event:0 +msgid "Decline" +msgstr "" + +#. module: base_calendar +#: selection:calendar.event,freq:0 +#: selection:calendar.todo,freq:0 +msgid "Weeks" +msgstr "" + +#. module: base_calendar +#: selection:calendar.attendee,cutype:0 +msgid "Group" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,edit_all:0 +#: field:calendar.todo,edit_all:0 +msgid "Edit All" +msgstr "" + +#. module: base_calendar +#: field:base_calendar.invite.attendee,contact_ids:0 +msgid "Contacts" +msgstr "" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_res_alarm +msgid "Basic Alarm Information" +msgstr "" + +#. module: base_calendar +#: field:base.calendar.set.exrule,fr:0 +#: field:calendar.event,fr:0 +#: field:calendar.todo,fr:0 +msgid "Fri" +msgstr "Mít" + +#. module: base_calendar +#: selection:calendar.alarm,trigger_interval:0 +#: selection:calendar.event,freq:0 +#: selection:calendar.todo,freq:0 +#: selection:res.alarm,trigger_interval:0 +msgid "Hours" +msgstr "Ngonga" + +#. module: base_calendar +#: code:addons/base_calendar/base_calendar.py:1090 +#, python-format +msgid "Count can not be Negative" +msgstr "" + +#. module: base_calendar +#: field:calendar.attendee,member:0 +msgid "Member" +msgstr "" + +#. module: base_calendar +#: help:calendar.event,location:0 +#: help:calendar.todo,location:0 +msgid "Location of Event" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,rrule:0 +#: field:calendar.todo,rrule:0 +msgid "Recurrent Rule" +msgstr "" + +#. module: base_calendar +#: selection:calendar.alarm,state:0 +msgid "Draft" +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,attach:0 +msgid "Attachment" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +msgid "Invitation From" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "End of recurrency" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +#: field:calendar.event.edit.all,alarm_id:0 +msgid "Reminder" +msgstr "" + +#. module: base_calendar +#: view:base.calendar.set.exrule:0 +#: model:ir.model,name:base_calendar.model_base_calendar_set_exrule +msgid "Set Exrule" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +#: model:ir.actions.act_window,name:base_calendar.action_view_event +#: model:ir.ui.menu,name:base_calendar.menu_events +msgid "Events" +msgstr "" + +#. module: base_calendar +#: model:ir.actions.act_window,name:base_calendar.action_view_calendar_invite_attendee_wizard +#: model:ir.model,name:base_calendar.model_base_calendar_invite_attendee +msgid "Invite Attendees" +msgstr "" + +#. module: base_calendar +#: help:calendar.attendee,email:0 +msgid "Email of Invited Person" +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,repeat:0 +#: field:calendar.event,count:0 +#: field:calendar.todo,count:0 +#: field:res.alarm,repeat:0 +msgid "Repeat" +msgstr "" + +#. module: base_calendar +#: help:calendar.attendee,dir:0 +msgid "" +"Reference to the URIthat points to the directory information corresponding " +"to the attendee." +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,month_list:0 +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +msgid "August" +msgstr "augústo" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,week_list:0 +#: selection:calendar.event,week_list:0 +#: selection:calendar.todo,week_list:0 +msgid "Monday" +msgstr "Mosálá mɔ̌kɔ́" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,byday:0 +#: selection:calendar.event,byday:0 +#: selection:calendar.todo,byday:0 +msgid "Third" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,month_list:0 +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +msgid "June" +msgstr "yúni" + +#. module: base_calendar +#: field:calendar.alarm,alarm_id:0 +msgid "Basic Alarm" +msgstr "" + +#. module: base_calendar +#: view:base.calendar.set.exrule:0 +#: view:calendar.event:0 +msgid "The" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +#: field:calendar.attendee,delegated_from:0 +msgid "Delegated From" +msgstr "" + +#. module: base_calendar +#: field:calendar.attendee,user_id:0 +msgid "User" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +#: field:calendar.event,date:0 +msgid "Date" +msgstr "Dáte" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,month_list:0 +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +msgid "November" +msgstr "novɛ́mbɛ" + +#. module: base_calendar +#: help:calendar.attendee,member:0 +msgid "Indicate the groups that the attendee belongs to" +msgstr "" + +#. module: base_calendar +#: view:base_calendar.invite.attendee:0 +msgid "Data" +msgstr "" + +#. module: base_calendar +#: field:base.calendar.set.exrule,mo:0 +#: field:calendar.event,mo:0 +#: field:calendar.todo,mo:0 +msgid "Mon" +msgstr "Mɔ́k" + +#. module: base_calendar +#: field:base.calendar.set.exrule,count:0 +msgid "Count" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,freq:0 +#: selection:calendar.event,freq:0 +#: selection:calendar.todo,freq:0 +msgid "No Repeat" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,month_list:0 +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +msgid "October" +msgstr "ɔkɔtɔ́bɛ" + +#. module: base_calendar +#: view:calendar.attendee:0 +#: view:calendar.event:0 +msgid "Uncertain" +msgstr "" + +#. module: base_calendar +#: field:calendar.attendee,language:0 +msgid "Language" +msgstr "Lokótá" + +#. module: base_calendar +#: field:calendar.alarm,trigger_occurs:0 +#: field:res.alarm,trigger_occurs:0 +msgid "Triggers" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,month_list:0 +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +msgid "January" +msgstr "yanwáli" + +#. module: base_calendar +#: field:calendar.alarm,trigger_related:0 +#: field:res.alarm,trigger_related:0 +msgid "Related to" +msgstr "" + +#. module: base_calendar +#: field:base.calendar.set.exrule,interval:0 +#: field:calendar.alarm,trigger_interval:0 +#: field:res.alarm,trigger_interval:0 +msgid "Interval" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,week_list:0 +#: selection:calendar.event,week_list:0 +#: selection:calendar.todo,week_list:0 +msgid "Wednesday" +msgstr "Misálá mísáto" + +#. module: base_calendar +#: code:addons/base_calendar/base_calendar.py:1088 +#, python-format +msgid "Interval can not be Negative" +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,name:0 +#: view:calendar.event:0 +msgid "Summary" +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,active:0 +#: field:calendar.event,active:0 +#: field:calendar.todo,active:0 +#: field:res.alarm,active:0 +msgid "Active" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Choose day in the month where repeat the meeting" +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,action:0 +msgid "Action" +msgstr "" + +#. module: base_calendar +#: help:base_calendar.invite.attendee,type:0 +msgid "Select whom you want to Invite" +msgstr "" + +#. module: base_calendar +#: help:calendar.alarm,duration:0 +#: help:res.alarm,duration:0 +msgid "" +"Duration' and 'Repeat' are both optional, but if one occurs, so MUST the " +"other" +msgstr "" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_calendar_event_edit_all +msgid "Calendar Edit all event" +msgstr "" + +#. module: base_calendar +#: help:calendar.attendee,role:0 +msgid "Participation role for the calendar user" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +#: field:calendar.attendee,delegated_to:0 +msgid "Delegated To" +msgstr "" + +#. module: base_calendar +#: help:calendar.alarm,action:0 +msgid "Defines the action to be invoked when an alarm is triggered" +msgstr "" + +#. module: base_calendar +#: selection:calendar.event,end_type:0 +#: selection:calendar.todo,end_type:0 +msgid "End date" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Search Events" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Recurrency Option" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,freq:0 +#: selection:calendar.event,rrule_type:0 +#: selection:calendar.todo,rrule_type:0 +msgid "Weekly" +msgstr "" + +#. module: base_calendar +#: help:calendar.alarm,active:0 +#: help:res.alarm,active:0 +msgid "" +"If the active field is set to true, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" + +#. module: base_calendar +#: field:calendar.event,recurrent_id:0 +#: field:calendar.todo,recurrent_id:0 +msgid "Recurrent ID date" +msgstr "" + +#. module: base_calendar +#: sql_constraint:res.users:0 +msgid "You can not have two users with the same login !" +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,state:0 +#: view:calendar.attendee:0 +#: field:calendar.attendee,state:0 +#: view:calendar.event:0 +#: field:calendar.event,state:0 +#: field:calendar.todo,state:0 +msgid "State" +msgstr "" + +#. module: base_calendar +#: view:res.alarm:0 +msgid "Reminder Details" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +msgid "To Review" +msgstr "" + +#. module: base_calendar +#: field:base.calendar.set.exrule,freq:0 +#: field:calendar.event,freq:0 +#: field:calendar.todo,freq:0 +msgid "Frequency" +msgstr "" + +#. module: base_calendar +#: selection:calendar.alarm,state:0 +msgid "Done" +msgstr "" + +#. module: base_calendar +#: help:calendar.event,interval:0 +#: help:calendar.todo,interval:0 +msgid "Repeat every (Days/Week/Month/Year)" +msgstr "" + +#. module: base_calendar +#: view:base_calendar.invite.attendee:0 +#: field:base_calendar.invite.attendee,user_ids:0 +msgid "Users" +msgstr "" + +#. module: base_calendar +#: view:base.calendar.set.exrule:0 +msgid "of" +msgstr "" + +#. module: base_calendar +#: view:base_calendar.invite.attendee:0 +#: view:calendar.event:0 +#: view:calendar.event.edit.all:0 +msgid "Cancel" +msgstr "Tika" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_res_users +msgid "res.users" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,week_list:0 +#: selection:calendar.event,week_list:0 +#: selection:calendar.todo,week_list:0 +msgid "Tuesday" +msgstr "Misálá míbalé" + +#. module: base_calendar +#: help:calendar.alarm,description:0 +msgid "" +"Provides a more complete description of the " +"calendar component, than that provided by the " +"\"SUMMARY\" property" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Responsible User" +msgstr "" + +#. module: base_calendar +#: selection:calendar.attendee,availability:0 +#: selection:calendar.event,show_as:0 +#: selection:calendar.todo,show_as:0 +#: selection:res.users,availability:0 +msgid "Busy" +msgstr "" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "" + +#. module: base_calendar +#: selection:calendar.attendee,state:0 +#: selection:calendar.event,state:0 +#: selection:calendar.todo,state:0 +msgid "Tentative" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,interval:0 +#: field:calendar.todo,interval:0 +msgid "Repeat every" +msgstr "" + +#. module: base_calendar +#: selection:calendar.event,end_type:0 +#: selection:calendar.todo,end_type:0 +msgid "Fix amout of times" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,recurrency:0 +#: field:calendar.todo,recurrency:0 +msgid "Recurrent" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,rrule_type:0 +#: field:calendar.todo,rrule_type:0 +msgid "Recurrency" +msgstr "" + +#. module: base_calendar +#: model:ir.actions.act_window,name:base_calendar.action_view_attendee_form +#: model:ir.ui.menu,name:base_calendar.menu_attendee_invitations +msgid "Event Invitations" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,week_list:0 +#: selection:calendar.event,week_list:0 +#: selection:calendar.todo,week_list:0 +msgid "Thursday" +msgstr "Misálá mínei" + +#. module: base_calendar +#: field:calendar.event,exrule:0 +#: field:calendar.todo,exrule:0 +msgid "Exception Rule" +msgstr "" + +#. module: base_calendar +#: help:calendar.attendee,language:0 +msgid "" +"To specify the language for text values in aproperty or property parameter." +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Details" +msgstr "" + +#. module: base_calendar +#: help:calendar.event,exrule:0 +#: help:calendar.todo,exrule:0 +msgid "" +"Defines a rule or repeating pattern of time to exclude from the recurring " +"rule." +msgstr "" + +#. module: base_calendar +#: field:base.calendar.set.exrule,month_list:0 +#: field:calendar.event,month_list:0 +#: field:calendar.todo,month_list:0 +msgid "Month" +msgstr "Sánzá" + +#. module: base_calendar +#: view:base_calendar.invite.attendee:0 +#: view:calendar.event:0 +msgid "Invite People" +msgstr "" + +#. module: base_calendar +#: help:calendar.event,rrule:0 +#: help:calendar.todo,rrule:0 +msgid "" +"Defines a rule or repeating pattern for recurring events\n" +"e.g.: Every other month on the last Sunday of the month for 10 occurrences: " +" FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=-1SU" +msgstr "" + +#. module: base_calendar +#: field:calendar.attendee,dir:0 +msgid "URI Reference" +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,description:0 +#: view:calendar.event:0 +#: field:calendar.event,description:0 +#: field:calendar.event,name:0 +#: field:calendar.todo,description:0 +#: field:calendar.todo,name:0 +msgid "Description" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,month_list:0 +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +msgid "May" +msgstr "máyí" + +#. module: base_calendar +#: field:base_calendar.invite.attendee,type:0 +#: view:calendar.attendee:0 +msgid "Type" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +msgid "Search Invitations" +msgstr "" + +#. module: base_calendar +#: selection:calendar.alarm,trigger_occurs:0 +#: selection:res.alarm,trigger_occurs:0 +msgid "After" +msgstr "" + +#. module: base_calendar +#: selection:calendar.alarm,state:0 +msgid "Stop" +msgstr "" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_ir_values +msgid "ir.values" +msgstr "" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_ir_model +msgid "Objects" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +#: selection:calendar.attendee,state:0 +msgid "Delegated" +msgstr "" + +#. module: base_calendar +#: field:base.calendar.set.exrule,sa:0 +#: field:calendar.event,sa:0 +#: field:calendar.todo,sa:0 +msgid "Sat" +msgstr "Mpɔ́" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Choose day where repeat the meeting" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,freq:0 +msgid "Minutely" +msgstr "" + +#. module: base_calendar +#: help:calendar.attendee,sent_by:0 +msgid "Specify the user that is acting on behalf of the calendar user" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +#: field:calendar.event.edit.all,date_deadline:0 +msgid "End Date" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,month_list:0 +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +msgid "February" +msgstr "febwáli" + +#. module: base_calendar +#: selection:calendar.event,freq:0 +#: selection:calendar.todo,freq:0 +msgid "Months" +msgstr "Sánzá" + +#. module: base_calendar +#: selection:calendar.attendee,cutype:0 +msgid "Resource" +msgstr "" + +#. module: base_calendar +#: field:res.alarm,name:0 +msgid "Name" +msgstr "Nkómbó" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_calendar_alarm +msgid "Event alarm information" +msgstr "" + +#. module: base_calendar +#: help:calendar.alarm,name:0 +msgid "" +"Contains the text to be used as the message subject for " +"email or contains the text to be used for display" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,alarm_id:0 +#: field:calendar.event,base_calendar_alarm_id:0 +#: field:calendar.todo,alarm_id:0 +#: field:calendar.todo,base_calendar_alarm_id:0 +msgid "Alarm" +msgstr "" + +#. module: base_calendar +#: code:addons/base_calendar/wizard/base_calendar_set_exrule.py:90 +#, python-format +msgid "Please Apply Recurrency before applying Exception Rule." +msgstr "" + +#. module: base_calendar +#: field:calendar.attendee,sent_by_uid:0 +msgid "Sent By User" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,month_list:0 +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +msgid "April" +msgstr "apríli" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Recurrency period" +msgstr "" + +#. module: base_calendar +#: field:base.calendar.set.exrule,week_list:0 +#: field:calendar.event,week_list:0 +#: field:calendar.todo,week_list:0 +msgid "Weekday" +msgstr "" + +#. module: base_calendar +#: field:base.calendar.set.exrule,byday:0 +#: field:calendar.event,byday:0 +#: field:calendar.todo,byday:0 +msgid "By day" +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,model_id:0 +msgid "Model" +msgstr "" + +#. module: base_calendar +#: selection:calendar.alarm,action:0 +msgid "Audio" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,id:0 +#: field:calendar.todo,id:0 +msgid "ID" +msgstr "ID" + +#. module: base_calendar +#: selection:calendar.attendee,role:0 +msgid "For information Purpose" +msgstr "" + +#. module: base_calendar +#: view:base_calendar.invite.attendee:0 +msgid "Invite" +msgstr "" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_calendar_attendee +msgid "Attendee information" +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,res_id:0 +msgid "Resource ID" +msgstr "" + +#. module: base_calendar +#: selection:calendar.attendee,state:0 +msgid "Needs Action" +msgstr "" + +#. module: base_calendar +#: field:calendar.attendee,sent_by:0 +msgid "Sent By" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,sequence:0 +#: field:calendar.todo,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: base_calendar +#: help:calendar.event,alarm_id:0 +#: help:calendar.todo,alarm_id:0 +msgid "Set an alarm at this time, before the event occurs" +msgstr "" + +#. module: base_calendar +#: selection:base_calendar.invite.attendee,type:0 +msgid "Internal User" +msgstr "" + +#. module: base_calendar +#: view:calendar.attendee:0 +#: view:calendar.event:0 +msgid "Accept" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,week_list:0 +#: selection:calendar.event,week_list:0 +#: selection:calendar.todo,week_list:0 +msgid "Saturday" +msgstr "Mpɔ́sɔ" + +#. module: base_calendar +#: view:calendar.attendee:0 +msgid "Invitation To" +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,byday:0 +#: selection:calendar.event,byday:0 +#: selection:calendar.todo,byday:0 +msgid "Second" +msgstr "" + +#. module: base_calendar +#: field:calendar.attendee,availability:0 +#: field:res.users,availability:0 +msgid "Free/Busy" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,end_type:0 +#: field:calendar.todo,end_type:0 +msgid "Way to end reccurency" +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,duration:0 +#: field:calendar.alarm,trigger_duration:0 +#: field:calendar.event,duration:0 +#: field:calendar.todo,date:0 +#: field:calendar.todo,duration:0 +#: field:res.alarm,duration:0 +#: field:res.alarm,trigger_duration:0 +msgid "Duration" +msgstr "" + +#. module: base_calendar +#: selection:base_calendar.invite.attendee,type:0 +msgid "External Email" +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,trigger_date:0 +msgid "Trigger Date" +msgstr "" + +#. module: base_calendar +#: help:calendar.alarm,attach:0 +msgid "" +"* Points to a sound resource, which is rendered when the " +"alarm is triggered for audio,\n" +" * File which is intended to be sent as message " +"attachments for email,\n" +" * Points to a procedure resource, which is invoked when " +" the alarm is triggered for procedure." +msgstr "" + +#. module: base_calendar +#: selection:base.calendar.set.exrule,byday:0 +#: selection:calendar.event,byday:0 +#: selection:calendar.todo,byday:0 +msgid "Fifth" +msgstr "" diff --git a/addons/hr_recruitment/i18n/vi.po b/addons/hr_recruitment/i18n/vi.po index 75f70858706..4f7b6dc5bd8 100644 --- a/addons/hr_recruitment/i18n/vi.po +++ b/addons/hr_recruitment/i18n/vi.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-05-30 04:59+0000\n" +"X-Launchpad-Export-Date: 2011-05-31 04:47+0000\n" "X-Generator: Launchpad (build 12959)\n" #. module: hr_recruitment diff --git a/addons/report_designer/i18n/tr.po b/addons/report_designer/i18n/tr.po new file mode 100644 index 00000000000..f5a4724b28a --- /dev/null +++ b/addons/report_designer/i18n/tr.po @@ -0,0 +1,107 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2011-01-11 11:15+0000\n" +"PO-Revision-Date: 2011-05-30 05:49+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-05-31 04:47+0000\n" +"X-Generator: Launchpad (build 12959)\n" + +#. module: report_designer +#: model:ir.actions.act_window,name:report_designer.action_report_designer_installer +#: view:report_designer.installer:0 +msgid "Reporting Tools Configuration" +msgstr "Raporlama Araçları Ayarları" + +#. module: report_designer +#: field:report_designer.installer,base_report_creator:0 +msgid "Query Builder" +msgstr "Sorgu Oluşturucu" + +#. module: report_designer +#: view:report_designer.installer:0 +msgid "Configure" +msgstr "Ayarlar" + +#. module: report_designer +#: view:report_designer.installer:0 +msgid "title" +msgstr "başlık" + +#. module: report_designer +#: model:ir.model,name:report_designer.model_report_designer_installer +msgid "report_designer.installer" +msgstr "Rapor_tasarımcısı.kurulum" + +#. module: report_designer +#: field:report_designer.installer,config_logo:0 +msgid "Image" +msgstr "Görüntü" + +#. module: report_designer +#: field:report_designer.installer,base_report_designer:0 +msgid "OpenOffice Report Designer" +msgstr "OpenOffice Rapor Tasarımcısı" + +#. module: report_designer +#: model:ir.module.module,shortdesc:report_designer.module_meta_information +msgid "Reporting Tools" +msgstr "Rapormala Araçları" + +#. module: report_designer +#: view:report_designer.installer:0 +msgid "" +"OpenERP's built-in reporting abilities can be improved even further with " +"some of the following applications" +msgstr "" +"OpenERP'nin içindeki raporlama becerileri aşağıdaki uygulamalarla " +"geliştirilebilir" + +#. module: report_designer +#: view:report_designer.installer:0 +msgid "Configure Reporting Tools" +msgstr "Raporlama Araçlarını Yapılandır" + +#. module: report_designer +#: help:report_designer.installer,base_report_creator:0 +msgid "" +"Allows you to create any statistic reports on several objects. It's a SQL " +"query builder and browser for end users." +msgstr "" +"Birçok nesne üstünde istatistiksel raporlar oluşturmanıza olanak sağlar. Son " +"kullanıcı için yapılmış bir SQL sorgu üretici ve tarayıcısıdır." + +#. module: report_designer +#: help:report_designer.installer,base_report_designer:0 +msgid "" +"Adds wizards to Import/Export .SXW report which you can modify in " +"OpenOffice.Once you have modified it you can upload the report using the " +"same wizard." +msgstr "" +"OpenOffice ile düzenleyebileceğiniz .SXW raporlarını sisteme yüklemek için " +"bir sihirbaz ekler. OpenOffice içinden şablonları indirip düzenleyip tekrar " +"sisteme yükleyebilirsiniz." + +#. module: report_designer +#: model:ir.module.module,description:report_designer.module_meta_information +msgid "" +"Installer for reporting tools selection\n" +" " +msgstr "" +"Seçilen raporlama aracı için yükleyici\n" +" " + +#. module: report_designer +#: field:report_designer.installer,progress:0 +msgid "Configuration Progress" +msgstr "Yapılandırma Gidişatı" From c404804f28a37dee65e74426e14c9c6c949f6a65 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 31 May 2011 08:13:26 +0200 Subject: [PATCH 02/12] [IMP] re-add lost base.controllers.__init__ bzr revid: xmo@openerp.com-20110531061326-gskit8sefxv56go2 --- addons/base/controllers/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 addons/base/controllers/__init__.py diff --git a/addons/base/controllers/__init__.py b/addons/base/controllers/__init__.py new file mode 100644 index 00000000000..e69de29bb2d From 9a5058a6b478b7778f9e824d1177b4daf82434dd Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 31 May 2011 08:33:13 +0200 Subject: [PATCH 03/12] [FIX] group cleanup issue during apoptosis: remove all children from storage otherwise risk of zombie children bzr revid: xmo@openerp.com-20110531063313-gv7z5vhwnrt5x6pg --- addons/base/static/src/js/list.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/base/static/src/js/list.js b/addons/base/static/src/js/list.js index fef509ce9b3..2fd4aff2e1c 100644 --- a/addons/base/static/src/js/list.js +++ b/addons/base/static/src/js/list.js @@ -1,5 +1,4 @@ openerp.base.list = function (openerp) { -'use strict'; openerp.base.views.add('list', 'openerp.base.ListView'); openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListView# */ { defaults: { @@ -868,6 +867,7 @@ openerp.base.ListView.Groups = Class.extend( /** @lends openerp.base.ListView.Gr _(this.children).each(function (child) { child.apoptosis(); }); + this.children = {}; $(this.elements).remove(); return this; }, From 134d61febaeac800581ddbfe17c79c09ed9e2067 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 31 May 2011 10:39:19 +0200 Subject: [PATCH 04/12] [FIX] tree/@editable value is top or bottom, 1 is not acceptable bzr revid: xmo@openerp.com-20110531083919-xx0chei0bm0ynq3x --- addons/project_messages/project_messages_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/project_messages/project_messages_view.xml b/addons/project_messages/project_messages_view.xml index 40e383ab8c9..4f74e7ebfbf 100644 --- a/addons/project_messages/project_messages_view.xml +++ b/addons/project_messages/project_messages_view.xml @@ -10,7 +10,7 @@ - + From b041c205ff4c8f39335a2b1afd5ece068d77ba50 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 31 May 2011 11:14:56 +0200 Subject: [PATCH 05/12] [REM] @editable on fields and forms, makes no sense bzr revid: xmo@openerp.com-20110531091456-kuyg11u9vtvxn8uv --- .../analytic_journal_billing_rate_view.xml | 2 +- addons/auction/auction_view.xml | 4 ++-- addons/crm_profiling/crm_profiling_view.xml | 2 +- addons/purchase_requisition/purchase_requisition_view.xml | 2 +- addons/stock_location/stock_location_view.xml | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/addons/analytic_journal_billing_rate/analytic_journal_billing_rate_view.xml b/addons/analytic_journal_billing_rate/analytic_journal_billing_rate_view.xml index b99c536198a..f2a366558ec 100644 --- a/addons/analytic_journal_billing_rate/analytic_journal_billing_rate_view.xml +++ b/addons/analytic_journal_billing_rate/analytic_journal_billing_rate_view.xml @@ -20,7 +20,7 @@ analytic_journal_rate_grid form -
+ diff --git a/addons/auction/auction_view.xml b/addons/auction/auction_view.xml index 4fa44fafc61..66cc9b3f743 100644 --- a/addons/auction/auction_view.xml +++ b/addons/auction/auction_view.xml @@ -375,7 +375,7 @@
- + @@ -709,7 +709,7 @@ -
+ diff --git a/addons/crm_profiling/crm_profiling_view.xml b/addons/crm_profiling/crm_profiling_view.xml index bf5413ebcae..258de2e4e2d 100644 --- a/addons/crm_profiling/crm_profiling_view.xml +++ b/addons/crm_profiling/crm_profiling_view.xml @@ -118,7 +118,7 @@ - + diff --git a/addons/purchase_requisition/purchase_requisition_view.xml b/addons/purchase_requisition/purchase_requisition_view.xml index c68c6dbbb89..f9813874c12 100644 --- a/addons/purchase_requisition/purchase_requisition_view.xml +++ b/addons/purchase_requisition/purchase_requisition_view.xml @@ -50,7 +50,7 @@ - + diff --git a/addons/stock_location/stock_location_view.xml b/addons/stock_location/stock_location_view.xml index a90f4f81623..f34d34da4ab 100644 --- a/addons/stock_location/stock_location_view.xml +++ b/addons/stock_location/stock_location_view.xml @@ -41,7 +41,7 @@ - + @@ -69,7 +69,7 @@ - + From 5695adf5e64724311cb5bca5c291afb193ed2fa3 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 31 May 2011 12:15:18 +0200 Subject: [PATCH 06/12] [IMP] @editable on forms and fields is nonsense, on trees it should only be able to take the values 'top' and 'bottom' bzr revid: xmo@openerp.com-20110531101518-1ycw1fjy5vczcf8g --- openerp/addons/base/ir/ir.xml | 2 +- openerp/addons/base/rng/view.rng | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/openerp/addons/base/ir/ir.xml b/openerp/addons/base/ir/ir.xml index 8647063a450..8b39ac925b2 100644 --- a/openerp/addons/base/ir/ir.xml +++ b/openerp/addons/base/ir/ir.xml @@ -1895,7 +1895,7 @@ Config Wizard Steps form -
+ diff --git a/openerp/addons/base/rng/view.rng b/openerp/addons/base/rng/view.rng index cff1887afac..cd2aac5cb13 100644 --- a/openerp/addons/base/rng/view.rng +++ b/openerp/addons/base/rng/view.rng @@ -72,7 +72,6 @@ - @@ -126,7 +125,14 @@ - + + + + top + bottom + + + @@ -412,7 +418,6 @@ - From 6672e72c466393af7370b35ce53d9cb245bc8182 Mon Sep 17 00:00:00 2001 From: Vo Minh Thu Date: Tue, 31 May 2011 14:53:22 +0200 Subject: [PATCH 07/12] [FIX] tools/config: default values always override the config files: - this bug was introduced by commit 3417.6.4 vmt@openerp.com-20110419134016-og6ye1hjrb0j52cl. bzr revid: vmt@openerp.com-20110531125322-myptetqusymunily --- openerp/tools/config.py | 111 ++++++++++++++++++++++------------------ 1 file changed, 62 insertions(+), 49 deletions(-) diff --git a/openerp/tools/config.py b/openerp/tools/config.py index 8fb1ecd04f4..7a10a774cf8 100644 --- a/openerp/tools/config.py +++ b/openerp/tools/config.py @@ -28,6 +28,23 @@ import openerp.loglevels as loglevels import logging import openerp.release as release +class MyOption (optparse.Option, object): + """ optparse Option with two additional attributes. + + The list of command line options (getopt.Option) is used to create the + list of the configuration file options. When reading the file, and then + reading the command line arguments, we don't want optparse.parse results + to override the configuration file values. But if we provide default + values to optparse, optparse will return them and we can't know if they + were really provided by the user or not. A solution is to not use + optparse's default attribute, but use a custom one (that will be copied + to create the default values of the configuration file). + + """ + def __init__(self, *opts, **attrs): + self.my_default = attrs.pop('my_default', None) + super(MyOption, self).__init__(*opts, **attrs) + def check_ssl(): try: from OpenSSL import SSL @@ -63,7 +80,7 @@ class configmanager(object): for x in ('CRITICAL', 'ERROR', 'WARNING', 'INFO', 'TEST', 'DEBUG', 'DEBUG_RPC', 'DEBUG_SQL', 'DEBUG_RPC_ANSWER','NOTSET')]) version = "%s %s" % (release.description, release.version) - self.parser = parser = optparse.OptionParser(version=version) + self.parser = parser = optparse.OptionParser(version=version, option_class=MyOption) # Server startup config group = optparse.OptionGroup(parser, "Common options") @@ -75,18 +92,18 @@ class configmanager(object): help="update one or more modules (comma-separated list, use \"all\" for all modules). Requires -d.") group.add_option("--without-demo", dest="without_demo", help="disable loading demo data for modules to be installed (comma-separated, use \"all\" for all modules). Requires -d and -i. Default is %default", - default=False) - group.add_option("-P", "--import-partial", dest="import_partial", default='', + my_default=False) + group.add_option("-P", "--import-partial", dest="import_partial", my_default='', help="Use this for big data importation, if it crashes you will be able to continue at the current state. Provide a filename to store intermediate importation states.") group.add_option("--pidfile", dest="pidfile", help="file where the server pid will be stored") parser.add_option_group(group) group = optparse.OptionGroup(parser, "XML-RPC Configuration") - group.add_option("--xmlrpc-interface", dest="xmlrpc_interface", default='', + group.add_option("--xmlrpc-interface", dest="xmlrpc_interface", my_default='', help="Specify the TCP IP address for the XML-RPC protocol. The empty string binds to all interfaces.") - group.add_option("--xmlrpc-port", dest="xmlrpc_port", default=8069, + group.add_option("--xmlrpc-port", dest="xmlrpc_port", my_default=8069, help="specify the TCP port for the XML-RPC protocol", type="int") - group.add_option("--no-xmlrpc", dest="xmlrpc", action="store_false", default=True, + group.add_option("--no-xmlrpc", dest="xmlrpc", action="store_false", my_default=True, help="disable the XML-RPC protocol") parser.add_option_group(group) @@ -95,91 +112,91 @@ class configmanager(object): title += " (disabled as ssl is unavailable)" group = optparse.OptionGroup(parser, title) - group.add_option("--xmlrpcs-interface", dest="xmlrpcs_interface", default='', + group.add_option("--xmlrpcs-interface", dest="xmlrpcs_interface", my_default='', help="Specify the TCP IP address for the XML-RPC Secure protocol. The empty string binds to all interfaces.") - group.add_option("--xmlrpcs-port", dest="xmlrpcs_port", default=8071, + group.add_option("--xmlrpcs-port", dest="xmlrpcs_port", my_default=8071, help="specify the TCP port for the XML-RPC Secure protocol", type="int") - group.add_option("--no-xmlrpcs", dest="xmlrpcs", action="store_false", default=True, + group.add_option("--no-xmlrpcs", dest="xmlrpcs", action="store_false", my_default=True, help="disable the XML-RPC Secure protocol") - group.add_option("--cert-file", dest="secure_cert_file", default='server.cert', + group.add_option("--cert-file", dest="secure_cert_file", my_default='server.cert', help="specify the certificate file for the SSL connection") - group.add_option("--pkey-file", dest="secure_pkey_file", default='server.pkey', + group.add_option("--pkey-file", dest="secure_pkey_file", my_default='server.pkey', help="specify the private key file for the SSL connection") parser.add_option_group(group) # NET-RPC group = optparse.OptionGroup(parser, "NET-RPC Configuration") - group.add_option("--netrpc-interface", dest="netrpc_interface", default='', + group.add_option("--netrpc-interface", dest="netrpc_interface", my_default='', help="specify the TCP IP address for the NETRPC protocol") - group.add_option("--netrpc-port", dest="netrpc_port", default=8070, + group.add_option("--netrpc-port", dest="netrpc_port", my_default=8070, help="specify the TCP port for the NETRPC protocol", type="int") - group.add_option("--no-netrpc", dest="netrpc", action="store_false", default=True, + group.add_option("--no-netrpc", dest="netrpc", action="store_false", my_default=True, help="disable the NETRPC protocol") parser.add_option_group(group) # Static HTTP group = optparse.OptionGroup(parser, "Static HTTP service") - group.add_option("--static-http-enable", dest="static_http_enable", action="store_true", default=False, help="enable static HTTP service for serving plain HTML files") + group.add_option("--static-http-enable", dest="static_http_enable", action="store_true", my_default=False, help="enable static HTTP service for serving plain HTML files") group.add_option("--static-http-document-root", dest="static_http_document_root", help="specify the directory containing your static HTML files (e.g '/var/www/')") group.add_option("--static-http-url-prefix", dest="static_http_url_prefix", help="specify the URL root prefix where you want web browsers to access your static HTML files (e.g '/')") parser.add_option_group(group) # Testing Group group = optparse.OptionGroup(parser, "Testing Configuration") - group.add_option("--test-file", dest="test_file", default=False, + group.add_option("--test-file", dest="test_file", my_default=False, help="Launch a YML test file.") - group.add_option("--test-report-directory", dest="test_report_directory", default=False, + group.add_option("--test-report-directory", dest="test_report_directory", my_default=False, help="If set, will save sample of all reports in this directory.") group.add_option("--test-disable", action="store_true", dest="test_disable", - default=False, help="Disable loading test files.") + my_default=False, help="Disable loading test files.") group.add_option("--test-commit", action="store_true", dest="test_commit", - default=False, help="Commit database changes performed by tests.") + my_default=False, help="Commit database changes performed by tests.") group.add_option("--assert-exit-level", dest='assert_exit_level', type="choice", choices=self._LOGLEVELS.keys(), - default='error', + my_default='error', help="specify the level at which a failed assertion will stop the server. Accepted values: %s" % (self._LOGLEVELS.keys(),)) parser.add_option_group(group) # Logging Group group = optparse.OptionGroup(parser, "Logging Configuration") group.add_option("--logfile", dest="logfile", help="file where the server log will be stored") - group.add_option("--no-logrotate", dest="logrotate", action="store_false", default=True, + group.add_option("--no-logrotate", dest="logrotate", action="store_false", my_default=True, help="do not rotate the logfile") group.add_option("--syslog", action="store_true", dest="syslog", - default=False, help="Send the log to the syslog server") + my_default=False, help="Send the log to the syslog server") group.add_option('--log-level', dest='log_level', type='choice', choices=self._LOGLEVELS.keys(), - default='info', + my_default='info', help='specify the level of the logging. Accepted values: ' + str(self._LOGLEVELS.keys())) parser.add_option_group(group) # SMTP Group group = optparse.OptionGroup(parser, "SMTP Configuration") - group.add_option('--email-from', dest='email_from', default=False, + group.add_option('--email-from', dest='email_from', my_default=False, help='specify the SMTP email address for sending email') - group.add_option('--smtp', dest='smtp_server', default='localhost', + group.add_option('--smtp', dest='smtp_server', my_default='localhost', help='specify the SMTP server for sending email') - group.add_option('--smtp-port', dest='smtp_port', default=25, + group.add_option('--smtp-port', dest='smtp_port', my_default=25, help='specify the SMTP port', type="int") - group.add_option('--smtp-ssl', dest='smtp_ssl', action='store_true', default=False, + group.add_option('--smtp-ssl', dest='smtp_ssl', action='store_true', my_default=False, help='specify the SMTP server support SSL or not') - group.add_option('--smtp-user', dest='smtp_user', default=False, + group.add_option('--smtp-user', dest='smtp_user', my_default=False, help='specify the SMTP username for sending email') - group.add_option('--smtp-password', dest='smtp_password', default=False, + group.add_option('--smtp-password', dest='smtp_password', my_default=False, help='specify the SMTP password for sending email') parser.add_option_group(group) group = optparse.OptionGroup(parser, "Database related options") - group.add_option("-d", "--database", dest="db_name", default=False, + group.add_option("-d", "--database", dest="db_name", my_default=False, help="specify the database name") - group.add_option("-r", "--db_user", dest="db_user", default=False, + group.add_option("-r", "--db_user", dest="db_user", my_default=False, help="specify the database user name") - group.add_option("-w", "--db_password", dest="db_password", default=False, + group.add_option("-w", "--db_password", dest="db_password", my_default=False, help="specify the database password") group.add_option("--pg_path", dest="pg_path", help="specify the pg executable path") - group.add_option("--db_host", dest="db_host", default=False, + group.add_option("--db_host", dest="db_host", my_default=False, help="specify the database host") - group.add_option("--db_port", dest="db_port", default=False, + group.add_option("--db_port", dest="db_port", my_default=False, help="specify the database port", type="int") - group.add_option("--db_maxconn", dest="db_maxconn", type='int', default=64, + group.add_option("--db_maxconn", dest="db_maxconn", type='int', my_default=64, help="specify the the maximum number of physical connections to posgresql") parser.add_option_group(group) @@ -191,13 +208,12 @@ class configmanager(object): group.add_option('--load-language', dest="load_language", help="specifies the languages for the translations you want to be loaded") group.add_option('-l', "--language", dest="language", - default=None, help="specify the language of the translation file. Use it with --i18n-export or --i18n-import") group.add_option("--i18n-export", dest="translate_out", help="export all sentences to be translated to a CSV file, a PO file or a TGZ archive and exit") group.add_option("--i18n-import", dest="translate_in", help="import a CSV or a PO file with translations and exit. The '-l' option is required.") - group.add_option("--i18n-overwrite", dest="overwrite_existing_translations", action="store_true", default=False, + group.add_option("--i18n-overwrite", dest="overwrite_existing_translations", action="store_true", my_default=False, help="overwrites existing translation terms on updating a module or importing a CSV or a PO file.") group.add_option("--modules", dest="translate_modules", help="specify modules to export. Use in combination with --i18n-export") @@ -207,37 +223,34 @@ class configmanager(object): parser.add_option_group(group) security = optparse.OptionGroup(parser, 'Security-related options') - security.add_option('--no-database-list', action="store_false", dest='list_db', default=True, + security.add_option('--no-database-list', action="store_false", dest='list_db', my_default=True, help="disable the ability to return the list of databases") parser.add_option_group(security) # Advanced options group = optparse.OptionGroup(parser, "Advanced options") - group.add_option("--cache-timeout", dest="cache_timeout", default=100000, + group.add_option("--cache-timeout", dest="cache_timeout", my_default=100000, help="set the timeout for the cache system", type="int") - group.add_option('--debug', dest='debug_mode', action='store_true', default=False, help='enable debug mode') - group.add_option("--stop-after-init", action="store_true", dest="stop_after_init", default=False, + group.add_option('--debug', dest='debug_mode', action='store_true', my_default=False, help='enable debug mode') + group.add_option("--stop-after-init", action="store_true", dest="stop_after_init", my_default=False, help="stop the server after its initialization") - group.add_option("-t", "--timezone", dest="timezone", default=False, + group.add_option("-t", "--timezone", dest="timezone", my_default=False, help="specify reference timezone for the server (e.g. Europe/Brussels") - group.add_option("--osv-memory-count-limit", dest="osv_memory_count_limit", default=False, + group.add_option("--osv-memory-count-limit", dest="osv_memory_count_limit", my_default=False, help="Force a limit on the maximum number of records kept in the virtual " "osv_memory tables. The default is False, which means no count-based limit.", type="int") - group.add_option("--osv-memory-age-limit", dest="osv_memory_age_limit", default=1.0, + group.add_option("--osv-memory-age-limit", dest="osv_memory_age_limit", my_default=1.0, help="Force a limit on the maximum age of records kept in the virtual " "osv_memory tables. This is a decimal value expressed in hours, " "and the default is 1 hour.", type="float") parser.add_option_group(group) - # Copy all optparse options into self.options. + # Copy all optparse options (i.e. MyOption) into self.options. for group in parser.option_groups: for option in group.option_list: - if option.default == ('NO', 'DEFAULT'): - self.options[option.dest] = None - else: - self.options[option.dest] = option.default + self.options[option.dest] = option.my_default self.parse_config() From f6d4bdc55539bd25056aff41a3d9d27cdd306299 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Tue, 31 May 2011 15:01:54 +0200 Subject: [PATCH 08/12] Import old branch. bzr revid: nicolas.vanhoren@openerp.com-20110531130154-45t27asxk5pcr7sd --- addons/base/static/src/js/data.js | 17 +++++++-- addons/base/static/src/js/form.js | 54 +++++++++++++++++++---------- addons/base/static/src/js/search.js | 2 +- 3 files changed, 50 insertions(+), 23 deletions(-) diff --git a/addons/base/static/src/js/data.js b/addons/base/static/src/js/data.js index 7582e99b662..b4583e9a902 100644 --- a/addons/base/static/src/js/data.js +++ b/addons/base/static/src/js/data.js @@ -310,6 +310,7 @@ openerp.base.DataSet = openerp.base.Controller.extend( /** @lends openerp.base. }, callback); }, unlink: function(ids) { + // to implement in children this.notification.notify("Unlink", ids); }, call: function (method, ids, args, callback) { @@ -343,15 +344,25 @@ openerp.base.DataSet = openerp.base.Controller.extend( /** @lends openerp.base. }); openerp.base.DataSetStatic = openerp.base.DataSet.extend({ - init: function(session, model) { + init: function(session, model, ids) { this._super(session, model); // all local records - this.ids = []; - this.count = 0; + this.ids = ids || []; + this.count = this.ids.length; }, read_slice: function (fields, offset, limit, callback) { var end_pos = limit && limit !== -1 ? offset + limit : undefined; this.read_ids(this.ids.slice(offset, end_pos), fields, callback); + }, + set_ids: function (ids) { + this.ids = ids; + this.count = this.ids.length; + }, + unlink: function(ids) { + this.on_unlink(ids); + }, + on_unlink: function(ids) { + // event } }); diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 98c8cd75267..e22e8f582c1 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -989,14 +989,14 @@ openerp.base.form.FieldMany2One = openerp.base.form.Field.extend({ }); openerp.base.form.FieldOne2ManyDatasSet = openerp.base.DataSetStatic.extend({ - start: function() { + /*start: function() { }, write: function (id, data, callback) { this._super(id, data, callback); }, unlink: function() { this.notification.notify('Unlinking o2m ' + this.ids); - } + }*/ }); openerp.base.form.FieldOne2ManyViewManager = openerp.base.ViewManager.extend({ @@ -1010,33 +1010,52 @@ openerp.base.form.FieldOne2Many = openerp.base.form.Field.extend({ init: function(view, node) { this._super(view, node); this.template = "FieldOne2Many"; - this.operations = []; }, start: function() { this._super.apply(this, arguments); - this.log("o2m.start"); var views = [ [false,"list"], [false,"form"] ]; this.dataset = new openerp.base.form.FieldOne2ManyDatasSet(this.session, this.field.relation); - this.viewmanager = new openerp.base.form.FieldOne2ManyViewManager(this.view.session, this.element_id, this.dataset, views); + this.dataset.ids = []; + this.dataset.count = 0; + this.viewmanager = new openerp.base.form.FieldOne2ManyViewManager(this.view.session, + this.element_id, this.dataset, views); this.viewmanager.start(); + + var self = this; + var hack = {loaded: false}; + var view = this.viewmanager.views[this.viewmanager.active_view].controller; + view.on_loaded.add_last(function() { + if (! hack.loaded) { + self.is_started = true; + self.check_load(); + hack.loaded = true; + } + }); }, set_value: function(value) { - this.value = value; - if (value != false) { - this.log("o2m.set_value",value); - this.viewmanager.dataset.ids = value; - this.viewmanager.dataset.count = value.length; + if(value != false) { + this.dataset.ids = value; + this.dataset.count = value.length; + this.is_setted = true; + this.check_load(); } }, get_value: function(value) { - return this.operations; + //TODO + return []; }, - update_dom: function() { + /*update_dom: function() { this._super.apply(this, arguments); this.$element.toggleClass('disabled', this.readonly); this.$element.toggleClass('required', this.required); }, on_ui_change: function() { + },*/ + check_load: function() { + if(this.is_started && this.is_setted) { + var view = this.viewmanager.views[this.viewmanager.active_view].controller; + view.reload_view(); + } } }); @@ -1074,8 +1093,7 @@ openerp.base.form.FieldMany2Many = openerp.base.form.Field.extend({ }, set_value: function(value) { if (value != false) { - this.dataset.ids = value; - this.dataset.count = value.length; + this.dataset.set_ids(value); this.is_setted = true; this.check_load(); } @@ -1092,8 +1110,7 @@ openerp.base.form.FieldMany2Many = openerp.base.form.Field.extend({ openerp.base.form.Many2ManyListView = openerp.base.ListView.extend({ do_delete: function (ids) { - this.dataset.ids = _.without.apply(null, [this.dataset.ids].concat(ids)); - this.dataset.count = this.dataset.ids.length; + this.dataset.set_ids(_.without.apply(null, [this.dataset.ids].concat(ids))); this.reload_content(); this.m2m_field.on_ui_change(); @@ -1105,8 +1122,7 @@ openerp.base.form.Many2ManyListView = openerp.base.ListView.extend({ var self = this; pop.on_select_element.add(function(element_id) { if(! _.detect(self.dataset.ids, function(x) {return x == element_id;})) { - self.dataset.ids.push(element_id); - self.dataset.count = self.dataset.ids.length; + self.dataset.ids.set_ids([].concat(self.dataset.ids, [element_id])); self.reload_content(); } pop.stop(); @@ -1174,7 +1190,7 @@ openerp.base.form.Many2XSelectPopup = openerp.base.BaseWidget.extend({ var tmphack = {"loaded": false}; self.view_list.on_loaded.add_last(function() { if ( !tmphack.loaded ) { - self.view_list.reload_view(); + self.searchview.do_search(); tmphack.loaded = true; }; }); diff --git a/addons/base/static/src/js/search.js b/addons/base/static/src/js/search.js index e5e726f98eb..4c23f64bcbb 100644 --- a/addons/base/static/src/js/search.js +++ b/addons/base/static/src/js/search.js @@ -3,7 +3,7 @@ openerp.base.search = function(openerp) { openerp.base.SearchView = openerp.base.Controller.extend({ init: function(view_manager, session, element_id, dataset, view_id, defaults) { this._super(session, element_id); - this.view_manager = view_manager; + this.view_manager = view_manager || new openerp.base.NullViewManager(); this.dataset = dataset; this.model = dataset.model; this.view_id = view_id; From fd9c0f359e9dcb9c1a94179025d1652e1d4929fe Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Tue, 31 May 2011 15:14:14 +0200 Subject: [PATCH 09/12] [fix] small typo in m2m bzr revid: nicolas.vanhoren@openerp.com-20110531131414-em4fcrbwfiqcq6g1 --- addons/base/static/src/js/form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index e22e8f582c1..864234f4b7f 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -1122,7 +1122,7 @@ openerp.base.form.Many2ManyListView = openerp.base.ListView.extend({ var self = this; pop.on_select_element.add(function(element_id) { if(! _.detect(self.dataset.ids, function(x) {return x == element_id;})) { - self.dataset.ids.set_ids([].concat(self.dataset.ids, [element_id])); + self.dataset.set_ids([].concat(self.dataset.ids, [element_id])); self.reload_content(); } pop.stop(); From b5bb00cdd3208513997a8b00a338b78045c5bca0 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Tue, 31 May 2011 16:02:58 +0200 Subject: [PATCH 10/12] [FIX] hr: display the expected number of employees and number of employees when grouping bzr revid: qdp-launchpad@openerp.com-20110531140258-p30r6fq5wuyl8j7h --- addons/hr/hr.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/hr/hr.py b/addons/hr/hr.py index 59e4129fec7..8a49fd876ba 100644 --- a/addons/hr/hr.py +++ b/addons/hr/hr.py @@ -92,8 +92,8 @@ class hr_job(osv.osv): _description = "Job Description" _columns = { 'name': fields.char('Job Name', size=128, required=True, select=True), - 'expected_employees': fields.function(_no_of_employee, method=True, string='Expected Employees', help='Required number of Employees in total for that job.', multi="no_of_employee"), - 'no_of_employee': fields.function(_no_of_employee, method=True, string="No of Employee", help='Number of employee with that job.', multi="no_of_employee"), + 'expected_employees': fields.function(_no_of_employee, method=True, string='Expected Employees', help='Required number of Employees in total for that job.', multi="no_of_employee", store=True), + 'no_of_employee': fields.function(_no_of_employee, method=True, string="No of Employee", help='Number of employee with that job.', multi="no_of_employee", store=True), 'no_of_recruitment': fields.float('Expected in Recruitment'), 'employee_ids': fields.one2many('hr.employee', 'job_id', 'Employees'), 'description': fields.text('Job Description'), From 107b1ebbc4ab1bf1a8f36131045c957640685982 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Tue, 31 May 2011 17:12:31 +0200 Subject: [PATCH 11/12] [IMP] account: added treasury report bzr revid: qdp-launchpad@openerp.com-20110531151231-pg36qumj491j8fsx --- addons/account/__openerp__.py | 1 + addons/account/report/__init__.py | 1 + .../account/report/account_treasury_report.py | 81 +++++++++++++++++++ .../report/account_treasury_report_view.xml | 62 ++++++++++++++ 4 files changed, 145 insertions(+) create mode 100644 addons/account/report/account_treasury_report.py create mode 100644 addons/account/report/account_treasury_report_view.xml diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py index 3b04713a1bb..e4059896783 100644 --- a/addons/account/__openerp__.py +++ b/addons/account/__openerp__.py @@ -59,6 +59,7 @@ module named account_voucher. 'account_menuitem.xml', 'report/account_invoice_report_view.xml', 'report/account_entries_report_view.xml', + 'report/account_treasury_report_view.xml', 'report/account_report_view.xml', 'report/account_analytic_entries_report_view.xml', 'wizard/account_move_bank_reconcile_view.xml', diff --git a/addons/account/report/__init__.py b/addons/account/report/__init__.py index d525d3a331b..7c09027f3ca 100644 --- a/addons/account/report/__init__.py +++ b/addons/account/report/__init__.py @@ -41,6 +41,7 @@ import account_entries_report import account_analytic_entries_report import account_balance_sheet import account_profit_loss +import account_treasury_report # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account/report/account_treasury_report.py b/addons/account/report/account_treasury_report.py new file mode 100644 index 00000000000..f8c569c82f7 --- /dev/null +++ b/addons/account/report/account_treasury_report.py @@ -0,0 +1,81 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +import tools +from osv import fields,osv +import decimal_precision as dp + +class account_treasury_report(osv.osv): + _name = "account.treasury.report" + _description = "Treasury Analysis" + _auto = False + + def _compute_balances(self, cr, uid, ids, field_names, arg=None, context=None, + query='', query_params=()): + all_treasury_lines = self.search(cr, uid, [], context=context) + ref_dict = {} + current_sum = 0 + res = dict((id, dict((fn, 0.0) for fn in field_names)) for id in all_treasury_lines) + for record in self.browse(cr, uid, all_treasury_lines, context=context): + res[record.id]['starting_balance'] = current_sum + current_sum += record.balance + res[record.id]['ending_balance'] = current_sum + return res + + _columns = { + 'fiscalyear_id': fields.many2one('account.fiscalyear', 'Fiscalyear', readonly=True), + 'period_id': fields.many2one('account.period', 'Period', readonly=True), + 'debit': fields.float('Debit', readonly=True), + 'credit': fields.float('Credit', readonly=True), + 'balance': fields.float('Balance', readonly=True), + 'date': fields.date('Beginning of Period Date', readonly=True), + 'starting_balance': fields.function(_compute_balances, digits_compute=dp.get_precision('Account'), method=True, string='Starting Balance', multi='balance'), + 'ending_balance': fields.function(_compute_balances, digits_compute=dp.get_precision('Account'), method=True, string='Ending Balance', multi='balance'), + 'company_id': fields.many2one('res.company', 'Company', readonly=True), + } + + _order = 'date asc' + + + def init(self, cr): + tools.drop_view_if_exists(cr, 'account_treasury_report') + cr.execute(""" + create or replace view account_treasury_report as ( + select + p.id as id, + p.fiscalyear_id as fiscalyear_id, + p.id as period_id, + sum(l.debit) as debit, + sum(l.credit) as credit, + sum(l.debit-l.credit) as balance, + p.date_start as date, + am.company_id as company_id + from + account_move_line l + left join account_account a on (l.account_id = a.id) + left join account_move am on (am.id=l.move_id) + left join account_period p on (am.period_id=p.id) + where l.state != 'draft' + and a.type = 'liquidity' + group by p.id, p.fiscalyear_id, p.date_start, am.company_id + ) + """) +account_treasury_report() diff --git a/addons/account/report/account_treasury_report_view.xml b/addons/account/report/account_treasury_report_view.xml new file mode 100644 index 00000000000..2168df809e2 --- /dev/null +++ b/addons/account/report/account_treasury_report_view.xml @@ -0,0 +1,62 @@ + + + + + account.treasury.report.tree + account.treasury.report + tree + + + + + + + + + + + + + + + + account.treasury.report.graph + account.treasury.report + graph + + + + + + + + + account.treasury.report.search + account.treasury.report + search + + + + + + + + + + + + Treasury Analysis + account.treasury.report + form + tree,graph + + + {'group_by':[], 'group_by_no_leaf':0} + From this view, have an analysis of your treasury. It sums the balance of every accounting entries made on liquidity accounts per period. + + + + From 358f6881f3c0062db737426b473ee15103e1065d Mon Sep 17 00:00:00 2001 From: Vo Minh Thu Date: Tue, 31 May 2011 17:27:11 +0200 Subject: [PATCH 12/12] [REF] openerp/report/render/render.py: removed silly main() method, rewrote french comment in english. bzr revid: vmt@openerp.com-20110531152711-49kyo4xhtak3r874 --- openerp/report/render/render.py | 28 ++++++---------------------- 1 file changed, 6 insertions(+), 22 deletions(-) diff --git a/openerp/report/render/render.py b/openerp/report/render/render.py index 0d00701ee54..8ab88909c77 100644 --- a/openerp/report/render/render.py +++ b/openerp/report/render/render.py @@ -26,15 +26,7 @@ # Add a transparant multi-thread layer to all report rendering layers # -import threading - -# # TODO: method to stock on the disk -# Les class de reporting doivent surclasser cette classe -# Les seules methodes qui peuvent etre redefinies sont: -# __init__ -# _render -# class render(object): """ Represents a report job being rendered. @@ -46,6 +38,10 @@ class render(object): If a string is absolute path, it will be opened as such, else it will be passed to tools.file_open() which also considers zip addons. + + Reporting classes must subclass this class and redefine the __init__ and + _render methods (not the other methods). + """ def __init__(self, bin_datas=None, path='.'): self.done = False @@ -60,14 +56,12 @@ class render(object): def render(self): self.done = False - result = self._render() - self._result = result + self._result = self._render() self.done = True return True def is_done(self): - res = self.done - return res + return self.done def get(self): if self.is_done(): @@ -75,16 +69,6 @@ class render(object): else: return None -if __name__=='__main__': - import time - print 'Multi-thread code !' - r = render() - r.render() - while not r.is_done(): - print 'not yet!' - time.sleep(1) - print 'done!' - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: