diff --git a/openerp/addons/base/i18n/en_GB.po b/openerp/addons/base/i18n/en_GB.po index 95b3dc5265d..d54c84778f0 100644 --- a/openerp/addons/base/i18n/en_GB.po +++ b/openerp/addons/base/i18n/en_GB.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-server\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2011-01-11 11:14+0000\n" -"PO-Revision-Date: 2010-12-21 15:20+0000\n" -"Last-Translator: OpenERP Administrators \n" +"PO-Revision-Date: 2011-06-17 14:39+0000\n" +"Last-Translator: John Bradshaw \n" "Language-Team: English (United Kingdom) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-01-12 04:53+0000\n" -"X-Generator: Launchpad (build Unknown)\n" +"X-Launchpad-Export-Date: 2011-06-18 04:56+0000\n" +"X-Generator: Launchpad (build 13168)\n" #. module: base #: view:ir.filters:0 @@ -48,6 +48,8 @@ msgid "" "The second argument of the many2many field %s must be a SQL table !You used " "%s, which is not a valid SQL table name." msgstr "" +"The second argument of the many2many field %s must be a SQL table !You used " +"%s, which is not a valid SQL table name." #. module: base #: view:ir.values:0 @@ -118,6 +120,8 @@ msgid "" "You can not write in this document (%s) ! Be sure your user belongs to one " "of these groups: %s." msgstr "" +"You can not write in this document (%s) ! Be sure your user belongs to one " +"of these groups: %s." #. module: base #: help:ir.model.fields,domain:0 @@ -126,6 +130,9 @@ msgid "" "specified as a Python expression defining a list of triplets. For example: " "[('color','=','red')]" msgstr "" +"The optional domain to restrict possible values for relationship fields, " +"specified as a Python expression defining a list of triplets. For example: " +"[('color','=','red')]" #. module: base #: field:res.partner,ref:0 @@ -141,7 +148,7 @@ msgstr "Target Window" #: code:addons/base/res/res_user.py:507 #, python-format msgid "Warning!" -msgstr "" +msgstr "Warning!" #. module: base #: code:addons/base/ir/ir_model.py:304 @@ -150,12 +157,14 @@ msgid "" "Properties of base fields cannot be altered in this manner! Please modify " "them through Python code, preferably through a custom addon!" msgstr "" +"Properties of base fields cannot be altered in this manner! Please modify " +"them through Python code, preferably through a custom addon!" #. module: base #: code:addons/osv.py:133 #, python-format msgid "Constraint Error" -msgstr "" +msgstr "Constraint Error" #. module: base #: model:ir.model,name:base.model_ir_ui_view_custom @@ -172,7 +181,7 @@ msgstr "Swaziland" #: code:addons/orm.py:3653 #, python-format msgid "created." -msgstr "" +msgstr "created." #. module: base #: model:res.partner.category,name:base.res_partner_category_woodsuppliers0 @@ -276,7 +285,7 @@ msgstr "Wizard Name" #: code:addons/orm.py:2160 #, python-format msgid "Invalid group_by" -msgstr "" +msgstr "Invalid group_by" #. module: base #: field:res.partner,credit_limit:0 @@ -396,7 +405,7 @@ msgstr "On checking this successive reports are generated from cache." #: code:addons/orm.py:904 #, python-format msgid "The read method is not implemented on this object !" -msgstr "" +msgstr "The read method is not implemented on this object !" #. module: base #: help:res.lang,iso_code:0 @@ -406,7 +415,7 @@ msgstr "PO files must use this ISO code for transalations" #. module: base #: view:base.module.upgrade:0 msgid "Your system will be updated." -msgstr "" +msgstr "Your system will be updated." #. module: base #: field:ir.actions.todo,note:0 @@ -433,7 +442,7 @@ msgstr "Schedule Upgrade" #: code:addons/orm.py:838 #, python-format msgid "Key/value '%s' not found in selection field '%s'" -msgstr "" +msgstr "Key/value '%s' not found in selection field '%s'" #. module: base #: help:res.country,code:0 @@ -740,7 +749,7 @@ msgstr "" #: code:addons/orm.py:1043 #, python-format msgid "The unlink method is not implemented on this object !" -msgstr "" +msgstr "The unlink method is not implemented on this object !" #. module: base #: model:ir.actions.act_window,name:base.act_menu_create @@ -813,6 +822,8 @@ msgid "" "Language with code \"%s\" is not defined in your system !\n" "Define it through the Administration menu." msgstr "" +"Language with code \"%s\" is not defined in your system !\n" +"Define it through the Administration menu." #. module: base #: model:res.country,name:base.gu @@ -828,7 +839,7 @@ msgstr "Human Resources Dashboard" #: code:addons/base/res/res_user.py:507 #, python-format msgid "Setting empty passwords is not allowed for security reasons!" -msgstr "" +msgstr "Setting empty passwords is not allowed for security reasons!" #. module: base #: selection:ir.actions.server,state:0 @@ -862,7 +873,7 @@ msgstr "Transitions" #: code:addons/orm.py:4020 #, python-format msgid "Record #%d of %s not found, cannot copy!" -msgstr "" +msgstr "Record #%d of %s not found, cannot copy!" #. module: base #: field:ir.module.module,contributors:0 @@ -967,7 +978,7 @@ msgstr "Marshall Islands" #: code:addons/base/ir/ir_model.py:328 #, python-format msgid "Changing the model of a field is forbidden!" -msgstr "" +msgstr "Changing the model of a field is forbidden!" #. module: base #: model:res.country,name:base.ht @@ -989,6 +1000,10 @@ msgid "" "reference it\n" "- creation/update: a mandatory field is not correctly set" msgstr "" +"The operation cannot be completed, probably due to the following:\n" +"- deletion: you may be trying to delete a record while other records still " +"reference it\n" +"- creation/update: a mandatory field is not correctly set" #. module: base #: view:ir.rule:0 @@ -1001,7 +1016,7 @@ msgstr "" #: code:addons/base/res/res_user.py:206 #, python-format msgid "Operation Canceled" -msgstr "" +msgstr "Operation Cancelled" #. module: base #: help:base.language.export,lang:0 @@ -1099,7 +1114,7 @@ msgstr "" #: code:addons/orm.py:1744 #, python-format msgid "The search method is not implemented on this object !" -msgstr "" +msgstr "The search method is not implemented on this object !" #. module: base #: view:wizard.ir.model.menu.create:0 @@ -1210,7 +1225,7 @@ msgstr "Wizard Info" #: model:ir.actions.act_window,name:base.action_wizard_lang_export #: model:ir.ui.menu,name:base.menu_wizard_lang_export msgid "Export Translation" -msgstr "" +msgstr "Export Translation" #. module: base #: help:res.log,secondary:0 @@ -1491,7 +1506,7 @@ msgstr "" #: code:addons/fields.py:114 #, python-format msgid "Not implemented search_memory method !" -msgstr "" +msgstr "Not implemented search_memory method !" #. module: base #: view:res.log:0 @@ -1570,7 +1585,7 @@ msgstr "Number of modules updated" #: code:addons/fields.py:100 #, python-format msgid "Not implemented set_memory method !" -msgstr "" +msgstr "Not implemented set_memory method !" #. module: base #: view:workflow.activity:0 @@ -1660,7 +1675,7 @@ msgstr "" #: code:addons/orm.py:3147 #, python-format msgid "A document was modified since you last viewed it (%s:%d)" -msgstr "" +msgstr "A document was modified since you last viewed it (%s:%d)" #. module: base #: view:workflow:0 @@ -1904,7 +1919,7 @@ msgstr "" #: code:addons/orm.py:1040 #, python-format msgid "The perm_read method is not implemented on this object !" -msgstr "" +msgstr "The perm_read method is not implemented on this object !" #. module: base #: view:res.lang:0 @@ -1925,7 +1940,7 @@ msgstr "Pakistan" #: code:addons/orm.py:1350 #, python-format msgid "Invalid Object Architecture!" -msgstr "" +msgstr "Invalid Object Architecture!" #. module: base #: model:ir.ui.menu,name:base.menu_email_gateway_form @@ -1976,6 +1991,8 @@ msgid "" "One of the records you are trying to modify has already been deleted " "(Document type: %s)." msgstr "" +"One of the records you are trying to modify has already been deleted " +"(Document type: %s)." #. module: base #: model:ir.actions.act_window,help:base.action_country @@ -2006,7 +2023,7 @@ msgstr "Korean (KR) / 한국어 (KR)" #. module: base #: help:ir.model.fields,model:0 msgid "The technical name of the model this field belongs to" -msgstr "" +msgstr "The technical name of the model this field belongs to" #. module: base #: field:ir.actions.server,action_id:0 @@ -2053,7 +2070,7 @@ msgstr "res.partner.event" #. module: base #: model:res.widget,title:base.facebook_widget msgid "Facebook" -msgstr "" +msgstr "Facebook" #. module: base #: model:res.country,name:base.am @@ -2164,6 +2181,9 @@ msgid "" "separated list of valid field names (optionally followed by asc/desc for the " "direction)" msgstr "" +"Invalid \"order\" specified. A valid \"order\" specification is a comma-" +"separated list of valid field names (optionally followed by asc/desc for the " +"direction)" #. module: base #: model:ir.model,name:base.model_ir_module_module_dependency @@ -2224,7 +2244,7 @@ msgstr "Main Company" #. module: base #: field:ir.ui.menu,web_icon_hover:0 msgid "Web Icon File (hover)" -msgstr "" +msgstr "Web Icon File (hover)" #. module: base #: view:ir.actions.server:0 @@ -2271,6 +2291,8 @@ msgid "" "Reference of the target resource, whose model/table depends on the 'Resource " "Name' field." msgstr "" +"Reference of the target resource, whose model/table depends on the 'Resource " +"Name' field." #. module: base #: field:ir.model.fields,select_level:0 @@ -2290,7 +2312,7 @@ msgstr "Finnish / Suomi" #. module: base #: field:ir.rule,perm_write:0 msgid "Apply For Write" -msgstr "" +msgstr "Apply For Write" #. module: base #: field:ir.sequence,prefix:0 @@ -2337,7 +2359,7 @@ msgstr "ID Ref." #: model:ir.actions.server,name:base.action_start_configurator #: model:ir.ui.menu,name:base.menu_view_base_module_configuration msgid "Start Configuration" -msgstr "" +msgstr "Start Configuration" #. module: base #: model:res.country,name:base.mt @@ -2385,12 +2407,12 @@ msgstr "Antarctica" #. module: base #: field:ir.actions.report.xml,auto:0 msgid "Custom python parser" -msgstr "" +msgstr "Custom python parser" #. module: base #: view:base.language.import:0 msgid "_Import" -msgstr "" +msgstr "_Import" #. module: base #: view:res.partner.canal:0 @@ -2447,13 +2469,13 @@ msgstr "Right-to-Left" #: model:ir.model,name:base.model_ir_filters #: model:ir.ui.menu,name:base.menu_ir_filters msgid "Filters" -msgstr "" +msgstr "Filters" #. module: base #: code:addons/orm.py:758 #, python-format msgid "Please check that all your lines have %d columns." -msgstr "" +msgstr "Please check that all your lines have %d columns." #. module: base #: model:ir.actions.act_window,name:base.ir_cron_act @@ -2478,7 +2500,7 @@ msgstr "" #: code:addons/orm.py:3448 #, python-format msgid "Recursivity Detected." -msgstr "" +msgstr "Recursivity detected." #. module: base #: code:addons/base/module/module.py:262 @@ -2493,6 +2515,9 @@ msgid "" "loading a new language it becomes available as default interface language " "for users and partners." msgstr "" +"This wizard helps you add a new language to your OpenERP system. After " +"loading a new language it becomes available as the default interface " +"language for users and partners." #. module: base #: view:ir.model:0 @@ -2511,7 +2536,7 @@ msgstr "" #. module: base #: model:ir.model,name:base.model_maintenance_contract msgid "maintenance.contract" -msgstr "" +msgstr "maintenance.contract" #. module: base #: model:res.country,name:base.ru @@ -2547,12 +2572,12 @@ msgstr "Record rules" #. module: base #: view:ir.property:0 msgid "Field Information" -msgstr "" +msgstr "Field Information" #. module: base #: view:ir.actions.todo:0 msgid "Search Actions" -msgstr "" +msgstr "Search Actions" #. module: base #: model:ir.actions.act_window,name:base.action_view_partner_wizard_ean_check @@ -2583,7 +2608,7 @@ msgstr "%x - Appropriate date representation." #. module: base #: view:res.lang:0 msgid "%d - Day of the month [01,31]." -msgstr "" +msgstr "%d - Day of the month [01,31]." #. module: base #: model:res.country,name:base.tj @@ -2617,6 +2642,8 @@ msgid "" "Operation prohibited by access rules, or performed on an already deleted " "document (Operation: read, Document type: %s)." msgstr "" +"Operation prohibited by access rules, or performed on an already deleted " +"document (Operation: read, Document type: %s)." #. module: base #: model:res.country,name:base.nr @@ -2627,7 +2654,7 @@ msgstr "Nauru" #: code:addons/base/module/module.py:200 #, python-format msgid "The certificate ID of the module must be unique !" -msgstr "" +msgstr "The certificate ID of the module must be unique !" #. module: base #: model:ir.model,name:base.model_ir_property @@ -2666,6 +2693,9 @@ msgid "" "import a language pack from here. Other OpenERP languages than the official " "ones can be found on launchpad." msgstr "" +"If you need a language other than the official ones available, you can " +"import a language pack from here. Other unofficial OpenERP languages can be " +"found on launchpad." #. module: base #: view:ir.module.module:0 @@ -2704,7 +2734,7 @@ msgstr "EAN13" #: code:addons/orm.py:1622 #, python-format msgid "Invalid Architecture!" -msgstr "" +msgstr "Invalid Architecture!" #. module: base #: model:res.country,name:base.pt @@ -2716,6 +2746,7 @@ msgstr "Portugal" msgid "" "You cannot have multiple records with the same id for the same module !" msgstr "" +"You cannot have multiple records with the same id for the same module !" #. module: base #: field:ir.module.module,certificate:0 @@ -2731,12 +2762,12 @@ msgstr "6. %d, %m ==> 05, 12" #: field:res.config.users,date:0 #: field:res.users,date:0 msgid "Last Connection" -msgstr "" +msgstr "Copy text \t Last Connection" #. module: base #: field:ir.actions.act_window,help:0 msgid "Action description" -msgstr "" +msgstr "Action description" #. module: base #: help:res.partner,customer:0 @@ -2809,12 +2840,12 @@ msgstr "Base Field" #. module: base #: view:publisher_warranty.contract:0 msgid "Validate" -msgstr "" +msgstr "Validate" #. module: base #: field:ir.actions.todo,restart:0 msgid "Restart" -msgstr "" +msgstr "Restart" #. module: base #: field:ir.actions.report.xml,report_sxw_content:0 @@ -2837,7 +2868,7 @@ msgstr "Action to Trigger" #: code:addons/base/res/res_user.py:136 #, python-format msgid "\"email_from\" needs to be set to send welcome mails to users" -msgstr "" +msgstr "\"email_from\" needs to be set to send welcome mails to users" #. module: base #: selection:ir.translation,type:0 @@ -2860,7 +2891,7 @@ msgstr "Required" #. module: base #: view:res.users:0 msgid "Default Filters" -msgstr "" +msgstr "Default Filters" #. module: base #: field:res.request.history,name:0 @@ -2870,7 +2901,7 @@ msgstr "Summary" #. module: base #: field:multi_company.default,expression:0 msgid "Expression" -msgstr "" +msgstr "Expression" #. module: base #: help:ir.actions.server,subject:0 @@ -2892,6 +2923,8 @@ msgid "" "Optional help text for the users with a description of the target view, such " "as its usage and purpose." msgstr "" +"Optional help text for users with a description of the target view, such as " +"its usage and purpose." #. module: base #: model:res.country,name:base.va @@ -2906,12 +2939,12 @@ msgstr "Module .ZIP file" #. module: base #: field:ir.ui.view,xml_id:0 msgid "XML ID" -msgstr "" +msgstr "XML ID" #. module: base #: model:res.partner.category,name:base.res_partner_category_16 msgid "Telecom sector" -msgstr "" +msgstr "Telecomm sector" #. module: base #: field:workflow.transition,trigger_model:0 @@ -2921,7 +2954,7 @@ msgstr "Trigger Object" #. module: base #: view:res.users:0 msgid "Current Activity" -msgstr "" +msgstr "Current Activity" #. module: base #: view:workflow.activity:0 @@ -2937,7 +2970,7 @@ msgstr "Suriname" #. module: base #: model:ir.ui.menu,name:base.marketing_menu msgid "Marketing" -msgstr "" +msgstr "Marketing" #. module: base #: view:res.partner.bank:0 @@ -2958,7 +2991,7 @@ msgstr "Sequence Type" #. module: base #: view:ir.ui.view.custom:0 msgid "Customized Architecture" -msgstr "" +msgstr "Customised Architecture" #. module: base #: field:ir.module.module,license:0 @@ -2973,7 +3006,7 @@ msgstr "" #. module: base #: selection:ir.actions.todo,restart:0 msgid "Always" -msgstr "" +msgstr "Always" #. module: base #: selection:ir.translation,type:0 @@ -2996,7 +3029,7 @@ msgstr "" #. module: base #: sql_constraint:ir.config_parameter:0 msgid "Key must be unique." -msgstr "" +msgstr "Key must be unique." #. module: base #: view:ir.actions.act_window:0 @@ -3045,6 +3078,9 @@ msgid "" "\n" "Click 'Continue' and enjoy your OpenERP experience..." msgstr "" +"Your database is now fully configured.\n" +"\n" +"Click 'Continue' and enjoy your OpenERP experience..." #. module: base #: selection:base.language.install,lang:0 @@ -3092,7 +3128,7 @@ msgstr "You try to remove a module that is installed or will be installed" #. module: base #: view:base.module.upgrade:0 msgid "The selected modules have been updated / installed !" -msgstr "" +msgstr "The selected modules have been updated / installed !" #. module: base #: selection:base.language.install,lang:0 @@ -3120,7 +3156,7 @@ msgstr "" #. module: base #: model:ir.actions.act_window,name:base.action_config_user_form msgid "Create Users" -msgstr "" +msgstr "Create Users" #. module: base #: model:ir.model,name:base.model_res_partner_title @@ -3135,7 +3171,7 @@ msgstr "tree_but_action, client_print_multi" #. module: base #: model:res.partner.category,name:base.res_partner_category_retailers0 msgid "Retailers" -msgstr "" +msgstr "Retailers" #. module: base #: help:ir.cron,priority:0 @@ -3171,12 +3207,12 @@ msgstr "Kenya" #. module: base #: view:res.partner.event:0 msgid "Event" -msgstr "" +msgstr "Event" #. module: base #: model:ir.ui.menu,name:base.menu_custom_reports msgid "Custom Reports" -msgstr "" +msgstr "Custom Reports" #. module: base #: selection:base.language.install,lang:0 @@ -3197,7 +3233,7 @@ msgstr "" #. module: base #: view:ir.property:0 msgid "Generic" -msgstr "" +msgstr "Generic" #. module: base #: model:res.country,name:base.sm @@ -3228,7 +3264,7 @@ msgstr "Benin" #: code:addons/base/publisher_warranty/publisher_warranty.py:281 #, python-format msgid "That contract is already registered in the system." -msgstr "" +msgstr "That contract is already registered in the system." #. module: base #: help:ir.sequence,suffix:0 @@ -3262,6 +3298,8 @@ msgid "" "You can not create this document (%s) ! Be sure your user belongs to one of " "these groups: %s." msgstr "" +"You can not create this document (%s) ! Be sure your user belongs to one of " +"these groups: %s." #. module: base #: model:res.country,name:base.mu @@ -3272,7 +3310,7 @@ msgstr "Mauritius" #: view:ir.model.access:0 #: view:ir.rule:0 msgid "Full Access" -msgstr "" +msgstr "Full Access" #. module: base #: view:ir.actions.act_window:0 @@ -3286,7 +3324,7 @@ msgstr "Security" #. module: base #: model:res.widget,title:base.openerp_favorites_twitter_widget msgid "OpenERP Favorites" -msgstr "" +msgstr "OpenERP Favourites" #. module: base #: model:res.country,name:base.za @@ -3386,7 +3424,7 @@ msgstr "" #. module: base #: view:base.module.upgrade:0 msgid "System update completed" -msgstr "" +msgstr "System update completed" #. module: base #: selection:res.request,state:0 @@ -3422,13 +3460,13 @@ msgstr "Parent Menu" #. module: base #: field:ir.rule,perm_unlink:0 msgid "Apply For Delete" -msgstr "" +msgstr "Apply For Delete" #. module: base #: code:addons/base/ir/ir_model.py:319 #, python-format msgid "Cannot rename column to %s, because that column already exists!" -msgstr "" +msgstr "Cannot rename column to %s, because that column already exists!" #. module: base #: view:ir.attachment:0 @@ -3482,7 +3520,7 @@ msgstr "Mexico" #. module: base #: model:ir.ui.menu,name:base.menu_base_config_plugins msgid "Plugins" -msgstr "" +msgstr "Plugins" #. module: base #: field:res.company,child_ids:0 @@ -3514,7 +3552,7 @@ msgstr "General Description" #: model:ir.actions.act_window,name:base.action_config_simple_view_form #: view:res.config.view:0 msgid "Configure Your Interface" -msgstr "" +msgstr "Configure your Interface" #. module: base #: field:ir.values,meta:0 @@ -3524,7 +3562,7 @@ msgstr "Meta Datas" #. module: base #: sql_constraint:ir.ui.view_sc:0 msgid "Shortcut for this menu already exists!" -msgstr "" +msgstr "Shortcut for this menu already exists!" #. module: base #: model:res.country,name:base.ve @@ -3634,6 +3672,8 @@ msgid "" "The Selection Options expression is not a valid Pythonic expression.Please " "provide an expression in the [('key','Label'), ...] format." msgstr "" +"The Selection Options expression is not a valid Pythonic expression. Please " +"provide an expression in the [('key','Label'), ...] format." #. module: base #: model:ir.ui.menu,name:base.menu_translation_app @@ -3681,6 +3721,8 @@ msgid "" "For one2many fields, the field on the target model that implement the " "opposite many2one relationship" msgstr "" +"For one2many fields, the field on the target model that implements the " +"opposite many2one relationship" #. module: base #: model:ir.model,name:base.model_ir_actions_act_window_view @@ -3736,17 +3778,17 @@ msgstr "Group By" #: view:res.config:0 #: view:res.config.installer:0 msgid "title" -msgstr "" +msgstr "title" #. module: base #: model:ir.model,name:base.model_base_language_install msgid "Install Language" -msgstr "" +msgstr "Install Language" #. module: base #: view:ir.translation:0 msgid "Translation" -msgstr "" +msgstr "Translation" #. module: base #: selection:res.request,state:0 @@ -3771,7 +3813,7 @@ msgstr "Write Id" #. module: base #: model:ir.ui.menu,name:base.menu_product msgid "Products" -msgstr "" +msgstr "Products" #. module: base #: field:ir.actions.act_window,domain:0 @@ -3839,7 +3881,7 @@ msgstr "" #. module: base #: view:publisher_warranty.contract.wizard:0 msgid "Please enter the serial key provided in your contract document:" -msgstr "" +msgstr "Please enter the serial key provided in your contract document:" #. module: base #: view:workflow.activity:0 @@ -3885,7 +3927,7 @@ msgstr "Guadeloupe (French)" #: code:addons/base/res/res_lang.py:161 #, python-format msgid "User Error" -msgstr "" +msgstr "User Error" #. module: base #: help:workflow.transition,signal:0 @@ -3918,7 +3960,7 @@ msgstr "" #. module: base #: view:ir.attachment:0 msgid "Month" -msgstr "" +msgstr "Month" #. module: base #: model:res.country,name:base.my @@ -3929,7 +3971,7 @@ msgstr "Malaysia" #: view:base.language.install:0 #: model:ir.actions.act_window,name:base.action_view_base_language_install msgid "Load Official Translation" -msgstr "" +msgstr "Load Official Translation" #. module: base #: model:ir.model,name:base.model_res_request_history @@ -3957,7 +3999,7 @@ msgstr "" #. module: base #: view:res.lang:0 msgid "%S - Seconds [00,61]." -msgstr "" +msgstr "%S - Seconds [00,61]." #. module: base #: model:res.country,name:base.cv @@ -3986,7 +4028,7 @@ msgstr "ir.actions.url" #. module: base #: model:res.widget,title:base.currency_converter_widget msgid "Currency Converter" -msgstr "" +msgstr "Currency Converter" #. module: base #: code:addons/orm.py:156 @@ -4008,7 +4050,7 @@ msgstr "Number of modules added" #. module: base #: view:res.currency:0 msgid "Price Accuracy" -msgstr "" +msgstr "Price Accuracy" #. module: base #: selection:base.language.install,lang:0 @@ -4071,7 +4113,7 @@ msgstr "" #. module: base #: view:ir.sequence:0 msgid "Current Year without Century: %(y)s" -msgstr "" +msgstr "Current Year without Century: %(y)s" #. module: base #: field:ir.actions.server,trigger_obj_id:0 @@ -4191,7 +4233,7 @@ msgstr "Banks" #. module: base #: view:res.log:0 msgid "Unread" -msgstr "" +msgstr "Unread" #. module: base #: field:ir.cron,doall:0 @@ -4257,7 +4299,7 @@ msgstr "Add an auto-refresh on the view" #. module: base #: help:res.partner,employee:0 msgid "Check this box if the partner is an Employee." -msgstr "" +msgstr "Check this box if the partner is an employee." #. module: base #: field:ir.actions.report.xml,report_rml_content:0 @@ -4288,6 +4330,8 @@ msgid "" "You cannot perform this operation. New Record Creation is not allowed for " "this object as this object is for reporting purpose." msgstr "" +"You cannot perform this operation. New Record Creation is not allowed for " +"this object as it is for reporting purposes." #. module: base #: view:base.language.import:0 @@ -4331,7 +4375,7 @@ msgstr "" #. module: base #: model:ir.ui.menu,name:base.menu_main_pm msgid "Project" -msgstr "" +msgstr "Project" #. module: base #: field:ir.ui.menu,web_icon_hover_data:0 @@ -4346,12 +4390,12 @@ msgstr "" #. module: base #: selection:ir.actions.todo,state:0 msgid "Cancelled" -msgstr "" +msgstr "Cancelled" #. module: base #: view:res.config.users:0 msgid "Create User" -msgstr "" +msgstr "Create User" #. module: base #: view:partner.clear.ids:0 @@ -4372,7 +4416,7 @@ msgstr "Low" #. module: base #: model:ir.ui.menu,name:base.menu_audit msgid "Audit" -msgstr "" +msgstr "Audit" #. module: base #: model:res.country,name:base.lc @@ -4393,7 +4437,7 @@ msgstr "" #. module: base #: field:res.partner,employee:0 msgid "Employee" -msgstr "" +msgstr "Employee" #. module: base #: field:ir.model.access,perm_create:0 @@ -4430,7 +4474,7 @@ msgstr "British Indian Ocean Territory" #: field:res.config.view,view:0 #: field:res.users,view:0 msgid "Interface" -msgstr "" +msgstr "Interface" #. module: base #: view:ir.actions.server:0 @@ -4491,7 +4535,7 @@ msgstr "Signature" #: code:addons/fields.py:664 #, python-format msgid "Not Implemented" -msgstr "" +msgstr "Not Implemented" #. module: base #: model:ir.model,name:base.model_res_widget_user @@ -4506,7 +4550,7 @@ msgstr "Full Name" #. module: base #: view:base.module.configuration:0 msgid "_Ok" -msgstr "" +msgstr "_Ok" #. module: base #: help:ir.filters,user_id:0 @@ -4546,7 +4590,7 @@ msgstr "On Multiple Doc." #: view:res.partner:0 #: field:res.partner,user_id:0 msgid "Salesman" -msgstr "" +msgstr "Salesperson" #. module: base #: field:res.partner,address:0 @@ -4564,7 +4608,7 @@ msgstr "" #. module: base #: view:res.widget.wizard:0 msgid "Add" -msgstr "" +msgstr "Add" #. module: base #: view:base.module.upgrade:0 @@ -4576,7 +4620,7 @@ msgstr "Apply Scheduled Upgrades" #. module: base #: view:res.widget:0 msgid "Widgets" -msgstr "" +msgstr "Widgets" #. module: base #: model:res.country,name:base.cz @@ -4595,6 +4639,9 @@ msgid "" "OpenERP. They are launched during the installation of new modules, but you " "can choose to restart some wizards manually from this menu." msgstr "" +"The configuration wizards help you configure a new instance of OpenERP. They " +"are launched during the installation of new modules, but you can restart " +"some wizards manually from this menu." #. module: base #: code:addons/base/res/res_user.py:206 @@ -4603,6 +4650,8 @@ msgid "" "Please use the change password wizard (in User Preferences or User menu) to " "change your own password." msgstr "" +"Please use the change password wizard (in User Preferences or User menu) to " +"change your own password." #. module: base #: code:addons/orm.py:1350 @@ -4613,7 +4662,7 @@ msgstr "" #. module: base #: selection:ir.property,type:0 msgid "Integer" -msgstr "" +msgstr "Integer" #. module: base #: help:ir.actions.report.xml,report_rml:0 @@ -4626,7 +4675,7 @@ msgstr "" #: help:res.config.users,company_id:0 #: help:res.users,company_id:0 msgid "The company this user is currently working for." -msgstr "" +msgstr "The company this user currently works for." #. module: base #: model:ir.model,name:base.model_wizard_ir_model_menu_create @@ -4687,7 +4736,7 @@ msgstr "" #. module: base #: view:res.log:0 msgid "My Logs" -msgstr "" +msgstr "My Logs" #. module: base #: model:res.country,name:base.bt @@ -4712,7 +4761,7 @@ msgstr "This Window" #. module: base #: view:publisher_warranty.contract:0 msgid "Publisher Warranty Contracts" -msgstr "" +msgstr "Publisher Warranty Contracts" #. module: base #: help:res.log,name:0 @@ -4738,7 +4787,7 @@ msgstr "res.config.view" #: view:res.log:0 #: field:res.log,read:0 msgid "Read" -msgstr "" +msgstr "Read" #. module: base #: sql_constraint:res.country:0 @@ -4783,7 +4832,7 @@ msgstr "Fields" #. module: base #: model:ir.actions.act_window,name:base.action_partner_employee_form msgid "Employees" -msgstr "" +msgstr "Employees" #. module: base #: help:res.log,read:0 @@ -4814,6 +4863,9 @@ msgid "" "channels that will be maintained at the creation of a document in the " "system. Some examples of channels can be: Website, Phone Call, Reseller, etc." msgstr "" +"Track from where your leads and opportunities come by creating specific " +"channels that will be maintained on creation of a document in the system. " +"Some examples of channels can be: Website, Phone Call, Reseller, etc." #. module: base #: model:res.partner.bank.type.field,name:base.bank_normal_field @@ -4824,7 +4876,7 @@ msgstr "acc_number" #: model:ir.actions.act_window,name:base.action_partner_address_form #: model:ir.ui.menu,name:base.menu_partner_address_form msgid "Addresses" -msgstr "" +msgstr "Addresses" #. module: base #: model:res.country,name:base.mm @@ -4902,7 +4954,7 @@ msgstr "Custom Field" #. module: base #: field:ir.module.module,web:0 msgid "Has a web component" -msgstr "" +msgstr "Has a web component" #. module: base #: model:res.country,name:base.cc @@ -4914,7 +4966,7 @@ msgstr "Cocos (Keeling) Islands" #: selection:base.module.import,state:0 #: selection:base.module.update,state:0 msgid "init" -msgstr "" +msgstr "init" #. module: base #: view:res.lang:0 @@ -4959,7 +5011,7 @@ msgstr "1cm 28cm 20cm 28cm" #. module: base #: field:ir.module.module,maintainer:0 msgid "Maintainer" -msgstr "" +msgstr "Maintainer" #. module: base #: field:ir.sequence,suffix:0 @@ -5136,7 +5188,7 @@ msgstr "" #. module: base #: model:ir.actions.act_window,name:base.action_partner_sms_send msgid "SMS Send" -msgstr "" +msgstr "SMS Send" #. module: base #: field:res.company,user_ids:0 @@ -5146,7 +5198,7 @@ msgstr "Accepted Users" #. module: base #: field:ir.ui.menu,web_icon_data:0 msgid "Web Icon Image" -msgstr "" +msgstr "Web Icon Image" #. module: base #: view:ir.values:0 @@ -5198,7 +5250,7 @@ msgstr "2. %a ,%A ==> Fri, Friday" #. module: base #: field:res.widget,content:0 msgid "Content" -msgstr "" +msgstr "Content" #. module: base #: help:ir.rule,global:0 @@ -5283,7 +5335,7 @@ msgstr "" #: model:ir.ui.menu,name:base.menu_action_ui_view_custom #: view:ir.ui.view.custom:0 msgid "Customized Views" -msgstr "" +msgstr "Customised Views" #. module: base #: view:partner.sms.send:0 @@ -5331,7 +5383,7 @@ msgstr "Thai / ภาษาไทย" #: code:addons/orm.py:158 #, python-format msgid "Object %s does not exists" -msgstr "" +msgstr "Copy text \t Object %s does not exist" #. module: base #: selection:base.language.install,lang:0 @@ -5367,7 +5419,7 @@ msgstr "Add User" #. module: base #: model:ir.actions.act_window,name:base.action_view_base_module_upgrade_install msgid "Module Upgrade Install" -msgstr "" +msgstr "Module Upgrade Install" #. module: base #: model:ir.model,name:base.model_ir_actions_configuration_wizard @@ -5403,7 +5455,7 @@ msgstr "_Close" #. module: base #: field:multi_company.default,company_dest_id:0 msgid "Default Company" -msgstr "" +msgstr "Default Company" #. module: base #: selection:base.language.install,lang:0 @@ -5419,7 +5471,7 @@ msgstr "" #: model:ir.model,name:base.model_base_module_import #: model:ir.ui.menu,name:base.menu_view_base_module_import msgid "Import Module" -msgstr "" +msgstr "Import Module" #. module: base #: model:res.country,name:base.as @@ -5434,7 +5486,7 @@ msgstr "" #. module: base #: field:res.log,secondary:0 msgid "Secondary Log" -msgstr "" +msgstr "Copy text \t Secondary Log" #. module: base #: field:ir.model.fields,selectable:0 @@ -5468,7 +5520,7 @@ msgstr "Iteration" #: code:addons/orm.py:3532 #, python-format msgid "UserError" -msgstr "" +msgstr "UserError" #. module: base #: model:res.country,name:base.ae @@ -5478,7 +5530,7 @@ msgstr "United Arab Emirates" #. module: base #: model:ir.ui.menu,name:base.menu_crm_case_job_req_main msgid "Recruitment" -msgstr "" +msgstr "Recruitment" #. module: base #: model:res.country,name:base.re @@ -5523,13 +5575,13 @@ msgstr "AccessError" #. module: base #: view:res.request:0 msgid "Waiting" -msgstr "" +msgstr "Waiting" #. module: base #: code:addons/__init__.py:834 #, python-format msgid "Could not load base module" -msgstr "" +msgstr "Could not load base module" #. module: base #: view:res.lang:0 @@ -5545,7 +5597,7 @@ msgstr "" #. module: base #: field:res.log,create_date:0 msgid "Creation Date" -msgstr "" +msgstr "Creation Date" #. module: base #: view:ir.translation:0 @@ -5561,7 +5613,7 @@ msgstr "Number padding" #. module: base #: view:ir.actions.report.xml:0 msgid "Report" -msgstr "" +msgstr "Report" #. module: base #: model:res.country,name:base.ua @@ -5582,7 +5634,7 @@ msgstr "Module Category" #. module: base #: view:partner.wizard.ean.check:0 msgid "Ignore" -msgstr "" +msgstr "Ignore" #. module: base #: report:ir.module.reference.graph:0 @@ -5592,7 +5644,7 @@ msgstr "Reference Guide" #. module: base #: view:ir.ui.view:0 msgid "Architecture" -msgstr "" +msgstr "Architecture" #. module: base #: model:res.country,name:base.ml @@ -5800,12 +5852,12 @@ msgstr "" #. module: base #: view:ir.model:0 msgid "Custom" -msgstr "" +msgstr "Custom" #. module: base #: view:res.request:0 msgid "Current" -msgstr "" +msgstr "Current" #. module: base #: model:res.partner.category,name:base.res_partner_category_9 @@ -5847,7 +5899,7 @@ msgstr "" #. module: base #: selection:publisher_warranty.contract.wizard,state:0 msgid "Finished" -msgstr "" +msgstr "Finished" #. module: base #: model:res.country,name:base.de @@ -5903,6 +5955,7 @@ msgstr "Honduras" msgid "" "Check out this box if you want to always display tips on each menu action" msgstr "" +"Check this box if you always want to display tips on each menu action" #. module: base #: model:res.country,name:base.eg @@ -5912,7 +5965,7 @@ msgstr "Egypt" #. module: base #: field:ir.rule,perm_read:0 msgid "Apply For Read" -msgstr "" +msgstr "Apply For Read" #. module: base #: help:ir.actions.server,model_id:0 @@ -5930,12 +5983,12 @@ msgstr "" #. module: base #: field:base.language.import,name:0 msgid "Language Name" -msgstr "" +msgstr "Language Name" #. module: base #: selection:ir.property,type:0 msgid "Boolean" -msgstr "" +msgstr "Boolean" #. module: base #: view:ir.model:0 @@ -5956,7 +6009,7 @@ msgstr "Fields Description" #: view:res.partner.address:0 #: view:workflow.activity:0 msgid "Group By..." -msgstr "" +msgstr "Group By..." #. module: base #: view:ir.model.fields:0 @@ -6064,6 +6117,7 @@ msgstr "Help" msgid "" "If specified, the action will replace the standard menu for this user." msgstr "" +"If specified, the action will replace the standard menu for this user." #. module: base #: selection:ir.actions.server,state:0 @@ -6073,13 +6127,13 @@ msgstr "Write Object" #. module: base #: model:ir.ui.menu,name:base.menu_fundrising msgid "Fund Raising" -msgstr "" +msgstr "Fundraising" #. module: base #: model:ir.actions.act_window,name:base.ir_sequence_type #: model:ir.ui.menu,name:base.menu_ir_sequence_type msgid "Sequence Codes" -msgstr "" +msgstr "Sequence Codes" #. module: base #: selection:base.language.install,lang:0 @@ -6166,7 +6220,7 @@ msgstr "Kind" #: code:addons/orm.py:3775 #, python-format msgid "This method does not exist anymore" -msgstr "" +msgstr "This method no longer exists" #. module: base #: field:res.bank,fax:0 @@ -6206,12 +6260,12 @@ msgstr "res.request" #. module: base #: view:ir.model:0 msgid "In Memory" -msgstr "" +msgstr "In Memory" #. module: base #: view:ir.actions.todo:0 msgid "Todo" -msgstr "" +msgstr "Todo" #. module: base #: field:ir.attachment,datas:0 @@ -6248,7 +6302,7 @@ msgstr "Gibraltar" #. module: base #: field:ir.actions.report.xml,report_name:0 msgid "Service Name" -msgstr "" +msgstr "Service Name" #. module: base #: model:res.country,name:base.pn @@ -6271,7 +6325,7 @@ msgstr "Record Rules" #: field:res.config.users,name:0 #: field:res.users,name:0 msgid "User Name" -msgstr "" +msgstr "User Name" #. module: base #: view:ir.sequence:0 @@ -6291,6 +6345,8 @@ msgid "" "OpenERP will automatically adds some '0' on the left of the 'Next Number' to " "get the required padding size." msgstr "" +"OpenERP will automatically add some '0' on the left of the 'Next Number' to " +"get the required padding size." #. module: base #: view:res.lang:0 @@ -6325,7 +6381,7 @@ msgstr "Attachments" #: model:ir.ui.menu,name:base.menu_sale_config_sales #: model:ir.ui.menu,name:base.menu_sales msgid "Sales" -msgstr "" +msgstr "Sales" #. module: base #: field:ir.actions.server,child_ids:0 @@ -6377,7 +6433,7 @@ msgstr "Italy" #: view:ir.actions.todo:0 #: selection:ir.actions.todo,state:0 msgid "To Do" -msgstr "" +msgstr "To Do" #. module: base #: selection:base.language.install,lang:0 @@ -6389,7 +6445,7 @@ msgstr "Estonian / Eesti keel" #: field:res.partner,email:0 #: field:res.users,email:0 msgid "E-mail" -msgstr "" +msgstr "E-mail" #. module: base #: selection:ir.module.module,license:0 @@ -6512,7 +6568,7 @@ msgstr "Default Value" #. module: base #: model:ir.ui.menu,name:base.menu_tools msgid "Tools" -msgstr "" +msgstr "Tools" #. module: base #: model:res.country,name:base.kn @@ -6717,7 +6773,7 @@ msgstr "" #: model:ir.ui.menu,name:base.next_id_73 #: model:ir.ui.menu,name:base.reporting_menu msgid "Reporting" -msgstr "" +msgstr "Reporting" #. module: base #: model:res.country,name:base.tg @@ -6743,7 +6799,7 @@ msgstr "" #. module: base #: view:ir.model.data:0 msgid "Updatable" -msgstr "" +msgstr "Updateable" #. module: base #: view:res.lang:0 @@ -6940,7 +6996,7 @@ msgstr "Filter" #. module: base #: model:res.partner.title,shortcut:base.res_partner_title_madam msgid "Ms." -msgstr "" +msgstr "Ms." #. module: base #: model:res.country,name:base.ch @@ -6970,7 +7026,7 @@ msgstr "Rounding factor" #. module: base #: view:base.language.install:0 msgid "Load" -msgstr "" +msgstr "Load" #. module: base #: help:res.config.users,name:0 @@ -7038,12 +7094,12 @@ msgstr "" #. module: base #: selection:ir.module.module,license:0 msgid "GPL Version 2" -msgstr "" +msgstr "GPL Version 2" #. module: base #: selection:ir.module.module,license:0 msgid "GPL Version 3" -msgstr "" +msgstr "GPL Version 3" #. module: base #: code:addons/orm.py:836 @@ -7054,7 +7110,7 @@ msgstr "" #. module: base #: view:partner.wizard.ean.check:0 msgid "Correct EAN13" -msgstr "" +msgstr "Correct EAN13" #. module: base #: code:addons/orm.py:2317 @@ -7136,7 +7192,7 @@ msgstr "Tunisia" #. module: base #: model:ir.ui.menu,name:base.menu_mrp_root msgid "Manufacturing" -msgstr "" +msgstr "Manufacturing" #. module: base #: model:res.country,name:base.km @@ -7173,7 +7229,7 @@ msgstr "Legends for Date and Time Formats" #. module: base #: selection:ir.actions.server,state:0 msgid "Copy Object" -msgstr "" +msgstr "Copy Object" #. module: base #: code:addons/base/res/res_user.py:581 @@ -7251,7 +7307,7 @@ msgstr "Minute: %(min)s" #: model:ir.actions.act_window,name:base.action_wizard_update_translations #: model:ir.ui.menu,name:base.menu_wizard_update_translations msgid "Synchronize Translations" -msgstr "" +msgstr "Synchronise Translations" #. module: base #: model:ir.ui.menu,name:base.next_id_10 @@ -7264,6 +7320,8 @@ msgid "" "Number of time the function is called,\n" "a negative number indicates no limit" msgstr "" +"Number of times the function is called,\n" +"a negative number indicates no limit" #. module: base #: code:addons/base/ir/ir_model.py:331 @@ -7282,12 +7340,12 @@ msgstr "User Ref." #: code:addons/base/res/res_user.py:580 #, python-format msgid "Warning !" -msgstr "" +msgstr "Warning !" #. module: base #: model:res.widget,title:base.google_maps_widget msgid "Google Maps" -msgstr "" +msgstr "Google Maps" #. module: base #: model:ir.ui.menu,name:base.menu_base_config @@ -7318,7 +7376,7 @@ msgstr "Starting Date" #. module: base #: help:res.partner,website:0 msgid "Website of Partner" -msgstr "" +msgstr "Partner Website" #. module: base #: model:res.partner.category,name:base.res_partner_category_5 @@ -7376,7 +7434,7 @@ msgstr "State" #. module: base #: selection:base.language.install,lang:0 msgid "Galician / Galego" -msgstr "" +msgstr "Galician / Galego" #. module: base #: model:res.country,name:base.no @@ -7417,7 +7475,7 @@ msgstr "waiting" #. module: base #: field:ir.actions.report.xml,report_file:0 msgid "Report file" -msgstr "" +msgstr "Report file" #. module: base #: model:ir.model,name:base.model_workflow_triggers @@ -7428,12 +7486,12 @@ msgstr "workflow.triggers" #: code:addons/base/ir/ir_model.py:62 #, python-format msgid "Invalid search criterions" -msgstr "" +msgstr "Invalid search criteria" #. module: base #: view:ir.attachment:0 msgid "Created" -msgstr "" +msgstr "Created" #. module: base #: help:ir.actions.wizard,multi:0 @@ -7495,7 +7553,7 @@ msgstr "" #: model:ir.actions.act_window,name:base.action_view_base_import_language #: model:ir.ui.menu,name:base.menu_view_base_import_language msgid "Import Translation" -msgstr "" +msgstr "Import Translation" #. module: base #: field:res.partner.bank.type,field_ids:0 @@ -7513,7 +7571,7 @@ msgstr "Category" #: selection:ir.attachment,type:0 #: selection:ir.property,type:0 msgid "Binary" -msgstr "" +msgstr "Binary" #. module: base #: field:ir.actions.server,sms:0 @@ -7529,7 +7587,7 @@ msgstr "Costa Rica" #. module: base #: view:workflow.activity:0 msgid "Conditions" -msgstr "" +msgstr "Conditions" #. module: base #: model:ir.actions.act_window,name:base.action_partner_other_form @@ -7546,7 +7604,7 @@ msgstr "Currencies" #. module: base #: sql_constraint:res.groups:0 msgid "The name of the group must be unique !" -msgstr "" +msgstr "The group name must be unique !" #. module: base #: view:ir.sequence:0 @@ -7561,7 +7619,7 @@ msgstr "Uncheck the active field to hide the contact." #. module: base #: model:ir.model,name:base.model_res_widget_wizard msgid "Add a widget for User" -msgstr "" +msgstr "Add a widget for User" #. module: base #: model:res.country,name:base.dk @@ -7582,7 +7640,7 @@ msgstr "workflow.instance" #: code:addons/orm.py:278 #, python-format msgid "Unknown attribute %s in %s " -msgstr "" +msgstr "Unknown attribute %s in %s " #. module: base #: view:res.lang:0 @@ -7593,7 +7651,7 @@ msgstr "10. %S ==> 20" #: code:addons/fields.py:106 #, python-format msgid "undefined get method !" -msgstr "" +msgstr "undefined get method !" #. module: base #: selection:base.language.install,lang:0 @@ -7621,7 +7679,7 @@ msgstr "Estonia" #. module: base #: model:ir.ui.menu,name:base.dashboard msgid "Dashboards" -msgstr "" +msgstr "Dashboards" #. module: base #: help:ir.attachment,type:0 @@ -7632,7 +7690,7 @@ msgstr "" #: field:res.config.users,new_password:0 #: field:res.users,new_password:0 msgid "Change password" -msgstr "" +msgstr "Change password" #. module: base #: model:res.country,name:base.nl @@ -7667,12 +7725,16 @@ msgid "" "button \"Schedule for Installation\" from the form view, then click on " "\"Apply Scheduled Upgrades\" to migrate your system." msgstr "" +"You can install new modules to activate new features, menu, reports or data " +"in your OpenERP instance. To install some modules, click on the button " +"\"Schedule for Installation\" from the form view, then click on \"Apply " +"Scheduled Upgrades\" to migrate your system." #. module: base #: model:ir.ui.menu,name:base.menu_emails #: model:ir.ui.menu,name:base.menu_mail_gateway msgid "Emails" -msgstr "" +msgstr "Emails" #. module: base #: model:res.country,name:base.cd @@ -7749,7 +7811,7 @@ msgstr "Python code to be executed" #. module: base #: sql_constraint:res.country:0 msgid "The code of the country must be unique !" -msgstr "" +msgstr "The country code must be unique !" #. module: base #: selection:ir.module.module.dependency,state:0 @@ -7830,7 +7892,7 @@ msgstr "Suppliers" #. module: base #: view:publisher_warranty.contract.wizard:0 msgid "Register" -msgstr "" +msgstr "Register" #. module: base #: field:res.request,ref_doc2:0 @@ -7891,6 +7953,9 @@ msgid "" "loading a new language it becomes available as default interface language " "for users and partners." msgstr "" +"This wizard helps you add a new language to your OpenERP system. After " +"loading a new language it becomes available as the default interface " +"language for users and partners." #. module: base #: field:ir.actions.server,subject:0 @@ -7908,12 +7973,12 @@ msgstr "From" #. module: base #: view:res.users:0 msgid "Preferences" -msgstr "" +msgstr "Preferences" #. module: base #: model:res.partner.category,name:base.res_partner_category_consumers0 msgid "Consumers" -msgstr "" +msgstr "Consumers" #. module: base #: view:res.config:0 @@ -7939,7 +8004,7 @@ msgstr "" #. module: base #: view:ir.actions.report.xml:0 msgid "Miscellaneous" -msgstr "" +msgstr "Miscellaneous" #. module: base #: model:res.country,name:base.cn @@ -7970,6 +8035,8 @@ msgid "" "Create and manage the companies that will be managed by OpenERP from here. " "Shops or subsidiaries can be created and maintained from here." msgstr "" +"Create and manage the companies that will be managed by OpenERP here. Shops " +"or subsidiaries can be created and maintained here." #. module: base #: model:res.country,name:base.id @@ -7983,6 +8050,9 @@ msgid "" "you can then add translations manually or perform a complete export (as a " "template for a new language example)." msgstr "" +"This wizard will detect new terms to translate in the application, so that " +"you can add translations manually or perform a complete export (as a " +"template for a new language example)." #. module: base #: help:multi_company.default,expression:0 @@ -7999,7 +8069,7 @@ msgstr "Bulgaria" #. module: base #: view:publisher_warranty.contract.wizard:0 msgid "Publisher warranty contract successfully registered!" -msgstr "" +msgstr "Copy text \t Publisher warranty contract successfully registered!" #. module: base #: model:res.country,name:base.ao @@ -8034,7 +8104,7 @@ msgstr "5. %y, %Y ==> 08, 2008" #. module: base #: model:res.partner.title,shortcut:base.res_partner_title_ltd msgid "ltd" -msgstr "" +msgstr "ltd" #. module: base #: field:ir.values,res_id:0 @@ -8083,7 +8153,7 @@ msgstr "unknown" #. module: base #: field:res.currency,symbol:0 msgid "Symbol" -msgstr "" +msgstr "Symbol" #. module: base #: help:res.config.users,login:0 @@ -8094,7 +8164,7 @@ msgstr "" #. module: base #: view:base.update.translations:0 msgid "Synchronize Translation" -msgstr "" +msgstr "Synchronise Translation" #. module: base #: field:ir.ui.view_sc,res_id:0 @@ -8114,7 +8184,7 @@ msgstr "Iraq" #. module: base #: model:ir.ui.menu,name:base.menu_association msgid "Association" -msgstr "" +msgstr "Association" #. module: base #: model:res.country,name:base.cl @@ -8126,7 +8196,7 @@ msgstr "Chile" #: model:ir.ui.menu,name:base.menu_config_address_book #: model:ir.ui.menu,name:base.menu_procurement_management_supplier msgid "Address Book" -msgstr "" +msgstr "Address Book" #. module: base #: model:ir.model,name:base.model_ir_sequence_type @@ -8253,7 +8323,7 @@ msgstr "" #. module: base #: selection:ir.ui.view,type:0 msgid "Diagram" -msgstr "" +msgstr "Diagram" #. module: base #: help:multi_company.default,name:0 @@ -8264,7 +8334,7 @@ msgstr "" #: model:ir.actions.act_window,name:base.grant_menu_access #: model:ir.ui.menu,name:base.menu_grant_menu_access msgid "Menu Items" -msgstr "" +msgstr "Menu Items" #. module: base #: constraint:ir.rule:0 @@ -8397,7 +8467,7 @@ msgstr "Other Actions Configuration" #. module: base #: view:res.config.installer:0 msgid "Install Modules" -msgstr "" +msgstr "Install Modules" #. module: base #: model:ir.actions.act_window,name:base.res_partner_canal-act @@ -8410,7 +8480,7 @@ msgstr "Channels" #. module: base #: view:ir.ui.view:0 msgid "Extra Info" -msgstr "" +msgstr "Extra Info" #. module: base #: model:ir.actions.act_window,name:base.act_values_form_action @@ -8488,14 +8558,14 @@ msgstr "Start configuration" #. module: base #: view:base.language.export:0 msgid "_Export" -msgstr "" +msgstr "_Export" #. module: base #: field:base.language.install,state:0 #: field:base.module.import,state:0 #: field:base.module.update,state:0 msgid "state" -msgstr "" +msgstr "state" #. module: base #: selection:base.language.install,lang:0 @@ -8657,7 +8727,7 @@ msgstr "Thailand" #. module: base #: model:ir.ui.menu,name:base.menu_crm_config_lead msgid "Leads & Opportunities" -msgstr "" +msgstr "Leads & Opportunities" #. module: base #: selection:base.language.install,lang:0 @@ -8667,7 +8737,7 @@ msgstr "" #. module: base #: view:res.log:0 msgid "System Logs" -msgstr "" +msgstr "System Logs" #. module: base #: selection:workflow.activity,join_mode:0 @@ -8836,7 +8906,7 @@ msgstr "Slovak Republic" #. module: base #: model:ir.ui.menu,name:base.publisher_warranty msgid "Publisher Warranty" -msgstr "" +msgstr "Publisher Warranty" #. module: base #: model:res.country,name:base.aw @@ -8883,12 +8953,12 @@ msgstr "Company" #. module: base #: view:res.users:0 msgid "Email & Signature" -msgstr "" +msgstr "Email & Signature" #. module: base #: view:publisher_warranty.contract:0 msgid "Publisher Warranty Contract" -msgstr "" +msgstr "Publisher Warranty Contract" #. module: base #: selection:base.language.install,lang:0 @@ -8898,12 +8968,12 @@ msgstr "" #. module: base #: model:ir.ui.menu,name:base.menu_aftersale msgid "After-Sale Services" -msgstr "" +msgstr "After-Sales Services" #. module: base #: view:ir.actions.todo:0 msgid "Launch" -msgstr "" +msgstr "Launch" #. module: base #: field:ir.actions.act_window,limit:0 @@ -8928,6 +8998,10 @@ msgid "" "categories have a hierarchy structure: a partner belonging to a category " "also belong to his parent category." msgstr "" +"Manage the partner categories to better classify them for tracking and " +"analysis purposes. A partner may belong to several categories. Categories " +"have a hierarchy structure: a partner belonging to a category also belong to " +"his parent category." #. module: base #: model:res.country,name:base.az @@ -8954,7 +9028,7 @@ msgstr "Virgin Islands (British)" #: view:ir.property:0 #: model:ir.ui.menu,name:base.next_id_15 msgid "Parameters" -msgstr "" +msgstr "Parameters" #. module: base #: selection:base.language.install,lang:0 @@ -9022,6 +9096,9 @@ msgid "" "simplified interface, which has less features but is easier. You can always " "switch later from the user preferences." msgstr "" +"When you use OpenERP for the first time we strongly advise you select the " +"simplified interface, which has fewer features but is easier. You can switch " +"later from the user preferences." #. module: base #: model:ir.model,name:base.model_res_country @@ -9061,7 +9138,7 @@ msgstr "Category Name" #. module: base #: model:res.partner.category,name:base.res_partner_category_15 msgid "IT sector" -msgstr "" +msgstr "IT sector" #. module: base #: view:ir.actions.act_window:0 @@ -9100,7 +9177,7 @@ msgstr "Portrait" #: code:addons/base/ir/ir_model.py:317 #, python-format msgid "Can only rename one column at a time!" -msgstr "" +msgstr "Can only rename one column at a time!" #. module: base #: selection:ir.translation,type:0 @@ -9169,7 +9246,7 @@ msgstr "Action to Launch" #. module: base #: view:ir.cron:0 msgid "Execution" -msgstr "" +msgstr "Execution" #. module: base #: field:ir.actions.server,condition:0 @@ -9226,7 +9303,7 @@ msgstr "Partner Categories" #. module: base #: view:base.module.upgrade:0 msgid "System Update" -msgstr "" +msgstr "System Update" #. module: base #: selection:ir.translation,type:0 @@ -9307,7 +9384,7 @@ msgstr "" #. module: base #: selection:ir.actions.todo,restart:0 msgid "Never" -msgstr "" +msgstr "Never" #. module: base #: selection:res.partner.address,type:0 @@ -9350,7 +9427,7 @@ msgstr "Create Object" #: view:ir.filters:0 #: field:res.log,context:0 msgid "Context" -msgstr "" +msgstr "Context" #. module: base #: field:res.bank,bic:0 diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index 9383839bacc..4b482085ad6 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -588,7 +588,6 @@ class ir_model_data(osv.osv): def __init__(self, pool, cr): osv.osv.__init__(self, pool, cr) self.doinit = True - self.unlink_mark = {} # also stored in pool to avoid being discarded along with this osv instance if getattr(pool, 'model_data_reference_ids', None) is None: @@ -637,6 +636,14 @@ class ir_model_data(osv.osv): id = False return id + def unlink(self, cr, uid, ids, context=None): + """ Regular unlink method, but make sure to clear the caches. """ + ref_ids = self.browse(cr, uid, ids, context=context) + for ref_id in ref_ids: + self._get_id.clear_cache(cr.dbname, uid, ref_id.module, ref_id.name) + self.get_object_reference.clear_cache(cr.dbname, uid, ref_id.module, ref_id.name) + return super(ir_model_data,self).unlink(cr, uid, ids, context=context) + def _update(self,cr, uid, model, module, values, xml_id=False, store=True, noupdate=False, mode='init', res_id=False, context=None): model_obj = self.pool.get(model) if not context: @@ -727,12 +734,6 @@ class ir_model_data(osv.osv): table.replace('.', '_'))] = (table, inherit_id) return res_id - def _unlink(self, cr, uid, model, res_ids): - for res_id in res_ids: - self.unlink_mark[(model, res_id)] = False - cr.execute('delete from ir_model_data where res_id=%s and model=%s', (res_id, model)) - return True - def ir_set(self, cr, uid, key, key2, name, models, value, replace=True, isobject=False, meta=None, xml_id=False): if type(models[0])==type([]) or type(models[0])==type(()): model,res_id = models[0] @@ -760,15 +761,25 @@ class ir_model_data(osv.osv): return True def _process_end(self, cr, uid, modules): + """ Clear records removed from updated module data. + + This method is called at the end of the module loading process. + It is meant to removed records that are no longer present in the + updated data. Such records are recognised as the one with an xml id + and a module in ir_model_data and noupdate set to false, but not + present in self.loads. + + """ if not modules: return True modules = list(modules) module_in = ",".join(["%s"] * len(modules)) cr.execute('select id,name,model,res_id,module from ir_model_data where module IN (' + module_in + ') and noupdate=%s', modules + [False]) wkf_todo = [] + to_unlink = [] for (id, name, model, res_id,module) in cr.fetchall(): if (module,name) not in self.loads: - self.unlink_mark[(model,res_id)] = id + to_unlink.append((model,res_id)) if model=='workflow.activity': cr.execute('select res_type,res_id from wkf_instance where id IN (select inst_id from wkf_workitem where act_id=%s)', (res_id,)) wkf_todo.extend(cr.fetchall()) @@ -781,36 +792,19 @@ class ir_model_data(osv.osv): cr.commit() if not config.get('import_partial'): - for (model, res_id) in self.unlink_mark.keys(): + for (model, res_id) in to_unlink: if self.pool.get(model): self.__logger.info('Deleting %s@%s', res_id, model) try: self.pool.get(model).unlink(cr, uid, [res_id]) - if id: - ids = self.search(cr, uid, [('res_id','=',res_id), - ('model','=',model)]) - self.__logger.debug('=> Deleting %s: %s', - self._name, ids) - if len(ids) > 1 and \ - self.__logger.isEnabledFor(logging.WARNING): - self.__logger.warn( - 'Got %d %s for (%s, %d): %s', - len(ids), self._name, model, res_id, - map(itemgetter('module','name'), - self.read(cr, uid, ids, - ['name', 'module']))) - self.unlink(cr, uid, ids) - cr.execute( - 'DELETE FROM ir_values WHERE value=%s', - ('%s,%s'%(model, res_id),)) cr.commit() except Exception: cr.rollback() self.__logger.warn( - 'Could not delete id: %d of model %s\nThere ' - 'should be some relation that points to this ' - 'resource\nYou should manually fix this and ' - 'restart with --update=module', res_id, model) + 'Could not delete obsolete record with id: %d of model %s\n' + 'There should be some relation that points to this resource\n' + 'You should manually fix this and restart with --update=module', + res_id, model) return True ir_model_data() diff --git a/openerp/addons/base/ir/ir_ui_view.py b/openerp/addons/base/ir/ir_ui_view.py index 8aa4c0882bd..ebbfe7cea38 100644 --- a/openerp/addons/base/ir/ir_ui_view.py +++ b/openerp/addons/base/ir/ir_ui_view.py @@ -197,10 +197,13 @@ class view_sc(osv.osv): def get_sc(self, cr, uid, user_id, model='ir.ui.menu', context=None): ids = self.search(cr, uid, [('user_id','=',user_id),('resource','=',model)], context=context) - results = self.read(cr, uid, ids, ['res_id','name'], context=context) - available_menus = self.pool.get(model).search(cr, uid, [], context=context) + results = self.read(cr, uid, ids, ['res_id'], context=context) + name_map = dict(self.pool.get(model).name_get(cr, uid, [x['res_id'] for x in results], context=context)) # Make sure to return only shortcuts pointing to exisintg menu items. - return filter(lambda result: result['res_id'] in available_menus, results) + filtered_results = filter(lambda result: result['res_id'] in name_map, results) + for result in filtered_results: + result.update(name=name_map[result['res_id']]) + return filtered_results _order = 'sequence,name' _defaults = { diff --git a/openerp/addons/base/res/res_lang.py b/openerp/addons/base/res/res_lang.py index fb3156cd4c9..ded70fa6b1e 100644 --- a/openerp/addons/base/res/res_lang.py +++ b/openerp/addons/base/res/res_lang.py @@ -56,6 +56,9 @@ class lang(osv.osv): default_value = ir_values_obj.get(cr, uid, 'default', False, ['res.partner']) if not default_value: ir_values_obj.set(cr, uid, 'default', False, 'lang', ['res.partner'], lang) + default_value = ir_values_obj.get(cr, uid, 'default', False, ['res.users']) + if not default_value: + ir_values_obj.set(cr, uid, 'default', False, 'context_lang', ['res.users'], lang) return True def load_lang(self, cr, uid, lang, lang_name=None): diff --git a/openerp/addons/base/test/test_osv_expression.yml b/openerp/addons/base/test/test_osv_expression.yml index 04177c8297f..1c13000b33a 100644 --- a/openerp/addons/base/test/test_osv_expression.yml +++ b/openerp/addons/base/test/test_osv_expression.yml @@ -1,3 +1,64 @@ +- + Testing for hierarchical search in M2M +- + !python {model: res.partner }: | + ids = self.search(cr, uid, [('category_id', 'child_of','supplier')]) + assert len(ids) >= 1, ids + +- + Test hierarchical search in M2M with child ID1 +- + !python {model: res.partner }: | + ids = self.search(cr, uid, [('category_id', 'child_of','Components Supplier')]) + assert len(ids) >= 1, ids +- + Test hierarchical search in M2M with child ID2 +- + !python {model: res.partner }: | + ids = self.search(cr, uid, [('category_id', 'child_of','Miscellaneous Suppliers')]) + assert len(ids) >= 1, ids + +- + "1.0 Setup test partner categories: parent root" +- + !record {model: res.partner.category, id: categ_root}: + name: Root category +- + "1.1 Setup test partner categories: parent category" +- + !record {model: res.partner.category, id: categ_0}: + name: Parent category + parent_id: categ_root +- + "1.2 Setup test partner categories: child 1" +- + !record {model: res.partner.category, id: categ_1}: + name: Child 1 + parent_id: categ_0 +- + Test hierarchical search in M2M with child ID (list of ids) +- + !python {model: res.partner.category }: | + ids = self.search(cr, uid, [('id', 'child_of',[ref('categ_root')])]) + assert len(ids) == 3, ids +- + Test hierarchical search in M2M with child ID (single id) +- + !python {model: res.partner.category }: | + ids = self.search(cr, uid, [('id', 'child_of',ref('categ_root'))]) + assert len(ids) == 3, ids +- + Test hierarchical search in M2M with child IDs +- + !python {model: res.partner.category }: | + ids = self.search(cr, uid, [('id', 'child_of',[ref('categ_1'), ref('categ_0')])]) + assert len(ids) == 2, ids +- + Test hierarchical search in M2M with child IDs +- + !python {model: res.partner.category }: | + ids = self.search(cr, uid, [('id', 'child_of',[ref('categ_0')])]) + assert len(ids) == 1, ids - Testing that some domain expressions work - @@ -40,7 +101,7 @@ - !assert {model: res.partner, search: "[('category_id', '=', False)]"}: - category_id in (False, None, []) -- +- Filtering on invalid value across x2many relationship should return an empty set - !assert {model: res.partner, search: "[('address.city','=','foo')]", count: 0, string: "Searching for address.city = foo should give empty results"} diff --git a/openerp/netsvc.py b/openerp/netsvc.py index 42ccab414c7..aca1b9c12a9 100644 --- a/openerp/netsvc.py +++ b/openerp/netsvc.py @@ -24,7 +24,6 @@ # ############################################################################## -import cgitb import errno import heapq import logging @@ -440,7 +439,7 @@ class OpenERPDispatcher: except Exception, e: self.log('exception', tools.exception_to_unicode(e)) tb = getattr(e, 'traceback', sys.exc_info()) - tb_s = cgitb.text(tb) + tb_s = "".join(traceback.format_exception(*tb)) if tools.config['debug_mode'] and isinstance(tb, types.TracebackType): import pdb pdb.post_mortem(tb[2]) diff --git a/openerp/osv/expression.py b/openerp/osv/expression.py index 4b6a470ed55..c7fef6b5089 100644 --- a/openerp/osv/expression.py +++ b/openerp/osv/expression.py @@ -173,6 +173,20 @@ class expression(object): return ids + rg(ids2, table, parent) return [(left, 'in', rg(ids, table, parent or table._parent_name))] + def child_of_right_to_ids(value): + """ Normalize a single id, or a string, or a list of ids to a list of ids. + + This function is always used with _rec_get() above, so it should be + called directly from _rec_get instead of repeatedly before _rec_get. + + """ + if isinstance(value, basestring): + return [x[0] for x in field_obj.name_search(cr, uid, value, [], 'ilike', context=context, limit=None)] + elif isinstance(value, (int, long)): + return [value] + else: + return list(value) + self.__main_table = table self.__all_tables.add(table) @@ -203,7 +217,8 @@ class expression(object): field = working_table._columns.get(fargs[0], False) if not field: if left == 'id' and operator == 'child_of': - dom = _rec_get(right, working_table) + ids2 = child_of_right_to_ids(right) + dom = _rec_get(ids2, working_table) self.__exp = self.__exp[:i] + dom + self.__exp[i+1:] continue @@ -249,10 +264,7 @@ class expression(object): elif field._type == 'one2many': # Applying recursivity on field(one2many) if operator == 'child_of': - if isinstance(right, basestring): - ids2 = [x[0] for x in field_obj.name_search(cr, uid, right, [], 'like', context=context, limit=None)] - else: - ids2 = list(right) + ids2 = child_of_right_to_ids(right) if field._obj != working_table._name: dom = _rec_get(ids2, field_obj, left=left, prefix=field._obj) else: @@ -296,16 +308,12 @@ class expression(object): elif field._type == 'many2many': #FIXME if operator == 'child_of': - if isinstance(right, basestring): - ids2 = [x[0] for x in field_obj.name_search(cr, uid, right, [], 'like', context=context, limit=None)] - else: - ids2 = list(right) - def _rec_convert(ids): if field_obj == table: return ids return self.__execute_recursive_in(cr, field._id1, field._rel, field._id2, ids, operator, field._type) + ids2 = child_of_right_to_ids(right) dom = _rec_get(ids2, field_obj) ids2 = field_obj.search(cr, uid, dom, context=context) self.__exp[i] = ('id', 'in', _rec_convert(ids2)) @@ -344,13 +352,7 @@ class expression(object): elif field._type == 'many2one': if operator == 'child_of': - if isinstance(right, basestring): - ids2 = [x[0] for x in field_obj.name_search(cr, uid, right, [], 'like', limit=None)] - elif isinstance(right, (int, long)): - ids2 = list([right]) - else: - ids2 = list(right) - + ids2 = child_of_right_to_ids(right) self.__operator = 'in' if field._obj != working_table._name: dom = _rec_get(ids2, field_obj, left=left, prefix=field._obj) @@ -360,12 +362,12 @@ class expression(object): else: def _get_expression(field_obj,cr, uid, left, right, operator, context=None): if context is None: - context = {} + context = {} c = context.copy() c['active_test'] = False #Special treatment to ill-formed domains operator = ( operator in ['<','>','<=','>='] ) and 'in' or operator - + dict_op = {'not in':'!=','in':'=','=':'in','!=':'not in','<>':'not in'} if isinstance(right,tuple): right = list(right) @@ -387,7 +389,7 @@ class expression(object): elif isinstance(right,(list,tuple)): m2o_str = True for ele in right: - if not isinstance(ele, basestring): + if not isinstance(ele, basestring): m2o_str = False break elif right == []: @@ -403,7 +405,7 @@ class expression(object): new_op = '!=' #Is it ok to put 'left' and not 'id' ? self.__exp[i] = (left,new_op,False) - + if m2o_str: self.__exp[i] = _get_expression(field_obj,cr, uid, left, right, operator, context=context) else: diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 2b52b70971f..be7045e2f11 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -3514,9 +3514,10 @@ class orm(orm_template): # Removing the ir_model_data reference if the record being deleted is a record created by xml/csv file, # as these are not connected with real database foreign keys, and would be dangling references. # Step 1. Calling unlink of ir_model_data only for the affected IDS. - referenced_ids = pool_model_data.search(cr, uid, [('res_id','in',list(sub_ids)),('model','=',self._name)], context=context) + reference_ids = pool_model_data.search(cr, uid, [('res_id','in',list(sub_ids)),('model','=',self._name)], context=context) # Step 2. Marching towards the real deletion of referenced records - pool_model_data.unlink(cr, uid, referenced_ids, context=context) + if reference_ids: + pool_model_data.unlink(cr, uid, reference_ids, context=context) # For the same reason, removing the record relevant to ir_values ir_value_ids = ir_values_obj.search(cr, uid, diff --git a/openerp/tools/convert.py b/openerp/tools/convert.py index 4471f611525..79906a008d2 100644 --- a/openerp/tools/convert.py +++ b/openerp/tools/convert.py @@ -301,14 +301,12 @@ form: module.record_id""" % (xml_id,) pass if ids: self.pool.get(d_model).unlink(cr, self.uid, ids) - self.pool.get('ir.model.data')._unlink(cr, self.uid, d_model, ids) def _remove_ir_values(self, cr, name, value, model): ir_values_obj = self.pool.get('ir.values') ir_value_ids = ir_values_obj.search(cr, self.uid, [('name','=',name),('value','=',value),('model','=',model)]) if ir_value_ids: ir_values_obj.unlink(cr, self.uid, ir_value_ids) - self.pool.get('ir.model.data')._unlink(cr, self.uid, 'ir.values', ir_value_ids) return True diff --git a/openerp/tools/yaml_import.py b/openerp/tools/yaml_import.py index ff4029d1f15..1c6a54c63b0 100644 --- a/openerp/tools/yaml_import.py +++ b/openerp/tools/yaml_import.py @@ -643,7 +643,6 @@ class YamlInterpreter(object): ids = [self.get_id(node.id)] if len(ids): self.pool.get(node.model).unlink(self.cr, self.uid, ids) - self.pool.get('ir.model.data')._unlink(self.cr, 1, node.model, ids) else: self.logger.log(logging.TEST, "Record not deleted.") diff --git a/setup.py b/setup.py index 62fb0c9a532..930b266e66b 100755 --- a/setup.py +++ b/setup.py @@ -89,7 +89,7 @@ if os.name == 'nt': "pydot", "asyncore","asynchat", "reportlab", "vobject", "HTMLParser", "select", "mako", "poplib", "imaplib", "smtplib", "email", "yaml", "DAV", - "uuid", "commands", "openerp", # TODO is it necessary to include cgitb? + "uuid", "commands", "openerp", ], "excludes" : ["Tkconstants","Tkinter","tcl"], }